Reviewed: https://review.openstack.org/422068 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b34809dfae862e37b1362b73fd258af8d12adae5 Submitter: Jenkins Branch: master
commit b34809dfae862e37b1362b73fd258af8d12adae5 Author: Sam Betts <s...@code-smash.net> Date: Tue Jan 17 12:45:21 2017 +0000 Ensure we mark baremetal links as phy links In the Ironic multi-tenant case, the neutron ports will remain unbound until later in the deploy process. Nova generates the network_data.json file with all the links marked as unbound, which we need to correct as these links will be bound after the config drive is generated and written to the node. This patch updates the Ironic virt driver to correct the network metadata. Change-Id: I1881f4a9bca6a6d6a3b4e0e89a82b0765ae09eee Closes-Bug: #1656854 ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1656854 Title: Incorrect metada in ConfigDrive when using barematal ports under neutron Status in Ironic: Invalid Status in OpenStack Compute (nova): Fix Released Status in OpenStack Compute (nova) newton series: In Progress Bug description: If baremetal instance is booted with neutron network and config drive enabled, it receives incorrect network data in network_data.json, which cause trace in cloud-init: ValueError: Unknown network_data link type: unbound All software is at Newton: ironic (1:6.2.1-0ubuntu1), nova (2:14.0.1-0ubuntu1), neutron (2:9.0.0-0ubuntu1). network_data.json content: {"services": [{"type": "dns", "address": "8.8.8.8"}], "networks": [{"network_id": "d22a675f-f89c-44ae-ae48-bb64e4b81a3d", "type": "ipv4", "netmask": "255.255.255.224", "link": "tap7d178b79-86", "routes": [{"netmask": "0.0.0.0", "network": "0.0.0.0", "gateway": "204.74.228.65"}], "ip_address": "204.74.228.75", "id": "network0"}], "links": [{"ethernet_mac_address": "18:66:da:5f:07:f4", "mtu": 1500, "type": "unbound", "id": "tap7d178b79-86", "vif_id": "7d178b79-86a9-4e56-824e-fe503e422960"}]} neutron port description: openstack port show 7d178b79-86a9-4e56-824e-fe503e422960 -f json { "status": "DOWN", "binding_profile": "local_link_information='[{u'switch_info': u'c426s1', u'port_id': u'1/1/21', u'switch_id': u'60:9c:9f:49:a8:b4'}]'", "project_id": "7d450ecf00d64399aeb93bc122cb6dae", "binding_vnic_type": "baremetal", "binding_vif_details": "", "name": "", "admin_state_up": "UP", "network_id": "d22a675f-f89c-44ae-ae48-bb64e4b81a3d", "created_at": "2017-01-16T14:32:27Z", "updated_at": "2017-01-16T14:36:22Z", "id": "7d178b79-86a9-4e56-824e-fe503e422960", "device_owner": "baremetal:none", "binding_host_id": "d02c7361-5e3a-4fdf-89b5-f29b3901f0fc", "revision_number": 7, "mac_address": "18:66:da:5f:07:f4", "binding_vif_type": "other", "device_id": "9762e013-ffb9-4512-a56d-2a11694a1de8", "fixed_ips": "ip_address='204.74.228.75', subnet_id='f41ae071-d0d8-4192-96c3-1fd73886275b'", "extra_dhcp_opts": "", "description": "" } ironic is configured for multitenancy (to use neutron): default_network_interface=neutron. neutron is configured for ML2, ML2 is configured for networking_generic_switch. Former works fine and toggle port on real switch in vlan (access) and out. Network is configured to work with vlans. Network description: openstack network show client-22-vlan -f json { "status": "ACTIVE", "router:external": "Internal", "availability_zone_hints": "", "availability_zones": "nova", "description": "", "provider:physical_network": "client", "admin_state_up": "UP", "updated_at": "2017-01-16T13:01:47Z", "created_at": "2017-01-16T12:59:10Z", "tags": [], "ipv6_address_scope": null, "provider:segmentation_id": 22, "mtu": 1500, "provider:network_type": "vlan", "revision_number": 5, "ipv4_address_scope": null, "subnets": "f41ae071-d0d8-4192-96c3-1fd73886275b", "shared": false, "project_id": "7d450ecf00d64399aeb93bc122cb6dae", "id": "d22a675f-f89c-44ae-ae48-bb64e4b81a3d", "name": "client-22-vlan" } subnet description: openstack subnet show f41ae071-d0d8-4192-96c3-1fd73886275b -f json { "service_types": [], "description": "", "enable_dhcp": false, "network_id": "d22a675f-f89c-44ae-ae48-bb64e4b81a3d", "created_at": "2017-01-16T13:01:12Z", "dns_nameservers": "8.8.8.8", "updated_at": "2017-01-16T13:01:47Z", "ipv6_ra_mode": null, "allocation_pools": "204.74.228.66-204.74.228.94", "gateway_ip": "204.74.228.65", "revision_number": 3, "ipv6_address_mode": null, "ip_version": 4, "host_routes": "", "cidr": "204.74.228.64/27", "project_id": "7d450ecf00d64399aeb93bc122cb6dae", "id": "f41ae071-d0d8-4192-96c3-1fd73886275b", "subnetpool_id": null, "name": "" } Boot command: openstack server create good --config-drive true --flavor bare-1 --image ubuntu-custom-7 --key-name keybane --nic net-id=d22a675f-f89c- 44ae-ae48-bb64e4b81a3d According to vdrok from #openstack-ironic allowed types for interface for cloud-init are: 'bridge', 'ethernet', 'hw_veb', 'hyperv', 'ovs', 'phy', 'tap', 'vhostuser', 'vif', 'bond', 'vlan' To manage notifications about this bug go to: https://bugs.launchpad.net/ironic/+bug/1656854/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp