科里奥利命令行客户端
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) [...]