[Bug 1656012] [NEW] Ironic ignores binding_failed state for port from neutron

George Shuklin 1656012 at bugs.launchpad.net
Thu Jan 12 16:02:33 UTC 2017


Public bug reported:

If neutron failed to bind baremetal port it set it as
binding:vif_type=binding_failed.

Regardless of that ironic continue to do 'business as usual' and wait
for node to become clean (node transits to 'clean wait' state) instead
of marking it as clean_failed.

neutron failed port:

| 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": "62:9d:9a:43:a1:b4"}]} |
| binding:vif_details | {}                                                                                                             |
| binding:vif_type    | binding_failed                                                                                                 |
| binding:vnic_type   | baremetal                                                                                                      |
| created_at          | 2017-01-12T15:43:34Z                                                                                           |
| description         |                                                                                                                |
| device_id           | d02c7361-5e3a-4fdf-89b5-f29b3901f0fc                                                                           |
| device_owner        | baremetal:none                                                                                                 |
| extra_dhcp_opts     | {"opt_value": "pxelinux.0", "ip_version": 4, "opt_name": "bootfile-name"}                                      |
|                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "server-ip-address"}                                |
|                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "tftp-server"}                                      |
| fixed_ips           | {"subnet_id": "5402755a-0d8b-447d-9753-f3ba1ec39c22", "ip_address": "hidden"}                           |
| id                  | db3766ad-f82b-437d-b8b2-4133a92b1b86                                                                           |
| mac_address         | 18:66:de:55:07:f4                                                                                              |
| name                |                                                                                                                |
| network_id          | 4b352ae7-141b-4c3f-a132-f5c006dc056c                                                                           |
| project_id          | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
| revision_number     | 8                                                                                                              |
| status              | DOWN                                                                                                           |
| tenant_id           | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
| updated_at          | 2017-01-12T15:43:34Z                                                                                           |

ironic log:

ironic.common.neutron[23887]: DEBUG For node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc, creating neutron ports on network 4b352ae7-141b-4c3f-a132-f5c006dc056c using NeutronNetwork network interface. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] add_ports_to_network /usr/lib/python2.7/dist-packages/ironic/common/neutron.py:90
ironic.common.neutron[23887]: INFO Successfully created ports for node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc in network 4b352ae7-141b-4c3f-a132-f5c006dc056c. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
...
ironic.conductor.utils[23887]: INFO Successfully set node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc power state to power on. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
ironic.common.states[23887]: DEBUG Exiting old state 'cleaning' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_exit /usr/lib/python2.7/dist-packages/ironic/common/states.py:219
ironic.common.states[23887]: DEBUG Entering new state 'clean wait' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_enter /usr/lib/python2.7/dist-packages/ironic/common/states.py:225

** Affects: ironic
     Importance: Undecided
         Status: New

** Affects: ironic (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  If neutron failed to bind baremetal port it set it as
  binding:vif_type=binding_failed.
  
  Regardless of that ironic continue to thing that business as usual and
  wait for node to become clean (node transition to 'clean wait' state)
  instead of marking it as clean failed.
  
  neutron failed port:
  
- +---------------------+----------------------------------------------------------------------------------------------------------------+
- | Field               | Value                                                                                                          |
- +---------------------+----------------------------------------------------------------------------------------------------------------+
- | admin_state_up      | True                                                                                                           |
+ 
+ | 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": "62:9d:9a:43:a1:b4"}]} |
  | binding:vif_details | {}                                                                                                             |
  | binding:vif_type    | binding_failed                                                                                                 |
  | binding:vnic_type   | baremetal                                                                                                      |
  | created_at          | 2017-01-12T15:43:34Z                                                                                           |
  | description         |                                                                                                                |
  | device_id           | d02c7361-5e3a-4fdf-89b5-f29b3901f0fc                                                                           |
  | device_owner        | baremetal:none                                                                                                 |
  | extra_dhcp_opts     | {"opt_value": "pxelinux.0", "ip_version": 4, "opt_name": "bootfile-name"}                                      |
  |                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "server-ip-address"}                                |
  |                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "tftp-server"}                                      |
  | fixed_ips           | {"subnet_id": "5402755a-0d8b-447d-9753-f3ba1ec39c22", "ip_address": "hidden"}                           |
  | id                  | db3766ad-f82b-437d-b8b2-4133a92b1b86                                                                           |
  | mac_address         | 18:66:de:55:07:f4                                                                                              |
  | name                |                                                                                                                |
  | network_id          | 4b352ae7-141b-4c3f-a132-f5c006dc056c                                                                           |
  | project_id          | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
  | revision_number     | 8                                                                                                              |
  | status              | DOWN                                                                                                           |
  | tenant_id           | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
  | updated_at          | 2017-01-12T15:43:34Z                                                                                           |
- +---------------------+----------------------------------------------------------------------------------------------------------------+
  
  
  ironic log:
  
  ironic.common.neutron[23887]: DEBUG For node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc, creating neutron ports on network 4b352ae7-141b-4c3f-a132-f5c006dc056c using NeutronNetwork network interface. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] add_ports_to_network /usr/lib/python2.7/dist-packages/ironic/common/neutron.py:90
  ironic.common.neutron[23887]: INFO Successfully created ports for node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc in network 4b352ae7-141b-4c3f-a132-f5c006dc056c. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
  ...
  ironic.conductor.utils[23887]: INFO Successfully set node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc power state to power on. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
  ironic.common.states[23887]: DEBUG Exiting old state 'cleaning' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_exit /usr/lib/python2.7/dist-packages/ironic/common/states.py:219
  ironic.common.states[23887]: DEBUG Entering new state 'clean wait' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_enter /usr/lib/python2.7/dist-packages/ironic/common/states.py:225

** Description changed:

  If neutron failed to bind baremetal port it set it as
  binding:vif_type=binding_failed.
  
- Regardless of that ironic continue to thing that business as usual and
- wait for node to become clean (node transition to 'clean wait' state)
- instead of marking it as clean failed.
+ Regardless of that ironic continue to do 'business as usual' and wait
+ for node to become clean (node transits to 'clean wait' state) instead
+ of marking it as clean_failed.
  
  neutron failed port:
- 
  
  | 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": "62:9d:9a:43:a1:b4"}]} |
  | binding:vif_details | {}                                                                                                             |
  | binding:vif_type    | binding_failed                                                                                                 |
  | binding:vnic_type   | baremetal                                                                                                      |
  | created_at          | 2017-01-12T15:43:34Z                                                                                           |
  | description         |                                                                                                                |
  | device_id           | d02c7361-5e3a-4fdf-89b5-f29b3901f0fc                                                                           |
  | device_owner        | baremetal:none                                                                                                 |
  | extra_dhcp_opts     | {"opt_value": "pxelinux.0", "ip_version": 4, "opt_name": "bootfile-name"}                                      |
  |                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "server-ip-address"}                                |
  |                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "tftp-server"}                                      |
  | fixed_ips           | {"subnet_id": "5402755a-0d8b-447d-9753-f3ba1ec39c22", "ip_address": "hidden"}                           |
  | id                  | db3766ad-f82b-437d-b8b2-4133a92b1b86                                                                           |
  | mac_address         | 18:66:de:55:07:f4                                                                                              |
  | name                |                                                                                                                |
  | network_id          | 4b352ae7-141b-4c3f-a132-f5c006dc056c                                                                           |
  | project_id          | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
  | revision_number     | 8                                                                                                              |
  | status              | DOWN                                                                                                           |
  | tenant_id           | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
  | updated_at          | 2017-01-12T15:43:34Z                                                                                           |
  
- 
  ironic log:
  
  ironic.common.neutron[23887]: DEBUG For node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc, creating neutron ports on network 4b352ae7-141b-4c3f-a132-f5c006dc056c using NeutronNetwork network interface. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] add_ports_to_network /usr/lib/python2.7/dist-packages/ironic/common/neutron.py:90
  ironic.common.neutron[23887]: INFO Successfully created ports for node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc in network 4b352ae7-141b-4c3f-a132-f5c006dc056c. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
  ...
  ironic.conductor.utils[23887]: INFO Successfully set node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc power state to power on. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
  ironic.common.states[23887]: DEBUG Exiting old state 'cleaning' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_exit /usr/lib/python2.7/dist-packages/ironic/common/states.py:219
  ironic.common.states[23887]: DEBUG Entering new state 'clean wait' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_enter /usr/lib/python2.7/dist-packages/ironic/common/states.py:225

** Also affects: ironic (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ironic in Ubuntu.
https://bugs.launchpad.net/bugs/1656012

Title:
  Ironic ignores binding_failed state for port from neutron

Status in Ironic:
  New
Status in ironic package in Ubuntu:
  New

Bug description:
  If neutron failed to bind baremetal port it set it as
  binding:vif_type=binding_failed.

  Regardless of that ironic continue to do 'business as usual' and wait
  for node to become clean (node transits to 'clean wait' state) instead
  of marking it as clean_failed.

  neutron failed port:

  | 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": "62:9d:9a:43:a1:b4"}]} |
  | binding:vif_details | {}                                                                                                             |
  | binding:vif_type    | binding_failed                                                                                                 |
  | binding:vnic_type   | baremetal                                                                                                      |
  | created_at          | 2017-01-12T15:43:34Z                                                                                           |
  | description         |                                                                                                                |
  | device_id           | d02c7361-5e3a-4fdf-89b5-f29b3901f0fc                                                                           |
  | device_owner        | baremetal:none                                                                                                 |
  | extra_dhcp_opts     | {"opt_value": "pxelinux.0", "ip_version": 4, "opt_name": "bootfile-name"}                                      |
  |                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "server-ip-address"}                                |
  |                     | {"opt_value": "hidden", "ip_version": 4, "opt_name": "tftp-server"}                                      |
  | fixed_ips           | {"subnet_id": "5402755a-0d8b-447d-9753-f3ba1ec39c22", "ip_address": "hidden"}                           |
  | id                  | db3766ad-f82b-437d-b8b2-4133a92b1b86                                                                           |
  | mac_address         | 18:66:de:55:07:f4                                                                                              |
  | name                |                                                                                                                |
  | network_id          | 4b352ae7-141b-4c3f-a132-f5c006dc056c                                                                           |
  | project_id          | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
  | revision_number     | 8                                                                                                              |
  | status              | DOWN                                                                                                           |
  | tenant_id           | 7d450ecf00d64399aeb93bc122cb6dae                                                                               |
  | updated_at          | 2017-01-12T15:43:34Z                                                                                           |

  ironic log:

  ironic.common.neutron[23887]: DEBUG For node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc, creating neutron ports on network 4b352ae7-141b-4c3f-a132-f5c006dc056c using NeutronNetwork network interface. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] add_ports_to_network /usr/lib/python2.7/dist-packages/ironic/common/neutron.py:90
  ironic.common.neutron[23887]: INFO Successfully created ports for node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc in network 4b352ae7-141b-4c3f-a132-f5c006dc056c. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
  ...
  ironic.conductor.utils[23887]: INFO Successfully set node d02c7361-5e3a-4fdf-89b5-f29b3901f0fc power state to power on. [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -]
  ironic.common.states[23887]: DEBUG Exiting old state 'cleaning' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_exit /usr/lib/python2.7/dist-packages/ironic/common/states.py:219
  ironic.common.states[23887]: DEBUG Entering new state 'clean wait' in response to event 'wait' [req-8691b659-a3d2-4ae8-a78b-a52158e343fc - - - - -] on_enter /usr/lib/python2.7/dist-packages/ironic/common/states.py:225

To manage notifications about this bug go to:
https://bugs.launchpad.net/ironic/+bug/1656012/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list