从配置文件连接¶
为了使用 OpenStack 云,您首先需要使用您的凭据创建一个 Connection 与之连接。可以使用 3 种方式创建 Connection,即使用类本身(参见 连接)、文件或环境变量,如下所示。SDK 使用 os-client-config 来处理配置。
从文件创建连接¶
默认位置¶
要从文件创建连接,您需要一个 YAML 文件来包含配置。
clouds:
devstack:
auth:
auth_url: http://xxx.xxx.xxx.xxx/identity
password: password
project_domain_id: default
project_name: demo
user_domain_id: default
username: demo
identity_api_version: '3'
region_name: RegionOne
volume_api_version: '3'
devstack-admin:
auth:
auth_url: http://xxx.xxx.xxx.xxx/identity
password: password
project_domain_id: default
project_name: admin
user_domain_id: default
username: admin
identity_api_version: '3'
region_name: RegionOne
volume_api_version: '3'
devstack-alt:
auth:
auth_url: http://xxx.xxx.xxx.xxx/identity
password: password
project_domain_id: default
project_name: alt_demo
user_domain_id: default
username: alt_demo
identity_api_version: '3'
region_name: RegionOne
volume_api_version: '3'
example:
image_name: cirros-0.5.2-x86_64-disk
flavor_name: m1.small
要使用名为 clouds.yaml 的配置文件,请在默认位置之一
当前目录
~/.config/openstack
/etc/openstack
调用 from_config()。 from_config 函数接受三个可选参数
cloud_name 允许您指定来自
clouds.yaml文件的云。cloud_config 允许您传入现有的
openstack.config.loader.OpenStackConfig`对象。options 允许您指定一个命名空间对象,其中包含要添加到云配置的选项。
class Opts:
def __init__(self, cloud_name='devstack-admin', debug=False):
self.cloud = cloud_name
self.debug = debug
# Use identity v3 API for examples.
self.identity_api_version = '3'
def create_connection_from_config():
return openstack.connect(cloud=TEST_CLOUD)
def create_connection_from_args():
parser = argparse.ArgumentParser()
return openstack.connect(options=parser)
注意
要启用日志记录,请在 options 对象中设置 debug=True。
用户定义的位置¶
要在用户定义的位置使用配置文件,请将环境变量 OS_CLIENT_CONFIG_FILE 设置为文件的绝对路径。
export OS_CLIENT_CONFIG_FILE=/path/to/my/config/my-clouds.yaml
并调用 from_config(),并使用要使用的云配置的 cloud_name。
下一步¶
现在您已经可以创建连接,请继续使用 用户指南,了解 OpenStack 服务的相关信息。