zoukankan      html  css  js  c++  java
  • neutron bind port networking_baremetal

     _new_bound_segment

    293     def set_binding(self, segment_id, vif_type, vif_details,
    294                     status=None):
    295         # TODO(rkukura) Verify binding allowed, segment in network
    296         self._new_bound_segment = segment_id
    297         self._binding.vif_type = vif_type
    298         self._binding.vif_details = jsonutils.dumps(vif_details)
    299         self._new_port_status = status
    300 
    301     def continue_binding(self, segment_id, next_segments_to_bind):
    302         # TODO(rkukura) Verify binding allowed, segment in network
    303         self._new_bound_segment = segment_id
    304         self._next_segments_to_bind = next_segments_to_bind

    /usr/lib/python2.7/site-packages/networking_baremetal/plugins/ml2

    320     def try_to_bind_segment_for_agent(self, context, segment, agent):
    321         """Try to bind with segment for agent.
    322 
    323         :param context: PortContext instance describing the port
    324         :param segment: segment dictionary describing segment to bind
    325         :param agent: agents_db entry describing agent to bind
    326         :returns: True iff segment has been bound for agent
    327 
    328         Neutron segments api-ref:
    329           https://developer.openstack.org/api-ref/network/v2/#segments
    330 
    331         Example segment dictionary: {'segmentation_id': 'segmentation_id',
    332                                      'network_type': 'network_type',
    333                                      'id': 'segment_uuid'}
    334 
    335         Called outside any transaction during bind_port() so that
    336         derived MechanismDrivers can use agent_db data along with
    337         built-in knowledge of the corresponding agent's capabilities
    338         to attempt to bind to the specified network segment for the
    339         agent.
    340 
    341         If the segment can be bound for the agent, this function must
    342         call context.set_binding() with appropriate values and then
    343         return True. Otherwise, it must return False.
    344         """
    345         if self.check_segment_for_agent(segment, agent):
    346             port = context.current
    347             provisioning_blocks.add_provisioning_component(
    348                 context._plugin_context, port['id'], resources.PORT,
    349                 BAREMETAL_DRV_ENTITY)
    350             context.set_binding(segment[api.ID],
    351                                 self.get_vif_type(context, agent, segment),
    352                                 self.get_vif_details(context, agent, segment))
    353             return True
    354         else:
    355             return False
    def get_allowed_network_types(self, agent):

    check_segment_for_agent

  • 相关阅读:
    Python学习摘要201802
    机器学习-梯度下降参数调优小结
    用尽洪荒之力学习Flask源码
    Flask类的属性和方法大全
    Flask第三方工具组件介绍
    Flask自带的常用组件介绍
    Centos下部署Flask
    Python Tips阅读摘要
    web程序设计关于我们
    软工实践总结
  • 原文地址:https://www.cnblogs.com/dream397/p/13100351.html
Copyright © 2011-2022 走看看