Articles of saltstack

如何通过pip使用salt来安装python模块?

我需要在多台机器上使用salt stack来安装python的paramiko模块。 我查看了有关如何执行此操作的文档,但无法理解语法。 有人可以请逐行解释我在下面的代码片段中发生了什么: python-pip: pkg.installed virtualenvwrapper: pip.installed: – require: – pkg: python-pip 另外,你可以添加一个示例代码片段,通过pip使用salt来安装多个python模块吗?

通过saltvalidationconfiguration更改

背景:最近我在我们的服务器上发现了一个问题,那里的zookeeper不会从其中一个启动。 这是由myid文件是空的(它需要一个数字)造成的。 执行盐没有解决它。 事实certificate,这个问题是由最近一次主机名更改造成的。 我修正了sls文件,但任何这样的调整可能会导致它再次打破。 所以,我的问题是:我可以用盐来validation某些更改是否正确应用? 在这种情况下,我可以检查文件的大小或validation内容是否包含单个数字。 理想情况下,这将作为一个国家执行的一部分,但如果有另一种方式,我很乐意听到它。 具体来说,我并不是想自己validation或删除状态文件。 我只是想确保最终结果在一定程度上是有效的。 例如,该文件包含一个单一的数字,而不是空的。

自动重试configuration推或Ansible或Saltstack?

我试图为500-2000个非常地理分布的主机selectconfigurationpipe理系统。 由于不同的networking可靠性,可能会有多个主机在任何时候暂时不可用。 出于这个原因,我最初的select是厨师,因为它使用“拉”模式,当主机上网和登记时,他们会立即得到当前的configuration。 但是,如果我的主机只会每30分钟轮询一次Chef服务器的新configuration,则不可能进行快速部署。 另外,我不是Rubyist。 我宁愿使用基于推送的模型,我可以尽可能快地将configuration推送到主机。 所以,自然select似乎是Ansible或SaltStack(可能是SaltStack)。 但是我的问题是:Ansible和SaltStack如何处理失败或失败的主机? 有什么方法可以在主机重新联机之前一直保持重试吗? 是否存在用这些工具正确处理停机主机一致性的模式? 谢谢!

Saltstack:Jinja错误:如何获取包含错误的SLS文件名和行号?

重构我的sls文件后,我得到这个错误信息。 我创build了新的sls文件,并使用include指令拥有更多模块化的公式。 salt:/srv # salt-ssh w123 -v state.sls monitoring Executing job with jid 20160512154840991359 ——————————————- [ERROR ] Rendering exception occurred :Jinja variable 'system_home' is undefined [CRITICAL] Rendering SLS 'base:monitoring.service' failed: Jinja variable 'system_home' is undefined w123: – Rendering SLS 'base:monitoring.service' failed: Jinja variable 'system_home' is undefined 我怎样才能得到的SLS文件名和行号variables是不确定的?

Fedora Server 25的防火墙问题。 在每次开机时,端口22,80,443被阻塞,必须停止firewalld

我在一个虚拟机中安装了Fedora Server 25,并使用SaltStack通过这个步骤来安装NextCloud 。 我遇到的问题是防火墙太严格,阻塞了端口22,80和443.根据walk-thru创build者的build议,我编辑了SaltStack“nextcloud.sls”文件,但是没有帮助: #line108 FedoraServer: firewalld.present: – name: FedoraServer – block_icmp: – echo-reply – echo-request – default: False – masquerade: True – ports: – 22/tcp – 80/tcp – 443/tcp – 9090/tcp 我可以做些什么来打开这些端口,所以我不必在每次启动时都停止firewalld服务? 谢谢。 编辑:所以,即使删除后,从nextcloud.sls脚本- firewalld (在install_network_packages: pk.installed:防火墙仍在启动,并阻止我需要的所有端口。 必须有别的Fedora服务器重写SaltStack脚本和启用防火墙… ??

消沉和盐堆

有没有人使用stormpath来validation用户名/密码与saltstack? 而不是创build新的用户和/或从数据库获取它,我想知道是否有人正在使用stormpath从saltstack获取数据(身份validation用户/通行证)。 有这个API吗? 如果有人有一个例子,请张贴。 谢谢。

salt config.get不会返回软件包的安装状态

我已经使用nodejs在我的salt- nodejs (Centos 6.6)上安装了nodejs , manager-requirements: pkg.latest: – pkgs: – nodejs nodejs , nodejs安装,我可以使用它。 当我在salt-master上运行config.get来获取安装状态时,它会返回空白条目。 salt '*' config.get pkg:nodejs 回报, Minion-host-name: 我期望在返回值中的nodejs安装状态为True ,但它不在那里。 是config.get正确的界面来查询安装的软件包的小工具?

如何使用salt-cloud命令设置主机名

我正在使用盐云创build新的aws实例: salt-cloud -p base_ec2_micro test.mydomain.com 但是,实例将其ip作为主机名。 我能做些什么来设置fqdn作为主机名? 谢谢

SaltStack:我如何configurationminion使用不同的发布者端口?

现在,我在NAT后面有一个salt-master ,master的4505和4506端口已经映射到路由器上的44505和44506端口。 有一个master_port选项,但我认为只有端口4506更改为44506.如何configurationminion使用44505而不是4505当连接到这个主人?

Saltstack找不到捆绑

也许我不明白cmd是如何工作的,但是这里是我正在使用的一些configuration。 这曾经是一个jruby安装,但我们正在转向MRI,因此jruby用户名: /home/jruby/tmp/rvm-install.tgz: file.managed: – source: salt://canned/rvm-1.26.11-install_files.tgz – makedirs: True – user: jruby – group: jruby – mode: 0644 – require: – user: jruby rvm-install: cmd.run: – name: "tar xzf tmp/rvm-install.tgz" – cwd: /home/jruby – shell: /bin/bash – user: jruby – group: jruby – require: – pkg: ruby-deps – file: /home/jruby/tmp/rvm-install.tgz bash-init: file.append: – name: […]