源码流程说明

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

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

'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. spring教程(一):简单实现(转)

    转:https://www.cnblogs.com/Lemon-i/p/8398263.html  一.概念介绍 1. 一站式框架:管理项目中的对象.spring框架性质是容器(对象容器) 2. 核心 ...

  2. 2017.9.18 include指令和include动作有什么区别?

    问题:include指令和include动作有什么区别? 答:include指令合并静态文档或Jsp页面中的内容,可以用于包括动态生成的输出结果,因此可以包含一个Servlet include指令在编 ...

  3. 20145238-荆玉茗 《Java程序设计》第9周学习总结

    20145238第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...

  4. svn update 时总是提示 Password for '默认密钥' GNOME keyring: 输入密码

    执行svn update 时 总是提示输入密码. $ cd ~/.gnome2/keyrings/ $ ls $ rm 默认密钥.keyring

  5. .svn文件被删除的解决办法

    不小心把文件夹下的.svn给删除了,svn提交时会报如下错误: 包含工作副本管理数据的目录“/home/usa/svn/aispeech/air201102/branches/tools/res/di ...

  6. Java后台-面试问题汇总(转载)

    总结这些天面试Java开发过程中的大多数问题,综合分类有Java基础,框架,多线程,网络通信,Linux,数据库,设计模式,算法,缓存等几个模块,由于问题太多,下面先列出问题,之后有时间在写文章解答, ...

  7. override与重载的区别

    override与重载的区别override 与重载的区别,重载是方法的名称相同.参数或参数类型不同,进行多次重载以适应不同的需要 Override 是进行基类中函数的重写.

  8. Pop–实现任意iOS对象的任意属性的动态变化

    简介 Pop 是一个可扩展的动画引擎,可用于实现任意iOS对象的任意属性的动态变化,支持一般动画,弹性动画和渐变动画三种类型. 项目主页: pop 最新示例: 点击下载 注意: 官方代码中,并不包含实 ...

  9. 10.2 DOM 操作技术【JavaScript高级程序设计第三版】

    很多时候,DOM 操作都比较简明,因此用JavaScript 生成那些通常原本是用HTML 代码生成的内容并不麻烦.不过,也有一些时候,操作DOM 并不像表面上看起来那么简单.由于浏览器中充斥着隐藏的 ...

  10. python 初学函数

    #len # s = '金老板小护士' # len(s) # def my_len(): #自定义函数 # i = 0 # for k in s: # i += 1 # print(i) # # le ...