zoukankan      html  css  js  c++  java
  • controller.pp 各组件的安装顺序

    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还没看懂,感觉好有压力啊 
    是不是我不适合做这个,心中好困惑啊!!!
    希望下周能够好起来。
    加油!!!
  • 相关阅读:
    固定表头/锁定前几列的代码参考[JS篇]
    盘点mysql中容易被我们误会的地方
    cookie&session的Q&A故事[原理篇]
    网络第一道防线:验证码的故事[安全篇]
    2016,把一年的牛皮先吹了吧[生涯规划篇]
    微软职位内部推荐-Software Engineer II
    微软职位内部推荐-Senior Software Engineer
    微软职位内部推荐-Senior Software Engineer
    微软职位内部推荐-SW Engineer II for Cloud Servi
    微软职位内部推荐-SW Engineer II for Cloud Servi
  • 原文地址:https://www.cnblogs.com/weilq/p/3868698.html
Copyright © 2011-2022 走看看