У меня проблема с моим Saltstack и его top.sls. К сожалению, не все мои состояния из top.sls будут применяться миньоном.
Вот мой 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
Вот содержимое базы компании:
{% 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"',
],
},
},
} ) %}
Есть идеи?