~openstack-charmers/charms/trusty/ceph/next

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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
options:
  loglevel:
    default: 1
    type: int
    description: Mon and OSD debug level. Max is 20.
  fsid:
    type: string
    default:
    description: |
      fsid of the ceph cluster. To generate a suitable value use `uuid`
      .
      This configuration element is mandatory and the service will fail on
      install if it is not provided.
  config-flags:
    type: string
    default:
    description: |
        User provided Ceph configuration. Supports a string representation of
        a python dictionary where each top-level key represents a section in
        the ceph.conf template. You may only use sections supported in the
        template.
        .
        WARNING: this is not the recommended way to configure the underlying
        services that this charm installs and is used at the user's own risk.
        This option is mainly provided as a stop-gap for users that either
        want to test the effect of modifying some config or who have found
        a critical bug in the way the charm has configured their services
        and need it fixed immediately. We ask that whenever this is used,
        that the user consider opening a bug on this charm at
        http://bugs.launchpad.net/charms providing an explanation of why the
        config was needed so that we may consider it for inclusion as a
        natively supported config in the the charm.
  auth-supported:
    type: string
    default: cephx
    description: |
      Which authentication flavour to use.
      .
      Valid options are "cephx" and "none".  If "none" is specified,
      keys will still be created and deployed so that it can be
      enabled later.
  monitor-secret:
    type: string
    default:
    description: |
      This value will become the mon. key. To generate a suitable value use:
      .
        ceph-authtool /dev/stdout --name=mon. --gen-key
      .
      This configuration element is mandatory and the service will fail on
      install if it is not provided.
  monitor-count:
    type: int
    default: 3
    description: |
      How many nodes to wait for before trying to create the monitor cluster
      this number needs to be odd, and more than three is a waste except for
      very large clusters.
  osd-devices:
    type: string
    default: /dev/vdb
    description: |
      The devices to format and set up as osd volumes.
      .
      These devices are the range of devices that will be checked for and
      used across all service units, in addition to any volumes attached
      via the --storage flag during deployment.
      .
      For ceph >= 0.56.6 these can also be directories instead of devices - the
      charm assumes anything not starting with /dev is a directory instead.
  osd-journal:
    type: string
    default:
    description: |
      The device to use as a shared journal drive for all OSD's.  By default
      no journal device will be used.
      .
      Only supported with ceph >= 0.48.3.
  osd-journal-size:
    type: int
    default: 1024
    description: |
      Ceph osd journal size. The journal size should be at least twice the
      product of the expected drive speed multiplied by filestore max sync
      interval. However, the most common practice is to partition the journal
      drive (often an SSD), and mount it such that Ceph uses the entire
      partition for the journal.
      .
      Only supported with ceph >= 0.48.3.
  osd-format:
    type: string
    default: xfs
    description: |
      Format of filesystem to use for OSD devices; supported formats include:
      .
        xfs (Default >= 0.48.3)
        ext4 (Only option < 0.48.3)
        btrfs (experimental and not recommended)
      .
      Only supported with ceph >= 0.48.3.
  osd-reformat:
    type: string
    default:
    description: |
      By default, the charm will not re-format a device that already looks
      as if it might be an OSD device.  This is a safeguard to try to
      prevent data loss.
      .
      Specifying this option (any value) forces a reformat of any OSD devices
      found which are not already mounted.
  ignore-device-errors:
    type: boolean
    default: False
    description: |
      By default, the charm will raise errors if a whitelisted device is found,
      but for some reason the charm is unable to initialize the device for use
      by Ceph.
      .
      Setting this option to 'True' will result in the charm classifying such
      problems as warnings only and will not result in a hook error.
  ephemeral-unmount:
    type: string
    default:
    description: |
      Cloud instances provider ephermeral storage which is normally mounted
      on /mnt.
      .
      Providing this option will force an unmount of the ephemeral device
      so that it can be used as a OSD storage device.  This is useful for
      testing purposes (cloud deployment is not a typical use case).
  source:
    type: string
    default:
    description: |
      Optional configuration to support use of additional sources such as:

        - ppa:myteam/ppa
        - cloud:trusty-proposed/kilo
        - http://my.archive.com/ubuntu main

      The last option should be used in conjunction with the key configuration
      option.

      Note that a minimum ceph version of 0.48.2 is required for use with this
      charm which is NOT provided by the packages in the main Ubuntu archive
      for precise but is provided in the Ubuntu cloud archive.
  key:
    type: string
    default:
    description: |
      Key ID to import to the apt keyring to support use with arbitary source
      configuration from outside of Launchpad archives or PPA's.
  use-syslog:
    type: boolean
    default: False
    description: |
      If set to True, supporting services will log to syslog.
  ceph-public-network:
    type: string
    default:
    description: |
      The IP address and netmask of the public (front-side) network (e.g.,
      192.168.0.0/24)
      .
      If multiple networks are to be used, a space-delimited list of a.b.c.d/x
      can be provided.
  ceph-cluster-network:
    type: string
    default:
    description: |
      The IP address and netmask of the cluster (back-side) network (e.g.,
      192.168.0.0/24)
      .
      If multiple networks are to be used, a space-delimited list of a.b.c.d/x
      can be provided.
  prefer-ipv6:
    type: boolean
    default: False
    description: |
      If True enables IPv6 support. The charm will expect network interfaces
      to be configured with an IPv6 address. If set to False (default) IPv4
      is expected.

      NOTE: these charms do not currently support IPv6 privacy extension. In
      order for this charm to function correctly, the privacy extension must be
      disabled and a non-temporary address must be configured/available on
      your network interface.
  sysctl:
    type: string
    default: '{ kernel.pid_max : 2097152, vm.max_map_count : 524288,
                kernel.threads-max: 2097152 }'
    description: |
      YAML-formatted associative array of sysctl key/value pairs to be set
      persistently. By default we set pid_max, max_map_count and 
      threads-max to a high value to avoid problems with large numbers (>20)
      of OSDs recovering. very large clusters should set those values even
      higher (e.g. max for kernel.pid_max is 4194303).
  nagios_context:
    type: string
    default: "juju"
    type: string
    description: |
      Used by the nrpe-external-master subordinate charm.
      A string that will be prepended to instance name to set the host name
      in nagios. So for instance the hostname would be something like:
          juju-myservice-0
      If you're running multiple environments with the same services in them
      this allows you to differentiate between them.
  nagios_servicegroups:
    default: ""
    type: string
    description: |
      A comma-separated list of nagios servicegroups.
      If left empty, the nagios_context will be used as the servicegroup
  use-direct-io:
    default: True
    type: boolean
    description: Configure use of direct IO for OSD journals.
  harden:
    default:
    type: string
    description: |
      Apply system hardening. Supports a space-delimited list of modules
      to run. Supported modules currently include os, ssh, apache and mysql.