- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经为 SUSE 编写了一个 chef Recipe ,用于安装一个 package,其中正在安装它,但是每次当 chef-client 时它都会运行 enable 命令运行,即使配置没有变化。
Recipe 示例:
zypper_package 'apache2' do
action :install
end
service 'apache2' do
action [:enable, :start]
end
请指教,如何让它幂等?
最佳答案
我在使用 SuSE 时遇到过这种情况。至少对于我正在使用的 Chef 版本(12.13,不确定较新的版本) 似乎初始确定错误,因此查看服务是否已启用的内部测试无法正常工作.
最有趣的是,我发现在 SLES 11 上工作的提供商是 Chef::Provider::Service::Redhat
。我必须同时支持 11 和 12,所以我最终在资源定义中使用了 if block
service 'apache2' do
action [:enable, :start]
if node['init_package'] != 'systemd'
provider Chef::Provider::Service::Redhat
end
end
我只是花了 30 分钟的大部分时间翻阅我所有的 Recipe ,试图找到原作,但没能成功,我只是确认 SLES SP4 表现出您描述的行为,并且上面的内容修复了它
-----> Converging <default-sles-11-sp4>...
Recipe: apache_test::default
* zypper_package[apache2] action install (up to date)
* service[apache2] action enable (up to date)
* service[apache2] action start (up to date)
关于linux - 如何在 SUSE os 的 Chef 中制作一个 Chef Recipe 是幂等的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46974796/
我正在使用来自 chef 的软件包开发自定义 Recipe 。 我在 recipes 文件夹下创建了一个名为 apache.rb 的文件。 然后我通过 berks 上传了菜谱,并在一个节点上用 rec
I like to create a single Openrewrite migration jar that includes custom recipes and rewrite.yml
我正在尝试对一个模型进行 k 折交叉验证,该模型根据卫星图像预测树种断面积比例的联合分布。这需要使用 DiricihletReg::DirichReg() 函数,这反过来又需要使用 Dirichlet
在一本 Recipe 中,我有一个图书馆( client_helper.rb )。在其中定义了一个模块。模块名称为 客户 helper .这是模块代码。 module Client_helper #
我的 nginx Recipe 中有两个 Chef Recipe 。一个名为 default.rb,另一个名为 sites.rb。当我用 运行网站 Recipe 时 RUN_LIST=recipe[n
我有 Recipe base 和 Recipe myapp base 有 2 个配方 - my_java 和 java_with_custom_stuff 在 java_with_custom_stu
所以我使用以下配方: include_recipe "build-essential" node_packages = value_for_platform( [ "debian", "ubunt
我正在尝试使用 Vagrant 创建我的第一个 Chef Recipe ,但在第一步就遇到了问题。我的 Recipe 的第一行是: include_recipe "apt" 但是当我尝试 vagran
我已经下载了 Recipe “chef-jira”,现在我正在尝试在 Ubuntu 12.04 上使用 chef-solo/vagrant 运行它。 经过大量的谷歌搜索和 stackoverflow
我们有一个测试环境,由一台服务器、一台客户端和另一台作为工作站的客户端组成。 我知道命令 # knife cookbook site install apache2 但是这个命令会产生错误,因为我什至
我使用knife solo 使用.chef/knife.rb 定义的自定义模板创建了一个新文件夹和一个带有默认食谱的食谱。我的问题是我应该使用什么命令让刀使用该模板而不是使用 cp 创建新食谱? 类似
我是 Chef 的初学者。任何人都可以告诉我是否有一种方法可以将 Cookbook 的 files/default 目录中的目录复制到其他位置。 例如我在 files/ 目录中有一个包含文件 a.tx
我有一本包含 2 个食谱的食谱。 属性/default.rb default['vpn']['crt'] = 'nocrt' 默认配方具有创建通用 crt 文件的文件资源 file 'cert' do
我的情况是我有三本 Recipe ,每本都有一个写入/etc/hosts 文件的模板资源。 与其覆盖,我想附加: 第一本 Recipe 创建/etc/hosts 文件并写入第 1、2、3 行。 第二本
从我当前正在执行的食谱中,我想访问它在我的执行机器上的“当前”位置。 我需要它来访问它的缓存目录结构。 我有一种感觉,它位于“node[]”内的某个地方,但我根本找不到有关其结构的任何文档。 有什么建
z3c.recipe.scripts 和 zc.recipe.egg 似乎都在积极开发中。 z3c.recipe.scripts 描述为: The script recipe installs egg
我对 ModelMommy 有一段时间的烦恼,但我不知道如何正确地做到这一点。 让我们假设一个简单的关系: class Organization(models.Model): label =
我将一个 zip 文件放入 Recipe 中,然后将其上传到服务器后,我发现了这个错误。有人可以建议我解决此错误的正确解决方案吗... ERROR: Failed to upload ~/chef-r
我第一次使用 Chef,试图了解 Recipe 和 Recipe 。 我在配置我目前在我的角色文件中执行的标准 php 说明书后收到错误“mysql::client”失败: run_list( "
Glpk 需要使用configure make install 命令构建。所以我使用 zc.recipe.cmmi 配方来构建 glpk 包。它在 bin 目录中生成 glpsol 命令。我需要能够在
我是一名优秀的程序员,十分优秀!