Ask Your Question
2

instance get more than one fixed ip(grizzly-g3)

asked 2013-03-26 01:09:38 -0500

xinxin-shu gravatar image

i have install grizzly-g3, but quantum does not work well, when i boot 128 instances, i found one of instances got more than one fixed ip, howerver, when i boot 64 intances, it nerver happened, besides that , sometimes i can not ping vm with floatingip, i did not find any error message in my quantum log( all the files in the /var/log/quantum), follows are the error output and configurations

| 97a93600-38e2-4700-9851-15ef56c1d628 | slave | ACTIVE | demo-int-net=172.16.100.4 | | 99aeb6b8-4252-4839-a7d1-f87853116100 | slave | ACTIVE | demo-int-net=172.16.100.117 | | 9aa82a35-c9f1-4f44-a108-d14e74eec231 | slave | ACTIVE | demo-int-net=172.16.100.108, 172.16.100.109 | | 9b6b1289-c450-4614-b647-e5ebdffff80a | slave | ACTIVE | demo-int-net=172.16.100.5 | | 9e0d3aa5-0f15-4b24-944a-6d6c3e18ce64 | slave | ACTIVE | demo-int-net=172.16.100.35 | | 9ea62124-9128-43cc-acdd-142f1e7743d6 | slave | ACTIVE | demo-int-net=172.16.100.132 |

my setup : one db host(db service), one glance host(glance service), on api host(keystone,nova-api,nova-scheduler, nova-conductor, quantum-server,quantum-dhcp, quantum-l3-agent,quantum-plugin-openvswitch-agent), eight compute host(each host with nova-compute, quantum-plugin-openvswitch-agent), i check that all the service on all hosts works well

i used vlan type network and openvswitch plugin:

my quantum.conf

[DEFAULT]

Default log level is INFO

verbose and debug has the same result.

One of them will set DEBUG log level output

debug = True

Address to bind the API server

bind_host = 0.0.0.0

Port the bind the API server to

bind_port = 9696

Quantum plugin provider module

core_plugin =

core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2

Advanced service modules

service_plugins =

Paste configuration file

api_paste_config = /etc/quantum/api-paste.ini

The strategy to be used for auth.

Supported values are 'keystone'(default), 'noauth'.

auth_strategy = keystone

Modules of exceptions that are permitted to be recreated

upon receiving exception data from an rpc call.

allowed_rpc_exception_modules = quantum.openstack.common.exception, nova.exception

AMQP exchange to connect to if using RabbitMQ or QPID

control_exchange = quantum

RPC driver. DHCP agents needs it.

notification_driver = quantum.openstack.common.notifier.rpc_notifier

default_notification_level is used to form actual topic name(s) or to set logging level

default_notification_level = INFO

Defined in rpc_notifier, can be comma separated values.

The actual topic names will be %s.%(default_notification_level)s

notification_topics = notifications

[QUOTAS]

resource name(s) that are supported in quota features

quota_items = network,subnet,port

default number of resource allowed per tenant, minus for unlimited

default_quota = -1

number of networks allowed per tenant, and minus means unlimited

quota_network = 10

number of subnets allowed per tenant, and minus means unlimited

quota_subnet = 10

number of ports allowed per tenant, and minus means unlimited

quota_port = 5000 quota_floatingip = 5000

default driver to use for quota checks

quota_driver = quantum.quota.ConfDriver

=========== items for agent management extension =============

Seconds to regard the agent as down.

agent_down_time = 5

=========== end of items for agent management extension =====

[DEFAULT_SERVICETYPE]

Description of the default service type (optional)

description = "default service type"

Enter a service definition line for each advanced service provided

by the default service type.

Each service definition should be in the following format:

<service>:<plugin>[:driver]

[SECURITYGROUP]

If set to true this allows quantum to receive proxied security group calls from nova

proxy_mode = False

[AGENT] root_helper = sudo quantum-rootwrap /etc/quantum ... (more)

edit retag flag offensive close merge delete

31 answers

Sort by ยป oldest newest most voted
0

answered 2013-03-26 01:15:45 -0500

xinxin-shu gravatar image

ovs-vsctl show on api host

fa0399c8-2abc-4161-8a7c-18b7404f1836 Bridge br-ex Port br-ex Interface br-ex type: internal Port "qg-28ba8355-4c" Interface "qg-28ba8355-4c" type: internal Port "eth2" Interface "eth2" Bridge br-int Port "qr-a69d9f83-ff" tag: 1 Interface "qr-a69d9f83-ff" type: internal Port int-DemoBridge Interface int-DemoBridge Port "tap9d3ab4cf-59" tag: 1 Interface "tap9d3ab4cf-59" type: internal Port br-int Interface br-int type: internal Bridge DemoBridge Port "eth1" Interface "eth1" Port phy-DemoBridge Interface phy-DemoBridge Port DemoBridge Interface DemoBridge type: internal ovs_version: "1.4.3"

ovs-vsctl show on compute host

Bridge br-int Port "tapc6ab6692-92" tag: 1 Interface "tapc6ab6692-92" Port "tapdd3bbb21-1a" tag: 1 Interface "tapdd3bbb21-1a" Bridge DemoBridge Port "bond0" Interface "bond0" Port phy-DemoBridge Interface phy-DemoBridge Port DemoBridge Interface DemoBridge type: internal ovs_version: "1.4.3"

edit flag offensive delete link more
0

answered 2013-03-26 01:29:34 -0500

danwent gravatar image

the multiple IPs for a VM seems like a bug, assuming you made the same request for all VMs (which it sounds like you did).

Can you provide the output of quantum port-list (to confirm that there is also one port that has multiple IPs, not that nova is somehow associating multiple ports with the instance).

If there is a port with two IPs, can you try to reproduce this with verbose=True and debug=True, and post the log somewhere?

If not, then I'd be interesting in seeing the nova-compute log for the host running the VM with multiple IPs. Its possible that something strange is happening on the nova side to result in multiple ports being associated with a single VM.

edit flag offensive delete link more
0

answered 2013-03-26 02:27:12 -0500

xinxin-shu gravatar image

i list ports of the instance which has two fixed ips, below is output:

+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | 1b93218d-2eb2-4064-b70c-d6562724fc47 | | fa:16:3e:10:7d:8c | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.108"} | | fc44d25d-574e-4c09-a6fa-74cd522b0e3c | | fa:16:3e:66:e2:60 | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.109"} | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+

i list all networks interfaces in this vm, only find an interface with fixed ip 172.16.100.108

here is the link of nova-compute log,"http://paste.openstack.org/show/34579/"

the id of this instance is 9aa82a35-c9f1-4f44-a108-d14e74eec231

edit flag offensive delete link more
0

answered 2013-03-26 03:06:40 -0500

danwent gravatar image

To me, this says output says that 108 and 109 are actually on different ports.

Can you do a quantum show-port <port-uuid> for both fo the ports below? In particular, I want to confirm that they have the same device_id.

From the looks of it, this looks to be an issue in Nova, as quantum itself has not actually allocated multiple ips to a port. Rather, pending the output i've requested above, it seems like nova created two ports for an instance, rather than one.

Looking through your logs, there are an extremely high number of exceptions and tracebacks in your nova log. I wonder if any of those failures caused an instance to be respawned, without the quantum port for the initial creation being cleaned up.

Unfortunately, the nova-compute log seems filled with tracebacks unrelated to quantum, so its hard to isolate a possible cause of the issue you're seeing above. It seems like you have some database schema sync issues at the least. I'd suggest cleaning up these issues and seeing if you can still repro this.

Dan

On Mon, Mar 25, 2013 at 7:31 PM, shu, xinxin < question225158@answers.launchpad.net > wrote:

Question #225158 on quantum changed: https://answers.launchpad.net/quantum/+question/225158 (https://answers.launchpad.net/quantum...)

shu, xinxin posted a new comment: i list ports of the instance which has two fixed ips, below is output:

+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips |

+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | 1b93218d-2eb2-4064-b70c-d6562724fc47 | | fa:16:3e:10:7d:8c | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.108"} | | fc44d25d-574e-4c09-a6fa-74cd522b0e3c | | fa:16:3e:66:e2:60 | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.109"} |

+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+

i list all networks interfaces in this vm, only find an interface with fixed ip 172.16.100.108

here is the link of nova-compute log,"http://paste.openstack.org/show/34579/"

the id of this instance is 9aa82a35-c9f1-4f44-a108-d14e74eec231


You received this question notification because you are an answer contact for quantum.


~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dan Wendlandt Nicira, Inc: http://www.nicira.com twitter: danwendlandt ~~~~~~~~~~~~~~~~~~~~~~~~~~~

edit flag offensive delete link more
0

answered 2013-03-26 04:31:13 -0500

danwent gravatar image

during the portion of the log where you are deleting vms, i see two quantum exceptions, but they are "port not found" errors, that seem correlated to nova instance not found errors, and aren't the port-ids mentioned above, so I doubt it is related.

2013-03-26 03:58:04.965 ERROR nova.network.quantumv2.api [req-b6fe4986-507d-4735-a504-adbf4386b5bc c9ae6c830b3b4d40925e5fe23f671893 ebacbc9c99f84607920b2ac749608623] Failed to delete quantum port 03347623-a4c8-473f-bde6-845d19c0009c 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api Traceback (most recent call last): 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/nova/network/quantumv2/api.py", line 309, in deallocate_for_instance 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api quantumv2.get_client(context).delete_port(port['id']) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 102, in with_params 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api ret = self.function(instance, args, *kwargs) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 236, in delete_port 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api return self.delete(self.port_path % (port)) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 521, in delete 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api headers=headers, params=params) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 510, in retry_request 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api headers=headers, params=params) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 455, in do_request 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api self._handle_fault_response(status_code, replybody) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 436, in _handle_fault_response 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api exception_handler_v20(status_code, des_error_body) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api File "/usr/lib/python2.7/dist-packages/quantumclient/v2_0/client.py", line 75, in exception_handler_v20 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api raise exceptions.QuantumClientException(message=error_dict) 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api QuantumClientException: Port 03347623-a4c8-473f-bde6-845d19c0009c could not be found on network None 2013-03-26 03:58:04.965 1290 TRACE nova.network.quantumv2.api

edit flag offensive delete link more
0

answered 2013-03-26 05:17:56 -0500

xinxin-shu gravatar image

i clean all nova-compute.log on compute nodes, and reproduce this error output, there are two instances with multiple fixed ip,

fb356afb-49ce-4922-82c4-c8460cb8fc4c | slave | ACTIVE | demo-int-net=172.16.100.129 | | fbf44f20-27b0-4c13-8630-8fafeecff06c | slave | ACTIVE | demo-int-net=172.16.100.24 | | fd3f892e-c94a-407e-9dab-edb1c48adafc | slave | ACTIVE | demo-int-net=172.16.100.117, 172.16.100.115 | | ff04d946-1851-4050-8d02-65f4fffb42de | slave | ACTIVE | demo-int-net=172.16.100.50 | 55321d5f-9af1-4736-9599-412742f792ae | slave | ACTIVE | demo-int-net=172.16.100.64 | | 555c5198-8a44-4dee-98eb-ef704b324f8b | slave | ACTIVE | demo-int-net=172.16.100.111, 172.16.100.112 | | 557dd69b-ff73-4d67-bf48-6f860ba3b236 | slave | ACTIVE | demo-int-net=172.16.100.63 |

the compute log of instance 555c5198-8a44-4dee-98eb-ef704b324f8b is http://paste.openstack.org/show/34592/

+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | 21833908-28f0-4ec7-9497-d19eba06e209 | | fa:16:3e:e0:b3:cc | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.111"} | | 9637e6e5-673e-4443-9b0e-27f15ed3f92b | | fa:16:3e:bb:f0:f4 | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.112"} | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+

quan

edit flag offensive delete link more
0

answered 2013-03-26 05:25:02 -0500

xinxin-shu gravatar image

sorry about that i click on the wrong button, i clean all nova-compute.log on compute nodes, and reproduce this error output, there are two instances with multiple fixed ip,

fb356afb-49ce-4922-82c4-c8460cb8fc4c | slave | ACTIVE | demo-int-net=172.16.100.129 | | fbf44f20-27b0-4c13-8630-8fafeecff06c | slave | ACTIVE | demo-int-net=172.16.100.24 | | fd3f892e-c94a-407e-9dab-edb1c48adafc | slave | ACTIVE | demo-int-net=172.16.100.117, 172.16.100.115 | | ff04d946-1851-4050-8d02-65f4fffb42de | slave | ACTIVE | demo-int-net=172.16.100.50 | 55321d5f-9af1-4736-9599-412742f792ae | slave | ACTIVE | demo-int-net=172.16.100.64 | | 555c5198-8a44-4dee-98eb-ef704b324f8b | slave | ACTIVE | demo-int-net=172.16.100.111, 172.16.100.112 | | 557dd69b-ff73-4d67-bf48-6f860ba3b236 | slave | ACTIVE | demo-int-net=172.16.100.63 |

the compute log of instance 555c5198-8a44-4dee-98eb-ef704b324f8b is http://paste.openstack.org/show/34592/

+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | 21833908-28f0-4ec7-9497-d19eba06e209 | | fa:16:3e:e0:b3:cc | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.111"} | | 9637e6e5-673e-4443-9b0e-27f15ed3f92b | | fa:16:3e:bb:f0:f4 | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.112"} | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+

quantum port-show

root@kapi:/var/log/quantum# quantum port-show 21833908-28f0-4ec7-9497-d19eba06e209 +----------------------+---------------------------------------------------------------------------------------+ | Field | Value | +----------------------+---------------------------------------------------------------------------------------+ | admin_state_up | True | | binding:capabilities | {"port_filter": true} | | binding:vif_type | ovs | | device_id | 555c5198-8a44-4dee-98eb-ef704b324f8b | | device_owner | compute:None | | fixed_ips | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.111"} | | id | 21833908-28f0-4ec7-9497-d19eba06e209 | | mac_address | fa:16:3e:e0:b3:cc | | name | | | network_id | 8b933d20-f53b-40e0-a96d-67f3befb6449 | | security_groups | 065a1cba-03f8-4172-bcee-d635155b965a | | status | ACTIVE | | tenant_id | ebacbc9c99f84607920b2ac749608623 | +----------------------+---------------------------------------------------------------------------------------+

+----------------------+---------------------------------------------------------------------------------------+ | Field | Value | +----------------------+---------------------------------------------------------------------------------------+ | admin_state_up | True | | binding:capabilities | {"port_filter": true} | | binding:vif_type | ovs | | device_id | 555c5198-8a44-4dee-98eb-ef704b324f8b | | device_owner | compute:None | | fixed_ips | {"subnet_id": "24be33c7-64f9-4695-811d-33eeb4ad75da", "ip_address": "172.16.100.112"} | | id | 9637e6e5-673e-4443-9b0e-27f15ed3f92b | | mac_address | fa:16:3e:bb:f0:f4 | | name | | | network_id | 8b933d20-f53b-40e0-a96d-67f3befb6449 | | security_groups | 065a1cba-03f8-4172-bcee-d635155b965a | | status | ACTIVE | | tenant_id | ebacbc9c99f84607920b2ac749608623 | +----------------------+---------------------------------------------------------------------------------------+

from above ouput, the two ports are with same device_id. the other instance is same that two ports with same device id

edit flag offensive delete link more
0

answered 2013-03-26 07:00:48 -0500

For whatever it's worth, we have seen this issue a number of times too in our tests and I believe this was happening even prior to grizzly-3. Seems to happen when a bunch of instances are created consecutively (like in a script).

edit flag offensive delete link more
0

answered 2013-03-26 17:35:02 -0500

salvatore-orlando gravatar image

Hi Xinxin,

I do apologise, but I need to ask you more information in order to nail down this issue.

From your tests, does the total number of ports created equate the number of VMs? In other words, do you see any VM without ports, other than VMs with two ports?

I am also wondering if when Quantum creates two ports, nova also creates two VIFs. From the look of the port-show output, as both NICs are ACTIVE, this seems to be the case, but it's probably worth checking the generated libvirt XML file (or logging in into the instance and check for network interfaces)

Also, in order to understand which code paths are activated, how do you specify networks at boot? Do you use --nic network-id, --nic port-id, or you do not specify the --nic option at all?

edit flag offensive delete link more
0

answered 2013-03-26 17:42:15 -0500

I will let Xinxin report his observations, in our case I did see two network interfaces and tap devices being created:

<interface type="bridge"> <mac address="fa:16:3e:a8:fe:96"/> <model type="virtio"/> <driver name="qemu"/> <source bridge="qbr7aac0341-19"/> <target dev="tap7aac0341-19"/> <filterref filter="nova-instance-instance-00000004-fa163ea8fe96"> <parameter name="IP" value="10.194.193.4"/> <parameter name="DHCPSERVER" value="10.194.193.2"/> <parameter name="PROJNET" value="10.194.193.0"/> <parameter name="PROJMASK" value="255.255.255.0"/> </filterref> </interface> <interface type="bridge"> <mac address="fa:16:3e:9a:b9:33"/> <model type="virtio"/> <driver name="qemu"/> <source bridge="qbr7ddce382-c7"/> <target dev="tap7ddce382-c7"/> <filterref filter="nova-instance-instance-00000004-fa163e9ab933"> <parameter name="IP" value="10.194.193.5"/> <parameter name="DHCPSERVER" value="10.194.193.2"/> <parameter name="PROJNET" value="10.194.193.0"/> <parameter name="PROJMASK" value="255.255.255.0"/> </filterref> </interface>

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

2 followers

Stats

Asked: 2013-03-26 01:09:38 -0500

Seen: 499 times

Last updated: Jul 03 '13