本文整理汇总了Python中ion.util.enhanced_resource_registry_client.EnhancedResourceRegistryClient.create_association方法的典型用法代码示例。如果您正苦于以下问题:Python EnhancedResourceRegistryClient.create_association方法的具体用法?Python EnhancedResourceRegistryClient.create_association怎么用?Python EnhancedResourceRegistryClient.create_association使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ion.util.enhanced_resource_registry_client.EnhancedResourceRegistryClient
的用法示例。
在下文中一共展示了EnhancedResourceRegistryClient.create_association方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestAgentLaunchOps
# 需要导入模块: from ion.util.enhanced_resource_registry_client import EnhancedResourceRegistryClient [as 别名]
# 或者: from ion.util.enhanced_resource_registry_client.EnhancedResourceRegistryClient import create_association [as 别名]
#.........这里部分代码省略.........
instDevice_id,
ProcessStateEnum.RUNNING)
self.assertTrue(gate.await(30), "The instrument agent instance (%s) did not spawn in 30 seconds" %
gate.process_id)
# take snapshot of config
snap_id = self.IMS.save_resource_state(instDevice_id, "xyzzy snapshot")
snap_obj = self.RR.read_attachment(snap_id, include_content=True)
#modify config
instance_obj.driver_config["comms_config"] = "BAD_DATA"
self.RR.update(instance_obj)
#restore config
self.IMS.restore_resource_state(instDevice_id, snap_id)
instance_obj = self.RR.read(instAgentInstance_id)
if "BAD_DATA" == instance_obj.driver_config["comms_config"]:
print "Saved config:"
print snap_obj.content
self.fail("Saved config was not properly restored")
self.assertNotEqual("BAD_DATA", instance_obj.driver_config["comms_config"])
self.DP.delete_data_product(data_product_id1)
self.DP.delete_data_product(data_product_id2)
def test_agent_instance_config_hasDevice(self):
def assign_fn(child_device_id, parent_device_id):
self.RR2.create_association(parent_device_id, PRED.hasDevice, child_device_id)
def find_fn(parent_device_id):
ret, _ = self.RR.find_objects(subject=parent_device_id, predicate=PRED.hasDevice, id_only=True)
return ret
self.base_agent_instance_config(assign_fn, find_fn)
log.info("END test_agent_instance_config_hasDevice")
def test_agent_instance_config_hasNetworkParent(self):
def assign_fn(child_device_id, parent_device_id):
self.RR2.create_association(child_device_id, PRED.hasNetworkParent, parent_device_id)
def find_fn(parent_device_id):
ret, _ = self.RR.find_subjects(object=parent_device_id, predicate=PRED.hasNetworkParent, id_only=True)
return ret
self.base_agent_instance_config(assign_fn, find_fn)
log.info("END test_agent_instance_config_hasNetworkParent")
def base_agent_instance_config(self,
assign_child_platform_to_parent_platform_fn,
find_child_platform_ids_of_parent_platform_fn):
"""
Verify that agent configurations are being built properly
"""
clients = DotDict()
clients.resource_registry = self.RR
clients.pubsub_management = self.PSC
clients.dataset_management = self.DSC
config_builder = DotDict
config_builder.i = None
config_builder.p = None
示例2: TestRollups
# 需要导入模块: from ion.util.enhanced_resource_registry_client import EnhancedResourceRegistryClient [as 别名]
# 或者: from ion.util.enhanced_resource_registry_client.EnhancedResourceRegistryClient import create_association [as 别名]
#.........这里部分代码省略.........
(pst[6], pst[7]),
(pst[7], ist[4]),
(pst[6], pst[8]),
(pst[8], ist[5]),
(pst[8], ist[6]),
]
has_device = [
(pst[2], pdv[2]),
(pst[1], pdv[1]),
(ist[1], idv[1]),
(pst[3], pdv[3]),
(pdv[3], idv[2]),
(pdv[3], idv[3]),
(ist[2], idv[2]),
(ist[3], idv[3]),
(pst[4], pdv[4]),
(pdv[4], pdv[5]),
(pdv[5], pdv[6]),
(pdv[5], pdv[7]),
(pdv[7], idv[4]),
(pst[6], pdv[5]),
(pst[7], pdv[6]),
(pst[8], pdv[7]),
(ist[5], idv[4]),
(pdv[8], pdv[9]),
(pdv[9], pdv[10]),
(pdv[10], idv[5]),
(pdv[9], pdv[11]),
(pdv[11], idv[6]),
]
for (s, o) in has_site:
self.RR2.create_association(s, PRED.hasSite, o)
self.assertIn(o, self.RR2.find_objects(s, PRED.hasSite, None, id_only=True))
for (s, o) in has_device:
self.RR2.create_association(s, PRED.hasDevice, o)
self.assertIn(o, self.RR2.find_objects(s, PRED.hasDevice, None, id_only=True))
self.assertEqual(pdv[1], self.RR2.find_platform_device_id_of_platform_site_using_has_device(pst[1]))
# preparing to create fake agents, shortcut to status names
o = DeviceStatusType.STATUS_OK
w = DeviceStatusType.STATUS_WARNING
c = DeviceStatusType.STATUS_CRITICAL
# expected status for instruments and platforms
idv_stat = ["ignore", c, o, w, o, w, c]
# make the fake instrument agents, with their statuses
for i, id in idv.iteritems():
idv_agent = FakeAgent()
idv_agent.set_agent("aggstatus", ms({AggregateStatusType.AGGREGATE_DATA: idv_stat[i]}))
device_agents[id] = idv_agent
# create fake agents for platforms
pdv1_agent = FakeAgent()
pdv1_agent.set_agent("aggstatus", ms())
pdv1_agent.set_agent("child_agg_status", {})
device_agents[pdv[1]] = pdv1_agent
pdv2_agent = FakeAgent()
示例3: TestObservatoryManagementServiceIntegration
# 需要导入模块: from ion.util.enhanced_resource_registry_client import EnhancedResourceRegistryClient [as 别名]
# 或者: from ion.util.enhanced_resource_registry_client.EnhancedResourceRegistryClient import create_association [as 别名]
#.........这里部分代码省略.........
if RT.InstrumentDevice == resource_type:
resource_id = self.IMS.create_instrument_device(obj)
else:
resource_id, _ = self.RR.create(obj)
self.OMS.assign_resource_to_observatory_org(resource_id=resource_id, org_id=org_id)
return resource_id
#stuff we control
observatory_id = create_under_org(RT.Observatory)
subsite_id = create_under_org(RT.Subsite)
subsite2_id = create_under_org(RT.Subsite)
subsiteb_id = create_under_org(RT.Subsite)
subsitez_id = create_under_org(RT.Subsite)
platform_site_id = create_under_org(RT.PlatformSite)
platform_siteb_id = create_under_org(RT.PlatformSite)
platform_siteb2_id = create_under_org(RT.PlatformSite)
platform_site3_id = create_under_org(RT.PlatformSite)
instrument_site_id = create_under_org(RT.InstrumentSite)
instrument_site2_id = create_under_org(RT.InstrumentSite)
instrument_siteb3_id = create_under_org(RT.InstrumentSite)
instrument_site4_id = create_under_org(RT.InstrumentSite)
#stuff we associate to
instrument_device_id = create_under_org(RT.InstrumentDevice)
instrument_device2_id = create_under_org(RT.InstrumentDevice)
platform_device_id = create_under_org(RT.PlatformDevice)
platform_deviceb_id = create_under_org(RT.PlatformDevice)
instrument_model_id, _ = self.RR.create(any_old(RT.InstrumentModel))
platform_model_id, _ = self.RR.create(any_old(RT.PlatformModel))
deployment_id, _ = self.RR.create(any_old(RT.Deployment))
#observatory
self.RR.create_association(observatory_id, PRED.hasSite, subsite_id)
self.RR.create_association(observatory_id, PRED.hasSite, subsitez_id)
#site
self.RR.create_association(subsite_id, PRED.hasSite, subsite2_id)
self.RR.create_association(subsite_id, PRED.hasSite, subsiteb_id)
self.RR.create_association(subsite2_id, PRED.hasSite, platform_site3_id)
self.RR.create_association(subsiteb_id, PRED.hasSite, platform_siteb2_id)
self.RR.create_association(subsiteb_id, PRED.hasSite, platform_site_id)
#platform_site(s)
self.RR.create_association(platform_site3_id, PRED.hasSite, instrument_site4_id)
self.RR.create_association(platform_siteb2_id, PRED.hasSite, instrument_siteb3_id)
self.RR.create_association(platform_site_id, PRED.hasSite, instrument_site2_id)
self.RR.create_association(platform_site_id, PRED.hasSite, platform_siteb_id)
self.RR.create_association(platform_siteb_id, PRED.hasSite, instrument_site_id)
self.RR.create_association(platform_siteb_id, PRED.hasDevice, platform_deviceb_id)
#test network parent link
self.OMS.assign_device_to_network_parent(platform_device_id, platform_deviceb_id)
self.RR.create_association(platform_site_id, PRED.hasModel, platform_model_id)
self.RR.create_association(platform_site_id, PRED.hasDevice, platform_device_id)
self.RR.create_association(platform_site_id, PRED.hasDeployment, deployment_id)
#instrument_site(s)
self.RR.create_association(instrument_site_id, PRED.hasModel, instrument_model_id)
self.RR.create_association(instrument_site_id, PRED.hasDevice, instrument_device_id)
self.RR.create_association(instrument_site_id, PRED.hasDeployment, deployment_id)
self.RR.create_association(instrument_site2_id, PRED.hasDevice, instrument_device2_id)
#platform_device
示例4: TestAgentStatusBuilderIntegration
# 需要导入模块: from ion.util.enhanced_resource_registry_client import EnhancedResourceRegistryClient [as 别名]
# 或者: from ion.util.enhanced_resource_registry_client.EnhancedResourceRegistryClient import create_association [as 别名]
class TestAgentStatusBuilderIntegration(IonIntegrationTestCase):
def setUp(self):
# Start container
#print 'instantiating container'
self._start_container()
#container = Container()
#print 'starting container'
#container.start()
#print 'started container'
self.container.start_rel_from_url('res/deploy/r2deploy.yml')
self.RR = ResourceRegistryServiceClient(node=self.container.node)
self.IMS = InstrumentManagementServiceClient(node=self.container.node)
self.OMS = ObservatoryManagementServiceClient(node=self.container.node)
self.RR2 = EnhancedResourceRegistryClient(self.RR)
self._setup_statuses()
def _make_status(self, bad_items_dict):
ret = {}
for k in reverse_mapping.values():
if k in bad_items_dict:
ret[k] = bad_items_dict[k]
else:
ret[k] = DeviceStatusType.STATUS_OK
return ret
def _setup_statuses(self):
device_agents = {}
IMS_SVC = self._get_svc(InstrumentManagementService)
OMS_SVC = self._get_svc(ObservatoryManagementService)
self.IMS_ASB = self._get_specific_attr(IMS_SVC, AgentStatusBuilder)
self.OMS_ASB = self._get_specific_attr(OMS_SVC, AgentStatusBuilder)
assert self.IMS_ASB
assert self.OMS_ASB
self.IMS_ASB.RR2 = IMS_SVC.RR2
self.OMS_ASB.RR2 = OMS_SVC.RR2
# create one tree of devices
self.grandparent1_device_id = self.RR2.create(any_old(RT.PlatformDevice))
self.parent1_device_id = self.RR2.create(any_old(RT.PlatformDevice))
self.child1_device_id = self.RR2.create(any_old(RT.InstrumentDevice))
self.RR2.create_association(self.grandparent1_device_id, PRED.hasDevice, self.parent1_device_id)
self.RR2.create_association(self.parent1_device_id, PRED.hasDevice, self.child1_device_id)
g1_agent = FakeAgent()
g1_stat = self._make_status({AggregateStatusType.AGGREGATE_COMMS: DeviceStatusType.STATUS_UNKNOWN})
p1_stat = self._make_status({AggregateStatusType.AGGREGATE_DATA: DeviceStatusType.STATUS_CRITICAL})
c1_stat = self._make_status({AggregateStatusType.AGGREGATE_LOCATION: DeviceStatusType.STATUS_WARNING})
g1_agent.set_agent("aggstatus", g1_stat)
g1_agent.set_agent("child_agg_status", {self.parent1_device_id: p1_stat,
self.child1_device_id: c1_stat})
device_agents[self.grandparent1_device_id] = g1_agent
c1_agent = FakeAgent()
c1_agent.set_agent("aggstatus", c1_stat)
device_agents[self.child1_device_id] = c1_agent
# create second tree of devices
self.grandparent2_device_id = self.RR2.create(any_old(RT.PlatformDevice))
self.parent2_device_id = self.RR2.create(any_old(RT.PlatformDevice))
self.child2_device_id = self.RR2.create(any_old(RT.InstrumentDevice))
self.RR2.create_association(self.grandparent2_device_id, PRED.hasDevice, self.parent2_device_id)
self.RR2.create_association(self.parent2_device_id, PRED.hasDevice, self.child2_device_id)
g2_agent = FakeAgent()
g2_stat = self._make_status({AggregateStatusType.AGGREGATE_COMMS: DeviceStatusType.STATUS_UNKNOWN})
p2_stat = self._make_status({AggregateStatusType.AGGREGATE_DATA: DeviceStatusType.STATUS_CRITICAL})
c2_stat = self._make_status({AggregateStatusType.AGGREGATE_LOCATION: DeviceStatusType.STATUS_WARNING})
g2_agent.set_agent("aggstatus", g2_stat)
g2_agent.set_agent("child_agg_status", {self.parent2_device_id: p2_stat,
self.child2_device_id: c2_stat})
device_agents[self.grandparent2_device_id] = g2_agent
def my_get_agent_client(device_id, **kwargs):
try:
return device_agents[device_id]
except KeyError:
raise NotFound
self.IMS_ASB._get_agent_client = my_get_agent_client
@unittest.skip("hasDevice rollup is no longer supported")
def test_get_device_rollup(self):
iext = self.IMS.get_instrument_device_extension(self.child1_device_id)
istatus = self._make_status({AggregateStatusType.AGGREGATE_LOCATION: DeviceStatusType.STATUS_WARNING})
#.........这里部分代码省略.........