首页 > 代码库 > mirantis fuel puppet执行顺序 和 对整个项目代码的执行流程理解

mirantis fuel puppet执行顺序 和 对整个项目代码的执行流程理解

stage执行顺序
stage {‘zero‘: } ->
stage {‘first‘: } ->
stage {‘openstack-custom-repo‘: } ->
stage {‘netconfig‘: } ->
stage {‘corosync_setup‘: } ->
stage {‘openstack-firewall‘: } -> Stage[‘main‘]
 
1、class {‘begin_deployment‘: stage => ‘zero‘ }所以先执行begin_deployment
2、class { "::openstack::logging":  在执行::openstack::logging.pp (涉及到rsyslog::server.pp ::openstack::logrotate.pp->anacron模块 )
3、‘openstack-custom-repo‘在这三个文件中存在 
4、class {"l23network::hosts_file": stage => ‘netconfig‘, nodes => $nodes_hash }
      class {‘l23network‘: use_ovs=>$use_quantum, stage=> ‘netconfig‘}
      class {‘osnailyfacter::network_setup‘: stage => ‘netconfig‘}
      class { ‘openstack::keepalive‘ :    stage => ‘netconfig‘,
5、class { ‘::cluster‘:       stage => ‘corosync_setup‘,
      class { ‘virtual_ips‘: stage => ‘corosync_setup
6、class { ‘openstack::firewall‘:    stage => ‘openstack-firewall‘,
7、 class {‘corosync::commitorder‘: stage=>‘main‘}
 
在puppet 的glance module中regristry.pp和api.pp是由 /openstack/manifests/glance.pp调用的
glance.pp是由 /openstack/manifests/controller.pp 调用
controller.pp是由 /osnailyfacter/manifests/cluster_simple.pp cluster_ha.pp  cluster_ha_full.pp 调用(三选一)
cluster_simple.pp 或cluster_ha.pp或 cluster_ha_full.pp由主site.pp调用 根据fuel_settings的参数确定。
/openstack/manifests/controller.pp确定各个组建的安装顺序:
安装database(MySQL)-》keystone-》glance-》nova-》Cinder Controller-》Ceilometer-》Horizon
fuel_settings的参数是由用户在web界面选择时自动生成的

都是自己理解的,有些地方可能不对