OpenStack-Cinder卸卷接口代码走读(Grizzly)

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

卸卷接口os-detach ,接口参数有:【卷ID】

1.  Os_detach接口属于openstack的扩展接口,其controller是volume_action.py中的VolumeActionsController类

2.  通过routes的URL映射,卸卷的请求被dispatch到了volume_action.py中的VolumeActionsController类,并调用卸卷的方法def __detach (self,req, id, body):

3.  该方法首先从request取到context内容,然后根据卷ID从库中取出卷对象,接下来调动volume_api.detach方法,即调用api.py中的detach方法

4.  Api.py的attach方法直接调用volume_rpcapi.detach_volume方法,通过消息队列,调用manager.py中VolumeManger类的detach_volume方法。该方法直接调用driver中detach_volume方法,如果driver有异常,则会将数据库中volume状态置为error_detaching,并继续向上抛出异常。如果处理成功,会将数据库中卷状态置为: 'available',挂载点置为NONE,挂载状态置为detached, 虚拟机UUID置为NONE.最后为解决bug:https://bugs.launchpad.net/cinder/+bug/1065702,如果发现在卷的provider_location属性中不含有卷name时,会重新生成provider_location属性。

5.  由于卸卷业务主要在nova中进行,Cinder中的driver对卸卷的实现都是pass或者未实现。


OpenStack】虚拟机在线迁移失败问题及解决办法 声明: 本博客欢迎转发,但请保留原作者信息! 新浪微博:@孔令贤HW; 博客地址:http://blog.csdn.net/lynn_kong 内容系本人学习、研究和总结,如有雷同,实属荣幸! version:OpenStack Grizzly 2013.1.2 hypervisor:KVM shared  storage: no 1、问题描述 我的环境上有一台虚拟机 阅读详情

相关推荐

【运维篇】删除Cinder僵尸

删除cinder僵尸   问题描述:          最近清理openstack环境,在删除cinder云硬盘时,出现数据删不掉,一直处理于deleteing状态。         查询/var/log/cinder下面的日志信息,无报错。于时开始地毯式的搜索解决问题的办法,无意间在网上找到一篇文章,用于处理cinder中僵尸。附地址: http://blog.csdn.n

GIS+=地理信息+云计算+大数据+容器+物联网+... 5485

OpenStack-Cinder强制接口代码走读Grizzly)上

1.  Os-force_detach接口属于openstack的扩展接口,其controller是admin_action.py中的VolumeAdminController类 2.  通过routes的URL映射,强制的请求被dispatch到了admin_action.py中的VolumeAdminController类,并调用强制的方法def _force_detach(se

sxmatch的技术人生 1459

OpenStack】Nova中的create_image

Nova中的create_image 本博客欢迎转发,但请保留原作者信息 新浪微博:@孔令贤HW; QQ:363210168 博客地址:http://blog.csdn.net/lynn_kong 内容系本人学习、研究和总结,如有雷同,实属荣幸! 更新记录: 2013.4.22  增加G版中对live snapshot的约束 在Nova的core api中,对于虚拟机(se

代码改变世界 5658

Cinder常用命令

代码Cinder常用命令。

qq_57515401的博客 744

OpenStack-Cinder代码走读Grizzly)上

刚开始学习OpenStack,第一次走读代码,有很多不懂的地方,欢迎大家指正。 这块也是在看代码过程中写下的笔记,记录在这里: 1.  api-paste.ini中定义了请求消息的路由路径,分为V1,V2两个版本的API。 2.  [composite:openstack_volume_api_v1] 3.  [composite:openstack_volume_api_v2]

sxmatch的技术人生 1299

OpenStack-Cinder强制接口代码走读Grizzly)下

4.  在terminate_connection方法中的主要作用就是清除connector所表示的主机和之间的connection,首先根据volume_id从DB中取出volume_ref,然后调用响应driver的terminate_connection方法,该方法在不同的driver中实现完全不同,有些driver中直接pass,例如在iscsidriver,sheepdogdriver

sxmatch的技术人生 1469

OpenStack-Cinder接口代码走读(Grizzly)

接口os-attach,接口参数有:【ID,要挂的虚拟机的UUID,挂载点】 1.  Os_attach接口属于openstack的扩展接口,其controller是volume_action.py中的VolumeActionsController类 2.  通过routes的URL映射,挂的请求被dispatch到了volume_action.py中的VolumeActio

sxmatch的技术人生 1544

OpenStack-Cinder代码走读Grizzly

http://blog.csdn.net/sxmatch/article/details/8839892 刚开始学习OpenStack,第一次走读代码,有很多不懂的地方,欢迎大家指正。 这块也是在看代码过程中写下的笔记,记录在这里: 1.  api-paste.ini中定义了请求消息的路由路径,分为V1,V2两个版本的API。 2.  [composite:openst

ztejiagn的专栏 1353

OpenStack-Cinder代码走读Grizzly)END

25.volume_rpcapi.create_volume是调用manager.py中的create_volume方法,   该方法先从数据库中取出volume的信息,然后调用  volume_utils.notify_about_volume_usage方法(是不是通知RabbitMQ?)。然后继续从volume信息中取vol_name,vol_size,并且如果入参中有snapshot_id

sxmatch的技术人生 1196

CentOS 6.4 Openstack Grizzly 安装配置 (Open VSwitch 单节点)

转载请注明出处,谢谢 微博:http://weibo.com/u/2644902257 欢迎大家一起讨论交流! 参考文献 Red Hat OpenStack Preview https://access.redhat.com/site/documentation/Red_Hat_OpenStack_Preview/ CentOS 6.3 Openstack Folsom 安

1万+

openstack cinder中的iscsitarget和tgt

根据《Ubuntu13.04安装OpenStack Grizzly》,安装Cinder组件: apt-get install-y cinder-api cinder-scheduler cinder-volume iscsitargetopen-iscsi iscsitarget-dkms 在/etc/cinder/cinder.conf文件中,更改对应iscsitarget 组件的配置:

epugv的专栏 7113

OpenStack-Cinder代码走读Grizzly)中

继续 11.除了name和description外,然后根据参数中volume_type的ID,从数据库中获取对应的volume_type的值,放入kwargs中,如果volumeType未找到,则会报异常。 12.取metadata参数,放入kwargs中 13.如果参数中有snapshot ID参数,则从数据库中取快照的信息放入kwargs中,否则置为none; 14.取s

sxmatch的技术人生 1059

OpenStack-Cinder代码走读Grizzly)下

20.调用Quita的方法创建reservations(应该是资源的预留).这块如果有异常,会分为volume size不足和volume个数不足抛异常。 21.获取availability_zone参数,如果为null,则取默认值。如果请求中没有volume_type和source_volume,则volume_type去默认值,如果请求中没有volume_type,但是有source_v

sxmatch的技术人生 884

openstack Grizzly多节点部署方案

从F版就开始用github上推荐的一个多节点部署方案,但是由于之前出现问题没有把耐心放的足够多,在F版上遇到的网络问题没有解决。刚好现在这个阶段有时间,于是又重新按这里提供的多节点部署G版方案,把G版部署到了物理机上,目前我的这个集    群已经正常运行。以下就按这里提供的方案,将其装载翻译过来,并指出我自己在安装过程中遇到的问题。     他提供的至少要求是三个节点,每个节点上跑ubu

胡伟的专栏 3379

OpenStack Grizzly 安装指南(Openvswitch模式)

内容列表 0. 简介 1. 环境搭建 2. 控制节点 3. 计算和网络节点 4. OpenStack使用 5. 参考文档 0. 简介 OpenStack Grizzly安装指南旨在让你轻松创建自己的OpenStack云平台。 状态: Stable 1. 环境搭建 节点角色: NICs 控制节点: eth0 (10.10.10.51), eth

xiaoliang_199的专栏 2114

OpenStackGrizzlycinder-volume时序图

崔炳华 1806

OpenStackGrizzlyCinder基本状态图

崔炳华 1563
上一篇: OpenStack-Cinder挂卷接口代码走读(Grizzly)
下一篇: ubuntu环境下cinder-bakup服务添加方法
sxmatch
博客等级 码龄19年 15粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值