45 Commits

Author SHA1 Message Date
Michal Nasiadka
8fb9f57f5b [release] Sync Kolla Ansible feature flags for Xena
Change-Id: I66917bb75b09295b70caf44d593a047b65b8433d
2021-10-15 09:03:21 +00:00
Mark Goddard
0b279474e0 [release] Sync Kolla Ansible feature flags and inventory for Wallaby
Syncs with Kolla Ansible feature flags and inventory for Wallaby
release, at commit 058dd6828d788b60b6803f24f53f1dfca0876e6b.

Change-Id: Ibd20a72bd29e20de016fe41de2f1691302e7e24d
2021-04-23 17:16:20 +01:00
Michal Nasiadka
16cce92a74 Bump max Ansible version to 2.10
Molecule also needs to be bumped to support Ansible 2.10
lint: section changed in Molecule 3.x - adapted.
molecule-docker added do test-reqs because it code has moved to it from
molecule core
pytest-testinfra and pytest-molecule needed for testinfra tests to work

[1]: https://github.com/ansible-community/molecule/issues/2872

Change-Id: I0299f5126ebd080f3912a76294b0013abe7747a0
2021-03-24 07:25:28 +00:00
Mark Goddard
bc415b7c7e Remove patch from kolla-ansible dependencies
This is a legacy from patching the kolla-ansible source code.

TrivialFix

Change-Id: Id5e130589f5f4a08d88fe340af0694f072c848b6
2021-02-11 12:04:16 +00:00
Kendall Nelson
0644ea238b Remove Retired Karbor Support
As announced on the openstack-discuss ML[1], Karbor is retiring
this cycle (Wallaby).

Needed-By: https://review.opendev.org/c/openstack/karbor/+/767032

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018643.html

Change-Id: I5a3af41e4cc3988540ff95c880207279133a19d4
2020-12-22 09:32:15 +00:00
Zuul
e569036a05 Merge "Remove retired Qinling support" 2020-12-19 03:37:31 +00:00
Ghanshyam Mann
d02a40c5a9 Remove retired Searchlight support
Searchlight project is retiring in Wallaby cycle[1].
This commit removes the usage of Searchlight project
before its code is removed.

Needed-By: https://review.opendev.org/c/openstack/searchlight/+/764526

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018637.html

Change-Id: Iedcc7710ee85202bd4c68443bc0f429bd133c05b
2020-11-28 16:12:43 -06:00
Ghanshyam Mann
e5505b8b34 Remove retired Qinling support
Qinling project is retiring in Wallaby cycle[1].
This commit removes the usages of Qinling project
before its code is removed.

Needed-By: https://review.opendev.org/c/openstack/qinling/+/764521

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-November/018638.html

Change-Id: I59a61dda68e66eeaa0526e2b91de9316fd04dee8
2020-11-28 00:05:22 -06:00
Bharat Kunwar
d29aca985e Support neutron-mlnx-agent
Depends-On: I173669bdf92b1f2ea98907ba16808ca3c914944c
Change-Id: I5a5bd255b937fe5d4c56cc21ef898b796c5bda41
2020-09-17 14:25:50 +02:00
jacky06
3f6ffb9d83 Remove opendaylight support
It has been deprecated in Ussuri cycle.

Change-Id: I01da8af2255e2ac4751279db712292f9b862adad
2020-07-10 17:52:14 +00:00
jacky06
335ed05a5d Remove mongodb integration
more info: a6c97d7284

Depends-On: https://review.opendev.org/#/c/735030/
Change-Id: Ib94da2b14182ddc4157ca09066bd049c842fdf9c
2020-07-07 23:38:12 +08:00
Zuul
8d67d72fa4 Merge "Remove retired congress" 2020-07-02 17:53:46 +00:00
gugug
7fdacf4759 Remove the neutron-fwaas since it retired
Depends-On: I561504160e5548c54d1af31821c3366ab34cf0ec
Change-Id: I3c921f5a558ae57ecc22fc6fc1959fb621c57709
2020-06-30 01:39:03 +00:00
gugug
c456f0b9b7 Remove retired congress
Congress has been retired, remove the congress stuff

See https://review.opendev.org/721742

Change-Id: I0af07cf3cde5cf2ca2700c647eb40cc509379864
2020-06-23 23:25:25 +08:00
Will Szumski
1e963a60ad Update feature flags
The flags in etc/kayobe/kolla.yml were out of sync with
ansible/roles/kolla-ansible/vars/main.yml.

This commit sorts them all alphabetically and adds a script to simplify
generating the list.

TrivialFix

Change-Id: I0e3be19eed371853d80c401d6a46770a7d6dcbc5
2020-06-12 09:43:00 +02:00
Mark Goddard
b9d76f6ef5 Remove support for CentOS 7 and Python 2
* Always use Python 3
* Drop code paths for CentOS 7
* Drop support for Yum
* Remove support for host NTP daemon, always use chrony
* Switch references from 'yum_install_epel' to 'dnf_install_epel'
* Remove overcloud host image workaround for tagged VLAN admin network
* Remove the kayobe.utils.yum_install function, which is unused

Change-Id: I368f6edafed9779658798fc342116b4c1b3ffd48
Story: 2006574
Task: 39481
2020-05-28 10:25:51 +01:00
Radosław Piliszek
e7d7daa531 Remove ceph block device support
It leaves certain ceph mentions in globals.yml.j2 as it needs
syncing with kolla-ansible contents anyways
(these are all comments).

Change-Id: I05e9c6223583e9bb5dc0020edc0b56990275093c
Story: 2007295
Task: 38766
2020-03-18 10:28:33 +00:00
Mark Goddard
a91135179d CentOS 8: Use ansible_playbook_python for localhost dependencies
Currently we install python dependencies on the Ansible control host
each time the ip-allocation and console-allocation roles are executed.
This is inefficient, particularly in the case of the ip-allocation role
which is run serially for all hosts. It is also unnecessary since we
have these packages available in the Python environment used to execute
kayobe.

The kolla-ansible role also has an implicit dependency on PyYAML for
managing kolla passwords.

This change uses ansible_playbook_python as the Python interpreter for
the necessary tasks in these roles to avoid installing dependencies on
the system on CentOS 8 and Ubuntu. For CentOS 7 we still need to use the
platform Python, due to needing SELinux bindings.

Change-Id: Ic6a1c69a34241f4fbe617a0b12aec9b1528ba352
Story: 2006574
Task: 38825
2020-02-25 16:15:09 +00:00
Mark Goddard
6b47717c43 Make local kolla-ansible Python executable configurable
The default is still Python 2. This is a necessary prerequisite for using
the master branch of kolla-ansible, which requires Python 3.

Change-Id: Ida5b60b723c8208bb7305c3d669eafdab6dbbe01
Story: 2004959
Task: 38767
2020-02-14 14:54:23 +00:00
Mark Goddard
ecf4985d9c Synchronise kolla-ansible inventory and globals.yml
Synchronises the globals.yml template, list of feature flags, and
inventory templates with the current state of kolla-ansible's
stable/train branch.

Change-Id: Ia81c3aba348ab8011d94a5f1584856df1c8361a3
2019-11-26 14:39:44 +00:00
Mark Goddard
650919f527 Disable chrony container by default
Fixes an issue where multiple NTP daemons could be running on the
overcloud hosts, due to Kolla Ansible deploying a chrony container by
default starting with the Rocky release.

Kayobe now overrides this default, to ensure that chrony does not conflict
with the NTP daemon deployed on the host. To use the containerised chrony
daemon instead, set ``kolla_enable_chrony`` to ``true`` in
``${KAYOBE_CONFIG_PATH}/kolla.yml``. This will also disable the host NTP
daemon.

To ensure that chrony is not running, Kayobe removes the chrony container
if ``kolla_enable_chrony`` is ``false`` in the following commands:

* ``kayobe overcloud service deploy``
* ``kayobe overcloud service reconfigure``
* ``kayobe overcloud service upgrade``

The play in Kayobe is tagged with ``stop-chrony``.

Change-Id: I89a973c0b600abece79bddcba5a46cc28a4f1df9
Story: 2005272
Task: 30122
2019-07-15 09:29:25 +01:00
Mark Goddard
e96179921f Add commands for database backup and recovery
Uses the support [1] for database backups added to Kolla Ansible in the
Stein release.

Adds the following new commands:

kayobe overcloud database backup [--incremental]
kayobe overcloud database recover [--force-recovery-host <host>]

The recovery command is for recovering a clustered database that has
lost quorum.

[1] https://docs.openstack.org/kolla-ansible/latest/admin/mariadb-backup-and-restore.html

Change-Id: Ie16354cd01ea7dd83cd3d4058dd8451b8387600b
Story: 2005015
Task: 29493
2019-05-23 10:48:04 +01:00
Mark Goddard
8dc7ba7889 Use host vars files for kolla ansible inventory
Kayobe writes out several host variables to the Kolla ansible inventory
files, etc/kolla/inventory/seed and etc/kolla/inventory/overcloud. These
include ansible_host, and network interfaces such as api_interface,
ironic_dnsmasq_interface, etc.

In Ansible, these should have a higher precedence than the kolla ansible
group variables in ansible/group_vars/all.yml that set the defaults.
However, in Ansible 2.4+, if the host has the same name as a group that
it is in, the group variables now take precedence, meaning that it is
not possible to override them.

This was observed when using the kayobe-config-dev repo for testing,
where the seed host is in the seed group.

Admittedly ansible does tell you not to do this: [WARNING]:
Found both group and host with same name: localhost

The solution used here is to use a separate host_vars file for each
host. Alternatively we could enforce that hostnames and groups do not
overlap.

Change-Id: I349c8279d85a591689ac8108bce14d96889440fe
Story: 2004418
Task: 28065
2018-12-20 17:03:16 +00:00
Doug Szumski
d2d9f0d6b7 Add support for deploying Apache Storm
Change-Id: I49afdddb8ba2f9cb4a08071c6acee3a3efb03305
Story: 2001627
Task: 6707
2018-09-14 10:39:50 +01:00
Zuul
0edf4150ee Merge "Add support for deploying Prometheus" 2018-08-02 11:30:54 +00:00
Doug Szumski
80056749c9 Add support for deploying Prometheus
Kolla Ansible already provides support for this and includes quite a few
exporters to scrape.

Change-Id: I30f5e0b57d88e457283e70a1b00abff9d4575a04
Story: 2003175
Task: 23319
2018-07-31 09:38:39 +01:00
Will Miller
9c1fa1dc7e Add support for the Ironic Neutron agent
Change-Id: Ie697b59b48f2b543b3d3bb65566318f2d9a0f46c
2018-07-25 08:54:24 +01:00
Doug Szumski
0353dba39a Add support for configuring MariaDB
This enables:

* Disabling MariaDB if external MariaDB is used
* Merging additional configuration with the default Kolla
  provided configuration for MariaDB

Story: 2002704
Task: 22545
Change-Id: I345f56d50dd64b516d563a025ec877bc4a4034e1
2018-06-27 13:42:46 +01:00
Will Szumski
903700584d Enable iPXE boot in ironic
a new variable, kolla_enable_ironic_ipxe is added to control whether or not
iPXE is used as the network boot program in ironic. You can set this is in
etc/kayobe/kolla.yml, e.g:

  kolla_enable_ironic_ipxe: True

Change-Id: I7da15e7ceea580e5b7bee7fc732351cbec666f4c
Story: 2001949
Task: 15068
Depends-On: I08fca1864a00afb768494406c49e968920c83ae7
2018-06-06 14:16:00 +01:00
Mark Goddard
f86c0ff48f Use queens version of dependencies
Use queens release of:

* Kolla
* Kolla ansible
* Bifrost
* IPA
* OpenStack services

Changes to kolla inventory files were made by comparing the multinode
inventory in kolla-ansible with the overcloud-services and
overcloud-components templates.

Kolla ansible added the concept of inner-compute and external-compute,
and these groups have been added to the top-level inventory.

We also synchronise globals.yml and kolla enablement flags.

Change-Id: I87b052f777567226e41294b955f736040e55e102
Story: 2001863
Task: 14315
2018-05-02 11:40:46 +01:00
Doug Szumski
7f7d2f0dea Add support for deploying Apache Kafka
This change supports deploying Apache Kafka.

Depends-On: Iab8d200c2450238f3c0c708d1f4184490f6e6284
for support in Kolla-Ansible.
Task: 6697
Story: 2001627

Change-Id: I22c79f75e9cfed647c03216b94bab5ee0790cbf2
2018-03-19 14:21:23 +00:00
Doug Szumski
87b458c8cf Add support for deploying Zookeeper
Previously reviewed here:

https://github.com/stackhpc/kayobe/pull/136

Change-Id: I100a649f9bd659dde8a68684303c4eb4f654414d
Task: 6696
Story: 2001627
2018-03-13 16:58:12 +00:00
Doug Szumski
63dba94f42 Address review comments 2018-02-20 13:27:25 +00:00
Mark Goddard
94f37ea66f
Merge pull request #86 from ktibi/add_collectd
add collectd regex
2017-12-08 09:03:47 +00:00
Kevin TIBI
1f3032233b add collectd regex 2017-12-08 09:52:16 +01:00
Mark Goddard
c818758260 Remove support for colocated kolla & kolla-ansible
Kolla-ansible python code was moved to the kolla-ansible repo in ocata.
2017-12-07 11:00:46 +00:00
Kevin TIBI
3cdc055b72 add conf regex for build image 2017-11-13 16:11:20 +00:00
Stig Telfer
b450e8059a Add ElasticSearch as a Kolla feature flag 2017-10-12 15:51:23 +00:00
Mark Goddard
ab57a13a1f Add kolla_enable_ flags for new services added in Pike 2017-09-18 21:41:47 +01:00
Mark Goddard
4acbf52867 Untangle configuration of kolla and kolla-ansible
Kolla (container images) and kolla-ansible (container deployment) are
separate concerns, and should be treated as such. Configuration
variables have been added for kolla-ansible which were previously shared
between the two projects:

kolla_venv -> kolla_ansible_venv
kolla_ctl_install_type -> kolla_ansible_ctl_install_type

Also, we introduce specific variables for the source code repository
checkout paths, which were previously both based on
source_checkout_path:

kolla_source_path
kolla_ansible_source_path

These changes help us to cleanly separate the configuration of paths on
the local (Ansible control) host, from those on the managed (target)
hosts. This is important because the local paths may be specific to the
environment in which the user is running kayobe, but the remote paths
are relatively fixed and specific to the cluster.
2017-09-18 14:21:52 +01:00
Mark Goddard
c576e4d486 Add support for Ubuntu control hosts
This enables the user to use an Ubuntu machine to manage the cloud. The
remote cloud hosts must still run CentOS.
2017-09-07 19:42:43 +01:00
Mark Goddard
5cf205502d Decompose overcloud inventory file into top level, components, and services
This allows a deployer to customise their inventory at various levels, by
providing a custom inventory template for one or more of the sections of the
inventory.

* Top level groups define the roles of hosts, e.g. controller or compute.
* Components define groups of services, e.g. nova or ironic.
* Services define single containers, e.g. nova-compute or ironic-api.
2017-08-30 11:02:33 +00:00
Mark Goddard
aad71bcd25 Support Ocata split of kolla-ansible from kolla, allow custom kolla passwords 2017-02-17 12:50:13 +00:00
Mark Goddard
2ef0a4bd58 Add support for Kolla's enable_haproxy flag and allow it to be false
This requires us to use the controller host's IP address for the internal VIP.
2017-02-16 10:44:35 +00:00
Mark Goddard
b654a70e65 Initial mega commit of Kayobe 2017-02-14 15:14:29 +00:00