您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關 如何獲得network的可用fixed_ip個數,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
獲得network的可用fixed_ip個數-openstackE版
about:blank
方法一:直接在nova底層增加fixed_ip_count字段:
方法二:直接從dashboard封裝api到底層:
其中api發布為:
以下為詳細信息:
1、dashboard頁面:
dashboards/nova/zones_and_networks/views.py
network_id = networks[0]['id']
count = api.nova.get_available_count_ips(self.request, network_id)
api/nova.py
def get_available_count_ips(request,network_id):
return novaclient(request).networks.get_available_count_ips(network_id)
2、novaclient層
v1_1/networks.py
def get_available_count_ips(self, network_id):
"""
Get a specific flavor.
:param flavor: The ID of the :class:`Flavor` to get.
:rtype: :class:`Flavor`
"""
return self._list("/os-networks/get_available_count_ips/%s" % network_id, "count")
3、nova層
api/openstack/compute/contrib/networks.py
def get_available_count_ips(self, req, id):
context = req.environ['nova.context']
authorize(context)
LOG.debug(_("Showing network_fixed_count with id %s") % id)
try:
count = self.network_api.get_available_count_ips(context, id)
except exception.NetworkNotFound:
raise exc.HTTPNotFound(_("Network not found"))
return {'count': count}
collection_actions = {'list_limit': 'POST','get_available_count_ips': 'POST'},
vi network/api.py
def get_available_count_ips(self, context,network_id):
return rpc.call(context,
FLAGS.network_topic,
{'method': 'get_available_count_ips',
'args': {'network_id': network_id}})
vi network/manager.py
@wrap_check_policy
def get_available_count_ips(self, context, network_id):
count = db.network_available_count_ips(context, network_id)
return count
db/api.py
def network_available_count_ips(context, network_id):
"""Return the number of reserved ips in the network."""
return IMPL.network_available_count_ips(context, network_id)
db/sqlalchemy/api.py
@require_admin_context
def network_available_count_ips(context, network_id):
return _network_ips_query(context, network_id).\
filter_by(reserved=False).\
filter_by(host='').\
filter_by(instance_id='').\
filter_by(allocated=False).\
count()
注釋:一定要跟到base.py里面看_list的傳參方式:
看完上述內容,你們對 如何獲得network的可用fixed_ip個數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。