1256 Commits

Author SHA1 Message Date
Andreas Jaeger
f1e02e9367 Remove duplicate docs job
Both docs-on-readthedocs and build-openstack-sphinx-docs contain a build
job - a different one: the current openstack-tox-docs and the obsolete
build-openstack-sphinx-docs. Remove the obsolete template and thus
avoid building docs twice for each change.

Change-Id: I358641d29304815eec6c699ae7e20da1e069443d
2019-05-25 17:55:51 +02:00
Radosław Piliszek
d8c6fa307f Fix two links in the docs pointing to repo on github (moved to opendev)
Change-Id: I793251519a5da0e3d1225673c9b3394e738f4336
Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-05-24 16:56:04 +02:00
Mark Goddard
88649df6f6 Add ceph_disks and mdadm_arrays to service placement docs
Change-Id: I0a2cb770c74b7e4e99a1a411990c6ed488efb303
2019-05-23 11:51:31 +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
Isaac Prior
4495910428 Add welcome page overview doc
Change-Id: I8005dd608bbaed3fcafcce56fc5dd9c307434a77
2019-05-22 09:30:55 +01:00
Zuul
b9246d9286 Merge "Remove out of date statements" 2019-05-21 16:36:42 +00:00
Isaac Prior
863fe9e261 Remove out of date statements
Change-Id: I4ddf077913ddc620c60c78ca491e70b2e8f59489
2019-05-21 16:55:47 +01:00
Zuul
9890e4bbc1 Merge "DRY out Zuul job configuration" 2019-05-21 15:53:29 +00:00
Zuul
bfc19d3ee6 Merge "Multiple updates for Kayobe" 2019-05-20 20:50:38 +00:00
Zuul
8052b5109b Merge "Remove release notes readthedocs webhook job" 2019-05-20 20:38:37 +00:00
Zuul
19b31b9705 Merge "Add external resources section" 2019-05-20 18:53:07 +00:00
Isaac Prior
d4c661231a Add external resources section
Change-Id: I1f76056254454abe2e4dbc49bdb694a67b464299
2019-05-20 18:30:09 +00:00
Mark Goddard
6c5fbcf942 Remove release notes readthedocs webhook job
This was found not to work, and prevents releases from being made.

The cause of the issue is that the trigger-readthedocs-webhook job (in
project-config) is marked as 'final', meaning that a non-trusted Zuul
config source can't override its variables. Instead, you're supposed to
use the trigger-readthedocs-webhook project template, but only one
instance of this can be instantiated by design.

Let's revert to manually updating the release notes for now.

Change-Id: I271c972c7fdde23085f3026137806bb1e3048e5e
2019-05-20 15:41:05 +01:00
Ross Martyn
d8ee0fa027 Multiple updates for Kayobe
---

1. Gather facts for localhost in kolla-ansible.yml
2. Don't include unconfigured networks in network_interfaces
3. Added Keystone configuration extra config merge

---

1. Facts are necessary for the kolla-ansible role,
which references the ansible_user_uid fact

2. It is possible to skip configuring a network,
by setting its name to None

This is done in networks.yml as follows:

admin_oc_net_name:

Currently, these networks may still be included in the 'network_interfaces'
list for each host, despite the fact that they are not in use.

A classic example is when ironic is not enabled, it is currently still
necessary to define provisioning and cleaning networks.

This change avoids including any networks that have their name set to None
in network_interfaces.

3. Added support for Keystone custom configuration

Added tests and documentation to add support for keystone extra configuration

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

Change-Id: Iaa304221b8093ac71f9cdbb23edc84d1517578da
2019-05-20 15:30:07 +01:00
Mark Goddard
9de8efd0bf Add config tags to kolla-openstack play
Ensures that the group_by task runs to check if ironic is enabled.

Change-Id: Ia099772c41b4b6227d5b1da26b53781c69a1edd5
TrivialFix
2019-05-20 15:13:06 +01:00
Isaac Prior
ac85dc6064 Update supported CentOS version
Change-Id: I2495c97455e40cf1f0573cee6ae845da14d762b5
2019-05-20 12:12:39 +01:00
Mark Goddard
c7ab69b38b Fix overcloud introspection data save
If running 'kayobe overcloud introspection data save' in an environment
where nodes have been registered in the seed's ironic service manually
(rather than through auto-discovery), previously the bifrost ansible
inventory would not have been populated.

This change ensures the bifrost ansible inventory exists prior to
collecting introspection data.

Change-Id: I2ad53aa0db3bab8db6d6d9de4b00c5dac756fb15
2019-05-17 15:03:51 +01:00
Pierre Riteau
9f92afc383 Fix table generation
Change-Id: Idf94a64b70d4684a75ec8e8ccc38d64fa6274431
2019-05-17 09:42:01 +01:00
Zuul
c020751a5d Merge "Support for Ceph and Swift storage networks, and improvements to Swift" 2019-05-15 13:48:05 +00:00
Zuul
4b70c3d7ce Merge "Support arbitrarily named Docker drivers" 2019-05-15 13:42:53 +00:00
Mark Goddard
7bec3fe383 Small update to automated development docs
Include information on how to test bare metal instance creation.

Change-Id: Ie40f258a31d4b72cd9867d321a3ff712522daec5
2019-05-14 12:10:13 +01:00
Mark Goddard
c6425d0898 Support arbitrarily named Docker drivers
Currently we configure daemon.json to use either devicemapper or overlay
as the storage driver. We should simply pass through whatever is
configured for docker_storage_driver.

Change-Id: Id4423030b5483fe4ecd4f324bc25800e5444fd63
Story: 2005649
Task: 30932
2019-05-13 13:52:20 +01:00
Mark Goddard
ca3b5a7701 DRY out Zuul job configuration
Adds a new abstract parent job for the following kayobe deploy jobs:

kayobe-overcloud-centos
kayobe-overcloud-upgrade-centos
kayobe-seed-centos
kayobe-seed-upgrade-centos

This parent includes commonly used variables, and pre-run and post-run
playbooks for preparing and executing diagnostics, plus other
initialisation.

Change-Id: I9ab89fbc49bb32d86af56d50ec3914740e65d0f8
2019-05-07 15:59:25 +00:00
Zuul
05cdbeb270 Merge "Use x/kayobe for storyboard link" 2019-05-06 15:45:03 +00:00
Zuul
07e97e43af Merge "Fix setup.cfg syntax error, not allowed comment in files section" 2019-05-02 17:46:43 +00:00
Radoslaw Smigielski
1e40f8498a Fix setup.cfg syntax error, not allowed comment in files section
In [files] section of setup.cfg there is not allowed comment, which
breaks installation with setup.py.

Change-Id: I38fce0a6c155e4b7d2ff7a2535f18e8adc2566e9
Story: 2005546
Task: 30692
2019-05-01 15:39:44 -06:00
Zuul
cada311d4c Merge "Add python 3.6 jobs" 2019-04-26 17:57:36 +00:00
Mark Goddard
2d6fbfa280 Use x/kayobe for storyboard link
Change-Id: Ibf099c6fe4ad516f29d1f4f500f381f4f1baa212
2019-04-25 19:00:39 +01:00
Zuul
61d957f2cb Merge "Update git.openstack.org to opendev.org" 2019-04-25 14:10:24 +00:00
Mark Goddard
5b9f85d715 Update git.openstack.org to opendev.org
The project infrastructure is now hosted at opendev.org.

Kayobe projects have been moved from the openstack/ namespace to x/.

Change-Id: I16b523285eb34c1cd0eaf920aa4512d0ae1b4f05
2019-04-24 14:00:18 +01:00
Scott Solkhon
6496cfc0ba Support for Ceph and Swift storage networks, and improvements to Swift
In a deployment that has both Ceph or Swift deployed it can be useful to seperate the network traffic.
This change adds support for dedicated storage networks for both Ceph and Swift. By default, the storage hosts are
attached to the following networks:

* Overcloud admin network
* Internal network
* Storage network
* Storage management network

This adds four additional networks, which can be used to seperate the storage network traffic as follows:

* Ceph storage network (ceph_storage_net_name) is used to carry Ceph storage
  data traffic. Defaults to the storage network (storage_net_name).
* Ceph storage management network (ceph_storage_mgmt_net_name) is used to carry
  storage management traffic. Defaults to the storage management network
  (storage_mgmt_net_name).
* Swift storage network (swift_storage_net_name) is used to carry Swift storage data
  traffic. Defaults to the storage network (storage_net_name).
* Swift storage replication network (swift_storage_replication_net_name) is used to
  carry storage management traffic. Defaults to the storage management network
  (storage_mgmt_net_name).

This change also includes several improvements to Swift device management and ring generation.

The device management and ring generation are now separate, with device management occurring during
'kayobe overcloud host configure', and ring generation during a new command, 'kayobe overcloud swift rings generate'.

For the device management, we now use standard Ansible modules rather than commands for device preparation.
File system labels can be configured for each device individually.

For ring generation, all commands are run on a single host, by default a host in the Swift storage group.
A python script runs in one of the kolla Swift containers, which consumes an autogenerated YAML config file that defines
the layout of the rings.

Change-Id: Iedc7535532d706f02d710de69b422abf2f6fe54c
2019-04-24 12:40:20 +00:00
OpenDev Sysadmins
a65511a3d8 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:50:44 +00:00
Zuul
272709d54a Merge "Add openstack_release and openstack_branch" 2019-04-15 15:13:16 +00:00
Zuul
1da228ffb9 Merge "Use master version of dependencies" 2019-04-15 14:37:38 +00:00
Mark Goddard
73063732aa Add openstack_release and openstack_branch
Adds two new variables, 'openstack_release' and 'openstack_branch',
in ${KAYOBE_CONFIG_PATH}/openstack.yml for setting the current OpenStack
release and branch in a single place.

Also uses the master branch for the molecule tox job.

Change-Id: I851a1e6eddc6738005c1813599445b38c0ae0d57
2019-04-15 11:41:07 +00:00
Zuul
0a2c13accb Merge "Remove inspector_manage_firewall variable" 2019-04-10 11:30:31 +00:00
Mark Goddard
eda8246b7b Use master version of dependencies
Use master branch of:

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

Also, use the infra docker registry mirror at port 8082 which does not
have any path component in its URL, and so works with Docker CE.

Depends-On: https://review.openstack.org/#/c/651254/
Change-Id: Icdb62aa0083d9272a08421138719cf5f6b52ec5a
Story: 2001864
Task: 14316
2019-04-09 16:55:02 +00:00
Mark Goddard
c2a35ce211 Remove inspector_manage_firewall variable
This is supported in kolla-ansible via the ironic_inspector_pxe_filter
variable, which can be added to globals.yml. The default value for that
variable changed in the Stein release from 'iptables' to 'dnsmasq',
since the iptables filter does not work with Docker CE [1].

This change removes the inspector_manage_firewall variable.

This change also adds an iptables rule in CI tests to allow DHCP packets
to be forwarded, to ensure bare metal servers can be deployed.

[1] https://bugs.launchpad.net/kolla-ansible/+bug/1823044

Depends-On: https://review.openstack.org/649673
Change-Id: Idac6777b4d97fbd17698fc2086ceb068d7b2e326
Related-Bug: #1823044
2019-04-09 13:53:59 +01:00
Zuul
68277e2670 Merge "Update service configuration documentation" 2019-04-08 20:07:05 +00:00
Mark Goddard
3b9fdf9952 Don't enable grafana when monasca is enabled
If you enable monasca via kolla_enable_monasca, grafana is automatically
enabled too. Monasca provides its own forked version of grafana, so we
don't need the standard one.

This change brings the logic into line with kolla-ansible.

Change-Id: I5be1f269547d9c547211b675814829a665685485
Story: 2005399
Task: 30393
2019-04-08 15:57:30 +01:00
Zuul
0a73482576 Merge "Add support for configuring software RAID arrays using mdadm" 2019-04-08 14:22:08 +00:00
Doug Szumski
cf1d6f7cb1 Update service configuration documentation
Change-Id: I0a92c60000dbfaa1a6a841dcad66f118226d9ace
2019-04-01 13:42:45 +00:00
Doug Szumski
44430a4242 Support custom keepalived config
Allow users to use the custom config mechanism for Keepalived
provided by Kolla Ansible.

Change-Id: I052bd8283944197cd2b13747e7a7c32fbe06c045
Story: 2005211
Task: 29989
2019-04-01 13:42:32 +00:00
Mark Goddard
08bb1441eb Prevent use of KVM for Tenks VMs in CI
Currently nested virtualisation under KVM does not seem to be working in
CI. This breaks the 'bare metal' deployment testing using Tenks, which
lead us to disable it in 749ef8243e9ae855cf8ceb54dc3f88c6c1b2fea0.

This commit forces Tenks to use QEMU for its VMs, allowing us to revert
commit 749ef8243e9ae855cf8ceb54dc3f88c6c1b2fea0..

Change-Id: Id382c218f3b37979341f0d96718a6011a1d9da37
Story: 2005316
Task: 30223
2019-03-29 15:26:04 +00:00
Zuul
c4a5c464a9 Merge "Always remove temporary file containing passwords" 2019-03-28 18:01:56 +00:00
Mark Goddard
749ef8243e Skip bare metal testing in CI
When first added, the bare metal deployment tests using Tenks were
fairly reliable (although not 100%). Recently though, jobs seem to be
failing at this step quite frequently, making it difficult to merge
patches. Looking at the historical zuul jobs, the failure rate per job
seems to be about 1/3:
http://zuul.openstack.org/builds?job_name=kayobe-overcloud-centos. With
two overcloud jobs and check and gate required to pass, the merge
success rate is around 20%.

Let's skip this testing for now, until we can make it more reliable.

Change-Id: Id0a05f8c5d227f8cd9424c7a5b138eddee93f827
Story: 2005316
Task: 30224
2019-03-28 08:03:01 +00:00
Mark Goddard
7ca0cd0cb8 Always remove temporary file containing passwords
When generating or updating the passwords.yml file for kolla-ansible,
kayobe writes out various stages of the process to temporary files
in /tmp, in plain text. One of these files can be left in place if
there are no changes to apply to the file.

This change ensures that we always remove temporary files containing
passwords. We also switch from shutil.copy2 to shutil.copyfile, to
keep the permissions of the destination rather than applying those of
the source, which are typically more open (644 vs 600).

Depends-On: https://review.openstack.org/647858
Change-Id: Icb290fd22dc01567a4297a42f5e4d765e3b57d37
Story: 2005299
Task: 30187
2019-03-26 18:29:45 +00:00
Pierre Riteau
7f43edf68d Add support for configuring software RAID arrays using mdadm
Change-Id: I647d93bf40d42a1b86b06170c8b4cc96972051c4
Story: 2005017
Task: 29495
2019-03-26 15:16:20 +00:00
Pierre Riteau
81e3c8a282 Add missing space in argument description
Change-Id: I0b364a77231e1b88dd9471e6f3893626c125d510
2019-03-18 14:16:57 +00:00
Mark Goddard
7eedd8f416 Fix YAML code execution issue
There is an issue with the default YAML loader, which allows arbitrary
code execution, as documented here:
https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation.

This can be avoided by using yaml.safe_load. We don't require Python
object serialisation, so safe_load is sufficient.

Change-Id: I09190766066ab56d04b1317a4022782160d60528
Story: 2005253
Task: 30050
2019-03-18 09:45:48 +00:00