17 Commits

Author SHA1 Message Date
Radosław Piliszek
3411b9e420 Performance: optimize genconfig
Config plays do not need to check containers. This avoids skipping
tasks during the genconfig action.

Ironic and Glance rolling upgrades are handled specially.

Swift and Bifrost do not use the handlers at all.

Partially-Implements: blueprint performance-improvements
Change-Id: I140bf71d62e8f0932c96270d1f08940a5ba4542a
2020-10-12 19:30:06 +02:00
Mark Goddard
9702d4c3c3 Performance: use import_tasks for check-containers.yml
Including tasks has a performance penalty when compared with importing
tasks. If the include has a condition associated with it, then the
overhead of the include may be lower than the overhead of skipping all
imported tasks. In the case of the check-containers.yml include, the
included file only has a single task, so the overhead of skipping this
task will not be greater than the overhead of the task import. It
therefore makes sense to switch to use import_tasks there.

Partially-Implements: blueprint performance-improvements

Change-Id: I65d911670649960708b9f6a4c110d1a7df1ad8f7
2020-07-28 12:10:59 +01:00
Mark Goddard
fdea19a305 Separate per-service host configuration tasks
Currently there are a few services that perform host configuration
tasks. This is done in config.yml. This means that these changes are
performed during 'kolla-ansible genconfig', when we might expect not to
be making any changes to the remote system.

This change separates out these host configuration tasks into a
config-host.yml file, which is included directly from deploy.yml.

One change in behaviour is that this prevents these tasks from running
during an upgrade or genconfig. This is probably what we want, but we
should be careful when any of these host configuration tasks are
changed, to ensure they are applied during an upgrade if necessary.

Change-Id: I001defc75d1f1e6caa9b1e11246abc6ce17c775b
Closes-Bug: #1860161
2020-04-02 13:51:56 +00:00
Radosław Piliszek
266fd61ad7 Use "name:" instead of "role:" for *_role modules
Both include_role and import_role expect role's name to be given
via "name" param instead of "role".
This worked but caused errors with ansible-lint.
See: https://review.opendev.org/694779

Change-Id: I388d4ae27111e430d38df1abcb6c6127d90a06e0
2020-03-02 10:01:17 +01:00
Kris Lindgren
2fe0d98ebb Add a job that *only* deploys updated containers
Sometimes as cloud admins, we want to only update code that is running
in a cloud.  But we dont need to do anything else.  Make an action in
kolla-ansible that allows us to do that.

Change-Id: I904f595c69f7276e71692696471e32fd1f88e6e8
Implements: blueprint deploy-containers-action
2019-09-26 17:51:14 +01:00
Mark Goddard
b123bf6621 Use become for all docker tasks
Many tasks that use Docker have become specified already, but
not all. This change ensures all tasks that use the following
modules have become:

* kolla_docker
* kolla_ceph_keyring
* kolla_toolbox
* kolla_container_facts

It also adds become for 'command' tasks that use docker CLI.

Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
2019-06-06 19:04:58 +01:00
ZhijunWei
1989cfe103 Optimize reconfigure action for iscsi
Complete the reconfigure optimise action for iscsi

Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
Co-Authored-By: mgoddard <mark@stackhpc.com>

Change-Id: I6a1f24bc13bdea148857de9e6f4df79ff97bc9bc
Partially-implements: blueprint better-reconfigure
Closes-Bug: #1772215
2019-02-07 02:04:56 +00:00
Mark Goddard
5753a569c7 Load configfs kernel module for iscsid
The configfs kernel module is not mounted by default in Ubuntu 16.04,
leading to the iscsid container failing to start because it bind mounts
/sys/kernel/config. The issue does not apply to Ubuntu 18.04, or other
distros (AFAIK), which load configfs by default.

This change loads the configfs module when the iscsid container is in
use.

Change-Id: I5b521ddca24b919658d2664ede2d878507d6d106
Closes-Bug: #1631072
2018-11-20 15:52:56 +00:00
caoyuan
3d9826e800 Remove the duplicated condition check for iscsi
Change-Id: If0529a13dce3e47a85391f11e58a737707015faa
2018-04-18 10:55:53 +08:00
Duong Ha-Quang
9965cc46ff Specify 'become' for only neccesary tasks (all other roles)
Add become to only neccesary tasks in roles:

- aodh
- barbican
- bifrost
- ceilometer
- ceph
- chrony
- cinder
- cloudkitty
- collectd
- congress
- designate
- elasticsearch
- etcd
- freezer
- gnocchi
- grafana
- influxdb
- ironic
- iscsi
- karbor
- kibana
- kuryr
- magnum
- manila
- mistral
- mongodb
- multipathd
- murano
- octavia
- panko
- qdrouterd
- rally
- sahara
- searchlight
- senlin
- skydive
- solum
- swift
- swift
- tacker
- telegraf
- tempest
- trove
- vmtp
- watcher
- zun

Change-Id: I6e32d94d4172dd96d09d8609e8a5221ab5586a31
Partial-Implements: blueprint ansible-specific-task-become
2018-03-12 09:37:43 +07:00
Duong Ha-Quang
d0cac653eb Check enable_cinder before deploy iscsi and tgtd
Add check enable_cinder to iscsi and tgtd deploy logic.

The ironic check is not effected.

Change-Id: If14ae52fbacf106b112e40a813ad6143cb095edc
Closes-Bug: #1742873
2018-01-15 03:47:00 +00:00
Mark Duggan
d1fe0778f1 Fixing missing copy of iscsi container config files
Iscsi containers on compute and storage nodes in
restarting mode w/o config files

Closes-Bug: #1727785

Change-Id: I1c2b1db791dc9be76e60425e4752d64ffba34f1b
2017-10-26 16:52:36 +00:00
guochao
ee66b6468d Fix wrong condition for iscsid container
Iscsid is not only needed by cinder lvm backend, but also by ironic
conductor container.

Change-Id: I903cda88ca71ba31b30c220761f33808495aba72
Closes-Bug: #1709809
2017-08-10 08:09:01 +00:00
Ethan Lynn
e237319965 Always check enable_* variables first
Check enable_* variables first, then check inventory_host in
group, will help to avoid configuration errors.

Change-Id: Icdb1f50e5c911203b92ac431723620756b15f3c6
Closes-Bug: #1648376
2016-12-08 17:59:48 +08:00
Martin Matyáš
157dc0f177 Make iscsi config.yml consistent with start.yml
As part of non-lvm iscsi bugfix, changes were introduced
to iscsi's start.yml. Same changes/conditions should be
reflected to config.yml so container configuration is deployed on
the same nodes as containers are started.

TrivialFix

Change-Id: Ib988df2d36983d63a3aff4226224dc5fc6064221
2016-10-13 10:10:16 -07:00
Mark Duggan
74c85cfe82 Iscsid container fails to start on storage node when cinder is enabled
When the iscsid containers is included in the kolla deployment it starts
successfully on a compute node but fails to start on a storage node, if
cinder is enabled because the config file is not copied to the container
BTW, if cinder is not enabled the iscsid container starts successfully
on both the compute and storage nodes.

Change-Id: I665535d858affebc9623b29f79c89c18f7cc399f
Closes-Bug: #1629381
2016-10-03 14:57:17 +00:00
Serguei Bezverkhi
6c2d7c7944 Adds ansible code for iscsid and tgtd containers
This partially implements iscsi and lvm2 support for cinder
in Kolla. Adds ansible code for iscsid and tgtd containers.

Change-Id: I2a4cfcf104397396ea61a09637d9ef3fc77b515f
Partially-Implements: blueprint iscsi-lvm2-docker
2016-04-12 14:58:15 -04:00