如何在Chef中创建测试用户,以便Pedant(chef-server-ctl测试)可以使用它们

时间:2018-09-13 09:29:58

标签: chef

我每隔一段时间在我的厨师服务器上运行chef-server-ctl test,以测试一切是否正常。我使用此测试的输出来使用监视软件监视厨师服务器。但是我发现即使在Pedant的配置中(chef-server-ctl test正在使用),它也位于/var/opt/opscode/oc-chef-pedant/etc/pedant_config.rb中,我有:

delete_org true

多次运行chef-server-ctl test后,仍有一些剩菜。另外,我指的是chef-server-ctl test为进行测试而创建并没有删除的组织和用户:

[example@example /]# chef-server-ctl user-list
pedant_nobody_chef_26547
pedant_testorg_chef_26547_owner
pedant_testorg_chef_30029_owner
pedant_user_chef_26547
pivotal
test-26547

有时Pedant会删除它们,有时在测试后它们不会被删除。我不知道这取决于什么。但这就是为什么我认为我将禁用在/var/opt/opscode/oc-chef-pedant/etc/pedant_config.rb中创建测试组织,而改用现有的组织。我想对用户做同样的事情。但是pedant_config.rb表示它需要五个不同的用户:

# Test users.  The five users specified below are required; their
# names (:user, :non_org_user, etc.) are indicative of their role
# within the tests.  All users must have a ':name' key.  If they have
# a ':create_me' key, Pedant will create these users for you.  If you
# are using pre-existing users, you must supply a ':key_file' key,
# which should be the fully-qualified path /on the machine Pedant is
# running on/ to a private key for that user.

superuser_name 'pivotal'

requestors({
             :clients => {
               :admin => {
                 :name => "pedant_admin_client_#{chef_server_uid}",
                 :create_me => true,
                 :create_knife => true,
                 :admin => true
               },
               :non_admin => {
                 :name => "pedant_client_#{chef_server_uid}",
                 :create_me => true,
                 :create_knife => true,
               },
               :bad => {
                 :name => "bad_client_#{chef_server_uid}",
                 :create_me => true,
                 :bogus => true
               }
             },

             :users => {
               # An administrator in the testing organization
               :admin => {
                 :name => "pedant_admin_user_#{chef_server_uid}",
                 :create_me => true,
                 :create_knife => true,
                 :admin => true
               },

               :non_admin => {
                 :name => "pedant_user_#{chef_server_uid}",
                 :create_me => true,
                 :create_knife => true,
                 :admin => false
               },

               # A user that is not a member of the testing organization
               :bad => {
                 :name => "pedant_nobody_#{chef_server_uid}",
                 :create_me => true,
                 :create_knife => true,
                 :associate => false
               },
             }
           })

我了解如何创建将成为测试组织管理员的用户(pedant_admin_user_#{chef_server_uid}截至目前在config中),如何创建将成为部分或组织但不是管理员的用户({{ 1}}),以及将不是测试组织成员的用户(pedant_user_#{chef_server_uid})。但是,如何从“ pedant_nobody_#{chef_server_uid}”部分而不是“ :clients =>”部分创建所有这些用户?我的意思是那些有名字的人:

:users =>

此配置对客户端意味着什么以及如何创建它们?

1 个答案:

答案 0 :(得分:0)

不要那样做。脚踏车不可继续使用。这是一个一致性套件,用作包装过程的一部分。它不用于公共用途,并且绝对不适用于真正的Chef Server实例。

如果要检查事情是否正在运行,请尝试使用chef-server-ctl status:)