opentelekomcloud的openstack命令行客户端和sdk扩展
otcextensions的Python项目详细描述
OpenTelekomcloud扩展
otc extensions是一个将otc扩展引入本机openstack的项目。 工具堆栈。目前包括以下项目:
- python openstacksdk
- python openstackclient
主要目标是提供使用本机openstack sdk和 带有OTC附加服务的cli
配置
openstack.config
推荐的方法,因为这是配置两个sdk的最有效方法 以及一个地方的cli
openstack.config将为1个云和 你想放多少就放多少。它将读取环境变量 和配置文件,它还包含一些特定于供应商的默认值,因此 使用openstack不需要知道额外的信息
- 如果您有一个配置文件,您将获得其中列出的云
- 如果您有环境变量,您将得到一个名为envvars的云
- 如果两者都没有,则会得到一个名为defaults的云,其基本默认值为
有时候一个例子很好。
创建一个clouds.yaml文件:
clouds:otc:auth:username:'USER_NAME'password:'PASS'project_name:'eu-de'auth_url:'https://iam.eu-de.otc.t-systems.com:443/v3'user_domain_name:'OTC00000000001000000xxx'interface:'public'identity_api_version:3# !Importantak:'AK_VALUE'# AK/SK pair for access to OBSsk:'SK_VALUE'
请注意:openstack.config将查找名为^{tt2}的文件$ 在以下位置:
- 当前目录
- ~/.config/openstack
- /etc/openstack
访问某些服务(即obs)所需的ak/sk值可以是 如上面在clouds.yaml/secure.yaml中所示进行配置,或者 自动从s3_access_key_id和s3_secret_access_key检索。 clouds.yaml/secure.yaml中的值优先于 环境。
使用此配置,您可以开始使用openstackcli,只要openstack --os-cloud otc
更多信息请访问https://developer.openstack.org/sdks/python/openstacksdk/users/config
老式方式
可以通过环境变量和命令行选项将cli配置为 列入 https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html 或者https://developer.openstack.org/sdks/python/openstacksdk/users/config。
通常使用用户名/密码进行身份验证:
export OS_AUTH_URL=<url-to-openstack-identity> export OS_IDENTITY_API_VERSION=3 export OS_PROJECT_NAME=<project-name> export OS_PROJECT_DOMAIN_NAME=<project-domain-name> export OS_USERNAME=<username> export OS_USER_DOMAIN_NAME=<user-domain-name> export OS_PASSWORD=<password> # (optional) export S3_ACCESS_KEY_ID=<access_key> export S3_SECRET_ACCESS_KEY=<secret_access_key>
相应的命令行选项看起来非常相似:
--os-auth-url <url> --os-identity-api-version 3 --os-project-name <project-name> --os-project-domain-name <project-domain-name> --os-username <username> --os-user-domain-name <user-domain-name> [--os-password <password>]
如果上面没有提供密码(纯文本),您将以交互方式 提示安全地提供一个。
也可以使用已获取的令牌执行身份验证 以及一个直接指向服务api的url,该api可能是 从服务目录:
export OS_TOKEN=<token> export OS_URL=<url-to-openstack-service>
相应的命令行选项看起来非常相似:
--os-token <token> --os-url <url-to-openstack-service>
除此之外,还可以使用常规的clouds.yaml配置文件