Openstack Juno Qunatum Charm 14.04 版

Openstack Juno Qunatum Charm 14.04 版

无法创建任何网络,无论是私有网络还是公共网络:

# neutron net-create priv1 -v --debug
    DEBUG: keystoneclient.session REQ: curl -i -X GET http://keystone1.maas17:5000/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
    DEBUG: keystoneclient.session RESP: [200] {'date': 'Wed, 26 Nov 2014 20:25:31 GMT', 'vary': 'X-Auth-Token', 'content-length': '426', 'content-type': 'application/json', 'x-distribution': 'Ubuntu'} 
    RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}, {"base": "application/xml", "type": "application/vnd.openstack.identity-v2.0+xml"}], "id": "v2.0", "links": [{"href": "http://keystone1.maas17:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}

    DEBUG: stevedore.extension found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
    DEBUG: stevedore.extension found extension EntryPoint.parse('shell = cliff.formatters.shell:ShellFormatter')
    DEBUG: stevedore.extension found extension EntryPoint.parse('value = cliff.formatters.value:ValueFormatter')
    DEBUG: neutronclient.neutron.v2_0.network.CreateNetwork get_data(Namespace(admin_state=True, columns=[], formatter='table', max_width=0, name=u'priv1', prefix='', request_format='json', tenant_id=None, variables=[]))
    DEBUG: keystoneclient.auth.identity.v2 Making authentication request to http://keystone1.maas17:5000/v2.0/tokens
    DEBUG: keystoneclient.session REQ: curl -i -X POST http://cloudctrl1.maas17:9696/v2.0/networks.json -H "User-Agent: python-neutronclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: 678946673ed4436eb192de052323d535" -d '{"network": {"name": "priv1", "admin_state_up": true}}'
    DEBUG: keystoneclient.session RESP:
    DEBUG: keystoneclient.session Request returned failure status: 500
    ERROR: neutronclient.shell Request Failed: internal server error while processing your request. (HTTP 500) (Request-ID: req-2568911b-1ad9-4349-b1c1-3299159e25e9)
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/neutronclient/shell.py", line 691, in run_subcommand
        return run_command(cmd, cmd_parser, sub_argv)
      File "/usr/lib/python2.7/dist-packages/neutronclient/shell.py", line 90, in run_command
        return cmd.run(known_args)
      File "/usr/lib/python2.7/dist-packages/neutronclient/common/command.py", line 29, in run
        return super(OpenStackCommand, self).run(parsed_args)
      File "/usr/lib/python2.7/dist-packages/cliff/display.py", line 91, in run
        column_names, data = self.take_action(parsed_args)
      File "/usr/lib/python2.7/dist-packages/neutronclient/common/command.py", line 35, in take_action
        return self.get_data(parsed_args)
      File "/usr/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py", line 467, in get_data
        data = obj_creator(body)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 99, in with_params
        ret = self.function(instance, *args, **kwargs)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 350, in create_network
        return self.post(self.networks_path, body=body)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1326, in post
        headers=headers, params=params)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1241, in do_request
        content_type=self.content_type())
      File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 319, in do_request
        return self.request(url, method, **kwargs)
      File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 63, in request
        return self._request(url, method, body=body, headers=headers, **kwargs)
      File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 314, in _request
        **kwargs)
      File "/usr/lib/python2.7/dist-packages/keystoneclient/utils.py", line 318, in inner
        return func(*args, **kwargs)
      File "/usr/lib/python2.7/dist-packages/keystoneclient/session.py", line 339, in request
        raise exceptions.from_response(resp, method, url)
    InternalServerError: Request Failed: internal server error while processing your request. (HTTP 500) (Request-ID: req-2568911b-1ad9-4349-b1c1-3299159e25e9)
    Request Failed: internal server error while processing your request. (HTTP 500) (Request-ID: req-2568911b-1ad9-4349-b1c1-3299159e25e9)
    root@network1:/etc/neutron/plugins/ml2# 


    # neutron net-create ext-net1 --shared --router:external True --provider:physical_network external --provider:network_type gre -v --debug
    DEBUG: keystoneclient.session REQ: curl -i -X GET http://keystone1.maas17:5000/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
    DEBUG: keystoneclient.session RESP: [200] {'date': 'Wed, 26 Nov 2014 19:53:12 GMT', 'vary': 'X-Auth-Token', 'content-length': '426', 'content-type': 'application/json', 'x-distribution': 'Ubuntu'} 
    RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}, {"base": "application/xml", "type": "application/vnd.openstack.identity-v2.0+xml"}], "id": "v2.0", "links": [{"href": "http://keystone1.maas17:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}

    DEBUG: stevedore.extension found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
    DEBUG: stevedore.extension found extension EntryPoint.parse('shell = cliff.formatters.shell:ShellFormatter')
    DEBUG: stevedore.extension found extension EntryPoint.parse('value = cliff.formatters.value:ValueFormatter')
    DEBUG: neutronclient.neutron.v2_0.network.CreateNetwork get_data(Namespace(admin_state=True, columns=[], formatter='table', max_width=0, name=u'ext-net1', prefix='', request_format='json', shared=True, tenant_id=None, variables=[]))
    DEBUG: keystoneclient.auth.identity.v2 Making authentication request to http://keystone1.maas17:5000/v2.0/tokens
    DEBUG: keystoneclient.session REQ: curl -i -X POST http://cloudctrl1.maas17:9696/v2.0/networks.json -H "User-Agent: python-neutronclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: 040a237877344dc6a5f2d241af8b15cb" -d '{"network": {"router:external": "True", "name": "ext-net1", "provider:physical_network": "external", "admin_state_up": true, "shared": true, "provider:network_type": "gre"}}'
    DEBUG: keystoneclient.session RESP:
    DEBUG: keystoneclient.session Request returned failure status: 400
    ERROR: neutronclient.shell Invalid input for operation: provider:physical_network specified for gre network. (HTTP 400) (Request-ID: req-183262ab-06ea-4113-ae12-a877cbc2a804)
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/neutronclient/shell.py", line 691, in run_subcommand
        return run_command(cmd, cmd_parser, sub_argv)
      File "/usr/lib/python2.7/dist-packages/neutronclient/shell.py", line 90, in run_command
        return cmd.run(known_args)
      File "/usr/lib/python2.7/dist-packages/neutronclient/common/command.py", line 29, in run
        return super(OpenStackCommand, self).run(parsed_args)
      File "/usr/lib/python2.7/dist-packages/cliff/display.py", line 91, in run
        column_names, data = self.take_action(parsed_args)
      File "/usr/lib/python2.7/dist-packages/neutronclient/common/command.py", line 35, in take_action
        return self.get_data(parsed_args)
      File "/usr/lib/python2.7/dist-packages/neutronclient/neutron/v2_0/__init__.py", line 467, in get_data
        data = obj_creator(body)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 99, in with_params
        ret = self.function(instance, *args, **kwargs)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 350, in create_network
        return self.post(self.networks_path, body=body)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1326, in post
        headers=headers, params=params)
      File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1241, in do_request
        content_type=self.content_type())
      File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 319, in do_request
        return self.request(url, method, **kwargs)
      File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 63, in request
        return self._request(url, method, body=body, headers=headers, **kwargs)
      File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 314, in _request
        **kwargs)
      File "/usr/lib/python2.7/dist-packages/keystoneclient/utils.py", line 318, in inner
        return func(*args, **kwargs)
      File "/usr/lib/python2.7/dist-packages/keystoneclient/session.py", line 339, in request
        raise exceptions.from_response(resp, method, url)
    BadRequest: Invalid input for operation: provider:physical_network specified for gre network. (HTTP 400) (Request-ID: req-183262ab-06ea-4113-ae12-a877cbc2a804)
    Invalid input for operation: provider:physical_network specified for gre network. (HTTP 400) (Request-ID: req-183262ab-06ea-4113-ae12-a877cbc2a804)
    root@network1:/etc/neutron/plugins/ml2#

尝试了 vxlan、local、flat 等各种组合,但无济于事。据我所知,中子服务已启动并运行,例如,在网络节点上,我尝试了上述操作,结果如下:

neutron agent-list
+--------------------------------------+--------------------+----------+-------+----------------+---------------------------+
| id                                   | agent_type         | host     | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+----------+-------+----------------+---------------------------+
| 2b1fcbf4-f139-4c46-a995-f04260df9851 | Metering agent     | network1 | :-)   | True           | neutron-metering-agent    |
| 4003b4f5-698e-4536-8eaf-eafafdbf2e97 | L3 agent           | network2 | xxx   | True           | neutron-l3-agent          |
| 4615ae54-64ee-4245-893c-ad60f59c8e01 | Loadbalancer agent | network2 | xxx   | True           | neutron-lbaas-agent       |
| 5e6e8b63-e3ef-4d6f-bcdd-1df50522583f | L3 agent           | network1 | :-)   | True           | neutron-l3-agent          |
| 67d47279-7b5e-4490-ad95-7737d38f5fae | DHCP agent         | network1 | :-)   | True           | neutron-dhcp-agent        |
| 6827229d-3ad1-4e3b-982f-eada75749471 | Open vSwitch agent | network2 | xxx   | True           | neutron-openvswitch-agent |
| 85974531-5460-45fa-a107-1162476c7a5d | Open vSwitch agent | network1 | :-)   | True           | neutron-openvswitch-agent |
| 9bebaae6-372b-4261-9c2e-de90cd41655e | Loadbalancer agent | network1 | :-)   | True           | neutron-lbaas-agent       |
| b8f50df6-30b0-4de1-970a-aa30597c5989 | Metering agent     | network2 | xxx   | True           | neutron-metering-agent    |
| e4bce161-fd34-4020-a23b-6c64403fbb4b | Open vSwitch agent | compute1 | :-)   | True           | neutron-openvswitch-agent |
| ef7e1ede-6f6e-4062-868c-27ba1aae20a6 | Metadata agent     | network1 | :-)   | True           | neutron-metadata-agent    |
| ef8bf8e7-74ec-49a8-9ccc-9bae097a1a49 | Metadata agent     | network2 | xxx   | True           | neutron-metadata-agent    |
| f0cf3fa1-75d1-4065-af80-a90797420731 | DHCP agent         | network2 | xxx   | True           | neutron-dhcp-agent        |
+--------------------------------------+--------------------+----------+-------+----------------+---------------------------+

(network2 是我的第二个中子节点,现在已被删除。)所有扩展似乎也存在:

# neutron ext-list 
+-----------------------+-----------------------------------------------+
| alias                 | name                                          |
+-----------------------+-----------------------------------------------+
| vpnaas                | VPN service                                   |
| service-type          | Neutron Service Type Management               |
| ext-gw-mode           | Neutron L3 Configurable external gateway mode |
| l3_agent_scheduler    | L3 Agent Scheduler                            |
| lbaas_agent_scheduler | Loadbalancer Agent Scheduler                  |
| fwaas                 | Firewall service                              |
| binding               | Port Binding                                  |
| metering              | Neutron Metering                              |
| agent                 | agent                                         |
| quotas                | Quota management support                      |
| dhcp_agent_scheduler  | DHCP Agent Scheduler                          |
| l3-ha                 | HA Router extension                           |
| multi-provider        | Multi Provider Network                        |
| external-net          | Neutron external network                      |
| router                | Neutron L3 Router                             |
| dvr                   | Distributed Virtual Router                    |
| extra_dhcp_opt        | Neutron Extra DHCP opts                       |
| provider              | Provider Network                              |
| lbaas                 | LoadBalancing service                         |
| extraroute            | Neutron Extra Route                           |
+-----------------------+-----------------------------------------------+

浏览了所有 juju 生成的配置文件,并将它们与http://docs.openstack.org/juno/install-guide/install/apt/content/neutron-controller-node.htmlhttp://docs.openstack.org/juno/install-guide/install/apt/content/neutron-network-node.htmlhttp://docs.openstack.org/juno/install-guide/install/apt/content/neutron-compute-node.html。它们大致相同。突出的是“rpc_backend”变量,但它似乎与此错误无关。
有什么想法吗?

干杯,

编辑 1:事实证明,量子魅力使用的是旧的 Icehouse mysql 表,需要将其更新到 Juno。因此,在云控制器节点上,执行以下操作:

neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini stamp icehouse
neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade juno

http://www.gossamer-threads.com/lists/openstack/dev/42055了解详情。这将解决私有网络创建部分,即

# neutron net-create priv1 -v --debug
DEBUG: keystoneclient.session REQ: curl -i -X GET http://keystone1.maas17:5000/v2.0 -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
DEBUG: keystoneclient.session RESP: [200] {'date': 'Wed, 26 Nov 2014 21:37:43 GMT', 'vary': 'X-Auth-Token', 'content-length': '426', 'content-type': 'application/json', 'x-distribution': 'Ubuntu'} 
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}, {"base": "application/xml", "type": "application/vnd.openstack.identity-v2.0+xml"}], "id": "v2.0", "links": [{"href": "http://keystone1.maas17:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}

DEBUG: stevedore.extension found extension EntryPoint.parse('table = cliff.formatters.table:TableFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('shell = cliff.formatters.shell:ShellFormatter')
DEBUG: stevedore.extension found extension EntryPoint.parse('value = cliff.formatters.value:ValueFormatter')
DEBUG: neutronclient.neutron.v2_0.network.CreateNetwork get_data(Namespace(admin_state=True, columns=[], formatter='table', max_width=0, name=u'priv1', prefix='', request_format='json', tenant_id=None, variables=[]))
DEBUG: keystoneclient.auth.identity.v2 Making authentication request to http://keystone1.maas17:5000/v2.0/tokens
DEBUG: keystoneclient.session REQ: curl -i -X POST http://cloudctrl1.maas17:9696/v2.0/networks.json -H "User-Agent: python-neutronclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: 7f15b7c51f92430db05fd8c8c95e6651" -d '{"network": {"name": "priv1", "admin_state_up": true}}'
DEBUG: keystoneclient.session RESP: [201] {'date': 'Wed, 26 Nov 2014 21:37:42 GMT', 'content-length': '325', 'content-type': 'application/json; charset=UTF-8', 'x-openstack-request-id': 'req-44115e75-7f54-4561-a891-69fcf39bd7a7'} 
RESP BODY: {"network": {"status": "ACTIVE", "subnets": [], "name": "priv1", "provider:physical_network": null, "admin_state_up": true, "tenant_id": "0193ec8604554ee98904468f0ddea146", "provider:network_type": "gre", "router:external": false, "shared": false, "id": "3ac7737a-25c2-4881-8c2e-d4f105d6acde", "provider:segmentation_id": 1}}

Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 3ac7737a-25c2-4881-8c2e-d4f105d6acde |
| name                      | priv1                                |
| provider:network_type     | gre                                  |
| provider:physical_network |                                      |
| provider:segmentation_id  | 1                                    |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tenant_id                 | 0193ec8604554ee98904468f0ddea146     |
+---------------------------+--------------------------------------+

不幸的是,外部网络的问题仍然存在

编辑 2:这是创建外部网络的一种解决方法。首先通过 cli 创建私有网络,然后通过 web gui 将其属性更改为共享和公共!其余的网络创建活动,按照http://docs.openstack.org/juno/install-guide/install/apt/content/neutron-initial-networks.html,似乎进展顺利。但是,无法 ping 通外部网关。在 GUI 上,它的状态为关闭,我在 vpn_agent.log 中收到以下内容:

2014-11-26 22:04:00.003 12736 ERROR neutron.agent.linux.utils [-] 
Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-95a43742-f822-4e66-839c-3c3b12e00de3', 'ipsec', 'whack', '--ctlbase', '/var/lib/neutron/ipsec/95a43742-f822-4e66-839c-3c3b12e00de3/var/run/pluto', '--status']
Exit code: 1
Stdout: ''
Stderr: 'whack: Pluto is not running (no "/var/lib/neutron/ipsec/95a43742-f822-4e66-839c-3c3b12e00de3/var/run/pluto.ctl")\n'
2014-11-26 22:05:00.525 12736 ERROR neutron.agent.linux.utils [-] 
Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-95a43742-f822-4e66-839c-3c3b12e00de3', 'ipsec', 'whack', '--ctlbase', '/var/lib/neutron/ipsec/95a43742-f822-4e66-839c-3c3b12e00de3/var/run/pluto', '--status']
Exit code: 1
Stdout: ''
Stderr: 'whack: Pluto is not running (no "/var/lib/neutron/ipsec/95a43742-f822-4e66-839c-3c3b12e00de3/var/run/pluto.ctl")\n'

编辑 3:冥王星错误最终无关紧要;但是,错误的接线却很重要!

相关内容