Commit Graph

58 Commits

Author SHA1 Message Date
Huamin Chen
84901ac56d Ceph: RGW and MDS deployment fixes
fix ceph.conf path in RGW
add variables_entrypoint.sh to MDS and RGW deployment

Change-Id: Ic977e397e3534b71eb17f7de4199ba31c343a0ba
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-09-08 14:59:44 -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
Mateusz Blaszkowski
e4f0690eb2 'affinity' constraints added in remaining services
Change-Id: I1ca654fbcc0301591e6b290d41fce1797ea2820a
Signed-off-by: Mateusz Blaszkowski <mateusz.blaszkowski@intel.com>
2017-09-04 05:56:19 -04:00
Jaesang Lee
26252ae1fd Set DNS policy for ceph-mon daemonset
add dnsPolicy parameter in daemonset-mon.yaml, ceph-mon should have
dnsPolicy ClusterFirstWithHostNet because it use hostNetwork.

Closes-bug: 1713383
Change-Id: I14aba0f5caeb6cb7057aeadb18c60337b130da90
2017-08-28 11:27:54 +09: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
Huamin Chen
e30c1cf414 set DNS policy for osd daemonset
Use ClusterFirstWithHostNet DNS policy so osd pods can resolve mon address
through host network

Change-Id: I7aaeee1fc26cc1812c210bfe2c0f5b131c4cbd81
Closes-Bug: #1709439
2017-08-08 15:25:28 -04: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
Jenkins
350f1b91b9 Merge "fix to avoid crash loop on ceph clean job" 2017-08-07 14:57:28 +00:00
Pete Birley
8f8a80019a Jobs: Add labels to all jobs
This PS adds labels to all jobs in OpenStack-Helm, allowing them to be
found by label searches. This makes management of large clusters using
tools like Armada easier.

Change-Id: I49b2cb7a94fab96958f187ca11e2c2a0c80ff843
2017-08-05 20:17:12 +00: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
Jenkins
542105729b Merge "Randomize ceph namespace cleaner job name" 2017-08-01 19:59:41 +00:00
Huamin Chen
4ae758a4f1 Randomize ceph namespace cleaner job name
Currently Ceph namespace job cleaner uses a fixed name. This leads to
helm delete fails to clean up Ceph package. This fix randomizes the job
name to avoid name conflicts.

DocImpact
Closes-Bug: #1707670

Change-Id: I7ac7b7482b945a9a836f6f69df0ef8cebc37bafb
2017-08-01 09:30:52 -04:00
Pete Birley
f30cbcf108 Update pod affinity to allow customisation
This PS updates the pod affinity function to allow customisation by
operators at the point of deployment.

Change-Id: I8b7b2f584e990e068051d9a6d5cc7b1e1adb5aa5
2017-07-28 15:02:47 +00: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
Larry Rensing
394a336c35 Remove unnecessary ceph mon pdb
Ceph mon has been changed from a statefulset to a daemonset,
so the PodDisruptionBudget is no longer needed.

Change-Id: I86d46ed2e6377177eff9251d5e4f3bb433eaf250
2017-07-18 04:13:22 +00: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
Larry Rensing
bc8da1a89d Fix ceph single node gate health
Ceph's health when running in the single node gate currently
is 'HEALTH_WARN'.  This PS adds an extra config option such that
the ceph cluster will not attempt to perform replication when deployed
on a single node, as well as introduces a mvp yaml file for ceph
deployments in the gate.

Change-Id: Ib2ec3345140f541c94da044ff9d77723ea3ee2bd
2017-07-17 16:30:09 +00: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
20527cb57c Move k8s pod params under common key
This PS moves K8s pod params under a common key.

Change-Id: Ib4e72e82a4f1540fa800c39d0dcc91b286d96c93
2017-07-11 23:28:47 +00:00
Tin Lam
670a78bcbe Fix file permission and readOnly flag
This patchset enforces stricter file permission on *-etc configmap and
sets readOnly flag to true in a number of charts.

Change-Id: I233689a5d56dd1352e0d81997a94b4cdd6bed5d2
Signed-off-by: Tin Lam <tin@irrational.io>
2017-07-08 13:24:14 -05:00
Pete Birley
ac06f49849 Unify and normalise K8s Resources and Upgrade Strategy
This PS unifies and normalises Kubernetes resource allocation and
update strategy across all OpenStack-Helm elements.

Change-Id: Ia41fc453cb5191fa447ca6e1aa0f5b431c939dc8
2017-07-06 17:48:16 +00:00
Pete Birley
2a4a3fbdca Ceph: Fix pod antiaffinity for mons
This PS fixes the pod anti-affinity declaration for mons.

Change-Id: I81179453c5efaee66dc8a43075d8c542e3ddadef
2017-07-02 05:37:21 +00:00
Pete Birley
c0cf2337a2 Ingress controller for public endpoints
This PS provides the framework for Ingress controller based access to
public APIs.

Services covered:
 * Barbican
 * Cinder
 * Glance
 * Heat
 * Horizon
 * Keystone
 * Magnum
 * Mistral
 * Neutron
 * Nova
 * Senlin

Change-Id: I82d55f6ca41859ebed3312ec7d95b353df09e772
Implements: blueprint api-ingress
External-Tracking-Id: OSH-58, OSH-62
2017-06-28 17:37:10 -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
Michał Dulko
a6cd9bac16 Use k8s 1.6 syntax of declaring affinity
K8s 1.6 has affinity/antiaffinity funtionalities as a beta feature. This
means we don't need to declare them using annotations. This commit
switches usages of affinity to 1.6 syntax.

Change-Id: Ia68f4ab28a018617bd44b1295fea58cd30eb4a39
2017-06-20 16:51:07 +02:00
Darla Ahlert
78dd37efc2 Update deployment for kubernetes 1.6
In Kubernetes 1.6, the deployment API version was changed
from extensions/v1beta1 to apps/v1beta1

Change-Id: I14ee465de381d25866224b9eae3512f0b42588d3
2017-06-02 08:45:08 -05:00
Larry Rensing
96e827e6b7 Add pod disruption budget for ceph
This adds default pod disruption budgets for ceph mons

Change-Id: I4a85140aea2a532bc073d97c7b985c7f61205a6d
2017-05-31 16:39:31 +00:00
Mark Burnett
f7acb43376 Ceph: move rgw Service into separate file
Change-Id: I6f08fe200f234bf9baf985fe83e71b0bd9c20c44
2017-05-05 09:52:39 -05:00
Alan Meadows
6dc0852146 Tolerate unready ceph-mon endpoints
This allows ceph to form a reliable quorum under Kubernetes
1.6.  There appears to be a minor timing difference in 1.6
compared to previous versions requiring us to annotate the
ceph-mon service with this toleration.

Change-Id: I2bb325c6dc0fc4b3c98eaccd95be36a53b1e8a16
2017-05-02 07:08:30 -07:00
Larry Rensing
1dd9ef153f Ceph RGW cleanup
Fixes incorrect variable reference in deployment-rgw and removes
a duplicate value in values.yaml

Change-Id: I8b922cbb9d6f9b6153d4ccfcfa991bd7a51ef185
2017-04-21 16:02:47 +00:00
Pete Birley
f44ae0592e OpenStack-Helm: Kubernetes 1.6 Support
This PS moves OpenStack-Helm to both support and require K8s 1.6

Change-Id: I2be2eb3a063f279d2544fc7d65fbfd8793821213
2017-04-19 14:18:50 -05:00
Brandon B. Jozsa
bdc5564542 adding apache-lic header for ceph 2017-02-03 09:48:17 -05:00
Greg Althaus
43fee7bfed CEPH Mons autodetection doesn't work reliably across all (#156)
We should use known parameters for the custer POD ips and the MON_IP to make MON IP discovery more consistent.
2017-01-30 15:16:36 -08:00
Greg Althaus
0cf9463c8a Update ceph ansible with some changes for the upstream. (#155)
1. fix a container name
2. Fix mds networking parameters.
3. Make rgw not a host network container.
2017-01-29 10:46:52 -08:00
Alan Meadows
db0db427ee Critical fixes required for 0.1.0 tagging
* Add imagePullPolicy to ceph with default

* Add imagePullPolicy to mariadb with default

* Add missing imagePullPolicies to nova with defaults

* Remove malfunctioning daemonset dependency from nova

* Add missing neutron endpoint definition to nova values

* Force v4 networking in ceph.  Repeated bootstrapping
  is unreliable without this.

* Update cinder dependencies based on testing

* Optonal Horizon NodePort

* Revert iptables stub for nova-api-osapi because
  we lack permississions to overwrite /sbin/iptables. We
  will continue to run in a privileged security context
  until we have a working solution.
2017-01-12 14:51:36 -08:00
Alan Meadows
f9cb3fc846 Bugfix a few typos from last three PRs
This resolves a few issues that crept in with the last
three pull requests.
2017-01-03 15:53:06 -08:00
Alan Meadows
b366dc252a Refactor ceph to allow monitors to leverage a stateful set.
The IPs of ceph monitors cannot (or should not) change.

This refactor allows the ceph monitors to act as statefulsets.
It also persists their on disk data to nodeDirs, to allow cluster
wide restarts (in parallel), where previously this would lose
data.  This is accompanied by some docker images changes that
ensure that auth for the OSDs is restored/reinserted as auth
data is somehow not persisted to disk at this time.
2017-01-03 12:23:25 -08:00
Brandon B. Jozsa
91c59e1fd2 bug fix for rgw crashloops 2016-12-23 17:11:33 -05:00
Brandon B. Jozsa
c6dd9b617f fixes bugs in deployment 2016-12-23 15:31:10 -05:00
Alan Meadows
77401c1142 Allow more control over ceph chart
* A new boolean value controls whether secrets and
the ceph.conf secret ConfigMaps are installed allowing
you to bring-your-own ceph configs. This should
remove the dependency on having to generate secrets
using the common chart if you have installed your own.

* A new boolean value controls whether we install
a storage class as part of the ceph chart install allowing
you to externally manage this

* More of the ceph values have been converted to values
variables, paving the way for a master yaml to provide input
and overrides to many independent "sub" charts without a parent chart
2016-12-12 16:34:21 -08:00
Alan Meadows
3c2e101e72 b64enc consistently 2016-11-30 16:20:49 -08:00
Alan Meadows
e86461b3f1 apply ceph-client-key normalization to common (really this time) 2016-11-30 15:08:31 -08:00
Alan Meadows
67c86d9fea apply ceph-client-key normalization to common (really this time) 2016-11-30 15:07:15 -08:00