24 Commits

Author SHA1 Message Date
Zuul
799daefb83 Merge "Ceph: don't overwrite mon map" 2018-01-06 21:15:18 +00:00
Huamin Chen
dddfa6651f Ceph: don't overwrite mon map
When monmap is persisted, don't overwrite it when mon pod restarts.
This helps when there is just one mon or all mons reboot

Change-Id: I9119379f4bc026c315a2fa7507a1664b12ea6205
Signed-off-by: Huamin Chen <hchen@redhat.com>
2018-01-05 14:37:39 -05:00
Huamin Chen
eed43b8524 Ceph: luminous fixes
init osd: Ceph luminous release init osd differently. This fix detects
ceph releases and use the right process to init osd directory
mgr: Set mgr daemonset that is in Luminous

Change-Id: I99a102f24c4a8ba18a0bba873e9f752368bea594
Signed-off-by: Huamin Chen <hchen@redhat.com>
Depends-On: I17359df62a720cbd0b3ff79b1d642f99b3e81b3f
2017-12-13 15:52:36 -05:00
dave kormann
5f3f13cc0a Ceph liveness scripts
Replace socket-based liveness checks with scripts

The current TCP socket-based liveness/readiness check for Ceph
doesn't accurately reflect when daemons are live, doesn't handle
multiple OSDs on a host, and doesn't work when hostNetworking is
in use and the Ceph network is different from the one associated
with the hostname.  This change adds new scripts for checking
Ceph monitor and OSD liveness/readiness that query the Ceph Unix
domain sockets to get daemon status and exits 0 iff all sockets
report that their daemons are in an "active" state.

This isn't perfect: we don't know how many daemons SHOULD be
active, so if only a subset is live and the others have no
sockets (yet?), we'll still claim the pod is ready.  The scripts
also don't distinguish between liveness and readiness for OSDs.

Change-Id: I5d370b4bc4025fece2e640355c3a29167afca871
2017-12-01 13:45:41 +00:00
intlabs
61569d1b8b KubeAPI: Update secrets to be in conformance with k8s 1.8
Kubernetes 1.8 is stricter about the feilds in a secrets manifest,
this PS updates OpenStack-Helm to be compliant.

Change-Id: I9e19d07060d8517e0f4fd3056013191b1b4ba2da
2017-10-09 18:20:03 -05:00
Jenkins
7cdb1782ac Merge "Ceph: parameterize kubectl param" 2017-09-25 19:02:22 +00:00
Huamin Chen
2a75376c1c Ceph: parameterize kubectl param
Not to use hard coded labels in kubectl command

Change-Id: Ia53b4bd00071b08d1064349bad596c978814a719
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-09-22 08:10:19 -04:00
Huamin Chen
9b7fac367c Ceph: cleanup unused code
Change-Id: I81fa42b57d3ecd80c808ba92fbe5e840cd4b3dc2
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-09-21 10:43:56 -04:00
Huamin Chen
d2b4a35e75 Ceph: add more debugging to osd
Log the filesystem type of directory OSD to help diagnose root cause of OSD failures

Change-Id: I8c8de033afeeb7e6e33f88db33dc962d03ed3ba9
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-09-13 08:00:58 -04:00
Jenkins
2e2ac8c387 Merge "Ceph: mon should get Pods from namespace other than ceph" 2017-09-08 05:56:57 +00:00
Huamin Chen
c56ebf2ea6 Ceph: mon should get Pods from namespace other than ceph
Currently CLUSTER and deployment namespace both default to ceph, so these
variables can be used exchangeably.But once deployment namespace changes,
MON daemonset will not be able to get its IP from ceph namespace.
This fix swaps CLUSTER with NAMESPACE and solves this problem

Change-Id: I0cf6afafb71f3972e24d13d479192e7a4e155de4
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-09-07 13:54:20 -04:00
Pete Birley
7c37157fb1 Ceph: RadosGW
This PS implements the ceph radosgw and also provides keystone
intergration, allowing ceph to provide a swift like service if
desired for object storage.

In addtion it updates the endpoint lookups to use valid yaml when
dealing with keystone services with a '-' in their name.

Change-Id: I9162ad657df2f77c1bc1afa93a8b999894b1b470
2017-09-06 23:35:47 -05:00
Pete Birley
c6a288d269 Ceph: Config Overides
This PS provides the same level of configuration tuneability and control to
the ceph chart as other charts within openstack-helm.

Change-Id: I620c3fdb31abe67ee5b4b4766b1523e02bb7f814
2017-09-06 19:36:54 -04:00
Pete Birley
f398d73c53 Ceph: Cleanup entrypoint scripts
This PS cleans up the entrypoint scripts to remove unrequired functions.

Change-Id: Ibc445e422c1ebad972de59b47955511d14dd6d3c
2017-09-05 16:34:02 -04:00
Pete Birley
39509c1eb5 Ceph: update namespace client key script to hard fail sucessfully
This PS updates the ceph namespace client key script to hard fail
if it cannot get the admin storage key from the namespace ceph is
deployed into.

Change-Id: Ieefe6d800a678d721294561b25bbebc874cfa74d
2017-08-22 11:12:04 -05:00
Huamin Chen
da9539bb87 Use RBD external provisioner
Currently RBD storageclass uses in-tree provisioner
kubernetes.io/rbd. Since containerized kubernetes controller image
doesn't include rbd binary, in-tree provisioner errors out.

This fix uses external provisioner ceph.com/rbd.

Closes-Bug: #1707937

Change-Id: Iad443a54c0229c0356beb6d872365298248c40c9
2017-08-09 11:24:59 -05:00
Pete Birley
ff8744a9b9 Licence: Remove licence header from rendered files
This PS removes the licence header from rendered output from tiller,
significantly reducing the configmap size of charts deployed to the
cluster.

Change-Id: I5d1b246f2068f3b83bf59ba79fe8b88bbc9a6161
2017-08-07 17:16:13 -05:00
Dae Seong Kim
677c7d834b fix to avoid crash loop on ceph clean job
ceph clean job tries to delete a secret. but if there's no the secret,
the job falls in CrashLoopBackOff status when helm delete.

Change-Id: I863e43f576408fdcd24997bde9b658c50b0057c1
Closes-bug: 1708597
2017-08-04 16:36:47 +09:00
Dae Seong Kim
892f9bd839 remove pvc-ceph-client-key when deleting ceph
When trying to re-install ceph chart, the
ceph-namespace-client-key-generator job is not working because of the
already created pvc-ceph-client-key secret.
So it needs to remove the secret when deleting ceph chart.

Closes-Bug: #1705177
Change-Id: I7338a516fe3b9f265953b8b1fddd3dbfb97bafd2
2017-07-19 16:31:34 +09:00
Pete Birley
9eb86f1f3e Ceph: fix mon check
This Ps fixes the mon check script.

Change-Id: I25647c1cb62539e602e4a4027e55be66b02781fb
2017-07-17 17:17:31 -05:00
Alan Meadows
ccea6b4df5 Convert ceph to utilize hostNetworking
This enhances the stability and recovery of ceph by leveraging
hostNetworking for monitors as well as OSDs, and enables the
K8S_HOST_NETWORK variable within ceph-docker.  This enhancement should
allow recovery of monitors from a complete downed cluster.

Additionally, ceph's generic "ceph-storage" node label has been
split out for mon, mds, and osd.

Co-Authored-By: Larry Rensing <lr699s@att.com>
Change-Id: I27efe5c41d04ab044dccb5f38db897cb041d4723
2017-07-14 19:06:57 +00:00
Larry Rensing
98d436eb94 Add ceph entrypoint scripts
This moves the set of ceph entrypoint scripts into the helm chart
this allows us to control how the different pods start.  Also gives
each script the +x flag to give better insight as to the execution of
entrypoint scripts.

Change-Id: Ib78b8a5d57f653bdb399a1980b34ab5ea25f94cc
2017-07-14 15:20:20 +00:00
Pete Birley
e99a3f29c5 Ceph: add bootstrap job to create pools.
This PS adds a bootstrap job to create the default pools for
OpenStack Services to consume.

Change-Id: I139d7f095c600821ef5ee3b4d2c70a00b971f32b
2017-07-12 11:27:52 -05:00
Pete Birley
8ef5d94674 Refactor Ceph secret generation
This PS refactors the ceph chart and secret generation process.
The updated chart replaces the existing "bootstrap" chart.
Additionally, Ceph manifests and deployment guides were modified
accordingly.

Change-Id: I6f5bb88fc0f40cfee8865d9dab83859d765e7537
Co-Authored-By: Larry Rensing <lr699s@att.com>
2017-06-27 13:42:03 -05:00