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
When running kolla-ansible as non-root users the tmp files will
be created with become user as owner and mode 0600. This way the user
running kolla-ansible is not able to read the generated files. This
is necessary because of the use of the lookup method, which will
not run as become user.
TrivialFix
Change-Id: If86d114c05a9b2e7fa240718611d78e93100ebdf
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
This patch changes version of ceph from hammer to jewel. Also removed
versionlock as it seems we don't use it in ubuntu, and actually might be
risky if we miss security patch on ceph.
Change-Id: Ib8f88c2f914a4b635e59a509fa0194605eb73165
Implements: blueprint upgrade-ceph-to-jewel
An unwitting user may apply the KOLLA_CEPH_OSD[_CACHE]_BOOTSTRAP label
to a partition assuming it will only use that partition for Ceph, and
end up wiping out their disk.
This change adds a layer of checking to this scenario to try and help
avoid a disaster scenario.
Closes-Bug: 1599103
DocImpact
Change-Id: Ibb9fb42f87a76bc02165ec0b93b60234bad8747a
Change the rgw frontend interface (from storage_interface to
api_interface) to make it consistent with the one specified in the
haproxy configuration.
Closes-Bug: #1603885
Change-Id: I8537f05575382faeac3ab915feaaad4af9b29565
The inventory_hostname is more reliable than ansible_hostname for the
way we use it here. If the deploy node cannot resolve the hostname of a
target node (the operator is using IP addresses in their inventory), the
bootstrap will fail with:
"Host: x.x.x.x, Task: ceph : Fetching Ceph keyrings, Status:
unreachable, Message: SSH Error: data could not be sent to the remote
host. Make sure this host can be reached over ssh"
Closes-Bug: 1599138
Change-Id: Ic76e4baf8c642c59bbe81e6671ac97bcbb57d470
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
The task names while bootstrapping Ceph OSDs and cache OSDs were
identical making them harder to distinguish in the Ansible output.
TrivialFix
Change-Id: I0228221a09bdaaba46b6280b6e1be9920ad13598
The original commit changes ceph-rgw to listen on all
addresses (0.0.0.0:6780), which means that it listens on
both the storage_interface address and the VIP.
This makes it incompatible with having HAProxy on the same
host.
This reverts commit 819ae24b50ffda74e5b3a72f4c26321e7c9696cb.
Change-Id: I6cba31cc942a0be9f65d2f4847c8c2bc364a9c1e
Closes-Bug: 1596229
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
This will resolve the following deprecation warning:
Using bare variables is deprecated. Update your playbooks so
that the environment value uses the full variable syntax. This
feature will be removed in a future release.
Partial-bug: #1586404
Change-Id: I9086d3f9e7904836e72e6df2fefaa084e5229f7e
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
Fix 'rgw frontends' param on ceph-rgw container.
After apply this patch the service starts
http://paste.openstack.org/show/495786/
Closes-Bug: #1576817
Change-Id: I434ca2a72c035f457bd50ef5de20e62f89974e0c
These values are optional only when the services are not enabled.
If the file does not exist we should not warn, but rather inform.
Ceph-mon is an exception here since its bootstrap process means
the files may or may not exist initially.
TrivialFix
Change-Id: Ic02bece76d480e99deecf612036f37abb5604135
This allows us to specify external journals for osds which can greatly
improve performance when the external journals are on the solid-state
drives.
The new lookup and startup methods fix the previous races we had
preventing osds from being created properly.
This retains the same functionality as before and is completely
compatible with the previous method and labels, however this does set
new labels for all new bootstrap OSDs. This was due to a limitation
in the length of the name of a GPT partition.
Closes-Bug: #1558853
DocImpact
Partially-Implements: blueprint ceph-improvements
Change-Id: I61fd10cb35c67dabc53bd82270f26909ef51fc38
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
This was an attempt to get storage_interface to work properly but that
work will not be completed and functional this cycle. There are design
topics that need to be discussed about it that were brought to light
by the RAX gate failing for it.
TrivialFix
Change-Id: I65579f9e0e0dcf3fa51c0ea031ff474145457c40
The storage hostname is used in many conf files all over the place and
should be registered upon each run for every service
TrivialFix
Change-Id: I1d5a20cb6d51cee9f529cf2e1fb144158f7718a9
Ceph is pretty easy to work with. Upgrade mons, then osds, then rgws
We want to eventually make these serial values configurable, but for
now due to cephs delicate distributed network nature it is safest to
only run 1 change at a time.
Change-Id: Icc721ab3651379c28fee853ca95f9e3ddf102998
Partially-Implements: blueprint upgrade-kolla
Implements: blueprint upgrade-ceph
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
Add bootstrap label to all bootstrap containers to ensure that when
the a new container is launched a difference is seen between it and
the bootstrap container since we cannot rely on ENV variables for
this. This only affects mariadb at this stage, but it is needed to
ensure rabbitmq works when we switch to named volumes.
Change-Id: Ia022af26212d2e5445c06149848831037a508407
Closes-Bug: #1538136
Since the fetch script fetched _all_ keyrings from the ceph-mon
container, the ceph-mon container must contain all keyrings. This
setup works AIO but was broken on multinode because the ceph-mon
container did not have the radosgw keyring. This issue affects every
multinode install regardless of using the radosgw or not.
TrivialFix
Change-Id: Ie416de1a5275862da6d77ef0dd174e85e499fc0f
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
Ceph-mon bootstrap container shares the same name of `ceph_mon` with
real ceph-mon service. When bootstrapping, it will sleep forever for the
purpose of distribute rings. Later on, when starting real `ceph_mon`
service, kolla_docker module will take bootstrap container as real one
because bootstrap container has a super set of env variables and
kolla_docker doesn't do strict comparing of env variable items.
This change follows the pattern of other bootstrap containers and rename
to use `bootstrap_ceph_mon` to avoid conflict.
Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: I0082820900928c42f9cc778ffd705980fea9ad1c
Closes-Bug: #1535140