Назад | Перейти на главную страницу

Openstack Neutron - в соединении отказано при создании экземпляра - у меня нет идей

Я установил OpenStack - мой первый раз. Я следовал руководству по установке (в Ubuntu 14.04) и считаю, что все понял правильно. Однако при попытке создать экземпляр я получаю сообщение об ошибке:

Сборка экземпляра e948205a-2287-4b0e-9829-f2c6fe3a93eb прервана: невозможно установить соединение с http://127.0.0.1:9696/v2.0/extensions.json

Я отлаживаю это время от времени около недели, и я исчерпал все решения, которые нашел в Google и которые мог придумать.

Нейтрон прослушивает порт:

netstat -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  
...

Я могу пройти аутентификацию с помощью токена и получить ответ от Neutron вручную с помощью теста curl ниже, он отвечает ожидаемыми данными.

curl -i -H'X-Auth-Token: MY_TOKEN' http://controller:9696/v2.0/extensions.json

Мои конечные точки нейтронного API:

| 440735e5dd8d468e89de9a8077ea9491 | RegionOne | нейтрон | сеть | Правда | общественный | http: // контроллер: 9696 |

| 5985d944b02b4148a87cafae8df006c8 | RegionOne | нейтрон | сеть | Правда | внутренний | 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                    |
+---------------------------+-----------------------------------------------+

С помощью команды create с отладкой у меня теперь есть дополнительная информация о фактической ошибке (лучше всего скопировать и вставить ее, чтобы прочитать):

{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'} |

вы можете отладить это, проверив, работает ли служба нейтронов и правильно ли зарегистрирована в вашем каталоге служб.

посмотри на свой 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.

вы можете проверить службы openvswitch в /etc/ini.d/ и просмотреть базу данных коммутатора с помощью следующих команд 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-ошибки расширения вы можете включить ведение журнала отладки в конфиге нейтронов или передать параметр --debug в cli, например.

nova --debug boot --image imageID --flavor flavorID --nic net-id=nicID