得到chef.exceptions.chefserver错误:在ch中创建角色时不允许使用方法

2024-04-20 00:52:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用PyChef api创建一个角色。我能够成功地检索节点或角色列表(GET method),但当我试图创建一个角色(POST方法)时,我得到了一个运行时异常,即method not allowed。 这是我的代码:

import json
import requests
import re
import chef
from chef.exceptions import ChefError, ChefServerNotFoundError
from chef.base import ChefQuery, ChefObject
from chef import Role

pem_file = "path-to-validator.pem/chef-validator.pem"
client_name = "validator"
node_name = "root"
role_url = "ChefServer-URL/roles/"
rolelist =[]

chef_api = chef.ChefAPI(role_url,pem_file,client_name,ssl_verify=False)

create_role = chef.Role.create(name='myrole', api=chef_api ,description='A test role', run_list=['recipe[foo]'],default_attributes={'attr': 'foo'}, override_attributes={'attr': 'bar'})

rolelst = chef.Role.list()
for j in rolelst:
  rolelist.append(j)
print rolelist

我面临的错误是:

^{2}$

所以请给我一些建议,我如何解决这个错误。提前谢谢你。在


Tags: namefromimportclientapiurl角色pem