您可以使用 nova 客户端创建风味,如以下代码示例所示:
from keystoneauth1 import loading
from keystoneauth1 import session
from novaclient import client
AUTH_URL = 'http://10.10.10.200:35357/v3'
USERNAME = 'admin'
PASSWORD = 'password'
PROJECT_NAME = 'admin'
USER_DOMAIN_NAME = 'Default'
PROJECT_DOMAIN_NAME = 'Default'
loader = loading.get_plugin_loader('password')
auth = loader.load_from_options(auth_url=AUTH_URL, username=USERNAME, password=PASSWORD, project_name=PROJECT_NAME, user_domain_name=USER_DOMAIN_NAME, project_domain_name=PROJECT_DOMAIN_NAME)
sess = session.Session(auth=auth)
nova = client.Client(NOVA_API_VERSION, session=sess)
def create_flavor(name, ram, vcpus, disk):
nova.flavors.create(name=name, ram=ram, vcpus=vcpus, disk=disk)
# Call the function to create flavor
create_flavor('test', 1024, 1, 10)
# Call help on flavor create function to know all the parameters the function accepts
help(nova.flavors.create)
您可以使用 requests 库来创建风格,如下面的示例代码所示。
您必须替换端点 IP、管理员租户 ID、令牌 ID 等
import json
import requests
def create_flavor():
url = 'http://10.26.12.31:8774/v2.1/5a56b817ec7342a9a6c0eea26f591621/flavors'
token = 'gAAAAABZY1-p4Sb24NXsGGEAPG9Sg_cjDIGs2TUeBt5V256sU0sapnzAnLKkgLkY8cAVz1DfoKYKP7Yct6xcGqojm49ssWnPNoJTZ7AvZqECvXYXeS-xZB5Zjk22TIoo_WFnLXimMf3xmT04zkJVDZqSxc1jGzM21KQXKbAWXCi6NDbeKgqSgXw'
headers = {'X-Auth-Token': token, 'Content-Type': 'application/json'}
flavor_details= {'flavor': {'name':'test','ram':1024,'vcpus':2,'disk':10}}
response = requests.post(url, data=json.dumps(flavor_details),headers=headers)
print response
create_flavor()