Openstack Neutron - 創建實例時連接被拒絕 - 我沒有想法
我已經設置了 OpenStack - 我的第一次。我已按照安裝指南(在 Ubuntu 14.04 上)進行操作,並且我相信我一切都正確。但是,在嘗試創建實例時出現錯誤:
實例 e948205a-2287-4b0e-9829-f2c6fe3a93eb 的建構中止:無法建立與 http://127.0.0.1:9696/v2.0/extensions.json的連接
我已經斷斷續續地調試了大約一個星期,我已經用盡了我在Google上找到的所有解決方案,而且我能想到的。
Neutron 正在監聽埠:
網路統計-ln | grep 9696 tcp 0
0 0.0.0.0:9696 0.0.0.0:*
聽
我也可以從命令行連接到 Neutron:
root@controller:/var/log# neutron ext-list +---------------------------+-----------------------------------------------+ | alias | name | +---------------------------+-----------------------------------------------+ | default-subnetpools | Default Subnetpools | | network-ip-availability | Network IP Availability | | network_availability_zone | Network Availability Zone | | auto-allocated-topology | Auto Allocated Topology Services | | ext-gw-mode | Neutron L3 Configurable external gateway mode | | binding | Port Binding ...
我可以使用令牌進行身份驗證,並使用下面的 curl 測試手動從 Neutron 獲得響應,這會響應預期的數據。
curl -i -H'X-Auth-Token: MY_TOKEN' http://controller:9696/v2.0/extensions.json
我的中子 API 端點:
| 440735e5dd8d468e89de9a8077ea9491 | 區域一 | 中子 | 網路 | 真 | 公共 | http://控制器:9696 |
| 5985d944b02b4148a87cafae8df006c8 | 區域一 | 中子 | 網路 | 真 | 內部 | http://控制器:9696 |
我檢查了所有的 Nova 和 Neutron 日誌,我看不到任何錯誤,我重新創建了我的 Neutron 端點,我檢查並仔細檢查了配置。我不知道如何繼續調試或解決方案在哪裡。
使用更新的資訊進行編輯:
root@controller:~# openstack catalog list +----------+----------+--------------------------------------------------------------------------+ | Name | Type | Endpoints | +----------+----------+--------------------------------------------------------------------------+ | neutron | network | RegionOne | | | | admin: http://controller:9696 | | | | RegionOne | | | | internal: http://controller:9696 | | | | RegionOne | | | | public: http://controller:9696 | | | | | | nova | compute | RegionOne | | | | admin: http://controller:8774/v2.1/225f1282f5034949937f5ef71c503dd0 | | | | RegionOne | | | | internal: http://controller:8774/v2.1/225f1282f5034949937f5ef71c503dd0 | | | | RegionOne | | | | public: http://controller:8774/v2.1/225f1282f5034949937f5ef71c503dd0 | | | | | | keystone | identity | RegionOne | | | | admin: http://controller:35357/v3 | | | | RegionOne | | | | public: http://controller:5000/v3 | | | | RegionOne | | | | internal: http://controller:5000/v3 | | | | | | glance | image | RegionOne | | | | admin: http://controller:9292 | | | | RegionOne | | | | public: http://controller:9292 | | | | RegionOne | | | | internal: http://controller:9292 | | | | | +----------+----------+--------------------------------------------------------------------------+
我通過 Horizon 和 cli 創建的中子網路
root@controller:~# neutron net-list +--------------------------------------+------------------+--------------------------------------------------+ | id | name | subnets | +--------------------------------------+------------------+--------------------------------------------------+ | 8a50aef6-b687-483d-ab49-f43460eebdd6 | My Admin Network | d4f840cc-31b9-4d32-963d-3a2110ae5765 10.0.0.0/24 | | 8bb223ef-828d-4c9a-aa16-15ac13d244f6 | ext-net | | | 98a2606a-3017-48fb-8b60-e18c4a4f1083 | My Network | b76352ac-dc61-4d75-ba7a-b5b4d76705d0 10.0.0.0/24 | +--------------------------------------+------------------+--------------------------------------------------+
我的 Neutron Ext 列表如下:
root@controller:~# neutron ext-list +---------------------------+-----------------------------------------------+ | alias | name | +---------------------------+-----------------------------------------------+ | default-subnetpools | Default Subnetpools | | network-ip-availability | Network IP Availability | | network_availability_zone | Network Availability Zone | | auto-allocated-topology | Auto Allocated Topology Services | | ext-gw-mode | Neutron L3 Configurable external gateway mode | | binding | Port Binding | | agent | agent | | subnet_allocation | Subnet Allocation | | l3_agent_scheduler | L3 Agent Scheduler | | tag | Tag support | | external-net | Neutron external network | | net-mtu | Network MTU | | availability_zone | Availability Zone | | quotas | Quota management support | | l3-ha | HA Router extension | | provider | Provider Network | | multi-provider | Multi Provider Network | | address-scope | Address scope | | extraroute | Neutron Extra Route | | timestamp_core | Time Stamp Fields addition for core resources | | router | Neutron L3 Router | | extra_dhcp_opt | Neutron Extra DHCP opts | | dns-integration | DNS Integration | | security-group | security-group | | dhcp_agent_scheduler | DHCP Agent Scheduler | | router_availability_zone | Router Availability Zone | | rbac-policies | RBAC Policies | | standard-attr-description | standard-attr-description | | port-security | Port Security | | allowed-address-pairs | Allowed Address Pairs | | dvr | Distributed Virtual Router | +---------------------------+-----------------------------------------------+
使用帶有調試的創建命令,我現在在實際錯誤中獲得了一些進一步的資訊(最好將其複制並粘貼出來以閱讀它):
{u'message': u'Build of instance 3e2f5678-6a4a-478b-8953-d10db929d367 aborted: Unable to establish connection to http://127.0.0.1:9696/v2.0/extensions.json', u'code': 500, u'details': u' File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1926, in _do_build_and_run_instance\n filter_properties)\n File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2083, in _build_and_run_instance\n \'create.error\', fault=e)\n File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__\n self.force_reraise()\n File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise\n six.reraise(self.type_, self.value, self.tb)\n File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2067, in _build_and_run_instance\n instance=instance)\n File "/usr/lib/python2.7/contextlib.py", line 35, in __exit__\n self.gen.throw(type, value, traceback)\n File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2244, in _build_resources\n reason=six.text_type(exc))\n', u'created': u'2016-04-29T13:56:55Z'} |
您可以通過檢查 neutron 服務是否已啟動並執行並在您的服務目錄中正確註冊來進行調試。
看看你的
keystone catalog
它將輸出 API 端點
keystone catalog WARNING: unsupported identity-api-version 3, falling back to 2.0 Service: compute +-------------+-------------------------------------------------------------+ | Property | Value | +-------------+-------------------------------------------------------------+ | adminURL | http://172.25.60.2:8774/v2/6cbc4e8a49af4fb1be9a4bf6dda8e373 | | id | 15f3972a815642118f319301c01eac26 | | internalURL | http://172.25.60.2:8774/v2/6cbc4e8a49af4fb1be9a4bf6dda8e373 | | publicURL | http://87.x.x.x:8774/v2/6cbc4e8a49af4fb1be9a4bf6dda8e373 | | region | RegionOne | +-------------+-------------------------------------------------------------+ Service: network +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | adminURL | http://172.25.60.2:9696/ | | id | 15c3f13c2bd74cd38bbd48bcafe4ccb0 | | internalURL | http://172.25.60.2:9696/ | | publicURL | http://87.x.x.x:9696/ | | region | RegionOne | +-------------+----------------------------------+ Service: volumev2 +-------------+-------------------------------------------------------------+ | Property | Value | +-------------+-------------------------------------------------------------+ | adminURL | http://172.25.60.2:8776/v2/6cbc4e8a49af4fb1be9a4bf6dda8e373 | | id | 979fd7e2bb7a4fef82b9e975249decf5 | | internalURL | http://172.25.60.2:8776/v2/6cbc4e8a49af4fb1be9a4bf6dda8e373 | | publicURL | http://87.x.x.x.:8776/v2/6cbc4e8a49af4fb1be9a4bf6dda8e373 | | region | RegionOne | +-------------+-------------------------------------------------------------+
那麼
neutron net-list
命令的輸出是什麼neutron net-list +--------------------------------------+----------------------+-------------------------------------------------------+ | id | name | subnets | +--------------------------------------+----------------------+-------------------------------------------------------+ | 2f97b5e6-e13b-47af-9cb7-f7e33344a788 | default | f25c7778-33f9-48a7-9696-a19a01fc3e57 192.168.112.0/24 | | 34263fbb-f93e-45d3-b65e-ab2afce3c1c9 | ruby-network | 9360aeb5-2c05-431d-8e79-7052788db198 10.0.14.0/24 | | 3650dbcb-b6d7-4220-8e6d-fa7c30914c57 | cloudfoundry-network | 24ed907f-476f-4440-97d4-9a1f2b7bd75d 10.0.26.0/24 |
在你的 neutron.conf 中你綁定到 127.0.0.1 嗎?- 您應該綁定到所有 IP
# Address to bind the API server to # bind_host = 0.0.0.0 bind_host = 0.0.0.0 # Port the bind the API server to # bind_port = 9696 bind_port = 9696
Neutron 使用 api 擴展或“外掛”以及 DHCP、安全組和 NAT 的代理——你能繼續說你使用的是什麼擴展嗎?
可能這將是 openvswitch,因為預設情況下您的外掛和網路代理通常是 dnsmaq 和 iptables。
您可以檢查 /etc/ini.d/ 中的 openvswitch 服務,並使用以下 show 命令查看交換機數據庫
ovs-vsctl show : Prints a brief overview of the switch database configuration. ovs-vsctl list-br : Prints a list of configured bridges ovs-vsctl list-ports <bridge> : Prints a list of ports on a specific bridge. ovs-vsctl list interface : Prints a list of interfaces.
此外,為了調試擴展 http 錯誤,您可以在 neutron conf 中啟用調試日誌記錄或在 cli 上傳遞 –debug 選項,例如
nova --debug boot --image imageID --flavor flavorID --nic net-id=nicID