Salt reactor features refactoring
Change-Id: Ifac3f5e03099e8190db0a3af62a7be1f762f87be
diff --git a/README.rst b/README.rst
index 0619d82..364e59a 100644
--- a/README.rst
+++ b/README.rst
@@ -231,7 +231,8 @@
.. code-block:: bash
- salt-call event.send 'salt/key/create' "{'node_name': 'id-of-minion', 'orch_post_create': 'kubernetes/orchestrate/compute_install.sls'}"
+ salt-call event.send 'salt/key/create' \
+ > "{'node_id': 'id-of-minion', 'node_host': '172.16.10.100', 'orch_post_create': 'kubernetes.orchestrate.compute_install', 'post_create_pillar': {'node_name': 'id-of-minion'}}"
.. note::
diff --git a/_modules/saltkey.py b/_modules/saltkey.py
index 97dc5c9..1645a66 100644
--- a/_modules/saltkey.py
+++ b/_modules/saltkey.py
@@ -32,6 +32,9 @@
'''
Generates minion keypair, accepts it on master and injects it to minion via SSH.
+ :param id_: expected minion ID of target node
+ :param host: IP address or resolvable hostname/FQDN of target node
+
CLI Examples:
.. code-block:: bash
diff --git a/salt/orchestrate/key_create.sls b/salt/orchestrate/key_create.sls
deleted file mode 100644
index 74a8918..0000000
--- a/salt/orchestrate/key_create.sls
+++ /dev/null
@@ -1,6 +0,0 @@
-{%- set node_name = salt['pillar.get']('node_name') %}
-
-key_create_{{ node_name }}:
- salt.wheel:
- - name: key.gen_accept
- - id_: {{ node_name }}
diff --git a/salt/orchestrate/key_remove.sls b/salt/orchestrate/key_remove.sls
deleted file mode 100644
index f8646b1..0000000
--- a/salt/orchestrate/key_remove.sls
+++ /dev/null
@@ -1,6 +0,0 @@
-{%- set node_name = salt['pillar.get']('node_name') %}
-
-key_create_{{ node_name }}:
- salt.wheel:
- - name: key.delete
- - match: {{ node_name }}
diff --git a/salt/orchestrate/infra_install.sls b/salt/orchestrate/reactor/infra_install.sls
similarity index 100%
rename from salt/orchestrate/infra_install.sls
rename to salt/orchestrate/reactor/infra_install.sls
diff --git a/salt/orchestrate/reactor/key_create.sls b/salt/orchestrate/reactor/key_create.sls
new file mode 100644
index 0000000..47a85aa
--- /dev/null
+++ b/salt/orchestrate/reactor/key_create.sls
@@ -0,0 +1,13 @@
+{%- set node_id = salt['pillar.get']('node_id') %}
+{%- set node_host = salt['pillar.get']('node_host') %}
+
+linux_state_all_nodes:
+ salt.state:
+ - tgt: 'salt:master'
+ - tgt_type: pillar
+ - sls: salt.reactor_sls.key_create
+ - queue: True
+ - pillar:
+ node_id: {{ node_id }}
+ node_host: {{ node_host }}
+
diff --git a/salt/orchestrate/reactor/key_remove.sls b/salt/orchestrate/reactor/key_remove.sls
new file mode 100644
index 0000000..9295e7f
--- /dev/null
+++ b/salt/orchestrate/reactor/key_remove.sls
@@ -0,0 +1,11 @@
+{%- set node_id = salt['pillar.get']('node_id') %}
+
+linux_state_all_nodes:
+ salt.state:
+ - tgt: 'salt:master'
+ - tgt_type: pillar
+ - sls: salt.reactor_sls.key_remove
+ - queue: True
+ - pillar:
+ node_id: {{ node_id }}
+
diff --git a/salt/orchestrate/master_update.sls b/salt/orchestrate/reactor/master_update.sls
similarity index 99%
rename from salt/orchestrate/master_update.sls
rename to salt/orchestrate/reactor/master_update.sls
index 89876b2..602f314 100644
--- a/salt/orchestrate/master_update.sls
+++ b/salt/orchestrate/reactor/master_update.sls
@@ -14,3 +14,4 @@
- queue: True
- require:
- salt: salt_state_config_node
+
diff --git a/salt/orchestrate/node_install.sls b/salt/orchestrate/reactor/node_install.sls
similarity index 99%
rename from salt/orchestrate/node_install.sls
rename to salt/orchestrate/reactor/node_install.sls
index c053313..426a050 100644
--- a/salt/orchestrate/node_install.sls
+++ b/salt/orchestrate/reactor/node_install.sls
@@ -21,3 +21,4 @@
- queue: True
- require:
- salt: salt_state
+
diff --git a/salt/reactor/infra_install.sls b/salt/reactor/infra_install.sls
index 5493970..7be16c4 100644
--- a/salt/reactor/infra_install.sls
+++ b/salt/reactor/infra_install.sls
@@ -1,5 +1,6 @@
orchestrate_infra_install:
runner.state.orchestrate:
- - mods: salt://salt/orchestrate/infra_install.sls
+ - mods: salt.orchestrate.reactor.infra_install
- queue: True
+
diff --git a/salt/reactor/key_create.sls b/salt/reactor/key_create.sls
index b74a3e7..c4be57e 100644
--- a/salt/reactor/key_create.sls
+++ b/salt/reactor/key_create.sls
@@ -3,27 +3,26 @@
orchestrate_node_key_pre_create:
runner.state.orchestrate:
- - mods: salt://{{ data.data.orch_pre_create }}
+ - mods: {{ data.data.orch_pre_create }}
- queue: True
- - pillar:
- node_name: {{ data.data['node_name'] }}
+ - pillar: {{ data.data.get('orch_pre_create_pillar', {}) }}
{% endif %}
node_key_create:
runner.state.orchestrate:
- - mods: salt://salt/orchestrate/key_create.sls
+ - mods: salt.orchestrate.reactor.key_create
- queue: True
- pillar:
- node_name: {{ data.data['node_name'] }}
+ node_id: {{ data.data['node_id'] }}
+ node_host: {{ data.data['node_host'] }}
{% if data.data.orch_post_create is defined %}
orchestrate_node_key_post_create:
runner.state.orchestrate:
- - mods: salt://{{ data.data.orch_post_create }}
+ - mods: {{ data.data.orch_post_create }}
- queue: True
- - pillar:
- node_name: {{ data.data['node_name'] }}
+ - pillar: {{ data.data.get('orch_post_create_pillar', {}) }}
{% endif %}
diff --git a/salt/reactor/key_remove.sls b/salt/reactor/key_remove.sls
index ca23bed..8088476 100644
--- a/salt/reactor/key_remove.sls
+++ b/salt/reactor/key_remove.sls
@@ -3,27 +3,25 @@
orchestrate_node_key_pre_remove:
runner.state.orchestrate:
- - mods: salt://{{ data.data.orch_pre_remove }}
+ - mods: {{ data.data.orch_pre_remove }}
- queue: True
- - pillar:
- node_name: {{ data.data['node_name'] }}
+ - pillar: {{ data.data.get('orch_pre_remove_pillar', {}) }}
{% endif %}
node_key_remove:
runner.state.orchestrate:
- - mods: salt://salt/orchestrate/key_remove.sls
+ - mods: salt.orchestrate.reactor.key_remove.sls
- queue: True
- pillar:
- node_name: {{ data.data['node_name'] }}
+ node_id: {{ data.data['node_id'] }}
{% if data.data.orch_post_remove is defined %}
orchestrate_node_key_post_remove:
runner.state.orchestrate:
- - mods: salt://{{ data.data.orch_post_remove }}
+ - mods: {{ data.data.orch_post_remove }}
- queue: True
- - pillar:
- node_name: {{ data.data['node_name'] }}
+ - pillar: {{ data.data.get('orch_post_remove_pillar', {}) }}
{% endif %}
diff --git a/salt/reactor/minion_start.sls b/salt/reactor/minion_start.sls
index f652b5b..f267bbf 100644
--- a/salt/reactor/minion_start.sls
+++ b/salt/reactor/minion_start.sls
@@ -8,3 +8,4 @@
local.saltutil.refresh_pillar:
- tgt: {{ data.id }}
- queue: True
+
diff --git a/salt/reactor/node_install.sls b/salt/reactor/node_install.sls
index 64905ed..0a71929 100644
--- a/salt/reactor/node_install.sls
+++ b/salt/reactor/node_install.sls
@@ -1,7 +1,8 @@
orchestrate_node_install:
runner.state.orchestrate:
- - mods: salt://salt/orchestrate/node_install.sls
+ - mods: salt.reactor.orchestrate.node_install
- queue: True
- pillar:
event_originator: {{ data.id }}
+
diff --git a/salt/reactor/orchestrate_start.sls b/salt/reactor/orchestrate_start.sls
index d3703c4..40b4c5a 100644
--- a/salt/reactor/orchestrate_start.sls
+++ b/salt/reactor/orchestrate_start.sls
@@ -1,5 +1,6 @@
orchestrate_orchestrate_run:
runner.state.orchestrate:
- - mods: salt://{{ data.data.orchestrate }}
+ - mods: {{ data.data.orchestrate }}
- queue: {{ data.data.get('queue', True) }}
+
diff --git a/salt/reactor_sls/key_create.sls b/salt/reactor_sls/key_create.sls
new file mode 100644
index 0000000..14589c1
--- /dev/null
+++ b/salt/reactor_sls/key_create.sls
@@ -0,0 +1,9 @@
+{%- set node_id = salt['pillar.get']('node_id') %}
+{%- set node_host = salt['pillar.get']('node_host') %}
+
+key_create_{{ node_id }}:
+ module.run:
+ saltkey.key_create:
+ - id_: {{ node_id }}
+ - host: {{ node_host }}
+
diff --git a/salt/reactor_sls/key_remove.sls b/salt/reactor_sls/key_remove.sls
new file mode 100644
index 0000000..819d4ae
--- /dev/null
+++ b/salt/reactor_sls/key_remove.sls
@@ -0,0 +1,6 @@
+{%- set node_id = salt['pillar.get']('node_id') %}
+
+key_create_{{ node_id }}:
+ salt.wheel:
+ - name: key.delete
+ - match: {{ node_id }}