无法创建任何网络,无论是私有网络还是公共网络:
# 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.html,http://docs.openstack.org/juno/install-guide/install/apt/content/neutron-network-node.html和http://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:冥王星错误最终无关紧要;但是,错误的接线却很重要!