713 Commits

Author SHA1 Message Date
Zuul
050ece2bd9 Merge "Add commands to run command on hosts" 2019-02-05 11:23:34 +00:00
Zuul
6ef26e30a0 Merge "Support including and excluding files from config save" 2019-02-05 10:56:53 +00:00
Kevin Tibi
b8305b1799 Add commands to run command on hosts
Change-Id: I019fc3f5c59c383215febb958f9c4cf8c8b8e4a6
Story: 2003312
Task: 24270
2019-02-04 16:17:37 +00:00
Zuul
7cb684a253 Merge "use include_tasks and import_playbook instead of include" 2019-02-04 13:33:30 +00:00
Mark Goddard
fb70e99a4b Support including and excluding files from config save
Currently in the upgrade job we are seeing the OOM killer kick in during
the 'overcloud service configuration save' command. Ansible is quite
inefficient when copying large files around, so excluding the large IPA
images should relieve some memory pressure.

Change-Id: I3a230b0a699154606ca8faa00a85d45ae815c599
Story: 2004704
Task: 28733
2019-02-04 09:21:07 +00:00
Zuul
78e0e064b7 Merge "Convert network MTU to an integer" 2019-02-01 19:14:02 +00:00
Zuul
b725f24314 Merge "Update stackhpc.libvirt-vm and stackhpc.libvirt-host roles" 2019-02-01 19:04:24 +00:00
Zuul
4fe77bf8c6 Merge "Fix seed VM provision failure on Ansible 2.6" 2019-02-01 19:01:45 +00:00
Mark Goddard
076fe7db3f Use a fork of the yatesr.timezone role
The yatesr.timezone role has been forked to stackhpc.timezone, since the
upstream role includes symlinks which do not play nicely with PBR. Once
the PBR issue is fixed, we can revert to using the upstream role.

Change-Id: Ib8fe11cdf7e2571f99eb13c0e5ebd3e200c77c6e
Story: 2004252
Task: 27787
2019-02-01 12:22:19 +00:00
Zuul
e6a0c9f75c Merge "Add support for CA certificate parameter" 2019-01-31 18:57:55 +00:00
Mark Goddard
983ce3dae2 Convert network MTU to an integer
This seems to be required for the seed VM, if an MTU is specified.

Change-Id: I49d7893ab6900b3bd66eec1f6b03cf89c917e5bd
2019-01-31 16:58:15 +00:00
Zuul
72a5acf02a Merge "Modify default of kolla_docker_registry" 2019-01-31 16:50:25 +00:00
Mark Goddard
e83c57f233 Add support for CA certificate parameter
When using Ansible OpenStack modules, if OS_CACERT is defined, then this
will be passed as the cacert module argument.

This ensures that non-standard CA certificate paths can be used.

Change-Id: I2a2575b1fb0f149cc13c44526fc0167e68e07aab
Story: 2004911
Task: 29261
2019-01-31 15:38:52 +00:00
Pierre Riteau
e642ba11b3 Allow to configure Docker Registry via environment variables
Change-Id: Ida7b870e86894bd33e923ae1cc1142d32e052ddc
Story: 2004817
Task: 28982
2019-01-31 11:40:34 +00:00
Mark Goddard
bd2b225005 Modify default of kolla_docker_registry
Now uses the value of 'docker_registry', the default of which is
unset.

Change-Id: I564defbc661b6c100e9773826c03e3bc960adea7
Story: 2004873
Task: 29135
2019-01-31 08:22:57 +00:00
Zuul
72b388009d Merge "Support configuring LVM on the seed hypervisor" 2019-01-30 20:17:24 +00:00
Zuul
0341bb3692 Merge "Add docs on building images" 2019-01-30 18:33:43 +00:00
Zuul
0d948bd7fe Merge "Add docs on host configuration" 2019-01-30 18:17:31 +00:00
Zuul
f9d5035642 Merge "Add support for setting defroute" 2019-01-30 09:58:59 +00:00
Mark Goddard
d23658aaf6 Update stackhpc.libvirt-vm and stackhpc.libvirt-host roles
Update libvirt-host to 1.3.0
Update libvirt-vm to 1.6.0

These bring in support for non-hardware accelerated VMs, amongst other
things.

Change-Id: I46a0a63092321ce8ec271563fe259a66fa0e2a7b
2019-01-29 18:55:50 +00:00
Mark Goddard
332667b810 Fix seed VM provision failure on Ansible 2.6
Due to an Ansible bug, kayobe fails to provision a seed VM using Ansible
2.6. Accessing hostvars via an intermediate variable causes Ansible not
to template the variable.

Work around the issue until it's fixed upstream in Ansible.

Change-Id: I41771671779b8e624c87b5234cf36d9e791db0cc
Story: 2004759
Task: 28868
2019-01-29 18:55:50 +00:00
Pierre Riteau
ce49ae7c80 Allow to configure where to deploy a Docker Registry
This commit changes the docker-registry playbook to deploy a Docker
Registry on hosts in the docker-registry group, rather than being
harcoded to deploy on the first controller.

The default location is changed to deploy on the seed as it appears to
be a good location for most deployments.

UpgradeImpact: The Docker Registry is now deployed on the seed by
default.

Change-Id: I87d02bd9556afb795c8783ed78e797fdd31fe8ca
Story: 2004820
Task: 28986
2019-01-29 15:44:21 +00:00
Pierre Riteau
55f73c52ca Add support for setting defroute
Change-Id: I483d8f4189a569d58bc95591c7c86a88c9c5b5f3
Story: 2004884
Task: 29165
2019-01-29 14:58:21 +00:00
Pierre Riteau
9156fa0e2d Allow Kayobe to set kolla_external_fqdn_cacert
This variable can be used to customize the CA certificate file used as
the OS_CACERT environment variable in openrc files when TLS is enabled.

Change-Id: Ia157e91dfab176b84a53354065172cac2d60fb78
Story: 2004876
Task: 29150
2019-01-28 18:45:53 +00:00
zhulingjie
8be12b71d7 use include_tasks and import_playbook instead of include
include is marked as deprecated since ansible 2.4[0]

Switch to include_tasks or import_playbook as necessary

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Change-Id: Ia1b826ca08ae042eec80f8c495ab030a087d97ba
2019-01-18 12:22:38 +00:00
Pierre Riteau
e855882533 Support configuring LVM on the seed hypervisor
This allows operators to easily provide storage space for the seed VM.

Change-Id: Ibcb1a5b0d34f2456459604e3a0f3303d93810afb
Story: 2004756
Task: 28862
2019-01-11 18:38:34 +00:00
Mark Goddard
31da0cdc29 Add docs on building images
Change-Id: I0074b8ef2153813b3ffdd5e8254d76df25e49302
Story: 2004337
Task: 28486
2019-01-11 17:10:05 +00:00
Mark Goddard
b9ae3e2290 Add docs on host configuration
Change-Id: I2962d148afb77834f78deedf206060b86445055a
Story: 2004337
Task: 27924
2019-01-11 17:10:03 +00:00
Pierre Riteau
f756afce5d Allow Kayobe to wipe NVMe disks
Change-Id: I7dd817e43a86bad9fa88f1c56425d939a50bf22a
Story: 2004758
Task: 28866
2019-01-11 15:19:14 +00:00
Zuul
bf3d31aaa2 Merge "Perform ironic online data migrations prior to seed upgrade" 2019-01-07 11:54:24 +00:00
Zuul
2c63dfdf8b Merge "Update manage-lvm role to v0.1.4" 2019-01-04 15:09:23 +00:00
Zuul
384630f062 Merge "Add check of pip install in the virtualenv" 2019-01-04 12:20:42 +00:00
Pierre Riteau
1a3de5e799 Update manage-lvm role to v0.1.4
This role now expects disks to be passed as a list instead of a
comma-separated string.

This commit updates group variables to stop transforming disk lists to
comma-separated strings and adds a check for users overriding LVM
variables. The playbook is also tagged as upgrade-check.

Change-Id: Ia8001c28a8be034ae79a1c584beb40bc66891db3
2019-01-04 11:55:15 +00:00
Mark Goddard
950bcb165f Perform ironic online data migrations prior to seed upgrade
Bifrost does not perform ironic online data migrations after upgrading. This
can lead to the following error during kayobe seed service upgrade:

The database is not compatible with this release of ironic (10.1.7). Please run
"ironic-dbsync online_data_migrations" using the previous release.

As a workaround, perform the migrations in kayobe, prior to performing the
upgrade.

Change-Id: I8951242ba40158c26e85377254d19085d85cf753
Story: 2004308
Task: 28657
2018-12-24 14:39:01 +00:00
Mark Goddard
6496af1f67 Add kayobe seed service upgrade command
Adds a new command to upgrade containerised services on the seed:

kayobe seed service upgrade

This is largely the same as the deploy command, since there is no
kolla-ansible bifrost-upgrade command yet.

A limitation in Bifrost requires us to remove IPA images before
upgrading the bifrost container.

Change-Id: Ibbe01e972487e69dbb753a67efcf13e3ae0800de
Story: 2004308
Task: 27872
2018-12-21 15:21:30 +00:00
Mark Goddard
411340b005 Fix bifrost automation tasks for Rocky
Changes to the openstack ansible modules and client SDKs have rendered our
authentication for ironic invalid. Bifrost now provides a working clouds.yaml,
so use this instead of the fudged endpoint/token setup in env-vars.

Also updates some use of the ironic client to the openstack client, and adds
support for the new 'inspect wait' ironic state to avoid surprises during
inspection.

Change-Id: I15ea388b6df8ced9cc0e0eceed8dec8aa8f57a9b
Story: 2001864
Task: 28078
2018-12-20 17:03:16 +00: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
Pierre Riteau
4bd6dfecba Remove documentation and use of dell_switch_delegate_to
The dell_switch_delegate_to parameter was removed from the dell-switch
role in commit da75d6b734fa0451738993d4d6c9beab9b4640b2.

Change-Id: Ia70d48d417d68140ea9e3abd1409c6b0945e638c
2018-12-19 13:05:01 +01:00
Zuul
b56bd25f65 Merge "Retry adding custom repos until success" 2018-12-17 13:40:52 +00:00
Pierre Riteau
c7743aa615 Fix physical network configuration on Dell switches
The dellos Ansible modules do not accept a `transport` key in the
provider parameter anymore, even in Ansible 2.4.0.

Change-Id: I4bdaa337cb9c6cb93f36338a191a9aa78e2c13f0
Story: 2004588
Task: 28464
2018-12-13 15:40:43 +00:00
Zuul
044573ad9c Merge "Use public FQDN for OS_AUTH_URL in public-openrc.sh" 2018-12-13 14:14:29 +00:00
Pierre Riteau
c6764f557f Use public FQDN for OS_AUTH_URL in public-openrc.sh
If a public FQDN is defined, use it instead of the virtual IP address.
When using TLS, certificates are generally tied to a hostname rather
than to an IP address.

Change-Id: I0afef32a0f4030bba613febdf266e2ccd863512d
2018-12-10 10:18:57 +00:00
Kevin Tibi
6586612467 Add check of pip install in the virtualenv
Change-Id: Ic392848900e42338cac6c1880c9ad2a1ba09c240
Story: 2004510
2018-12-05 11:06:26 +01:00
Mark Goddard
e6cf6ca985 Remove tasks for Ansible <= 2.3
The minimum version of ansible is 2.4, so these tasks are no longer
required.

Change-Id: Ied933d18e438955c23ad3eeff80e3377b5633a7c
2018-11-29 15:50:35 +00:00
Zuul
e103d455ee Merge "Bump Ansible to 2.6.x" 2018-11-29 00:31:14 +00:00
Zuul
c3ec38632e Merge "Make ansible_host optional for all switch types" 2018-11-28 13:46:53 +00:00
Zuul
91566b0f12 Merge "Add commands to enable and disable the serial console" 2018-11-27 19:49:08 +00:00
Mark Goddard
ae340128e6 Make ansible_host optional for all switch types
The Juniper device support allows ansible_host variable to not be set
for a switch, in which case the inventory_hostname will be used instead.

This change applies this default consistently across all switch types.

Change-Id: Ibc1e673a6b988f2e8d7bb6c62d30ccdb7ce96351
Story: 2004358
Task: 27958
2018-11-27 18:56:27 +00:00
Zuul
a3c1034ffd Merge "Add support for a custom octavia.conf file" 2018-11-27 17:04:42 +00:00
Zuul
587f13e3fc Merge "Enable manila extra config merge #28058" 2018-11-26 17:53:32 +00:00