Commit Graph

98 Commits

Author SHA1 Message Date
Pete Birley
75b1af3897 Keystone: add deps for rabbitmq job
This PS adds dep checking for the rabbitmq management jobs.

Change-Id: Ibdaa1a9d6db0eb8fae83ba6390d629af7ee63571
Signed-off-by: Pete Birley <pete@port.direct>
2018-06-05 17:48:40 -05:00
Steve Wilkerson
354b311ec5 Add local-registry image managment to OSH from OSH-Infra
This PS adds the local registry image managment to OSH from OSH-Infra.
With this the delta between helm-toolkits in the Repo's is removed,
allowing the toolkit from OSH-Infra to be used and the one from OSH
to be depreciated.

Change-Id: If5e218cf7df17261fe5ef249d281f9d9637e2f6a
Co-Authored-By: Pete Birley <pete@port.direct>
2018-05-12 14:35:48 +00:00
Sean Eagan
97ac197a6e Move to v0.3.1 of kubernetes-entrypoint
Move to v0.3.1 of kubernetes-entrypoint which has 2
breaking changes to pod dependencies, and also adds support for
depending on jobs via labels.

Change-Id: I49d2cea11fbe5c5919ae22a020b877ebbb285992
2018-04-25 12:45:50 -05:00
Pete Birley
40a45b9751 RabbitMQ: Add vHost management and improve security
This PS adds vhost management to rabbitmq jobs. It also prevents
sensitive information being displayed in the management job, and
removes the 'administrator' tag from service users.

Change-Id: Id337f763c5e4776bce7269676a8a2dc54dc2e5f8
2018-04-19 08:26:45 -05:00
Chris Wedgwood
34082dba21 keystone: yaml indentation fixes
Change-Id: Ic402d57f2b0a0a625164a294760476725faea3aa
2018-04-11 21:11:39 +00:00
Tin Lam
2873435274 Add robust ldap domain-specific config
This patch set provides PATCH capability for ldap-backed domain config,
and prevents silent failure if the configuration contains erroneous
setting.  This also moves from loading .conf files into DB directly,
and uses the API endpoints.

Change-Id: I17a19046fa96e0f3e8fb029c156ba79c924a0097
Signed-off-by: Tin Lam <tin@irrational.io>
2018-04-06 12:08:01 -05:00
Tin Lam
866d858c6f Update heat bootstrap scripts
This patch set adds in two roles for heat: heat_stack_owner
and heat_stack_user as outlined in the Newton [0] and Ocata [1],
as well as assigning roles.

[0] https://docs.openstack.org/project-install-guide/orchestration/newton/install-ubuntu.html
[1] https://docs.openstack.org/project-install-guide/orchestration/ocata/install-ubuntu.html

Change-Id: I8510ae114448cc1985c11e9b337b9697a379a920
Signed-off-by: Tin Lam <tin@irrational.io>
Co-Authored-By: Pete Birley <pete@port.direct>
2018-03-29 20:52:54 +00:00
melissaml
205c50cd5d fix typos in documentation
Change-Id: Idb156b0141e177041de5c79b2118d682808d45aa
2018-03-23 08:38:21 +08:00
Zuul
c9a875e9f4 Merge "Ingress: support arbitary hostnames." 2018-03-21 23:24:55 +00:00
Zuul
004f8c4cd5 Merge "Use v0.3.0 of kubernetes-entrypoint" 2018-03-21 20:33:21 +00:00
Pete Birley
6971143048 Ingress: support arbitary hostnames.
This PS allows arbitary hostnames to be used for public endpoints,
provided the resolve externally to the ingress controllers.

Change-Id: I44411687f756968d00178d487af66c2393e6bde0
2018-03-21 09:39:55 -05:00
Tin Lam
d23a77105b Polish TLS patch set
This patch set performs non-critical polish fix to [0].

[0] https://review.openstack.org/#/c/552171/

Change-Id: I5bbb64d5af65782665fd659886e55e25bac61452
Signed-off-by: Tin Lam <tin@irrational.io>
2018-03-19 16:33:53 +00:00
Sean Eagan
85587f2f56 Use v0.3.0 of kubernetes-entrypoint
This version is already being used by some charts, so this brings the
rest of the charts in line and allows them to use a new feature,
pod dependencies, that this version provides.

Change-Id: Ie8289eb09b31cd8f98c2c5b4dd5bbe469078e6d8
2018-03-19 10:35:36 -05:00
Tin Lam
90b6aa9d78 Add tls support for ldap
This patch set adds TLS support for keystone LDAP.

External-tracking: OSH#555

Change-Id: Ice32a31a712b8534a5d1a8f90a8a203710bdb9a9
Signed-off-by: Tin Lam <tin@irrational.io>
2018-03-16 16:47:41 -05:00
Pete Birley
ff0372be4f Keystone: use endpoints section and lookups to set port
This PS moves keystone to use the endpoints section and lookups to
set the port it serves on.

Change-Id: I52c130ded9e76f9e74fce6e5b33d3950262dd7ad
2018-03-03 17:54:15 +00:00
Renis
1ecc905b65 Rabbitmq Credential Management
- This PS implements job to create new user
for each chart

Change-Id: I7335ba4ad4bc9f70871100dbd9e6f030049abe07
2018-02-26 17:44:44 -08:00
Pete Birley
f57972b5b6 dependencies: move static dependencies under a 'static' key
This PS moves static dependencies under a 'static' key to allow
expansion to cover dynamic dependencies.

Change-Id: I38990b93aa79fa1f70af6f2c78e5e5c61c63f32c
2018-02-23 12:31:15 -08:00
portdirect
c7e2eb9e25 Bootstrap jobs: move template to helm toolkit
This PS moves the templates for bootstrap jobs to helm-toolkit.

Change-Id: I0fc0f7722cfc87b00e26510dee7ba79d2139a171
2018-02-19 22:53:34 -05:00
Pete Birley
b311f86193 Node Labels: update nodelabels to allow targeting of pods to nodes
This PS updates the node labels to allow pods to be targeted to nodes
on a per type basis.

Change-Id: I45d5383d04fcd1d98740a18d86c1cfc2cb8ec409
2018-02-19 11:51:09 -05:00
Zuul
e6ca5a4fef Merge "Keystone: break domain management out of generic bootstrap" 2018-02-18 05:44:34 +00:00
portdirect
897edb3202 DB-Init-Jobs: consolidate to helm-toolkit
This PS consolidates the DB-Init Job to helm-toolkit.

Change-Id: Ib92743d678de09a6fb4457e5415a098013952410
2018-02-17 22:47:58 +00:00
portdirect
cf34a995ac Keystone: break domain management out of generic bootstrap
This PS breaks domain management out of the generic bootstrap
job.

Change-Id: I9d26b58cffee0cd13f75113b2dbdf4eac16a6cf7
2018-02-17 20:01:07 +00:00
portdirect
2cb634789d Images: Move default to LOCI and Kolla newton gate
This PS moves the default image in OSH for most services to use LOCI
and also provides a Kolla gate for newton openstack.

Change-Id: Ice6cb9f89bc3ce6e8280e580d215aedda9e71904
2018-02-16 17:06:15 -05:00
portdirect
323267e256 CronJobs: Allow cronjob history to be controlled
This PS allows the number of jobs stored for cronjobs to be controlled.

Change-Id: I0187f566c4e4302f34aabb704696748756102d94
2018-02-08 13:14:09 -05:00
portdirect
4746de33f4 Helm-Test: remove user and tenant creation from test context
This PS removes the user managemnt from the rally driven helm tests
which allows LDAP and other read only sources being used to validate
service functionality, in addition to reducing false -ve results in
the Zuul gates.

Change-Id: I1cc0e99bf74d578648b3cd40eaf60c1804044d88
2018-01-29 02:40:22 +00:00
Tin Lam
9173fc7f75 Add domain specific driver support
This patch set allows for domain specific driver (ldap and sql)
for keystone.

Change-Id: Iad8e07fdfdb0e4abc96a7e8100467959ed275dfb
2018-01-23 18:10:19 -06:00
Zuul
e1e60244d2 Merge "Keystone: Move rally tests to values.yaml" 2018-01-16 17:57:20 +00:00
portdirect
b180d28618 Auth: Update credential keys to reference service specifically
This PS moves all credentials for OpenStack services from 'user' to
the service name. This allows a single yaml snippet to articulate
the credentials for a deployment.

Change-Id: Ic720109f2ba854561b23767cb480bcae91f74b6b
2018-01-15 18:54:13 +00:00
portdirect
c25193a549 Keystone: Move rally tests to values.yaml
This PS moves the rally tests to the values.yaml allowing
them to be driven by operators.

Change-Id: I3d65da011e39362db24c170a37cbffe71a63c20c
2018-01-15 14:43:48 +00:00
portdirect
e446e5eceb Ingress: Update image and add UDP/TCP proxying support
This PS updates the image used in the ingress controller and
adds UDP/TCP proxying. In addition the chart has been given
a spring clean to better match other OSH charts.

Change-Id: Ib892b82c4657c42e7531a2ce81746398e7bd4df5
2018-01-11 18:33:42 -05:00
Zuul
5d91148986 Merge "Oslo-messaging: remove unused admin credentials from values.yaml" 2018-01-06 18:49:55 +00:00
portdirect
4b9c2c7922 Oslo-messaging: remove unused admin credentials from values.yaml
This PS remove the admin credentials from the values.yaml, which
have never been leveraged.

Change-Id: Ifb1cdefd1c52b8a2a2fb3a627393d305823e74ec
2018-01-05 10:22:53 -05:00
portdirect
5a2f71ebdf Ingress: Allow annotations to be dyanmicly driven
This PS allows the ingress rules to be dynamicly driven from the
values.yaml, permitting the ingress cotnroller to ba changed and
custom rules to be applied: eg whitelisting of clients.

Change-Id: Ica6b4692ff9b6b77d1efe6bae212a1227e56ca66
2018-01-05 00:29:05 -05:00
portdirect
a4fa122e43 Images: Keystone service specific explicit image names
This PS makes the service-specific images for Keystone have
explicit names, allowing simple over-riding of images for an
entire site.

Change-Id: I0b50d07fc0c2e00ab7803dd4c986c8a26e25ea49
2017-11-28 23:24:55 -05:00
Hyunsun Moon
0808cf5198 Add option to set external policy to local for openstack services
External traffic policy "local" would be preffered when openstack
service is accessed from external via node port. This option has an
effect only when service node port is enabled.

Change-Id: Ic68cfc59dc39dc842d4790deffa70efe433dd7a6
2017-11-02 15:07:21 +09:00
intlabs
fe6107cf76 Images: Update values to allow simple parse of images being used
This PS updates the values file layout for images to allow simple
parsing of the images in use by charts, allowing them to be queried
and modified much more simply. By moving the image tags to a 'tags'
key, we can extend the options used simply to accomodate extra
options simply (eg prefixing the tag for use with an internal
registry) or pre-pulling the images to reduce chart deploy failure.

Change-Id: I9ec1dbb00d997ab6cb021bf0b698f7aae740e95d
2017-10-23 10:05:20 -05:00
Grzegorz Grasza (xek)
1fe3ca34c9 Change entrypoint version
New kubernetes-entrypoint version was released. K8s-entrypoint
authors maintain images at Quay. The image uses CoreOS, which
is more lightweight than the current Ubuntu image, so it
should lessen the burden on the infrastructure.

Change-Id: Id8c2a4d065550ffbd64476377247cccf213b58e1
Partial-Implements: blueprint entrypoint-namespaces
2017-10-10 15:59:08 +02:00
Sean Larimore
d1e775547c Adding database drop jobs
Implemented Kubernetes jobs to drop a database for an OpenStack service
on deletion of Helm chart. This job is configurable to be enabled or
disabled in the values.yaml file for each chart.

Change-Id: Ia1a0834cb43c7e883aaf507a7c7683fa1cf4e838
2017-09-27 09:44:28 -06:00
Pete Birley
5e8be5c339 Remove hacked OSLO genconfig tool
This PS removes the pregenerated config templates producing using
the hacked oslo-genconfig tool. This results in both a much smaller
codebase and also more readable configuration by removing the
requirement to specify settings via oslo namespaced references.

This initial PS applies only to Keystone, A follow up will extend to
all remaining services.

Partially implements: blueprint remove-pregenerated-config-templates
See: https://blueprints.launchpad.net/openstack-helm/+spec/remove-pregenerated-config-templates

Change-Id: I3ced7ad02c703c767925a17b1a18f6158a878e83
2017-09-19 21:51:26 -05:00
Pete Birley
b120667031 Endpoint lookups: fix typo in overrides
This PS fixes a typo in the endpoint lookup function and input.

Change-Id: I6ff6d68bf82e1e1f70438a7017f4e1a6df7f59a7
2017-09-06 11:15:54 -05:00
Pete Birley
bede94c835 Endpoint lookup namespace and fqdn support
This PS adds namespace and fqdn support to endpoint lookup functions,
it also permits over-riding of the puplic endpoint for ingress.

Change-Id: Ib61c5c00a214d75fe85fbffe9080c2ae88bd8cb9
2017-08-31 19:06:33 +00:00
Pete Birley
ceb30e8cc7 Jobs: Consoloate on heat-engine for admin jobs where possible.
This ps moves to use a container sultaible for use as the heat engine
for all possible admin jobs - it is lighter than the kolla-toolbox image
and makes it easy to swap out to other image sets. This is as the heat
engine container should contain the openstack client (with all required
libs for the cloud) and the oslo_db supporting libs required by the db
management jobs, as well as the oslo_messaging libs required for future
rabbitmq management expansion.

Change-Id: I5451c15c8fb49c85b4f254cc60156420bee2efea
2017-08-29 04:34:26 +00:00
Pete Birley
4458e2c9b9 Keystone: Fix limits and requests for resources
There were some erros in the limit and requests for resources in
some of the keystone pods. This PS resolves the issue.

Change-Id: I5f8eed1a22a42621654198ab9b844914ba0aade8
2017-08-28 10:41:36 -05:00
Pete Birley
7cfd182929 Security: Make policy fully configurable via helm values
This PS moves the policy.json to be fully driven by gotpl,
allowing full configuration without editing the template.

Nova and Cinder are addressed in the seperate patchsets:
 * https://review.openstack.org/#/c/498215/
 * https://review.openstack.org/#/c/498216/

Change-Id: Ia2be5fb4e460d41034fdadbbefc1e48d0869e023
2017-08-26 17:50:22 -05:00
Pete Birley
1fd7f66783 Helm-Toolkit: Configmap templater
This PS adds a configmap teplater helper to helm-toolkit. It makes it
simpler to write consistent charts that supports over-riding of all
values.

Change-Id: I9a587999859ea02802485eb25a3f0ebec8c712a8
2017-08-23 08:06:38 -05:00
Dae Seong Kim
aacd11e361 Add Tempest script in helm test framework
Now, openstack-helm support "helm test" function, and It execute rally
container.
Rally also can test Tempest itself, so this fix will be add tempest
test in rally container.

Change-Id: I2c2f684f6583f2a3d9c7279a3d85cb242934e90e
Implements: blueprint add-tempest-in-helm-test
2017-08-16 16:56:10 +09:00
Pete Birley
35601e2bd3 Charts: make manifests optional for all OpenStack elements
This PS allows the rendering of manifests to be controlled. It enables
both increased control over deployment when required but also makes
development of a feature easier to target.

Change-Id: I1716e8ee23fe5c53f935bd739ea283bc4a2a9963
2017-08-07 14:59:48 -05:00
Michał Dulko
cfab320f26 Add setup and rotate job for credential keys
Keystone is using keys to encrypt credentials saved into the database.
The mechanism is very similar to fernet tokens. This commit implements a
job setting key repository up and rotate job for those keys. All is
based on implementation of fernet tokens.

Change-Id: I88faf1d02d2b317563e8603cebba542f8b133c6a
Closes-Bug: 1693807
2017-08-02 13:22:05 +02:00
Michał Dulko
03543a3d53 Add support for Keystone's fernet tokens
Keystone supports (and that's a default setting since Ocata) using
non-persistent fernet tokens instead of UUID tokens written into the DB.
This setting is in some cases better in terms of performance and
manageability (no more tokens DB table cleanups). OpenStack-Helm should
be able to support it.

General issue with fernet tokens is that keys used to encrypt them need
to be persistent and shared accross the cluster. Moreover "rotate"
operation generates a new key, so key repository will change over time.

This commit implements fernet tokens support by:
* A 'keystone-fernet-keys' secret is created to serve as keys repository.
* New fernet-setup Job will populate secret with initial keys.
* New fernet-rotate CronJob will be run periodically (weekly by default)
  and perform key rotation operation and update the secret.
* Secret is attached to keystone-api pods in /etc/keystone/fernet-tokens
  directory.

Turns out k8s is updating secrets attached to pods automatically, so
because of Keystone's fernet tokens implementation, we don't need to
worry about synchronization of the key repository. Everything should be
fine unless fernet-rotate job will run before all of the pods will
notice the change in the secret. As in real-world scenario you would
rotate your keys no more often than once an hour, this should be totally
fine.

Implements: blueprint keystone-fernet-tokens
Change-Id: Ifc84b8c97e1a85d30eb46260582d9c58220fbf0a
2017-08-02 13:22:05 +02: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