241 Commits

Author SHA1 Message Date
caoyuan
cb77d3adff Replace git.openstack.org URLs with opendev.org URLs
Change-Id: I9a7bcee8727cb127d57ccb4dce1183895a4130cd
2019-04-25 00:37:57 +08:00
Pete Birley
623c131292 OSH: Add emptydirs for tmp
This PS adds emptydirs backing the /tmp directory in pods, which
is required in most cases for full operation when using a read only
filesystem backing the container.

Additionally some yaml indent issues are resolved.

Change-Id: I9df8f70e913b911ff755600fa2f669d9c5dcb928
Signed-off-by: Pete Birley <pete@port.direct>
2019-04-20 08:55:44 -05:00
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
Jiří Suchomel
a2a5dda47c Added volume related keys to pod mounts to ease the overriding
If user wants to add an extra volumeMounts/volume to a pod,
amd uses override values e.g. like this

pod:
  mounts:
    nova_placement:
      init_container: null
      nova_placement:
        volumeMounts:
          - name: nova-etc
          ...

helm template parser complains with

Warning: The destination item 'nova_placement' is a table and ignoring the source 'nova_placement' as it has a non-table value of: <nil>

So when we create empty values for such keys in values.yaml, the source
will be present and warning does not need to be shown.

Change-Id: Ib8dc53c3a54e12014025de8fafe16fbe9721c0da
2019-03-15 16:29:19 +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
Zuul
1ad5467252 Merge "Increase default logging" 2019-03-06 04:09:58 +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
Jean-Philippe Evrard
5890ebf4f8 Increase default logging
The current helm chart defaults drops logs of any warnings
(and above) for any logger outside of the namespace
of the deployed chart.

This is a problem, as logging could reveal important information for
operators. While this could be done with a value override, there
is no reason to hide warning, errors, or critical information that
are happening in the cycle of the operation of the software
deployed with the helm charts. For example, nothing would get
logged in oslo_service, which is a very important part of running
OpenStack.

This fixes it by logging to stdout all the warnings (and above)
for OpenStack apps.

Change-Id: I16f77f4cc64caf21b21c8519e6da34eaf5d31498
2019-02-28 09:53:01 +00:00
Pavlo Shchelokovskyy
55645c7e73 Explicitly set datefmt for logging
the defaults in Python [0] and oslo.log [1] are such that when using
separate config file for logging configuration (log-config-append)
the log fomat of dates containes miliseconds twice (as in sec,ms.ms)
which is exactly what is currently seen in logs of OpenStack services
deployed by openstack-helm.

When not provided with datefmt log formatter option, Python effectively
uses '%Y-%m-%d %H:%M:%S,%f' [0] as a default time formatting string to
render `%(asctime)s`, but the defaults in oslo.log add another `.%f`
to it [1].

Since `log-date-format` oslo.log option has no effect when using
log-config-append, we need to explicitly set date format to avoid double
miliseconds rendering in date of log entries.

[0] 6ee41793d2/Lib/logging/__init__.py (L427-L428)
[1] http://git.openstack.org/cgit/openstack/oslo.log/tree/oslo_log/_options.py?id=7c5f8362b26313217b6c248e77be3dc8e2ef74a5#n148

Change-Id: I47aa7ce96770d94b905b56d6fe4abad428f01047
2019-02-21 08:28:35 +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
Pavlo Shchelokovskyy
776f4a8297 Drop heat_stack_owner role
this role is not actually required since ~Kilo
I3f1b70b78b91bfac9af5fadb71140679b208c999
plus the heat chart already sets the trusts_delegated_roles option
for Heat to pass all roles to the trust

Change-Id: Icf900f318d3173d63c5967857d96f7d2a7f9aa5b
2019-02-05 17:36:18 +02:00
Zuul
326200bf93 Merge "Scan templated python files with bandit" 2019-01-31 13:53:16 +00:00
Zuul
817eda621f Merge "Keystone: remove stale pids on startup if present" 2019-01-30 00:38:06 +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
Deokjin Kim
658138935f Allow prometheus-openstack-exporter to access keystone
To get openstack related metrics, prometheus-openstack-exporter need to
access to keystone. So add prometheus-openstack-exporter to network
policy of keystone.

Change-Id: I31106a10e512578a35122949c3cff698b1bc482b
Signed-off-by: Deokjin Kim <deokjin81.kim@samsung.com>
2019-01-25 14:12:09 +00: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
8935b24544 Merge "Upgrade rally to 1.3.0" 2019-01-09 05:18:39 +00:00
weiyj
50a65ca297 spelling errors
Change-Id: Id2660a1c7f1808b7f74b3960abbd5bf6b72aa387
2019-01-05 04:40:00 +00:00
Zuul
e24b21afdd Merge "Keystone podSecurityContext" 2018-12-20 21:51:55 +00:00
Jaesang Lee
2a03fd65bf Upgrade rally to 1.3.0
Since rally 1.0, rally has been a platform for testing, and rally for
openstack has been separated by rally-openstack. The current version
of rally in openstack-helm is version 0.8 which corresponds to ocata.
This patch tests with the latest version of rally-openstack, version
1.3.0, and removes scenarios that are no longer in use.

Change-Id: I380a976c0f48c4af0796c9d866fc8787025ce548
2018-12-20 00:22:49 +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
Zuul
2fcfd668ad Merge "Enable keystone brute-force protection by default" 2018-12-19 07:24:47 +00:00
Vladyslav Drok
df336272f0 Enable keystone brute-force protection by default
This change sets lockout_failure_attempts and lockout_duration
configuration options in security_compliance group.

Change-Id: I72910e52239ace23b92d826794cd0603a061e6c3
2018-12-18 05:03:22 +00:00
Mike Pham
95a6a2e875 Enable Egress policy enforcement
This PS is enable the Egress policies
and enforces them in Openstack-helm.

Depends-On: Icbe2a18c98dba795d15398dcdcac64228f6a7b4c
Change-Id: I6ef3cd157749fd562acb2f89ad44e63be4f7e975
2018-12-17 14:38:29 +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
Zuul
3d5fcddffe Merge "Keystone: remove rally ec2 credential test" 2018-10-17 19:44:53 +00:00
Pete Birley
a2c47a78c3 Keystone: remove rally ec2 credential test
This PS removes the rally ec2 credential test. As Rally left old
encrypted ec2 credentials in the database which were not being
cleaned up between upgrades and key changes.

Change-Id: Id0c5411521adebc8c977fd9a24f511f6925f16d0
Signed-off-by: Pete Birley <pete@port.direct>
2018-10-17 09:57:13 -05:00
Tin Lam
3cd4d0898a Upgrade default from newton to ocata
This patch set moves the default deployment to ocata from newton.
Newton zuul job is now moved into its separate job.

Change-Id: Ic534c8ee02179f23c7855d93a4707e5a2fd77354
Signed-off-by: Tin Lam <tin@irrational.io>
2018-10-13 04:18:46 +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
Zuul
e31f82668e Merge "Keystone: Correct endpoint definition" 2018-08-24 16:01:53 +00:00
Pete Birley
4b3cbafc9a Keystone: Correct endpoint definition
This PS udpates the keystone endpoint definition to point to the
correct host for the admin endpoint when looked up using endpoint
functions from helm-toolkit.

Change-Id: Ic6b82a002cca92e37d21f594bad5f00758f1ea7a
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-23 11:33:21 -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
7e90bb02bd Logging: update logging config to pass null as a string to oslo config
This PS updates the logging config to pass null as a string though to
the rendering engine, which is required to avoid things like `<no value>`
when base64 encoding output.

Change-Id: I04d6afbc693ec1adf560c7be15704c8b7434c08f
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-20 13:28:27 -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
Gage Hugo
f57aba1fab Fix invalid policy rule
As reported in OSSN-0083[0], "get_identity_providers" is invalid
and should be singular "get_identity_provider". The former rule
is ignored, this change to make the rule singular fixes this
issue.

[0] https://wiki.openstack.org/wiki/OSSN/OSSN-0083

Change-Id: I479bcda89b0be0056717864e79269b8d071d98ec
2018-07-31 17:07:12 -05:00
Pete Birley
d003a082c8 Logging: Only output std logs to stdout
This PS removes the double logging of openstack components that
were caused by outputting to both stdout and stderr.

Change-Id: I6e0ae5861bbf5b8d736ae08251aa865e1c4ce0d8
Signed-off-by: Pete Birley <pete@port.direct>
2018-07-27 11:01:30 +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
Ruslan Khanbikov
826e867d0a Keystone: it enables keystone notificaitons
This patch sets the notifier driver to messagingv2 so all
messages sent to RabbitMQ using the 2.0 format.

For info:
Auth notificaitons are supressed by default, to enable it
uncomment the following parameter:
conf:
  DEFAULT:
    notification_opt_out: ""

Change-Id: I652fc34a229612dcb8b96c8722b8c6ac1c8aba3e
Signed-off-by: Ruslan Khanbikov <rk760n@att.com>
2018-07-06 18:31:55 +00:00