a407d4f5da
This review introduces the CephDashboard service to allow operators to deploy the new ceph dashboard along with the other ceph components. According to the spec we can add the environment file to reference the template that contains all the parameters needed to deploy the ceph-dashboard via ceph-ansible related roles. Implements: blueprint ceph-dashboard Change-Id: I1d31cd99823686986cdbd3ac1df184e9457a361e
110 lines
3.3 KiB
YAML
110 lines
3.3 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: >
|
|
Ceph OSD service.
|
|
|
|
parameters:
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
CephAnsibleDisksConfig:
|
|
type: json
|
|
description: Disks config settings for ceph-ansible
|
|
default:
|
|
devices:
|
|
- /dev/vdb
|
|
osd_scenario: lvm
|
|
osd_objectstore: bluestore
|
|
CephEnableDashboard:
|
|
type: boolean
|
|
default: false
|
|
description: Parameter used to trigger the dashboard deployment.
|
|
|
|
conditions:
|
|
dashboard_enabled: {equals: [{get_param: CephEnableDashboard}, true]}
|
|
|
|
resources:
|
|
CephBase:
|
|
type: ./ceph-base.yaml
|
|
properties:
|
|
ServiceData: {get_param: ServiceData}
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
EndpointMap: {get_param: EndpointMap}
|
|
RoleName: {get_param: RoleName}
|
|
RoleParameters: {get_param: RoleParameters}
|
|
|
|
CephOsdAnsibleVars:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
vars: {get_param: CephAnsibleDisksConfig}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Ceph OSD service.
|
|
value:
|
|
service_name: ceph_osd
|
|
upgrade_tasks:
|
|
- name: Check legacy Ceph hieradata
|
|
tags: validation
|
|
when: step|int == 0
|
|
shell: test "nil" == "$(hiera -c /etc/puppet/hiera.yaml ceph::profile::params::osds)"
|
|
puppet_config:
|
|
config_image: ''
|
|
config_volume: ''
|
|
step_config: ''
|
|
docker_config: {}
|
|
external_deploy_tasks:
|
|
list_concat:
|
|
- {get_attr: [CephBase, role_data, external_deploy_tasks]}
|
|
- - name: ceph_osd_external_deploy_init
|
|
when: step|int == 1
|
|
tags: ceph
|
|
block:
|
|
- name: set ceph-ansible group vars osds
|
|
set_fact:
|
|
ceph_ansible_group_vars_osds: {get_attr: [CephOsdAnsibleVars, value, vars]}
|
|
- name: generate ceph-ansible group vars osds
|
|
copy:
|
|
dest: "{{playbook_dir}}/ceph-ansible/group_vars/osds.yml"
|
|
content: "{{ceph_ansible_group_vars_osds|to_nice_yaml}}"
|
|
external_update_tasks: {get_attr: [CephBase, role_data, external_update_tasks]}
|
|
external_upgrade_tasks: {get_attr: [CephBase, role_data, external_upgrade_tasks]}
|
|
config_settings:
|
|
map_merge:
|
|
- tripleo::ceph_osd::firewall_rules:
|
|
'111 ceph_osd':
|
|
dport:
|
|
list_concat:
|
|
- - '6800-7300'
|
|
- if:
|
|
- dashboard_enabled
|
|
- - '9100'
|
|
- []
|
|
- {}
|