<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dingdingwolf的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dingdingwolf</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dingdingwolf]]></copyright><item><title><![CDATA[mass collection]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/49946515</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/49946515</guid><author>dingdingwolf</author><pubDate>Fri, 20 Nov 2015 13:49:12 +0800</pubDate><description><![CDATA[之前配置java环境变量的时候一般只是执行java -version, 今天手贱多执行了一句javac，结果发现总是“不是内部或者外部命令”，环境变量的确配置没有
问题，后来发现原来要把命令行窗口关掉之后重新打开才可以。。。]]></description><category></category></item><item><title><![CDATA[docker entry]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/48660319</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/48660319</guid><author>dingdingwolf</author><pubDate>Tue, 22 Sep 2015 20:19:32 +0800</pubDate><description><![CDATA[最近太忙了，除了项目上的事情，也和一些公司的人聊了，云计算的风口还在，不过在国内，IaaS恐怕已经不好做了，除非有技术上的突破（目前看来不太可能），
除了国外的AWS，Azure和IBM的产品逼进来，国内BAT（当然IaaS的话还是只能说A了），UCloud，QingCloud，UniteStack，Keytone Cloud等等，无论是基于
openstack的还是不是，现在进入我感觉机会已]]></description><category></category></item><item><title><![CDATA[do your test before you deliver your code to community]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/48311905</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/48311905</guid><author>dingdingwolf</author><pubDate>Wed, 09 Sep 2015 15:36:37 +0800</pubDate><description><![CDATA[测试是openstack中的重要一环，一个大型的项目，要想报障product的质量，没有测试只能是瞎玩，单元测试，功能测试，集成测试等等，我们这里主要说的是unittest，
也就是单元测试。早期的openstack项目里面都有runtest.sh 脚本文件，运行脚本可以生成virtual 环境，从而在不破坏现有环境下下载测试所需要的相关一类包，而CI
的流行，对于大型的openstack来说]]></description><category></category></item><item><title><![CDATA[about kvm]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/48199221</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/48199221</guid><author>dingdingwolf</author><pubDate>Thu, 03 Sep 2015 22:39:08 +0800</pubDate><description><![CDATA[kernel  based virtual machine, 作为hypervisor的一种实现方式，随着hvm的出现得到发展，要理解kvm分两个方面：
1. 现在kvm已经进入linux kernel之中，熟悉linux 源码的话，可以加入KVM社区，共享源码，KVM本身也是现在很火的开源项目
2. 了解KVM特性，强化KVM使用，已经KVM原理了解后，优化基于KVM的系统，比如openst]]></description><category></category></item><item><title><![CDATA[ironic related projects in git]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/47949921</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/47949921</guid><author>dingdingwolf</author><pubDate>Mon, 24 Aug 2015 14:37:09 +0800</pubDate><description><![CDATA[如果刚开始接触ironic的时候，在ironic的wiki页面：https://wiki.openstack.org/wiki/Ironic 会看到一堆的项目，感觉ironic是个很大的项目，可能会产生疑问，
是否每一个部分都需要了解，参与开发的话，哪些模块进行contribute比较合适？我记录一下，免得自己有时候也忘记了：
1. ironic
这个自然是ironic项目的主体，之前记录了]]></description><category></category></item><item><title><![CDATA[from linux kernel to kvm -- kinds of hypervisor]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/47949809</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/47949809</guid><author>dingdingwolf</author><pubDate>Mon, 24 Aug 2015 13:32:13 +0800</pubDate><description><![CDATA[标题留在这里，但是最近一直太忙， 没有时间来管blog，今天补上，内容都是我自己的理解，不一定完全正确，就像前面的文章一样，可能到后来我自己的理解变了，我又会
写一篇新的。
其实现在云计算这么流行，并不是技术上有什么突破，只是服务方式或者思维的一种转变得到了大家的认可，趁着互联网化的风潮，云计算以其基础性地位得到很大的重视，
说云计算，肯定绕不开虚拟化， 云计算不等于虚拟化，二者不是一个层面]]></description><category></category></item><item><title><![CDATA[from linux kernel to kvm -- debug linux kernel by eclipse]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/47781247</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/47781247</guid><author>dingdingwolf</author><pubDate>Wed, 19 Aug 2015 15:40:37 +0800</pubDate><description><![CDATA[https://www.kernel.org/pub/linux/kernel/v2.6/ 下载linux-2.6.24.tar.gz 或者其他
由于我是在虚机（14.04ubuntu）中进行开发，可能2.6的kernel有点儿老，编译的时候不通过，make bzImage也问题多多，
后来改用linux 3.18版本通过

1. make defconfig
2. apt-get in]]></description><category></category></item><item><title><![CDATA[make your driver as a deb package]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/47779699</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/47779699</guid><author>dingdingwolf</author><pubDate>Wed, 19 Aug 2015 14:45:05 +0800</pubDate><description><![CDATA[做完自己的开发之后，想要发布自己的代码，怎么办呢，比如如何给已有的系统打补丁，或者作为一个安装包在新部署的系统环境中存在呢？
其实要分情况，如果是社区兼容性的东西（符合社区blueprint），能够被社区admin review通过的，当然直接提交到社区比较合适；如果是自己特有的功能，仅仅是少数几个
文件的修改，使用diff/patch 将改动做成patch，之后apply 即可，如果涉及到文]]></description><category></category></item><item><title><![CDATA[more detail pxe deploy in ironic]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/47272913</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/47272913</guid><author>dingdingwolf</author><pubDate>Tue, 04 Aug 2015 18:00:28 +0800</pubDate><description><![CDATA[前面提过ironic的deploy过程，主要关注了vendor passthru中的方式是如何调用的，这次决定从配置开始记录下来，以免忘记又得看代码重查。
不得不说官网的流程图是最详细的资料，之前刚开始学习ironic时，看流程图和各模块之间的关系图时比较迷茫，现在重新回过头去看，一切变得非常清晰：

http://docs.openstack.org/developer/ironic/de]]></description><category></category></item><item><title><![CDATA[openstack git]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/47211497</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/47211497</guid><author>dingdingwolf</author><pubDate>Sun, 02 Aug 2015 21:20:58 +0800</pubDate><description><![CDATA[前面一篇基本上平时使用git时会遇到的操作都涵盖了，其他的遇到时再补充，对应实际的openstack开发，还需要有几个东西要了解。
1. launchpad
2. git review

进行openstack的开发，首先需要一个launchpad的账号， 什么是launchpad呢，launchpad我理解是一个社区，这里有很多开源项目，也进行代码的托管发布，各个组织
在这里建立圈子，]]></description><category></category></item><item><title><![CDATA[git guide]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/47172753</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/47172753</guid><author>dingdingwolf</author><pubDate>Fri, 31 Jul 2015 17:04:22 +0800</pubDate><description><![CDATA[一直想记下俩git的操作，有时候总是忘记，前面写过一点点，这次有忘记了，决定写个详细点儿的，有的是自己亲手试过，有的是网络经验：）
在学校的时候，为了防止本机磁盘坏了或者不同人之间共享一份代码（版本管理），使用SVN，搭建SVN服务器，创建repository，
本机使用命令行或者eclipse（大部分时候我是写java）的SVN插件，一般也不用多个branch或者tag的时候，把reposi]]></description><category></category></item><item><title><![CDATA[how openstack console works]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46867345</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46867345</guid><author>dingdingwolf</author><pubDate>Mon, 13 Jul 2015 20:29:55 +0800</pubDate><description><![CDATA[看nova中instance的console，有noVNC， serial，spice， rdp，平时配置使用libvirt管理虚机，配置virttype为kvm或者qemu，一般用配noVNC的最常见，之前做VDI的时候
知道RH的spice，据说性能也不错，包括USB的pass thru等，没研究过。从页面点击到后台，console一共经历几个部分：
第一部分，horizon点击，返回连接]]></description><category></category></item><item><title><![CDATA[service group]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46853997</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46853997</guid><author>dingdingwolf</author><pubDate>Sun, 12 Jul 2015 22:08:09 +0800</pubDate><description><![CDATA[在nova service启动时，还有一个小地方，需要提一下，那就是service group，听起来可能有些不太好理解，初始化阶段主要有三个动作和其相关：
self.servicegroup_api = servicegroup.API()
self.service_ref = objects.Service.get_by_host_and_binary(ctxt, self.host, s]]></description><category></category></item><item><title><![CDATA[what happened while start nova compute service]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46832471</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46832471</guid><author>dingdingwolf</author><pubDate>Fri, 10 Jul 2015 16:32:43 +0800</pubDate><description><![CDATA[前面已经对nova创建instance和其他操作讲了不少，回到detail上，
在nova中，api，conductor，scheduler，compute都有对应的manager，在cmd包中启动各种service时，除了api是WSGI service，其他的都是Service，
更直接一点儿的话启动的是RPC的service，但这些服务中，compute的地位是不一样的，特别是启动时，做]]></description><category></category></item><item><title><![CDATA[control your panel]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46827917</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46827917</guid><author>dingdingwolf</author><pubDate>Fri, 10 Jul 2015 10:58:41 +0800</pubDate><description><![CDATA[本科的时候学了点儿UI开发的皮毛，研究生的时候摆弄过Django，后来终究还是把UI那一套东西留在某个角落了，虽然horizon提供了极为动态的扩展修改机制，
并不需要对UI有太多的了解就能开发出不错的效果（终究是一个Django项目，要想实现自己的复杂的js效果，还是需要专门搞UI的人来写html页面的）， 前面讲了好
几篇关于怎么实现horizon的东西，有几个疑问需要收尾：
1. 各种]]></description><category></category></item><item><title><![CDATA[storage -cinder(2)]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46664215</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46664215</guid><author>dingdingwolf</author><pubDate>Sat, 27 Jun 2015 21:30:26 +0800</pubDate><description><![CDATA[在storage -cinder(1)中说过，知道host的情况下，直接使用rpc call在指定host上创建volume，否则则需要调度，就是是提到的volume_scheduler，到调度host
上create volume。
 self.scheduler_rpcapi.create_volume #这里的scheduler_rpcapi即 cinder/scheduler/rpca]]></description><category></category></item><item><title><![CDATA[storage - cinder(1)]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46649179</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46649179</guid><author>dingdingwolf</author><pubDate>Fri, 26 Jun 2015 13:41:48 +0800</pubDate><description><![CDATA[前面也说过存储，也提过cinder， 从horizon串到nova，串到ironic，中间穿着说了keystone和neutron，基本上各个openstack的module都提到了，按照我做事的风格，
我要再捋一遍，细节的地方不会像前面，从api service收到请求开始讲，会直接从重要地方开始。
和看nova代码，最首先肯定是看创建虚机的流程一样，看cinder，从创建volume开始：]]></description><category></category></item><item><title><![CDATA[add customized javascript and globalization]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46639367</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46639367</guid><author>dingdingwolf</author><pubDate>Thu, 25 Jun 2015 17:58:49 +0800</pubDate><description><![CDATA[硬件provision终于收尾了，产品化，国际化，基本测试都齐活了，从前到后的一套东西，虽然之前自认为已经知道了，实际做下来，中间和预想的有差异，但
最终结果就是我所想的样子，心情也不错！
这里记录几个自己遇到的问题，以后若有查阅也方便：
一. 模板问题
大部分的horizon页面效果的实现是不需要特别的css或者js的引入的，特别是table相关的操作，horizon自己做了很好的封装，]]></description><category></category></item><item><title><![CDATA[period task]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46532663</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46532663</guid><author>dingdingwolf</author><pubDate>Wed, 17 Jun 2015 13:15:48 +0800</pubDate><description><![CDATA[前面讲过如何在ironic中hold住计算的状态，可以通过period task定期调用，更新数据库的值，从而得到计算的状态。
添加period task，我们可以在conductor的manager中进行，例如_sync_power_status等ironic本身的周期性调用，如果是各个Driver自己的调用呢？
K版中着重加强了对period_task的部分，追踪period_task的部]]></description><category></category></item><item><title><![CDATA[integrated dev into product env.]]></title><link>https://blog.youkuaiyun.com/dingdingwolf/article/details/46460851</link><guid>https://blog.youkuaiyun.com/dingdingwolf/article/details/46460851</guid><author>dingdingwolf</author><pubDate>Thu, 11 Jun 2015 18:52:24 +0800</pubDate><description><![CDATA[前面讲了很多，通过horizon的virtual_env进行开发，所有的东西都在一个virtual 目录下，操作很方便，利于快速开发，除了自己建git提交代码，用持续集成工具，将
代码制作rpm包，实际部署之外，要想将自己的代码直接放到现有环境中也是可以的。
运行 find / -name "openstack_dashboard", 看看安装完成后openstack_dashboard在哪里]]></description><category></category></item></channel></rss>