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. Views

    Views Views are the visual side of the Nova, they are the HTML output of the pages. Views can be loc ...

  2. jdbc_连接数据库

    1.例一: package com.vince.jdbc; import java.sql.Connection;import java.sql.DriverManager;import java.s ...

  3. JAVA 快递查询接口API调用-快递鸟接口

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  4. jQuery实现jsonp源码分析(京东2015面试)

    // Bind script tag hack transportjQuery.ajaxTransport( "script", function(s) { // This tra ...

  5. webbreswer 转成ie11

    http://zhidao.baidu.com/link?url=pvYg-Z5fjOaFHrpdxFSjrDqkaUpvc-tY5VwtLjd7bfmdG4T80i0Rqkkv1zcApZiIq6w ...

  6. Entity Framework 配置

    Entity Framework的核心 – EDM(Entity Data Model) EDM概述 实体数据模型,简称EDM,由三个概念组成.概念模型由概念架构定义语言文件 (.csdl)来定义,映 ...

  7. Jquery 获取checkbox的checked问题

    这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结... 事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现. 下面来看看网上大多资料的说 ...

  8. 【MINA】粘包断包处理

    1.先解释下什么叫粘包和断包 粘包 就是数据以字节的形式在网络中传输,一个数据包的字节可能经过多次的读取粘合才能形成一个完整的数据包 断包 一次读取的内容可能包含了两个或多个数据包的内容,那么我们必须 ...

  9. Android之Http网络编程(一)

    Android应用作为一个客户端程序绝大部分都是需要进行网络请求和访问的,而http通信是一种比较常见并常用的通信方式. 在Android中http网络编程中有两种实现方式,一种是使用HttpURLC ...

  10. Checkbox 全选、反选

    1.全选.反选 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></t ...