源码流程说明

- 程序首先判断操作系统类型,加载对应的模块

- 加载服务,服务共分为四种:

'cloudbaseinit.metadata.services.httpservice.HttpService',

'cloudbaseinit.metadata.services.configdrive.ConfigDriveService',

'cloudbaseinit.metadata.services.ec2service.EC2Service',

'cloudbaseinit.metadata.services.maasservice.MaaSHttpService'

  

目前openstack中我们会用第一种,使用http获取openstack的元数据服务

- 加载插件,插件共分为:

'cloudbaseinit.plugins.windows.mtu.MTUPlugin',

'cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin',

'cloudbaseinit.plugins.windows.sethostname.SetHostNamePlugin',

'cloudbaseinit.plugins.windows.createuser.CreateUserPlugin',

'cloudbaseinit.plugins.windows.networkconfig.NetworkConfigPlugin',

'cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin',

'cloudbaseinit.plugins.windows.sshpublickeys.'

'SetUserSSHPublicKeysPlugin',

'cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin',

'cloudbaseinit.plugins.windows.userdata.UserDataPlugin',

'cloudbaseinit.plugins.windows.setuserpassword.'

'SetUserPasswordPlugin',

'cloudbaseinit.plugins.windows.winrmlistener.'

'ConfigWinRMListenerPlugin',

'cloudbaseinit.plugins.windows.winrmcertificateauth.'

'ConfigWinRMCertificateAuthPlugin',

'cloudbaseinit.plugins.windows.localscripts.LocalScriptsPlugin',

上面windows中就是使用localscript插件

-  执行插件

- 根据配置重启机器

PS

目前主要功能有

创建新用户

修改用户密码

添加用户到指定用户组

获取用户home目录

设置主机名

获取网卡信息

获取DHCP信息

设置NTP

设置静态IP

判断服务是否存在

获取服务状态

设置服务启动模式

启动服务

关闭服务

获取默认网关

获取CD驱动

获取物理磁盘

创建防火墙规则

删除防火墙规则

windows版本cloudbase-init流程说明的更多相关文章

  1. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  2. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  3. C#更改文件访问权限所有者(适用于各个Windows版本)

    前面也提到了,前段时间在做Online Judge系统,在正式上线前有几个比较老的版本,其中第一个版本使用ACL来控制权限以确保安全(但是这个版本完全建立在IIS上,所以这样做是没效果的),遇到了一些 ...

  4. 怎样快速免费获取Windows版本的ZBrush

    ZBrush是一款专业的3D绘制软件及数字雕刻软件,随着3D技术的不断进步,ZBrush也是越来越受到业内欢迎,在世界拥有了众多的粉丝和爱好者.相信很多用户对软件的体验就是从使用的版本开始的,本文就教 ...

  5. cmd命令行查看windows版本

    1.ver命令不显示sp几 C:\>ver Microsoft Windows XP [Version 5.1.2600] C:\> 08: C:\Users\Administrator& ...

  6. an'gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)

    NodeJS.NPM安装配置步骤(windows版本)  :http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ ...

  7. windows版本的phantomjs-2.1.1-windows安装

    windows版本的phantomjs-2.1.1-windows安装 1.下载 链接:http://pan.baidu.com/s/1dEUl6dN 密码:oij8 2.安装 下载好之后解压放到某个 ...

  8. API得到Windows版本

    API得到Windows版本 /** * Windows Version * https://msdn.microsoft.com/en-us/library/windows/desktop/dn48 ...

  9. hiredis的各种windows版本

    hiredis的各种windows版本(金庆的专栏 2016.12)hiredis 是内存数据库 redis 的客户端C库, 不支持Windows.hiredis的Windows移植版本有许多:des ...

  10. Kindle Windows版本 中文字体修改工具

    近来想要用Windows看Kindle电子书,无奈Windows 版本的Kindle不能修改中文字体,非常难看.把Kindle拉到IDA PRO看了一下,发现Kindle Windows版本的中文字体 ...

随机推荐

  1. object dection资源

    https://handong1587.github.io/deep_learning/2015/10/09/object-detection.html

  2. JSONObject数组排序工具类

    依赖jar <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</a ...

  3. matlab的figure窗口命名为中文

    figure('NumberTitle', 'off', 'Name', '我的窗口名字');

  4. 用蒙特卡洛方法计算派-python和R语言

    用蒙特卡洛方法算pi-基于python和R语言 最近follow了MOOC上一门python课,开始学Python.同时,买来了概率论与数理统计,准备自学一下统计.(因为被鄙视过不是统计专业却想搞数据 ...

  5. MyBatis的优缺点以及特点

    特点: mybatis是一种持久层框架,也属于ORM映射.前身是ibatis. 相比于hibernatehibernate为全自动化,配置文件书写之后不需要书写sql语句,但是欠缺灵活,很多时候需要优 ...

  6. 【洛谷P1323】删数问题

    删数问题 题目链接 首先找出最小的k个数:用堆每次取出最小的元素p,将p*2+1和p*4+5压入堆. 贪心求最大数:从前往后找第一个data[j+1]>data[j],删除data[j].(链表 ...

  7. device not ready cuda

    问题描述: CUDA: 使用cudaEventElapsedTime时返回device not ready error 强调下我是用谷歌大神搜索到的结构哦! http://stackoverflow. ...

  8. 使用Newtonsoft.json 解决 Asp.Net MVC DateTime类型数据Json格式化问题

    解决思路 众所周知,MVC中调用的微软的组件JavaScriptSerialer...,格式DateTime类型数据需要在客户端专门解. 还知道,NewtonSoft.json可以“正确”的格式化Da ...

  9. udp重发java实现

    最近在处理框架通讯方面的问题,通过积累的开发经验,其实在很多情况(尤其是实时大数据量),udp是占有很多优势的:不需要连接,只管发送,理论上要快很多; 另外在穿墙上占有很大优势: 但是最大的一个问题就 ...

  10. Python 初始—(列表)

    列表切片 数组data=[a,b,c,d,e] print(data[1,3])#取出b,c , 如果用-号切片则是反向取数,那么去取出来的数为data[-3,-1],如果是0则默认不填 列表追加 d ...