5256 Commits

Author SHA1 Message Date
Xing Zhang
c2037885e7 Switch octavia to use service project in service_auth
Recently a patch [1] was merged to stop adding the octavia user to the
admin project, and remove it on upgrade. However, the octavia
configuration was not updated to use the service project, causing load
balancer creation to fail.

There is also an issue for existing deployments in simply switching to
the service project. While existing load balancers appear to continue to
work, creating new load balancers fails due to the security group
belonging to the admin project. At a minimum, the deployer needs to
create a security group in the service project, and update
'octavia_amp_secgroup_list' to match its ID. Ideally the flavor and
network would also be recreated in the service project, although this
does not seem to impact operation and will result in downtime for
existing Amphorae.

This change adds a new variable, 'octavia_service_auth_project', that
can be used to set the project. The default in Ussuri is 'service',
switching to the new behaviour. For backports of this patch it should be
switched to 'admin' to maintain compatibility.

If a deployer sets 'octavia_service_auth_project' to 'admin', the
octavia user will be assigned the admin role in the admin project, as
was done previously.

Closes-Bug: #1882643
Related-Bug: #1873176

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

Co-Authored-By: Mark Goddard <mark@stackhpc.com>

Change-Id: I1efd0154ebaee69373ae5bccd391ee9c68d09b30
2020-06-16 12:57:56 +01: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
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
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
generalfuzz
f165b81e2a Use FQDN to communicate with Kibana and Elasticsearch
Switch URL composition from using VIP to FQDN to connect with Kibana and
Elasticsearch services.

Change-Id: I5d559ead1d6d5e928e76bb685e0f730868fd7b89
Closes-Bug: #1862419
2020-05-05 09:55:50 -07:00
Mark Goddard
a87780cb96 Use FQDN for elasticsearch
This was addressed in I21689e22870c2f6206e37c60a3c33e19140f77ff but
accidentally reverted in I4f74bfe07d4b7ca18953b11e767cf0bb94dfd67e.

Change-Id: Id5fc458b0ca54bddfe9a43cb315dbcfeb2142395
2020-05-05 16:31:26 +00:00
Radosław Piliszek
7d73246fe7 OVN IPv6
Fixes:
- SB/NB DB address format (single host) for SB/NB DB daemon
- SB/NB DB address format (all hosts) for Neutron / northd /
  ovn-ovs bootstrap
- OVN tests

Change-Id: I539773c48f89b731d068280c228ce11782bf5788
Closes-Bug: #1875222
2020-05-01 18:03:14 +02:00
Zuul
bc22925906 Merge "Add support for encrypting Horizon and Placement API" 2020-05-01 09:05:56 +00:00
Zuul
76b6cf9f6d Merge "Add support for encrypting Glance api" 2020-04-30 21:16:13 +00:00
James Kirsch
e3d5a91a90 Add support for encrypting Horizon and Placement API
This patch introduces an optional backend encryption for Horizon and
Placement services. 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 Horizon and Placement services.

Change-Id: I9cb274141c95aea20e733baa623da071b30acf2d
Partially-Implements: blueprint add-ssl-internal-network
2020-04-30 20:55:07 +01:00
James Kirsch
f87814f794 Add support for encrypting Glance api
Add TLS support for Glance api using HAProxy to perform TLS termination.

Change-Id: I77051baaeb5d3f7dd9002262534e7d35f3926809
Partially-Implements: blueprint add-ssl-internal-network
2020-04-30 17:31:58 +01:00
Hongbin Lu
91678f67af Zun: Add zun-cni-daemon to compute node
Zun has a new component "zun-cni-daemon" which should be
deployed in every compute nodes. It is basically an implementation
of CNI (Container Network Interface) that performs the neutron
port binding.

If users is using the capsule (pod) API, the recommended deployment
option is using "cri" as capsule driver. This is basically to use
a CRI runtime (i.e. CRI plugin for containerd) for supporting
capsules (pods). A CRI runtime needs a CNI plugin which is what
the "zun-cni-daemon" provides.

The configuration is based on the Zun installation guide [1].
It consits of the following steps:
* Configure the containerd daemon in the host. The "zun-compute"
  container will use grpc to communicate with this service.
* Install the "zun-cni" binary at host. The containerd process
  will invoke this binary to call the CNI plugin.
* Run a "zun-cni-daemon" container. The "zun-cni" binary will
  communicate with this container via HTTP.

Relevant patches:
Blueprint: https://blueprints.launchpad.net/zun/+spec/add-support-cri-runtime
Install guide: https://review.opendev.org/#/c/707948/
Devstack plugin: https://review.opendev.org/#/c/705338/
Kolla image: https://review.opendev.org/#/c/708273/

[1] https://docs.openstack.org/zun/latest/install/index.html

Depends-On: https://review.opendev.org/#/c/721044/
Change-Id: I9c361a99b355af27907cf80f5c88d97191193495
2020-04-30 02:22:20 +00:00
Zuul
70e7b1b0d8 Merge "Add feature to support managing dynamic pollsters" 2020-04-29 17:45:34 +00:00
Zuul
059fee1ea3 Merge "Add support for encrypting heat api" 2020-04-29 17:19:51 +00:00
Zuul
12a0ffa305 Merge "Fix telegraf invalid TOML syntax" 2020-04-29 12:00:56 +00:00
Zuul
8d4157a510 Merge "Adapt to Octavia Certificate Configuration Guide." 2020-04-29 11:46:54 +00:00
Noboru Iwamatsu
e84c968ed2 Adapt to Octavia Certificate Configuration Guide.
This patch updates the octavia controller deployment to use the
latest octavia certificate configuration guide [1]. The dual CA changes
were introduced in Train.

[1] https://docs.openstack.org/octavia/latest/admin/guides/certificates.html

Change-Id: If89ec0d631568db70690f1a69d00115c59abe678
Closes-Bug: #1862133
2020-04-29 08:30:12 +03:00
xiaojueguan
7ad7c88046 Fix telegraf invalid TOML syntax
Change-Id: Ie3022d1721f43dc84e4228331d0d2f6f3a3c7ebd
Closes-Bug: 1875613
2020-04-29 11:14:31 +08:00
Zuul
2f77670f7d Merge "ironic: handle Swift object storage" 2020-04-29 00:53:48 +00:00
Marcin Juszkiewicz
fee9ff9c9d ironic: handle Swift object storage
Change-Id: I18f8855a758703968aba032add68add24b31f673
Closes-bug: #1875588
2020-04-28 13:00:16 +02:00
Xing Zhang
01ae01ec26
Make sure octavia uses internal endpoint to barbican
The octavia service communicates to the barbican service with
public endpoint_type by default[1], it should use internal
like other services.

[1] 0056b5175f/octavia/common/config.py (L533-L537)

Closes-Bug: #1875618
Change-Id: I90d2b0aeac090a3e2366341e260232fc1f0d6492
2020-04-28 18:55:32 +08:00
Zuul
1939c3ce68 Merge "[octavia] Adds region_name if enable_barbican" 2020-04-27 13:51:12 +00:00
ramboman
6c372312ad [octavia] Adds region_name if enable_barbican
Adds necessary "region_name" to octavia.conf when
"enable_barbican" is set to "true".

Closes-Bug: #1867926

Change-Id: Ida61cef4b9c9622a5e925bac4583fba281469a39
2020-04-27 09:53:57 +03:00
Radosław Piliszek
04effaa903 Fix haproxy restarting twice per Ansible run
Since haproxy is orchestrated via site.yml in a single play,
it does not need flushing handlers as handlers run will
happen at the end of this play.

Change-Id: Ia3743575da707325be93c39b4a2bcae9211cacb2
Related-Bug: #1864810
Closes-Bug: #1875228
2020-04-26 21:51:20 +02:00
Radosław Piliszek
98e86ea62b Remove redundant listen on haproxy handler
Follow-up on [1] "Avoid multiple haproxy restarts after
reconfiguration".

There is no need to duplicate handler name in listen.
The issue was because we had two handlers with the same
name in the same environment.
This causes Ansible not to mark handler as already run.

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

Change-Id: I5425a8037b6860ef71bce59becff8dfe5b601d4c
Related-Bug: #1864810
2020-04-26 21:23:25 +02:00
Zuul
76d69cae0e Merge "Fix nova cell message queue URL with separate notification queue" 2020-04-26 16:46:35 +00:00
Zuul
4d49397d72 Merge "nova: Add debug logging to libvirtd.conf" 2020-04-26 15:46:29 +00:00
Zuul
755a73626d Merge "Avoid multiple haproxy restarts after reconfiguration" 2020-04-26 15:41:31 +00:00
Zuul
b1db4f5c3b Merge "[skydive] fix: Use Keystone backend to authenticate API users" 2020-04-25 11:37:10 +00:00
Nick Jones
7e5aa63728 [skydive] fix: Use Keystone backend to authenticate API users
Update Skydive Analyzer's configuration to use Keystone as its backend
for authenticating users.  Any user with a role in the project defined
by the variable skydive_admin_tenant_name will be able to access
Skydive.

Change-Id: I64c811d5eb72c7406fd52b649fa00edaf2d0c07b
Closes-Bug: 1870903
2020-04-24 19:31:57 +00:00
James Kirsch
ff84292269 Add support for encrypting heat api
This patch introduces an optional backend encryption for Heat
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 Heat service.

Change-Id: Ic12f7574135dcaed2a462e902c775a55176ff03b
Partially-Implements: blueprint add-ssl-internal-network
Depends-On: https://review.opendev.org/722028/
2020-04-24 12:23:48 +01:00
Zuul
3f4103faed Merge "Fix that cyborg agent failed to start privsep daemon." 2020-04-22 15:44:33 +00:00
ya.wang
953edb870e Fix that cyborg agent failed to start privsep daemon.
Add privileged capability to cyborg agent.

Change-Id: Id237df1acb1b44c4e6442b39838058be1a95fcc6
Closes-bug: #1873715
2020-04-22 07:35:39 +00:00
Marcin Juszkiewicz
1da111e1cb Drop handling of 'easy_install'
Looks like none of supported distros has it so why bother?

Change-Id: I3411c00664eac4e5ba9b79bff39f3d8b7514ad24
2020-04-22 09:28:17 +02:00
Zuul
5079fa240d Merge "Manage nova scheduler workers count" 2020-04-21 19:36:44 +00:00
Zuul
6a49e4d30b Merge "Fix that cyborg conductor failed to communicate with placement" 2020-04-21 18:57:14 +00:00
Zuul
5273828fae Merge "Remove support for Python 2 on the host" 2020-04-21 17:01:25 +00:00
Christian Berendt
1efe0fe333 Avoid multiple haproxy restarts after reconfiguration
The haproxy role and the site.yml file calls the
haproxy-config role to provide configuration for individual
services.

If the configuration within a service changes, the haproxy
container is restarted.

If the configuration in n services changes, there will be n
restarts. This is not necessary, a restart at the end is
sufficient.

By removing the handler from the haproxy-config role and
using the listen parameter in the handler of the haproxy role,
the handler is executed only once.

Change-Id: I535fe67579fb748093bb4b30a6bd31b81e021a1b
Closes-Bug: #1864810
2020-04-21 11:25:53 +00:00
Jeffrey Zhang
8523ab569d Manage nova scheduler workers count
Closes-Bug: 1873753
Change-Id: Ibf75b3fd3090d47b50c71d17f6c12177d16442ab
2020-04-21 09:15:36 +00:00
Zuul
7a34f82a60 Merge "Fix monasca deployment due to monasca_log_dir" 2020-04-21 07:05:34 +00:00
Zuul
9f54c6fd1b Merge "Remove support for CentOS 7" 2020-04-20 16:57:53 +00:00
Zuul
95471c47cc Merge "Fix kibana deployment with openstack_cacert unset" 2020-04-20 16:19:04 +00:00
Mark Goddard
284f492861 Remove support for Python 2 on the host
Drops support for creating Python 2 virtualenvs in bootstrap-servers,
and looking for a python2 interpreter in the kolla-ansible script.

Also forces the use of Python 3 as the remote interpreter in CI on
Debian and Ubuntu hosts, since they typically symlink the unversioned
interpreter to python2.7.

Change-Id: Id0e977de381e7faafed738674a140ba36184727e
Partially-Implements: blueprint drop-py2-support
2020-04-20 16:18:31 +00:00
ya.wang
4f1e05530c Fix that cyborg conductor failed to communicate with placement
Add placement auth configuration into cyborg conf.

Closes-bug: #1873717
Change-Id: I476a878549507c5d46efef4f8639f57d89737e75
2020-04-20 18:24:17 +08:00
Zuul
bb6e23fb29 Merge "Add vitrage-persistor service" 2020-04-17 19:57:08 +00:00
Q.hongtao
d0b06f679b Add vitrage-persistor service
Kolla Ansible was missing vitrage-persistor service
required by Vitrage for data storage.

Depends on fixing availability of Kolla image.

Change-Id: I8158ba66b8b624f6bcb89da9c990a30a68b7187b
Depends-On: Id5e143636f9a81e7294b775f3d8b9134bee58054
Closes-Bug: #1869319
2020-04-17 15:34:46 +00:00
Zuul
6c73b863da Merge "Remove octavia user from admin project" 2020-04-17 13:05:17 +00:00
Zuul
e17ac13c6b Merge "OVN: Followup changes" 2020-04-17 10:47:06 +00:00
Zuul
fb00819e86 Merge "Add support for encrypting cinder api." 2020-04-17 10:45:00 +00:00