本文整理汇总了Python中cfgm_common.vnc_kombu.VncKombuClient.shutdown方法的典型用法代码示例。如果您正苦于以下问题:Python VncKombuClient.shutdown方法的具体用法?Python VncKombuClient.shutdown怎么用?Python VncKombuClient.shutdown使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cfgm_common.vnc_kombu.VncKombuClient
的用法示例。
在下文中一共展示了VncKombuClient.shutdown方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: SchemaTransformer
# 需要导入模块: from cfgm_common.vnc_kombu import VncKombuClient [as 别名]
# 或者: from cfgm_common.vnc_kombu.VncKombuClient import shutdown [as 别名]
#.........这里部分代码省略.........
# end cleanup
def process_stale_objects(self):
for sc in ServiceChain.values():
if sc.created_stale:
sc.destroy()
if sc.present_stale:
sc.delete()
# end process_stale_objects
def sandesh_ri_build(self, vn_name, ri_name):
vn = VirtualNetworkST.get(vn_name)
sandesh_ri_list = []
for riname in vn.routing_instances:
ri = RoutingInstanceST.get(riname)
sandesh_ri = sandesh.RoutingInstance(name=ri.obj.get_fq_name_str())
sandesh_ri.service_chain = ri.service_chain
sandesh_ri.connections = list(ri.connections)
sandesh_ri_list.append(sandesh_ri)
return sandesh_ri_list
# end sandesh_ri_build
def sandesh_ri_handle_request(self, req):
# Return the list of VNs
ri_resp = sandesh.RoutingInstanceListResp(routing_instances=[])
if req.vn_name is None:
for vn in VirtualNetworkST:
sandesh_ri = self.sandesh_ri_build(vn, req.ri_name)
ri_resp.routing_instances.extend(sandesh_ri)
elif req.vn_name in VirtualNetworkST:
self.sandesh_ri_build(req.vn_name, req.ri_name)
ri_resp.routing_instances.extend(sandesh_ri)
ri_resp.response(req.context())
# end sandesh_ri_handle_request
def sandesh_vn_build(self, vn_name):
vn = VirtualNetworkST.get(vn_name)
sandesh_vn = sandesh.VirtualNetwork(name=vn_name)
sandesh_vn.policies = vn.network_policys.keys()
sandesh_vn.connections = list(vn.connections)
sandesh_vn.routing_instances = vn.routing_instances
if vn.acl:
sandesh_vn.acl = vn.acl.get_fq_name_str()
if vn.dynamic_acl:
sandesh_vn.dynamic_acl = vn.dynamic_acl.get_fq_name_str()
return sandesh_vn
# end sandesh_vn_build
def sandesh_vn_handle_request(self, req):
# Return the list of VNs
vn_resp = sandesh.VnListResp(vn_names=[])
if req.vn_name is None:
for vn in VirtualNetworkST:
sandesh_vn = self.sandesh_vn_build(vn)
vn_resp.vn_names.append(sandesh_vn)
elif req.vn_name in VirtualNetworkST:
sandesh_vn = self.sandesh_vn_build(req.vn_name)
vn_resp.vn_names.append(sandesh_vn)
vn_resp.response(req.context())
# end sandesh_vn_handle_request
def sandesh_sc_handle_request(self, req):
sc_resp = sandesh.ServiceChainListResp(service_chains=[])
if req.sc_name is None:
for sc in ServiceChain.values():
sandesh_sc = sc.build_introspect()
sc_resp.service_chains.append(sandesh_sc)
elif req.sc_name in ServiceChain:
sandesh_sc = ServiceChain[req.sc_name].build_introspect()
sc_resp.service_chains.append(sandesh_sc)
sc_resp.response(req.context())
# end sandesh_sc_handle_request
def sandesh_st_object_handle_request(self, req):
st_resp = sandesh.StObjectListResp(objects=[])
obj_type_map = DBBaseST.get_obj_type_map()
if req.object_type is not None:
if req.object_type not in obj_type_map:
return st_resp
obj_cls_list = [obj_type_map[req.object_type]]
else:
obj_cls_list = obj_type_map.values()
for obj_cls in obj_cls_list:
id_or_name = req.object_id_or_fq_name
if id_or_name:
obj = obj_cls.get(id_or_name) or obj_cls.get_by_uuid(id_or_name)
if obj is None:
continue
st_resp.objects.append(obj.handle_st_object_req())
else:
for obj in obj_cls.values():
st_resp.objects.append(obj.handle_st_object_req())
st_resp.response(req.context())
# end sandesh_st_object_handle_request
def reset(self):
for cls in DBBaseST.get_obj_type_map().values():
cls.reset()
self._vnc_kombu.shutdown()
示例2: VncAmqpHandle
# 需要导入模块: from cfgm_common.vnc_kombu import VncKombuClient [as 别名]
# 或者: from cfgm_common.vnc_kombu.VncKombuClient import shutdown [as 别名]
#.........这里部分代码省略.........
obj_fq_name = self.oper_info['fq_name']
self.db_cls._object_db.cache_uuid_to_fq_name_add(
obj_id, obj_fq_name, self.obj_type)
self.obj = self.obj_class.locate(obj_key)
if self.obj is None:
self.logger.info('%s id %s fq_name %s not found' % (
self.obj_type, obj_id, obj_fq_name))
return
self.dependency_tracker = DependencyTracker(
self.db_cls.get_obj_type_map(), self.reaction_map)
self.dependency_tracker.evaluate(self.obj_type, self.obj)
def handle_update(self):
obj_id = self.oper_info['uuid']
self.obj = self.obj_class.get_by_uuid(obj_id)
old_dt = None
if self.obj is not None:
old_dt = DependencyTracker(
self.db_cls.get_obj_type_map(), self.reaction_map)
old_dt.evaluate(self.obj_type, self.obj)
else:
self.logger.info('%s id %s not found' % (self.obj_type,
obj_id))
return
try:
ret = self.obj.update()
if ret is not None and not ret:
# If update returns None, the function may not support a
# return value, hence treat it as if something might have
# changed. If a value is returned, use its truth value.
# If it True, then some change was detected.
# If no change, then terminate dependency tracker
return
except NoIdError:
obj_id = self.oper_info['uuid']
self.logger.warning('%s uuid %s update caused NoIdError' %
(self.obj_type, obj_id))
return
self.dependency_tracker = DependencyTracker(
self.db_cls.get_obj_type_map(), self.reaction_map)
self.dependency_tracker.evaluate(self.obj_type, self.obj)
if old_dt:
for resource, ids in old_dt.resources.items():
if resource not in self.dependency_tracker.resources:
self.dependency_tracker.resources[resource] = ids
else:
self.dependency_tracker.resources[resource] = list(
set(self.dependency_tracker.resources[resource]) |
set(ids))
def handle_delete(self):
obj_id = self.oper_info['uuid']
self.obj = self.obj_class.get_by_uuid(obj_id)
self.db_cls._object_db.cache_uuid_to_fq_name_del(obj_id)
if self.obj is None:
return
self.dependency_tracker = DependencyTracker(
self.db_cls.get_obj_type_map(), self.reaction_map)
self.dependency_tracker.evaluate(self.obj_type, self.obj)
obj_key = self._get_key_from_oper_info()
self.obj_class.delete(obj_key)
def handle_unknown(self):
# unknown operation
self.logger.error('Unknown operation %s' % self.oper_info['oper'])
def init_msgbus_fq_name(self):
self.msg_tracer.fq_name = self.obj.name
def init_msgbus_dtr(self):
self.msg_tracer.dependency_tracker_resources = []
def add_msgbus_dtr(self, res_type, res_id_list):
dtr = DependencyTrackerResource(obj_type=res_type,
obj_keys=res_id_list)
self.msg_tracer.dependency_tracker_resources.append(dtr)
def evaluate_dependency(self):
if not self.dependency_tracker:
return
self.init_msgbus_fq_name()
self.init_msgbus_dtr()
for res_type, res_id_list in self.dependency_tracker.resources.items():
if not res_id_list:
continue
self.add_msgbus_dtr(res_type, res_id_list)
cls = self.db_cls.get_obj_type_map().get(res_type)
if cls is None:
continue
for res_id in res_id_list:
res_obj = cls.get(res_id)
if res_obj is not None:
res_obj.evaluate()
def close(self):
self._vnc_kombu.shutdown()