78 Commits

Author SHA1 Message Date
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
Jenkins
359827ef4a Merge "Remove admin_token_auth" 2017-06-22 01:13:34 +00:00
Pete Birley
a7503a7d3f Kubernetes Entrypoint: Lookup service names for dependency checks
The existing entrypoint logic used static names to reolve dependencies.
This prevented the service names, and thus the hostnames of services
being altered. This PS resolves that issue by looking up the service name
from the endpoints specified in the values for a chart.

Partial-Implements: blueprint enhance-entrypoint-dependency-checking
External-Tracking-Id: OSH-21
Change-Id: Ib49490f332f8cd88e98c50d9335dfd314a170936
2017-06-20 08:51:36 -05:00
Tin Lam
57d7c852dd Remove admin_token_auth
The admin_token_auth in keystone paste posts a security issue, and has
been deprecated in the M release, and removed in O release.  Operators
should be using ``keystone-manage bootstrap`` to bootstrap the "admin"
user.  This patch set removes the filter and its usage in the various
pipelines from the paste.ini file.

Implements: bp keystone-admin-token-disable
External-Tracking-Id: OSH-102

[0] https://blueprints.launchpad.net/openstack-helm/+spec/keystone-admin-token-disable

Change-Id: I5ae29cad4f7daa4bc8fa117b6f5ed998c2ec6cad
2017-06-19 10:13:59 -05:00
Jenkins
98bb2e0a7e Merge "Keystone Bootstrapping" 2017-06-12 21:11:49 +00:00
Pete Birley
af493beb04 Keystone Bootstrapping
This PS adds a bootstrapping option to the Keystone Chart.

Partially implements: blueprint service-bootstrap

See: https://blueprints.launchpad.net/openstack-helm/+spec/service-bootstrap

Change-Id: I01432967d2ad71249e90d4beda3380125b210a7f
2017-06-12 15:11:41 -05:00
Jenkins
c37aaaa857 Merge "Image-Agnostic: Keystone" 2017-06-12 17:05:15 +00:00
Pete Birley
81aef1ecea Configmaps: set default mode of files in *-bin configmaps to +x
This PS sets the default modetype of mounts from *-bin configmaps
to 0555, and removes the then unnecessary commands from the manifests.

Change-Id: I93ce0facb06affdf362a58f8520e69ba94ea3034
2017-06-12 00:22:30 -05:00
Pete Birley
9b8f6aef88 Image-Agnostic: Keystone
This PS helps improve the Image agnosticism of the Keystone chart.

This is achieved by removing the presumed locations of the Keystone
WSGI scripts, enabling support for images that either do not use a venv
or the same venv location that Kolla uses.

Change-Id: Id04f5e485d6a421b6ac7464cbb14f0e3819b778d
2017-06-11 23:03:39 +00:00
Steve Wilkerson
161170bf96 Move init containers from annotation to official object
With 1.6, init containers are officially part of the kubernetes
API.  This changes the format of the helm template for the
entrypoint container from json to yaml, and updates the
charts accordingly.

Co-Authored-By: Pete Birley <pete@port.direct>

Change-Id: I569566ce4b031d107af2d38483040a26210bec45
2017-06-09 16:31:53 -05:00
Pete Birley
97f781d6c3 Helm Test: Framework & Keystone
This PS introduces 'helm test' functionaility to keystone and
provides the basic framwork for charts to use.

Change-Id: Ie84a6ca0ed007fb55e10d503d1c3e49788908eec
Partial-Implements: blueprint implement-helm-test-for-charts
2017-06-06 16:52:34 -05:00
Jenkins
086411857b Merge "Fix some warnings from keystone-manage doctor" 2017-06-06 19:44:16 +00:00
Jenkins
fa0bfeb0b5 Merge "Refactor start scripts, to support graceful termination" 2017-06-06 16:26:26 +00:00
Michał Dulko
807ec54afd Fix some warnings from keystone-manage doctor
This commit fixes some warnings shown by `keystone-manage doctor`
command that are present in Keystone installed with default chart
configuration. In particular:

* Set max_toke_size=32 as this is correct value for uuid token provider.
* Enable caching using memcache by setting [cache] memcache_servers
  option correctly in configmap-etc.yaml

Change-Id: I38cc7be577e0a7cd9be715e633f3637baafcc21b
Closes-Bug: 1693806
2017-06-06 09:39:32 +02:00
Jenkins
59cb374ad3 Merge "Keystone: Update config to clean Newton checkout" 2017-06-06 04:44:54 +00:00
Pete Birley
0df7427dc4 Refactor start scripts, to support graceful termination
This PS add Barbican support, and moves all potentially container
specific logic into the service start script from the api manifests.

Also fixes a permissions issue with the nova-api, which incorrectly
had the NET_ADMIN capability.

Change-Id: I18fc1ea5d7aa70ea7dabb829361a3da57e905100
2017-06-05 17:37:22 -05:00
Darla Ahlert
c394d22112 Add Graceful Termination to all existing charts
This commit adds graceful termination to all existing charts.
It also adds a setting in the values.yaml file for clarity and
the ability to override if wished.

Change-Id: I42025e4be86d248be467c1d2f0980f864c4d440e
2017-06-05 12:38:26 -05:00
Pete Birley
31b1c3f1cc Keystone: Update config to clean Newton checkout
This PS updates the Keystone template to use a template generated
from the current version of the oslo-gen util.

Change-Id: Id900da732a49b2e154baf950881f0bd15ce3672e
2017-06-05 11:32:07 -05: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
Pete Birley
8c29949c0d Helm-Toolkit: Update naming to be explict and remove old functions.
This PS updates the way helm-toolkit functions are named to
reference the full path they are loacted at. This should make
development and debugging easier. Addtionally unused functions
have been pruned as well.

Change-Id: I03c553f1d01bccc70c86768b416b147c90d9b2f0
2017-05-31 19:52:02 +00:00
Larry Rensing
2cfabc43bf Add pod disruption budget for keystone
This is the initial pod disruption budget that will serve as the template
for all services in OpenStack-Helm.

Partially-Implements: blueprint add-pod-disruption-budgets

Change-Id: I67eeaa66257e793f77a089f3bc0dd4b700638c63
2017-05-18 21:04:33 +00:00
Tin Lam
1a48b79db4 Remove duplicate selector
Keystone service.yaml currently has duplicate selector entries.
This patch set removes the duplicate.

Change-Id: Ic3e195e354b69683f8f3e8b6bb8f4b3a72b75cdb
2017-04-28 11:04:02 -05:00
Larry Rensing
96bfcb57ef Move keystone config files to manifests
This patch set moves the required keystone config files to the manifests, and
allows users to specify their own additional volume mounts if necessary.

Change-Id: I622abbba3e19390ce1003441eb9c0a3477754b82
2017-04-17 14:02:01 -05:00
Pete Birley
e19a9cb503 Remove trailing whitespace from Keystone Chart
The Keystone Chart had some extranious whitespace at the
end of lines, this commit rectifies that.

Change-Id: I4da8e4812a5aa92b85cc3baa3f76d08ba5967091
2017-04-12 01:43:03 -05:00
Alan Meadows
16508c32ee Nova Configuration Override (#319)
* Initial Commit of Nova Configuration Overrides

This commit is an evolution of the initial keystone configuration
overrides work

It expands upon that work by introducing many of the same concepts
into nova.  It differs in that a few concepts were changed.  Namely
the helm-toolkit/_oslo.tpl concept was abandoned, as there are too
many unique oslo paths for configuration elements, so dynamic oslo
setting mechanism was moved locally into configmap-etc.yaml, where
it is generally used.

Secondly, in nova the mount override effort was altered to instead
provide mount "append" capability.  Keeping the manifest mounts
closer to the actual pod, and keeping values.yaml a tad smaller.
This still allows the original flexibility of operators adding
mounts, but they cannot "undo" any of the charts built in mounts.

There were several manual tweaks that needd to be done to _nova.conf.tpl
after the oslo-config-gen process this time.  This is because there is a
bug in the newton version of generating this file. It does not include
the proper service authentication credentials in the [keystone_authtoken]
section.  Future releases have a separate service credentials section
so future config generations will likely not need these added lines.

* Remove unused values.yaml parameters

Fix references to removed helm-toolkit oslo macro

* resolve nova feedback

* bugfix nova-etc/nova-bin swap
2017-04-10 14:41:41 -05:00
wilkers-steve
d0a9bd2202 Merge pull request #289 from portdirect/0.3.0/db-management-job-scripts
feat: replace ansible with PyMySQL for DB Creation
2017-04-06 08:39:05 -05:00
Pete Birley
2a2ae0dc4a PyMySQL Keystone Jobs 2017-04-04 11:33:42 -05:00
Darla Ahlert
1326e3b92c Merge branch 'feat/finish-nodeports' of https://github.com/alraddarla/openstack-helm into feat/finish-nodeports 2017-04-03 09:49:04 -05:00
Darla Ahlert
0579e7ea01 Merge branch 'feat/finish-nodeports' of https://github.com/alraddarla/openstack-helm into feat/finish-nodeports 2017-03-31 16:12:32 -05:00
Darla Ahlert
75fcc1a311 Merge branch 'feat/finish-nodeports' of https://github.com/alraddarla/openstack-helm into feat/finish-nodeports 2017-03-31 10:37:11 -05:00
Darla Ahlert
bdf1c242ed Add NodePort to remainder of services 2017-03-31 10:34:21 -05:00
Darla Ahlert
0f05219fc2 Add NodePort to remainder of services 2017-03-30 19:42:51 -05:00
Alan Meadows
b6bfe640f2 bugfix merge issue 2017-03-22 12:26:23 -07:00
Alan Meadows
b28ef72c17 Merge branch 'master' into keystone_config 2017-03-22 12:21:37 -07:00
Alan Meadows
4153e6429e move all containers into their own mount namespace; fix typos in new configmap logic 2017-03-22 12:13:39 -07:00
Alan Meadows
8c355ac65c moving conditionals into configmap-etc 2017-03-22 11:23:16 -07:00
Alan Meadows
89696cccb9 Handle MuliStr Options and reduce values.yaml skeleton
by creating blank dicts within the generator for
keystone.conf.tpl.
2017-03-21 08:13:52 -07:00
Larry Rensing
de7d71558e corrected memcached host 2017-03-17 15:48:19 -05:00
Alan Meadows
b40a7bf3be bugfix discrepency between etc and bin 2017-03-09 12:45:03 -08:00
Alan Meadows
236be51343 Configuration Management Overrides for Keystone
This commit introduces several new paradigms:

* .Values driven mounts in service containers as well as jobs.
These can be overriden at runtime by manipulating .Values.mounts.*

* Authenticated Endpoint Resolution methods in helm-toolkit
to allow the database and rabbit type endpoints to be moved
under the endpoints section.  Now endpoint lookup functions exist
for openstack endpoints as well as infrastructure elements such as
the database, rabbitmq, and memcache.

* Importing of upstream "out of the box" policy.json
and keystone-paste.ini files for better or worse.

* A rendering of the keystone.conf oslo generated config
using a new helm based Values generator. This provides "known"
paths to all configuration elements in the form of
"<section>.<oslo_namespace>.<element>" so that any of these can
be targeted for override via --set or values.yaml files loaded at
run time.

* Support for appending arbitrary string data to the policy.json,
keystone-paste.ini, or keystone.conf files via --set conf.keystone.append="#
some comment", or --set conf.policy.append="\"identity:list_projects\":
\"role:fake\""

* Support for complete verbatim overrides of these three
files via --set conf.keystone.override="full file contents",
or --set conf.policy.override="full file contents" for example
2017-03-09 12:06:06 -08:00
Pete Birley
5e692febcc Keystone Apache.conf port fix 2017-03-03 00:44:45 +00:00
Pete Birley
fe7a1cf62d Rename Keystone Endpoint type functions 2017-03-02 02:11:59 +00:00
Pete Birley
01028991c3 Move Keystone to endpoint type lookups 2017-03-02 00:51:18 +00:00
Brandon B. Jozsa
f0c7128ae1 add license headers to keystone 2017-02-17 12:13:19 -05:00
Wil Reichert
7bff1763a2 dependecies -> dependencies 2017-02-15 10:20:27 +09:00
Pete Birley
116931bb51 Rename common chart, and update all references to functions within it. (#167)
* Rename common chart to helm-toolkit

* Update useage of helpers to include reference to chart they come from.

* Update helm-toolkit function naming

Also catches several functions missed in previous PS

* Update remaining requirements.yaml to use helm-toolbox

* Dep Check container fix for common -> helm-toolbox renaming
2017-02-14 16:52:38 -08:00
Marcellin Tchassem
fc21a2e924 Add resources limits and requests for some charts (#163)
* Add resources limits and requests for each chart

* Refactor the resources limits and requests to follow a patern

* Fix some coding issues

* fix issues resulting from feedback on the resources PR

* Reset some variables to a static value in the neutron chart.

* Substituting variable entrypoint by dependency_check in the concerned files

* Few adjustments

* Update deploy-region.yaml

* Update deployment.yaml

* Add resources limits and requests for each chart

Squah all commits in one.

* Add resources limits and requests for some charts

* cleaning

* Fix indendation issue

* Update deployment.yaml

* Update daemonset-ovs-vswitchd.yaml
2017-02-01 19:47:59 -08:00
Pete Birley
8317202e3d Standardise DB Job names
Standardise the DB creation job name to service-db-init for all services.
2017-01-22 05:45:30 +00:00
Pete Birley
1a13f9ba83 Add support for daemonsets to the Kubernetes-Entrypoint init-container.
It also makes two other changes:

 * Moves the entrypoint container manifest snippet to its own file to reduce loading on the _funcs.tpl file
 * Changes dep-check-init-cont to dep_check_init_cont to match the formatting of other defines used in OpenStack Helm
2017-01-22 05:35:31 +00:00
Alan Meadows
2edf1bcc99 Bugfixes for functional release tagging
* Allow glance to support using default secrets
  if none are provided

* Resolve configmap mounting issue with glance
  ceph secrets

* Ensure keystone wsgi workers/threads are set to
  reasonable numbers for a container implementation
2017-01-20 09:30:08 -06:00