Skip to content

Comments

Wait for all nodes being added before running ansible#302

Merged
tomassedovic merged 2 commits intoredhat-openstack:masterfrom
jprovaznik:nodecount
Apr 7, 2017
Merged

Wait for all nodes being added before running ansible#302
tomassedovic merged 2 commits intoredhat-openstack:masterfrom
jprovaznik:nodecount

Conversation

@jprovaznik
Copy link
Contributor

Openshift compute ndoes are members of AutoscalingGroup in heat
stack, when each member is created it registers itself on
bastion node ("deployment_bastion_node_add" SW deployment in
templates), then a separate step ("deployment_run_ansible"
in node.yaml) configures openshift on all nodes which are
already registered.

It may happen that deployment_run_ansible is trigerred by
some node before all nodes are registered (by deployment_bastion_node_add)
which causes that then nodes are added in multiple ansible
runs/batches. It doesn't break setup and basically is
nothing bad with it but it makes creation or scale up
slower. It would be better to wait until deployment_bastion_node_add
is done for all nodes and then run deployment_run_ansible
only once for all nodes (AutoscalingGroup doesn't allow to do this easily though).

This patch uses node_count param to get desired number of nodes,
this can not work with autoscaling though so it's used only for
not-autoscaling create/update scenario.

@jprovaznik
Copy link
Contributor Author

Please do not merge into a branch for GA release (this is not a blocker, I would prefer to have this merged in a next release)

@markllama
Copy link
Contributor

@jprovaznik We'd like to test and merge this now but it requires a rebase. If you can do that quickly we can get it merged.

Openshift compute ndoes are members of AutoscalingGroup in heat
stack, when each member is created it registers itself on
bastion node ("deployment_bastion_node_add" SW deployment in
templates), then a separate step ("deployment_run_ansible"
in node.yaml) configures openshift on all nodes which are
already registered.

It may happen that deployment_run_ansible is trigerred by
some node before all nodes are registered (by deployment_bastion_node_add)
which causes that then nodes are added in multiple ansible
runs/batches. It doesn't break setup and basically is
nothing bad with it but it makes creation or scale up
slower. It would be better to wait until deployment_bastion_node_add
is done for all nodes and then run deployment_run_ansible
only once for all nodes (AutoscalingGroup doesn't allow to do this easily though).

This patch uses node_count param to get desired number of nodes,
this can not work with autoscaling though so it's used only for
not-autoscaling create/update scenario.
@jprovaznik
Copy link
Contributor Author

@markllama I've rebased the patch, but please pay extra attention to assure it still works - I did just rebase of the patch, no teesting.

@tomassedovic tomassedovic merged commit 3372d65 into redhat-openstack:master Apr 7, 2017
@tomassedovic
Copy link
Contributor

Thanks!

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

Successfully merging this pull request may close these issues.

3 participants