支持多个云提供商的统一图像接口。

chromogenic的Python项目详细描述


显色

PyPI version

用于向多个云提供商发送图像的统一接口。

显色特征:

成像:

  • [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软件许可证

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

推荐PyPI第三方库


热门话题
java如何通过弹出消息或警报对话框验证多个edittext字段?   九人莫里斯游戏的java比特板表示法   java处理:如何阻止所有侦听器捕获鼠标事件   selenium我无法单击元素,没有错误WebDriver/Java/Firefox   多线程Java ReentrantLock,无法解锁锁   java将数据发送到Wampserver Android   Java 2D阵列和扫描仪   java在使用apache commons csv读取csv文件时跳过双引号   java Liberty Buildpack在部署War时偶尔暂停/冻结   java JavaFX日期选择器未更新值   java如何获取移动电话的公共IP地址?   java Mockito检查对象上是否调用了任何方法(对象已被访问)   java这个maven认证错误表明了什么?   java如何使用特殊字体(单元格中的文本以粗体、下划线甚至不同的字体颜色)添加到Jtable?   实例化可以是具体类或接口类的Java类   Java准备语句的Oracle错误“SQL命令未正确结束”(ORA0033)