【nova】【libvirt】【glance】创建VM的过程中的 镜像创建过程

看了一下OpenStack+Libvirt+KVM的配置下, 创建虚拟机的过程中Image创建过程。

1. 找到 虚拟机的创建函数:/opt/stack/nova/nova/virt/libvirt/driver.py中的:

       def spawn(self, context, instance, image_meta, injected_files,
              admin_password, network_info=None, block_device_info=None):
        disk_info = blockinfo.get_disk_info(CONF.libvirt.virt_type,
                                            instance,
                                            image_meta,
                                            block_device_info)

2. 在spawn函数中,可以看到第一步就是创建 iamge的函数调用:

           self._create_image(context, instance,
                           disk_info['mapping'],
                           network_info=network_info,
                           block_device_info=block_device_info,
                           files=injected_files,
                           admin_pass=admin_password)

3. 在这个函数中就是VM的image的创建过程了。其中有个比较重要的处理就是对于desk的处理:

             self._try_fetch_image_cache(backend, fetch_func, context,
                                        root_fname, disk_images['image_id'],
                                        instance, size, fallback_from_host)

4。其实这个函数依然是 调用的image.cache, 而image对象是 /opt/stack/nova/nova/virt/image.py 中的fetchXXX方法。这个方法最终到达glance的download,从而将image从glance下载到compute host本地。当然这个过程中还有几次的转换,从image--》imagecache--》download中的api。先写到这里,稍后补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值