支持多个云提供商的统一图像接口。
chromogenic的Python项目详细描述
显色
用于向多个云提供商发送图像的统一接口。
显色特征:
成像:
- [X]从OpenStack上的实例创建快照
- [X]从OpenStack上的实例创建图像
- [X]从Eucalyptus上的实例创建图像
导出:
- [~]导出云实例/映像,双击以启动.ova(VirtualBox设备)
- [~]将云实例/映像导出到独立可引导映像
- [X]将云实例/映像导出到vmware(vmdk)上的引导硬盘驱动器
- [X]将云实例/图像导出到原始或qcow2
迁移:
- [X]将图像从Eucalyptus迁移到OpenStack
- [X]在OpenStack提供程序之间迁移图像
- [X]在桉树供应商之间迁移图像
- []将图像从aws迁移到openstack
- []将图像从aws迁移到eucalyptus
清洁:
[X]删除由部署在'Atmosphere'中创建的特定数据
[X]删除用户主目录和非必需文件
[X]在不更改权限或删除文件的情况下清空日志
[X]-功能完成
[~]-功能正在进行中
[]-未来版本中不支持的功能
为什么使用显色剂?
云计算是它的“下一件大事”。无论您是在自己的服务器(eucalyptus、openstack)上使用私有云,还是在aws上运行实例,想法都是一样的。 单击一个按钮,等待几分钟(或更少!)瞧,一台电脑已经准备好了。你刚才说的是“rm-rf/”吗?没问题,只要关闭它并启动一个新实例,然后再试一次。
云计算的另一个巨大好处是快照/映像,它允许您将实例保存在当前状态,并使其作为可以启动的新映像提供。然而,在任何云提供商上成像都是一个多步骤、密集型的过程。
色素生成将所有的复杂性都带出去,并允许你运行一个命令来完成所有繁重的幕后操作。创建图像:
fromchromogenic.drivers.openstackimportImageManagercredentials={'username':'','tenant_name':'','password':'','auth_url':'','region_name':''}manager=ImageManager(**credentials)manager.create_image('75fdfca4-d49d-4b2d-b919-a3297bc6d7ae','my new name')
以下是幕后发生的事情:
创建图像时会发生什么情况?:
- 图像已清理(请参阅service/imaging/clean.py)
- 删除用户数据
- 大气特定数据被删除
- 删除日志文件、历史记录文件和一次性使用文件
- 注意:这些是许多系统调用,大多数调用是内联sed替换,以及其他系统级调用(truncate-s0<;file>;,rm<;file>;)
- 可用于从xen->;kvm转换的其他支持:
- 图像从“基于Xen”的图像转换为“基于KVM”的图像
- xen特定模块被移除,kvm特定模块被添加到它们的位置
- ramdisk包含使映像在ostack上启动所需的virtio模块。
假设:
所有命令都应作为根命令运行(因为chroot和mount命令)
你应该有至少两倍(2倍)的空闲空间,因为你将要创建的图像的大小,由于皮重,压缩和分离文件的过程。
有些命令必须在“chroot jail”中运行(有关详细信息,请参见chroot),chroot jail就是这样的:
mount -t proc /proc /mnt/proc/ mount -t sysfs /sys /mnt/sys/ mount -o bind /dev /mnt/dev/ <chroot.. Commands run (Installing packages, rebuilding the ramdisk).. Exit> umount /mnt/proc/ umount /mnt/sys/ umount /mnt/dev/
如何安装
pip install git+git://github.com/cyverse/chromogenic#egg=chromogenic
许可证
apache软件许可证