Skip to content

Instantly share code, notes, and snippets.

@yosshy
Created May 6, 2017 05:30
Show Gist options
  • Save yosshy/da827f68aa1d63748ccc951675411691 to your computer and use it in GitHub Desktop.
Save yosshy/da827f68aa1d63748ccc951675411691 to your computer and use it in GitHub Desktop.
State machine of a node in OpenStack Baremetal (Ironic)
[root@ocata ~]# python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from ironic.common import states
>>> states.machine
<ironic.common.fsm.FSM object at 0x2764f50>
>>> print(states.machine.pformat())
+----------------+---------+----------------+-------------------------------+------------------------------+
| Start | Event | End | On Enter | On Exit |
+----------------+---------+----------------+-------------------------------+------------------------------+
| active | delete | deleting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| active | rebuild | deploying | ironic.common.states.on_enter | ironic.common.states.on_exit |
| adopt failed | adopt | adopting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| adopt failed | manage | manageable | ironic.common.states.on_enter | ironic.common.states.on_exit |
| adopting | done | active | ironic.common.states.on_enter | ironic.common.states.on_exit |
| adopting | fail | adopt failed | ironic.common.states.on_enter | ironic.common.states.on_exit |
| available | deploy | deploying | ironic.common.states.on_enter | ironic.common.states.on_exit |
| available | manage | manageable | ironic.common.states.on_enter | ironic.common.states.on_exit |
| clean failed | manage | manageable | ironic.common.states.on_enter | ironic.common.states.on_exit |
| clean wait | abort | clean failed | ironic.common.states.on_enter | ironic.common.states.on_exit |
| clean wait | fail | clean failed | ironic.common.states.on_enter | ironic.common.states.on_exit |
| clean wait | resume | cleaning | ironic.common.states.on_enter | ironic.common.states.on_exit |
| cleaning | done | available | ironic.common.states.on_enter | ironic.common.states.on_exit |
| cleaning | fail | clean failed | ironic.common.states.on_enter | ironic.common.states.on_exit |
| cleaning | manage | manageable | ironic.common.states.on_enter | ironic.common.states.on_exit |
| cleaning | wait | clean wait | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deleting | clean | cleaning | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deleting | error | error | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deploy failed | delete | deleting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deploy failed | deploy | deploying | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deploy failed | rebuild | deploying | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deploying | done | active | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deploying | fail | deploy failed | ironic.common.states.on_enter | ironic.common.states.on_exit |
| deploying | wait | wait call-back | ironic.common.states.on_enter | ironic.common.states.on_exit |
| enroll | manage | verifying | ironic.common.states.on_enter | ironic.common.states.on_exit |
| error | delete | deleting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| error | rebuild | deploying | ironic.common.states.on_enter | ironic.common.states.on_exit |
| inspect failed | inspect | inspecting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| inspect failed | manage | manageable | ironic.common.states.on_enter | ironic.common.states.on_exit |
| inspecting | done | manageable | ironic.common.states.on_enter | ironic.common.states.on_exit |
| inspecting | fail | inspect failed | ironic.common.states.on_enter | ironic.common.states.on_exit |
| manageable | adopt | adopting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| manageable | clean | cleaning | ironic.common.states.on_enter | ironic.common.states.on_exit |
| manageable | inspect | inspecting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| manageable | provide | cleaning | ironic.common.states.on_enter | ironic.common.states.on_exit |
| verifying | done | manageable | ironic.common.states.on_enter | ironic.common.states.on_exit |
| verifying | fail | enroll | ironic.common.states.on_enter | ironic.common.states.on_exit |
| wait call-back | delete | deleting | ironic.common.states.on_enter | ironic.common.states.on_exit |
| wait call-back | fail | deploy failed | ironic.common.states.on_enter | ironic.common.states.on_exit |
| wait call-back | resume | deploying | ironic.common.states.on_enter | ironic.common.states.on_exit |
+----------------+---------+----------------+-------------------------------+------------------------------+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment