2015-11-29 207 views
0

我试图让Saltstack与GitFS集成工作在Debian Squeeze。 Salt master和minions正在运行,GitFS通过GitPython工作(pip install 'GitPython==0.3.2.RC1')。Saltstack与GitFS“格式不正确的topfile”

Issue:当通过salt-call -l debug state.show_top请求顶层文件时,收到错误消息Malformed topfile (state declarations not formed as a list)。但是,如果我在本地克隆存储库并使用fileserver_backend: roots它工作正常。

一些调试代码:

[email protected]/# salt-call -l debug state.show_top 
[DEBUG ] Reading configuration from /etc/salt/minion 
[DEBUG ] Configuration file path: /etc/salt/minion 
[DEBUG ] Reading configuration from /etc/salt/minion 
[DEBUG ] Decrypting the current master AES key 
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem 
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem 
[DEBUG ] Mako not available 
[DEBUG ] Decrypting the current master AES key 
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem 
[DEBUG ] Reading configuration from /etc/salt/minion 
[DEBUG ] Decrypting the current master AES key 
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem 
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem 
[INFO ] Loading fresh modules for state activity 
[DEBUG ] Fetching file from saltenv 'development', ** attempting ** 'salt://top.sls' 
[INFO ] Fetching file from saltenv 'base', ** skipped ** latest already in cache 'salt://top.sls' 
[DEBUG ] Jinja search path: ['/var/cache/salt/minion/files/base'] 
[DEBUG ] Rendered data from file: /var/cache/salt/minion/files/base/top.sls: 
base: 
    '*': 
    - system.test 

production: 
    '[email protected]': 
    - match: compound 
    - system 

    '[email protected] and [email protected]:redis': 
    - match: compound 
    - redis.server 

    # TODO: 
    '[email protected] and [email protected]:queue': 
    - match: compound 
    - rabbitmq 

    # TODO: 
    '[email protected] and [email protected]:cronmaster': 
    - match: compound 
    - php.ng.cli 

    # TODO: 
    '[email protected] and [email protected]:consumer': 
    - match: compound 
    - php.ng.cli 

    '[email protected] and [email protected]:app_bob': 
    - match: compound 
    - app.bob 

    '[email protected] and [email protected]:app_alice': 
    - match: compound 
    - app.alice 

    '[email protected] and [email protected]:mysql': 
    - match: compound 
    - mysql 

development: 
    'vagrant': 
    - devtools 
    - redis.server 
    - mysql 
    - solr 
    - app.bob 
    - app.alice 

nodegroup: 
    aws: '[email protected]:aws' 
    avnet: '[email protected]:avnet' 

[DEBUG ] Results of YAML rendering: 
OrderedDict([('base', OrderedDict([('*', ['system.test'])])), ('production', OrderedDict([('[email protected]', [OrderedDict([('match', 'compound')]), 'system']), ('[email protected] and [email protected]:redis', [OrderedDict([('match', 'compound')]), 'redis.server']), ('[email protected] and [email protected]:queue', [OrderedDict([('match', 'compound')]), 'rabbitmq']), ('[email protected] and [email protected]:cronmaster', [OrderedDict([('match', 'compound')]), 'php.ng.cli']), ('[email protected] and [email protected]:consumer', [OrderedDict([('match', 'compound')]), 'php.ng.cli']), ('[email protected] and [email protected]:app_bob', [OrderedDict([('match', 'compound')]), 'app.bob']), ('[email protected] and [email protected]:app_alice', [OrderedDict([('match', 'compound')]), 'app.alice']), ('[email protected] and [email protected]:mysql', [OrderedDict([('match', 'compound')]), 'mysql'])])), ('development', OrderedDict([('vagrant', ['devtools', 'redis.server', 'mysql', 'solr', 'app.bob', 'app.alice'])])), ('nodegroup', OrderedDict([('aws', '[email protected]:aws'), ('avnet', '[email protected]:avnet')]))]) 
[DEBUG ] LazyLoaded .returner 
[DEBUG ] Decrypting the current master AES key 
[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem 
local: 
    - Malformed topfile (state declarations not formed as a list) 
    - Malformed topfile (state declarations not formed as a list) 
[email protected]/srv# salt-call --versions-report 
      Salt: 2014.7.1 
     Python: 2.6.6 (r266:84292, Dec 26 2010, 22:31:48) 
     Jinja2: 2.5.5 
     M2Crypto: 0.20.1 
msgpack-python: 0.1.10 
    msgpack-pure: Not Installed 
     pycrypto: 2.1.0 
     libnacl: Not Installed 
     PyYAML: 3.09 
      ioflo: Not Installed 
      PyZMQ: 13.1.0 
      RAET: Not Installed 
      ZMQ: 3.2.3 
      Mako: Not Installed 

回答

0

它出现的问题是关系到nodegroups。在盐源代码一些调试后,以下止跌回升:

[DEBUG ] Loaded minion key: /etc/salt/pki/minion/minion.pem 
local: 
    - [email protected]:aws 
    - Malformed topfile (state declarations not formed as a list) 
    - [email protected]:avnet 
    - Malformed topfile (state declarations not formed as a list) 

改变nodegroup使用列表后,一切正常。