38 Commits

Author SHA1 Message Date
Mark Goddard
ec07524054 Enable iscsid on cinder-backup hosts
Without this we may see the following error in cinder-backup when using
the LVM backend:

    Could not login to any iSCSI portal

Enabling the iscsid container on hosts in the cinder-backup group fixes
this.

Closes-Bug: #1838624

Change-Id: If373c002b0744ce9dbdffed50a02bab55dd0acb9
Co-Authored-By: dmitry-a-grachev <dmitry.a.grachev@gmail.com>
2019-08-07 09:05:43 +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
Mark Goddard
1c22da32ff Use new cinder target_helper option
The iscsi_helper option was deprecated in favour of target_helper in
Queens, and will be removed in the Stein release.

This also renames the cinder_iscsi_helper variable to
cinder_target_helper, deprecating but still supporting the former name
until the Train release.

Change-Id: Ie38c09b2dd8598f62b0733c8444eec5f6ce3daac
2019-03-01 14:36:25 +00: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
Eduardo Gonzalez
1a682fab28 Support stop specific containers
With this change, an operator may be able to stop a
service container without stopping all services in a host.
This change is the starting point to start
fast-forward upgrades support.
In next changes new flags will be introducced to disable
stop dataplane services during upgrades.

Change-Id: Ifde7a39d7d8596ef0d7405ecf1ac1d49a459d9ef
Implements: blueprint support-stop-containers
2018-11-26 08:07:01 +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
Jeffrey Zhang
b51eeed89e Use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

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

Co-Authored-By: confi-surya <singh.surya64mnnit@gmail.com>
Change-Id: Ic9d71e1865d1c728890625aeddf424a5734c0a8a
2018-07-25 23:57:22 +08:00
Paul Bourke
4423f25d84 Only start tgtd when cinder_iscsi_helper=tgtadm
Change-Id: I1b0e1df0e91b7a4abc408ee4b0852e1278e441ef
2018-06-28 10:04:23 +00:00
Ha Manh Dong
30be04ea91 Specify 'become' for all tasks that use kolla_docker module
Add become to all tasks that use the module "kolla_docker"

Change-Id: I4309c4011687b88ec31d739fd8f834fe2326ff10
Partial-Implements: blueprint ansible-specific-task-become
2018-06-08 12:39:24 +00:00
Jeffrey Zhang
c567055176 Fix ansible warning
- rename action and serial to kolla_ansible and kolla_serial
- use become instead of "sudo <command>" in shell
- Remove quota for failed_when and changed_when in rabbitmq tasks

Change-Id: I78cb60168aaa40bb6439198283546b7faf33917c
Implements: blueprint migrate-to-ansible-2-2-0
2018-05-11 02:54:02 +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
Zuul
0d9fd76b17 Merge "Non-lvm iscsi backends should run iscsid on compute and storage nodes" 2017-11-24 08:18:21 +00:00
Vladislav Belogrudov
8d429fc1e1 Non-lvm iscsi backends should run iscsid on compute and storage nodes
Cinder backends that utilize iSCSI protocol require iscsid on
compute and storage nodes to handle volumes and their backups.

Change-Id: I1c735d2abace4b46879be99731ead47d578335ea
Closes-Bug: #1725258
2017-11-23 10:37:13 +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
Dai Dang Van
bf0bf04392 Mixing binary and source images for I* and K* projects
In case Kolla's users want to deploy with both of
binary and source image, we should have a variable
install type that define install type for each project.

We also add specific image tag for each Openstack project.

This commit is implemented for Ironic, Kabor,
Keystone project and iscsi as well.

Change-Id: I134d840b1c0e24171a32dec0c7daa6dc2e9ecd87
Implements: blueprint mixing-binary-and-source-image
2017-06-03 15:03:30 +07:00
Bertrand Lallau
afdd11b9a2 Generalize api_interface_address variable usage
Useful api_interface_address variable has been define here:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L57
In order to simplify codebase we must use it as much as possible.

Change-Id: I18fec19bf69e05a22a4142a9cd1165eccd022455
2017-05-23 08:35:15 +00:00
Jeffrey Zhang
b1f015616c Add timeout parameter for precheck tasks
wait_for module waits 300 seconds for the port started or stopped.  This
is meaningless and useless in precheck. This patch change timeout to 1
seconds.

Change-Id: I9b251ec4ba17ce446655917e8ef5e152ef947298
Closes-Bug: #1688152
2017-05-04 09:02:25 +08:00
Paul Bourke
5418ada148 Enable sanity checks from kolla-ansible
Add a new subcommand 'check' to kolla-ansible, used to run the
smoke/sanity checks.

Add stub files to all services that don't currently have checks.

Change-Id: I9f661c5fc51fd5b9b266f23f6c524884613dee48
Partially-implements: blueprint sanity-check-container
2017-03-09 10:37:06 +00:00
Mauricio Lima
90917100f2 Move some prechecks into its own role
To avoid many merge conflicts and re-works
* Solum
* iscsi
* Keystone
* elasticsearch

Change-Id: Ibaecda35597cf39c602919b4990579f7cfc75c22
Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
Co-Authored-By: qiankun.zhang <zhangqiankun@sgitg.sgcc.com.cn>
Partially-implements: blueprint condition-pre-check
2017-01-17 08:54:35 -03: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
Jeffrey Zhang
fa45801946 Move precheck into its own role
* Merge prechecks.yml and site.yml playbook
* Create empty precheck.yml into all roles.

Change-Id: I8a138558a26c0a2a66c5fd48ed37be657c99c1dd
Implements: blueprint condition-pre-check
2016-11-03 14:48:58 +08:00
Jenkins
b0f1e00b0f Merge "Make iscsi config.yml consistent with start.yml" 2016-10-19 15:48:11 +00:00
Jeffrey Zhang
ce5a11a374 Fix stale namespace removal issue
When using both /run and /run/netns in docker container, mount
propagation won't work when delete namespace after the containers are
restarted. This PS makes /run mount as shared.

Closes-Bug: #1616268
Change-Id: Ie16699e1b193b2bf1263d89ea634e89ea69add9e
2016-10-15 01:49:13 +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
Waldemar Znoinski
96016b756b set basic kolla structures for iscsid
* enable iscsid when ironic is enabled
* update sample inventory files with above
* add logrotate conf template for iscsid
* add 'common' role dependency for iscsi role

Change-Id: I3054b9139a43542febf26c3ce9a71b65f2fcdd84
Closes-bug: #1632850
2016-10-13 10:49:32 +00: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
Vladislav Belogrudov
d5ae21a70b iscsi role misses 'storage' group
Cinder-backup containers require iscsid to mount iscsi volumes
to backup if the volumes are on different storage host. This
fix adds missing 'storage' group to iscsi playbook.

Change-Id: Iba3fb861b3f14c20b8a020075f2473ba7a0dd9a2
Closes-Bug: 1611330
2016-09-29 14:27:16 +03:00
Vladislav Belogrudov
b1f986c349 Cinder cannot use external non-LVM iSCSI storage
Currently Cinder enables iscsid service only when LVM is choosen as
backend. This fix will allow to specify external iSCSI storage via
configuration add-on and to run iscsid independently of LVM settings.

Change-Id: Iaae0f8025534e5ab1c5f9d5e812a7d41129915ef
Closes-Bug: 1614125
2016-09-21 12:28:07 +00:00
Mick Thompson
4c1482b999 Added serial option to site.yml.
Useful for upgrade etc., which is preferablly done serially.

Example usage: tools/kolla-ansible deploy OR tools/kolla-ansible upgrade

Closes-Bug: #1576708

DocImpact

Change-Id: I34b2e16f8ce53e472a4682a4738c4ac0f5abf00c
2016-09-13 09:26:51 +00:00
Serguei Bezverkhi
134089d6cd Adding required check for Orchestration Kubernetes
Thgis PS add missing check for Kubernetes orchestration engine,
without these changes, running kolla-ansible genconfig fails
for Kubernetes environment.

TrivialFix

Change-Id: I25eeb7ae3ddba7c924f6d48aa24afdbe74227170
2016-09-12 15:32:42 -04:00
Tin Lam
02da8e5104 Fix typo in iscsi pull playbook
In ansible/roles/iscsi/tasks/pull.yml, there are references to
'iscsi', which should be 'iscsid' instead.  This patchset
fixes this typo.

Change-Id: Id2c31bf69556ec8dcf66cc1d32d2bfe77f02367b
Closes-bug: #1602566
2016-08-22 21:12:38 -05:00
Jeffrey Zhang
618d5d20cc Pull tgtd image when need
TrivialFix

Change-Id: Ib9812d5c4f26f87bba1f42d809caf6c9233aa8f2
2016-07-25 09:48:44 +08:00
Serguei Bezverkhi
214117c941 Adding Upgrade to iscsid/tgtd container
This patch adds Upgrade function to iSCSI/tgtd containers.

Change-Id: I80d3a4397584ab3c5de7ef3b37bc7f0956c55c15
Closes-Bug: #1560928
2016-05-09 09:14:27 -04:00
Jeffrey Zhang
0fcee87549 map the host localtime to the container
Closes-Bug: #1577148
Change-Id: I636cefc63cf532434a41af3898b63dffa711e280
2016-05-03 09:27:51 +08: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