【问题标题】:How do I add a recipe to a chef run list?如何将食谱添加到厨师运行列表?
【发布时间】:2020-04-02 07:32:48
【问题描述】:

我有一个厨师节点,我正在尝试向其中添加食谱。目前,该节点在运行列表中有一个配方:

$ knife node show mynode
Node Name:   mynode
Environment: _default
FQDN:        mynode.domain
IP:          10.8.16.214
Run List:    recipe[mycb::myrecipe1]
Roles:
Recipes:     mycb::myrecipe1, ms_dotnet::ms_dotnet4, ms_dotnet::default, windows::default
Platform:    windows 6.3.9600
Tags:

我正在尝试将新配方 (mycb::recipe2) 添加到此节点的运行列表中:

$ knife node run_list add mynode 'recipe[mycb::myrecipe2]'
mynode:
  run_list:
    recipe[mycb::myrecipe1]
    recipe[recipes]

这个新配方recipe[recipes] 很奇怪。我没有一本名为食谱的食谱:

$ knife recipe-list
chef-sugar
chef_handler
chef_handler::json_file
mycb
mycb::myrecipe1
mycb::myrecipe2
ms_dotnet
ms_dotnet::ms_dotnet2
ms_dotnet::ms_dotnet3
ms_dotnet::ms_dotnet4
ms_dotnet::regiis
openssl
openssl::upgrade
sql_server
sql_server::client
sql_server::server
windows
windows::reboot_handler

我也没有一本叫做食谱的食谱:

$ knife cookbook list
chef-sugar     3.1.0
chef_handler   1.1.9
mycb           0.1.0
ms_dotnet      2.3.0
openssl        4.0.0
sql_server     2.2.3
windows        1.37.0

这是从哪里来的,我该如何添加正确的配方?

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    我猜你是在 PowerShell 上?请参阅 https://docs.chef.io/knife_node.html#id19 了解如何转义 knife node run_list add 呼叫

    【讨论】:

    • 确实是这个问题。一个悬而未决的问题是“为什么刀没有失败”。另外,knife.bat 应该替换为knife.ps1 :)
    【解决方案2】:

    注意:对于不使用 PowerShell 的其他用户。

    knife --version 返回Chef: 13.6.4 时,我能够重现相同的recipe[recipes] 问题

    • 损坏的knife 语法命令在recipe[my_cookbook] 附近缺少'

      knife node run_list add mynode recipe[my_cookbook]
      
    • 正确的knife 语法命令与'recipe[my_cookbook] 周围

      knife node run_list add mynode 'recipe[my_cookbook]'
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      相关资源
      最近更新 更多