My OpenStack Weekly Reports——社区

097634e9169c6777120550ad61afb6bc-1.jpg 立即下载

接触openstack社区的时间已经不短了,但是也就是在近段时间,我才感受到开源社区的魅力。

一个词形容我的心情:开心

要我说openstack社区里,最吸引人的地方,是下面的4个:


1. maililg list

以前吧,从来就不知道还有邮件列表这个东西,还以为老外都用MSN,像QQ一样开个高级群,都在里面讨论,传个文件啥的也方便,唉,太幼稚了。。。邮件列表中“会话”这个功能太好了,一个会话就是一个讨论的主题,可以看到一个问题被完整的讨论解决的过程。还有搜索的功能,想看一下邮件中有没有对某一个问题的讨论,直接搜关键字,就出来所有相关的会话。邮件列表绝对是解决疑难问题的一个有效路径。而且有什么问题还可以直接在邮件列表中问,也可以回答别人的问题,参与到讨论中去。只是现在我掌握的仍然较少,只有看的份。


2. bugfix

bugfix可能是现阶段的我所能做的最有意思的事了。默默的搜几个自己熟悉的High或Medium的bug,Assign me占下来,把Status改成In Progress,然后就改去了,改好之后,激动人心的时刻就来了, git review,然后就等待世界各地的工程师去审查了,这里我不得不夸奖老外两句,批评自己两句:

首先是认真,这是我在修的一个简单的bug : https://review.openstack.org/#/c/18640/, 已经提交了3个patch了,还没过,还得再提交第4个patch。第一个patch只加了一行代码,就改好了,但是评审说不安全,而且给出了修改的建议,这个建议给了我勇气,因为要修改的是已经写好的接口,风险比较大,于是我小心的改了,测试之后发现“一切正常”,就提交了第二个patch,结果第二个patch差点没把我晕死,Build都没成功,我很纳闷,不是已经“测试”过了吗?看过build log我才知道,原来是单元测试没有过,因为改了接口,还得去把单元测试的代码给改一下,否则build阶段不过,不能继续往后审查。于是改好tests之后,第三个patch上去了,又挂了,原因是新加上去的参数没有写doc string......自己做事真是太随便了,也是以前写程序的一些恶习,注释随便写,基本上没写过单元测试。

一个bug的提交过程真是学了太多的东西,吸取了很多教训。


3. blueprints

blueprints是对openstack新功能的开发。blueprints这个要求的水平较高,不像bug谁想修就修。通过看blueprints中介绍的各个新功能,能对openstack的发展方向有一个掌握,这个目前我还没有参与过,不过,我会努力达到这个水平的。


4. IRC meetings

IRC meeting是另一种沟通方式,是实时的,关于如何使用IRC,详见这篇文档: 如何使用IRC,总结的很好。各个子项目在每周的固定时间都要开一次 IRC meeting,来集中讨论重要的bug和blueprint,持续时间1个小时,但是由于这个时区问题,我关注的nova的召开时间是UTC时间周四晚上21:00,也就是北京时间的周五凌晨5点,唉,我可起不来,还是看log吧。


这也许就是开源的好处啊,开发过程公开,谁都可以参与到其中,但是又有非常好的管理方式,使得菜鸟也可以和世界级的顶级工程师一起coding,然后快速的成长。我要想个办法,让自己更快的成长!




智能体式AI漫游指南中文版 智能体式AI漫游指南中文版、智能体式AI指南英文原版 立即下载

相关推荐

国央企如何利用AI工具提升科技创新项目管理与成果转化能力?.docx

国央企如何利用AI工具提升科技创新项目管理与成果转化能力?

openstack nova 基础知识——Quota(配额管理)

很久没有写博客了,之前在学校的一段时间比较堕落,坐着火车从南到北,穿越长江黄河,来到了一片新的天地。在这里,不管男的女的,老的少的,在吃饭,在路上,我听到的不再是“游戏”这个永久不变的话题,更多的是在讨论“内核”、“高效”、“这段代码”、“这个算法”等等这些技术性的话题。我的想法是对的,我的选择是对的,很喜欢现在的环境,在这样的环境里,会让我成长更快。 正文: 一、什么是配额(quota)管理

成长的足迹 2万+

融合高斯扰动与竞争学习的改进型多目标部落竞争与成员合作算法(IMOCTCM)求解DTLZ1-DTLZ7及-盘式制动器设计研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并非聚焦于该主题,而是一份涵盖多个科研领域的Matlab/Simulink仿真资源汇总清单。文档列举了包括多目标优化算法(如IMOCTCM、MOWAA)、电力电子变换器控制(如LLC谐振变换器、DAB变换器)、电机控制(如PMSM无感控制)、状态估计(如卡尔曼滤波)、微电网调度、无人机路径规划、图像处理、信号处理等多个方向的仿真研究课题,涉及Matlab、Python、Simulink、PSCAD等多种工具和编程语言。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,表明其核心用途是推广和分享一系列科研仿真资料,服务于学术交流与资源共享。; 适合人群:适用于电气工程、自动化、控制科学与工程、电力系统、电子信息、机械电子、计算机科学等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①为科研工作者提供丰富的Matlab/Simulink仿真案例参考和技术实现思路;②辅助高校师生完成课程设计、毕业设计或学术论文复现工作;③通过获取开源共享资源加速个人或团队的项目开发与算法验证进程。; 阅读建议:该文档属于资源目录性质,缺乏连贯的技术论述与逻辑结构,建议使用者根据自身研究方向筛选相关条目,结合提供的代码和模型进行学习与实践,并注意核实所下载资源的有效性、完整性以及代码运行环境的兼容性。

openstack nova 基础知识——eventlet

激励自己的话: 站在nova的源码面前,不知该从何处开始,木有资料,木有人指导,只能自己去摸索。nova中,除了mysql是我以前就熟知的之外,其它全是陌生,这对我来说,真是一个不小的挑战。另外,就是看英文文档,就好像干嚼馒头一样,嚼得久了,才会觉得它甜,这也实在是没有办法。 登山的乐趣不在于到达山顶,而在于到达山顶的过程中,在此记录这个过程,希望我可以走到最后! 申明: 这里

成长的足迹 2万+

储能双向Buck-Boost+模型预测电流控制+电压下垂控制仿真【附参考文献】(Simulink仿真实现)

内容概要:本文档详细介绍了一套针对储能双向Buck-Boost变换器的Simulink仿真资源,融合模型预测电流控制与电压下垂控制策略,适用于微电网及分布式能源系统中的能量管理与稳定控制。仿真模型全面呈现了双向Buck-Boost电路在储能系统充放电过程中的动态行为,重点引入模型预测控制(MPC)与下垂控制相结合的先进控制算法,有效提升了系统的响应速度、稳定性与鲁棒性。文档不仅提供了完整的仿真模型结构与参数设置,还附有详实的参考文献,便于使用者深入理解控制原理并开展理论延伸研究,是电力电子、新能源系统等领域科研与教学的重要实践资料。; 适合人群:电气工程、自动化、新能源等相关专业的硕士博士研究生、科研人员以及从事电力电子变换器与微电网系统设计的工程师。; 使用场景及目标:①用于微电网中储能系统的建模与协调控制策略研究;②开展模型预测控制(MPC)与电压下垂控制在直流变换器中的联合应用仿真分析;③支撑高校电力电子课程实验、毕业设计及科研项目开发,深化对双向DC-DC变换器非线性特性和先进控制算法实现机制的理解。; 阅读建议:建议结合Simulink仿真模型与配套文档同步学习,重点关注控制器的设计逻辑、参数整定方法及系统动态响应特性,推荐对比传统PI控制与先进控制策略的仿真结果,以深入掌握不同控制方案的性能差异与优化路径。

【嵌入式】树莓派部署NCNN的YOLOv5模型

树莓派部署NCNN框架的YOLOv5模型

Ace_Spade的博客 3783

openstack nova 基础知识——libvirt和qemu(1)

又纠结了几天,终于到了可以写文章记录下来的时刻了。 简单的讲,nova最核心的功能就是对一大堆的虚拟机进行管理,虚拟机可以是各种各样(kvm, qemu, xen, vmware...),而且管理的方法也可以是各种各样(libvirt, xenapi, vmwareapi...),因为我的电脑不支持CPU的VT,而且以前在visualbox中装openstack,也只能使用qemu,所以这次测试

成长的足迹 2万+

从“看不懂Sansen”到亲手搭建:一个Class AB输出级+浮动电压源的保姆级设计复盘

本文详细记录了从理论困惑到实践突破的Class AB输出级与浮动电压源设计全过程。通过电流镜调试、恒定跨导优化及版图匹配等关键步骤,作者实现了高性能运放设计,并分享了从仿真到实测的宝贵经验,为模拟电路初学者提供实用指导。

weixin_33737774的博客 869

Openstack Nova Security Group——安全组之架构篇

哈,又回来了! 公司同事说不要只停留在逻辑层,你要对跑在你程序底下的数据流也要非常的清楚。但是这里还是先介绍一下逻辑层,在代码的角度看是如何实现这个功能的,关于底层的数据流,还需要哦酝酿一段时间,之后会再总结一篇底层数据流的文章,真难为我了! 一、什么是安全组 安全组,翻译成英文是 security group。安全组是一些规则的集合,用来对虚拟机的访问流量加以限制,这反映到

成长的足迹 1万+

2024广东省职业技能大赛云计算——集群部署GitLab

题目是这样的:在Kubernetes集群中新建命名空间gitlab-ci,将GitLab部署到该命名空间下,Deployment和Service名称均为gitlab,以NodePort方式将80端口对外暴露为30880,设置GitLab服务root用户的密码为admin@123,将项目包demo-2048.tar.gz导入到GitLab中并命名为demo-2048。GitLab是一个功能强大且灵活的 DevOps 平台,为开发团队和企业提供了从代码管理到持续集成、交付和部署的一整套解决方案。

kuuuugua的博客 4396

0018-量化第五天:QMT—日内回转回测注释

日内做T算法框架

m0_68750710的博客 4149

openstack nova 基础知识——policy

终于到了可以总结的时候了,policy本身的实现机制并不难,对我来说,难就难在python语法上,policy用到了很多高级的语法,逻辑性比较复杂,要理清其中的关系,还是要费一番功夫的。为此,还总结了另一篇blog,介绍了一下policy中用到的较为经典的语法。 1. 首先还是先来了解一下什么是policy,它是用来做什么的 在openstack的用户管理中,有三个概念:Users

成长的足迹 1万+

EndNote20保姆级安装教程:从下载到汉化一步到位(附闪退解决方案)

本文提供EndNote20的详细安装与汉化教程,涵盖系统准备、分步安装、路径优化及闪退解决方案。针对科研人员的需求,特别优化了中文环境下的使用体验,确保文献管理工具的高效稳定运行。

weixin_30415113的博客 342

openstack nova 基础知识——cfg

纠结了两天,才把nova中的配置文件的管理和命令行的解析了解了一个大概,在nova中,很多地方都用到了cfg这个模块。 现在的分析,只是还在表面上,没有深入到实质性的内容,而且,有很多不清楚的地方,这个不清楚的地方,主要是不知道它用来是做什么的,以及怎么去用它。不过随着慢慢的深入,会越来越清楚的。 我觉得cfg模块的主要作用有两个:一个是对配置文件进行解析,一个是对命令行参数进行解析,

成长的足迹 1万+

Linux下用SquareLine Studio开发LVGL界面:从安装到实战的完整避坑指南

本文提供了一份在Linux系统下使用SquareLine Studio开发LVGL图形界面的完整实战指南。内容涵盖从SDL库安装、SquareLine Studio环境配置、界面可视化设计,到工程导出、源码编译及常见错误排查的全流程。重点解析了如何将设计界面无缝集成到Linux开发流程中,并针对嵌入式设备移植提供了关键步骤,旨在帮助开发者高效避坑,快速上手LVGL界面开发。

egg99的博客 905

20.Labview使用子vi进行VI间的数据传递详解(模块化)

子VI(模块化)题主在题注中也提到, 子VI的建立只是为了减少程序的负担,那么我们当使用子VI的时候首先就要明确什么是子VI?什么样的程序可以作为子VI?首先我们来看NI官方给的定义,具体说明如下图所示:题主已经将重点画出来了,在官方的解释中将子VI定义为了模块化,大家可以看到创建模块化子VI的特点在于减少代码重复工作优化了程序的框架结构。把一个代码打包,需要的时候就拎出来让他处理处理,不需要的时候就让它躺在我的列表里就行了也不占用运行空间。那么创建子VI需要需要注意以下几点:①任何一个程序。

关注我,更多技术问题欢迎私聊~ 3516

使用pdb调试openstack (How to debug openstack using pdb )

终于摸索出了一个调试openstack的简单方法,使用pdb进行单步调试,对于分析代码很有帮助。注意,这个方法只适用于用devstack安装的openstack。 调试主要是使用了一个脚本,这个脚本不记得是从哪下载的了,是用来重启使用devstack安装的openstack的各个服务的,后来,我又结合devstack的stack.sh和unstack.sh的脚本,向里面添加了一点内容,添加的功能

成长的足迹 9928

华为OD新系统机试真题 - 准备生日礼物(Py/Java/C/C++/Js/Go)

华为OD机试新系统真题 4.8【准备生日礼物】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【准备生日礼物】

qq_45776114的博客 1484

openstack nova基础知识——libvirt和qemu(2)

前一篇介绍了qemu的基本使用,使用virsh或者virtual manager来管理虚拟机,但没有涉及到libvirt API,这里就使用libvirt的python API来演示一下虚拟机的创建。 看nova的源码,关于虚拟机管理的模块是virt,libvirt就是其中的一个包,这个包中包含了使用libvirt管理虚拟机的所有API,看一下下面的示意图: libvirt.dri

成长的足迹 9882

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

openstack nova基础知识——RabbitMQ

nova中各个组件之间的交互是通过“消息队列”来实现的,其中一种实现方法就是使用RabbitMQ,对RabbitMQ的使用,官方文档上有一个非常好的Get Started,由浅及深,结合例子,很容易理解。现在对RabbitMQ的理解,就是利用它可以非常灵活的定制自己想要实现的消息收发机制。 其中,有这样几个角色:producer, consumer, exchange, queue produ

成长的足迹 9316

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

openstack nova 基础知识——Kombu

Kombu是一个AMQP(Advanced Message Queuing Protocol)消息框架。所谓框架,就是一个软件的半成品,是为了提高开发效率而开发的。 AMQP是一个协议,而RabbitMQ是对这个协议的一个实现。 Kombu和RabbitMQ的关系是什么呢? 我觉得就好像javaAPI和Structs/Hibernate这些框架的关系一样,Kombu对Rabb

成长的足迹 8869

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

openstack nova 基础知识——rpc回调机制(callback)

前几篇已经知道了nova中消息是怎么发送和接收的了,但是不太明白消息被接收之后,是怎么处理的,看代码中消息接收那块传递的参数不是proxy就是callback,或者是callbacks,这个回调方法到底调用的是哪的方法呢? 从一个服务的启动程序上看,有这样一段代码: rpc_dispatcher = self.manager.create_rpc_dispatcher() self.conn

成长的足迹 8532

Ceilometer Distributed Alarm

Ceilometer Alarm是H版新添加的功能,监控报警是云平台不可缺少的部分,Ceilometer已经实现了比较完善的监控体系,报警怎么能缺少呢?用过AWS CloudWatch Alarm的人应该不会对Ceilometer的Alarm感到陌生,Ceilometer实现的Alarm和CloudWatch的Alarm很像,概念基本上都一样,Alarm的逻辑也基本上一样,可以说是一个开源版的Cl

成长的足迹 8138

openstack nova 基础知识——scheduler的filter和weight

一开始在没有看源码的时候,看了下官方文档的Filter Scheduler,知道过滤(filter)是怎么回事,但是那个weight是什么意思始终没看明白,现在看下源码发现也挺简单的。 Scheduler做的工作就是在创建实例(instance)时,为实例找到合适的主机(host),这个过程分为两步:首先是过滤(filter),从所有的主机中找到符合实例运行条件的主机,然后从过滤出来的主机中,找

成长的足迹 8036

Horizon学习笔记

horizon牛逼吊炸天! 程序的入口点在horizon/openstack_dashboard/urls.py中: url(r'', include(horizon.urls)) 然后由Horizon这个单例的Site对象,开始加载urls,自动发现并注册dashboard,然后对每一个dashboard,再自动发现并注册panel: ``` Horizon._lazy_u

成长的足迹 7171

openstack nova 基础知识——从源码看一个服务是如何启动的

nova中服务分为两种:Service和WSGIService,后者我还不清楚是用来做什么工作的,但是前者看了一下bin中的代码,知道了它是scheduler, compute, network等这些组件所使用的服务。 相对这两种服务,就有两种加载的方法:ServiceLauncher和ProcessLauncher,看代码这两者的主要区别是前者放到了绿色线程中,后者则是用os.fork()出来

成长的足迹 6816
上一篇: 使用pdb调试openstack (How to debug openstack using pdb )
下一篇: linux之iptables
hackerain
博客等级 码龄16年 753粉丝 220原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值