如何获得network的可用fixed

75次阅读
没有评论

共计 2160 个字符,预计需要花费 6 分钟才能阅读完成。

今天就跟大家聊聊有关 如何获得 network 的可用 fixed_ip 个数,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

获得 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)

如何获得 network 的可用 fixed_ip 个数

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()

如何获得 network 的可用 fixed_ip 个数

注释:一定要跟到 base.py 里面看_list 的传参方式:

如何获得 network 的可用 fixed_ip 个数

看完上述内容,你们对 如何获得 network 的可用 fixed_ip 个数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2160字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)