From 7bb82b0178cb4024a0e6c9b65de0a8c0f07d6297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jochum?= Date: Mon, 13 Jul 2015 13:37:10 +0200 Subject: [PATCH 1/2] Advance sal/api.sls, install rest_cherrypy or rest_tornado from pip. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: René Jochum --- README.rst | 1 + salt/api.sls | 42 +++++++++++++++++++++++++++++++++++++----- salt/defaults.yaml | 3 +++ 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 6706b4cc5..07e887cd1 100644 --- a/README.rst +++ b/README.rst @@ -46,6 +46,7 @@ Configure pillar data under salt:ssh_roster to feed the template. Install salt api Requisite: Configure salt-master with rest_cherrypy or rest_tornado. +Requires: pip.extensions as it installs the latest version from pip. ``salt.standalone`` ------------------- diff --git a/salt/api.sls b/salt/api.sls index 812f24366..820c3498b 100644 --- a/salt/api.sls +++ b/salt/api.sls @@ -1,16 +1,48 @@ +#!jinja|yaml + {% from "salt/map.jinja" import salt_settings with context %} include: - salt.master + - pip.extensions + +{%- set cfg_salt = pillar.get('salt', {}) %} +{%- set cfg_master = cfg_salt.get('master', {}) %} salt-api: -{% if salt_settings.install_packages %} pkg.installed: - - name: {{ salt_settings.salt_api }} -{% endif %} + - name: {{ salt_settings['salt-api'] }} service.running: - - name: {{ salt_settings.api_service }} + - name: {{ salt_settings.get('api_service', 'salt-api') }} - require: - - service: {{ salt_settings.master_service }} + - service: {{ salt_settings.get('api_service', 'salt-api') }} +{%- if 'rest_cherrypy' in cfg_master %} + - pip: salt-api-cherrypy +{% elif 'rest_tornado' in cfg_master %} + - pip: salt-api-tornado +{% endif %} - watch: - pkg: salt-master + - file: salt-master + +{%- if 'rest_cherrypy' in cfg_master %} +salt-api-cherrypy: + pkg.purged: + - name: {{ salt_settings['python-cherrypy'] }} + pip.installed: + - name: cherrypy + - require: + - pkg: salt-api-cherrypy + - pkg: pip_extensions +{% endif %} + +{%- if 'rest_tornado' in cfg_master %} +salt-api-tornado: + pkg.purged: + - name: {{ salt_settings['python-tornado'] }} + pip.installed: + - name: tornado + - require: + - pkg: salt-api-tornado + - pkg: pip_extensions +{% endif %} diff --git a/salt/defaults.yaml b/salt/defaults.yaml index de663e1f7..2c61f1254 100644 --- a/salt/defaults.yaml +++ b/salt/defaults.yaml @@ -18,6 +18,9 @@ salt: salt_api: salt-api salt_ssh: salt-ssh + python-cherrypy: python-cherrypy + python-tornado: python-tornado + master: gitfs_provider: gitpython From 8a1b8dc9db3781b46db1000205802fc864ba75cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jochum?= Date: Mon, 13 Jul 2015 13:46:17 +0200 Subject: [PATCH 2/2] Fix salt/api.sls. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: René Jochum --- salt/api.sls | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/salt/api.sls b/salt/api.sls index 820c3498b..9c1fa1361 100644 --- a/salt/api.sls +++ b/salt/api.sls @@ -9,40 +9,39 @@ include: {%- set cfg_salt = pillar.get('salt', {}) %} {%- set cfg_master = cfg_salt.get('master', {}) %} -salt-api: +salt_api_install: pkg.installed: - - name: {{ salt_settings['salt-api'] }} + - name: {{ salt_settings['salt_api'] }} service.running: - name: {{ salt_settings.get('api_service', 'salt-api') }} - require: - - service: {{ salt_settings.get('api_service', 'salt-api') }} {%- if 'rest_cherrypy' in cfg_master %} - - pip: salt-api-cherrypy + - pip: salt_api_cherrypy {% elif 'rest_tornado' in cfg_master %} - - pip: salt-api-tornado + - pip: salt_api_tornado {% endif %} - watch: - pkg: salt-master - file: salt-master {%- if 'rest_cherrypy' in cfg_master %} -salt-api-cherrypy: +salt_api_cherrypy: pkg.purged: - name: {{ salt_settings['python-cherrypy'] }} pip.installed: - name: cherrypy - require: - - pkg: salt-api-cherrypy + - pkg: salt_api_cherrypy - pkg: pip_extensions {% endif %} {%- if 'rest_tornado' in cfg_master %} -salt-api-tornado: +salt_api_tornado: pkg.purged: - name: {{ salt_settings['python-tornado'] }} pip.installed: - name: tornado - require: - - pkg: salt-api-tornado + - pkg: salt_api_tornado - pkg: pip_extensions {% endif %}