Updated Arch engine and modules
Change-Id: I6f206ad2af8cc2664c1f1fa315833d9502c34851
diff --git a/_modules/architect.py b/_modules/architect.py
index 7e8d845..b1160a7 100644
--- a/_modules/architect.py
+++ b/_modules/architect.py
@@ -6,8 +6,8 @@
# Import python libs
from __future__ import absolute_import
import yaml
-from architect_client.libarchitect import ArchitectClient
import logging
+from architect_client.libarchitect import ArchitectClient
__virtualname__ = 'architect'
@@ -22,30 +22,30 @@
return ArchitectClient()
-def get_inventory():
+def inventory():
'''
- Get the Architect metadata inventory for given Salt master.
+ Get the Architect metadata inventory
CLI Examples:
.. code-block:: bash
- salt-call architect.get_inventory
+ salt-call architect.inventory
'''
data = yaml.load(_client().get_data())
return data
-def get_node(name):
+def node_pillar(name):
'''
- Get the Architect node metadata for given Salt master.
+ Get the Architect node pillar for given Salt master.
CLI Examples:
.. code-block:: bash
- salt-call architect.get_node node.domain
+ salt-call architect.node_pillar node.domain
'''
data = yaml.load(_client().get_data(name))
@@ -55,7 +55,24 @@
}
-def collect_minion_info():
+def node_classify(name, data={}):
+ '''
+ CLassify node by given dictionary of parameters
+
+ CLI Examples:
+
+ .. code-block:: bash
+
+ salt-call architect.node_classify minion.net {'param1': 'value2'}
+ '''
+ output = _client().classify_node({
+ 'name': name,
+ 'data': data
+ })
+ return output
+
+
+def node_info():
'''
Get Salt minion metadata and forward it to the Architect master.
@@ -63,13 +80,11 @@
.. code-block:: bash
- salt-call architect.collect_minion_info
+ salt-call architect.minion_info
'''
-
data = {
'pillar': __salt__['pillar.data'](),
'grain': __salt__['grains.items'](),
'lowstate': __salt__['state.show_lowstate'](),
}
- output = _client().push_salt_minion({data['grain']['id']: data})
- return output
+ return data