VM instance can not obtain IP address under neutron

Asked by silvermyth

Hello, everyone!

I have ran into a critical issue that block my open stack(Havana) delopyment. After i installed and configured a neutron network, VM instances can not obtain IP address. After i viewd openvswitch-agent.log, i found the following error:

2013-11-21 10:15:35.870 17714 ERROR neutron.openstack.common.rpc.amqp [-] Exception during message handling
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp Traceback (most recent call last):
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/neutron/openstack/common/rpc/amqp.py", line 438, in _process_data
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp **args)
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/neutron/openstack/common/rpc/dispatcher.py", line 172, in dispatch
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp result = getattr(proxyobj, method)(ctxt, **kwargs)
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py", line 290, in port_update
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp self.sg_agent.refresh_firewall()
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp AttributeError: 'NoneType' object has no attribute 'refresh_firewall'
2013-11-21 10:15:35.870 17714 TRACE neutron.openstack.common.rpc.amqp
2013-11-21 10:15:36.424 17714 ERROR neutron.agent.linux.ovs_lib [-] Unable to execute ['ovs-ofctl', 'add-flow', 'br-tun', 'hard_timeout=0,idle_timeout=0,priority=1,in_port=-1,actions=resubmit(,2)']. Exception:
Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-ofctl', 'add-flow', 'br-tun', 'hard_timeout=0,idle_timeout=0,priority=1,in_port=-1,actions=resubmit(,2)']
Exit code: 1
Stdout: ''
Stderr: 'ovs-ofctl: -1: negative values not supported for in_port\n'

Regarding this issue, i found a solution from the answers in open stack community; that is to install "openvswitch-datapath-dkms", but after the installation, nova can not work. If you type "nova list" command, an error message will popup. I tried the command "nova --debug list" and followings are response:

REQ: curl -i http://controller:8774/v2/0faaa3b6da354012981107cb4bb93ec3/servers/detail -X GET -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: MIIIJAYJKoZIhvcNAQcCoIIIFTCCCBECAQExCTAHBgUrDgMCGjCCBnoGCSqGSIb3DQEHAaCCBmsEggZneyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxMy0xMS0yMVQwMjo0NjowMy4xOTI1OTYiLCAiZXhwaXJlcyI6ICIyMDEzLTExLTIyVDAyOjQ2OjAzWiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogIkFkbWluIFRlbmFudCIsICJlbmFibGVkIjogdHJ1ZSwgImlkIjogIjBmYWFhM2I2ZGEzNTQwMTI5ODExMDdjYjRiYjkzZWMzIiwgIm5hbWUiOiAiYWRtaW4ifX0sICJzZXJ2aWNlQ2F0YWxvZyI6IFt7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly9jb250cm9sbGVyOjkyOTIiLCAicmVnaW9uIjogInJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vY29udHJvbGxlcjo5MjkyIiwgImlkIjogIjM0Y2E0M2U4NDJmMDQ1YzlhNDMyMTcyMDZmZGVjMTIyIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vY29udHJvbGxlcjo5MjkyIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImltYWdlIiwgIm5hbWUiOiAiZ2xhbmNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovL2NvbnRyb2xsZXI6ODc3NC92Mi8wZmFhYTNiNmRhMzU0MDEyOTgxMTA3Y2I0YmI5M2VjMyIsICJyZWdpb24iOiAicmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly9jb250cm9sbGVyOjg3NzQvdjIvMGZhYWEzYjZkYTM1N DAxMjk4MTEwN2NiNGJiOTNlYzMiLCAiaWQiOiAiNTYwMTA1NTk0NGQ3NGRmOTk1NGZkODllMjc1NThlMWEiLCAicHVibGljVVJMIjogImh0dHA6Ly9jb250cm9sbGVyOjg3NzQvdjIvMGZhYWEzYjZkYTM1NDAxMjk4MTEwN2NiNGJiOTNlYzMifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiY29tcHV0ZSIsICJuYW1lIjogIm5vdmEifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vbmV0d29yazo5Njk2IiwgInJlZ2lvbiI6ICJyZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovL25ldHdvcms6OTY5NiIsICJpZCI6ICJhZDQ2MzhjOGY2NzE0OTgxOGRmMjNkMTkzOTIwYjk5MCIsICJwdWJsaWNVUkwiOiAiaHR0cDovL25ldHdvcms6OTY5NiJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJuZXR3b3JrIiwgIm5hbWUiOiAibmV1dHJvbiJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly9jb250cm9sbGVyOjM1MzU3L3YyLjAiLCAicmVnaW9uIjogInJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vY29udHJvbGxlcjo1MDAwL3YyLjAiLCAiaWQiOiAiNGNjN2ZjY2QxNjMzNDJiYzkyMTFhNWJlZjI0YjliYjUiLCAicHVibGljVVJMIjogImh0dHA6Ly9jb250cm9sbGVyOjUwMDAvdjIuMCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJpZGVudGl0eSIsICJuYW1lIjogImtleXN0b25lIn1dLCAidXNlciI6IHsidXN lcm5hbWUiOiAiYWRtaW4iLCAicm9sZXNfbGlua3MiOiBbXSwgImlkIjogImFmNGE4ZGNlYTI1MTQzYWNhMTg4NmI3Y2NjMzQ3MmZjIiwgInJvbGVzIjogW3sibmFtZSI6ICJhZG1pbiJ9XSwgIm5hbWUiOiAiYWRtaW4ifSwgIm1ldGFkYXRhIjogeyJpc19hZG1pbiI6IDAsICJyb2xlcyI6IFsiNmNlYWJkMzU3ZGJiNDQyNzkwYWEzYTM1MWY3MDM3NjciXX19fTGCAYEwggF9AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVVuc2V0MQ4wDAYDVQQHDAVVbnNldDEOMAwGA1UECgwFVW5zZXQxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASCAQB0bT9E1WJL0kkNut6vn-C3pfqM9neHnP3qtrXhmyrw5hzOXP+UfFN-ghTF27dX44MR0LapzAIxQvnNnnlcdlUYdWqLWBd2THAwixLDro-VNWYe6cDRV1U5fFXIsFHGNAGwmT25HvrI04jOqVzRBPDQtPvAGCxPniCixMIeJWfqTuB7jtdJ8+YS3MCttrozbHwxoenE-KV8JzAUP33hMDmOIMWDxLQi3bUwKTSXd-lHIiNEVBdPHfPci1snDmI72L3EhnYBCnNm1msMM-2Uxj8Q7zMwI4hk1mQkknKpHHkh+R+w1FForpwOOzQsEsHkEiiD52-hgA4k6BtpC6WkoyaJ"

INFO (connectionpool:202) Starting new HTTP connection (1): controller
DEBUG (connectionpool:296) "GET /v2/0faaa3b6da354012981107cb4bb93ec3/servers/detail HTTP/1.1" 500 128
RESP: [500] CaseInsensitiveDict({'date': 'Thu, 21 Nov 2013 02:46:03 GMT', 'content-length': '128', 'content-type': 'application/json; charset=UTF-8', 'x-compute-request-id': 'req-cbabb54d-c705-488f-a724-09279d11f093'})
RESP BODY: {"computeFault": {"message": "The server has either erred or is incapable of performing the requested operation.", "code": 500}}

DEBUG (shell:740) The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-cbabb54d-c705-488f-a724-09279d11f093)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 737, in main
    OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
  File "/usr/lib/python2.7/dist-packages/novaclient/shell.py", line 673, in main
    args.func(self.cs, args)
  File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/shell.py", line 1129, in do_list
    servers = cs.servers.list(search_opts=search_opts)
  File "/usr/lib/python2.7/dist-packages/novaclient/v1_1/servers.py", line 404, in list
    return self._list("/servers%s%s" % (detail, query_string), "servers")
  File "/usr/lib/python2.7/dist-packages/novaclient/base.py", line 61, in _list
    _resp, body = self.api.client.get(url)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 229, in get
    return self._cs_request(url, 'GET', **kwargs)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 213, in _cs_request
    **kwargs)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 195, in _time_request
    resp, body = self.request(url, method, **kwargs)
  File "/usr/lib/python2.7/dist-packages/novaclient/client.py", line 189, in request
    raise exceptions.from_response(resp, body, url, method)
ClientException: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-cbabb54d-c705-488f-a724-09279d11f093)
ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-cbabb54d-c705-488f-a724-09279d11f093)

There is an error in nova-api log:
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack Traceback (most recent call last):
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 119, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack return req.get_response(self.application)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack application, catch_exc_info=False)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", line 539, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack return self.app(env, start_response)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack response = self.app(environ, start_response)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack return resp(environ, start_response)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 917, in __call__
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack content_type, body, accept)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 1002, in _process_stack
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack request, action_args)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 890, in post_process_extensions
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack **action_args)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/security_groups.py", line 583, in detail
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack self._extend_servers(req, list(resp_obj.obj['servers']))
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/security_groups.py", line 533, in _extend_servers
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack .get_instances_security_groups_bindings(context))
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/network/security_group/neutron_driver.py", line 288, in get_instances_security_groups_bindings
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack security_groups = neutron.list_security_groups().get('security_groups')
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 108, in with_params
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack ret = self.function(instance, *args, **kwargs)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 466, in list_security_groups
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack retrieve_all, **_params)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1197, in list
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack for r in self._pagination(collection, path, **params):
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1210, in _pagination
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack res = self.get(path, params=params)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1183, in get
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack headers=headers, params=params)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1168, in retry_request
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack headers=headers, params=params)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1111, in do_request
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack self._handle_fault_response(status_code, replybody)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 1081, in _handle_fault_response
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack exception_handler_v20(status_code, des_error_body)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 88, in exception_handler_v20
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack message=message)
2013-11-21 11:53:13.195 2392 TRACE nova.api.openstack NeutronClientException: 404 Not Found

It seems that the package "openvswitch-datapath-dkms" leads to unavalibility of nova. I am been stuck here for several days. Would you like to give me some ideas?

Question information

Language:
English Edit question
Status:
Answered
For:
neutron Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Xiang Hui (xianghui) said :
#1

Hi ,
try to config :

[securitygroup]
# Firewall driver for realizing neutron security group function.
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

in file: /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.in

Revision history for this message
cinghu (yige2008123) said :
#2

This method can not reslove this question

Hi ,
try to config :

[securitygroup]
# Firewall driver for realizing neutron security group function.
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

in file: /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.in

Can you help with this problem?

Provide an answer of your own, or ask silvermyth for more information if necessary.

To post a message you must log in.