OpenStack(Stein版) Zun组件流程分析

我需要给zun简单修改一下,比如在创建的时候自动分配一个浮动ip,在删除的时候收回浮动ip。
zun的话三个组件嘛,zun-api zun-compute zun-wsproxy,根据nova的经验,大概需要修改zun-compute里面的源码。
/usr/lib/python2.7/site-packages

创建容器

zun-api

首先进入zun/api/comtroller/v1/containers.py,调用post()方法,在_do_post()中完成如下任务:

  • policy的检测
  • 安全组是否符合,去掉重复的,然后根据名字获取对应ID
  • 检查quotas
  • 设置运行时环境和主机名
  • 检查网络参数是否正确,只是检查,不进行任何修改操作
  • 检查心跳机制
  • cpu内存分配,驱动等信息
  • 如果没有分配安全组或者其他的,默认没有安全组策略。如果绑定端口–exposr-port,自动创建一个安全组策略,也可以指定一个现有的安全组策略。
  • 检查volume,如果传入了 volume的id,检查是否合法,否则创建一个新的。(这里如果想要有持久化存储,就预先创建一个volume,然后传入id,这样删除容器的时候volume不会一起删除

然后到zun/compute/api.py中,
container_create()方法中,使用rpc远程调用manage.py中的container_create()

zun-compute

进入zun/compute/manage.py中,进行真正的操作,比较直观明显。
我i是就是我不想写了。不过也的确没啥写的。
然后呢,大概的一些操作的方法命名比较类似,可以直接对着找。
比如启动是container_start(),删除是container_delete等。
如果需要参数的话,可以从context、created_container和container里面找到。上下文里就是一些上下文,用户信息项目信息之类的;关于容器的信息可以在后面的两个参数里找到。

参考链接

OpenStack容器服务Zun初探与原理分析 - int32bit

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值