Activity log for bug #1599836

Date Who What changed Old value New value Message
2016-07-07 12:19:31 Vasyl Saienko bug added bug
2016-07-07 12:19:50 Vasyl Saienko bug task added nova
2016-07-07 12:20:00 Vasyl Saienko bug task added neutron
2016-07-07 12:28:02 Vasyl Saienko description When booting ironic instance in flat network, neutron port always ramain in down state since it is not bound. When booting ironic instance in flat network, neutron port always ramain in down state since it is not bound. stack@vsaienko-ironic-neutron-poller:~$ neutron port-show 6cabc468-8828-4ca3-89e3-4d99a9018f03 +-----------------------+----------------------------------------------------------------------------------------------------------+ | Field | Value | +-----------------------+----------------------------------------------------------------------------------------------------------+ | admin_state_up | True | | allowed_address_pairs | | | binding:host_id | vsaienko-ironic-neutron-poller | | binding:profile | {} | | binding:vif_details | {"port_filter": true, "ovs_hybrid_plug": true} | | binding:vif_type | ovs | | binding:vnic_type | normal | | created_at | 2016-07-07T07:32:05 | | description | | | device_id | 0a03a565-f3dd-4ad1-94e1-e1754b718ea0 | | device_owner | compute:None | | extra_dhcp_opts | {"opt_value": "undionly.kpxe", "ip_version": 4, "opt_name": "tag:!ipxe,bootfile-name"} | | | {"opt_value": "10.11.0.51", "ip_version": 4, "opt_name": "tftp-server"} | | | {"opt_value": "10.11.0.51", "ip_version": 4, "opt_name": "server-ip-address"} | | | {"opt_value": "http://10.11.0.51:3928/boot.ipxe", "ip_version": 4, "opt_name": "tag:ipxe,bootfile-name"} | | fixed_ips | {"subnet_id": "17ab9d45-2b7e-4d71-8bb8-f76d5edbdce0", "ip_address": "10.20.30.12"} | | id | 6cabc468-8828-4ca3-89e3-4d99a9018f03 | | mac_address | 52:54:00:d9:9e:d8 | | name | | | network_id | b5587303-c13c-4245-9cb0-04de3443b84b | | port_security_enabled | True | | security_groups | edd667ef-3806-47d9-b33b-1ee8af5d100d | | status | DOWN | | tenant_id | fd9f6a00f3a849b9bbd80ced82749c16 | | updated_at | 2016-07-07T07:32:07 | +-----------------------+----------------------------------------------------------------------------------------------------------+ stack@vsaienko-ironic-neutron-poller:~$ grep 6cabc468-8828-4ca3-89e3-4d99a9018f03 new/q-agt.log 2016-07-07 03:32:08.086 7799 DEBUG neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-79c54446-c81a-4f11-ba96-1ec2697b102c neutron -] port_update message processed for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 port_update /opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py:418 2016-07-07 03:32:15.215 7799 DEBUG neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-f1621527-14a9-4adf-830a-196e0ceb33fc admin -] port_update message processed for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 port_update /opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py:418 q-svc.log http://paste.openstack.org/show/526918/: 2016-07-07 03:32:06.931 7807 DEBUG neutron.db.provisioning_blocks [req-80057833-83bd-4295-8102-b9a0eb1307c3 - -] Provisioning complete for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 provisioning_complete /opt/stack/neutron/neutron/db/provisioning_blocks.py:149 2016-07-07 03:32:06.959 7807 DEBUG neutron.plugins.ml2.plugin [req-80057833-83bd-4295-8102-b9a0eb1307c3 - -] Port 6cabc468-8828-4ca3-89e3-4d99a9018f03 cannot update to ACTIVE because it is not bound. _port_provisioned The reason why it is happening is next. 1. Nova allocates networks for instance. Neutron port is created with vnic_type: normal 2. Neutron ovs agent that responds for binding this vnic type can't bind port, since de facto instance lives on dedicated hardware server. As result port remains unbound. 3. Neutron don't move port to ACTIVE, since it is unbound. How to fix it: 1. Create neutron port for Ironic instance with vnic_type: baremetal 2. Implement neutron driver, that will perform fake binding of baremetal port. (If network if flat just set that port is bound, no need to perform any operations, since hardware server is already plugged to this network)
2016-07-07 14:03:36 John Garbutt tags neutron
2016-07-07 14:03:43 John Garbutt nova: assignee John Garbutt (johngarbutt)
2016-07-07 14:03:48 John Garbutt nova: importance Undecided High
2016-07-07 14:03:53 John Garbutt nova: status New Triaged
2016-07-07 16:43:06 OpenStack Infra nova: status Triaged In Progress
2016-07-07 16:43:06 OpenStack Infra nova: assignee John Garbutt (johngarbutt) Vasyl Saienko (vsaienko)
2016-07-07 17:12:14 OpenStack Infra nova: assignee Vasyl Saienko (vsaienko) John Garbutt (johngarbutt)
2016-07-08 13:08:41 Vasyl Saienko bug task deleted ironic
2016-07-11 11:13:37 OpenStack Infra nova: assignee John Garbutt (johngarbutt) Vasyl Saienko (vsaienko)
2016-07-20 14:11:02 Vasyl Saienko neutron: assignee Vasyl Saienko (vsaienko)
2016-09-26 21:08:25 John L. Villalovos tags neutron ironic neutron
2016-10-03 17:37:23 John L. Villalovos description When booting ironic instance in flat network, neutron port always ramain in down state since it is not bound. stack@vsaienko-ironic-neutron-poller:~$ neutron port-show 6cabc468-8828-4ca3-89e3-4d99a9018f03 +-----------------------+----------------------------------------------------------------------------------------------------------+ | Field | Value | +-----------------------+----------------------------------------------------------------------------------------------------------+ | admin_state_up | True | | allowed_address_pairs | | | binding:host_id | vsaienko-ironic-neutron-poller | | binding:profile | {} | | binding:vif_details | {"port_filter": true, "ovs_hybrid_plug": true} | | binding:vif_type | ovs | | binding:vnic_type | normal | | created_at | 2016-07-07T07:32:05 | | description | | | device_id | 0a03a565-f3dd-4ad1-94e1-e1754b718ea0 | | device_owner | compute:None | | extra_dhcp_opts | {"opt_value": "undionly.kpxe", "ip_version": 4, "opt_name": "tag:!ipxe,bootfile-name"} | | | {"opt_value": "10.11.0.51", "ip_version": 4, "opt_name": "tftp-server"} | | | {"opt_value": "10.11.0.51", "ip_version": 4, "opt_name": "server-ip-address"} | | | {"opt_value": "http://10.11.0.51:3928/boot.ipxe", "ip_version": 4, "opt_name": "tag:ipxe,bootfile-name"} | | fixed_ips | {"subnet_id": "17ab9d45-2b7e-4d71-8bb8-f76d5edbdce0", "ip_address": "10.20.30.12"} | | id | 6cabc468-8828-4ca3-89e3-4d99a9018f03 | | mac_address | 52:54:00:d9:9e:d8 | | name | | | network_id | b5587303-c13c-4245-9cb0-04de3443b84b | | port_security_enabled | True | | security_groups | edd667ef-3806-47d9-b33b-1ee8af5d100d | | status | DOWN | | tenant_id | fd9f6a00f3a849b9bbd80ced82749c16 | | updated_at | 2016-07-07T07:32:07 | +-----------------------+----------------------------------------------------------------------------------------------------------+ stack@vsaienko-ironic-neutron-poller:~$ grep 6cabc468-8828-4ca3-89e3-4d99a9018f03 new/q-agt.log 2016-07-07 03:32:08.086 7799 DEBUG neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-79c54446-c81a-4f11-ba96-1ec2697b102c neutron -] port_update message processed for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 port_update /opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py:418 2016-07-07 03:32:15.215 7799 DEBUG neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-f1621527-14a9-4adf-830a-196e0ceb33fc admin -] port_update message processed for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 port_update /opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py:418 q-svc.log http://paste.openstack.org/show/526918/: 2016-07-07 03:32:06.931 7807 DEBUG neutron.db.provisioning_blocks [req-80057833-83bd-4295-8102-b9a0eb1307c3 - -] Provisioning complete for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 provisioning_complete /opt/stack/neutron/neutron/db/provisioning_blocks.py:149 2016-07-07 03:32:06.959 7807 DEBUG neutron.plugins.ml2.plugin [req-80057833-83bd-4295-8102-b9a0eb1307c3 - -] Port 6cabc468-8828-4ca3-89e3-4d99a9018f03 cannot update to ACTIVE because it is not bound. _port_provisioned The reason why it is happening is next. 1. Nova allocates networks for instance. Neutron port is created with vnic_type: normal 2. Neutron ovs agent that responds for binding this vnic type can't bind port, since de facto instance lives on dedicated hardware server. As result port remains unbound. 3. Neutron don't move port to ACTIVE, since it is unbound. How to fix it: 1. Create neutron port for Ironic instance with vnic_type: baremetal 2. Implement neutron driver, that will perform fake binding of baremetal port. (If network if flat just set that port is bound, no need to perform any operations, since hardware server is already plugged to this network) When booting ironic instance in flat network, neutron port always remain in down state since it is not bound. stack@vsaienko-ironic-neutron-poller:~$ neutron port-show 6cabc468-8828-4ca3-89e3-4d99a9018f03 +-----------------------+----------------------------------------------------------------------------------------------------------+ | Field | Value | +-----------------------+----------------------------------------------------------------------------------------------------------+ | admin_state_up | True | | allowed_address_pairs | | | binding:host_id | vsaienko-ironic-neutron-poller | | binding:profile | {} | | binding:vif_details | {"port_filter": true, "ovs_hybrid_plug": true} | | binding:vif_type | ovs | | binding:vnic_type | normal | | created_at | 2016-07-07T07:32:05 | | description | | | device_id | 0a03a565-f3dd-4ad1-94e1-e1754b718ea0 | | device_owner | compute:None | | extra_dhcp_opts | {"opt_value": "undionly.kpxe", "ip_version": 4, "opt_name": "tag:!ipxe,bootfile-name"} | | | {"opt_value": "10.11.0.51", "ip_version": 4, "opt_name": "tftp-server"} | | | {"opt_value": "10.11.0.51", "ip_version": 4, "opt_name": "server-ip-address"} | | | {"opt_value": "http://10.11.0.51:3928/boot.ipxe", "ip_version": 4, "opt_name": "tag:ipxe,bootfile-name"} | | fixed_ips | {"subnet_id": "17ab9d45-2b7e-4d71-8bb8-f76d5edbdce0", "ip_address": "10.20.30.12"} | | id | 6cabc468-8828-4ca3-89e3-4d99a9018f03 | | mac_address | 52:54:00:d9:9e:d8 | | name | | | network_id | b5587303-c13c-4245-9cb0-04de3443b84b | | port_security_enabled | True | | security_groups | edd667ef-3806-47d9-b33b-1ee8af5d100d | | status | DOWN | | tenant_id | fd9f6a00f3a849b9bbd80ced82749c16 | | updated_at | 2016-07-07T07:32:07 | +-----------------------+----------------------------------------------------------------------------------------------------------+ stack@vsaienko-ironic-neutron-poller:~$ grep 6cabc468-8828-4ca3-89e3-4d99a9018f03 new/q-agt.log 2016-07-07 03:32:08.086 7799 DEBUG neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-79c54446-c81a-4f11-ba96-1ec2697b102c neutron -] port_update message processed for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 port_update /opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py:418 2016-07-07 03:32:15.215 7799 DEBUG neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [req-f1621527-14a9-4adf-830a-196e0ceb33fc admin -] port_update message processed for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 port_update /opt/stack/neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py:418 q-svc.log http://paste.openstack.org/show/526918/: 2016-07-07 03:32:06.931 7807 DEBUG neutron.db.provisioning_blocks [req-80057833-83bd-4295-8102-b9a0eb1307c3 - -] Provisioning complete for port 6cabc468-8828-4ca3-89e3-4d99a9018f03 provisioning_complete /opt/stack/neutron/neutron/db/provisioning_blocks.py:149 2016-07-07 03:32:06.959 7807 DEBUG neutron.plugins.ml2.plugin [req-80057833-83bd-4295-8102-b9a0eb1307c3 - -] Port 6cabc468-8828-4ca3-89e3-4d99a9018f03 cannot update to ACTIVE because it is not bound. _port_provisioned The reason why it is happening is next. 1. Nova allocates networks for instance. Neutron port is created with vnic_type: normal 2. Neutron ovs agent that responds for binding this vnic type can't bind port, since de facto instance lives on dedicated hardware server. As result port remains unbound. 3. Neutron don't move port to ACTIVE, since it is unbound. How to fix it: 1. Create neutron port for Ironic instance with vnic_type: baremetal 2. Implement neutron driver, that will perform fake binding of baremetal port. (If network if flat just set that port is bound, no need to perform any operations, since hardware server is already plugged to this network)
2016-10-03 17:37:30 John L. Villalovos bug added subscriber John L. Villalovos
2016-12-09 16:45:24 Sean Dague nova: assignee Vasyl Saienko (vsaienko)
2016-12-09 16:45:28 Sean Dague nova: importance High Medium
2016-12-09 16:45:32 Sean Dague nova: status In Progress Confirmed
2017-11-06 14:30:16 Vasyl Saienko bug task deleted neutron
2018-03-14 16:42:51 Ruby Loo nova: status Confirmed Invalid