Incorrect metada in ConfigDrive when using barematal ports under neutron
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Invalid
|
Undecided
|
Unassigned | ||
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Matt Riedemann | ||
Newton |
Fix Committed
|
Medium
|
Vasyl Saienko |
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.
network_data.json content:
{"services": [{"type": "dns", "address": "8.8.8.8"}], "networks": [{"network_id": "d22a675f-
neutron port description:
openstack port show 7d178b79-
{
"status": "DOWN",
"binding_
"project_id": "7d450ecf00d643
"binding_
"binding_
"name": "",
"admin_state_up": "UP",
"network_id": "d22a675f-
"created_at": "2017-01-
"updated_at": "2017-01-
"id": "7d178b79-
"device_owner": "baremetal:none",
"binding_
"revision_
"mac_address": "18:66:
"binding_
"device_id": "9762e013-
"fixed_ips": "ip_address=
"extra_
"description": ""
}
ironic is configured for multitenancy (to use neutron): default_
neutron is configured for ML2, ML2 is configured for networking_
Network is configured to work with vlans.
Network description:
openstack network show client-22-vlan -f json
{
"status": "ACTIVE",
"router:
"availability
"availability
"description": "",
"provider:
"admin_state_up": "UP",
"updated_at": "2017-01-
"created_at": "2017-01-
"tags": [],
"ipv6_
"provider:
"mtu": 1500,
"provider:
"revision_
"ipv4_
"subnets": "f41ae071-
"shared": false,
"project_id": "7d450ecf00d643
"id": "d22a675f-
"name": "client-22-vlan"
}
subnet description:
openstack subnet show f41ae071-
{
"service_types": [],
"description": "",
"enable_dhcp": false,
"network_id": "d22a675f-
"created_at": "2017-01-
"dns_
"updated_at": "2017-01-
"ipv6_ra_mode": null,
"allocation_
"gateway_ip": "204.74.228.65",
"revision_
"ipv6_
"ip_version": 4,
"host_routes": "",
"cidr": "204.74.228.64/27",
"project_id": "7d450ecf00d643
"id": "f41ae071-
"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=
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'
Changed in ironic: | |
status: | New → Invalid |
Changed in nova: | |
assignee: | nobody → Vasyl Saienko (vsaienko) |
status: | New → In Progress |
Changed in nova: | |
assignee: | Vasyl Saienko (vsaienko) → Tuan (tuanla) |
Changed in nova: | |
assignee: | Tuan (tuanla) → Vasyl Saienko (vsaienko) |
Changed in nova: | |
importance: | Undecided → Medium |
tags: | added: ironic metadata |
Changed in nova: | |
assignee: | Vasyl Saienko (vsaienko) → Matt Riedemann (mriedem) |
Here is an ugly and upstream-unfriendly fix, but it works for our installation (newton @ ubuntu):
https:/ /gist.github. com/amarao/ 17ecbdefd12a823 25dfeaf7ac4d268 87