WSGI(Web Server Gateway Interface)

WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。我们来看一个最简单的Web版本的“Hello, web!”:

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [b'<h1>Hello, web!</h1>']

上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:

  • environ:一个包含所有HTTP请求信息的dict对象;
  • start_response:一个发送HTTP响应的函数。

在application()函数中,调用:

start_response('200 OK', [('Content-Type', 'text/html')])

就发送了HTTP响应的Header,注意Header只能发送一次,也就是只能调用一次start_response()函数。start_response()函数接收两个参 数,一个是HTTP响应码,一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示。

past

api-paste.ini

[composite:neutron]
use = egg:Paste#urlmap
/: neutronversions_composite
/v2.0: neutronapi_v2_0

[composite:neutronapi_v2_0]
use = call:neutron.auth:pipeline_factory
noauth = cors http_proxy_to_wsgi request_id catch_errors extensions neutronapiapp_v2_0
keystone = cors http_proxy_to_wsgi request_id catch_errors authtoken keystonecontext extensions neutronapiapp_v2_0

[composite:neutronversions_composite]
use = call:neutron.auth:pipeline_factory
noauth = cors http_proxy_to_wsgi neutronversions
keystone = cors http_proxy_to_wsgi neutronversions

[filter:request_id]
paste.filter_factory = oslo_middleware:RequestId.factory

[filter:catch_errors]
paste.filter_factory = oslo_middleware:CatchErrors.factory

[filter:cors]
paste.filter_factory = oslo_middleware.cors:filter_factory
oslo_config_project = neutron

[filter:http_proxy_to_wsgi]
paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory

[filter:keystonecontext]
paste.filter_factory = neutron.auth:NeutronKeystoneContext.factory

[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory

[filter:extensions]
paste.filter_factory = neutron.api.extensions:plugin_aware_extension_middleware_factory

[app:neutronversions]
paste.app_factory = neutron.pecan_wsgi.app:versions_factory

[app:neutronapiapp_v2_0]
paste.app_factory = neutron.api.v2.router:APIRouter.factory

[filter:osprofiler]
paste.filter_factory = osprofiler.web:WsgiMiddleware.factory

解释

The api-paste.ini file contains configuration for the web services gateway interface (WSGI).

  • 针对composite、app、filter或者pipeline这种带有[]的,我们称之为section;
  • composite:request进来后通过的第一个section,表示需要将一个http url request调度到一个或者多个application上;
  • filter:是一个实现了过滤功能的中间件(将application进行进一步的封装),用于过滤request和response;
  • pipeline:最后一个名字对应的一定是app类型,非最后一个名字对应的是filter;
  • app:一个app就是一个实现主要功能的具体application。所以,app必须是callable object类型,接受的参数(environ,start_response),这是WSGI server交给application的符合WSGI规范的参数。

composite

app_name为该配置文件的入口,在NeutronApiService.create函数中传入了app_name为neutron。这里neutron的composite用Paste.urlmap来构造wsgi app:

针对于标志osapi_volume,这里使用composite的分解机制,实现XXXX/XXXX形式的API交给apiversions来处理,XXXX/V1/XXXX形式的API 交给openstack_volume_api_v1来处理,XXXX/V2/XXXX形式的API交给openstack_volume_api_v2来处理。

这里使用composite section实现了多个Application的集合应用,neutronapi_v2_0具体映射到的Application为 use =call:neutron.auth:pipeline_factory,这个Application对应了两个参数:noauth,keystone。

setup and pbr

在安装python的相关模块和库时,我们一般使用“pip install 模块名”或者“python setup.py install”,前者是在线安装,会安装 该包的相关依赖包;后者是下载源码包然后在本地安装,不会安装该包的相关依赖包。所以在安装普通的python包时,利用pip工具相当 简单。

python 如何实现连同依赖包一起打包发布? 假如我在本机开发一个程序,需要用到python的redis、mysql模块以及自己编写的redis_run.py模块。我怎么实现在服务器上去发布该系 统,如何实现依赖模块和自己编写的模块redis_run.py一起打包,实现一键安装呢?同时将自己编写的redis_run.py模块以exe文件格式 安装到python的全局执行路径C:\Python27\Scripts下呢?

在这种应用场景下,pip工具似乎派不上了用场,只能使用python的构建工具setup.py了,使用此构建工具可以实现上述应用场景需求, 只需在 setup.py 文件中写明依赖的库和版本,然后到目标机器上使用python setup.py install安装。

setup.py

pbr只需要最小化的setup.py 文件,跟普通的使用setuptools的项目相比。这是因为设置都在setup.cfg里面。setup.py文件如下。

import setuptools

try:
    import multiprocessing  # noqa
except ImportError:
    pass

setuptools.setup(
    setup_requires=['pbr>=2.0.0'],
    pbr=True)

这个是setup.py文件,从中看到只是使用了setuptools这个库

  • setuptools是什么和能做什么

它 是一组Python的 distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。

  • setuptools怎么使用

http://guoyunsky.iteye.com/blog/1659824 请参考该作者的实例,谢谢作者提供的例子

  • setuptools中的pbr是用来做什么的

setup.py会使用pbr从setup.cfg文件读取参数,执行命令 http://lingxiankong.github.io/blog/2013/12/23/python-setup/

pbr

pbr是setuptools的辅助工具,最初是为OpenStack开发(https://launchpad.net/pbr),基于d2to1。 pbr会读取和过滤setup.cfg中的数据,然后将解析后的数据提供给setup.py作为参数。包含如下功能:

  • 从git中获取Version、AUTHORS and ChangeLog信息
  • Sphinx Autodoc。pbr会扫描project,找到所有模块,生成stub files
  • Requirements。pbr会读取requirements.txt,生成setup函数需要的install_requires/tests_require/dependency_links

这里需要注意,在requirements.txt文件的头部可以使用:–index https://pypi.python.org/simple/%EF%BC%8C%E8%BF%99%E4%B8%80%E8%A1%8C%E6%8A%8A%E4%B8%80%E4%B8%AA%E6%8A%BD%E8%B1%A1%E7%9A%84%E4%BE%9D%E8%B5%96%E5%A3%B0%E6%98%8E 如 requests==1.2.0 转变为一个具体的依赖声明 requests 1.2.0 from pypi.python.org/simple/

  • long_description。从README.rst, README.txt or README file中生成long_description参数

setup.cfg

段落 files

files段落定义了包中的文件位置,有三个基本的设置键:packages,namespace_packages,以及data_files. packages指定了必须安装的数个最高级别的包的列表。这个像setuptools中的函数find_packages.这里面它进入python的包体系中,在最 高的级别路径下安装它。如果packages没有被指明,则默认为metadata段落中的name键值。

[files]
packages =
    neutron
data_files =
    etc/neutron =
        etc/api-paste.ini
        etc/policy.json
        etc/rootwrap.conf
    etc/neutron/rootwrap.d =
        etc/neutron/rootwrap.d/debug.filters
        etc/neutron/rootwrap.d/dhcp.filters
        etc/neutron/rootwrap.d/dibbler.filters
        etc/neutron/rootwrap.d/iptables-firewall.filters
        etc/neutron/rootwrap.d/ebtables.filters
        etc/neutron/rootwrap.d/ipset-firewall.filters
        etc/neutron/rootwrap.d/l3.filters
        etc/neutron/rootwrap.d/linuxbridge-plugin.filters
        etc/neutron/rootwrap.d/netns-cleanup.filters
        etc/neutron/rootwrap.d/openvswitch-plugin.filters
scripts =
    bin/neutron-rootwrap-xen-dom0

段落entry_points

这个段落定义了命令行命令以及python的库lib的进入点。 里面的内容分成子段落,子段落的头行设置了一组进入点的最高级目录的名称,里面定义了键值对,描述了会被安装的进入点。

[entry_points]
wsgi_scripts =
    neutron-api = neutron.server:get_application
console_scripts =
    neutron-db-manage = neutron.db.migration.cli:main
    neutron-debug = neutron.debug.shell:main
    neutron-dhcp-agent = neutron.cmd.eventlet.agents.dhcp:main
    neutron-keepalived-state-change = neutron.cmd.keepalived_state_change:main

neutron.core_plugins =
    ml2 = neutron.plugins.ml2.plugin:Ml2Plugin
neutron.service_plugins =
    router = neutron.services.l3_router.l3_router_plugin:L3RouterPlugin
    metering = neutron.services.metering.metering_plugin:MeteringPlugin
    tag = neutron.services.tag.tag_plugin:TagPlugin

neutron.ml2.type_drivers =
    flat = neutron.plugins.ml2.drivers.type_flat:FlatTypeDriver
    local = neutron.plugins.ml2.drivers.type_local:LocalTypeDriver

eventlet

介绍

协程,又称微线程,纤程。英文名Coroutine。 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。 所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。 子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。 协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。 注意,在一个子程序中中断,去执行其他子程序,不是函数调用,有点类似CPU的中断。

Python对协程的支持是通过generator实现的。 在generator中,我们不但可以通过for循环来迭代,还可以不断调用next()函数获取由yield语句返回的下一个值。 但是Python的yield不但可以返回一个值,它还可以接收调用者发出的参数。

协程有什么好处呢?

  • 每个coroutine有自己私有的stack及局部变量。
  • 同一时间只有一个coroutine在执行,无需对全局变量加锁。
  • 顺序可控,完全由程序控制执行的顺序。而通常的多线程一旦启动,它的运行时序是没法预测的,因此通常会给测试所有的情况带来困难。所以能用coroutine解决的场合应当优先使用coroutine。

API

pecan

Pecan是一个路由对象分发的oython web框架。本质上可以将url通过分割为每一部分,然后对每一部分查找对应处理该URL部分的处理类,处理后,继续交给后面部分的URL处理,直到所有URL部分都被处理后,调用最后分割的URL对应的处理函数处理. 参考文档:https://pecan.readthedocs.org/en/latest/index.html

oslo

oslo是OpenStack通用库,包括了众多不需要重复发明的“轮子”。主要的作用就是把OpenStack里面通用的架构抽象提取出来形成一个代码库,和其他的第三方Python库一样,只需要在项目中import对应的库就行了。Oslo库包括很多的子项目,下面列举一些进行简单的介绍: Cliff(Command Line Formulation Framework):可以用来帮助构建命令行程序。主程序只负责基本的命令行参数的解析,然后调用各个子命令去执行不同的操作。 oslo.config:用于接续命令行和配置文件中的配置选项,是oslo的第一个项目。 oslo.db:针对SQLAlchemy访问的抽象。 oslo.i18n:对Python gettext模块的封装,主要用于字符串的翻译和国际化。 oslo.messaging:为OpenStack各个项目使用RPC和事件通知提供一套统一的接口。 stevedore:运行时动态载入代码。 oslo.policy:负责policy的验证和rules的管理。 oslo.rootwrap:让其他OpenStack服务以root身份执行shell命令。一般来说OpenStack的服务都是以非特权用户的身份运行的。 oslo.test:提供单元测试的基础框架。

python代码中各种注释装饰器的用法

@abc.abstractmethod

@six

@

@profiler.trace_cls(“l3-agent”)

一些API请求的处理会经过多个不同的服务(例如,虚拟机的创建过程)。如果有些请求处理过程太慢,分析其中的处理细节会非常的困难和复杂。osprofiler项目由此产生。 osprofiler项目精简但是功能强大,即将被所有的OpenStack服务项目及其客户端项目所采用。使用osprofiler会对每个请求生成一条痕 迹(trace),不管该请求会经过多少服务处理,最终生成请求处理过程的“树”,方便开发测试人员分析请求处理过程和调优。

@profiler.trace_cls("point_name", info={}, hide_args=False,
                trace_private=False)
class TracedClass(object):

    def traced_method(self):
        pass

    def _traced_only_if_trace_private_true(self):
        pass
1

rabbitmq

RabbitMQ常用的Exchange Type有三种:fanout、direct、topic。

  • fanout:把所有发送到该Exchange的消息投递到所有与它绑定的队列中。
  • direct:把消息投递到那些binding key与routing key完全匹配的队列中。
  • topic:将消息路由到binding key与routing key模式匹配的队列中。

FloatingIp

neutron FloatingIP实现

router外网接口IP

neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID

iptables处理


-A PREROUTING -j neutron-l3-agent-PREROUTING

-A POSTROUTING -j neutron-l3-agent-POSTROUTING

-A POSTROUTING -j neutron-postrouting-bottom

-A OUTPUT -j neutron-l3-agent-OUTPUT

-A neutron-l3-agent-snat -j neutron-l3-agent-float-snat

-A neutron-l3-agent-snat -s 70.0.0.0/24 -j SNAT --to-source 192.168.12.10

-A neutron-postrouting-bottom -j neutron-l3-agent-snat

-A neutron-l3-agent-OUTPUT -d 192.168.12.11/32 -j DNAT --to-destination 70.0.0.3

-A neutron-l3-agent-PREROUTING -d 192.168.12.11/32 -j DNAT --to-destination 70.0.0.3

-A neutron-l3-agent-float-snat -s 70.0.0.3/32 -j SNAT --to-source 192.168.12.11

FloatingIP功能代码

入口

  • agent由rpc接口接收到消息,然后处理,交给对应的函数

注册rpc接口

neutron/agent/l3/agent.py

 self.plugin_rpc = L3PluginApi(topics.L3PLUGIN, host)

FloatingIp申请

services.l3_router_plugin.py

 def create_floatingip(self, context, floatingip):
        """Create floating IP.

        :param context: Neutron request context
        :param floatingip: data for the floating IP being created
        :returns: A floating IP object on success

        As the l3 router plugin asynchronously creates floating IPs
        leveraging the l3 agent, the initial status for the floating
        IP object will be DOWN.
        """
        return super(L3RouterPlugin, self).create_floatingip(
            context, floatingip,
            initial_status=n_const.FLOATINGIP_STATUS_DOWN)
neutron/agent/l3/agent.py

    def routers_updated(self, context, routers):
        """Deal with routers modification and creation RPC message."""
        LOG.debug('Got routers updated notification :%s', routers)
        if routers:
            # This is needed for backward compatibility
            if isinstance(routers[0], dict):
                routers = [router['id'] for router in routers]
            for id in routers:
                update = queue.RouterUpdate(id, queue.PRIORITY_RPC)
                self._queue.add(update)

FloatingIp分配

process_floating_ip_nat_rules

创建一个Openstack项目

https://docs.openstack.org/infra/manual/creators.html

  • 当你的项目逻辑架构定了之后,首先是提供 CLI 启动服务,我一般把启动脚本放在cmd文件夹下,并在 setup.cfg 中注册。
  • 在写代码时,引用到的 python lib,可以直接从openstack global requirments文件中拷贝到自己的 requirements.txt 中。
  • 想好 API 框架用啥,我比较常用的是 Pecan+WSME
  • 如果你的 project 有两个或以上的 components,就要创建 rpc 通信层,还有 context 该怎么传递。
  • 数据库的 model 设计以及 sqlalchemy api 的实现,还有就是 db migration

listalltheipof a subnet

[root@compute ~(keystone_admin)]# neutron port-list --fixed-ips subnet_id=bc7baee2-67bc-480b-a18d-62e397af6963
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+
| id                                   | name | tenant_id                        | mac_address       | fixed_ips                                                                        |
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+
| 03fc096c-9879-4839-9aa2-b3cc8a55c3e1 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:f3:af:cb | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.3"} |
| 494f80a2-62fa-44a5-96c3-350ccee3c2f8 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:3e:4d:78 | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.5"} |
| 71aa5579-03bf-49b4-91e2-a47648df8e32 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:0f:b8:3e | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.2"} |
| c34dd570-2b1a-45ab-a996-f19c60da7958 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:c5:02:50 | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.7"} |
| dc2830a3-8a97-47e7-a6ae-1964cfb3c0cd |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:da:d6:af | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.1"} |
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+


http://192.168.100.10:9696/v2.0/ports.json?fixed_ips=subnet_id%3Dbc7baee2-67bc-480b-a18d-62e397af6963


DEBUG: keystoneauth.session GET call to network for http://192.168.100.10:9696/v2.0/ports.json?fixed_ips=subnet_id%3Dbc7baee2-67bc-480b-a18d-62e397af6963 used request id req-926c8aba-cdd5-4889-b52f-ffe44bfc9ca7
DEBUG: neutronclient.v2_0.client GET call to neutron for http://192.168.100.10:9696/v2.0/ports.json?fixed_ips=subnet_id%3Dbc7baee2-67bc-480b-a18d-62e397af6963 used request id req-926c8aba-cdd5-4889-b52f-ffe44bfc9ca7
DEBUG: keystoneauth.identity.v3.base Making authentication request to http://192.168.100.10:5000/v3/auth/tokens
DEBUG: keystoneauth.identity.v3.base {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "d06e0e9a8d13440d95d7b780f8c891f1", "name": "admin"}], "expires_at": "2018-08-02T13:38:16.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "c0bb6b415e474e3598c8565229952028", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://192.168.100.10:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b46466b9f4fc43eeaf0ae45372b2a532"}, {"url": "http://192.168.100.10:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ccb61f5ac6da4ffb9e03813f8f402239"}, {"url": "http://192.168.100.10:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "e5892a85b01d4ec5b29eca4d076b965e"}], "type": "image", "id": "01280807c5aa49ed989f07deb5f55518", "name": "glance"}, {"endpoints": [{"url": "http://192.168.100.10:5000/v3", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "04bebd1e162d419fbad07317888207cd"}, {"url": "http://192.168.100.10:35357/v3", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2bb533e49040463ab0a5d322be09248f"}, {"url": "http://192.168.100.10:5000/v3", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b09edd5ccae04403810924f013d18df2"}], "type": "identity", "id": "08865962aadb453185ec221a580e1ded", "name": "keystone"}, {"endpoints": [{"url": "http://192.168.100.10:8778/placement", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "3d07d09d93404ea3b0777dc43f8d0709"}, {"url": "http://192.168.100.10:8778/placement", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6c707542b3f443ec81d18695ce1e6460"}, {"url": "http://192.168.100.10:8778/placement", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "710c3eb09e7743e6b19a747c631168d7"}], "type": "placement", "id": "342e938a948741e38f8e8b1953f2e4c8", "name": "placement"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4b896c6cb0c840639c04025e08f94621"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "a4d1a1ff1a7d41f885bca76c34c43268"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "f49c5f74fbcf43a09e95e708c4683e2e"}], "type": "volume", "id": "58e00d6fe1bd488f914e8affd18b9a07", "name": "cinder"}, {"endpoints": [{"url": "http://192.168.100.10:8041", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "27d4819e010a49e08c6a4de6f5d67b14"}, {"url": "http://192.168.100.10:8041", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4016aefecc3441659aac514a617323da"}, {"url": "http://192.168.100.10:8041", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "97970f9b54a34bee8627defbb04637d4"}], "type": "metric", "id": "593e971d95864f49ad9960b490735f9d", "name": "gnocchi"}, {"endpoints": [{"url": "http://192.168.100.10:8042", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "769869c4988a4f9382887101b8c23e36"}, {"url": "http://192.168.100.10:8042", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "abbda3c2f79b46b186978bf4ba238c88"}, {"url": "http://192.168.100.10:8042", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "ff6d9514ce504a62bd2aab221b3013e8"}], "type": "alarming", "id": "5cdc78392c1743df9990a690bec7dc1f", "name": "aodh"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "658167d5a9934fcc9096d8ce2956a330"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bb225c56c3484403998f119f63f84fe3"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "f208a028b1bc4e848004bf8ba82bfcd5"}], "type": "volumev3", "id": "66f0f32bc45d44ac8cc91480b83f24a3", "name": "cinderv3"}, {"endpoints": [{"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "45a1725e0adf420d83f6ecbd90f4659f"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "914e41d1025645628cc7784e60ef2d25"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a7a9cde8807f465e8dc6af4a4d756246"}], "type": "compute", "id": "85d923fff4a14561b5c7ff4b4d91733b", "name": "nova"}, {"endpoints": [{"url": "http://192.168.100.10:9696", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "5df9c155ab57482d84b1dbbd8fc16ad5"}, {"url": "http://192.168.100.10:9696", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "7422056798b14fcab49c9aec63d2c90a"}, {"url": "http://192.168.100.10:9696", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "f8ea7fa01a0c46449f505544c4660d07"}], "type": "network", "id": "95c32dc6a2604bc580a19dd63a47da5a", "name": "neutron"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "19b02ce9eb19446f89c77896f789c1c7"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a0d73116f23145f190f213110454229c"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bcc11e309fad48ce9ded52c7c60a371f"}], "type": "volumev2", "id": "b478aa70b28e47859c9f32c4ec9846bf", "name": "cinderv2"}, {"endpoints": [{"url": "http://192.168.100.10:8777", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2225ebde2c284ae1a95ed114f4b6f441"}, {"url": "http://192.168.100.10:8777", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "2879617206a741fab6883e7f297640fc"}, {"url": "http://192.168.100.10:8777", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "afae36eebbca4a14b1f952510b4bf2b9"}], "type": "metering", "id": "ba8371dd918b4f61a1c41c8e6eb4c1c0", "name": "ceilometer"}, {"endpoints": [{"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6abb0dd21b1c42f4b92e85cff4ff8833"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b7646fb787f54002844f690e7939ab97"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ef10e298258442878e23a1fa841e5e23"}], "type": "object-store", "id": "f7bf8bf3f21b44eba51edf2068633b79", "name": "swift"}], "user": {"domain": {"id": "default", "name": "Default"}, "password_expires_at": null, "name": "admin", "id": "489353600c5347b0852497074a4a1bce"}, "audit_ids": ["iXIDEEbzTeGK3BEasG56Kw"], "issued_at": "2018-08-02T12:38:16.000000Z"}}

[root@compute ~(keystone_admin)]# neutron --debug port-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
DEBUG: stevedore.extension found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1')
DEBUG: stevedore.extension found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode')
DEBUG: stevedore.extension found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos')
DEBUG: stevedore.extension found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP')
DEBUG: stevedore.extension found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos')
DEBUG: stevedore.extension found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('json = cliff.formatters.json_format:JSONFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('csv = cliff.formatters.commaseparated:CSVLister')
DEBUG: stevedore.extension found extension EntryPoint.parse('value = cliff.formatters.value:ValueFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('yaml = cliff.formatters.yaml_format:YAMLFormatter')
DEBUG: neutronclient.neutron.v2_0.port.ListPort run(Namespace(columns=[], fields=[], formatter='table', max_width=0, noindent=False, page_size=None, print_empty=False, quote_mode='nonnumeric', request_format='json', show_details=False, sort_dir=[], sort_key=[]))
DEBUG: keystoneauth.session REQ: curl -g -i -X GET http://192.168.100.10:5000/v3 -H "Accept: application/json" -H "User-Agent: neutron keystoneauth1/2.18.0 python-requests/2.11.1 CPython/2.7.5"
DEBUG: keystoneauth.session RESP: [200] Date: Thu, 02 Aug 2018 12:37:34 GMT Server: Apache/2.4.6 (CentOS) Vary: X-Auth-Token,Accept-Encoding x-openstack-request-id: req-7592e086-34e3-42dd-b4ca-050e7c71a00a Content-Encoding: gzip Content-Length: 196 Connection: close Content-Type: application/json
RESP BODY: {"version": {"status": "stable", "updated": "2017-02-22T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.8", "links": [{"href": "http://192.168.100.10:5000/v3/", "rel": "self"}]}}

DEBUG: keystoneauth.session GET call to None for http://192.168.100.10:5000/v3 used request id req-7592e086-34e3-42dd-b4ca-050e7c71a00a
DEBUG: keystoneauth.identity.v3.base Making authentication request to http://192.168.100.10:5000/v3/auth/tokens
DEBUG: keystoneauth.identity.v3.base {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "d06e0e9a8d13440d95d7b780f8c891f1", "name": "admin"}], "expires_at": "2018-08-02T13:37:34.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "c0bb6b415e474e3598c8565229952028", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://192.168.100.10:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b46466b9f4fc43eeaf0ae45372b2a532"}, {"url": "http://192.168.100.10:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ccb61f5ac6da4ffb9e03813f8f402239"}, {"url": "http://192.168.100.10:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "e5892a85b01d4ec5b29eca4d076b965e"}], "type": "image", "id": "01280807c5aa49ed989f07deb5f55518", "name": "glance"}, {"endpoints": [{"url": "http://192.168.100.10:5000/v3", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "04bebd1e162d419fbad07317888207cd"}, {"url": "http://192.168.100.10:35357/v3", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2bb533e49040463ab0a5d322be09248f"}, {"url": "http://192.168.100.10:5000/v3", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b09edd5ccae04403810924f013d18df2"}], "type": "identity", "id": "08865962aadb453185ec221a580e1ded", "name": "keystone"}, {"endpoints": [{"url": "http://192.168.100.10:8778/placement", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "3d07d09d93404ea3b0777dc43f8d0709"}, {"url": "http://192.168.100.10:8778/placement", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6c707542b3f443ec81d18695ce1e6460"}, {"url": "http://192.168.100.10:8778/placement", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "710c3eb09e7743e6b19a747c631168d7"}], "type": "placement", "id": "342e938a948741e38f8e8b1953f2e4c8", "name": "placement"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4b896c6cb0c840639c04025e08f94621"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "a4d1a1ff1a7d41f885bca76c34c43268"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "f49c5f74fbcf43a09e95e708c4683e2e"}], "type": "volume", "id": "58e00d6fe1bd488f914e8affd18b9a07", "name": "cinder"}, {"endpoints": [{"url": "http://192.168.100.10:8041", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "27d4819e010a49e08c6a4de6f5d67b14"}, {"url": "http://192.168.100.10:8041", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4016aefecc3441659aac514a617323da"}, {"url": "http://192.168.100.10:8041", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "97970f9b54a34bee8627defbb04637d4"}], "type": "metric", "id": "593e971d95864f49ad9960b490735f9d", "name": "gnocchi"}, {"endpoints": [{"url": "http://192.168.100.10:8042", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "769869c4988a4f9382887101b8c23e36"}, {"url": "http://192.168.100.10:8042", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "abbda3c2f79b46b186978bf4ba238c88"}, {"url": "http://192.168.100.10:8042", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "ff6d9514ce504a62bd2aab221b3013e8"}], "type": "alarming", "id": "5cdc78392c1743df9990a690bec7dc1f", "name": "aodh"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "658167d5a9934fcc9096d8ce2956a330"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bb225c56c3484403998f119f63f84fe3"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "f208a028b1bc4e848004bf8ba82bfcd5"}], "type": "volumev3", "id": "66f0f32bc45d44ac8cc91480b83f24a3", "name": "cinderv3"}, {"endpoints": [{"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "45a1725e0adf420d83f6ecbd90f4659f"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "914e41d1025645628cc7784e60ef2d25"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a7a9cde8807f465e8dc6af4a4d756246"}], "type": "compute", "id": "85d923fff4a14561b5c7ff4b4d91733b", "name": "nova"}, {"endpoints": [{"url": "http://192.168.100.10:9696", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "5df9c155ab57482d84b1dbbd8fc16ad5"}, {"url": "http://192.168.100.10:9696", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "7422056798b14fcab49c9aec63d2c90a"}, {"url": "http://192.168.100.10:9696", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "f8ea7fa01a0c46449f505544c4660d07"}], "type": "network", "id": "95c32dc6a2604bc580a19dd63a47da5a", "name": "neutron"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "19b02ce9eb19446f89c77896f789c1c7"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a0d73116f23145f190f213110454229c"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bcc11e309fad48ce9ded52c7c60a371f"}], "type": "volumev2", "id": "b478aa70b28e47859c9f32c4ec9846bf", "name": "cinderv2"}, {"endpoints": [{"url": "http://192.168.100.10:8777", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2225ebde2c284ae1a95ed114f4b6f441"}, {"url": "http://192.168.100.10:8777", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "2879617206a741fab6883e7f297640fc"}, {"url": "http://192.168.100.10:8777", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "afae36eebbca4a14b1f952510b4bf2b9"}], "type": "metering", "id": "ba8371dd918b4f61a1c41c8e6eb4c1c0", "name": "ceilometer"}, {"endpoints": [{"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6abb0dd21b1c42f4b92e85cff4ff8833"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b7646fb787f54002844f690e7939ab97"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ef10e298258442878e23a1fa841e5e23"}], "type": "object-store", "id": "f7bf8bf3f21b44eba51edf2068633b79", "name": "swift"}], "user": {"domain": {"id": "default", "name": "Default"}, "password_expires_at": null, "name": "admin", "id": "489353600c5347b0852497074a4a1bce"}, "audit_ids": ["8R2aZNGJSu-eKmCoM0Os3g"], "issued_at": "2018-08-02T12:37:34.000000Z"}}
DEBUG: keystoneauth.session REQ: curl -g -i -X GET http://192.168.100.10:9696/v2.0/ports.json -H "User-Agent: python-neutronclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}5653cfddcd0cb39cc8f20b81e26c79780c6320a8"
DEBUG: keystoneauth.session RESP: [200] Content-Type: application/json Content-Length: 4997 X-Openstack-Request-Id: req-f7601c55-f95e-40b8-b5d0-334ce0971bd2 Date: Thu, 02 Aug 2018 12:37:35 GMT Connection: keep-alive
RESP BODY: {"ports": [{"status": "ACTIVE", "binding:host_id": "computer1", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:19:36Z", "device_owner": "compute:nova", "revision_number": 8, "port_security_enabled": true, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.3"}], "id": "03fc096c-9879-4839-9aa2-b3cc8a55c3e1", "security_groups": ["4aa7d663-d9e2-4af3-aa92-6513ab97e51c"], "device_id": "d7f2cf20-ed2c-41ce-94e4-cf9bffc03db3", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "ce306591-fdbd-4c53-bc5d-f89f6cf6abcb", "host_addresses": ["computer1"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:f3:af:cb", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:19:33Z"}, {"status": "ACTIVE", "binding:host_id": "computer2", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:20:24Z", "device_owner": "compute:nova", "revision_number": 8, "port_security_enabled": true, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.5"}], "id": "494f80a2-62fa-44a5-96c3-350ccee3c2f8", "security_groups": ["4aa7d663-d9e2-4af3-aa92-6513ab97e51c"], "device_id": "9b352f01-cd62-48d7-bc1b-dc679b3fbfc7", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "b8468845-4dc8-424c-8204-76e2a5700169", "host_addresses": ["computer2"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:3e:4d:78", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:20:17Z"}, {"status": "ACTIVE", "binding:host_id": "controller", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:17:30Z", "device_owner": "network:dhcp", "revision_number": 6, "port_security_enabled": false, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.2"}], "id": "71aa5579-03bf-49b4-91e2-a47648df8e32", "security_groups": [], "device_id": "dhcpd3377d3c-a0d1-5d71-9947-f17125c357bb-17a30725-7cde-497b-9862-3d95af779eeb", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "b166222e-09c7-42c6-a08a-11b4460a4dbc", "host_addresses": ["controller"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:0f:b8:3e", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:17:26Z"}, {"status": "ACTIVE", "binding:host_id": "computer1", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:19:20Z", "device_owner": "compute:nova", "revision_number": 8, "port_security_enabled": true, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.7"}], "id": "c34dd570-2b1a-45ab-a996-f19c60da7958", "security_groups": ["4aa7d663-d9e2-4af3-aa92-6513ab97e51c"], "device_id": "b3e67cfb-f381-4a5b-92fc-2d019af88400", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "ce306591-fdbd-4c53-bc5d-f89f6cf6abcb", "host_addresses": ["computer1"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:c5:02:50", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:19:17Z"}, {"status": "DOWN", "binding:host_id": "", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:17:38Z", "device_owner": "network:router_interface", "revision_number": 5, "port_security_enabled": false, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.1"}], "id": "dc2830a3-8a97-47e7-a6ae-1964cfb3c0cd", "security_groups": [], "device_id": "fb73b983-70a1-4264-9ef3-347041e99a45", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {}, "binding:vnic_type": "normal", "binding:vif_type": "unbound", "mac_address": "fa:16:3e:da:d6:af", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:17:35Z"}]}

DEBUG: keystoneauth.session GET call to network for http://192.168.100.10:9696/v2.0/ports.json used request id req-f7601c55-f95e-40b8-b5d0-334ce0971bd2
DEBUG: neutronclient.v2_0.client GET call to neutron for http://192.168.100.10:9696/v2.0/ports.json used request id req-f7601c55-f95e-40b8-b5d0-334ce0971bd2
DEBUG: keystoneauth.identity.v3.base Making authentication request to http://192.168.100.10:5000/v3/auth/tokens
DEBUG: keystoneauth.identity.v3.base {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "d06e0e9a8d13440d95d7b780f8c891f1", "name": "admin"}], "expires_at": "2018-08-02T13:37:35.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "c0bb6b415e474e3598c8565229952028", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://192.168.100.10:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b46466b9f4fc43eeaf0ae45372b2a532"}, {"url": "http://192.168.100.10:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ccb61f5ac6da4ffb9e03813f8f402239"}, {"url": "http://192.168.100.10:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "e5892a85b01d4ec5b29eca4d076b965e"}], "type": "image", "id": "01280807c5aa49ed989f07deb5f55518", "name": "glance"}, {"endpoints": [{"url": "http://192.168.100.10:5000/v3", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "04bebd1e162d419fbad07317888207cd"}, {"url": "http://192.168.100.10:35357/v3", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2bb533e49040463ab0a5d322be09248f"}, {"url": "http://192.168.100.10:5000/v3", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b09edd5ccae04403810924f013d18df2"}], "type": "identity", "id": "08865962aadb453185ec221a580e1ded", "name": "keystone"}, {"endpoints": [{"url": "http://192.168.100.10:8778/placement", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "3d07d09d93404ea3b0777dc43f8d0709"}, {"url": "http://192.168.100.10:8778/placement", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6c707542b3f443ec81d18695ce1e6460"}, {"url": "http://192.168.100.10:8778/placement", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "710c3eb09e7743e6b19a747c631168d7"}], "type": "placement", "id": "342e938a948741e38f8e8b1953f2e4c8", "name": "placement"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4b896c6cb0c840639c04025e08f94621"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "a4d1a1ff1a7d41f885bca76c34c43268"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "f49c5f74fbcf43a09e95e708c4683e2e"}], "type": "volume", "id": "58e00d6fe1bd488f914e8affd18b9a07", "name": "cinder"}, {"endpoints": [{"url": "http://192.168.100.10:8041", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "27d4819e010a49e08c6a4de6f5d67b14"}, {"url": "http://192.168.100.10:8041", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4016aefecc3441659aac514a617323da"}, {"url": "http://192.168.100.10:8041", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "97970f9b54a34bee8627defbb04637d4"}], "type": "metric", "id": "593e971d95864f49ad9960b490735f9d", "name": "gnocchi"}, {"endpoints": [{"url": "http://192.168.100.10:8042", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "769869c4988a4f9382887101b8c23e36"}, {"url": "http://192.168.100.10:8042", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "abbda3c2f79b46b186978bf4ba238c88"}, {"url": "http://192.168.100.10:8042", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "ff6d9514ce504a62bd2aab221b3013e8"}], "type": "alarming", "id": "5cdc78392c1743df9990a690bec7dc1f", "name": "aodh"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "658167d5a9934fcc9096d8ce2956a330"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bb225c56c3484403998f119f63f84fe3"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "f208a028b1bc4e848004bf8ba82bfcd5"}], "type": "volumev3", "id": "66f0f32bc45d44ac8cc91480b83f24a3", "name": "cinderv3"}, {"endpoints": [{"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "45a1725e0adf420d83f6ecbd90f4659f"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "914e41d1025645628cc7784e60ef2d25"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a7a9cde8807f465e8dc6af4a4d756246"}], "type": "compute", "id": "85d923fff4a14561b5c7ff4b4d91733b", "name": "nova"}, {"endpoints": [{"url": "http://192.168.100.10:9696", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "5df9c155ab57482d84b1dbbd8fc16ad5"}, {"url": "http://192.168.100.10:9696", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "7422056798b14fcab49c9aec63d2c90a"}, {"url": "http://192.168.100.10:9696", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "f8ea7fa01a0c46449f505544c4660d07"}], "type": "network", "id": "95c32dc6a2604bc580a19dd63a47da5a", "name": "neutron"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "19b02ce9eb19446f89c77896f789c1c7"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a0d73116f23145f190f213110454229c"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bcc11e309fad48ce9ded52c7c60a371f"}], "type": "volumev2", "id": "b478aa70b28e47859c9f32c4ec9846bf", "name": "cinderv2"}, {"endpoints": [{"url": "http://192.168.100.10:8777", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2225ebde2c284ae1a95ed114f4b6f441"}, {"url": "http://192.168.100.10:8777", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "2879617206a741fab6883e7f297640fc"}, {"url": "http://192.168.100.10:8777", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "afae36eebbca4a14b1f952510b4bf2b9"}], "type": "metering", "id": "ba8371dd918b4f61a1c41c8e6eb4c1c0", "name": "ceilometer"}, {"endpoints": [{"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6abb0dd21b1c42f4b92e85cff4ff8833"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b7646fb787f54002844f690e7939ab97"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ef10e298258442878e23a1fa841e5e23"}], "type": "object-store", "id": "f7bf8bf3f21b44eba51edf2068633b79", "name": "swift"}], "user": {"domain": {"id": "default", "name": "Default"}, "password_expires_at": null, "name": "admin", "id": "489353600c5347b0852497074a4a1bce"}, "audit_ids": ["aDtvhYq_SHG1ebIixJbETQ"], "issued_at": "2018-08-02T12:37:35.000000Z"}}
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+
| id                                   | name | tenant_id                        | mac_address       | fixed_ips                                                                        |
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+
| 03fc096c-9879-4839-9aa2-b3cc8a55c3e1 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:f3:af:cb | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.3"} |
| 494f80a2-62fa-44a5-96c3-350ccee3c2f8 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:3e:4d:78 | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.5"} |
| 71aa5579-03bf-49b4-91e2-a47648df8e32 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:0f:b8:3e | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.2"} |
| c34dd570-2b1a-45ab-a996-f19c60da7958 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:c5:02:50 | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.7"} |
| dc2830a3-8a97-47e7-a6ae-1964cfb3c0cd |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:da:d6:af | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.1"} |
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+
[root@compute ~(keystone_admin)]# neutron --debug port-list --fixed-ips subnet_id=bc7baee2-67bc-480b-a18d-62e397af6963
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
DEBUG: stevedore.extension found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1')
DEBUG: stevedore.extension found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode')
DEBUG: stevedore.extension found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos')
DEBUG: stevedore.extension found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP')
DEBUG: stevedore.extension found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password')
DEBUG: stevedore.extension found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos')
DEBUG: stevedore.extension found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('json = cliff.formatters.json_format:JSONFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('csv = cliff.formatters.commaseparated:CSVLister')
DEBUG: stevedore.extension found extension EntryPoint.parse('value = cliff.formatters.value:ValueFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('yaml = cliff.formatters.yaml_format:YAMLFormatter')

DEBUG: neutronclient.neutron.v2_0.port.ListPort run(Namespace(columns=[], fields=[], formatter='table', max_width=0, noindent=False, page_size=None, print_empty=False, quote_mode='nonnumeric', request_format='json', show_details=False, sort_dir=[], sort_key=[]))
DEBUG: keystoneauth.session REQ: curl -g -i -X GET http://192.168.100.10:5000/v3 -H "Accept: application/json" -H "User-Agent: neutron keystoneauth1/2.18.0 python-requests/2.11.1 CPython/2.7.5"
DEBUG: keystoneauth.session RESP: [200] Date: Thu, 02 Aug 2018 12:38:14 GMT Server: Apache/2.4.6 (CentOS) Vary: X-Auth-Token,Accept-Encoding x-openstack-request-id: req-e53be530-fbb7-42bc-a4bd-9a2dde2b0766 Content-Encoding: gzip Content-Length: 196 Connection: close Content-Type: application/json
RESP BODY: {"version": {"status": "stable", "updated": "2017-02-22T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.8", "links": [{"href": "http://192.168.100.10:5000/v3/", "rel": "self"}]}}

DEBUG: keystoneauth.session GET call to None for http://192.168.100.10:5000/v3 used request id req-e53be530-fbb7-42bc-a4bd-9a2dde2b0766
DEBUG: keystoneauth.identity.v3.base Making authentication request to http://192.168.100.10:5000/v3/auth/tokens
DEBUG: keystoneauth.identity.v3.base {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "d06e0e9a8d13440d95d7b780f8c891f1", "name": "admin"}], "expires_at": "2018-08-02T13:38:15.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "c0bb6b415e474e3598c8565229952028", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://192.168.100.10:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b46466b9f4fc43eeaf0ae45372b2a532"}, {"url": "http://192.168.100.10:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ccb61f5ac6da4ffb9e03813f8f402239"}, {"url": "http://192.168.100.10:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "e5892a85b01d4ec5b29eca4d076b965e"}], "type": "image", "id": "01280807c5aa49ed989f07deb5f55518", "name": "glance"}, {"endpoints": [{"url": "http://192.168.100.10:5000/v3", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "04bebd1e162d419fbad07317888207cd"}, {"url": "http://192.168.100.10:35357/v3", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2bb533e49040463ab0a5d322be09248f"}, {"url": "http://192.168.100.10:5000/v3", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b09edd5ccae04403810924f013d18df2"}], "type": "identity", "id": "08865962aadb453185ec221a580e1ded", "name": "keystone"}, {"endpoints": [{"url": "http://192.168.100.10:8778/placement", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "3d07d09d93404ea3b0777dc43f8d0709"}, {"url": "http://192.168.100.10:8778/placement", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6c707542b3f443ec81d18695ce1e6460"}, {"url": "http://192.168.100.10:8778/placement", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "710c3eb09e7743e6b19a747c631168d7"}], "type": "placement", "id": "342e938a948741e38f8e8b1953f2e4c8", "name": "placement"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4b896c6cb0c840639c04025e08f94621"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "a4d1a1ff1a7d41f885bca76c34c43268"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "f49c5f74fbcf43a09e95e708c4683e2e"}], "type": "volume", "id": "58e00d6fe1bd488f914e8affd18b9a07", "name": "cinder"}, {"endpoints": [{"url": "http://192.168.100.10:8041", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "27d4819e010a49e08c6a4de6f5d67b14"}, {"url": "http://192.168.100.10:8041", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4016aefecc3441659aac514a617323da"}, {"url": "http://192.168.100.10:8041", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "97970f9b54a34bee8627defbb04637d4"}], "type": "metric", "id": "593e971d95864f49ad9960b490735f9d", "name": "gnocchi"}, {"endpoints": [{"url": "http://192.168.100.10:8042", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "769869c4988a4f9382887101b8c23e36"}, {"url": "http://192.168.100.10:8042", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "abbda3c2f79b46b186978bf4ba238c88"}, {"url": "http://192.168.100.10:8042", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "ff6d9514ce504a62bd2aab221b3013e8"}], "type": "alarming", "id": "5cdc78392c1743df9990a690bec7dc1f", "name": "aodh"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "658167d5a9934fcc9096d8ce2956a330"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bb225c56c3484403998f119f63f84fe3"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "f208a028b1bc4e848004bf8ba82bfcd5"}], "type": "volumev3", "id": "66f0f32bc45d44ac8cc91480b83f24a3", "name": "cinderv3"}, {"endpoints": [{"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "45a1725e0adf420d83f6ecbd90f4659f"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "914e41d1025645628cc7784e60ef2d25"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a7a9cde8807f465e8dc6af4a4d756246"}], "type": "compute", "id": "85d923fff4a14561b5c7ff4b4d91733b", "name": "nova"}, {"endpoints": [{"url": "http://192.168.100.10:9696", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "5df9c155ab57482d84b1dbbd8fc16ad5"}, {"url": "http://192.168.100.10:9696", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "7422056798b14fcab49c9aec63d2c90a"}, {"url": "http://192.168.100.10:9696", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "f8ea7fa01a0c46449f505544c4660d07"}], "type": "network", "id": "95c32dc6a2604bc580a19dd63a47da5a", "name": "neutron"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "19b02ce9eb19446f89c77896f789c1c7"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a0d73116f23145f190f213110454229c"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bcc11e309fad48ce9ded52c7c60a371f"}], "type": "volumev2", "id": "b478aa70b28e47859c9f32c4ec9846bf", "name": "cinderv2"}, {"endpoints": [{"url": "http://192.168.100.10:8777", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2225ebde2c284ae1a95ed114f4b6f441"}, {"url": "http://192.168.100.10:8777", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "2879617206a741fab6883e7f297640fc"}, {"url": "http://192.168.100.10:8777", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "afae36eebbca4a14b1f952510b4bf2b9"}], "type": "metering", "id": "ba8371dd918b4f61a1c41c8e6eb4c1c0", "name": "ceilometer"}, {"endpoints": [{"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6abb0dd21b1c42f4b92e85cff4ff8833"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b7646fb787f54002844f690e7939ab97"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ef10e298258442878e23a1fa841e5e23"}], "type": "object-store", "id": "f7bf8bf3f21b44eba51edf2068633b79", "name": "swift"}], "user": {"domain": {"id": "default", "name": "Default"}, "password_expires_at": null, "name": "admin", "id": "489353600c5347b0852497074a4a1bce"}, "audit_ids": ["gJVovLpWQHyExpz_R6FAgw"], "issued_at": "2018-08-02T12:38:15.000000Z"}}
DEBUG: keystoneauth.session REQ: curl -g -i -X GET http://192.168.100.10:9696/v2.0/ports.json?fixed_ips=subnet_id%3Dbc7baee2-67bc-480b-a18d-62e397af6963 -H "User-Agent: python-neutronclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}6ace437ba5f374e1edfba31750fed9e601810c46"
DEBUG: keystoneauth.session RESP: [200] Content-Type: application/json Content-Length: 4997 X-Openstack-Request-Id: req-926c8aba-cdd5-4889-b52f-ffe44bfc9ca7 Date: Thu, 02 Aug 2018 12:38:15 GMT Connection: keep-alive
RESP BODY: {"ports": [{"status": "ACTIVE", "binding:host_id": "computer1", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:19:36Z", "device_owner": "compute:nova", "revision_number": 8, "port_security_enabled": true, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.3"}], "id": "03fc096c-9879-4839-9aa2-b3cc8a55c3e1", "security_groups": ["4aa7d663-d9e2-4af3-aa92-6513ab97e51c"], "device_id": "d7f2cf20-ed2c-41ce-94e4-cf9bffc03db3", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "ce306591-fdbd-4c53-bc5d-f89f6cf6abcb", "host_addresses": ["computer1"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:f3:af:cb", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:19:33Z"}, {"status": "ACTIVE", "binding:host_id": "computer2", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:20:24Z", "device_owner": "compute:nova", "revision_number": 8, "port_security_enabled": true, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.5"}], "id": "494f80a2-62fa-44a5-96c3-350ccee3c2f8", "security_groups": ["4aa7d663-d9e2-4af3-aa92-6513ab97e51c"], "device_id": "9b352f01-cd62-48d7-bc1b-dc679b3fbfc7", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "b8468845-4dc8-424c-8204-76e2a5700169", "host_addresses": ["computer2"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:3e:4d:78", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:20:17Z"}, {"status": "ACTIVE", "binding:host_id": "controller", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:17:30Z", "device_owner": "network:dhcp", "revision_number": 6, "port_security_enabled": false, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.2"}], "id": "71aa5579-03bf-49b4-91e2-a47648df8e32", "security_groups": [], "device_id": "dhcpd3377d3c-a0d1-5d71-9947-f17125c357bb-17a30725-7cde-497b-9862-3d95af779eeb", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "b166222e-09c7-42c6-a08a-11b4460a4dbc", "host_addresses": ["controller"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:0f:b8:3e", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:17:26Z"}, {"status": "ACTIVE", "binding:host_id": "computer1", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:19:20Z", "device_owner": "compute:nova", "revision_number": 8, "port_security_enabled": true, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.7"}], "id": "c34dd570-2b1a-45ab-a996-f19c60da7958", "security_groups": ["4aa7d663-d9e2-4af3-aa92-6513ab97e51c"], "device_id": "b3e67cfb-f381-4a5b-92fc-2d019af88400", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {"support_vhost_user": false, "has_datapath_type_netdev": false, "uuid": "ce306591-fdbd-4c53-bc5d-f89f6cf6abcb", "host_addresses": ["computer1"]}, "binding:vnic_type": "normal", "binding:vif_type": "ovs", "mac_address": "fa:16:3e:c5:02:50", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:19:17Z"}, {"status": "DOWN", "binding:host_id": "", "description": "", "allowed_address_pairs": [], "tags": [], "extra_dhcp_opts": [], "updated_at": "2018-05-28T11:17:38Z", "device_owner": "network:router_interface", "revision_number": 5, "port_security_enabled": false, "binding:profile": {}, "fixed_ips": [{"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.1"}], "id": "dc2830a3-8a97-47e7-a6ae-1964cfb3c0cd", "security_groups": [], "device_id": "fb73b983-70a1-4264-9ef3-347041e99a45", "name": "", "admin_state_up": true, "network_id": "17a30725-7cde-497b-9862-3d95af779eeb", "tenant_id": "c0bb6b415e474e3598c8565229952028", "binding:vif_details": {}, "binding:vnic_type": "normal", "binding:vif_type": "unbound", "mac_address": "fa:16:3e:da:d6:af", "project_id": "c0bb6b415e474e3598c8565229952028", "created_at": "2018-05-28T11:17:35Z"}]}


DEBUG: keystoneauth.session GET call to network for http://192.168.100.10:9696/v2.0/ports.json?fixed_ips=subnet_id%3Dbc7baee2-67bc-480b-a18d-62e397af6963 used request id req-926c8aba-cdd5-4889-b52f-ffe44bfc9ca7
DEBUG: neutronclient.v2_0.client GET call to neutron for http://192.168.100.10:9696/v2.0/ports.json?fixed_ips=subnet_id%3Dbc7baee2-67bc-480b-a18d-62e397af6963 used request id req-926c8aba-cdd5-4889-b52f-ffe44bfc9ca7
DEBUG: keystoneauth.identity.v3.base Making authentication request to http://192.168.100.10:5000/v3/auth/tokens
DEBUG: keystoneauth.identity.v3.base {"token": {"is_domain": false, "methods": ["password"], "roles": [{"id": "d06e0e9a8d13440d95d7b780f8c891f1", "name": "admin"}], "expires_at": "2018-08-02T13:38:16.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "c0bb6b415e474e3598c8565229952028", "name": "admin"}, "catalog": [{"endpoints": [{"url": "http://192.168.100.10:9292", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b46466b9f4fc43eeaf0ae45372b2a532"}, {"url": "http://192.168.100.10:9292", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ccb61f5ac6da4ffb9e03813f8f402239"}, {"url": "http://192.168.100.10:9292", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "e5892a85b01d4ec5b29eca4d076b965e"}], "type": "image", "id": "01280807c5aa49ed989f07deb5f55518", "name": "glance"}, {"endpoints": [{"url": "http://192.168.100.10:5000/v3", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "04bebd1e162d419fbad07317888207cd"}, {"url": "http://192.168.100.10:35357/v3", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2bb533e49040463ab0a5d322be09248f"}, {"url": "http://192.168.100.10:5000/v3", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b09edd5ccae04403810924f013d18df2"}], "type": "identity", "id": "08865962aadb453185ec221a580e1ded", "name": "keystone"}, {"endpoints": [{"url": "http://192.168.100.10:8778/placement", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "3d07d09d93404ea3b0777dc43f8d0709"}, {"url": "http://192.168.100.10:8778/placement", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6c707542b3f443ec81d18695ce1e6460"}, {"url": "http://192.168.100.10:8778/placement", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "710c3eb09e7743e6b19a747c631168d7"}], "type": "placement", "id": "342e938a948741e38f8e8b1953f2e4c8", "name": "placement"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4b896c6cb0c840639c04025e08f94621"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "a4d1a1ff1a7d41f885bca76c34c43268"}, {"url": "http://192.168.100.10:8776/v1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "f49c5f74fbcf43a09e95e708c4683e2e"}], "type": "volume", "id": "58e00d6fe1bd488f914e8affd18b9a07", "name": "cinder"}, {"endpoints": [{"url": "http://192.168.100.10:8041", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "27d4819e010a49e08c6a4de6f5d67b14"}, {"url": "http://192.168.100.10:8041", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "4016aefecc3441659aac514a617323da"}, {"url": "http://192.168.100.10:8041", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "97970f9b54a34bee8627defbb04637d4"}], "type": "metric", "id": "593e971d95864f49ad9960b490735f9d", "name": "gnocchi"}, {"endpoints": [{"url": "http://192.168.100.10:8042", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "769869c4988a4f9382887101b8c23e36"}, {"url": "http://192.168.100.10:8042", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "abbda3c2f79b46b186978bf4ba238c88"}, {"url": "http://192.168.100.10:8042", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "ff6d9514ce504a62bd2aab221b3013e8"}], "type": "alarming", "id": "5cdc78392c1743df9990a690bec7dc1f", "name": "aodh"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "658167d5a9934fcc9096d8ce2956a330"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bb225c56c3484403998f119f63f84fe3"}, {"url": "http://192.168.100.10:8776/v3/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "f208a028b1bc4e848004bf8ba82bfcd5"}], "type": "volumev3", "id": "66f0f32bc45d44ac8cc91480b83f24a3", "name": "cinderv3"}, {"endpoints": [{"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "45a1725e0adf420d83f6ecbd90f4659f"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "914e41d1025645628cc7784e60ef2d25"}, {"url": "http://192.168.100.10:8774/v2.1/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a7a9cde8807f465e8dc6af4a4d756246"}], "type": "compute", "id": "85d923fff4a14561b5c7ff4b4d91733b", "name": "nova"}, {"endpoints": [{"url": "http://192.168.100.10:9696", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "5df9c155ab57482d84b1dbbd8fc16ad5"}, {"url": "http://192.168.100.10:9696", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "7422056798b14fcab49c9aec63d2c90a"}, {"url": "http://192.168.100.10:9696", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "f8ea7fa01a0c46449f505544c4660d07"}], "type": "network", "id": "95c32dc6a2604bc580a19dd63a47da5a", "name": "neutron"}, {"endpoints": [{"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "19b02ce9eb19446f89c77896f789c1c7"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "a0d73116f23145f190f213110454229c"}, {"url": "http://192.168.100.10:8776/v2/c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "bcc11e309fad48ce9ded52c7c60a371f"}], "type": "volumev2", "id": "b478aa70b28e47859c9f32c4ec9846bf", "name": "cinderv2"}, {"endpoints": [{"url": "http://192.168.100.10:8777", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "2225ebde2c284ae1a95ed114f4b6f441"}, {"url": "http://192.168.100.10:8777", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "2879617206a741fab6883e7f297640fc"}, {"url": "http://192.168.100.10:8777", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "afae36eebbca4a14b1f952510b4bf2b9"}], "type": "metering", "id": "ba8371dd918b4f61a1c41c8e6eb4c1c0", "name": "ceilometer"}, {"endpoints": [{"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "admin", "region": "RegionOne", "region_id": "RegionOne", "id": "6abb0dd21b1c42f4b92e85cff4ff8833"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "public", "region": "RegionOne", "region_id": "RegionOne", "id": "b7646fb787f54002844f690e7939ab97"}, {"url": "http://192.168.100.10:8080/v1/AUTH_c0bb6b415e474e3598c8565229952028", "interface": "internal", "region": "RegionOne", "region_id": "RegionOne", "id": "ef10e298258442878e23a1fa841e5e23"}], "type": "object-store", "id": "f7bf8bf3f21b44eba51edf2068633b79", "name": "swift"}], "user": {"domain": {"id": "default", "name": "Default"}, "password_expires_at": null, "name": "admin", "id": "489353600c5347b0852497074a4a1bce"}, "audit_ids": ["iXIDEEbzTeGK3BEasG56Kw"], "issued_at": "2018-08-02T12:38:16.000000Z"}}
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+
| id                                   | name | tenant_id                        | mac_address       | fixed_ips                                                                        |
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+
| 03fc096c-9879-4839-9aa2-b3cc8a55c3e1 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:f3:af:cb | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.3"} |
| 494f80a2-62fa-44a5-96c3-350ccee3c2f8 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:3e:4d:78 | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.5"} |
| 71aa5579-03bf-49b4-91e2-a47648df8e32 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:0f:b8:3e | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.2"} |
| c34dd570-2b1a-45ab-a996-f19c60da7958 |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:c5:02:50 | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.7"} |
| dc2830a3-8a97-47e7-a6ae-1964cfb3c0cd |      | c0bb6b415e474e3598c8565229952028 | fa:16:3e:da:d6:af | {"subnet_id": "bc7baee2-67bc-480b-a18d-62e397af6963", "ip_address": "10.10.5.1"} |
+--------------------------------------+------+----------------------------------+-------------------+----------------------------------------------------------------------------------+