Passed invalid arguments to state.highstate: 'bool' object is not iterable
Retrieve the state data from the salt master for this minion and execute it
test
Run states in test-only (dry-run) mode
pillar
Custom Pillar values, passed as a dictionary of key-value pairs
.. code-block:: bash
salt '*' state.highstate stuff pillar='{"foo": "bar"}'
.. note::
Values passed this way will override Pillar values set via
``pillar_roots`` or an external Pillar source.
.. versionchanged:: 2016.3.0
GPG-encrypted CLI Pillar data is now supported via the GPG
renderer. See :ref:`here <encrypted-cli-pillar-data>` for details.
pillar_enc
Specify which renderer to use to decrypt encrypted data located within
the ``pillar`` value. Currently, only ``gpg`` is supported.
下面是代码!!!!
#!py
#coding: utf-8
import subprocess
class MY_ERROR(Exception):
def __init__(self,value):
self.value=value
def __str__(self):
return self.value
#pillar 常用软件安装
def mysql():
mysql_sls_path='centos.public_services.mysql.'
required_keys=['version','port']
if __pillar__.has_key('mysql'):
mysql_d=__pillar__['mysql']
port=__pillar__['mysql']['port']
for key in required_keys:
if not mysql_d.has_key(key) or str(mysql_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
if not port or not 1024<int(port)<65535:
raise MY_ERROR('mysql port value error: %s'%(str(mysql_d['port'])))
cfg=mysql_sls_path+str(mysql_d['version'][0])
return cfg
return None
def nginx():
nginx_sls_path='centos.public_services.nginx.'
required_keys=['version']
if __pillar__.has_key('nginx'):
nginx_d=__pillar__['nginx']
for key in required_keys:
if not nginx_d.has_key(key) or str(nginx_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=nginx_sls_path
return cfg
return None
def phpfpm():
phpfpm_sls_path='centos.public_services.phpfpm.'
required_keys=['version']
if __pillar__.has_key('phpfpm'):
phpfpm_d=__pillar__['phpfpm']
for key in required_keys:
if not phpfpm_d.has_key(key) or str(phpfpm_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=phpfpm_sls_path
return cfg
return None
def java():
java_sls_path='centos.public_services.java.'
required_keys=['version']
if __pillar__.has_key('java'):
java_d=__pillar__['java']
for key in required_keys:
if not java_d.has_key(key) or str(java_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=java_sls_path
return cfg
return None
def tomcat():
tomcat_sls_path='centos.public_services.tomcat.'
required_keys=['version']
if __pillar__.has_key('tomcat'):
tomcat_d=__pillar__['tomcat']
for key in required_keys:
if not tomcat_d.has_key(key) or str(tomcat_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=tomcat_sls_path
return cfg
return None
def base_install():
base_sls_path='centos.public_services.base_install.'
required_keys=['version']
if __pillar__.has_key('base_install'):
base_d=__pillar__['base_install']
for key in required_keys:
if not base_d.has_key(key) or str(base_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=base_sls_path
return cfg
return None
def response_url():
response_url_sls_path='centos.public_services.response_url.'
required_keys=['url']
if __pillar__.has_key('response_url'):
response_url_d=__pillar__['response_url']
for key in required_keys:
if not response_url_d.has_key(key) or str(response_url_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=response_url_sls_path
return cfg
return None
def System_change_time():
System_change_time_sls_path='centos.public_services.changetime.'
required_keys=['totime']
if __pillar__.has_key('System_change_time'):
System_change_time_d=__pillar__['System_change_time']
for key in required_keys:
if not System_change_time_d.has_key(key) or str(System_change_time_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=System_change_time_sls_path
return cfg
return None
def redis():
redis_sls_path='centos.public_services.redis.'
required_keys=['version']
if __pillar__.has_key('redis'):
redis_d=__pillar__['redis']
for key in required_keys:
if not redis_d.has_key(key) or str(redis_d[key]).strip()=="":
raise MY_ERROR('key error! key: %s'%(str(key)))
cfg=redis_sls_path
return cfg
return None
def run():
config={}
config['include']=[]
mysql_cfg=mysql()
if mysql_cfg:
config['include'].append(mysql_cfg)
nginx_cfg=nginx()
if nginx_cfg:
config['include'].append(nginx_cfg)
php_cfg=phpfpm()
if php_cfg:
config['include'].append(php_cfg)
java_cfg=java()
if java_cfg:
config['include'].append(java_cfg)
tomcat_cfg=tomcat()
if tomcat_cfg:
config['include'].append(tomcat_cfg)
base_cfg=base_install()
if base_cfg:
config['include'].append(base_cfg)
response_cfg=response_url()
if response_cfg:
config['include'].append(response_cfg)
System_change_time_cfg=System_change_time()
if System_change_time_cfg:
config['include'].append(System_change_time_cfg)
redis_cfg=redis()
if redis_cfg:
config['include'].append(redis_cfg)
if config['include']==[]:
return {}
return config