opentelekomcloud的openstack命令行客户端和sdk扩展

otcextensions的Python项目详细描述


OpenTelekomcloud扩展

https://travis-ci.org/OpenTelekomCloud/python-otcextensions.svg?branch=masterDocumentation Status

otc extensions是一个将otc扩展引入本机openstack的项目。 工具堆栈。目前包括以下项目:

  • python openstacksdk
  • python openstackclient

主要目标是提供使用本机openstack sdk和 带有OTC附加服务的cli

开始

开始的第一步是将otcextensions安装到 系统。为此,请遵循安装instructions

下一步将是逻辑配置

配置

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配置文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么这个循环打印1020之间的所有值?我想让它打印出可以被5整除的值   java如何在JTable中集中单元格   java无法通过一个键从hashmap获取对象,该键具有相同的hashcode,并且两个键等于()   不兼容的类型?JAVA   将字符串开头与空格匹配时java replaceAll的正则表达式混淆结果   java为非java应用程序创建jar文件。类文件   java无法从另一个普通Http Servlet访问筛选器Servlet的会话属性   java Ejb,第二个方法中的错误回滚第一个方法   swing java操作侦听器在菜单上,而不是在菜单项上   分析文件时出错:分析文件时出错:无法在Java的XSSF中分析excel文件   java将实体注入到ViewScope Bean中   java如何关闭终端而不终止正在运行的jar文件进程   爪哇力下传   java不能隐式地将[T]强制转换为AT,其中[T]扩展为AT   java Spring项目在jsp页面中显示mysql表数据   java在创建新实例SQLITE时出错