summaryrefslogtreecommitdiffstats
path: root/puppet/services/ceph-osd.yaml
blob: 9bd83aab6ffba653665af3a7142041cbaae706f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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: Check status
          tags: step1,validation
          shell: ceph health | grep -qv HEALTH_ERR
        - 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