9f908e9832
This takes a subset of the logic from major_upgrade_ceph_storage.sh and ports it into ansible tasks, which will be applied in a rolling upgrade after the mon services are upgraded (in the step0 batch). Change-Id: I6e87969add301e78bb665d7748e5f0df8eeae819 Partially-Implements: blueprint overcloud-upgrades-per-service
89 lines
2.8 KiB
YAML
89 lines
2.8 KiB
YAML
heat_template_version: ocata
|
|
|
|
description: >
|
|
Ceph OSD service.
|
|
|
|
parameters:
|
|
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
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
MonitoringSubscriptionCephOsd:
|
|
default: 'overcloud-ceph-osd'
|
|
type: string
|
|
|
|
resources:
|
|
CephBase:
|
|
type: ./ceph-base.yaml
|
|
properties:
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
EndpointMap: {get_param: EndpointMap}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Cinder OSD service.
|
|
value:
|
|
service_name: ceph_osd
|
|
monitoring_subscription: {get_param: MonitoringSubscriptionCephOsd}
|
|
config_settings:
|
|
map_merge:
|
|
- get_attr: [CephBase, role_data, config_settings]
|
|
- tripleo.ceph_osd.firewall_rules:
|
|
'111 ceph_osd':
|
|
dport:
|
|
- '6800-7300'
|
|
step_config: |
|
|
include ::tripleo::profile::base::ceph::osd
|
|
upgrade_batch_tasks:
|
|
- name: Get OSD IDs
|
|
tags: step1
|
|
shell: ls /var/lib/ceph/osd | awk 'BEGIN { FS = "-" } ; { print $2 }'
|
|
register: osd_ids
|
|
# "so that mirrors aren't rebalanced as if the OSD died" - gfidente / leseb
|
|
- name: ceph osd set noout
|
|
tags: step1
|
|
command: ceph osd set noout
|
|
- name: ceph osd set norebalance
|
|
tags: step1
|
|
command: ceph osd set norebalance
|
|
- name: ceph osd set nodeep-scrub
|
|
tags: step1
|
|
command: ceph osd set nodeep-scrub
|
|
- name: ceph osd set noscrub
|
|
tags: step1
|
|
command: ceph osd set noscrub
|
|
- name: Stop Ceph OSD
|
|
tags: step1
|
|
service: name=ceph-osd@$item state=stopped
|
|
with_items: "{{osd_ids.stdout.strip().split()}}"
|
|
- name: Update ceph OSD packages
|
|
tags: step1
|
|
yum: name=ceph-osd state=latest
|
|
- name: Start ceph-osd service
|
|
tags: step1
|
|
service: name=ceph-osd@$item state=started
|
|
with_items: "{{osd_ids.stdout.strip().split()}}"
|
|
- name: ceph osd unset noout
|
|
tags: step1
|
|
command: ceph osd unset noout
|
|
- name: ceph osd unset norebalance
|
|
tags: step1
|
|
command: ceph osd unset norebalance
|
|
- name: ceph osd unset nodeep-scrub
|
|
tags: step1
|
|
command: ceph osd unset nodeep-scrub
|
|
- name: ceph osd unset noscrub
|
|
tags: step1
|
|
command: ceph osd unset noscrub
|