1172 Commits

Author SHA1 Message Date
Piotr Parczewski
62b90af553 Docs: Update to opendev.org domain
Curl would not work without -L on old openstack.org URLs.

TrivialFix

Change-Id: I7ed7bd336f4b874fc6027cb9ad20669b08e4a7e9
2021-10-06 13:26:34 +02:00
Zuul
059ace7136 Merge "Switch default images source to quay.io" 2021-10-05 10:03:51 +00:00
Zuul
1b8f5a5608 Merge "Add missing CloudKitty documentation." 2021-10-05 08:52:41 +00:00
Gaël THEROND (Fl1nt)
d5aa73c4ae Add missing CloudKitty documentation.
* Fix various typos and formatting.
* Add documentation about custom collector backend.
* Add documentation about custom storage backend.

Change-Id: If937afc5ce2a2747f464fbaf38a5dcf2e57ba04f
Closes-bug: #1940842
2021-10-04 09:50:30 +00:00
Zuul
33a7c2864c Merge "docs: ceph: add copy-on-write for Glance" 2021-09-30 18:34:41 +00:00
Zuul
bfba65f286 Merge "Add support for Ceph RadosGW integration" 2021-09-30 16:06:48 +00:00
Zuul
2e9d9148f6 Merge "Deploy source type images by default" 2021-09-30 14:30:34 +00:00
Mark Goddard
8c5012e940 Add support for Ceph RadosGW integration
* Register Swift-compatible endpoints in Keystone
* Load balance across RadosGW API servers using HAProxy

The support is exercised in the cephadm CI jobs, but since RGW is
not currently enabled via cephadm, it is not yet tested.

https://docs.ceph.com/en/latest/radosgw/keystone/

Implements: blueprint ceph-rgw

Change-Id: I891c3ed4ed93512607afe65a42dd99596fd4dbf9
2021-09-30 13:08:13 +00:00
Zuul
9e380bf11c Merge "Transition Keystone admin user to system scope" 2021-09-30 09:33:10 +00:00
Michał Nasiadka
393dfbf651 docs: ceph: add copy-on-write for Glance
Change-Id: I51e2b62f563e66b6bb919621272662f3f8721eb2
2021-09-30 08:32:26 +00:00
Mark Goddard
66c84843e4 Deploy source type images by default
Source images get the most test coverage, so it makes sense to deploy
these by default.

Change-Id: I8d0c8750e2c1600e84cc2e677a4eae0e9f502dac
2021-09-30 08:07:48 +00:00
Niklas Hagman
2e933dceb5 Transition Keystone admin user to system scope
A system-scoped token implies the user has authorization to act on the
deployment system. These tokens are useful for interacting with
resources that affect the deployment as a whole, or exposes resources
that may otherwise violate project or domain isolation.

Since Queens, the keystone-manage bootstrap command assigns the admin
role to the admin user with system scope, as well as in the admin
project. This patch transitions the Keystone admin user from
authenticating using project scoped tokens to system scoped tokens.
This is a necessary step towards being able to enable the updated oslo
policies in services that allow finer grained access to system-level
resources and APIs.

An etherpad with discussion about the transition to the new oslo
service policies is:

https://etherpad.opendev.org/p/enabling-system-scope-in-kolla-ansible

Change-Id: Ib631e2211682862296cce9ea179f2661c90fa585
Signed-off-by: Niklas Hagman <ubuntu@post.blinkiz.com>
2021-09-28 09:45:06 -07:00
Zuul
56938253a7 Merge "Add way to change weight of haproxy backend per service" 2021-09-28 12:22:55 +00:00
Zuul
bd3cbe8b26 Merge "docs: adding and removing host: add --all-projects option" 2021-09-27 10:51:41 +00:00
Michal Arbet
7c2b4bead2 Add way to change weight of haproxy backend per service
This patch adding option to control weight of haproxy
backends per service via host variable.

Example:

[control]
server1 haproxy_nova_api_weight=10
server2 haproxy_nova_api_weight=2 haproxy_keystone_internal_weight=10
server3 haproxy_keystone_admin_weight=50

If weight is not defined, everything is working as before.

Change-Id: Ie8cc228198651c57f8ffe3eb060875e45d1f0700
2021-09-26 09:43:57 +02:00
Zuul
d85af34ccd Merge "Bump up Ansible max supported ver to 4.x" 2021-09-24 16:43:01 +00:00
Michał Nasiadka
1b650534c0 Bump up Ansible max supported ver to 4.x
This change bumps up max supported Ansible version
to 4.x (ansible-core 2.11.x) and minimum to 2.10.

Change-Id: I8b9212934dfab3831986e8db55671baee32f4bbd
2021-09-23 10:45:31 +00:00
Zuul
cdaa0dbe24 Merge "Add disable_firewall variable" 2021-09-20 19:57:38 +00:00
Zuul
e06e531089 Merge "Add kolla-ansible gather-facts command" 2021-09-20 18:54:29 +00:00
Zuul
000b347431 Merge "Remove haproxy,keepalived groups" 2021-09-20 18:09:00 +00:00
Radosław Piliszek
0d9477de38 Switch default images source to quay.io
Docs adapted to match.
Removed the unsupported-for-quay option to set up
a pull-through cache.

Closes-Bug: #1942134
Change-Id: If5a26b1ba4bf35bc29306c24f608396dbf5e3371
2021-09-16 17:27:39 +00:00
Michal Arbet
f0241f807f Remove haproxy,keepalived groups
Haproxy was renamed in [1].

[1] https://review.opendev.org/c/openstack/kolla-ansible/+/770618

Change-Id: Ib2d7f0774fede570a8c4c315d83afd420c31da0b
2021-09-16 13:41:13 +02:00
Zuul
f99bf8325f Merge "Never make Docker registry insecure by default" 2021-09-09 10:49:03 +00:00
Mark Goddard
d8641e90c3 docs: Add placeholder page for CI & testing information
Change-Id: Iebcac0827c6f715c6b804223cdcf2cc2e425120b
2021-08-25 17:25:30 +01:00
Mark Goddard
d9a3758952 Add kolla-ansible gather-facts command
In some situations it may be helpful to populate the fact cache on
demand. The 'kolla-ansible gather-facts' command may be used to do this.

One specific case where this may be helpful is when running kolla-ansible
with a --limit argument, since in that case hosts that match the limit
will gather facts for hosts that fall outside the limit. In the extreme
case of a limit that matches only one host, it will serially gather
facts for all other hosts. To avoid this issue, run 'kolla-ansible
gather-facts' without a limit to populate the fact cache in parallel
before running the required command with a limit.

Change-Id: I79db9bca23aa1bd45bafa7e7500a90de5a684593
2021-08-25 16:45:39 +01:00
Marc 'risson' Schmitt
ca6fc69ee8
docs: adding and removing host: add --all-projects option
When running without that option, the list of servers might be empty,
resulting in leftover instances on the host that is about to be
migrated.

Change-Id: I85915f0f86655f3a1eb5f54911d24e4e0e75f340
2021-08-22 11:34:40 +02:00
Radosław Piliszek
802f7c6218 Never make Docker registry insecure by default
To follow best security practices and help fellow operators.

More details inline and in the linked bug report.

Closes-Bug: #1940547
Change-Id: Ide9e9009a6e272f20a43319f27d257efdf315f68
2021-08-20 18:23:56 +00:00
Zuul
a98076f11c Merge "Use more RMQ flags for less busy wait" 2021-08-19 18:20:13 +00:00
Zuul
6d371d47ca Merge "Support multiple inventories" 2021-08-11 11:24:20 +00:00
Zuul
214d34ca7b Merge "Extra var ironic_enable_keystone_integration added." 2021-08-09 10:53:20 +00:00
Ilya Popov
da4fd2d6a2 Extra var ironic_enable_keystone_integration added.
Basically, there are three main installation scenario:

Scenario 1:
Ironic installation together with other openstack services
including keystone. In this case variable enable_keystone
is set to true and keystone service will be installed
together with ironic installation. It is possible realise this
scenario, no fix needed

Scenario 2:
Ironic installation with connection to already installed
keystone. In this scenario we have to set enable_keystone
to “No” to prevent from new keystone service installation
during the ironic installation process. But in other hand,
we need to have correct sections in ironic.conf to provide
all information needed to connect to existing keystone.
But all sections for keystone are added to ironic.conf only
if enable_keystone var is set to “Yes”. It isn’t possible
to realise this scenario. Proposed fix provide support for
this scenario, where multiple regions share the same
keystone service.

Scenario 3:
No keystone integration. Ironic don't connect to Keystone.
It is possible realise this scenario, no fix needed

Proposed solution also keep the default behaviour: if no
enable_keystone_integration is manually defined by default
it takes value of enable_keystone variable and all behaviour
is the same. But if we don't want to install keystone and
want to connect to existing one at the same time, it will be
possible to set enable_keystone var to “No”
(preventing keystone from installation) and at the same
time set ironic_enable_keystone_integration to Yes to allow
needed section appear in ironic.conf through templating.

Change-Id: I0c7e9a28876a1d4278fb2ed8555c2b08472864b9
2021-08-06 17:58:48 +03:00
Zuul
bb05cf1150 Merge "Remove support for Prometheus v1" 2021-08-06 14:12:18 +00:00
Zuul
ea52dd9748 Merge "nova: Use cinder user for Ceph" 2021-08-06 13:58:56 +00:00
Piotr Parczewski
0d79d25fe9 Remove support for Prometheus v1
Change-Id: I0d7c7f47e6653cf2903589a9c86798a8c6404af5
2021-08-05 21:07:22 +02:00
Zuul
01c62fa1b6 Merge "Fix nova deployment failure when rabbitmq is disabled" 2021-08-04 13:12:14 +00:00
Will Szumski
6c72fa8117 Support multiple inventories
Multiple inventories can now be passed to `kolla-ansible`.  This can be
useful to construct a common inventory that is shared between multiple
environments.

Change-Id: I2ac5d7851b310bea2ba362b353f18c592a0a6a2e
2021-07-29 15:25:07 +00:00
Radosław Piliszek
d7cdad5325 Use more RMQ flags for less busy wait
As mentioned in the Iced014acee7e590c10848e73feca166f48b622dc
commit message, in Ussuri+ we can use ``+sbwtdcpu none
+sbwtdio none`` as well. This is due to relying on RMQ-provided
erlang in version 23.x.

This change adds the extra arguments by default.
It should be backported down to Ussuri before we do a release with
Iced014acee7e590c10848e73feca166f48b622dc.

Change-Id: I32e247a6cb34d7f6763b544f247fd408dce2b3a2
2021-07-28 19:14:43 +00:00
Zuul
aad331069d Merge "Fix variable names in Octavia documentation" 2021-07-28 11:22:55 +00:00
Mark Goddard
c3f9ba835b nova: Use cinder user for Ceph
In Ussuri, nova stopped using separate Ceph keys for the volumes and vms
pools by default. Instead, we set ceph_nova_keyring to the value of
ceph_cinder_keyring by default, which is ceph.client.cinder.keyring.
This is in line with the Ceph OpenStack integration guide [1]. However,
the user used by nova to access the vms pool (ceph_nova_user) defaults
to nova, meaning that nova will still try to use a
ceph.client.nova.keyring, which probably does not exist. We did not see
this issue in CI, because we set ceph_nova_user to cinder.

This change fixes the issue by setting ceph_nova_user to the value of
ceph_cinder_user by default, which is cinder.

Closes-Bug: #1934145
Related-Bug: #1928690

[1] https://docs.ceph.com/en/latest/rbd/rbd-openstack/

Change-Id: I6aa8db2214e07906f1f3e035411fc80ba911a274
2021-07-28 10:08:27 +00:00
wu.chunyang
24d08142d2 Fix nova deployment failure when rabbitmq is disabled
Nova always tries to create the rabbitmq user regardless of
whether RabbitMQ is enabled or not.
This ps also adds an external rabbitmq doc.

Change-Id: Iec517226e4c82ea351889b55689a3efceaadcc76
2021-07-27 22:07:08 +08:00
Zuul
54eb323b32 Merge "ironic: always enable conductor HTTP server" 2021-07-22 11:57:39 +00:00
Mark Goddard
411668ea5a ironic: always enable conductor HTTP server
In the Xena release, Ironic removed the iSCSI driver [1]. The
recommended driver is direct, which uses HTTP to transfer the disk
image. This requires an HTTP server, and the simplest option is to use
the one currently deployed when enable_ironic_ipxe is set to true. For
this reason, this patch always enables the HTTP server running on the
conductor.

iPXE is still enabled separately, since it cannot currently be used at
the same time as PXE.

[1] https://review.opendev.org/c/openstack/ironic/+/789382

Change-Id: I30c2ad2bf2957ac544942aefae8898cdc8a61ec6
2021-07-22 09:46:46 +01:00
Pierre Riteau
5e85fe2a07 Fix variable names in Octavia documentation
The variable octavia_amphora_flavor should be octavia_amp_flavor.

The variable for customising network and subnet was only mentioned in
the example.

Change-Id: I3ba5a7ccc2c810fea12bc48584c064738e5aa35e
2021-07-21 15:42:29 +02:00
Zuul
a43b815b34 Merge "Make setup module arguments configurable" 2021-07-19 12:30:29 +00:00
Zuul
6ea8390a12 Merge "Extend support for custom Grafana dashboards" 2021-07-12 16:00:47 +00:00
Zuul
2ecf0a8783 Merge "Support storing passwords in Hashicorp Vault" 2021-07-02 20:28:44 +00:00
Rafael Weingärtner
15f2fdcd5d Make setup module arguments configurable
Ansible facts can have a large impact on the performance of the Ansible
control host. This patch introduces some control over which facts are
gathered (kolla_ansible_setup_gather_subset) and which facts are stored
(kolla_ansible_setup_filter). By default we do not change the default
values of these arguments to the setup module. The flexibility of these
arguments is limited, but they do provide enough for a large performance
improvement in a typical moderate to large OpenStack cloud.

In particular, the large complex dict fact for each interface has a
large effect, and on an OpenStack controller or hypervisor there may be
many virtual interfaces. We can use the kolla_ansible_setup_filter
variable to help:

    kolla_ansible_setup_filter: 'ansible_[!qt]*'

This causes Ansible to collect but not store facts matching that
pattern, which includes the virtual interface facts. Currently we are
not referencing other facts matching the pattern within Kolla Ansible.
Note that including the 'ansible_' prefix causes meta facts module_setup
and gather_subset to be filtered, but this seems to be the only way to
get a good match on the interface facts. To work around this, we use
ansible_facts rather than module_setup to detect whether facts exist in
the cache.

The exact improvement will vary, but has been reported to be as large as
18x on systems with many virtual interfaces.

For reference, here are some other tunings tried:

* Increased the number of forks (great speedup depending of the size of
  the deployment)
* Use `strategy = mitogen_linear` (cut processing time in half)
* Ansible caching (little speed up)
* SSH tunning (little speed up)

Co-Authored-By: Mark Goddard <mark@stackhpc.com>
Closes-Bug: #1921538
Change-Id: Iae8ca4aae945892f1dc65e1b10381d2e26e88805
2021-07-02 10:30:35 -03:00
Mark Goddard
9fffc7bc52 Add disable_firewall variable
Adds a new variable, 'disable_firewall', which defaults to true. If set
to false, then the host firewall will not be disabled during
kolla-ansible bootstrap-servers.

Change-Id: Ie5131013012f89c8c3b91ca359ad17d9cb77efc8
2021-07-02 10:11:28 +01:00
Zuul
bc060c2049 Merge "Use ansible_facts to reference facts" 2021-07-01 02:37:09 +00:00
Scott Solkhon
6bf74aa20d Support storing passwords in Hashicorp Vault
This commit adds two new cli commands to allow an operator
to read and write passwords into a configured Hashicorp Vault
KV.

Change-Id: Icf0eaf7544fcbdf7b83f697cc711446f47118a4d
2021-06-30 15:16:12 +01:00