我正在厨师和stream浪汉工作。 我正在尝试使用php-fpmconfigurationnginx,并使用chef-solo启动新的服务器。 这是我的stream浪文件的configuration。 Vagrant.configure(2) do |config| config.vm.box = "ubuntu-15.10" config.vm.box_url = 'https://cloud-images.ubuntu.com/vagrant/wily/current/wily-server-cloudimg-amd64-vagrant-disk1.box' config.vm.network "private_network", ip: "182.217.46.65" config.vm.provision :chef_solo do |chef| chef.run_list = [ "recipe[nginx-php-fpm]" ] end 当我运行vagrant了一切运行完美,但nginx不安装,并在stream浪的情况下stacktrace我得到例外。 Chef::Exceptions::CookbookNotFound: Cookbook nginx not found. If you're loading nginx from another cookbook, make sure you configure the dependency in your metadata /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.7.2/lib/chef/cookbook/cookbook_collection.rb:38:in `block in initialize' /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/ohai-8.10.0/lib/ohai/mash.rb:77:in `yield' /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/ohai-8.10.0/lib/ohai/mash.rb:77:in […]
我有一个如下所示的配方: service "xyz" do :action nothing end file "xyz.conf" do … notfies :restart, "service[xyz]", delayed end file "xyz.props" do … notfies :restart, "service[xyz]", delayed end 正如你可以看到延迟通知是一个很好的方法,以确保重新启动只触发一次,只有当更改,但我的问题是延迟通知在厨师客户端运行结束时触发,我有食谱后,这需要服务重新启动,有没有办法我可以做配方结束重新启动? 目前我正在研究可能检查run_context.delayed_notification_collection来查看服务是否被通知并在警卫中使用。 所以在配方结束时我可以这样做: service "xyz" do action :restart only_if notification_for("service_restart") end 有没有人有更好的想法?
我需要一个用于构buildpython cli包的综合构build器框。 我想在这个stream浪者箱子上使用这本食谱 我以root身份运行它,因为omnibus安装程序需要使用/ opt中的数据来检查某些内容 我的vagrantfile看起来像这样: # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "centos65opscode" # config.vm.provision "chef_solo" do |chef| # chef.add_recipe "omnibus" # end config.librarian_chef.cheffile_dir = "chef" config.vm.provision :chef_solo do |chef| chef.cookbooks_path = "chef/cookbooks" chef.add_recipe "omnibus" end end 由于stream浪者的图书pipe理员厨师插件似乎没有做任何事情我手动添加所有的依赖关系: 我得到这个错误: ==> default: NameError ==> default: ——— ==> […]
从Rails应用程序中,我需要在Amazon AWS上configuration和pipe理服务器。 前段时间我一直在使用厨师独奏和刀做这个,但从命令行。 这将有可能从代码内部做同样的事情吗? 任何指针如何启动?
我正在使用Chef 12.5.0,最近我发现在更新之后,报告不再工作。 所以我执行了: opscode-reporting-ctl reconfigure 并得到以下错误: 致命错误:用户“opscode-pgsql”的密码authentication失败 于是我查看了食谱opscode-reporting来检查Cookbook从哪里获得凭据。 它看起来只是从节点属性获取一切。 这是我的第一个问题:我的节点没有任何与食谱中的属性相匹配的属性(如报告)。 所以在我的理解厨师不能得到任何属性,因为没有定义在这个节点上定义所需的一个。 这是奇怪的部分,cookbook以某种方式发现用户使用(opscode-pgsql)进行身份validation。 我尝试更改属性文件中的密码,但这并没有帮助,也是错误的用户,因为提到的用户不存在于属性文件中。 我怎样才能带回厨师报告?
用例如下: 用户在他的Linux系统中有一个Flat File 。 该文件是一个人类可读/可编辑的文件,其中包含在系统上运行的应用程序的所有必需组件的configuration。 例如,用户具有“A”,“B”和“C”组件的应用程序“APP”。 而“平面文件”则包含“A”,“B”和“C”的configuration,如下所示: A Parameter1: value1 Parameter2: value2 Parameter3: value3 .. .. B Parameter1: value1 Parameter2: value2 Parameter3: value3 .. .. C Parameter1: value1 Parameter2: value2 Parameter3: value3 .. .. 用户需要configuration实用程序来读取此文件,并在应用程序启动时使用与组件关联的REST API来适当地configuration组件A,B和C. 像Chef这样的configuration工具能否做到这一点? 否则,推荐任何其他能够做到这一点的开源工具。
所以我已经通过这个用户指南来从EBS支持的Opsworks实例创build一个AMI ,它似乎一直顺利,直到我试图从新的AMI启动Opsworks中的一个实例。 以下是安装日志的要点,因为它超出了邮政大小限制: https : //gist.githubusercontent.com/hailwood/d064476a06dff214436378afea6b1930/raw/3024f52a3a93fdd47e3f72ddd4ba5960cb8ff9e2/error.log 但从我所能告诉的是,那里没有什么有趣的地方。 然而,当我ssh进入实例,并检查出/var/chef/runs/42bb……/chef.log我注意到它的唯一内容是follwing(我已经分成两行,以便于阅读): /opt/aws/opsworks/current/bin/chef_command_wrapper.sh: line 96: /opt/chef/bin/chef-client: No such file or directory 运行一个find / -name 'chef-client'告诉我,chef-client实际上安装在/usr/bin/chef-client但我不确定这是否是成功运行chef的原因上面的错误日志。
我试图将ssh密钥从一个节点转移到另一个使用厨师刀ssh与密钥上的cat命令结合使用 cat ~/.ssh/001.rsa | knife ssh -i ~/.ssh/authkey.rsa 'name:myserver' 'mkdir -p ~/.ssh && cat >> ~/.ssh/id_rsa' -a cloud.local_ipv4 但是,只要我跑这个,bash的行为就像它的处理东西,但它卡住了…
我有一个安装了nrpe cookbook的节点,这个节点已经开始失败,我不确定为什么。 在Ubuntu 14.04上运行 我有一个简单的配方来创build一个NRPE检查 nrpe_check "check_load" do command "#{node['nrpe']['plugin_dir']}/check_load" warning_condition node['inenrpe']['nrpe']['check_load']['warning_condition'] critical_condition node['inenrpe']['nrpe']['check_load']['critical_condition'] action :add end 我的runlist在这个节点上(这不是我的nagios服务器)安装默认的NRPE配方和我的nrpe_check,但是现在我在我的厨师客户端运行期间发现错误,find一个资源? 我正在运行这个食谱“nrpe”的当前版本:“1.6.0” * nrpe_check[check_load] action add ================================================================================ Error executing action `add` on resource 'nrpe_check[check_load]' ================================================================================ Chef::Exceptions::ResourceNotFound ———————————- resource file[/etc/nagios/nrpe.d/check_load.cfg] is configured to notify resource service[nagios-nrpe-server] with action reload, but service[nagios-nrpe-server] cannot be found in the resource collection. file[/etc/nagios/nrpe.d/check_load.cfg] […]
在Ansible中,我可以使用shell脚本来提供要configuration的主机列表,在Chef中,我知道Chef Server提供了类似的function。 不过,我不想安装一个沉重的服务器来提供这个function,是否有任何解决方法,所以我可以在像Ansible这样的厨师做类似的事情?