← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1656854] Re: Incorrect metada in ConfigDrive when using barematal ports under neutron

 

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 <sam@xxxxxxxxxxxxxx>
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