Change hosts_file example to use Resource.connect_with_defaults
This commit is contained in:
parent
483b787b42
commit
a08e512804
@ -20,22 +20,22 @@ def run():
|
|||||||
|
|
||||||
hosts1 = vr.create('hosts_file1', 'resources/hosts_file', {})[0]
|
hosts1 = vr.create('hosts_file1', 'resources/hosts_file', {})[0]
|
||||||
hosts2 = vr.create('hosts_file2', 'resources/hosts_file', {})[0]
|
hosts2 = vr.create('hosts_file2', 'resources/hosts_file', {})[0]
|
||||||
signals.connect(node1, hosts1, {
|
node1.connect_with_defaults(hosts1, {
|
||||||
'name': 'hosts:name',
|
'name': 'hosts:name',
|
||||||
'ip': 'hosts:ip',
|
'ip': 'hosts:ip',
|
||||||
})
|
})
|
||||||
|
|
||||||
signals.connect(node2, hosts2, {
|
node2.connect_with_defaults(hosts1, {
|
||||||
'name': 'hosts:name',
|
'name': 'hosts:name',
|
||||||
'ip': 'hosts:ip',
|
'ip': 'hosts:ip',
|
||||||
})
|
})
|
||||||
|
|
||||||
signals.connect(node1, hosts2, {
|
node1.connect_with_defaults(hosts2, {
|
||||||
'name': 'hosts:name',
|
'name': 'hosts:name',
|
||||||
'ip': 'hosts:ip',
|
'ip': 'hosts:ip',
|
||||||
})
|
})
|
||||||
|
|
||||||
signals.connect(node2, hosts1, {
|
node2.connect_with_defaults(hosts2, {
|
||||||
'name': 'hosts:name',
|
'name': 'hosts:name',
|
||||||
'ip': 'hosts:ip',
|
'ip': 'hosts:ip',
|
||||||
})
|
})
|
||||||
|
@ -251,13 +251,17 @@ class Resource(object):
|
|||||||
return orm.DBCommitedState.get_or_create(self.name)
|
return orm.DBCommitedState.get_or_create(self.name)
|
||||||
|
|
||||||
def connect_with_events(self, receiver, mapping=None, events=None,
|
def connect_with_events(self, receiver, mapping=None, events=None,
|
||||||
use_defaults=False):
|
use_defaults=False):
|
||||||
signals.connect(emitter, receiver, mapping=mapping)
|
signals.connect(self, receiver, mapping=mapping)
|
||||||
if use_defaults:
|
if use_defaults:
|
||||||
api.add_default_events(self, receiver)
|
api.add_default_events(self, receiver)
|
||||||
if events:
|
if events:
|
||||||
api.add_events(self.name, events)
|
api.add_events(self.name, events)
|
||||||
|
|
||||||
|
def connect_with_defaults(self, receiver, mapping=None, events=None):
|
||||||
|
return self.connect_with_events(
|
||||||
|
receiver, mapping=mapping, events=events, use_defaults=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def load(name):
|
def load(name):
|
||||||
|
@ -168,7 +168,7 @@ def update_inputs(child, args):
|
|||||||
parent = load_resource(c['parent'])
|
parent = load_resource(c['parent'])
|
||||||
events = c['events']
|
events = c['events']
|
||||||
mapping[c['parent_input']] = c['child_input']
|
mapping[c['parent_input']] = c['child_input']
|
||||||
signals.connect(parent, child, mapping, events)
|
parent.connect_with_events(child, mapping, events)
|
||||||
|
|
||||||
child.update(assignments)
|
child.update(assignments)
|
||||||
|
|
||||||
|
@ -39,8 +39,8 @@ def create_event(event_dict):
|
|||||||
|
|
||||||
def add_default_events(emitter, receiver):
|
def add_default_events(emitter, receiver):
|
||||||
events_to_add = [
|
events_to_add = [
|
||||||
Dependency(emitter.name, 'run', 'success', receiver.name, 'run'),
|
Dep(emitter.name, 'run', 'success', receiver.name, 'run'),
|
||||||
Dependency(emitter.name, 'update', 'success', receiver.name, 'update')
|
Dep(emitter.name, 'update', 'success', receiver.name, 'update')
|
||||||
]
|
]
|
||||||
add_events(emitter.name, events_to_add)
|
add_events(emitter.name, events_to_add)
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ def test_parse_bad_event(bad_event_type):
|
|||||||
|
|
||||||
|
|
||||||
def test_add_connections(mocker, resources):
|
def test_add_connections(mocker, resources):
|
||||||
mocked_signals = mocker.patch('solar.core.resource.virtual_resource.signals')
|
mocked_signals = mocker.patch('solar.core.resource.resource.signals')
|
||||||
args = {'ip': 'node1::ip',
|
args = {'ip': 'node1::ip',
|
||||||
'servers': ['node1::ip', 'node2::ip'],
|
'servers': ['node1::ip', 'node2::ip'],
|
||||||
'alias': 'ser1'
|
'alias': 'ser1'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user