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. StringBuilder 用法和div获取

    StringBuilder strHtml = new StringBuilder(); strHtml.Append("<tr>"); strHtml.Append( ...

  2. 我终于理解了LISP『代码即数据|数据即代码』的含义

    以前我一直不能理解LISP里引用的作用,感觉引用和字符串没什么区别.比如:> (define (func)     'ok) > (func) 'ok 这里把引用ok当做了函数func的返 ...

  3. [原]Unity3d中奇怪的编译错误

    整理项目,重新build时出现一些问题,这些代码在原项目中都是可以运行的. 错误信息如下: Assets/XXXXX.cs(79,35): error CS0103: The name `NNNNNN ...

  4. 今天学习image在html中的应用

    今天学习image在html中的应用 上次在学习超级链接的使用中有一小问题,是在添加网址中href="http://www.baidu.com" 中不能忘记http://,否则链接 ...

  5. Android Toast 总结(五种用法)

    Toast大家都很熟,不多说.直接上图上代码. 具体代码如下: main.xml: <?xml version="1.0" encoding="utf-8" ...

  6. let 与 expr Shell运算比较 let强强胜出

    Shell脚本中 整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 s 加 1 可以写作:let "s = $s + 1" 或者 s=`expr $s + 1'两 ...

  7. SQL Server2008数据库如何改名

    未使用的数据库改名比较方便,找到你要更改的数据库,右键选择[重命名]. 2 然后将你想要更改的名字写好,然后点击一下旁边的空白栏. 3 然后你就发现数据库的名称已经改好了. END 使用中的数据库   ...

  8. 再跟SQL谈一谈--高级篇(一)

    1.SELECT KEYWORD ①TOP ②LIKE ③IN ④BETWEEN...AND ⑤ALIAS 2.SELECT JOIN ①JOIN | INNER JOIN ②LEFT JOIN ③R ...

  9. SQL IF UPDATE(Number) 在触发器[Trigger]中的用法

    IF UPDATE(Number)在触发器(TRIGGER)中用处很大 CREATE TRIGGER TrgTest ON [TableName] FOR UPDATE IF UPDATE(Colum ...

  10. ArcEngine 直连连接SDE

    关键代码IPropertySet pPropertySet = new PropertySetClass();             pPropertySet.SetProperty("S ...