科里奥利命令行客户端

python-coriolisclient的Python项目详细描述


  • 许可证:apache许可证,2.0版
  • PyPi-包安装

命令行api

科里奥利命令行api提供了一个接口,而不是由 科里奥利移民局。

科里奥利斯使用keystone进行身份管理。凭据和终结点可以 通过环境变量或命令行参数提供 大多数openstack命令行界面(cli)工具支持的方式,例如:

export OS_AUTH_URL=http://example.com:5000/v2.0
export OS_USERNAME=admin
export OS_PASSWORD=blahblah
export OS_TENANT_NAME=admin

秘密

为了迁移虚拟工作负载,Coriolis需要访问外部 环境,如vmware vSphere、aws、azure等

包括凭据在内的连接详细信息可以存储在barbican中, OpenStack的安全存储和机密管理项目:

VMWARE_CONN_INFO='{"host": "example.com", "port": 443, "username":
"user@example.com", "password": "blahblah", "allow_untrusted": true}'

barbican secret store --payload "$VMWARE_CONN_INFO" \
--payload-content-type "text/plain"

返回的Secret href是要按顺序引用的机密的ID 访问其内容。

提供者

provider是支持给定云或 虚拟环境,如openstack、azure、aws、vmware vSphere等。

提供程序有两种类型:源和目标。例如,当 将虚拟机从vmware vSphere迁移到openstack,wmware_vsphere是 原点和openstack目标。

目标环境

目标环境定义一组特定于提供程序的参数,这些参数可以 覆盖由科里奥利工作进程设置的默认选项。例如在 对于openstack的提供者,以下json格式的值允许 指定原点和中子网络之间的自定义映射,以及 迁移实例的特定nova风格和自定义工作映像名称:

TARGET_ENV='{"network_map": {"VM Network Local": "public", "VM Network":
"private"}, "flavor_name": "m1.small", "migr_image_name": "Nano"}'

开始迁移

可以迁移各种类型的虚拟工作负载,包括实例, 模板、网络配置和存储。

以下命令从vmware迁移名为VM1的虚拟机 vSphere到OpenStack:

coriolis migration create --origin-provider vmware_vsphere
--destination-provider openstack --origin-connection-secret $SECRET_REF
--instance VM1 --target-environment "$TARGET_ENV"

列出所有迁移

以下命令检索所有迁移的列表,包括 状态:

coriolis migration list

显示迁移详细信息

迁移可能是相当长的运行任务。这个命令对 检索当前状态和所有进度更新:

coriolis migration show <migration_id>

取消迁移

挂起或正在运行的迁移可以随时取消:

coriolis migration cancel <migration_id>

删除混合

只能删除处于挂起或错误状态的迁移。运行迁移 需要先取消:

coriolis migration delete <migration_id>

python api

python接口与底层rest api匹配,cli和 可用于第三方项目:

>>> from coriolisclient import client
>>> c = client.Client(session=keystone_session)
>>> c.migrations.list()
[...]
>>> c.migrations.get(migration_id)
[...]

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

推荐PyPI第三方库


热门话题
java ParsePushReceiver参数   java如何从设备读取完整数据?   java将java_设置为home,但忽略错误   java如何从歌曲中对专辑进行排序?   java libnaude+windows 10 x64+Eclipse   java如何将maven目标更改为如图所示的想法中的quickicon?   java swing布局中心面板,可滚动显示多个窗口窗格   使用MOSQUITO代理的mqtt中的java SSL   java如何通过属性值获取XML字符串   java在服务器每次启动时停止GWT编译   java如何让javac搜索类路径的子目录?   可以比较java中的两个不同类吗?   JAVAAndroid活动内部类中的lang.NoClassDefFoundError   java HttpServletRequest获取请求头参数块   C++socket与java客户端的连接   java如何在Apache commons http客户端上使用SSL客户端证书   使用预编译正则表达式模式提高java速度   JavaRhino将两个已编译脚本合并为一个脚本