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

1 by Paul Collins
start with some boilerplate
1
options:
126.1.1 by Edward Hope-Morley
[hopem,r=]
2
  loglevel:
3
    default: 1
4
    type: int
5
    description: Mon and OSD debug level. Max is 20.
1 by Paul Collins
start with some boilerplate
6
  fsid:
7
    type: string
85 by James Page
[trivial] Tidy configuration lint.
8
    default:
1 by Paul Collins
start with some boilerplate
9
    description: |
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
10
      fsid of the ceph cluster. To generate a suitable value use `uuid`
11
      .
12
      This configuration element is mandatory and the service will fail on
13
      install if it is not provided.
165 by Edward Hope-Morley
Add support for user-provided ceph config
14
  config-flags:
15
    type: string
16
    default:
17
    description: |
18
        User provided Ceph configuration. Supports a string representation of
19
        a python dictionary where each top-level key represents a section in
20
        the ceph.conf template. You may only use sections supported in the
21
        template.
22
        .
23
        WARNING: this is not the recommended way to configure the underlying
24
        services that this charm installs and is used at the user's own risk.
25
        This option is mainly provided as a stop-gap for users that either
26
        want to test the effect of modifying some config or who have found
27
        a critical bug in the way the charm has configured their services
28
        and need it fixed immediately. We ask that whenever this is used,
29
        that the user consider opening a bug on this charm at
30
        http://bugs.launchpad.net/charms providing an explanation of why the
31
        config was needed so that we may consider it for inclusion as a
32
        natively supported config in the the charm.
48.1.3 by Paul Collins
add auth-supported config option
33
  auth-supported:
34
    type: string
35
    default: cephx
36
    description: |
37
      Which authentication flavour to use.
38
      .
39
      Valid options are "cephx" and "none".  If "none" is specified,
40
      keys will still be created and deployed so that it can be
41
      enabled later.
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
42
  monitor-secret:
2 by Paul Collins
add README and some prototype hooks
43
    type: string
85 by James Page
[trivial] Tidy configuration lint.
44
    default:
1 by Paul Collins
start with some boilerplate
45
    description: |
27 by James Page
Updated README verbosity, added checks to harden ceph admin-daemon usage in ceph utils
46
      This value will become the mon. key. To generate a suitable value use:
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
47
      .
48
        ceph-authtool /dev/stdout --name=mon. --gen-key
49
      .
50
      This configuration element is mandatory and the service will fail on
51
      install if it is not provided.
14 by Paul Collins
wait for 3 potential monitors to show up, and then try to configure the cluster
52
  monitor-count:
53
    type: int
54
    default: 3
55
    description: |
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
56
      How many nodes to wait for before trying to create the monitor cluster
14 by Paul Collins
wait for 3 potential monitors to show up, and then try to configure the cluster
57
      this number needs to be odd, and more than three is a waste except for
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
58
      very large clusters.
59
  osd-devices:
2 by Paul Collins
add README and some prototype hooks
60
    type: string
41 by James Page
Set config setting to something sensible for quantal
61
    default: /dev/vdb
2 by Paul Collins
add README and some prototype hooks
62
    description: |
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
63
      The devices to format and set up as osd volumes.
64
      .
65
      These devices are the range of devices that will be checked for and
123.1.2 by Andrew Wilkins
Add osd-devices and osd-journal block storage
66
      used across all service units, in addition to any volumes attached
67
      via the --storage flag during deployment.
63.1.1 by James Page
Add support for use of directories instead of devices for OSD's
68
      .
69
      For ceph >= 0.56.6 these can also be directories instead of devices - the
70
      charm assumes anything not starting with /dev is a directory instead.
52.2.1 by James Page
Updates for latest ceph upstream and utils refactor
71
  osd-journal:
72
    type: string
85 by James Page
[trivial] Tidy configuration lint.
73
    default:
52.2.1 by James Page
Updates for latest ceph upstream and utils refactor
74
    description: |
75
      The device to use as a shared journal drive for all OSD's.  By default
76
      no journal device will be used.
77
      .
58.1.4 by James Page
Journal also supported >= 0.48.3
78
      Only supported with ceph >= 0.48.3.
67.1.1 by Edward Hope-Morley
Adds configurable osd-journal-size option
79
  osd-journal-size:
80
    type: int
81
    default: 1024
82
    description: |
83
      Ceph osd journal size. The journal size should be at least twice the
84
      product of the expected drive speed multiplied by filestore max sync
85
      interval. However, the most common practice is to partition the journal
86
      drive (often an SSD), and mount it such that Ceph uses the entire
87
      partition for the journal.
88
      .
89
      Only supported with ceph >= 0.48.3.
52.2.1 by James Page
Updates for latest ceph upstream and utils refactor
90
  osd-format:
91
    type: string
92
    default: xfs
93
    description: |
94
      Format of filesystem to use for OSD devices; supported formats include:
95
      .
58.1.3 by James Page
Allow osd-format for ceph >= 0.48.3
96
        xfs (Default >= 0.48.3)
97
        ext4 (Only option < 0.48.3)
52.2.3 by James Page
Add support for BTRFS
98
        btrfs (experimental and not recommended)
52.2.1 by James Page
Updates for latest ceph upstream and utils refactor
99
      .
58.1.3 by James Page
Allow osd-format for ceph >= 0.48.3
100
      Only supported with ceph >= 0.48.3.
50.1.2 by James Page
Add feature to enabled forced reformatting of OSD devices.
101
  osd-reformat:
102
    type: string
85 by James Page
[trivial] Tidy configuration lint.
103
    default:
50.1.2 by James Page
Add feature to enabled forced reformatting of OSD devices.
104
    description: |
105
      By default, the charm will not re-format a device that already looks
106
      as if it might be an OSD device.  This is a safeguard to try to
107
      prevent data loss.
108
      .
109
      Specifying this option (any value) forces a reformat of any OSD devices
52.2.1 by James Page
Updates for latest ceph upstream and utils refactor
110
      found which are not already mounted.
77.2.1 by James Page
Add support for ignoring device problems
111
  ignore-device-errors:
112
    type: boolean
113
    default: False
114
    description: |
115
      By default, the charm will raise errors if a whitelisted device is found,
116
      but for some reason the charm is unable to initialize the device for use
117
      by Ceph.
118
      .
119
      Setting this option to 'True' will result in the charm classifying such
120
      problems as warnings only and will not result in a hook error.
44 by James Page
Made ephemeral unmounting a configurable option
121
  ephemeral-unmount:
122
    type: string
85 by James Page
[trivial] Tidy configuration lint.
123
    default:
44 by James Page
Made ephemeral unmounting a configurable option
124
    description: |
125
      Cloud instances provider ephermeral storage which is normally mounted
126
      on /mnt.
127
      .
128
      Providing this option will force an unmount of the ephemeral device
129
      so that it can be used as a OSD storage device.  This is useful for
130
      testing purposes (cloud deployment is not a typical use case).
4 by Paul Collins
hackety hack
131
  source:
132
    type: string
85 by James Page
[trivial] Tidy configuration lint.
133
    default:
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
134
    description: |
135
      Optional configuration to support use of additional sources such as:
108 by Edward Hope-Morley
[trivial] Cleanup config.yaml
136
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
137
        - ppa:myteam/ppa
108 by Edward Hope-Morley
[trivial] Cleanup config.yaml
138
        - cloud:trusty-proposed/kilo
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
139
        - http://my.archive.com/ubuntu main
108 by Edward Hope-Morley
[trivial] Cleanup config.yaml
140
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
141
      The last option should be used in conjunction with the key configuration
142
      option.
108 by Edward Hope-Morley
[trivial] Cleanup config.yaml
143
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
144
      Note that a minimum ceph version of 0.48.2 is required for use with this
145
      charm which is NOT provided by the packages in the main Ubuntu archive
108 by Edward Hope-Morley
[trivial] Cleanup config.yaml
146
      for precise but is provided in the Ubuntu cloud archive.
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
147
  key:
148
    type: string
85 by James Page
[trivial] Tidy configuration lint.
149
    default:
22 by James Page
Tidied config.yaml, added extra detail and key config option for arbitarty sources
150
    description: |
151
      Key ID to import to the apt keyring to support use with arbitary source
152
      configuration from outside of Launchpad archives or PPA's.
69.1.2 by Edward Hope-Morley
[hopem] Added use-syslog cfg option to allow logging to syslog
153
  use-syslog:
154
    type: boolean
155
    default: False
156
    description: |
157
      If set to True, supporting services will log to syslog.
75.2.1 by James Page
Add support for splitting public and cluster networks
158
  ceph-public-network:
85 by James Page
[trivial] Tidy configuration lint.
159
    type: string
160
    default:
161
    description: |
162
      The IP address and netmask of the public (front-side) network (e.g.,
163
      192.168.0.0/24)
130.2.1 by Edward Hope-Morley
[hopem,r=]
164
      .
165
      If multiple networks are to be used, a space-delimited list of a.b.c.d/x
166
      can be provided.
75.2.1 by James Page
Add support for splitting public and cluster networks
167
  ceph-cluster-network:
85 by James Page
[trivial] Tidy configuration lint.
168
    type: string
169
    default:
170
    description: |
171
      The IP address and netmask of the cluster (back-side) network (e.g.,
172
      192.168.0.0/24)
130.2.1 by Edward Hope-Morley
[hopem,r=]
173
      .
174
      If multiple networks are to be used, a space-delimited list of a.b.c.d/x
175
      can be provided.
77.3.1 by Hui Xiang
Support ceph for IPv6.
176
  prefer-ipv6:
177
    type: boolean
178
    default: False
77.3.14 by Edward Hope-Morley
[hopem]
179
    description: |
180
      If True enables IPv6 support. The charm will expect network interfaces
181
      to be configured with an IPv6 address. If set to False (default) IPv4
182
      is expected.
108 by Edward Hope-Morley
[trivial] Cleanup config.yaml
183
77.3.14 by Edward Hope-Morley
[hopem]
184
      NOTE: these charms do not currently support IPv6 privacy extension. In
77.3.15 by Edward Hope-Morley
Fixed minor typo in config.yaml
185
      order for this charm to function correctly, the privacy extension must be
77.3.14 by Edward Hope-Morley
[hopem]
186
      disabled and a non-temporary address must be configured/available on
88 by Edward Hope-Morley
[niedbalski,r=hopem]
187
      your network interface.
85.2.1 by Jorge Niedbalski
- Moved sysctl logic to charmhelpers for make it compatible with ceph-osd
188
  sysctl:
189
    type: string
98 by Edward Hope-Morley
[nobuto,r=hopem]
190
    default: '{ kernel.pid_max : 2097152, vm.max_map_count : 524288,
191
                kernel.threads-max: 2097152 }'
85.2.1 by Jorge Niedbalski
- Moved sysctl logic to charmhelpers for make it compatible with ceph-osd
192
    description: |
88 by Edward Hope-Morley
[niedbalski,r=hopem]
193
      YAML-formatted associative array of sysctl key/value pairs to be set
98 by Edward Hope-Morley
[nobuto,r=hopem]
194
      persistently. By default we set pid_max, max_map_count and 
97.1.1 by Nobuto Murata
increase more sysctl values by default to allow 256k threads per process
195
      threads-max to a high value to avoid problems with large numbers (>20)
97.1.2 by Nobuto Murata
update config.yaml description
196
      of OSDs recovering. very large clusters should set those values even
98 by Edward Hope-Morley
[nobuto,r=hopem]
197
      higher (e.g. max for kernel.pid_max is 4194303).
86.2.2 by Brad Marshall
[bradm] Initial nrpe checks
198
  nagios_context:
97.1.3 by Nobuto Murata
fix lint warning
199
    type: string
86.2.2 by Brad Marshall
[bradm] Initial nrpe checks
200
    default: "juju"
97.2.1 by Liam Young
[gnuoy,trivial] Fix charm proof warning
201
    type: string
86.2.6 by Liam Young
Fix typo from last fix
202
    description: |
86.2.2 by Brad Marshall
[bradm] Initial nrpe checks
203
      Used by the nrpe-external-master subordinate charm.
204
      A string that will be prepended to instance name to set the host name
205
      in nagios. So for instance the hostname would be something like:
206
          juju-myservice-0
207
      If you're running multiple environments with the same services in them
208
      this allows you to differentiate between them.
97.2.4 by Brad Marshall
[bradm] Add nagios_servicegroups config option
209
  nagios_servicegroups:
210
    default: ""
211
    type: string
212
    description: |
213
      A comma-separated list of nagios servicegroups.
214
      If left empty, the nagios_context will be used as the servicegroup
128.2.1 by James Page
Add configuration option for toggling use of direct io for OSD journals
215
  use-direct-io:
216
    default: True
217
    type: boolean
218
    description: Configure use of direct IO for OSD journals.
149 by Edward Hope-Morley
Add hardening support
219
  harden:
220
    default:
221
    type: string
222
    description: |
223
      Apply system hardening. Supports a space-delimited list of modules
224
      to run. Supported modules currently include os, ssh, apache and mysql.