175 Commits

Author SHA1 Message Date
Gage Hugo
3d6f3088a3 Add credential delete hook to keystone chart
This change creates a pre-delete hook to clean out all entries
in the credential table of the keystone database when the
keystone service is deleted. Note that these are not
the typical username/password.[0]

This fixes the issue of leftover credential blobs being saved
in the database that are unable to be decrypted since the
original encryption keys are removed upon deletion of the
keystone service

[0] https://specs.openstack.org/openstack/keystone-specs/specs/keystone/newton/credential-encryption.html

Change-Id: I8adf0878af2f3b880e9194a6cb8d97b58d6895a5
2019-04-17 20:10:48 +00:00
Itxaka
229db2f155 Allow more generic overrides for keystone
With this patch we allow for a more easy way of overriding some
of the values that may be used in other distros while maintainting
the default values if those values are not overriden.

The following values are introduced to be overriden:
conf:
  security:
  software:
    apache2:
      conf_dir:
      site_dir:
      mods_dir:
      binary:
      start_flags:
      a2enmod:
      a2dismod:

On which:
 * conf_dir: directory where to drop the config files
 * site_dir: directory where to drop the enabled virtualhosts
 * mods_dir: directory where to drop any mod configuration
 * binary: the binary to use for launching apache
 * start_flags: any flags that will be passed to the apache binary call
 * a2enmod: mods to enable
 * a2dismod: mods to disable
 * security: security configuration for apache

Notice that if there is no overrides given, it should not affect anything
and the templates will not be changed as the default values are set to what
they used to be as to not disrupt existing deployments.

Change-Id: I7622325cf23e5afb26a5f5e887458fd58af2fab8
2019-04-12 04:16:48 +00:00
Zuul
d40d2d084d Merge "Implement Security Context for Keystone" 2019-03-22 21:32:30 +00:00
pd2839
3cd1b78b68 Implement Security Context for Keystone
Implement container security context for the following Keystone resources:
 - Keystone server deployment

Change-Id: Ia68b5ebe4d76e0405d67224d976fee013cc02d0b
2019-03-19 20:51:59 +00:00
Itxaka
e136b0d822 Fix py3 issue on fernet-manage and update-endpoint
fernet-manage:
 - filter used to return a list on python2 but on python3 it returns
 an iterator which has no len method
 - Coherce the keys var into a list so we can run len on it on both
 versions

update-endpoint:
 - ConfigParser is called configparser on python3
 - try/catch and import the proper configparser

Change-Id: I8296074f4d20e47afe0c7aea41bf21999685aecd
2019-03-14 21:24:47 +00:00
pd2839
0c502d2062 readOnlyFilesystem: true for keystone chart
Fix for adding readOnlyFilesystem flag at pod level

Change-Id: I37fb7f580ae0a408530d58b195c353e41d701eac
2019-03-04 21:43:43 +00:00
Steve Wilkerson
f4c01d2461 Add release-uuid annotation to pod spec
This adds the release-uuid annotation to the pod spec for all
replication controller templates in the openstack-helm charts

Change-Id: I0159f2741c27277fd173208e7169ff657bb33e57
2019-02-12 12:31:59 -06:00
Zuul
326200bf93 Merge "Scan templated python files with bandit" 2019-01-31 13:53:16 +00:00
Pete Birley
a5162ad6d7 Keystone: remove stale pids on startup if present
This PS removes stale pids on startup if present.

Change-Id: Iff136f16f8d15a08e8ce8c51d058b55288f97a2e
Signed-off-by: Pete Birley <pete@port.direct>
2019-01-29 16:30:36 -06:00
Gage Hugo
482dbcac29 Scan templated python files with bandit
This change adds a zuul check job to export any templated python
contained in the helm charts and scan it with bandit for any
potential security flaws.

This also adds two nosec comments on the instances of subprocess
used as they currently do not appear to be malicious, as well
as changing the endpoint_update python code to prevent sql
injection, which satisfies bandit code B608.

Change-Id: I2212d26514c3510353d16a4592893dd2e85cb369
2019-01-22 20:53:52 +00:00
Zuul
e24b21afdd Merge "Keystone podSecurityContext" 2018-12-20 21:51:55 +00:00
Rahul Khiyani
085610523f Keystone podSecurityContext
securitycontext with non-root user is implemented at pod level
and leveraged the helm-toolkit snippet

Fix for adding allowPrivilegeEscalation flag as a blanket
policy on the pod in the keyston chart

Depends-On: I95264c933b51e2a8e38f63faa1e239bb3c1ebfda
Change-Id: I15333df4707948e50deb935ffc1ee599588e4788
2018-12-19 20:55:24 +00:00
Huang,Sophie(sh879n)
3061ae3896 Implemented livenessProbe for different OpenStack api containers
LivenessProbe is added to the below deployments:
  glance-api
  glance-registry
  heat-api
  heat-cfn
  horizon
  keystone-api
  nova-api-metadata
  nova-api-osapi
  nova-placement-api

Change-Id: I76b8cafa437855eeb42b77e88da6e3c514a3ac90
Signed-off-by: Huang,Sophie(sh879n) <sh879n@att.com>
2018-12-14 09:52:50 -06:00
Tin Lam
29f32a07ac Enable network policy enforcement
This patch set updates the gate to by default uses network policy
for all components and enforces them in Openstack-helm.

Change-Id: I70c90b5808075797f02670f21481a4f968205325
Depends-On: I78e87ef3276e948ae4dd2eb462b4b8012251c8c8
Co-Authored-By: Mike Pham <tp6510@att.com>
Signed-off-by: Tin Lam <tin@irrational.io>
2018-10-23 14:58:13 +00:00
Pete Birley
3ae745a10e Add release uuid to pods and rc objects
This PS adds the ability to attach a release uuid to pods and rc
objects as desired. A follow up ps will add the ability to add arbitary
annotations to the same objects.

Depends-On: Iceedba457a03387f6fc44eb763a00fd57f9d84a5
Change-Id: I324680f10263c1aefca2be9056e70d0ff22fcaf0
Signed-off-by: Pete Birley <pete@port.direct>
2018-09-13 06:29:14 -05:00
Jean-Philippe Evrard
05d0e2b4b8 Revert "Update OSH Author copyrights to OSF"
This reverts commit b1755c399341388627a668ab9fd6f43b7416f65a.

Change-Id: I215a172f2ff4220340292b95f5323847944baeb7
2018-08-28 17:25:13 +00:00
Matt McEuen
b1755c3993 Update OSH Author copyrights to OSF
This PS updates the "Openstack-Helm Authors" copyright attribution
to be the "OpenStack Foundation", as decided in the 2018-03-20
team meeting:
http://eavesdrop.openstack.org/meetings/openstack_helm/2018/openstack_helm.2018-03-20-15.00.log.html

No other copyright attributions were changed.

Change-Id: I167ceedab8fadee28c19514fad6f125d0a521caf
2018-08-26 17:17:41 -05:00
Pete Birley
83b91e6e1b Openstack: Use k8s secret to store config
This PS moves openstack components in OSH to use secrets to store
potentially sensitive config information.

Depends-On: https://review.openstack.org/#/c/593732

Change-Id: I9bab586c03597effea0e48a58c69efff3f980a92
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-22 20:39:52 -05:00
Pete Birley
7a8ef5f1bb Keystone: move all configuration to be values driven
This PS moves the keystone chart to be linine with other OSH
components and drives all config via the charts values.yaml

Change-Id: I14ee6ede0a87619ecbb2c56d0edf82ffbc5606be
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-05 08:39:17 -05:00
Pete Birley
4a6d740154 Keystone: Stop running keystone container with root user
This PS updates the keystoen chart to stop running the keystone api
as the root user.

Change-Id: If3042210f761476846da02fc8e648c700267a591
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-04 10:06:32 -05:00
Pete Birley
5f349ae653 Keystone: Disable v2 api
This PS disables the v2 keystone API, and finishes the migration to
full v3 support.

Change-Id: I3021ebe0bee668db9f28e7fb18e2d4b26172f209
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-03 14:50:45 +00:00
Pete Birley
dc7008d9a5 Keystone: enable external access to admin endpoint
This PS moves to use port 80 by default for the keystone
asdmin endpoint, and adjusts paths accordingly.

Change-Id: Iccae704dadc17eba269e857301654782f64763c9
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-02 14:40:20 +00:00
Pete Birley
1925a6e61b Keystone: enable service catalog endpoint updates
This PS adds a script to update the keystone catalog endpoints
for keystone itself, as the keystone-bootstrap will not update
these once created.

Change-Id: Ie48c71bbdc9bbd14cebcee46285b3bf51bd28065
Signed-off-by: Pete Birley <pete@port.direct>
2018-07-26 21:24:57 +00:00
Pete Birley
ec2f9d0808 Keystone: Update admin port declaration to use standard layout
This PS updates keystone, and the keystone endpoints sections to use
the same layout for port declarations as other charts.

Change-Id: I7dddabee6c74bf023da4b1cdf722a409e7475f8f
Signed-off-by: Pete Birley <pete@port.direct>
2018-07-25 13:00:52 -05:00
Steve Wilkerson
2f878e6cf7 Dynamically generate tags for oslo_log fluentd formatter
This proposes changing the tags added to the openstack logs
gathered by the fluentd handler from `openstack.<service>` to
`Namespace.Release` to account for multiple instances of openstack
services being deployed into different namespaces. This allows for
fine tuning the search queries in elasticsearch/kibana to target
specific service deployments in specific namespaces

Change-Id: Ia12dceb4089e107e15d8e30c92c91f350dc31318
2018-07-23 13:28:26 +00:00
Steve Wilkerson
2840259fb8 Armada check: Add test directive to charts
This adds support for executing helm tests via the armada test
directive. It enables theses tests for all services, except for
nova and neutron as executing tests with armada force a chart to
wait. Forcing nova and neutron to wait effectively sequences the
charts, which will result in a failure to deploy past those
services

Depends-On: https://review.openstack.org/#/c/581148

Change-Id: I6ac845c82d744e2f5fd79c3e2ff3c1479dd1ddab
2018-07-11 13:34:58 +00:00
Zuul
e8f561127f Merge "Add logging.conf files to enabled loggers/handlers/formatters" 2018-06-26 18:02:54 +00:00
Steve Wilkerson
da7bc575ec Add logging.conf files to enabled loggers/handlers/formatters
This introduces a mechanism for generating the logging.conf
file for the openstack services via the values. This allows us to
define loggers, handlers, and formatters for the services and the
modules they're composed of.

This also allows us to take advantage of the oslo fluent handler
and formatter. The fluent handler and formatter give us the
following benefits: sending logs directly to fluentd instead of
routed to stdout/stderr and then through fluentbit to fluentd,
project specific tags on the logged events (enables us to define
more robust filters in fluentd for aggregation if required),
full traceback support, and additional metadata (modules that
created logged event, etc)

Depends-On: https://review.openstack.org/577796

Change-Id: I63340ce6b03191d93a74d9ac6947f0b49b8a1a39
2018-06-26 09:51:14 -05:00
Pete Birley
e19be77f08 Ingress: Add initial TLS Support for core service public endpoints
This PS adds support for TLS on over-ridden fqdn's for public
endpoints for core OpenStack Services. Currently this implementation
is limited, in that it does not provide support for dynamicly loading
CAs into the containers, or specifying them manually via configuration.
As a result only well known or CA's added manually to containers will
be recognised.

Change-Id: I8f1b699af29cbed2d83ad91bb6840dccce8c5146
Depends-On: I535f38a8d92c01280d79926a1f0acd06984aabbf
Signed-off-by: Tin Lam <tin@irrational.io>
Signed-off-by: Pete Birley <pete@port.direct>
2018-06-26 07:15:24 +00:00
Pete Birley
75ecf8fdf4 Gotpl: remove quote and trunc to suppress output
This PS removes the use of the `quote and truncate` approach to
suppress output from gotpl actions in templates and replaces it
with the recommended practice of defining `$_` instead.

Change-Id: I5f35c5f7e70b4f7f461d772e3b72ed1c695c56a8
Signed-off-by: Pete Birley <pete@port.direct>
2018-06-16 18:52:13 +00:00
Pete Birley
67aed694c4 Deployments: Use current kubernetes deployment version
This PS moves to use the current ga version for kubernetes deployments.

Story: 2002205
Task: 21735
Depends-On: Icb4e7aa2392da6867427a58926be2da6f424bd56

Change-Id: I062a8a29dff70427ee9bcf09f595011b3611b0b1
Signed-off-by: Pete Birley <pete@port.direct>
2018-06-13 21:29:59 -05:00
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
Pete Birley
460675bf7f Add image management function to manifests
When removing helm-toolkit from OSH and swithcing to use the
toolkit from OSH-Infra, the image declaration function was missed.

Depends-On: I2f2012590d81ffcb159d49d8a76eedd4441744cd
Change-Id: I0f1118bb748f3fe1b6bb73acfc00e77c5cca9c7d
Signed-off-by: Pete Birley <pete@port.direct>
2018-05-20 10:10:16 -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
Tin Lam
172178343e Add validation to domain logic
This patch set addresses the comments left in [0] by fixing the header
information in the python template file and adding logic to query the
domain specific logic.

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

Change-Id: I656d7ac8158f9b40246ac739e4dc4fc88e1e43da
Signed-off-by: Tin Lam <tin@irrational.io>
2018-04-11 01:20: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
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
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
Zuul
32a468178b Merge "Ingress controller service: consolidate to helm-toolkit" 2018-03-14 02:14:22 +00:00
Pete Birley
507600e898 Ingress controller service: consolidate to helm-toolkit
This PS consolidates the Ingress controller service, that is used
to resolve internal requests to public endpoints correctly, to
helm-toolkit.

Change-Id: If7c7deca1b8289a32709f7dc7c936883469aadfe
2018-03-12 13:48:39 +00:00
Zuul
4f0aeb619d Merge "DB-Drop-Jobs: consolidate to helm-toolkit" 2018-03-10 20:10:23 +00:00
Pete Birley
6e4bcebcf5 DB-Drop-Jobs: consolidate to helm-toolkit
This PS consolidates the DB-Drop Job to helm-toolkit.

Change-Id: Ia2b035d730bf612086a9fd9b5d14aba494f56dc7
2018-03-09 14:25:15 +00:00
Pete Birley
02767f6d76 Reduce the number of workers spawned by services
This PS reduces the number of processes spawned by services, as
with Kubernetes load distribution can be better managed by a larger
number of single threaded pods (up to a certain point) and doing so
also provides both increased avilibility, leading to smoother rolling
updates. In addtion when running single replicas resource consuption
is reduced.

Change-Id: Ifb7494a0804913d843a072e10d26c6ec53c3bd16
2018-03-09 06:39:02 +00:00
Hemanth Nakkina
8c9ac9f5df Remove Api version constraint for CronJob
Cronjob resource is deprecated in batch/v2alpha1 from
k8s 1.8 and batch/v1beta1 is enabled by default. All the
CronJobs are already using batch/v1beta1 but there is condition
to check if api version have batch/v2alpha1.

Remove the api version constraint on batch/v2alpha1

Partial-Bug: #1753524
Change-Id: I7eeb7d6cc2630311ec5d613b9e059824daae0620
2018-03-06 08:46:22 +05:30
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
Pete Birley
49aacc2030 Ingress rules: consolidate to helm-toolkit
This PS consolidates ingress rules to helm-toolkit.

Change-Id: I38a4de939e1ec65fed1630a53787d363f2ec78f6
2018-02-21 10:21:16 -08:00
Chris Wedgwood
6b844382ad yaml cleanup: trim multiline strings
Change-Id: Ice615c1d252651793dfa09b8e85a5b4228d68737
2018-02-20 16:39:52 +00: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