Centos
Saltstack rpm 軟體包安裝失敗
所以我在執行 salt -G ‘os:centos’ state.apply 時遇到了這些錯誤
---------- ID: filebeat Function: pkg.installed Result: False Comment: An exception occurred in this state: Traceback (most recent call la st): File "/usr/lib/python2.6/site-packages/salt/state.py", line 1744, in call **cdata['kwargs']) File "/usr/lib/python2.6/site-packages/salt/loader.py", line 1702 , in wrapper return f(*args, **kwargs) File "/usr/lib/python2.6/site-packages/salt/states/pkg.py", line 1442, in installed **kwargs) File "/usr/lib/python2.6/site-packages/salt/modules/yumpkg.py", l ine 1111, in install rpm_info = __salt__['lowpkg.bin_pkg_info'](pkg_source) File "/usr/lib/python2.6/site-packages/salt/modules/rpm.py", line 120, in bin_pkg_info for field in pkginfo._fields: AttributeError: 'NoneType' object has no attribute '_fields' Started: 07:57:34.542126 Duration: 10800.412 ms
變化:
這是我的 .yml 文件的一部分。
filebeat: pkg.installed: {% if grains['os'] == 'Debian' or 'Ubuntu' %} - sources: - filebeat: https://artifacts.elastic.co/downloads/beats/filebeat/filebeat- 5.1.2-amd64.deb {% elif grains['os'] == 'Centos' %} - sources: - filebeat : https://artifacts.elastic.co/downloads/beats/filebeat/filebeat -5.1.2-x86_64.rpm {% endif %}
好的,我以遲鈍的方式進行了這項工作,也許有時有人會在這裡告訴我更好的方法。
filebeat: pkg.installed: {% if grains['os'] == 'Debian' or 'Ubuntu' %} - sources: - filebeat: https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.2-amd64.deb {% endif %} {% if grains['os'] == 'CentOS' %} - sources: - filebeat: https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.2-x86_64.rpm {% endif %}