天天看點

安裝openstack踩的一個坑

Openstack Mitaka在圖形化界面的時候出現以下報錯:

<code>[root@linux-node1 ~]</code><code># openstack server create --flavor m1.tiny --image cirros --nic net-id=2d79dc77-be66-4850-af01-8e6946f16035 --security-group default --key-name mykey provider-instance</code>

<code>Unexpected API Error. Please report this at http:</code><code>//bugs</code><code>.launchpad.net</code><code>/nova/</code> <code>and attach the Nova API log </code><code>if</code> <code>possible.</code>

<code>&lt;class </code><code>'neutronclient.common.exceptions.Unauthorized'</code><code>&gt; (HTTP 500) (Request-ID: req-1d4cf44f-8b06-43e0-8392-25296b29eecb)</code>

查了下網上資料,各種奇葩版本都有,但是對我的這個問題沒有任何效果,核查下配置檔案:

<code>[root@linux-node1 ~]</code><code># . demo-openrc </code>

<code>[root@linux-node1 ~]</code><code># openstack keypair list</code>

<code>+-------+-------------------------------------------------+</code>

<code>| Name  | Fingerprint                                     |</code>

<code>| mykey | 1f:48:e1:77:bb:ea:ea:c8:7b:08:39:b1:96:8d:48:28 |</code>

<code>[root@linux-node1 ~]</code><code># openstack flavor list</code>

<code>+----+-----------+-------+------+-----------+-------+-----------+</code>

<code>| ID | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |</code>

<code>| 0  | m1.nano   |    64 |    1 |         0 |     1 | True      |</code>

<code>| 1  | m1.tiny   |   512 |    1 |         0 |     1 | True      |</code>

<code>| 2  | m1.small  |  2048 |   20 |         0 |     1 | True      |</code>

<code>| 3  | m1.medium |  4096 |   40 |         0 |     2 | True      |</code>

<code>| 4  | m1.large  |  8192 |   80 |         0 |     4 | True      |</code>

<code>| 5  | m1.xlarge | 16384 |  160 |         0 |     8 | True      |</code>

<code>[root@linux-node1 ~]</code><code># openstack image list</code>

<code>+--------------------------------------+--------+--------+</code>

<code>| ID                                   | Name   | Status |</code>

<code>| e2a8ac12-1a02-4f5b-bb7d-83064926ccbc | cirros | active |</code>

<code>You have new mail </code><code>in</code> <code>/var/spool/mail/root</code>

<code>[root@linux-node1 ~]</code><code># openstack network list</code>

<code>+--------------------------------------+----------+--------------------------------------+</code>

<code>| ID                                   | Name     | Subnets                              |</code>

<code>| 2d79dc77-be66-4850-af01-8e6946f16035 | provider | 270b8cca-c8bc-4413-a035-8ed9b77230b6 |</code>

<code>[root@linux-node1 ~]</code><code>#  openstack security group list</code>

<code>+--------------------------------------+---------+------------------------+-----------------------------</code>

<code>| ID                                   | Name    | Description            | Project                          |</code>

<code>+--------------------------------------+---------+------------------------+----------------------------------+</code>

<code>| eb33483e-827d-480c-8b08-776f1e3a1223 | default | Default security group | cb870d39c2f54546a3de1b64c758bb16 |</code>

<code>+--------------------------------------+---------+------------------------+----------------------------</code>

檢視錯誤日志資訊:

<code>[root@linux-node1 nova]</code><code># grep ERROR nova-api.log |tail -30</code>

<code>2017-03-14 12:52:38.675 5035 ERROR nova.api.openstack.extensions Unauthorized: Unknown auth </code><code>type</code><code>: None</code>

<code>2017-03-14 12:52:38.675 5035 ERROR nova.api.openstack.extensions </code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions [req-1d4cf44f-8b06-43e0-8392-25296b29eecb d02c78a51a72449589c8b63b51fb1c0d cb870d39c2f54546a3de1b64c758bb16 - - -] Unexpected exception </code><code>in</code> <code>API method</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions Traceback (most recent call last):</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/api/openstack/extensions.py"</code><code>, line 478, </code><code>in</code> <code>wrapped</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     </code><code>return</code> <code>f(*args, **kwargs)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/api/validation/__init__.py"</code><code>, line 73, </code><code>in</code> <code>wrapper</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     </code><code>return</code> <code>func(*args, **kwargs)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/api/openstack/compute/servers.py"</code><code>, line 629, </code><code>in</code> <code>create</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     **create_kwargs)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/hooks.py"</code><code>, line 154, </code><code>in</code> <code>inner</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     rv = f(*args, **kwargs)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/compute/api.py"</code><code>, line 1563, </code><code>in</code> <code>create</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     check_server_group_quota=check_server_group_quota)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/compute/api.py"</code><code>, line 1146, </code><code>in</code> <code>_create_instance</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     reservation_id, max_count)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/compute/api.py"</code><code>, line 873, </code><code>in</code> <code>_validate_and_build_base_options</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     pci_request_info, requested_networks)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py"</code><code>, line 1081, </code><code>in</code> <code>create_pci_requests_for_sriov_ports</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     neutron = get_client(context, admin=True)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py"</code><code>, line 141, </code><code>in</code> <code>get_client</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     _ADMIN_AUTH = _load_auth_plugin(CONF)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions   File </code><code>"/usr/lib/python2.7/site-packages/nova/network/neutronv2/api.py"</code><code>, line 122, </code><code>in</code> <code>_load_auth_plugin</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions     raise neutron_client_exc.Unauthorized(message=err_msg)</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions Unauthorized: Unknown auth </code><code>type</code><code>: None</code>

<code>2017-03-14 12:58:11.089 5035 ERROR nova.api.openstack.extensions</code>

按照報錯提示,檢查我的nova配置,檢查控制節點和計算節點,也沒發現有啥異常

<code>grep</code> <code>'ERROR'</code> <code>/var/log/nova/</code><code>*</code>

<code>grep</code> <code>'ERROR'</code> <code>/var/log/neutron/</code><code>*</code>

<code>grep</code> <code>'ERROR'</code> <code>/var/log/glance/</code><code>*</code>

<code>grep</code> <code>'ERROR'</code> <code>/var/log/keystone/</code><code>*</code>

<code></code>後來排查發現(自己在編輯neutron的時候,忘記添加rpc_backend = rabbit):

<a href="https://s4.51cto.com/wyfs02/M01/8E/A3/wKioL1jHnTzCSBW6AAATkSyN2tU976.png-wh_500x0-wm_3-wmp_4-s_4031398377.png" target="_blank"></a>

在計算節點後控制節點都添加後,重新開機neutron相關服務,然後再次執行建立雲主機的操作

<code>檢視發現雲主機已經生效</code>

<code>[root@linux-node1 ~]</code><code># openstack server list</code>

<code>+--------------------------------------+-------------------+--------+----------------------+</code>

<code>| ID                                   | Name              | Status | Networks             |</code>

<code>| 3ffb5d28-bfee-4562-bbb2-57d3956a8f0c | provider-instance | ACTIVE | provider=10.10.10.89 |</code>

在資料庫中進行核對:

<code>[root@linux-node1 ~]</code><code># mysql -unova -p</code>

<code>Enter password: </code>

<code>MariaDB [(none)]&gt; use nova;</code>

<code>MariaDB [nova]&gt; show tables;</code>

<code>+--------------------------------------------+</code>

<code>| Tables_in_nova                             |</code>

<code>| agent_builds                               |</code>

<code>| aggregate_hosts                            |</code>

<code>| aggregate_metadata                         |</code>

<code>| aggregates                                 |</code>

<code>| allocations                                |</code>

<code>| block_device_mapping                       |</code>

<code>| bw_usage_cache                             |</code>

<code>| cells                                      |</code>

<code>| certificates                               |</code>

<code>| compute_nodes                              |</code>

<code>| console_pools                              |</code>

<code>| consoles                                   |</code>

<code>| dns_domains                                |</code>

<code>| fixed_ips                                  |</code>

<code>| floating_ips                               |</code>

<code>| instance_actions                           |</code>

<code>| instance_actions_events                    |</code>

<code>| instance_extra                             |</code>

<code>| instance_faults                            |</code>

<code>| instance_group_member                      |</code>

<code>| instance_group_policy                      |</code>

<code>| instance_groups                            |</code>

<code>| instance_id_mappings                       |</code>

<code>| instance_info_caches                       |</code>

<code>| instance_metadata                          |</code>

<code>| instance_system_metadata                   |</code>

<code>| instance_type_extra_specs                  |</code>

<code>| instance_type_projects                     |</code>

<code>| instance_types                             |</code>

<code>| instances                                  |</code>

<code>| inventories                                |</code>

<code>| key_pairs                                  |</code>

<code>| migrate_version                            |</code>

<code>| migrations                                 |</code>

<code>| networks                                   |</code>

<code>| pci_devices                                |</code>

<code>| project_user_quotas                        |</code>

<code>| provider_fw_rules                          |</code>

<code>| quota_classes                              |</code>

<code>| quota_usages                               |</code>

<code>| quotas                                     |</code>

<code>| reservations                               |</code>

<code>| resource_provider_aggregates               |</code>

<code>| resource_providers                         |</code>

<code>| s3_images                                  |</code>

<code>| security_group_default_rules               |</code>

<code>| security_group_instance_association        |</code>

<code>| security_group_rules                       |</code>

<code>| security_groups                            |</code>

<code>| services                                   |</code>

<code>| shadow_agent_builds                        |</code>

<code>| shadow_aggregate_hosts                     |</code>

<code>| shadow_aggregate_metadata                  |</code>

<code>| shadow_aggregates                          |</code>

<code>| shadow_block_device_mapping                |</code>

<code>| shadow_bw_usage_cache                      |</code>

<code>| shadow_cells                               |</code>

<code>| shadow_certificates                        |</code>

<code>| shadow_compute_nodes                       |</code>

<code>| shadow_console_pools                       |</code>

<code>| shadow_consoles                            |</code>

<code>| shadow_dns_domains                         |</code>

<code>| shadow_fixed_ips                           |</code>

<code>| shadow_floating_ips                        |</code>

<code>| shadow_instance_actions                    |</code>

<code>| shadow_instance_actions_events             |</code>

<code>| shadow_instance_extra                      |</code>

<code>| shadow_instance_faults                     |</code>

<code>| shadow_instance_group_member               |</code>

<code>| shadow_instance_group_policy               |</code>

<code>| shadow_instance_groups                     |</code>

<code>| shadow_instance_id_mappings                |</code>

<code>| shadow_instance_info_caches                |</code>

<code>| shadow_instance_metadata                   |</code>

<code>| shadow_instance_system_metadata            |</code>

<code>| shadow_instance_type_extra_specs           |</code>

<code>| shadow_instance_type_projects              |</code>

<code>| shadow_instance_types                      |</code>

<code>| shadow_instances                           |</code>

<code>| shadow_key_pairs                           |</code>

<code>| shadow_migrate_version                     |</code>

<code>| shadow_migrations                          |</code>

<code>| shadow_networks                            |</code>

<code>| shadow_pci_devices                         |</code>

<code>| shadow_project_user_quotas                 |</code>

<code>| shadow_provider_fw_rules                   |</code>

<code>| shadow_quota_classes                       |</code>

<code>| shadow_quota_usages                        |</code>

<code>| shadow_quotas                              |</code>

<code>| shadow_reservations                        |</code>

<code>| shadow_s3_images                           |</code>

<code>| shadow_security_group_default_rules        |</code>

<code>| shadow_security_group_instance_association |</code>

<code>| shadow_security_group_rules                |</code>

<code>| shadow_security_groups                     |</code>

<code>| shadow_services                            |</code>

<code>| shadow_snapshot_id_mappings                |</code>

<code>| shadow_snapshots                           |</code>

<code>| shadow_task_log                            |</code>

<code>| shadow_virtual_interfaces                  |</code>

<code>| shadow_volume_id_mappings                  |</code>

<code>| shadow_volume_usage_cache                  |</code>

<code>| snapshot_id_mappings                       |</code>

<code>| snapshots                                  |</code>

<code>| tags                                       |</code>

<code>| task_log                                   |</code>

<code>| virtual_interfaces                         |</code>

<code>| volume_id_mappings                         |</code>

<code>| volume_usage_cache                         |</code>

<code>109 rows </code><code>in</code> <code>set</code> <code>(0.02 sec)</code>

<code>MariaDB [nova]&gt; </code><code>select</code> <code>uuid from instances \G;</code>

<code>*************************** 1. row ***************************</code>

<code>uuid: 3ffb5d28-bfee-4562-bbb2-57d3956a8f0c</code>

<code>*************************** 2. row ***************************</code>

<code>uuid: 55cbd36c-0308-4d9a-b43e-978680002abf</code>

<code>2 rows </code><code>in</code> <code>set</code> <code>(0.01 sec)</code>

<code>ERROR: No query specified</code>

<code>在計算節點上進行比對:</code>

<code>[root@linux-node2 nova]</code><code># virsh list --all</code>

<code> </code><code>Id    Name                           State</code>

<code>----------------------------------------------------</code>

<code> </code><code>1     instance-00000001              running</code>

<code> </code><code>2     instance-00000002              running</code>

<code>[root@linux-node2 nova]</code><code># virsh domuuid instance-00000001</code>

<code>3ffb5d28-bfee-4562-bbb2-57d3956a8f0c</code>

<code>[root@linux-node2 nova]</code><code># virsh domuuid instance-00000002</code>

<code>55cbd36c-0308-4d9a-b43e-978680002abf</code>

到此,問題得到解決,OpenStack的配置是個細心活,需要明白它的各個元件的關聯,這樣排除故障的時候會有的放矢。

本文轉自 冰凍vs西瓜 51CTO部落格,原文連結:http://blog.51cto.com/molewan/1906366,如需轉載請自行聯系原作者

繼續閱讀