- id: top-role-ceph-osd type: puppet version: 2.1.0 groups: [ceph-osd] required_for: [deploy_end] requires: [hosts, firewall] condition: yaql_exp: changedAny($.storage, $.get('ceph_tuning_settings'), $.get('use_ssl'), $.get('use_syslog'), $.network_scheme, $.network_metadata.nodes.values().where( ('controller' in $.node_roles) or ('primary-controller' in $.node_roles)), ('primary-controller' in $.roles)) cross-depends: - name: /^(primary-)?ceph-mon$/ parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/ceph-osd.pp puppet_modules: /etc/puppet/modules timeout: 3600 - id: primary-ceph-mon type: puppet version: 2.1.0 groups: [primary-controller] required_for: [deploy_end, controller_remaining_tasks] requires: [primary-openstack-controller, primary-openstack-cinder] condition: yaql_exp: &ceph_mon > ($.storage.objects_ceph or $.storage.images_ceph or $.storage.volumes_ceph or $.storage.ephemeral_ceph) and changedAny($.storage, $.get('use_syslog'), $.network_scheme, $.network_metadata.nodes.values().where( $.node_roles.any($.matches('(primary-)?controller')))) parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/mon.pp puppet_modules: /etc/puppet/modules timeout: 300 - id: ceph-mon type: puppet version: 2.1.0 groups: [controller] required_for: [deploy_end, controller_remaining_tasks] requires: [primary-openstack-controller, openstack-controller, openstack-cinder] condition: yaql_exp: *ceph_mon cross-depends: - name: primary-ceph-mon parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/mon.pp puppet_modules: /etc/puppet/modules timeout: 300 - id: primary-mon-update type: puppet version: 2.1.0 groups: [primary-controller] required_for: [deploy_end, controller_remaining_tasks] requires: [primary-ceph-mon] condition: yaql_exp: *ceph_mon cross-depends: - name: /^(primary-)?ceph-mon$/ parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/primary_mon_update.pp puppet_modules: /etc/puppet/modules timeout: 300 - id: ceph-radosgw version: 2.2.0 type: puppet tags: [primary-controller, controller] required_for: [deploy_end] requires: [radosgw-keystone, apache, keystone, ceph-mon] cross-depends: - name: radosgw-keystone - name: apache role: self - name: ceph-mon role: self cross-depended-by: - name: deploy_end role: self condition: yaql_exp: $.storage.objects_ceph and changedAny($.storage, $.get('use_syslog'), $.keystone, $.network_metadata.vips, $.get('use_ssl'), $.network_metadata.nodes.values().where( ('controller' in $.node_roles) or ('primary-controller' in $.node_roles)), ('primary-controller' in $.roles), $.network_scheme, $.get('apache_ports')) parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/radosgw.pp puppet_modules: /etc/puppet/modules timeout: 3600 test_pre: cmd: ruby /etc/puppet/modules/osnailyfacter/modular/ceph/radosgw_pre.rb test_post: cmd: ruby /etc/puppet/modules/osnailyfacter/modular/ceph/radosgw_post.rb - id: radosgw-keystone type: puppet version: 2.2.0 tags: [primary-keystone] required_for: [ceph-radosgw] requires: [keystone, primary-mon-update] cross-depends: - name: /^(primary-)?keystone$/ role: self - name: primary-mon-update cross-depended-by: - name: ceph-radosgw condition: yaql_exp: $.storage.objects_ceph and changedAny($.storage, $.network_metadata.vips, $.get('region', 'RegionOne'), $.public_ssl, $.get('use_ssl')) parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/radosgw_keystone.pp puppet_modules: /etc/puppet/modules timeout: 1800 - id: ceph-compute type: puppet version: 2.1.0 groups: [compute] cross-depends: - name: /^(primary-)?ceph-mon$/ requires: [top-role-compute] required_for: [deploy_end] condition: yaql_exp: &storage_changed > ($.storage.objects_ceph or $.storage.images_ceph or $.storage.volumes_ceph or $.storage.ephemeral_ceph) and (changedAny($.storage, $.quantum, $.network_metadata.vips, $.get('use_syslog'), $.get('syslog_log_facility_ceph'), $.keystone, $.network_scheme, $.network_metadata.nodes.values().flatten().node_roles.flatten().where( $ = 'controller' or $ = 'primary-controller'))) parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/ceph_compute.pp puppet_modules: /etc/puppet/modules timeout: 300 cwd: / test_post: cmd: ruby /etc/puppet/modules/osnailyfacter/modular/ceph/ceph_compute_post.rb # # POST_DEPLOYMENT Tasks # - id: ceph_create_pools type: puppet version: 2.1.0 role: [primary-controller, controller] requires: [post_deployment_start] required_for: [ceph_ready_check] cross-depended-by: - name: ceph_ready_check condition: yaql_exp: &ceph_changed > ($.storage.objects_ceph or $.storage.images_ceph or $.storage.volumes_ceph or $.storage.ephemeral_ceph) and changed($.storage) parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/ceph_pools.pp puppet_modules: /etc/puppet/modules timeout: 300 cwd: / - id: ceph_ready_check type: puppet version: 2.1.0 role: [primary-controller] condition: yaql_exp: *ceph_changed requires: [post_deployment_start] required_for: [upload_cirros] parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/ceph_ready_check.pp puppet_modules: /etc/puppet/modules timeout: 1800 cwd: / - id: updatedb type: puppet version: 2.1.0 role: [primary-controller, controller, ceph-osd] condition: yaql_exp: *ceph_changed requires: [post_deployment_start] required_for: [post_deployment_end] parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/updatedb.pp puppet_modules: /etc/puppet/modules timeout: 120 cwd: /