![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
openstack
文章平均质量分 71
Jorhson_Deng
这个作者很懒,什么都没留下…
展开
-
oslo_VersionedObject-openstack对象管理库
在RPC调用的时候,在请求端需要将对象模型转换成字典进行传输,在接收端需要将字典转换成相应的模型实例,因此出现了oslo.versionedobject基础库。将对象实例转换成字典,是序列化(serializer)的操作,本质上调用的是oslo_versionedobjects.base.VersionedObject.obj_to_primitive方法;原创 2023-09-28 09:21:42 · 146 阅读 · 0 评论 -
cinder的配额参数说明
cinder quota解析原创 2023-08-30 15:10:09 · 239 阅读 · 0 评论 -
openstack taskflow参数解析
openstack taskflow使用详解原创 2023-08-29 10:09:42 · 132 阅读 · 0 评论 -
oslo_messaging学习系列之二《OpenStack中使用消息队列》
rabbitmq系列原创 2022-09-29 15:02:07 · 1241 阅读 · 1 评论 -
oslo_messaging学习系列之一《rabbitmq基本概念》
本地Ubuntu虚拟机,用devstack搭建的OpenStack环境。1. 无法进入rabbitmq web界面原因:没有打开rabbitmq_management插件,需要执行命令rabbitmq-plugins enable rabbitmq_management2. 查看/etc/nova/nova.conf中的配置文件(rabbit://stackrabbit:6946895e654b5e05f4b6@192.168.117.156:5672),将用户名(stackrabbit..原创 2021-06-30 15:47:33 · 289 阅读 · 0 评论 -
Compute通过Conductor访问数据库方法
OpenStack组件通过oslo_messaging使用rabbitmq系列解析原创 2022-09-29 09:46:58 · 434 阅读 · 0 评论 -
OpenStack调试方法总结
OpenStack代码调试方法原创 2022-09-27 10:21:07 · 211 阅读 · 0 评论 -
OpenStack--虚拟机操作(挂起、暂停和搁置)
1 OpenStack虚拟机三种操作1.1 挂起和恢复(suspend和resume)挂起:openstack中的挂起(suspend)操作是将虚拟机的内存保存到磁盘中,会释放虚拟机在宿主机中的资源。调用libvirt中的方法是managedSave(0)方法,会将虚拟机的内存信息保存到/var/lib/libvirt/qemu/save/目录下。如果虚拟机再次启动的时候,会自动从该目录下,用内存文件启动;启动完成之后,该文件会自动消失。恢复:openstack中对挂起的虚拟机进行恢复.原创 2021-08-25 17:56:56 · 5504 阅读 · 2 评论 -
Openstack创建虚拟机--网卡创建过程
这个是一个渐进过程,现在还在整理过程中......一些基本的数据结构在创建虚拟机的时候,生成InstancePCIRequests对象,InstancePCIRequests对象是一个列表,这个列表中的元素是一组InstancePCIRequest,每个SRIOV端口都会对应一个InstancePCIRequest,会为每个SRIOV port都生成一个InstancePCIRequestInstancePCIRequests.requests.InstancePCIReq..原创 2021-08-25 16:33:25 · 654 阅读 · 1 评论 -
如何通过网页直接修改gerrit上面的代码
原因是:在用git 提交代码的时候,报错误:是因为HTTP密码的原因,但是生成界面的时候,一直无法生成密码:导致一直无法用git 提及提交代码,因此本次介绍一下如何通过网页来提交代码:S1: 找到相应的代码库S2: 找到要修改的库文件之后S3: 填写必要的信息S4: 点击CREATE,开启创建分支,点击EDIT,编辑文件S5: 点击ADD,选择要修改的文件,然后修改,publish,进行发布,即可完成...原创 2021-04-27 09:49:27 · 1590 阅读 · 2 评论 -
Openstack之定时任务
periodic_taskclass olso_service.periodic_task.PeriodicTasks(conf)Bases:objectadd_periodic_task(task)Add a periodic task to the list of periodic tasks(添加周期性任务到列表中).The task should already be decorated by @periodic_taskrun_perodic_tasks(con..翻译 2021-04-19 18:23:53 · 453 阅读 · 0 评论 -
openstack nova和neutron之间的event通信机制
1 前言在看openstack中的nova代码的时候,创建虚拟机和热迁移的时候,nova侧会创建event时间机制,然后会wait阻塞,直至neutron发送相应的通知消息。代码如下: def _create_guest_with_network(self, context, xml, instance, network_info, block_device_info, power_on=True,原创 2021-04-15 10:53:04 · 897 阅读 · 0 评论 -
Centos8.2版本中安装sasl出现问题
在centos8,2版本中,将sasl进行安装,安装过程如下:MECH已经配置成shadow方式但是在执行命令:出现认证失败的现象,现在还不知道怎么处理在centos7中没有这种问题原创 2020-11-16 15:04:36 · 750 阅读 · 0 评论 -
openstack--添加数据库表
https://blog.csdn.net/gzhouc/article/details/69757993?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_pa原创 2020-10-12 15:52:51 · 299 阅读 · 0 评论 -
python之with...as...以及在openstack中的应用详解
with语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的清理工作,来释放资源,比如文件使用后自动关闭,县城中锁的自动获取和释放等。with相关的术语:要是用with语句,首先要明白上下文管理器这一概念。有了上下文管理器,with语句才能工作。下面是一组与上下文管理器和with语句相关的概念。上下文管理协议(Context Managerment Protocol):包含enter()和exit()方法,支持该协议的对象要实现这两个方法。上下文管理器(Co.原创 2020-08-26 11:38:02 · 186 阅读 · 0 评论 -
openstack常用知识点
1. XML文件存放的位置:/etc/libvirt/qemu/原创 2020-08-05 11:19:08 · 166 阅读 · 1 评论 -
kolla部署的openstack环境中,调试支持SASL的调试记录
一、开启SASL认证memcached服务的方式:1. 在节点上安装memcached服务,yum list |grep memcached查找memcached安装包 yum install memcached.x86_64 ps -ef |grep memcached查看memcached服务是否开启2. 查看sasl服务是否开启 rpm -qa |grep sasl ps aux |grep saslauthd yum search sasl yum...原创 2020-08-03 10:29:14 · 259 阅读 · 0 评论 -
nova-重启云主机实例
1. nova/api/openstack/compute/servers.py文件中 def _action_reboot(self, req, id, body): reboot_type = body['reboot']['type'].upper() context = req.environ['nova.context'] instance = self._get_server(context, req, id) con原创 2020-08-02 17:44:23 · 830 阅读 · 0 评论 -
nova--关闭云主机实例
1. /nova/api/openstack/compute/servers.py def _stop_server(self, req, id, body): """Stop an instance.""" context = req.environ['nova.context'] instance = self._get_instance(context, id) context.can(server_policies.SERV原创 2020-08-02 15:43:03 · 858 阅读 · 0 评论 -
openstack源码解析---开启云主机
位于nova/virt/libvirt/driver.py def power_on(self, context, instance, network_info, block_device_info=None, accel_info=None):原创 2020-07-30 15:28:00 · 409 阅读 · 0 评论 -
Openstack之object文件夹专题说明——一
在逐渐接触openstack的过程中,意识到数据库的操作是整个应用程序的核心内容,因此,想专门针对obejct文件夹下面的各个类文件进行详细的介绍。同时介绍一些python的高级用法;openstack项目也是将python语言用的最纯火炉青的一个project,在阅读代码的过程中,感觉自己以前学习的python是那么的肤浅。...原创 2020-07-22 15:44:20 · 504 阅读 · 1 评论 -
openstack提交代码
参考文档:https://www.cnblogs.com/Security-Darren/p/4383838.html原创 2020-07-21 18:59:39 · 129 阅读 · 0 评论 -
openstack--接口添加以及RPC调用
本篇介绍自己在openstack代码开发中如何添加相应的接口的,以便后续再次用到的时候作为参考1. URL接口设计的形式为:POST http://192.168.117.156/compute/v2.1/servers/95322d5e-6b98-4380-a5e0-0cfbd8825662/actioncontent-type:application/jsonUser-Agent:python-novaclientX-Auth-Token:gAAAAABfFUsLXgejkDu2tFgu原创 2020-07-20 16:29:28 · 733 阅读 · 0 评论 -
Openstack RESTful调试
本篇介绍如何用Visual Studio向OpenStack发送命令1. 首先下载一个REST Client的插件,如下所示:2. 在openstack环境中,执行openstack token issue获取user id和project id3. 获取token信息其实第2步中的id已经是token信息了下面介绍如何通过RESTful命令获取该token信息将project_id和user_id填入到下面的字段中:POST http://192.168.117.原创 2020-07-19 16:18:08 · 197 阅读 · 0 评论 -
openstack登录问题
https://www.cnblogs.com/mrwuzs/p/11767178.html原创 2020-07-19 14:01:05 · 751 阅读 · 0 评论 -
keystonemiddleware支持SASL--系列3
这一篇写如何使用demo代码对keystonemiddleware进行测试。原创 2020-07-16 20:22:02 · 164 阅读 · 0 评论 -
keystonemiddleware支持SASL--系列2
step1:首先在keystonemiddleware组件的_opts.py文件中,将*.conf文件中的配置项读出来:[keystone_authtoken]memcache_sasl_enable = truememcache_usrname = usernamememcache_password = Password_OPTS = [ ......... cfg.BoolOpt('memcache_sasl_enable', defa原创 2020-07-16 19:35:01 · 145 阅读 · 0 评论 -
keystonemiddleware支持SASL--系列1
系列2:在实际测试中,发现nova在调用keystonemiddleware的时候,keystonemiddleware也会访问memcached服务。如果memcached开启SASL认证功能,而keystonemiddleware没有这个认证功能,就会出现访问失败的现象;在keystonemiddleware组件中的class AuthProtocol(BaseAuthProtocol)函数中会注册配置项:self._conf = config.Config('auth_token原创 2020-07-09 20:18:42 · 227 阅读 · 0 评论 -
openstack备份云主机还原
云主机创建实例的xml文件存放位置是:/etc/libvirt/qemu云主机如果带有数据云硬盘的话,其xml文件中的表示是: 第一个是作为系统盘 第二个是作为数据云硬盘 <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' io='native'/> <source dev='/dev/sde'/> <target原创 2020-07-09 23:13:39 · 679 阅读 · 1 评论 -
openstack支持SASL认证功能
前面利用demo代码实现了memcached在开启SASL功能的前提下的认证功能这一期将讲解如何将这一部分代码添加到openstack中的nova里面,实现该功能!可以看到openstack环境中memcached的版本是1.5.6(因为在安装openstack之后,这个memcached就已经存在,版本比较新,应该是支持-S的,所以无需重新进行编译!),libevent的版本是2.1.8现在在ubuntu中没有找到saslauthd守护进程,可能需要进行安装这个进程!执行apt ins原创 2020-06-29 19:16:26 · 260 阅读 · 0 评论 -
oslo.memcache如何支持SASL详解
backend = oslo_cache.memcache_poolthe backend is <oslo_cache.backends.memcache_pool.PooledMemcachedBackend object at 0x7f46bb3b2d68> 前面可以看到,如果.conf文件中的cache 组中的backend = oslo_cache.memcache_pool那么得到的backend就是oslo_cache.backends.memcache_pool..原创 2020-06-24 17:21:00 · 259 阅读 · 0 评论 -
openstack中oslo.cache模块的使用
openstack中关于oslo.cache模块,主要用于读取缓存中的数据需要用到的模块包括oslo.cache和dogpile.cache模块下面通过demo代码来具体说明oslo.cache模块是怎么使用的:1. cache.conf文件,这个文件主要是一些配置信息[cache]memcache_servers = 127.0.0.1:11211enabled = true#选择相应的存储后端,不同的存储后端,对应的不同的类型,后面代码中会有演示说明#backend = dog原创 2020-06-22 10:04:11 · 545 阅读 · 0 评论 -
telnet连接memcached并对其中的数据进行操作
telnet 127.0.0.1 11211添加修改命令格式:<command> <key> <flags> <exptime> <bytes>\r\n<data block>\r\n <command>:add, set或 replace <key> :缓存的名字 <flag>:16位无符号整数,和key要存储的数据一起存储,并在程序get缓存时,返回。原创 2020-06-19 15:02:24 · 518 阅读 · 0 评论 -
memcached开启sasl功能
【摘要】 memcached 是一套被广泛使用的开源高性能的、分布式内存对象缓存系统,基于C/S架构。OpenStack的Nova等组件使用memcached作为缓存系统,由于memcached默认不开启认证机制,导致客户端无需认证即可读取、修改缓存内容。本文介绍如何给memcached增加认证机制可以参考https://bbs.huaweicloud.com/blogs/108069首先安装sasl:执行rpm -qa | grep sasl查看是否有安装sasl功能模块...原创 2020-06-19 10:37:07 · 1904 阅读 · 0 评论 -
python 生成器和函数之间的区别
def fun(): print('this is a function!') ''' #secction 1 #no while loop, run follow code and exit! n = 0 yield n n = n+1 print('over!') ''' #section 2 n = 0 while True: yield n n = n+1 .原创 2020-06-12 11:16:23 · 372 阅读 · 0 评论 -
openstack代码调试
主要记录openstack代码如何进行调试的一个流程用的是devstack搭建的openstack,搭建完毕之后,想着用pdb进行单步调试,可以加深对代码的理解下面以nova api为例进行说明:首先安装remote_pdb工具,LOG.debug()是加上相应的打印信息,可以在/var/log/syslog文件中查看到在create函数中增加from remote_pdb import RemotePdbRemotePdb('127.0.0.1',4444).set_trace()原创 2020-05-22 15:37:49 · 460 阅读 · 0 评论