Modules: add wait_for_machine_status function
* Currently, there is no way to wait for deployment\
commissioning\etc procedure done. Lets add simple function,
which will "sleep" salt state call, till any maas node came to
requested state.
- wait_for_ready.sls: predefined state, which wait all defined in
salt::maas::region::machines to be in "ready"(commissioning done) state
- wait_for_deployed.sls: predefined state, which wait all defined in
salt::maas::region::machines to be in "deployed"(provision done) state
- Misc: move STATUS_NAME_DICT to global variable
Change-Id: I5faf2a5535b80c5e2fd7110abff2342c5010dad8
diff --git a/README.rst b/README.rst
index 26cd653..315534d 100644
--- a/README.rst
+++ b/README.rst
@@ -151,9 +151,11 @@
- 'ssh-rsa ASDFOSADFISdfasdfasjdklfjasdJFASDJfASdf923@AAAAB3NzaC1yc2EAAAADAQABAAACAQCv8ISOESGgYUOycYw1SAs/SfHTqtSCTephD/7o2+mEZO53xN98sChiFscFaPA2ZSMoZbJ6MQLKcWKMK2OaTdNSAvn4UE4T6VP0ccdumHDNRwO3f6LptvXr9NR5Wocz2KAgptk+uaA8ytM0Aj9NT0UlfjAXkKnoKyNq6yG+lx4HpwolVaFSlqRXf/iuHpCrspv/u1NW7ReMElJoXv+0zZ7Ow0ZylISdYkaqbV8QatCb17v1+xX03xLsZigfugce/8CDsibSYvJv+Hli5CCBsKgfFqLy4R5vGxiLSVzG/asdjalskjdlkasjdasd/asdajsdkjalaksdjfasd/fa/sdf/asd/fas/dfsadf blah@blah'
+
Usage of local repos
.. code-block:: yaml
+
maas:
cluster:
enabled: true
@@ -204,6 +206,60 @@
enabled: true
role: master/slave
+.. code-block:: yaml
+
+ maas:
+ cluster:
+ enabled: true
+ role: master/slave
+
+Module function's example:
+==========================
+
+* Wait for status of selected machine's:
+
+.. code-block:: bash
+
+ > cat maas/machines/wait_for_machines_ready.sls
+
+ ...
+
+ wait_for_machines_ready:
+ module.run:
+ - name: maas.wait_for_machine_status
+ - kwargs:
+ machines:
+ - kvm01
+ - kvm02
+ timeout: 1200 # in seconds
+ req_status: "Ready"
+ - require:
+ - cmd: maas_login_admin
+ ...
+
+If module run w/\o any extra paremeters - `wait_for_machines_ready` will wait for defined in salt machines. In those case, will be usefull to skip some machines:
+
+.. code-block:: bash
+
+ > cat maas/machines/wait_for_machines_deployed.sls
+
+ ...
+
+ wait_for_machines_ready:
+ module.run:
+ - name: maas.wait_for_machine_status
+ - kwargs:
+ timeout: 1200 # in seconds
+ req_status: "deployed"
+ ignore_machines:
+ - kvm01 # in case it's broken or whatever
+ - require:
+ - cmd: maas_login_admin
+ ...
+
+List of avaibled `req_status` defined in global variable:
+
+
Read more
=========