82 Commits

Author SHA1 Message Date
Jeffrey Zhang
2947a95c29 Fix ceph log location
There are to parameter for ceph-mon/ceph-osd/radosgw, "-f" and "-d".

    -d run in foreground, log to stderr.
    -f run in foreground, log to usual location.

When log tin stderr, docker engine will collect the logs. It is useless
and we should write the log into file only. Then stop writing log to
stderr.

ceph-mon log location is controlled by "mon cluster log file".

Change-Id: I7883a4316420bc2bf4c772cb7248b663359f54b7
Closes-Bug: #1677237
2017-03-29 21:33:31 +08:00
Jenkins
9d0daa015a Merge "Enable sanity checks from kolla-ansible" 2017-03-09 17:31:51 +00: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
Christian Berendt
1b15dc24a4 Set default value for osds/osd_ids facts when facts not set
Change-Id: I8754de1ef89ac05cd8817456c4a8496ad71cf293
Closes-bug: #1668275
2017-02-27 15:16:00 +01:00
Jeffrey Zhang
10bc344308 Fix wrong module argument name for kolla_toolbox
should be module_extra_vars rather than module_extra_args.

Change-Id: I31479d54526cba1ae408126bae3cec06fb52deb8
Closes-Bug: #1666026
2017-02-20 00:15:05 +08:00
Jeffrey Zhang
430a9dedf3 Use new bootstrap and register method
Change-Id: I61aa70affc8ff98c7e57160de8da0df3d6be5929
2017-02-05 20:45:46 +08:00
Jenkins
d8180c52e1 Merge "Allow operators to use 'fallback mode' for Ceph disks" 2017-01-17 19:11:12 +00:00
Mauricio Lima
d53f27caea Move prechecks into its own role
To avoid many merge conflicts and re-works
* Panko
* Octavia
* Ceph
* MariaDB

Co-Authored-By: caoyuan <cao.yuan@99cloud.net>
Partially-implements: blueprint condition-pre-check
Change-Id: I3d2766d0d9f01ad4052731c7219a2d0635527ac5
2017-01-13 12:43:49 -03:00
Eduardo Gonzalez
a18174b3b4 Unify jinja syntax
Change-Id: I63197f8c5646e44a9a7287e644c904a1e227af23
2017-01-12 10:52:44 +00:00
Chao Guo
6b54299afe Fix wrong register in ceph reconfigure task
This causes reconfigure failure.

Change-Id: I5b43416dbc8118a120c8ae04a70f777ffefbc0c3
Closes-bug: #1653022
2016-12-29 09:06:22 +08:00
Paul Bourke
fecf719e59 Allow operators to use 'fallback mode' for Ceph disks
This change adds a variable to the Ceph role "kolla_ceph_use_udev",
which is True by default meaning no change to the current behaviour. If
set to False, it will fallback to tools such as sgdisk/blkid to parse
the disk info it needs, instead of using udev.

Change-Id: I88d7b73efe27f04bb1ba16d61e101fa14a9f0d81
Depends-On: I6ad7825cdb164498f3d02f2ae064c7c1c38e10d5
Closes-Bug: #1631949
2016-12-20 13:38:33 +00:00
Vladislav Belogrudov
25fcdfb986 Use default user group consistently
Default user group should be set much earlier in deployment
and should be used consistently accross all projects.

Change-Id: Id399f9ddebc903bb9c3eeb5a0ff6f33ca6d6828c
Closes-Bug: #1650501
2016-12-19 11:43:23 +03:00
junbo
d4f4134e35 Integrate ceph-rgw with keystone
this patch change ceph-rgw configuration and add object-store endpoint.

Co-Authored-By: zhubingbing <zhubingbing10@gmail.com>

Change-Id: I3ae4171c69bec52846c92a5e5618c12cf36d4409
Implements: blueprint radosgw-keystone-integration
2016-12-15 08:05:11 +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
Eduardo Gonzalez
f56d8e58ba Revert "updating-deprecated-ansible-modules"
check_mode option is included in Ansible 2.2.
Using in our playbooks mean that any other version before
Ansible 2.2 can be used

This reverts commit 529f202d00e4615caa1fcb447aaa47fde6aa1417.

Change-Id: I3af96290443d760346264e6d994fd2a44de65543
Closes-Bug: #1644828
2016-11-25 14:41:38 +00:00
gardlt
529f202d00 updating-deprecated-ansible-modules
* update ceph tasks
* update mariadb tasks
Closes-Bug: #1643633

Change-Id: Ib81789574843edba6e33394a7f66a2e8077075eb
2016-11-21 21:52:26 -06: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
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
Kevin Fox
08146dc3b6 Allow genconfig to work with kolla-kubernetes and ceph
TrivialFix

Change-Id: If3b975710425a88f5cc8df016a009e5e5b413ca5
2016-09-19 17:02:24 -07:00
Jenkins
6d03a05819 Merge "Fix permissions of tmp files" 2016-09-13 16:44:10 +00:00
Christian Berendt
924fbb6f7a Fix permissions of tmp files
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
2016-09-13 13:30:25 +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
Michal (inc0) Jastrzebski
0a50cb8889 Change ceph version to Jewel
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
2016-09-09 14:30:36 +00:00
Paul Bourke
ec40ed3cbb Add a check before wiping Ceph disks in bootstrap
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
2016-08-29 14:34:01 +01:00
Duong Ha-Quang
34975e291e Port with_ loop variable syntax to Ansbile 2
Migrate to full variable syntax in with_ loop
instead of bare variables for:
- ceph
- ceilometer
- glance
- heat
- horizon
- keystone
- mariadb
- memcached
- neutron
- nova
- rabbitmq

Change-Id: Ib925b4ecea47ac758a77739c9c7e140f06933b08
Partial-Implements: blueprint ansible2
2016-08-09 23:23:21 +07:00
Bartłomiej Daca
94410d23cd Change rgw frontend interface
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
2016-07-18 14:06:14 +02:00
Paul Bourke
a479afac4a Use inventory_hostname for Ceph bootstrap
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
2016-07-10 05:16:10 +00:00
Jenkins
0f9534bc23 Merge "Read GPT label using sgdisk rather than udev" 2016-07-08 15:22:24 +00:00
Jenkins
bb58665087 Merge "Revert "Fix radosgw 'rgw frontends' param"" 2016-07-08 09:58:46 +00: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
Paul Bourke
2d4161de63 Improve task names for Ceph
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
2016-07-05 16:06:40 +01:00
Dave Walker (Daviey)
d5d04587f1 Revert "Fix radosgw 'rgw frontends' param"
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>
2016-06-25 23:19:26 +01:00
Christian Berendt
2726f6edf2 Do not use bare variables in the ceph role
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
2016-05-27 13:55:37 +00: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
Francesco Vollero
a7d330d9e7 Fixed typos in Ansible files
Files affected:
- ansible/roles/ceph/tasks/bootstrap_mons.yml
- ansible/roles/neutron/tasks/deploy.yml
- ansible/roles/neutron/tasks/start.yml

TrivialFix
Change-Id: Ic4b624cfe0ae4d73b49e616319e9db2229931249
2016-05-18 08:33:15 +02:00
Jenkins
3f2a5bdadc Merge "Add a cluster_network interface when we use ceph" 2016-05-17 19:21:57 +00:00
weiyu
b071bb22c9 Add a cluster_network interface when we use ceph
Because of the consideration of security and performance, ceph community
recommend the use of two separate network public networks and cluster
networks. refer:
http://docs.ceph.com/docs/master/rados/configuration/network-config-ref/

DocImpact
Closes-Bug: #1582095
Change-Id: I8cb0e14f86c859820fbbb8af8f94ac8155338e13
2016-05-17 14:09:36 +08:00
Mauricio Lima
1a2fe93a95 Make Heka collect Ceph logs
Change-Id: Ibaa5f8ba600afafa111d2ef204ee9192b8babdfc
Closes-Bug: #1570529
2016-05-05 13:26:44 -04:00
Jenkins
1011b7cd24 Merge "map the host localtime to the container" 2016-05-03 19:12:15 +00: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
Carlos Cesario
819ae24b50 Fix radosgw 'rgw frontends' param
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
2016-05-02 08:32:04 -03:00
Jeffrey Zhang
f7066db4f0 Fix the Ceph reconfigure
Closes-Bug: #1563251
Change-Id: I0072c92d6c8160f868b4ab0ec08b11541d3f3401
2016-03-29 18:05:48 +08:00
Jenkins
ff3095f56e Merge "Allow external ceph journals and fix bootstrap" 2016-03-21 14:17:24 +00:00
Jenkins
fe1f7e29ce Merge "Fix 'optional' config.json values" 2016-03-21 12:39:46 +00:00
SamYaple
f4175f04d7 Fix 'optional' config.json values
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
2016-03-19 23:01:27 +00:00
SamYaple
5250a00781 Allow external ceph journals and fix bootstrap
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
2016-03-19 22:36:30 +00:00
SamYaple
6d0cd535d3 Allow user to choose filesystem for osd
Change-Id: I9c770a08219d2eead5ece8e3462157359cd920cb
Partially-Implements: blueprint ceph-improvements
2016-03-19 22:36:30 +00: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
SamYaple
8e3cc9ae1e Compact ceph-mon files
Long running clusters will see there monitor files grow to large sizes

TrivialFix

Change-Id: Id7961514895cc0a797e1dd30bf29a18d7137ea42
2016-03-13 16:38:14 +00:00
SamYaple
7b6fbdf41d Remove storage_hostname
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
2016-03-09 12:08:15 +00:00