Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1427092

Summary: Error should be thrown while trying to introspect node in "availbale" state
Product: Red Hat OpenStack Reporter: Ola Pavlenko <opavlenk>
Component: openstack-tripleo-uiAssignee: RHOS Maint <rhos-maint>
Status: CLOSED DUPLICATE QA Contact: Ola Pavlenko <opavlenk>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 11.0 (Ocata)CC: jjoyce, jschluet, slinaber, tvignaud, ukalifon
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-14 15:41:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ola Pavlenko 2017-02-27 10:58:46 UTC
Description of problem:
trying to introspect node in available state doesn't throw error. False positive result looks like introspection is running. Checking, in CLI shows no introspection started for the node.

Version-Release number of selected component (if applicable):


How reproducible:
always

Steps to Reproduce:
1.register nodes 
2.provide node
3. introspect the node was provided in step#2 (the node in "available" state)

Actual results:
No error in UI.


Expected results:
Error in UI
The error is expected, since introspection should not run on "available" node.

Additional info:

No error in UI but mistral executor.log:
2017-02-27 05:28:40.294 1371 WARNING mistral.actions.openstack.base [-] Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/mistral/actions/openstack/base.py", line 127, in run
    result = method(**self._kwargs_for_run)
  File "/usr/lib/python2.7/site-packages/ironic_inspector_client/v1.py", line 75, in introspect
    self.request('post', '/introspection/%s' % uuid, params=params)
  File "/usr/lib/python2.7/site-packages/ironic_inspector_client/common/http.py", line 180, in request
    ClientError.raise_if_needed(res)
  File "/usr/lib/python2.7/site-packages/ironic_inspector_client/common/http.py", line 69, in raise_if_needed
    raise cls(response)
ClientError: Invalid provision state for introspection: "available", valid states are "['manageable', 'inspectfail', 'enroll', 'inspecting']"

2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor [-] Failed to run action [action_ex_id=f060b313-6dc3-4823-be56-64245797b563, action_cls='<class 'mistral.actions.action_factory.BaremetalIntrosp
ectionAction'>', attributes='{u'client_method_name': u'introspect'}', params='{u'uuid': u'16171e3f-12bc-4458-bdf5-e75bf825f4ba', u'new_ipmi_username': None, u'new_ipmi_password': None}']
 BaremetalIntrospectionAction.introspect failed: <class 'ironic_inspector_client.common.http.ClientError'>: Invalid provision state for introspection: "available", valid states are "['manageable', 'inspectfail',
 'enroll', 'inspecting']"
2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor Traceback (most recent call last):
2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor   File "/usr/lib/python2.7/site-packages/mistral/engine/default_executor.py", line 90, in run_action
2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor     result = action.run()
2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor   File "/usr/lib/python2.7/site-packages/mistral/actions/openstack/base.py", line 142, in run
2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor     (self.__class__.__name__, self.client_method_name, e_str)
2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor ActionException: BaremetalIntrospectionAction.introspect failed: <class 'ironic_inspector_client.common.http.ClientError'>: Invalid provision state for introspection: "available", valid states are "['manageable', 'inspectfail', 'enroll', 'inspecting']"
2017-02-27 05:28:40.296 1371 ERROR mistral.engine.default_executor

Comment 1 Udi Kalifon 2017-06-14 15:41:36 UTC
You see an error which tells you that valid states are "['manageable', 'inspectfail', 'enroll', 'inspecting']".

There is another bug on this: https://bugzilla.redhat.com/show_bug.cgi?id=1383576. I think the best way to handle this it for Mistral to automatically set the nodes to manageable state and do the introspection as the user wanted.

*** This bug has been marked as a duplicate of bug 1383576 ***