56 Commits

Author SHA1 Message Date
Marcin Juszkiewicz
96b6e4e1db ceph-base/dind: switch to btrfs-progs package
Starting with 4.4.1 release btrfs-tools were renamed to btrfs-progs so
*-tools package became transitional one.

Next stable Debian release will not have 'btrfs-tools' package at all.

Change-Id: I188eaad233c1dbdbfd1c115e02b0e1c66e307c20
2018-10-23 12:49:47 +02:00
Marcin Juszkiewicz
646e7de717 ceph-nfs: Debian got nfs-ganesha in backports - use them
Change-Id: Idf3c07384848eb54bca4595e50034bf980a7f77c
2018-10-10 10:09:23 +02:00
Marcin Juszkiewicz
7826ba2984 ceph: stick to luminous on Ubuntu (in proper way)
Previous attempt broke Debian builds.

Pinning Ceph packages instead of giving version during install.

Change-Id: I791e479ba265ba61ffd882da18f85cdbece67e55
2018-09-27 18:05:22 +09:00
wangwei
78001f06a7 Fix ceph version in ubuntu
The ceph version supported by kolla is now luminous, but the latest
ceph version of ubuntu's apt source is mimic, so there will be
problems with ceph deployment.
This patch solves this problem by specifying the version of the ceph
package installed.

Change-Id: Ibea3498589b6c3c1512e558919c6ea00c95686cb
Closes-bug: #1793667
2018-09-21 16:36:53 +09:00
wangwei
0f14b3d7e0 Fix bluestore disk naming format in kolla
The current bluestore disk label naming is inconsistent with the
filestore. The filestore naming format is that the disk prefixes
belonging to the same osd are the same and the suffixes are
different.

This patch keeps the bluestore's disk naming as well.

Change-Id: I090cf055ebedc555b5ada35e140b7a7bb2a4cf8f
2018-08-27 16:11:08 +09:00
tone.zhang
7a93e1451a Allow Kolla Ceph to deploy bluestore OSD with 4 partitions
Enhance the deployment of Kolla-Ceph bluestore OSD.

Deploy bluestore OSD including up to 4 partitions:
* one partition is for bluestore OSD information
* one partition is for bluestore block
* one partition is for bluestore block.wal
* one partition is for bluestore block.db

Deploy bluestore OSD deployment with LOOP devices.

Partially-Implements: blueprint kolla-ceph-bluestore

Change-Id: I00eaa600a5e9ad4c1ebca2eeb523bca3d7a25128
Signed-off-by: tone.zhang <tone.zhang@arm.com>
2018-06-20 14:16:30 +08:00
Tone Zhang
291ba252a5 Allow Kolla Ceph to deploy bluestore OSDs in Kolla
Support Kolla Ceph to deploy blustore OSDs. With the patch, Kolla
Ceph can deploy bluestore OSDs on ONE, TWO or THREE storage
devices.

Before deploy bluestore OSD, please prepare devices. The detailed
Please refer to [1] for devices initialization.

extend_start.sh: initialize and start bluestore OSD

find_disk.py: search the devices for bluestore OSD

[1]: specs/kolla-ceph-bluestore.rst

Partially-Implements: blueprint kolla-ceph-bluestore

Change-Id: I832f490de63e1aeb68814697cda610a51b622c1f
Signed-off-by: Tone Zhang <tone.zhang@arm.com>
2018-06-07 13:35:46 +08:00
Jeffrey Zhang
14374e715d Bump Ubuntu base image to 18.04
Ubuntu 18.04 has been released. We need upgrade to it this cycle.

Changes made in this patch

- Bump ubuntu repo from xenial to bionic. Some repos do not have bionic
  packages, so still using xenial repos.
- Drop mariadb, percona and nfs-ganesha repo, because these packages are
  already provided by Ubuntu official repo.
- Since qdrouterd does not have bionic repo and xenial packages does not
  work on Ubuntu bionic, just add it into ignore image list.
- Use python-rtslib-fb and targetcli-fb rather than python-rtslib
  and targetcli
- use xen-utils package name rather than with package version one.
- Seems unsigned repo won't work on Ubuntu bionic, stop using infra
  mirrored unsigned repo in gate building job.

Needed-By: https://review.openstack.org/568728
Implement blueprint: ubuntu-bionic
Change-Id: I4e3b0ca669cfbf6316bf591f2d8428fa1a0d6182
2018-05-26 00:24:30 +08:00
Jeffrey Zhang
2222355d25 Add cap mgr 'allow *' for ceph admin key
Some ceph cluster commands require this caps

Change-Id: Idfa19667f1fb83f2cb89712c594513188d859359
Closes-Bug: #1750967
2018-02-22 14:50:38 +08:00
caowei
d69cc8e88b Add ceph-nfs container
Change-Id: I06325d4601128a0b5a2235370fa44012427c29e3
Implements: blueprint ceph-nfs-container
2018-01-19 17:22:56 +08:00
Jeffrey Zhang
479f26d352 Bump to ceph luminous
Add ceph-mgr images

Change-Id: I875f84012a92d4f8b9dcb212d917cf61167270b8
Implements: blueprint ceph-luminous
2017-12-05 16:33:16 +08:00
Jawon Choo
31259fa595 Override image's meta info.
centos based images have wrong label info,
these changes fix own image's name and build-date.

Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c
Closes-Bug: #1680341
2017-05-03 11:08:17 +09:00
Marcin Juszkiewicz
a2448f4933 ceph: take care of ceph-fuse package availability
'ceph-fuse' package is not available for all architectures.
In Debian/Ubuntu 'ceph-fuse' package is built only for x86_64
architecture. CentOS lacks 'ppc64le' package.

Partially-Implements: blueprint multiarch-and-arm64-containers

Change-Id: I06cea15166bee77dca7b418e85d3a4080892068e
2017-04-24 14:06:24 +02:00
Chen
8c463a47a9 Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2
Use LABEL instruction instead of MAINTAINER (deprecated) instruc-
tion as suggested by Docker's official dockerfile guide.
docs.docker.com/engine/reference/builder/#maintainer-deprecated

Closes-Bug: #1683652

Change-Id: Ie87a1ddf31aefcd0b623fd2837d78de420e76898
2017-04-20 16:50:05 +09:00
Marcin Juszkiewicz
69fef5cd59 debian: enable all images enabled for Ubuntu
Debian support is not maintained in Kolla so it got a bit behind Ubuntu
one. This changeset enables Debian for all images. Jessie (even with
backports) may be too old for some images though.

Also unify distro check to ['debian', 'ubuntu'] to keep alphabetical order
like it is done for RPM distributions.

Partially-Implements: blueprint multiarch-and-arm64-containers

Change-Id: I056233fbfa277e0e2360c07c3f80d9558c554357
2017-04-04 22:48:18 +02:00
Eduardo Gonzalez
623e54da37 Alphabetize packages
Some images have packages sorted alphabetically and some not.
Unify common style between all images.

Change-Id: I906ed89c10b12886665618752f525ba71d83d991
2017-03-28 16:45:16 +01:00
Jeffrey Zhang
e5903d5fa9 Remove include_header and include_footer in all Dockerfiles
include_header and include_footer parameter is already removed, remove
them in all Dockerfiles.
Add missing footer block.

Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2017-02-05 10:44:48 +08:00
Kevin Fox
679a507f6e Add ceph fs containers
This PS adds containers for cephfs support. Including the ceph-mds
and fuse cephfs filesystem.

Change-Id: Ie270d6bbe08b608cfdba1bc378e9624f7fb3e791
2017-01-23 11:34:23 -08:00
Sam Yaple
58eee09c15 use static uid/gid in images
This centralizes all user and group creation into a single source. This
will fix any current and furture uid/gid mismatches (such as with
nova-libvirt).

In the process, we also unify users between the distros in a standard
way. The users in the following containers change from thier defaults:

Ubuntu: _chrony user is now chrony
Ubuntu: memcache user is now memcached
All: qemu user is used for ownership and socket permissions

All uid and gid numbers are customizable via kolla-build.conf

Co-Authored-By: Kris Lindgren <klindgren@godaddy.com>
Change-Id: I120f26ab0683dc87d69727c3df8d4707e52a4543
Partially-Implements: blueprint static-uid-gid
2017-01-17 09:02:21 -03:00
Jeffrey Zhang
6ef486fbff Remove footer block and variable in *-base images
Change-Id: I39aa88489f744f779150695f3f55ef80d42e1c61
Closes-Bug: #1653247
2017-01-05 22:05:29 +08:00
Christian Berendt
5cd30d4914 Remove Fedora support
Closes-bug: #1616387
Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-11-03 10:50:22 +01:00
Jeffrey Zhang
e757eff899 Install the required packages for ceph-base image
Ceph need use mkfs.ext4, mkfs.btrfs and mkfs.xfs command.

Closes-Bug: #1626601
Change-Id: Ifbf8805afd7388335bbb51075ff76182f3d201b3
2016-09-22 14:58:54 +00:00
Jeffrey Zhang
73a39db326 Fix permission for /var/log/kolla folder
Docker will change the name volume folder permission to image already
set. /var/log/kolla is not created and well configured in image.

This patch set creates and configures proper permission /var/log/kolla
in base image.
This patch set also fixed the ceph image by adding ceph user to kolla
group.

TrivialFix

Change-Id: Ib5ef0187e90de2699b3cda31e819b4babb07e0af
2016-09-22 01:33:47 +00:00
Paul Bourke
b41247c656 Add header blocks to all Dockerfiles
Change needed to add header blocks to all Dockerfiles, similar to the
base.

Use case is to easily run something before packages are installed, e.g.
to COPY a local rpm in that can be added to the package list.

Change-Id: I1bbfdf0b762da0a392aa8bf47781315b45377bee
Closes-Bug: 1618969
2016-09-13 16:53:31 +01: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
Shaun Smekel
a9d08726f5 Handle empty package list for install_packages
Currently if the install_packages macro is run with an empty
package list, it will add a yum or apt-get command with no
packages listed.

This bug fix aims to omit this line when no packages have
been given, or, the operator wants to use the "_override" /
"_remove" functionality to disable all packages being
installed in a Dockerfile.

Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: Ifaaaebfccc3adb0f2f68a35ac08e59378bc87fdb
Closes-bug: 1612446
2016-08-19 10:49:03 +00:00
Eduardo Gonzalez
304c69a91f Customizations for Ceph
This patchset contains customization of Dockerfile of Ceph
containers

Change-Id: I20bc27f2c4c6025ea35c8b48c40aee9919553254
Partially-implements: blueprint third-party-plugin-support
Signed-off-by: Eduardo Gonzalez <dabarren@gmail.com>
2016-08-08 17:09:01 +02:00
Jeffrey Zhang
d4269334dd Use the disk size as the osd weight when osd_initial_weight is auto
In most of case, the disks used by ceph have different size. Use the
default value 1 may block the ceph when one disk is full. Use the disk
size as osd weight will more reasonally.

TrivialFix

Change-Id: Ib875c7289188cbb9380355baf0c8048f1eb09332
2016-06-29 23:14:51 +08:00
Swapnil Kulkarni (coolsvap)
435b21b90d Update ubuntu dockerfiles for formatting
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe
Closes-Bug: #1569417
2016-05-26 04:09:22 +00:00
Mauricio Lima
1a2fe93a95 Make Heka collect Ceph logs
Change-Id: Ibaa5f8ba600afafa111d2ef204ee9192b8babdfc
Closes-Bug: #1570529
2016-05-05 13:26:44 -04: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
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
SamYaple
3b65e49930 Add ceph wait before bootstrap
This will make sure ceph has a quorum and the cluster is functional
before attempting to use it. We also make sure udev has time to create
its links by looping a few times. This resolves the races found in the
bootstrap process

TrivialFix

Change-Id: Ia4624916feb5c80b2a067e5a62c176c1a5dea460
2016-03-09 11:55:39 +00:00
SamYaple
1e2dfad50b Switch ceph to use storage network
Ceph was not properly using storage network.

TrivialFix

Change-Id: Ibf3da5d19cd2ca874d251b455a7eb856154fc3f7
2016-02-24 17:19:52 +00:00
weiyu
6a38a9fe75 reset $(hostname) to $(hostname -s) in ceph extend_start.sh
$(hostname) is Ceph Monitor name in extend_start.sh,
{{ ansibe_hostanme }} is Ceph Monitor name in ceph.conf.
$(hostname) not always equal to ansible_hostname , that
makes ceph_mon container can't start.

Closes-Bug: #1538870
Change-Id: I312bf8d74c855aa4c72f12285e3092df96f60048
2016-01-28 12:37:17 +08:00
Jenkins
bb12f82c70 Merge "Rename ceph-mon bootstrap container to avoid conflict" 2016-01-21 19:05:13 +00:00
SamYaple
af0d73ea38 Rename ceph-mon bootstrap container to avoid conflict
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
2016-01-17 23:20:54 +00:00
Andrey Shestakov
1a368c9134 Add RadosGW container
Implements blueprint radosgw-container

Change-Id: Idc88a67a0979be626d3eaa9b2b9a527010aa2006
2015-12-29 12:49:03 +00:00
Swapnil Kulkarni (coolsvap)
59a1c8b9fb Remove hardcoded MAINTAINER in Dockerfiles
Added new option in kolla-build.conf

Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56
Closes-Bug:#1514304
2015-11-23 11:03:47 +00:00
Sam Yaple
b27880aa77 Automate setting up a cache tier
Introduces a new flag to bootstrap cache devices

DocImpact
Partially-Implements: blueprint ceph-improvements

Change-Id: I09b5a0d5c61b3465237e5f01dc10120725561cd3
2015-10-22 10:51:44 +00:00
malei
bdda9e40ea Fix typos in docstrings:
Change 'formating' to 'formatting'
change 'seperate' to 'separate'

Change-Id: I3093461c91cc71654c3ba86d7d662259262c09f5
2015-10-20 17:23:05 +08:00
Steven Dake
1353538644 Make Ceph work for RPM based distributions
Ceph packages need to be installed in nova, glance, and cinder.
Once that is done, Ceph works like a champ!

Change-Id: I296da1d04d0c1bcb729f22e65e432d53d561b49c
backport: liberty
Closes-Bug: #1505549
2015-10-13 21:48:17 -04:00
Sam Yaple
cb4e875ae1 Common start.sh
The majority of the start.sh code is identical. This removes that
duplicate code while still maintaining the ability to call code in a
specific container.

The start.sh is moved into /usr/local/bin/kolla_start in the container

The extend_start.sh script is called by the kolla_start script at the
location /usr/local/bin/kolla_extend_start . It always exists because
we create a noop kolla_extend_start in the base directory. We override
it with extend_start.sh in a specific image should we need to.

Of note, the neutron-agents container is exempt from this new
structure due to it being a fat container.

Additionally, we fix the inconsistent permissions throughout. 644 for
repo files and the scripts are set to 755 via a Docker RUN command to
ensure someones local perm change won't break upstream containers.

Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad
Closes-Bug: #1501295
2015-10-06 03:30:26 +00:00
Jenkins
e69571eeb3 Merge "Convert ceph to json" 2015-09-28 11:26:26 +00:00
Jenkins
6a622ec82c Merge "Implement a install_type and install_metatype" 2015-09-28 10:49:53 +00:00
Sam Yaple
83d195249e Convert ceph to json
Remove ceph debug info and unused partuuid

Change-Id: Ifbe9890979ee666d7e43a04376f36c41ae2d8add
Implements: blueprint ceph-container
Partially-Implements: blueprint replace-config-external
2015-09-28 10:35:52 +00:00
Jenkins
aadbbcbee0 Merge "remove set_configs" 2015-09-28 10:34:58 +00:00
Jenkins
762b24cc1a Merge "Remove quotes from subshell call in bash script" 2015-09-28 10:26:38 +00:00
Steven Dake
0e99b69de4 Implement a install_type and install_metatype
This prepares for the RHEL OSP implementation by making the build
tool convert all binary-* into an install_type of binary and * into
an install_metatype variable substitution inside the Dockerfiles.
Further binary-* is substituted as install_name to enable proper
building only.

Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f
Partially-Implements: blueprint rhel-based-image-support
2015-09-28 03:16:48 -07:00