94 Commits

Author SHA1 Message Date
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
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
James McCarthy
cac5c8954b Update swift_devices_mount_point propagation settings
The mount is "rprivate" by default, change this to "shared"
such that mount points will dynamically propagate.

Closes-Bug: #1767828

Change-Id: If3b99bd1626a44aa7b41cf7d50d67b4fc9634462
2018-04-30 09:23:50 +01:00
caoyuan
d6a6486886 Add owner and group when create directories
Change-Id: Idb429823d48c4f40cf391151e8bb7478cc7d3631
2018-04-20 23:16:08 +08:00
Jeffrey Zhang
84ade4e149 Remove useless module_extra_vars in registry.yml
- remove uesless module_extra_vars, this is a historical issue. In the
  past, we use 'docker exec kolla_toolbox ansible xxx' to run module on
  target node, so complex data have to pass through extra_vars. Now we
  are using kolla_toolbox module, no need to use extra_vars anymore.
- Remove some useless until.

Change-Id: I72ed28001202917f9a82a1c3ea33cd6319911ec8
2018-04-16 09:14:54 +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
Paul Bourke
414d1dbb4b Add rsync env for account & container replicators
In the previous patch to address broken replication in Swift the account
and container replicators were missed.

Change-Id: I34a58b137dbba99c66e7680546fe85e2ef6131e9
Co-Authored-By: Thorsten Frueauf <thorsten.frueauf@oracle.com>
Partial-Bug: #1733851
2017-12-12 13:45:25 +00:00
James McCarthy
3245201af1 Update swift for replication issues
There are corresponding image changes to go with these ansible
changes - changes in rsyncd template, and add
environment settings for RSYNC_CONNECT_PROG (i.e. nc)

nc allows for rsync replication to easily target {{ swift_rsync_port }}

update the lock file and chroot settings in template - see bug
for more details.

Change-Id: Ic81b7de8fad8aec9416e4e27e8ffda6d03be293c
Closes-Bug: #1733851
2017-11-24 14:49:38 +00:00
Xinliang Liu
df60b76552 Fix ansible running issue on Debian
When deploying on debian, it reports error:
stat /usr/bin/ansible: no such file or directory

That's because on Debian and Ubuntu pip install ansible to
/usr/local/bin/ansible, whereas on CentOS the location is
/usr/bin/ansible.

Change to ansible to handle both cases.

Closes-Bug: #1729216
Depends-On: I2b57403128bc103148ae696c219df52590214adc

Change-Id: I025037cf48596450e6479ab7ff6425c48ac73aad
Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
2017-11-02 09:46:38 +01:00
Eduardo Gonzalez
56374206be Fix deployment with public TLS enabled
When deploying with tls enabled in public
endpoints, ansible modules fails due SSL certificates
are self-signed.

This change adds a new variable to allow customization
on which endpoints ansible should connect.
Defaults to admin because admin auth parameters defaults
to admin endpoint.

Change-Id: Ic3ed58cf9c9579cae08a11bbfe6fce983b5a9cbc
Closes-Bug: #1720995
2017-10-05 08:36:34 +00:00
Bertrand Lallau
191e268575 Fix warning on {failed|changed}_when statements
Ansible 2.3.0 does not like delimiters in when statement.

Related link: https://github.com/ansible/ansible/issues/22397

Closes-Bug: #1714349
Change-Id: I973cc6537c4c1374546b5cddb4ce713a553b92f4
2017-08-31 23:16:26 +02:00
guochao
b63d71607a Add swift ring files check in prechecks
Precheck will fail when swift ring files do not exists.

Change-Id: I20e7c9dbe527015ac2b01e85907637feb0deacbc
2017-08-22 10:55:35 +00:00
Jenkins
a71aa61ea7 Merge "Use unified vars in task" 2017-07-12 01:56:12 +00:00
Bertrand Lallau
a9113fc466 Avoid launching "local" actions too many times
In order to speed up deployment time some "local" actions should be run
only once using 'run_once: True'.
This will decrease deployment time in case of multihost configuration.

Change-Id: I6015d772d35c15e96c52f577013b6e41197cb41a
2017-07-05 15:55:39 +02:00
Vladislav Belogrudov
0ffa770b83 Always create ResellerAdmin role for Swift
ResellerAdmin role should be created always when Swift is enabled
and not only for Ceilometer. The role is needed for normal users
to get administration rights for their Swift projects and is
required to pass DefCore (OpenStack Powered) certification.

Change-Id: I4faa63b8fae1814e382de2794301248cc0f4a90a
Closes-Bug: #1700729
2017-06-27 12:34:15 +03:00
Jeffrey Zhang
03e1b05f99 Use unified vars in task
Ansible task support vars directive, no need implement another one in
merge_config. This patch remove the vars directive in merge_config
action plugin.

Change-Id: I33648a2b6e39b4d49ce76eb66fbf2522721f8c68
2017-06-15 22:37:28 +08:00
Jenkins
3a68aee3ad Merge "Use auth vars for admin user" 2017-06-04 15:05:29 +00: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
shaofeng_cheng
9e158b7887 Fix create and associate error of resellerAdmin
Fix the following error:
openstack_swift_auth is undefined
unsupported parameter for module: project
unsupported parameter for module: role

Change-Id: Id60e3f06e90e708d9054b905bbfd28ff5450fa49
Closes-Bug: #1691388
2017-05-17 18:05:08 +08:00
Eduardo Gonzalez
e9bde0dcb9 Use auth vars for admin user
In someplace in the code admin user, project and domain name
are hardcoded.

This change use the correct variable defined at:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L278

Change-Id: I3a4c78d81733bf7a2f3c67d259ec5c5f5bb38d3f
2017-05-16 08:54:37 +00:00
Jenkins
2474ccd0aa Merge "Fix ceilometer meters for swift service" 2017-05-10 10:49:05 +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
shaofeng_cheng
a2568df906 Fix ceilometer meters for swift service
Enable Object Storage meters by ceilometer.
see
https://docs.openstack.org/project-install-guide/telemetry/draft/swift/install-swift-ubuntu.html

Change-Id: Ic80e02eacbe502280e09de6b845c0c7475273d6e
Closes-Bug: #1668826
2017-04-13 10:06:44 +08:00
Dave Walker (Daviey)
936722f01c Remove heka_socket vol and unwedge some containers
The presence of heka_socket:/var/lib/kolla/heka with
containers that log to /dev/log, such as nova-ssh cause a
wedge on starting as /var/lib/kolla/heka/log is never
created due to the removal of heka.

This means that ssh data, such as config and keys are never
sync'd and sshd is never started.

Change-Id: Ia561526e6caf82eebd18c6e31cbeb1738b9ff602
Closes-Bug: #1672207
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
2017-03-13 09:29:23 +00:00
Jeffrey Zhang
47762d4850 Fix the failure when running precheck after deploy
* Move the tasks to the role
* Skip the task when container is already running

Change-Id: I1990d4dd2a02efa2b3766329000aa23419e0ff17
Closes-Bug: #1670286
2017-03-07 06:57:16 +00:00
Jeffrey Zhang
38ad05a872 Remove unnecessary until in register.yml file
Change-Id: I1577cc3afef4dadd3a188c8ba749c9cdfad313ae
2017-02-04 14:38:54 +08:00
Jenkins
8884422f3d Merge "Refactor register.yml files" 2017-01-26 18:48:59 +00:00
Jeffrey Zhang
8155d74d8d Refactor register.yml files
Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Change-Id: I9a4a6b6523dee4b388513386b7d85d421f2b7b89
2017-01-26 17:10:27 +00:00
Jenkins
2b37e3b871 Merge "Add fluentd role" 2017-01-24 12:54:12 +00:00
zhubingbing
d3d4a933be Add fluentd role
* add fluentd role
* remove heka configure

Co-Authored-By: yangzb09 <yangzb09@qq.com>

Partially-Implements: blueprint add-fluentd-role

Change-Id: Ica804a99f5bb8b157f406299c5982b7b6283b3e3
2017-01-24 07:44:59 +00:00
xu.hongzhi
857a90cc31 Move swift precheck into its own role
Co-Authored-By: caoyuan <cao.yuan@99cloud.net>

Change-Id: If3a0a849e551b2b8973a343d1ea603ebb5840e28
Partially-implements: blueprint condition-pre-check
2017-01-16 21:22:17 +08:00
Duong Ha-Quang
b5d1e4b457 Fix placement of policy.json
Currently, policy.json is put in
"{{ node_config_directory }}/{{ service_name }}"
in target nodes.

Relocation policy.json to "{{ node_config_directory }}/{{ item }}"
with item is corresponding service compoment config directory.

Currently, the policy.json is copied to all services, but it
should be reviewed and left only in neccesary service
(at many cases, only API service needs that).

Redundant files will be removed in follow up patchset.

Change-Id: I0e997dccf4ec438c9c0436db71ec2fd06650f50d
Closes-Bug: #1639686
2016-11-29 16:00:09 +07:00
Eduardo Gonzalez
13e98d8e1a Pull swift-object-expirer image
Add pull task for object-expirer image.

Change-Id: Icc3cb3111e3b78545678e011f7321ba623ec85c2
Closes-Bug: #1643741
2016-11-22 17:41:00 +00:00
Jenkins
dbc881456b Merge "Custom policy files" 2016-11-04 13:42:55 +00: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
Eduardo Gonzalez
ef1fd6b8c0 Custom policy files
Allow operators to use their custom policy files.
Avoid maintain policy files in kolla repos, only copying
the files when an operator add their custom config.

Implements: blueprint custom-policies
Change-Id: Icf3c961b87cbc7a1f1dd2ffbfffcf271d151d862
2016-10-28 10:47:05 +01:00
Jeffrey Zhang
3e89f987c0 Add validate no new line at end of file
TrivialFix

Change-Id: I817aa52caf56b7d54b266e553db6db1ceb38b773
Signed-off-by: Jeffrey Zhang <zhang.lei.fly@gmail.com>
2016-10-19 17:17:06 +00:00
Jenkins
57203424c2 Merge "ansible: swift: Fix swift-object-expirer restart loop" 2016-10-14 18:08:12 +00:00
Otavio Salvador
9eb38405b7 ansible: swift: Fix swift-object-expirer restart loop
The swift-object-expirer is provided by the 'openstack-swift-proxy'
package and thus it is unavailable on swift-object image. This change
adds a new Docker image to fulfill this requirement and stop using
swift-object image in this case.

This image is needed while RDO does not fix the packaging. The issue
is being tracked in:

  https://bugzilla.redhat.com/show_bug.cgi?id=1382921

Change-Id: Idc7ee92d756d8923da2198ede33abf5ed1142041
Closes-Bug: 1630425
2016-10-11 14:56:18 -03:00
Jeffrey Zhang
fa856556d5 Remove do_reconfigure.yml file for all roles
do_reconfigure.yml is introduced to use serial directive. But we use
it in wrong. Now serial has moved to playbook file. So it is time to
remove the do_reconfigure.yml file

Closes-Bug: #1628152
Change-Id: I8d42d27e6bc302a0e575b0353956eaef9b2ca9fd
2016-09-27 15:04:00 +00:00
Bartłomiej Daca
27621351ac Repair swift reconfiguration
Change the conditions order in when statement.

TrivialFix

Change-Id: Ied9907ff25b66de3fd43502a920a88af8ff0cacd
Closes-Bug: #1625256
2016-09-19 18:46:13 +02: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
Duong Ha-Quang
5e35fc54a6 Port with_ loop variable syntax to Ansbile 2 (finish)
Migrate to full variable syntax in with_ loop
instead of bare variables for:

- cinder
- haproxy
- ironic
- magnum
- mistral
- mongodb
- murano
- swift
- watcher

TrivialFix
Change-Id: I3ef2e79053cf609aaa710e43ffd0adbc5a97565b
2016-08-18 17:45:52 +07:00
Stephen Hindle
cadf8afdcf Read GPT label using sgdisk rather than udev
The Ceph osd bootstrap/startup logic depends upon reading/writing
partition names.  Some older versions of udev have trouble reading these
(/dev/disk/by-label is missing).

To work around this, we shell out to sgdisk and scrape the partition
name data directly.

Co-authored-by: Paul Bourke <paul.bourke@oracle.com>
Closes-Bug: 1585185
Change-Id: I362b3f8e91de79687fc84e256996fbcaf303b6af
2016-07-07 10:26:34 +01:00
Ryan Hallisey
2da010a7b9 Make configurable the location where config files are merged
An operator may want to specify the location of custom config
files so that kolla can detect their location and merge
them with the default configs generated.

Partially implements: blueprint multi-project-config

Change-Id: Ibfb38d07a36dfa7fe25381adc34cc1d3cbe7d1e1
2016-05-23 03:23:06 -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
SamYaple
1f371e2717 Allow per node configuration with augments
This type of per node configuration is required to support things like
availability zones for nova. As always, if this file doesnt exist it
doesnt get used so this change is safe.

TrivialFix

Change-Id: Iff8172af522c2c96e5f2c173b24a5dfd4d522ed2
2016-03-17 17:18:00 +00:00
Serguei Bezverkhi
514da17605 Reconfigure for Swift
This implements reconfigure for Swift service. Fixes swift-rsyncd in
All-in-One deployment

Partially-Implements: blueprint kolla-reconfig

Change-Id: I82bfa3c73b7365bc3a0ea35d3fc102a3525ebd8c
2016-03-05 10:24:13 -05:00
Jenkins
91f3bb0395 Merge "Reconfigure for Swift" 2016-03-04 15:44:41 +00:00