5303 Commits

Author SHA1 Message Date
James Kirsch
e3cd02eda4 Replace internal and external VIP CA with root CA
Replaced "kolla_external_fqdn_cacert" and "kolla_internal_fqdn_cacert" with
"kolla_admin_openrc_cacert". OS_CACERT is now set to the value of
"kolla_admin_openrc_cacert" in the generated admin-openrc.sh file.

Change-Id: If195d5402579cee9a14b91f63f5fde84eb84cccf
Partially-Implements: blueprint add-ssl-internal-network
Depends-On: https://review.opendev.org/#/c/731344/
2020-06-16 11:46:34 +01:00
James Kirsch
a982d3acbb Generate Root CA for Self-Signed Certificates
Update the certificate generation task to create a root CA for the
self-signed certificates. The internal and external facing certificates
are then generated using the root CA.

Updated openstack_cacert to use system CA trust store in CI tests
certificate by default.

Change-Id: I6c2adff7d0128146cf086103ff6060b0dcefa37b
Partially-Implements: blueprint add-ssl-internal-network
2020-06-15 10:29:51 -07:00
Zuul
6394ab660e Merge "barbican: Use python3 plugin in uwsgi config" 2020-06-05 10:13:33 +00:00
Mark Goddard
895c86a846 barbican: Use python3 plugin in uwsgi config
backport: ussuri, train

Without this the container returns an empty response.

Change-Id: Ic36845f3fc625c080c92904b58ace070dd24fbb2
Closes-Bug: #1881784
2020-06-04 12:20:32 +01:00
Hervé Beraud
f78e2d7e69 Stop to use the __future__ module.
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.

We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.

Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]

[1] https://docs.python.org/3/library/__future__.html
[2] https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
[3] https://www.python.org/dev/peps/pep-0238
[4] https://www.python.org/dev/peps/pep-3105
[5] https://www.python.org/dev/peps/pep-3112
[6] https://www.python.org/dev/peps/pep-0343
[7] https://www.python.org/dev/peps/pep-0328

Change-Id: I907008ff4102806a6f7c88572f89f3beb500d9d7
2020-06-02 20:21:41 +02:00
Zuul
6f829575c9 Merge "Custom haproxy script for monitoring galera" 2020-06-02 15:01:55 +00:00
Zuul
05a2421b32 Merge "Switch to Monasca API for logs" 2020-06-02 13:17:56 +00:00
James Kirsch
ac20f9bd79 Fix glance backend TLS configuration task
Fix glance configuration task to create the backend PEM only on hosts with
glance service enabled.

Change-Id: I641c51761a99828854aafcc1e7354d6932d86659
2020-05-28 14:54:08 +00:00
Doug Szumski
b39a0f805a Switch to Monasca API for logs
The Monasca Log API has been removed and in this change we switch
to using the unified API. If dedicated log APIs are required then
this can be supported through configuration. Out of the box the
Monasca API is used for both logs and metrics which is envisaged to
work for most use cases.

In order to use the unified API for logs, we need to disable the
legacy Kafka client. We also rename the Monasca API config file
to remove a warning about using the old style name.

Depends-On: https://review.opendev.org/#/c/728638
Change-Id: I9b6bf5b6690f4b4b3445e7d15a40e45dd42d2e84
2020-05-23 17:49:32 +01:00
Zuul
9b8b7bf9b4 Merge "Remove post_config from the Kibana role" 2020-05-23 13:38:19 +00:00
xiaojueguan
fbc47e60e1 Remove post_config from the Kibana role
Since at least Stein, there is no visible effect from these tasks.
The Kibana dashboard seems to be working exactly the same,
greeting user on the first use with "please configure my index".
I tested on both Ubuntu and CentOS.
In new E*K stack (Ussuri+, CentOS8+) it even causes play errors.

Co-authored-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
Change-Id: Iafc6986cce9cbaa0ea9e219ca85d7d01a61308cf
Closes-Bug: #1799689
2020-05-23 09:47:31 +02:00
Zuul
012c0b8e6a Merge "enable prometheus-openstack-exporter to use ca cert" 2020-05-22 19:15:10 +00:00
xiaojueguan
964ede7171 enable prometheus-openstack-exporter to use ca cert
you might refer to:
b0167b9412/openstack/clientconfig/results.go (L41)

Change-Id: Ia326360c412aad9ca4d1735cc6486aa2fce22c1a
Closes-Bug: #1850812
2020-05-21 12:58:15 +00:00
Michal Nasiadka
026f5cc48a Custom haproxy script for monitoring galera
Depends-On: https://review.opendev.org/710217/

Change-Id: I85652f23e487c40192106d23f2cdd45a3077deca
2020-05-20 13:02:44 +02:00
Zuul
7aef93a07a Merge "Fix cyborg api failed to load api-paste.ini file" 2020-05-19 12:06:20 +00:00
Zuul
6ae4bfb59b Merge "Modify api-paste.ini v1 to v2 for cyborg" 2020-05-18 20:45:32 +00:00
jacky06
d40c11b22a Modify api-paste.ini v1 to v2 for cyborg
bump api version to v2[1]

[1]: https://review.opendev.org/#/c/700102/

Change-Id: I799f126a30081a85da4f3c41ce705c3756bbe6ba
2020-05-18 23:41:02 +08:00
xiaojueguan
122d3e0100 Fix some error of j2 syntax
Change-Id: Ib0916626b969336ec4bb43028f95f901d5c8cb91
2020-05-18 11:34:16 +00:00
Michal Nasiadka
d8f31e0a5e CI: Add ansible-lint to tox
* Reworked tox pep8 into linters job, that runs:
  - pep8
  - bandit
  - bashate
  - doc8
  - yamllint
  - ansible-lint (validate-all-files.py + ansible-lint)

* Skip E701 - missing galaxy_info in meta and E602 see [1].
* Skip E301 and E503 - followup later in a separate change
* Added ansible-role-jobs to zuul.d/project.yaml which will run
  openstack-tox-linters job in check queue
* Fixed remaining style issue
* Made tox and docs reference the new env for linters
* Dropped pype environment (not supported)

[1]: https://github.com/ansible/ansible-lint/issues/457

Change-Id: I494b4b151804aac8173120e6c6e42bc2fdb00234
2020-05-17 17:02:38 +02:00
Zuul
f942e93d12 Merge "Deprecate rabbitmq_hipe_compile" 2020-05-17 12:47:35 +00:00
Zuul
bfcd2966fa Merge "multipath requires udev-rules in host" 2020-05-17 12:30:11 +00:00
Zuul
eeca3a9588 Merge "Fix Keystone Centos 8 mod_ssl" 2020-05-17 12:30:10 +00:00
Zuul
574f6c501b Merge "Fix Heat WSGI Logging" 2020-05-17 12:30:08 +00:00
Zuul
4b4662a611 Merge "Fix registration of Monasca Grafana datasource" 2020-05-17 12:26:58 +00:00
Zuul
c07ee9af4f Merge "Configure RabbitMQ user tags in nova-cell role" 2020-05-17 12:26:56 +00:00
Zuul
1fe174829d Merge "Fix deprecation warnings in fluentd" 2020-05-17 12:26:54 +00:00
Zuul
26536011d2 Merge "make murano work with endpoints with non-public CA" 2020-05-17 12:26:52 +00:00
xiaojueguan
1f3cb24aeb make murano work with endpoints with non-public CA
Change-Id: Ic0d0543b6ad93743eae2a144e8a3b07de54e6d96
Closes-Bug: #1878344
2020-05-17 10:28:47 +08:00
Zuul
50359204b4 Merge "Improve fernet_token_expiry precheck" 2020-05-16 09:34:45 +00:00
Will Szumski
810acea6b1 Improve fernet_token_expiry precheck
The pre-check was broken, see bug report for details.

Change-Id: I089f1e288bae6c093be66181c81a4373a6ef3de4
Closes-Bug: #1856021
2020-05-15 16:50:35 +00:00
Michal Nasiadka
3611f053ef Fix deprecation warnings in fluentd
Change-Id: I812665059783617d581d748e619b29426f89b353
2020-05-15 17:21:21 +02:00
Jeffrey Zhang
869e3f21c2 Configure RabbitMQ user tags in nova-cell role
The RabbitMQ 'openstack' user has the 'administrator' tag assigned via
the RabbitMQ definitions.json file.

Since the Train release, the nova-cell role also configures the RabbitMQ
user, but omits the tag. This causes the tag to be removed from the
user, which prevents it from accessing the management UI and API.

This change adds support for configuring user tags to the
service-rabbitmq role, and sets the administrator tag by default.

Change-Id: I7a5d6fe324dd133e0929804d431583e5b5c1853d
Closes-Bug: #1875786
2020-05-15 16:02:46 +01:00
Doug Szumski
776253c436 Fix registration of Monasca Grafana datasource
The refactor in change I500cc8800c412bc0e95edb15babad5c1189e6ee4
broke the task `Enable Monasca Grafana datasource for control
plane organisation`. This change fixes the brackets.

Change-Id: I9167a312be107fbfddfd07740f67845c2eaafc3d
Closes-Bug: 1878878
2020-05-15 10:16:22 +01:00
generalfuzz
67a31fd219 Fix Heat WSGI Logging
Fix Heat WSGI logging directives and correct access log name.

Change-Id: Iac09e481ae46934fc26300eba8c5d81ccd0504e8
Partially-Implements: blueprint add-ssl-internal-network
2020-05-14 21:32:42 +00:00
Zuul
cd9f7faa6c Merge "dpdk-vswitchd: some ovs tools require ovs daemons pidfiles" 2020-05-14 14:37:29 +00:00
zhouhenglc
d47ffc7947 dpdk-vswitchd: some ovs tools require ovs daemons pidfiles
Change-Id: I797bb5997e6a3391e82bff766c96f7855de4adc4
Closes-bug: #1878325
2020-05-14 18:43:59 +08:00
Zuul
d10c5ac15c Merge "Ansible lint related fixes" 2020-05-14 09:52:29 +00:00
generalfuzz
783bbfddcd Fix Keystone Centos 8 mod_ssl
Keystone was not loading the correct mod_ssl library in centos 8
deployment.

Change-Id: I604d675ba7ad28922f360fdc729746f99c1507b4
Partially-Implements: blueprint add-ssl-internal-network
2020-05-14 09:08:42 +00:00
Zuul
9540f22e24 Merge "Add support for encrypting Barbican API" 2020-05-13 16:36:27 +00:00
Zuul
43469d6fdb Merge "Add extras directory to prometheus config" 2020-05-13 14:31:51 +00:00
Zuul
e17cf01f82 Merge "Support customizing prometheus.cfg files" 2020-05-13 14:31:49 +00:00
James Kirsch
2e08ffd6d3 Add support for encrypting Barbican API
This patch introduces an optional backend encryption for the Barbican
API service. When used in conjunction with enabling TLS for service API
endpoints, network communcation will be encrypted end to end, from
client through HAProxy to the Barbican service.

Change-Id: I62a43b36ebe4a03230bf944980b45e4b6938871b
Partially-Implements: blueprint add-ssl-internal-network
2020-05-13 10:26:09 +00:00
Michal Nasiadka
2128075c6e Ansible lint related fixes
Change-Id: I146ea3d84efb83ec5d7405644ad372e57ecafc1e
2020-05-12 17:39:07 +00:00
Zuul
12ac15b5f7 Merge "Use FQDN to communicate with Kibana and Elasticsearch" 2020-05-11 20:18:53 +00:00
Zuul
5c193cbe95 Merge "Fixes Gnocchi & external Ceph integration" 2020-05-11 15:31:21 +00:00
Will Szumski
d05578f59f Add extras directory to prometheus config
This provides a generic mechanism to include extra files
that you can reference in prometheus.yml, for example:

scrape_targets:
  - job_name: ipmi
    params:
      module: default
    scrape_interval: 1m
    scrape_timeout: 30s
    metrics_path: /ipmi
    scheme: http
    file_sd_configs:
    - files:
      - /etc/prometheus/extras/file_sd/ipmi-exporter-targets.yml
      refresh_interval: 5m

Change-Id: Ie2f085204b71725b901a179ee51541f1f383c6fa
Related: blueprint custom-prometheus-targets
2020-05-11 13:47:12 +01:00
Will Szumski
956a29f83a Support customizing prometheus.cfg files
This provides a mechanism to scrape targets defined outside of kolla-ansible.

Depends-On: https://review.opendev.org/#/c/685671/
Change-Id: I0950341b147bb374b4128f09f807ef5a756f5dfa
Related: blueprint custom-prometheus-targets
2020-05-11 13:47:12 +01:00
Mark Goddard
82c5c1c75f Fixes Gnocchi & external Ceph integration
The removal of Kolla Ceph deploy [1] broke gnocchi & external Ceph
integration - the variable gnocchi_pool_name is referenced in the config
template, but should now be ceph_gnocchi_pool_name.

This change fixes the issue.

Reported by Nick Wilson.

[1] https://review.opendev.org/#/c/704309/12/ansible/roles/gnocchi/defaults/main.yml

Change-Id: I7089781c0c4d7bce8a44cb8b1fca847dd0b7efd1
Closes-Bug: #1877974
2020-05-11 10:23:58 +01:00
Fabian Zimmermann
5dfc270a62 multipath requires udev-rules in host
install sg3-utils-udev if multipath is enabled, else SCSI_IDENT*
vars are missing in udev.

Closes-Bug: 1877509
Change-Id: Ib205f3cdb775c9cfa719325f702f4fad196d346b
2020-05-08 08:32:47 +02:00
Radosław Piliszek
93c9ad892c Make nova perms consistent between applications
Nova cells support introduced a slight regression that triggers
odd behaviour when we tried switching to Apache (httpd) [1].
Bootstrap no longer applied permissions recursively to all log
files, creating a discrepancy between normal and bootstrap runs
and also Nova and other services such as Cinder (regarding
bootstrap logging).

This patch fixes it.

Backport to Train.

Not creating reno nor a bug record because it does not affect
any current standard usage in any currently known way.

Note this only really hides (standardizes?) the global issue that
we don't control file permissions on newly created files too well.

[1] https://review.opendev.org/724793

Change-Id: I35e9924ccede5edd2e1307043379aba944725143
Needed-By: https://review.opendev.org/724793
2020-05-06 18:36:10 +00:00