yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #61075
[Bug 1656010] Re: Incorrect notification to nova about ironic baremetall port (for nodes in 'cleaning' state)
Reviewed: https://review.openstack.org/424248
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=cbdf5076d37df61d2e9c46a0a73c7ad65652b866
Submitter: Jenkins
Branch: master
commit cbdf5076d37df61d2e9c46a0a73c7ad65652b866
Author: Sam Betts <sam@xxxxxxxxxxxxxx>
Date: Mon Jan 23 17:08:35 2017 +0000
Don't override device_owner for tenant network ports
When a vif is passed to us from nova as a tenant port we shouldn't
change the device_owner or device_id because that is what links the port
to the nova instance. This enables the neutron nova notifier to trigger
the correct events in nova for when the neutron port changes, e.g. being
deleted, triggers the detach interface endpoint.
Change-Id: I43c3af9f424a65211ef5a39f13e4810072997339
Closes-Bug: #1656010
** Changed in: ironic
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1656010
Title:
Incorrect notification to nova about ironic baremetall port (for nodes
in 'cleaning' state)
Status in Ironic:
Fix Released
Status in neutron:
In Progress
Status in ironic package in Ubuntu:
New
Status in neutron package in Ubuntu:
New
Bug description:
version: newton (2:9.0.0-0ubuntu1~cloud0)
When neutron trying to bind port for Ironic baremetall node, it
sending wrong notification to nova about port been ready. neutron send
it with 'device_id' == ironic-node-id, and nova rejects it as 'not
found' (there is no nova instance with such id).
Log:
neutron.db.provisioning_blocks[22265]: DEBUG Provisioning for port db3766ad-f82b-437d-b8b2-4133a92b1b86 completed by entity DHCP. [req-49434e88-4952-4e9d-a1c4-41dbf6c0091a - - - - -] provisioning_complete /usr/lib/python2.7/dist-packages/neutron/db/provisioning_blocks.py:147
neutron.db.provisioning_blocks[22265]: DEBUG Provisioning complete for port db3766ad-f82b-437d-b8b2-4133a92b1b86 [req-49434e88-4952-4e9d-a1c4-41dbf6c0091a - - - - -] provisioning_complete /usr/lib/python2.7/dist-packages/neutron/db/provisioning_blocks.py:153
neutron.callbacks.manager[22265]: DEBUG Notify callbacks [('neutron.plugins.ml2.plugin.Ml2Plugin._port_provisioned--9223372036854150578', <bound method Ml2Plugin._port_provisioned of <neutron.plugins.ml2.plugin.Ml2Plugin object at 0x7fc005834550>>)] for port, provisioning_complete [req-49434e88-4952-4e9d-a1c4-41dbf6c0091a - - - - -] _notify_loop /usr/lib/python2.7/dist-packages/neutron/callbacks/manager.py:142
neutron.plugins.ml2.plugin[22265]: DEBUG Port db3766ad-f82b-437d-b8b2-4133a92b1b86 cannot update to ACTIVE because it is not bound. [req-49434e88-4952-4e9d-a1c4-41dbf6c0091a - - - - -] _port_provisioned /usr/lib/python2.7/dist-packages/neutron/plugins/ml2/plugin.py:224
oslo_messaging._drivers.amqpdriver[22265]: DEBUG sending reply msg_id: 254703530cd3440584c980d72ed93011 reply queue: reply_8b6e70ad5191401a9512147c4e94ca71 time elapsed: 0.0452275519492s [req-49434e88-4952-4e9d-a1c4-41dbf6c0091a - - - - -] _send_reply /usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:73
neutron.notifiers.nova[22263]: DEBUG Sending events: [{'name': 'network-changed', 'server_uuid': u'd02c7361-5e3a-4fdf-89b5-f29b3901f0fc'}] send_events /usr/lib/python2.7/dist-packages/neutron/notifiers/nova.py:257
novaclient.v2.client[22263]: DEBUG REQ: curl -g -i --insecure -X POST http://nova-api.p.ironic-dal-1.servers.com:28774/v2/93c697ef6c2649eb9966900a8d6a73d8/os-server-external-events -H "User-Agent: python-novaclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}592539c9fcd820d7e369ea58454ee17fe7084d5e" -d '{"events": [{"name": "network-changed", "server_uuid": "d02c7361-5e3a-4fdf-89b5-f29b3901f0fc"}]}' _http_log_request /usr/lib/python2.7/dist-packages/keystoneauth1/session.py:337
novaclient.v2.client[22263]: DEBUG RESP: [404] Content-Type: application/json; charset=UTF-8 Content-Length: 78 X-Compute-Request-Id: req-a029af9e-e460-476f-9993-4551f3b210d6 Date: Thu, 12 Jan 2017 15:43:37 GMT Connection: keep-alive
RESP BODY: {"itemNotFound": {"message": "No instances found for any event", "code": 404}}
_http_log_response /usr/lib/python2.7/dist-packages/keystoneauth1/session.py:366
novaclient.v2.client[22263]: DEBUG POST call to compute for http://nova-api.p.ironic-dal-1.servers.com:28774/v2/93c697ef6c2649eb9966900a8d6a73d8/os-server-external-events used request id req-a029af9e-e460-476f-9993-4551f3b210d6 _log_request_id /usr/lib/python2.7/dist-packages/novaclient/client.py:85
neutron.notifiers.nova[22263]: DEBUG Nova returned NotFound for event: [{'name': 'network-changed', 'server_uuid': u'd02c7361-5e3a-4fdf-89b5-f29b3901f0fc'}] send_events /usr/lib/python2.7/dist-packages/neutron/notifiers/nova.py:263
oslo_messaging._drivers.amqpdriver[22265]: DEBUG received message msg_id: 0bf04ac8fedd4234bd6cd6c04547beca reply to reply_8b6e70ad5191401a9512147c4e94ca71 __call__ /usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py:194
neutron.db.provisioning_blocks[22265]: DEBUG Provisioning complete for port db3766ad-f82b-437d-b8b2-4133a92b1b86 [req-47c505d7-4eb5-4c71-9656-9e0927408822 - - - - -] provisioning_complete /usr/lib/python2.7/dist-packages/neutron/db/provisioning_blocks.py:153
Port info:
+---------------------+---------------------------------------------------------------------------------------+
| Field | Value |
+---------------------+---------------------------------------------------------------------------------------+
| admin_state_up | True |
| binding:host_id | d02c7361-5e3a-4fdf-89b5-f29b3901f0fc |
| binding:profile | {"local_link_information": [{"switch_info": "c426s1", "port_id": "1/1/21", |
| | "switch_id": "60:96:9f:69:b4:b4"}]} |
| binding:vif_details | {} |
| binding:vif_type | binding_failed |
| binding:vnic_type | baremetal |
| created_at | 2017-01-12T15:23:36Z |
| description | |
| device_id | d02c7361-5e3a-4fdf-89b5-f29b3901f0fc |
| device_owner | baremetal:none |
| extra_dhcp_opts | {"opt_value": "204.74.228.4", "ip_version": 4, "opt_name": "tftp-server"} |
| | {"opt_value": "204.74.228.4", "ip_version": 4, "opt_name": "server-ip-address"} |
| | {"opt_value": "pxelinux.0", "ip_version": 4, "opt_name": "bootfile-name"} |
| fixed_ips | {"subnet_id": "5402755a-0d8b-447d-9753-f3ba1ec39c22", "ip_address": "hidden"} |
| id | bc46cbdf-a82e-409d-9332-9eeb81aa0a94 |
| mac_address | 18:66:ee:aa:dd:cc |
| name | |
| network_id | 4b352ae7-141b-4c3f-a132-f5c006dc056c |
| project_id | 7d450ecf00d64399aeb93bc122cb6dae |
| revision_number | 8 |
| status | DOWN |
| tenant_id | 7d450ecf00d64399aeb93bc122cb6dae |
| updated_at | 2017-01-12T15:23:37Z |
+---------------------+---------------------------------------------------------------------------------
ironic node:
ironic node-list
/usr/lib/python2.7/dist-packages/urllib3/connection.py:303: SubjectAltNameWarning: Certificate for baremetal.ironic-dal-1.mgm.servers.com has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
SubjectAltNameWarning
+--------------------------------------+-------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+-------+---------------+-------------+--------------------+-------------+
| d02c7361-5e3a-4fdf-89b5-f29b3901f0fc | s8002 | None | power on | clean wait | True |
+--------------------------------------+-------+---------------+-------------+--------------------+-------------+
To manage notifications about this bug go to:
https://bugs.launchpad.net/ironic/+bug/1656010/+subscriptions
References