Hi Sahara, "step_type" is a member of ClusterProvisionStep, and also be stored in context. https://github.com/openstack/sahara/blob/master/sahara/db/sqlalchemy/models.py#L457 https://github.com/openstack/sahara/blob/master/sahara/context.py#L264 I noticed that the "step_type" in context sometimes is updated at the same time as cluster status: https://github.com/openstack/sahara/blob/master/sahara/service/ops.py#L255-L256 https://github.com/openstack/sahara/blob/master/sahara/service/ops.py#L260-L261 >From my understanding, for a certain cluster, the relationship among cluster status & steps & event should be: 1. The cluster is under a certain "status" 2. Some "steps" would happen under a certain "status" 3. Some "events" would happen under a certain "step" For example, if we're working under plugin vanilla 2.6. 1. When a cluster is under "Starting" status. 2. Two steps involved for the "Starting" status : configure_instances & configure_topology_data. 3. For step "configure_instances", several events would happen => events number == instances number. My questions are: 1. Are there some step_type actually mixed with cluster status ? Should they be removed ? Or, I have missed something very important that we do need these step_type to be listed with cluster status ? 2. Should we define a group of constant to list all possible steps could happen for a cluster ? ð If a plugin need special steps, it should define special constant by itself. Looking forward to your reply. Thanks. -chen -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150728/c6686070/attachment.html>