Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle all Ironic states #17

Open
stbenjam opened this issue Apr 14, 2019 · 6 comments
Open

Handle all Ironic states #17

stbenjam opened this issue Apr 14, 2019 · 6 comments

Comments

@stbenjam
Copy link
Member

We should handle all Ironic states, including all the possible failed states.

e.g. clean wait wasn't handled. That was fixed here - #16, need to handle the rest.

See: https://docs.openstack.org/ironic/pike/_images/states.svg

@dtantsur
Copy link
Member

Also some handling is concerning. E.g. if enroll -> manageable transition fails, we go back to enroll. In this case the existing code will loop forever.

Similarly, the cleaning and deploying handling code does not account for errors, trying to redeploy/reclean instead (it won't work).

@dtantsur
Copy link
Member

And a small correction: https://docs.openstack.org/ironic/stein/_images/states.svg is more up-to-date (pike is old, nearly out of support).

@stbenjam
Copy link
Member Author

Also some handling is concerning. E.g. if enroll -> manageable transition fails, we go back to enroll. In this case the existing code will loop forever.

How does one detect failure? Is last_error non-blank - is that the only way? It's odd this one doesn't have a failed state.

@dtantsur
Copy link
Member

Yeah, this one is a bit weird. However, enroll + last_error should give you enough information. A node in enroll cannot get a non-empty last_error any other way.

@dhellmann
Copy link
Member

Is this still an issue?

@stbenjam
Copy link
Member Author

Yes. Enroll -> manageable failure isn’t handled yet at least.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants