【发布时间】:2020-04-27 10:30:04
【问题描述】:
我的 Saltstack 及其 top.sls 有问题。不幸的是,并非我在 top.sls 中的所有状态都将应用于 minion。
这是我的 top.sls
# master top.sls
base:
'G@salt_control:true':
- automount
- chrony
- columbus
- db_db2
- db_hana_tdi
- db_maxdb
- db_ora
- db_ora-nonsap
- db_sybase
- dnsmasq
- facts
- grub
- iptables_rule
- lama_sync
- ldap_hosts
- ldap_services
- logrotate
- lvm
- nsswitch
- ntp
- company_base
- company_profile
- pam_krb5
- pam_ldap
- postfix
- rear
- resolv
- rsyslog
- salt-minion
- sap_cc
- sap_ci
- sap_di
- sap_trx
- sap_wd
- ssh
- sssd
- systemd
- sysstat
- tsm
- userdef
- zypper
'G@cpuarch:ppc64le':
- lpar2rrde
如果我在服务器上运行 highstate,则不会应用所有状态。 我可以毫无问题地自己运行任何状态。例如,状态“company_base”将不会通过运行 highstate 来应用。如果我单独应用它,没有问题。
当我运行“salt-call state.show_top”时,状态也会显示出来。
这是我的 Salt Master 配置:
top_file_merging_strategy: same
fileserver_backend:
- git
- roots
state_top_saltenv: base
gitfs_remotes:
- git@gitserver:team/salt.git:
- saltenv:
- base:
- ref: master
- dev:
- ref: development
我奴才的谷物(/etc/salt/grains):
salt_control: true
这是 company_base 的内容:
{% from "company_base/map.jinja" import company_base with context %}
##
# add companyrpm signing key
company_rpm_signing_key:
cmd.run:
- name: rpm --import http://repo.company.lan/pub/RPM-GPG-KEY-COMPANY
- unless: "rpm -q gpg-pubkey | grep -q gpg-pubkey-XXXXX-XXXXXX"
##
# install company packages
company.scripts:
pkg.installed:
- name: company-dep-scripts
- refresh: true
##
# install uc4
uc4_packages:
pkg.installed:
- pkgs:
- uc4
##
# install default packages
default_base_packages:
pkg.installed:
- pkgs:
{% set pkg_list = company_base.pkgs.get(grains.cpuarch) %}
{% for pkg in pkg_list %}
- {{ pkg }}
{% endfor %}
getroot_sudo:
file.managed:
- name: /etc/sudoers.d/01-admin
- contents:
- "# salt managed {{ sls }}"
- "%basis ALL=NOPASSWD:/bin/su - admin"
- "admin ALL=(ALL) NOPASSWD:ALL"
- user: root
- group: root
- mode: 440
神社地图:
{% set company_base = salt['grains.filter_by']({
'Suse': {
'pkgs': {
'x86_64': [
'"hostinfo"',
'"tcpdump"',
'"uc4"',
'"getroot"',
'"libX11-6-32bit"',
'"company-dep-pa-001"',
'"pmg_scripts"',
'"company-dep-scripts"',
'"pam_ssh"',
'"psmisc"',
'"telnet"',
'"tcsh"',
'"libgcc_s1"',
'"libatomic1"',
],
'ppc64le': [
'"hostinfo"',
'"tcpdump"',
'"uc4"',
'"getroot"',
'"company-dep-pa-001"',
'"pmg_scripts"',
'"company-dep-scripts"',
'"psmisc"',
'"telnet"',
'"tcsh"',
'"libgcc_s1"',
'"libatomic1"',
],
},
},
} ) %}
有什么想法吗?
【问题讨论】:
-
你能提供
company_base的净化内容吗? -
您在运行 highstate 时是否遇到任何错误或堆栈跟踪?
-
您好 Utah_Dave,感谢您的回复。我刚刚在最上面的帖子中添加了州代码。谢谢。
-
登录到 minion 时运行
salt-call state.apply -l debug,然后发布任何堆栈跟踪或错误。谢谢! -
salt-call state.highstate -l debug可能会更好,因为这是 highstate no 的问题?
标签: salt-stack