问题标签 [lwrp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
chef-infra - 包括来自另一本食谱的 Chef LWRP
我写了一个小的 LWRP 我的app
食谱 ( trim_log
),它可以工作。但是,现在我正在尝试将这个特定的 LWRP 移到commons
食谱中,以便我的其他食谱也可以使用它。问题是我无法弄清楚如何将trim_log
资源/提供者加载到任何食谱中,包括我的app
食谱。
我已经trim_log
在 commons 食谱中定义了提供者/资源。现在我希望在食谱中使用这个trim_log
提供者/资源。app
我怎样才能让它在那里可用?
ruby - 在 chef lwrp 中安装、要求和使用 ruby 库
我正在编写一个 LWRP 来使用 API 密钥为 redis 数据库播种以允许身份验证。我的麻烦是将redis库用于ruby。我四处搜索并在网上找到了一些示例,但对我没有任何帮助。
我在 AWS OpsWorks 上运行它,所以它使用的是 chef-solo
我尝试在我的运行列表中包含一个安装 redis gem 的配方(https://github.com/brianbianco/redisio/blob/master/recipes/redis_gem.rb)
我还尝试在食谱中安装它们 gem。
或者
这是我在厨师跑步时遇到的错误
我是红宝石的新手,所以任何和所有的帮助都非常感谢,谢谢。
django - 使用 python_application 厨师食谱
我正在尝试使用 application_python 食谱提供的 django 资源:https ://github.com/opscode-cookbooks/application_python
如果遵循
https://github.com/opscode-cookbooks/application_python/blob/master/examples/recipes-packaginator.rb中提供的示例
并在 mt 元数据上声明depends application_python
,我收到以下错误:
No resource found for django. Tried application_django, application_python_django, django
因此,我尝试遵循使用“application_python_django”资源而不是“django”资源从另一本食谱中包含 Chef LWRP中的建议。我得到了:
No resource found for application_python_django. Tried application_application_python_django, application_python_application_python_django, application_python_django
有趣的是,如果我删除应用程序资源并只留下 application_python_django 资源,抱怨是:
You must supply a name when declaring a application_python_django resource
!!!所以似乎找到了资源。因此,如果声明资源名称,则执行配方,但不执行 django 资源的任何操作(实际上,很多参数都丢失了,这些参数在应用程序资源中)。
啊,如果我删除应用程序并仅将资源保留为 django,还可以得到:
Cannot find a resource for django on ubuntu version 12.04
好吧,我很迷茫。
我的食谱最初的尝试是:
tks,莱昂纳多
python - 如何在 Opsworks/Chef 11 中使用 python LWRP
我是 Chef/OpsWorks 的新手,正在尝试一个简单的方法在 Ubuntu 12.04 实例上安装 Django 1.6:
我的 providers/pip.rb 和 providers/virtualenv.rb 似乎覆盖了表面上已经加载的内容:
但是当我尝试使用 python_pip 时,我收到一个错误:
我试过添加depends "python"
我的 metadata.rb,但这没有帮助。任何建议表示赞赏。
我的食谱“python”的目录结构:
chef-infra - 如何让厨师自定义 lwrp 实现通知和 not_if?
我编写了一个自定义轻量级资源。但是 notify 和 only_if 不被识别。
其他人得到这个工作?
我在 opsworks 用品资源中使用这些。所以我知道我正确地使用它们。不幸的是专有代码,所以我不能发布代码。
ruby - 厨师食谱 lwrp,使用 new_resource.updated_by_last_action(true) 的最简单方法
我正在为厨师 10 编写 LWRP。当该资源在其他食谱中运行时,如果发生了变化,则应将其标记为“updated_by_last_action”。但如果一切都没有改变。updated_by_last_action 应该是假的。
例如,我有厨师文档http://docs.opscode.com/lwrp_custom_provider.html#updated-by-last-action。该示例将资源模板包装在一个变量中以测试它是否已更改,然后设置 updated_by_last_action 状态。所以我的代码应该是这样的
但是,如果提供者变得更大并使用大量资源,如模板、文件、目录、挂载等。所有这些资源是否应该像示例一样包含在变量中以查明资源是否已更新,然后进一步发送此提供程序已更新的状态。
我想知道是否有一种更简单、更清洁的方法来运行new_resource.updated_by_last_action(true)
其他方法,然后将所有资源包装在变量中。因为如果我只是在 LWRP 被标记为在每次厨师运行时更新之前放入一个new_resource.updated_by_last_action(true)
内部,这不是最佳的。action
end
ruby - 从 Chef LWRP 更新节点标签
对于给定的用例,我需要通过自定义 LWRP 更新节点的标签。我尝试了两种方法:
使用“标签”/“取消标签”。这会产生错误:
/li>使用
node[:tags].concat(<new_tags_array>)
. 这有效,但标签不会持续存在,所以我不能用它来搜索。
我在这里缺少什么吗?
谢谢
编辑:实际上,问题是:甚至可以从提供者更新节点属性吗?
EDIT2:所以这正确设置了标签:
但是,标签在每次运行 chef-client 时都会重置,因此如果您在包含这些新标签之前检查它们是否存在(在第二次 chef-client 运行中),您将不会获得任何标签。
ruby - Chef 提供程序中 load_current_resource 中的未定义方法“exists=”
在编写提供程序(用于 Datastax Opscenter 集群资源)时,我需要了解任何当前存在的具有相同 cluster_id 的集群,因此load_current_resource
在提供程序中编写了一个方法。我的问题是在运行时(作为在 Vagrant 实例上运行的 chef-solo)我收到一个错误:
在下面的方法@current_resource.exists = false
之后if response.code != 200
。
食谱是opscenter
,资源和提供者都在名为 的文件中cluster.rb
,并且引用的属性肯定存在,因此资源类的名称至少应该是正确的,并且属性至少应该是正确的。
关于为什么我的 @current_resource 对象没有exists=
方法的任何想法?
chef-infra - 需要自定义 LWRP
我被困在试图创建我的第一个 lwrp
我在以下位置创建了一个非常基本的资源 + 提供者:
我一直在尝试在同一本食谱的食谱中测试“rack_site”资源,但由于找不到资源的错误而失败。我尝试将这两个文件移动到我作为依赖项添加的食谱中,但仍然失败。
必须做什么才能将自定义资源用于配方?
chef-infra - 为什么 LWRP 自定义定义给我 nil:NilClass 的未定义方法
我对此 LWRP 的自定义定义有问题。
资源:user_postgresql。
提供者:user_postgresql。
和改变动作。
还有我的load_current_resource:
这是错误:
为什么 current_resource 在action :alter
定义中为零???