chef-infra - 厨师警告“没有找到配置文件:/solo.rb。改用命令行选项。”
问题描述
我试图在 vagrant 机器上安装 apache2 服务器。Ubuntu 16.04 是我的 vagrant-box,并使用 chef 作为基础设施提供工具。当我尝试执行sudo chef-solo -c solo.rb
命令时,显示以下警告并且没有安装任何内容。
vagrant@chef:/vagrant$ sudo chef-solo -c solo.rb
[2019-05-23T15:01:24+00:00] WARN: *****************************************
[2019-05-23T15:01:24+00:00] WARN: Did not find config file: /solo.rb. Using command line options instead.
[2019-05-23T15:01:24+00:00] WARN: *****************************************
[2019-05-23T15:01:24+00:00] WARN: No cookbooks directory found at or above current directory. Assuming /var/chef.
[2019-05-23T15:01:24+00:00] WARN: *****************************************
[2019-05-23T15:01:24+00:00] WARN: Did not find config file: /solo.rb. Using command line options instead.
[2019-05-23T15:01:24+00:00] WARN: *****************************************
Starting Chef Client, version 14.12.9
resolving cookbooks for run list: []
Synchronizing Cookbooks:
Installing Cookbook Gems:
Compiling Cookbooks...
[2019-05-23T15:01:28+00:00] WARN: Node chef has an empty run list.
Converging 0 resources
Running handlers:
Running handlers complete
Chef Client finished, 0/0 resources updated in 02 seconds
节点.json:-
{
"run_list":[
"recipe[webserver::install_apache]"
]
}
要煮的食谱是 install_apache.rb:-
package "apache2" do
action :install
end
# A resource
service "apache2" do
action [:start,:enable]
end
配置文件solo.rb:-
CHEF_ROOT="/vagrant"
cookbook_path "#{CHEF_ROOT}/cookbooks"
json_attribs "#{CHEF_ROOT}/node.json"
我检查了solo.rb、cookbooks 目录的权限,发现一切正常。
厨师--版本:-
Chef Development Kit Version: 3.10.1
chef-client version: 14.12.9
delivery version: master (9d07501a3b347cc687c902319d23dc32dd5fa621)
berks version: 7.0.8
kitchen version: 1.24.0
inspec version: 3.9.3
我刚刚开始学习 Chef 并没有发现任何提示为什么会发生该警告!
解决方案
之所以提出这个问题,是因为它没有搜索为 /file 的路径,sudo chef-solo -c solo.rb
刚刚给出的命令。提供文件的完全限定路径。我认为在 /vagrant 中-c ./solo.rb
也可以。我只是编辑命令sudo chef-solo -c /vagrant/solo.rb -j /vagrant/node.json
并很好地执行
推荐阅读
- r - 来自 2 个选择输入的数据表
- mysql - 授予对当前数据库的 MySQL 权限?
- elasticsearch - 根据对象值从 Elasticsearch 文档中的列表中删除大对象
- r - r中的多个.txt列表到数据框
- r - Shiny-Server 是否需要运行 HTMLWidget?
- serialization - 颤振序列化儿子列出对象抛出异常
- c - 使用 strcmp 和 char *arr[] 的分段错误
- javascript - 如何在 Kotlin 中定义一个全局 js 函数?
- node.js - 在 graphql-yoga 中定义一个 Mutation 参数
- assembly - 如何将内存地址转换为代码段地址?