【发布时间】:2017-11-19 11:51:38
【问题描述】:
我正在使用 Salt Stack 使某些事情完全自动化。我目前正在通过 Salt Stack 使用 RPM 安装 Artifactory v5.3.2。我能够让它安装并正常工作,但开始从盐堆栈中收到误报错误。
目前在CentOS Linux release 7.3.1611 (Core) 上运行,带有来自here 的无主盐栈(仅用于测试目的)。根据 Artifactory 文档;他们建议使用 yum 安装 rpm 包。 Installing Artifactory OSS from an RPM disribution。
我知道有两个用于类似用例的盐公式,但是这些对于我们的需求来说过于复杂了。我试图为他们发布这两个网址,但 saltstack 的声誉不足以让我这样做。
在下载 rpm 并将其放置在正确的目录之后.. 使用此盐堆栈配置在第一次尝试安装时无法正常工作:
jfrog-artifactory-oss.noarch:
pkg.installed:
- source: salt://path/conf/jfrog-artifactory-oss-5.3.2.rpm
返回如下错误消息:
ID: jfrog-artifactory-oss.noarch
Function: pkg.installed
Result: False
Comment: Error occurred installing package(s). Additional info follows:`
errors:
- Running scope as unit run-2994.scope.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.steadfast.net
* epel: mirror.steadfast.net
* extras: repo.us.bigstepcloud.com
* updates: mirrors.lga7.us.voxel.net
No package jfrog-artifactory-oss available.
Error: Nothing to do
Started: 15:51:12.374898
Duration: 11271.36 ms
Changes:
将此配置用于盐:
jfrog-artifactory-oss.noarch:
cmd.run:
- name: yum install -y /srv/salt/prod/path/conf/jfrog-artifactory-oss-5.3.2.rpm
第一次运行,但第二次使用这种格式运行它会返回如下错误:
stderr:
Error: Nothing to do
stdout:
Loaded plugins: fastestmirror
Examining /srv/salt/prod/path/conf/jfrog-artifactory-oss-5.3.2.rpm: jfrog-artifactory-oss-5.3.2-50047.noarch
/srv/salt/prod/path/conf/jfrog-artifactory-oss-5.3.2.rpm: does not update installed package.
现在,不要让事情变得混乱.. 如果我安装了 artifactory,然后我恢复到使用 pkg.installed 方法安装它的第一种方法,事情会按预期工作,返回一条成功消息说'所有指定的软件包都已安装'。
通常,这种误报是由于未在 salt state 文件中使用正确的包名称引起的,因此运行 yum list installed 会返回 jfrog-artifactory-oss.noarch,以确保我在 salt state 中使用了正确的命名。
无论是否更新软件包,我都希望能够成功完成这项工作;无需使用提供的盐公式使我们的设置过于复杂。
任何帮助/建议将不胜感激。
【问题讨论】:
-
我认为您应该使用
- sources(复数形式)作为pkg.installed的参数。包名也可能是jfrog-artifactory-oss,没有.noarch。最后一部分是包的架构,如果我没记错的话,它不是包名称的一部分。 -
因此,当使用
- sources时,我收到一条错误消息:“来源”参数格式无效。请参阅 minion log .. 检查 minion log 时出现相同的错误。即使将名称更改为jfrog-artifactory-oss -
使用 yum 安装 rpm 后,pkg.installed 方法返回预期的结果似乎没有多大意义。但是,在第一次尝试安装时使用 pkg.installed 方法根本不起作用。
-
我在正确安装 java jdk 时也遇到了这个问题。好奇是否可能是由于没有真正的盐大师造成的。可能需要启动一个 master 并以这种方式进行一些测试。
标签: jenkins artifactory salt-stack