49 Commits

Author SHA1 Message Date
portdirect
7803346e64 Images: Heat service specific explicit image names
This PS makes the service-specific images for Heat have
explicit names, allowing simple over-riding of images for an
entire site.

Change-Id: I36aff29746b8d402516033a9cc53fcb0c1e06fec
2017-11-28 23:20:56 -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
Michał Dulko
f4f17b01b8 heat-engine as Deployment or StatefulSet
heat-engine service can be now configured to be either Deployment or
StatefulSet.

Additionally this commit removes /var/cache/heat volume, as it's not
used by heat-engine or other heat services at all.

Change-Id: I541a1efc7817beb5f05d4cce216d9ea1cf378d7a
Co-Authored-By: Mateusz Blaszkowski <mateusz.blaszkowski@intel.com>
2017-10-16 06:16:14 +00: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
Pete Birley
16a250509a Telemetry: enable publishing of events for core OpenStack Components
This PS enables publishing of events for core OpenStack Components

Change-Id: I846bfa86ae522c103e741b46e189695d45ca7710
2017-10-04 17:19:45 +00: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
6df59fc3d9 Heat: remove oslo-genconfig
This PS removes the modified oslo-genconfig from heat.

Partially implements: blueprint remove-pregenerated-config-templates

Change-Id: Ib4a5e1c41874e3a2eb15b5002538a2193f07ab04
2017-09-21 13:50:09 +00:00
Jenkins
15dc95754d Merge "Adding missing labels and mounts to heat-trusts job" 2017-09-06 18:55:55 +00: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
Mateusz Blaszkowski
6e2ae0b739 Adding missing labels and mounts to heat-trusts job
Change-Id: I19c85574f78d2c90019ad1f94cba45630c8f48de
Signed-off-by: Mateusz Blaszkowski <mateusz.blaszkowski@intel.com>
2017-09-04 04:38:09 -04: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
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
27864cec04 Security: Container user for support openstack services
This PS adds user control for the service user for support openstack
services.

Change-Id: I132511bfc09d20a2f155bb9498a7fe8eeee8b6f9
2017-08-26 22:03:15 +00:00
Jenkins
d04e69c438 Merge "Enable keystonemiddleware cache encryption" 2017-08-25 01:56:10 +00:00
Michał Dulko
da137ac70d Fix issues with [trustee] section of heat.conf
There are serveral issues with default settings of [trustee] section in
heat.conf:

1. Keystone trust isn't added for admin user (heat-trust should be
   admin's user trustee to make it possible for admin to create stacks).
2. Keystone is adding role "admin" in domain "heat". This blocks
   creation of correct trust in Keystone as role names are duplicated.
   Please note that adding this role is not necessary for Heat to work
   correctly.

This commit solves the issues by:

1. Creating a job that will add a Keystone trust between admin and
   heat-trust users. This allows admin to create Heat stacks.
2. Removes adding a new role in a domain in _ks-domain-user.sh.tpl
   script.

Additionally, as _ks-domain-user.sh.tpl is only really used by Heat
chart, this commit also removes it from configmap-bin in Barbican,
Magnum, Mistral and Senlin charts. Those charts must have been
copy-pasted from Heat chart and don't need to include this file.

Also I fix a bug introduced by I86a21e625afd822379ac11351603b2c606a3769f
that renamded heat-domain user to heat-trust and created two users with
the same name.

Change-Id: I303d9bc2aa1796f21bedc6ecdc85a4b3f6c68504
Closes-Bug: 1696462
2017-08-21 20:10:11 +00:00
Tin Lam
c35f08c4fa Enable keystonemiddleware cache encryption
This patch set enables keystonemiddleware memcache encryption by providing a
random string key into the service configuration file, and setting the
memcache_security_strategy as ENCRYPT.

Change-Id: Ia030f5414308a29096c644bae70047a323eaffde
2017-08-15 22:47:55 -05: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
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
Pete Birley
cbae720d1d Values: Move mounts to pod key
This PS moves the mounts key to be under the pod key in the values.
It brings further consolation of related configuration params to be
nested under common keys across all charts.

Change-Id: If9963e4f8b438847e2fcad3bdd8c0d71ca9ecdd8
2017-07-14 10:44:35 -05:00
Pete Birley
4d066332a7 Values: Move replicas to pod key
This PS move s the replicas key to be under the pod key in the values.
It brings further consolation of related configuration params to be
nested under common keys across all charts.

Change-Id: I420b06debd0a62ba5d83497be43ff6c49c49d339
2017-07-13 23:08:08 -05:00
Pete Birley
3fe1fc3354 Apply bootstrap framework to all remaining services
This PS applies the bootstrap framework to all remaining services.

Change-Id: Ib77778d69e743b1594fbadaf9842e95541703bd1
External-Tracking-ID: OSH-36
2017-07-12 08:09:11 -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
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
c221fa5248 Secret and endpoint standardisation.
This PS moves keystone credentials to the endpoints section within
the values.yaml, and also adds a 'secrets' key, allowing standardiation
of secrets and credential management across OpenStack-Helm.

Change-Id: I86a21e625afd822379ac11351603b2c606a3769f
2017-07-05 12:22:04 -05: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
198ce69e71 Keystone: Member role fixes
This PS makes the initial Keystone Admin and Service account users
members of the projects that they are in.

Change-Id: I2de081a216b7e7b99d301ab605c84d882cdb5840
2017-06-24 16:28:56 +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
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
5e193580ed Pod Disruption Budget: Set default to 0
With pod disruption budget set it is not possible to drain nodes
and perform other expected operations. This PS changes the default
value to 0, restoring the typically expected operation of pods.

Change-Id: I43ef35638c98caee2cf567487173399157000ada
2017-05-31 06:11:58 -05:00
Mark Burnett
de20cbb15d Use the standard Dockerhub MariaDB image
Addresses consistency issues that appear with autoincrement fields in
the existing chart, as demonstrated in [1].  It should allow automatic
recovery of 2 out of the 3 (default) cluster members.

It does not address automatic recovery of a complete shutdown of all
cluster nodes.

[1] https://review.openstack.org/#/c/465977/

Change-Id: I84c86e1862f03a6d381bf219b821ea3636049f0b
2017-05-25 08:56:35 -05:00
Larry Rensing
3d9b17cd8e Adding pod disruption budgets for heat
This PS adds a pod disruption budget for heat api, cfn, cloudwatch,
and engine to ensure 1 replica of each pod is running.

Change-Id: I8f5f224be7e804155390e18aa56dd86331f3645c
2017-05-19 18:14:21 +00:00
Pete Birley
a8a7247a0b Heat: Add rolling update strategy
This ps adds a rolling update strategy to heat, bringing it inline
with other core services.

Change-Id: I702f2f351b4b34f68530617738e3d1566b71f0df
2017-04-22 11:53:19 -05:00
Jenkins
47a8faf058 Merge "Heat: Add volume over-rides" 2017-04-19 22:41:33 +00:00
Pete Birley
8b42b24a23 Heat: Add volume over-rides
This PS brings Heat inline with Nova, Neutron and Keystone providing
a mechanism for appending additional volumes to the manifests as
required.

Change-Id: I17045d35ce5d3e7cfc654c1d962aabd8e6fc73f8
2017-04-18 10:35:57 -05:00
Pete Birley
fbfe2b570f Move Heat images to Kolla
This PS moves Heat to Kolla produced and published images:
 * This is part of a larger effort to move to a single image source

Change-Id: I6d784ad53363987d9a1e62865e332c835ed9fea3
2017-04-18 00:16:11 -05:00
Pete Birley
e3ef3bf888 Heat Configuration overrides
This commit moves Heat to use the configuration methods from Nova,
Neutron and Keystone.

To make reviewing easier, volume configuration will be summited in
a seperate PS.

Change-Id: I3714f885cf4a6a9a34ba13fc9ea4a37e5bcef638
2017-04-12 00:05:09 -05:00
Pete Birley
c0141e1442 Update Heat DB Jobs 2017-04-04 11:33:42 -05:00
Brandon B. Jozsa
e111e8bc6a Merge pull request #274 from larryrensing/feat/add-nodeports-heat
feat: Add NodePorts to heat service
2017-03-21 07:12:37 -04:00
Pete Birley
43df15137d update kubernetes-entrypoint version 2017-03-19 21:48:29 -05:00
Larry Rensing
b82e4fbd19 Added nodeports to heat service 2017-03-14 11:09:48 -05:00
Pete Birley
9638fdccbf KS endpoint type lookup for Heat 2017-03-07 00:23:35 +00:00
Brandon B. Jozsa
05783b9b35 add license headers to heat 2017-02-17 10:07:30 -05:00
maris-accenture
1e7203a523 #106 CPU and memory resources (#106)
* resource requests and limits for cinder, heat, nova
2017-01-30 16:22:51 -08:00
Pete Birley
f1ef55de6e Update Heat to mount Policy at engine statefulsets and set client endpoints 2017-01-12 23:50:26 +00:00
portdirect
d8a07ee1cb Update Heat PR to relect changes reqested in review
This commit addresses the concerns raised in: https://github.com/att-comdev/openstack-helm/pull/77#pullrequestreview-15758654
2017-01-09 19:50:33 +00:00
harbor
b1e3de020b Heat Initial Refactor 2017-01-08 22:16:19 +00:00
portdirect
f02e0eb78d OpenStack Heat Initial Commit
Initial commit of Heat Chart
2017-01-02 01:05:04 +00:00