controller 属性:
        admin_address => $controller_node_address,
        public_address => $controller_node_public,
        public_interface => $::public_int,
        private_interface => $::use_quantum ? { true=>false, default=>$::fuel_settings['fixed_interface']},
        internal_address => $controller_node_address,
        service_endpoint => $controller_node_address,
        floating_range => false, #todo: remove as not needed ???
        fixed_range => $::use_quantum ? { true=>false, default=>$::fuel_settings['fixed_network_range'] },
        multi_host => $multi_host,
        network_manager => $network_manager,
        num_networks => $::use_quantum ? { true=>false, default=>$novanetwork_params['num_networks'] },
        network_size => $::use_quantum ? { true=>false, default=>$novanetwork_params['network_size'] },
        network_config => $::use_quantum ? { true=>false, default=>$network_config },
        debug => $debug,
        verbose => $verbose,
        auto_assign_floating_ip => $::fuel_settings['auto_assign_floating_ip'],
        mysql_root_password => $mysql_hash[root_password],
        admin_email => $access_hash[email],
        admin_user => $access_hash[user],
        admin_password => $access_hash[password],
        keystone_db_password => $keystone_hash[db_password],
        keystone_admin_token => $keystone_hash[admin_token],
        keystone_admin_tenant => $access_hash[tenant],
        glance_db_password => $glance_hash[db_password],
        glance_user_password => $glance_hash[user_password],
        glance_backend => $glance_backend,
        glance_image_cache_max_size => $glance_hash[image_cache_max_size],
        nova_db_password => $nova_hash[db_password],
        nova_user_password => $nova_hash[user_password],
        nova_rate_limits => $::nova_rate_limits,
        ceilometer => $ceilometer_hash[enabled],
        ceilometer_db_password => $ceilometer_hash[db_password],
        ceilometer_user_password => $ceilometer_hash[user_password],
        ceilometer_metering_secret => $ceilometer_hash[metering_secret],
        ceilometer_db_type => 'mongodb',
        ceilometer_db_host => mongo_hosts($nodes_hash),
        queue_provider => $::queue_provider,
        amqp_hosts => $amqp_hosts,
        amqp_user => $rabbit_hash['user'],
        amqp_password => $rabbit_hash['password'],
        rabbitmq_bind_ip_address => $rabbitmq_bind_ip_address,
        rabbitmq_bind_port => $rabbitmq_bind_port,
        rabbitmq_cluster_nodes => $rabbitmq_cluster_nodes,
        export_resources => false,
        quantum => $::use_quantum,
        quantum_config => $quantum_config,
        quantum_network_node => $::use_quantum,
        quantum_netnode_on_cnt => $::use_quantum,
        cinder => true,
        cinder_user_password => $cinder_hash[user_password],
        cinder_db_password => $cinder_hash[db_password],
        cinder_iscsi_bind_addr => $cinder_iscsi_bind_addr,
        cinder_volume_group => "cinder",
        manage_volumes => $manage_volumes,
        use_syslog => $use_syslog,
        novnc_address => $controller_node_public,
        syslog_log_level => $::syslog_log_level,
        syslog_log_facility_glance => $::syslog_log_facility_glance,
        syslog_log_facility_cinder => $::syslog_log_facility_cinder,
        syslog_log_facility_neutron => $::syslog_log_facility_neutron,
        syslog_log_facility_nova => $::syslog_log_facility_nova,
        syslog_log_facility_keystone=> $::syslog_log_facility_keystone,
        cinder_rate_limits => $::cinder_rate_limits,
        horizon_use_ssl => $::horizon_use_ssl,
        nameservers => $::dns_nameservers,
        primary_controller => true,
        max_retries => $max_retries,
        max_pool_size => $max_pool_size,
        max_overflow => $max_overflow,
        idle_timeout => $idle_timeout,
        nova_report_interval => $::nova_report_interval,
        nova_service_down_time => $::nova_service_down_time,
 
一、database::mysql执行  先创建MySQL-server,接着为各个组建创建数据库的任务是在各个组建下的db文件夹下执行的。例如:glance db的创建是由openstack模块下的manifests/db/mysql.pp调用class { 'glance::db::mysql':执行的。需要分别为keystone、Glance、Nova、Ceilometer、cinder、neutron创建db。
二、keystone  先在openstack/manifests/keystone.pp执行keystone安装。然后,安装、注册keystone。
安装调用class { '::keystone': ,
调用class { 'keystone::roles::admin':设置管理员用户,
调用class { 'keystone::endpoint':为keystone设置认证endpoint。
为Glance、Nova、cinder、neutron、ceilometer注册endpoint,调用各自模块的nova::keystone::auth执行。
三、Glance  调用openstack::glance.pp执行安装注册Glance。
先注册安装glance-api,调用'glance::api'
注册安装glance-regristry,调用glance::registry
注册rabbitmq通知,调用'glance::notify::rabbitmq'
注册Glance的后端  默认采用的是file  执行glance::backend::file
四、Nova  调用openstack::nova::controller安装Nova
nova::rabbitmq--》rabbitmq::service、server 安装rabbitmq
安装'nova': --》 'nova::quota' --》nova::network'--》::nova::network::neutron'--》::nova::api-->nova::conductor-->'nova::scheduler',    'nova::objectstore',    'nova::cert',-->:nova::consoleauth-->nova::vncproxy
五、Cinder Controller Services  调用openstack/manifests/cinder.pp 安装
'cinder::base'  安装cinder所需的基本包'qemu-utils'、'python-cinder'、cinder-common
'cinder::api' 安装cinder-api  python-keystone 启动cinder-api服务
'cinder::scheduler' 安装cinder-scheduler
根据$manage_volumes确定是否安装'cinder::volume' 由于cluster_simple默认为FALSE  所以不安装cinder::volume  cinder::volume::iscsi' cinder::volume::ceph'
六、Ceilometer  先在openstack/manifests/cellometer.pp执行cellometer安装 由cellometer/init.pp开始,主要对一些文件,目录进行修改和基础包的安装。
然后进入ceilometer::client 安装 python-ceilometerclient
ceilometer::db 对ceilometer-common还有ceilometer-backend-package 进行安装 
ceilometer::api 安装注册cellometer的API服务
ceilometer::collector 安装ceilometer的collector服务
ceilometer::agent::central 安装注册ceilometer central agent
ceilometer::alarm::evaluator 安装注册 ceilometer alarm evaluator服务
ceilometer::alarm::notifier  安装注册 ceilometer alarm notifier服务
ceilometer::agent_notification安装注册 ceilometer agent notification服务
ceilometer::agent::compute 安装ceilometer compute agent
七 、 Horizon  openstack::horizon.pp   安装注册 horizon. Will eventually include apache and ssl.
 

 这一周就这样过去啦  天天看puppet代码,有些看不懂,终于对整个openstack搭建的顺序搞清楚了 ,但是site.pp还没看懂,感觉好有压力啊 
是不是我不适合做这个,心中好困惑啊!!!
希望下周能够好起来。
加油!!!

controller.pp 各组件的安装顺序的更多相关文章

  1. SharePoint 2016 必备组件离线安装介绍

    前言 SharePoint 必备组件安装,一直以来都是SharePoint安装过程中的最大的坑,尤其是不能联网的服务器.博主在这里简单介绍一下离线安装过程,并附组件包下载以及安装命令,并且在windo ...

  2. MySQL 5.6.17 rpm 文件安装顺序

     Linux系统安装MySQL时,将MySQL-5.6.17-1.el6.x86_64.rpm-bundle.tar包打开,有7个rpm文件,如下: MySQL-client-5.6.17-1.el6 ...

  3. Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法

    参考:Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法 Vs2012的下载地址: https://msdn.microsoft.com/en ...

  4. IIS、SQL SERVER和VS的安装顺序

    正确安装顺序:先安装IIS,再安装SQL SERVER,最后安装VS. 如果先安装VS后安装的IIS,则需要找到对应的.net framework目录下,执行aspnet_regiis.exe,重新注 ...

  5. twisted 安装时,安装顺序为 zope.interface ->twisted

    最近想学 twisted ,就去下载 twisted 的windows版本,并且 安装.运行 twisted 例子后,发现出现了问题: ImportError: Twisted requires zo ...

  6. Wix打包系列(七) 添加系统必备组件的安装程序

    原文:Wix打包系列(七) 添加系统必备组件的安装程序 我们知道在vs的打包工程中添加系统必备组件是一件很容易的事情,那么在wix中如何检测系统必备组件并在安装过程中安装这些组件.这里以.Net Fr ...

  7. AspUpload组件的安装及使用方法介绍

    http://soft.huweishen.com/soft/47.html AspUpload对ASP编程人员来说要实现ASP网站文件上传功能它是首选.本文就为大家介绍一下AspUpload组件的安 ...

  8. web.xml组件加载顺序

    在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要. 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前. 经过查阅和Debug发现, web.x ...

  9. Visual Studio 2008 安装失败(“Web 创作组件”无法安装)(转)

    今天安装VS2008时出现了问题,怎么都无法安装成功.装了好几次都在“Visual Studio Web 创作组件(Visual Studio Authoring Component)”的安装的时候失 ...

随机推荐

  1. mysqldump 的一些使用参数

    备份数据库#mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 #mysqldump -d -A --add-drop- ...

  2. AsyncTask的用法

    在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行.在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只 ...

  3. 读取Log日志并打印到sdcard

    @SuppressLint("SimpleDateFormat") private static SimpleDateFormat sdf = new SimpleDateForm ...

  4. Programme skills

    1. Dynamic library 2. Template class. function template<typename T> classs Sample { ... templa ...

  5. typeid关键字

    这么看下去太要命了,有太多东西要学了... 而且视频看起来的确费神,费脑,费耳朵. 所以决定由视频驱动转向代码驱动.主攻vs,c++然后先把界面东西做出来,然后在想后面的东西. 所以今天 [先上来看了 ...

  6. JAXB - XML Schema Types, Date and Time

    JAXB binds all three of the schema types xsd:date, xsd:time and xsd:dateTime to XMLGregorianCalendar ...

  7. 点击 a 标签触发事件而不跳转页面

    有时候需要让 a 标签像 button 一样,被点击的时候触发事件而不跳转页面. <html> <body> <a id="a1" href=&quo ...

  8. [转]Windows Shell 编程 第三章 【转自:http://blog.csdn.net/wangqiulin123456/article/details/7987901】

    第三章 操作文件 我依然清楚地记得,Windows95 的贝塔版出现的情形,它在朋友之间和学院中传播,好酷,全新的文件管理器,一种全图标,全彩色可客户化的界面,以及活泼的动画标识使得在文件拷贝和删除方 ...

  9. 第六篇、CSS属性

    <!--1.可继承性 visible(可见的):hidden --掩藏,但是结构还保存 cursor(光标样式):pointer(手指)crosshair(十字架) 一般是文字控制属性 内联标签 ...

  10. Express安装与调试

    Express 是基于Node.Js平台,快速.开放.极简的 web 开发框架. 1.安装 Express的安装通过cmd来进行,过程如下: 首先,先在本地建立一个项目文件夹,取名Nodejs. 然后 ...