Commit Graph

50 Commits

Author SHA1 Message Date
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
Serguei Bezverkhi
bb3079898b Reconfigure for Swift
This implements reconfigure for Swift service.

Change-Id: Ifa4f02fc39ca79a886d6fd85f87073c897a777eb
Partially-Implements: blueprint kolla-reconfig
2016-03-04 08:01:31 -05:00
SamYaple
57124620ab Fix Keystone v3 and Horizon
After our switch to keystone-manage bootstrap Horizon is not happy
due to v3 not being setup correctly. This patch fixes that

This also includes removal of unused variables (transforms them into
endpoint url variables)

TrivialFix
Change-Id: I1e04db8c24049f80e974c063f03068a2ab32a563
2016-03-03 15:44:53 +00:00
Eugene Bagdasaryan
790675be4f Sanity check for swift
This runs first sanity check for swift. Once
swift is deployed it checks list()

Change-Id: I613bf9f2893d66814863893ec5acde5aa252548d
Partially-Implements: blueprint sanity-check-container
2016-02-29 18:23:13 +03:00
SamYaple
d3cfb2052a Change kolla_internal_address variable
Due to poor planning on our variable names we have a situation where
we have "internal_address" which must be a VIP, but "external_address"
which should be a DNS name. Now with two vips "external_vip_address"
is a new variable.

This corrects that issue by deprecating kolla_internal_address and
replacing it with 4 nicely named variables.

kolla_internal_vip_address
kolla_internal_fqdn
kolla_external_vip_address
kolla_external_fqdn

The default behaviour will remain the same, and the way the variable
inheritance is setup the kolla_internal_address variable can still be
set in globals.yml and propogate out to these 4 new variables like it
normally would, but all reference to kolla_internal_address has been
completely removed.

Change-Id: I4556dcdbf4d91a8d2751981ef9c64bad44a719e5
Partially-Implements: blueprint ssl-kolla
2016-02-26 20:00:09 +00:00
Jeffrey Zhang
d26c259754 Add the default empty reconfigure.yml file to all roles
DocImpact

Partially-implements: bp kolla-reconfig
Change-Id: I9738e80960bcfbef18d1ef1b7942f81c45684e85
2016-02-25 09:32:53 +08:00
Paul Bourke
e09375a4ed Upgrade task for Swift
Based on the Nova upgrade patch and recommendations from Swift PTL John
Dickinson at
https://swiftstack.com/blog/2013/12/20/upgrade-openstack-swift-no-downtime/

Notes:

As part of this upgrade I have chosen to *not* migrate any data from the
old style swift_data container. This is because it was never intended to
be used in production; this fact is made clear in the docs.

In regards to testing, as of this patch we do not yet have an upgrade
task for the common containers (rsyslog and kolla-toolbox), so
attempting to upgrade swift will result in it failing to find the
kolla-toolbox. This will be true of any other upgrade until upgrade for
common is added. It can be worked around by deploying another role such
as keystone which will drag in the common role and start up
kolla-toolbox, after which Swift can be successfully upgraded.

Change-Id: I138556932e9bddcd595d94a3dcb69603268880ff
Partially-Implements: blueprint upgrade-kolla
Implements: blueprint upgrade-swift
2016-02-21 10:12:58 +00:00
Éric Lemoine
88633684a1 Make Heka collect Swift logs
Partially implements: blueprint heka
Change-Id: I893a0c4a4cab9d4d98821634ddd2ff67015c4e3f
2016-02-19 21:56:05 +00:00
Jenkins
6e622fa534 Merge "Move socket binding to named_volume" 2016-02-17 02:06:26 +00:00
SamYaple
690e6853de Move socket binding to named_volume
The extend_start.sh script for rsyslog is removed as it is no longer
needed. Docker no longer binds to /dev/log or /run/kolla/log

Closes-Bug: #1544545
Change-Id: Ic0a323a26ee4e9e15baf4598285844a8a4955f23
2016-02-16 14:42:41 +00:00
Dave McCowan
1cedf77f19 Use variables to specify http or https when constructing URLs
To allow for TLS to protect the service endpoints, the protocol
in the URLs for the endpoints will be either http or https.

This patch removes the hardcoded values of http and replaces them
with variables that can be adjusted accordingly in future patches.

Change-Id: Ibca6f8aac09c65115d1ac9957410e7f81ac7671e
Partially-implements: blueprint ssl-kolla
2016-02-15 09:48:58 -05:00
SamYaple
e8d66766f0 Fix gate for docker 1.10
Docker 1.10 has broken the gate and this patch will correct that
breakage.

The issue comes with rsyslog. Due to a commit in Docker 1.10 [1] we
must change the way we get the log socket for rsyslog. The /dev/
folder will no longer populate as we used it. So instead we simply
make a new socket in a path we control and share that to the correct
location in the containers.

Additionally, adjust the gate for new Docker daemon.

[1] https://github.com/docker/docker/pull/16639
Partially-Implements: blueprint kolla-upgrade
Change-Id: I881a2ecdf6d7b35991e1d38a3f3e60d022d6577f
2016-02-06 06:48:53 +00:00
SamYaple
508f3863cc Fix two missing toolbox references
Two patches merged that did not have teh correct name for
kolla_toolbox

TrivialFix

Change-Id: I09e230e29cff496247c32bf227715bfb7caa0a95
2016-02-05 17:24:39 +00:00
Jenkins
b891afd64c Merge "Rename kolla_ansible to kolla_toolbox" 2016-02-05 15:04:37 +00:00
SamYaple
80b7266ed1 Rename kolla_ansible to kolla_toolbox
This change is needed for clarity. We have a kolla-ansible script.
We have a kolla-mesos repo. We plan to have a kolla-ansible repo.
Already we have had far too much confusion about whether we are
talking about the container or the project. Naming this kolla-toolbox
eliminates all of that confusion and its probably a bit more accurate
of a name too.

Closes-Bug: #1541053
Change-Id: I8fd1f49d5a22b36ede5b10f46b9fe02ddda9007e
2016-02-02 18:12:15 +00:00
Qiu Yu
b209da1306 Fix Swift for multinode P+ACO deployment
Current Swift playbook is based on the preassumption of AIO setup.
However, if one goes with default multinode setup
(ansible/inventory/multinode), it follows the P + ACO deployment model,
which proxy-server runs on controller nodes where ACO
(account/container/object services) run on storage nodes.

It will break because swift proxy-server no longer has access (it
shouldn't have) to /srv/node path. This change ensure disk mounting part
only happens on storage node. It also moves chown from proxy-server
Dockerfile to rsyncd because no matter with PACO, P+ACO or P+A+C+O
model, rsyncd is always running on each storage node.

Change-Id: I3aa20454902caa9c84d3901bb91e4e4c93ac5f34
Partially-Implements: blueprint swift-physical-disk
Closes-Bug: #1537544
2016-02-02 02:14:31 +08:00
Jenkins
c755a62ee0 Merge "Fix missing swift proxy server image in pull action" 2016-02-01 09:41:32 +00:00
Qiu Yu
d1d8308b51 Fix missing swift proxy server image in pull action
Add back missing swift proxy server image which was removed in Swift
shared image change.

TrivialFix

Change-Id: Icf13d4a1550192f73e266a6c6aa74f604ee4e77a
2016-01-30 06:00:59 +08:00
Qiu Yu
a0fc2bd644 Detect and use physical disks for Swift storage
This change let Swift detect and use physical disk for storage. The
old named volume for storage isn't really useful for any serious setup.
Also updated swift-guide.rst accordingly.

Change-Id: I4f577b7b69d8bcd8b3961500946241c65a16db22
Partially-Implements: blueprint swift-physical-disk
2016-01-30 04:03:55 +08:00
Jenkins
1360c9f776 Merge "Update ring builder filenames in Swift config" 2016-01-27 10:20:19 +00:00
Jenkins
6c35db3683 Merge "Fix swift.conf.j2 so that merge_configs can recognize" 2016-01-26 19:42:56 +00:00
Qiu Yu
40a17b559e Update ring builder filenames in Swift config
Update Swift config playbook to use correct name of Swift ring
builer file. Those are the names generated if one follows document in
doc/swift-guide.rst

TrivialFix

Change-Id: If1d713e3cccc851ef6f2cc3cb5a736b43fa26957
2016-01-27 02:24:03 +08:00
Michal Jastrzebski
375965ddfb Add stub upgrade.yml
After introduction of pull action and turing every main.yml into
{{action}}.yml we lost ability to perform upgrade

Change-Id: Ie9fa2cd083b061033abc733fba53d54f9c55e393
Fixes-Bug: #1538210
2016-01-26 11:52:19 -06:00
Jenkins
b7fea50b65 Merge "Share the same image between swift services" 2016-01-25 17:07:29 +00:00
Qiu Yu
654fe9e585 Fix swift.conf.j2 so that merge_configs can recognize
This change fixes the problem that `swift_hash_path_suffix` and
`swift_hash_path_prefix` not picked up because of the relative path
merge_configs can not recognize.

Change-Id: I4d93269babe71e51ba7949b719f753c1e1b34e3c
Closes-Bug: #1537331
2016-01-23 16:25:50 +08:00
Jeffrey Zhang
1cf92be7b2 Share the same image between swift services
Get rid of swfit children images by share the same image in the swift
account, swift object and swift container services

Closes-Bug: #1534476

Change-Id: I929689f93b56396a41b19fda46e4679c4de84ca1
2016-01-15 15:23:09 +08:00
Jeffrey Zhang
d33931ca10 Do not start and pull rsyncd on swift-proxy-server
TrivalFix

Change-Id: Ide5bd0103048e9ed096e8c77d2214855c2d65153
2016-01-09 19:28:22 +08:00
SamYaple
71ec2de0cb Allow swift role to pull images
Change-Id: I9e1ec355148bf6d09d78de80ec2ebfad55287033
Partially-Implements: blueprint pre-pull-images
2016-01-06 14:44:14 +00:00
SamYaple
8af400733d Convert to named volumes instead of data container
This intentionally leaves out rabbitmq from this patchset. It will
require additional work to remove its data container

UpgradeImpact
Partially-Implements: blueprint docker-named-volumes

Change-Id: Id68b8e43a3c077ef4f4f4d67ea34d0692e66eef7
2016-01-03 16:44:44 +00:00
SamYaple
05e5437fca Convert Swift to kolla_docker
Change-Id: I9f0518bd580949802f70b8bd725533eb467dc713
Partially-Implements: blueprint kolla-docker-module
2015-12-31 16:38:56 +00:00
SamYaple
ed82afa8e9 Simplify config creation
Convert config creation from a playbook to an action_plugin. This
reduces the complexity and confusion while retaining the same augment
structure and flexibility.

This allows us to remove the 0-byte files as requirements. They will
still be used if they are present (this means we require additional
documentation around them).

DocImpact
Closes-Bug: #1528430
Change-Id: I2c789f6be9f195c7771ca093a6d59499564b4740
2015-12-22 04:28:53 +00:00
Sam Yaple
347730cec8 Remove vip for rabbitmq
Adjust all the configs to list all the rabbitmq hosts rather than
running rabbitmq through the VIP. This is made possible by clusterer
which has already merged.

Change-Id: I5db48f5f10ec68f4c8863a29bc13984f6845a4f9
Partially-Implements: blueprint rabbitmq-clusterer
2015-11-05 15:43:20 +00:00
Sam Yaple
b2ac6e80cd Add tty to containers
sudo requires a tty to function by default on centos. Instead of
tweaking the sudo conf we can just add a tty. This has the added
advantage of making the containers more friendly if you have to
`docker exec -i <container> bash` into them.

Change-Id: If97a02ca1d37c243a787d98ade54bde8d641aecd
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-14 10:54:33 +00:00
Jenkins
4fa81c88a3 Merge "Also copy over Swift builder files for rings" 2015-10-14 01:58:09 +00:00
Sam Yaple
c5be228be8 Bump ansible to 1.9.2
Ansible 1.9.2 contains the fix needed for docker-py >1.2.0

This is needed for some gate reasons, but it is also a good version
bump because it fixes a few issues with delegate_to.

Change-Id: Iafbabb3b0232620849d0548c5cd9d8d316c2b0f3
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-13 15:13:34 +00:00
Paul Bourke
b4fc9cff07 Also copy over Swift builder files for rings
These are required for certain commands such as inspecting the state of
the rings on a node.

Change-Id: Iaefb252503320d5b4fcefe12f5d43f0aaf25cad6
backport: liberty
Closes-Bug: #1491779
2015-10-13 11:41:45 +00:00
Paul Bourke
6d2bc05325 Copy over missing swift-rsyncd JSON config
Change-Id: I3ab009699a1fb88ae7add9dde03dd164f8f727c3
backport: liberty
Closes-Bug: #1504207
2015-10-08 17:07:04 +00:00
Paul Bourke
030bb04cb9 Fix incorrect filename in swift-account-reaper ansible task
Change-Id: I36d8455e904732195edcd3862d4b4445346e1bc0
backport: liberty
Closes-Bug: #1504204
2015-10-08 17:06:16 +00:00
Sam Yaple
94162bd08f Bring Kolla inline with FHS
This brings Kolla images inline with FHS and should make finding
locations of things more consistent and reliable with the linux world
at large.

Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
Closes-Bug: #1485742
2015-10-06 03:30:53 +00:00
Michal Jastrzebski
16341f1eec Swift logging to rsyslog
Configure swift to use rsyslog container as logging mechanism

Change-Id: Idef2904976651e8f5bc36d406259d9dc487949dd
Implements: bp logging-container
2015-09-25 00:51:26 +02:00
Sam Yaple
3d81353706 Replace config-external - swift
Change-Id: I785cb53d64cbf8dbc0fad97882f9fd0307982e5d
Partially-Implements: blueprint replace-config-external
2015-09-25 12:58:44 +00:00
Jenkins
31594eef5b Merge "Add missing Swift services, also ansible configuration" 2015-09-13 20:09:59 +00:00
Paul Bourke
8fa96a1516 Add rsyncd image and related Ansible for Swift
Swift replicator services require rsync to function. This patch adds a
new container which is included automatically on each of the Swift
storage nodes.

Change-Id: If10fbe610ca4df21ef0f2c7a1025035d627cb4ba
Partial-Bug: #1477993
2015-09-07 12:16:35 +00:00
jamesmmccarthy
91fc423a01 Add missing Swift services, also ansible configuration
DocImpact
Closes-Bug: #1477993
Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: Ifeab0fec11889cb0c90a56a6211dbdd27a40f3d9
2015-09-07 10:38:00 +00:00
Paul Bourke
515cf2af68 Implement Ansible role for Swift
This currently deploys the core services for a working Swift which are
account/container/object/proxy.

I've included some basic docs in docs/swift-related.rst, which gives
usage instructions and more context on this patch. These are really to
give an overview of the state of Swift in Kolla as of now, so unless
there's some major inaccuracy there please don't nitpick it.

Change-Id: Id0c54be3e24c46459c40b16b7020f05bddbe1b19
Implements: blueprint ansible-swift
2015-08-26 10:30:29 +00:00