ソースを参照

Install cherrypy/tornado from pip only if use_pip is True.

Signed-off-by: René Jochum <rene@jochums.at>
tags/v0.57.0
René Jochum 9年前
コミット
90282eff03
3個のファイルの変更50行の追加13行の削除
  1. +4
    -0
      pillar.example
  2. +44
    -11
      salt/api.sls
  3. +2
    -2
      salt/defaults.yaml

+ 4
- 0
pillar.example ファイルの表示

@@ -38,6 +38,10 @@ salt:
debug: False
disable_ssl: False

api:
# Installs the latest version of cherrpy/tornado from pip.
use_pip: True

# salt minion config:
minion:


+ 44
- 11
salt/api.sls ファイルの表示

@@ -2,12 +2,15 @@

{% from "salt/map.jinja" import salt_settings with context %}

{%- set cfg_salt = pillar.get('salt', {}) %}
{%- set cfg_master = cfg_salt.get('master', {}) %}
{%- set use_pip = salt['pillar.get']('salt:api:use_pip', False) %}

include:
- salt.master
{%- if use_pip %}
- pip.extensions

{%- set cfg_salt = pillar.get('salt', {}) %}
{%- set cfg_master = cfg_salt.get('master', {}) %}
{%- endif %}

salt_api_install:
pkg.installed:
@@ -15,20 +18,31 @@ salt_api_install:
service.running:
- name: {{ salt_settings.get('api_service', 'salt-api') }}
- require:
{%- if use_pip %}
{%- if 'rest_cherrypy' in cfg_master %}
- pip: salt_api_cherrypy
{% elif 'rest_tornado' in cfg_master %}
{%- elif 'rest_tornado' in cfg_master %}
- pip: salt_api_tornado
{% endif %}
{%- endif %}
{%- else %} # if use_pip
{%- if 'rest_cherrypy' in cfg_master %}
- pkg: salt_api_cherrypy
{%- elif 'rest_tornado' in cfg_master %}
- pkg: salt_api_tornado
{%- endif %}
{%- endif %}
- watch:
- pkg: salt-master
- file: salt-master

{%- if use_pip %}
{%- if 'rest_cherrypy' in cfg_master %}
salt_api_cherrypy:
pkg.purged:
- name: {{ salt_settings['python-cherrypy'] }}
pip.installed:
pkg:
- purged
- name: {{ salt_settings['python_cherrypy'] }}
pip:
- installed
- name: cherrypy
- require:
- pkg: salt_api_cherrypy
@@ -37,11 +51,30 @@ salt_api_cherrypy:

{%- if 'rest_tornado' in cfg_master %}
salt_api_tornado:
pkg.purged:
- name: {{ salt_settings['python-tornado'] }}
pip.installed:
pkg:
- purged
- name: {{ salt_settings['python_tornado'] }}
pip:
- installed
- name: tornado
- require:
- pkg: salt_api_tornado
- pkg: pip_extensions
{% endif %}

{%- else %} # if use_pip

{% if 'rest_cherrypy' in cfg_master %}
salt_api_cherrypy:
pkg:
- installed
- name: {{ salt_settings['python_cherrypy'] }}
{% endif %}

{% if 'rest_tornado' in cfg_master %}
salt_api_tornado:
pkg:
- installed
- name: {{ salt_settings['python_tornado'] }}
{% endif %}
{%- endif %}

+ 2
- 2
salt/defaults.yaml ファイルの表示

@@ -18,8 +18,8 @@ salt:
salt_api: salt-api
salt_ssh: salt-ssh

python-cherrypy: python-cherrypy
python-tornado: python-tornado
python_cherrypy: python-cherrypy
python_tornado: python-tornado

master:
gitfs_provider: gitpython

読み込み中…
キャンセル
保存