Commit Graph

54 Commits

Author SHA1 Message Date
Nathan Cutler
67de197ce5 buildpackages/make-rpm.sh: adjust Source0 spec file line on SUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-09-05 21:42:53 +02:00
Nathan Cutler
29671063f9 buildpackages: use unadulterated make-dist
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-09-05 21:33:21 +02:00
Nathan Cutler
44d9acb677 buildpackages/make-rpm.sh: use /etc/os-release
The lsb_release binary is deprecated and requires installation of packages.

The /etc/os-release file is guaranteed to be present.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-09-05 21:33:21 +02:00
Nathan Cutler
0b10284caa buildpackages: force ceph-test build on SUSE
The ceph-test package is required for teuthology. It is disabled to speed up
the build in OBS, but here we need it enabled unconditionally.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-09-01 10:33:17 +02:00
Ricardo Dias
494b623602 buildpackages: fix RPM generation script to support opensuse spec file
Signed-off-by: Ricardo Dias <rdias@suse.com>
(cherry picked from commit 4692f995ba6967796d5dd2f5fd85fde8705a1ccc)
2016-09-01 10:32:10 +02:00
Nathan Cutler
65590aa039
buildpackages: make make-{deb,rpm}.sh aware of cmake
Fixes: http://tracker.ceph.com/issues/16819
Signed-off-by: Ricardo Dias <rdias@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-08-24 14:38:17 +01:00
Nathan Cutler
b7cbe2f96f make-rpm.sh: support openSUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-05-14 19:34:34 +02:00
Nathan Cutler
209ce61788 add user-data for openSUSE 42.1
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-05-14 17:37:09 +02:00
Loic Dachary
6334196a39 Merge pull request #950 from dachary/wip-buildpackages-xenial
buildpackages: xenial support
2016-04-09 19:37:53 +02:00
Robin H. Johnson
a33517a88f buildpackages: add build timeouts.
The build/upload process CAN get stuck sometimes. As we are paying
utility rates for the high-power build server, we should timeout when
it's likely the build is stuck.

Use a default timeout just short of 4 hours, as some providers round up
partial instance-hours for billing.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2016-04-09 00:44:04 +02:00
Robin H. Johnson
df5d147094 buildpackages: support ubuntu 12.04.
Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2016-04-09 00:42:13 +02:00
Robin H. Johnson
cd4b7ad642 buildpackages: fix configure on Ubuntu 12.04.
Ubuntu 12.04/precise has a buggy lttng; it fails our lttng-is-sane
check, as it leaves out headers.

This should not stop building of Ceph, as the automatic build handling
from debian/rules will correctly omit LTTNG on Precise.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2016-04-09 00:42:13 +02:00
Robin H. Johnson
785801c2e9 buildpackages: catch VM instances in ERROR state.
It is possible for 'server create' to return success, but then NOT have
a good VM afterwards. The instance will be in state ERROR.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2016-04-09 00:42:09 +02:00
Loic Dachary
465ff97711 buildpackages: add ubuntu 16.04 xenial support
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-04-08 13:30:09 +02:00
Loic Dachary
c655de7ef3 buildpackages: discard google-perftools on trusty aarch64
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-04-07 15:36:22 +02:00
Loic Dachary
5ab482e82c arch: teuthology must use aarch64, not arm64
teuthology / gitbuilder / ansible_architecture arch is

   dpkg-architecture --query DEB_HOST_GNU_CPU (x86_64 and aarch64)

deb package Architectures: (conf/distributions) is

   dpkg-architecture --query DEB_HOST_GNU_ARCH (amd64 and arm64)

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-04-06 21:02:31 +02:00
Loic Dachary
3e7f311b76 buildpackages: install rsync
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-04-06 21:02:31 +02:00
Loic Dachary
4f1029102a buildpackages: add missing arm64 to make-deb.sh
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-04-06 21:02:31 +02:00
Loic Dachary
86619401ab buildpackages: add debian 8.0 support
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-31 14:49:25 +02:00
Loic Dachary
b976563af2 buildpackages: do not try tcmalloc on arm64
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-28 21:58:42 +02:00
Loic Dachary
b9b00a5ddb buildpackages: desambiguate nic on server create
When there are more than one network, it is required to select the one
to be attached to the nic of the instance.

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-28 19:52:00 +02:00
Loic Dachary
c5182f257c buildpackages: do not hardcode x86_64 in build scripts
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-28 18:15:12 +02:00
Loic Dachary
f9c4858a26 buildpackages: use architecture suffixed images
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-28 18:15:12 +02:00
Loic Dachary
63c1a6f9ed buildpackages: ensure clone to a ceph directory
In case the repository from which the clone is not named ceph.

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-16 14:36:52 +01:00
Loic Dachary
df3eba0f6b buildpackages: for source inclusion in debian
We do not build debian versions (i.e. -2 -3 etc). Even if the debian
detection logic infers that the previous debian version already had the
source package, it is incorrect.

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-16 14:36:52 +01:00
Loic Dachary
c60ace31ea buildpackages: enable autoindex in the packages repository
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-16 14:36:52 +01:00
Loic Dachary
b30655eeb6 buildpackages: do not requires the long tag version
So that v10.1.0 is used instead of 10.1.0-0-g35ac827 when possible.

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-16 14:36:52 +01:00
Loic Dachary
5e145c1a2f buildpackages: also pull tags from the user ceph fork
Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-16 14:36:52 +01:00
Loic Dachary
834a38cf90 buildpackages: support CentOS 7.1 and CentOS 7.2
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-17 10:31:37 +01:00
Loic Dachary
64d8a586f7 buildpackages: no need to sudo in bootcmd
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-12-12 14:27:55 +01:00
Robin H. Johnson
ebf8508c08 buildpackages: pkgrepo host also needs user-data setup.
The packages repo host fails in environments where networking setup is
needed in VMs. Use the same user-data as the buildhosts to ensure this
is the case.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 22:58:09 -08:00
Robin H. Johnson
89bde0b8fe buildpackages: copy teuthology user-data.txt changes
7b27e1db7: openstack: support /etc/network/intefaces injection
2358562cf: ensure VMs always have /etc/hosts set up
4378a505d: always allow unsigned deb packages
50b2db521: openstack: encode instance name with the full IP
6e828a33b: openstack: add 8.8.8.8 as a last resort resolver

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 22:58:04 -08:00
Robin H. Johnson
3c6954642a
buildpackages: catch instance creation failure.
Split the sleep from the server creation, so we catch 'server create'
failures (eg due to quota):
> Quota exceeded for cores: Requested 16, but already used 10 of 20 cores
> (HTTP 403) (Request-ID: req-6467934e-db50-4479-995c-4d44dedf553a)

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 11:55:53 -08:00
Robin H. Johnson
0240f57643
buildpackages: Be robust about addresses
OpenStack could tell us the VM has multiple networks, and offers no
guarantee about the order of addresses either (the old code failed if
the v4 IP was first).

For now, take the first listed network, and the first listed IPv4
address therein. Comments contain more detailed examples of possible
output from openstack tool.

Also remove the need for using jq to parse the output.

Signed-off-by: Robin H. Johnson <robin.johnson@dreamhost.com>
2015-12-10 11:55:49 -08:00
Loic Dachary
8088d60524 buildpackages: wait for the build machine deletion
When the quotas are low, it matters to block until the build machine is
actually deleted. Otherwise target provisionning may fail because the
they exceed the quota. For instance the default on OVH is to have 32
cores and the build machine uses 16. The packages-repository machine
uses two, the teuthology cluster uses one and that leaves only 13 cores
for the targets which may be too low when running jobs that require
large instances.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-26 13:13:36 +01:00
Loic Dachary
f398b71e33 buildpackages: do not -jX on dumpling
http://tracker.ceph.com/issues/13845 Refs: #13845

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-20 13:46:28 +01:00
Loic Dachary
87e50d394a buildpackages: avoid duplicate packages-repository
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-19 09:08:35 +01:00
Loic Dachary
69e9b22e4b buildpackages: refactor to not require remote
Most of the flavor, sha1, tag etc. selection logic as implemented in the
packaging module of teuthology relies on remote hosts. This is complex
to tests and inconvenient because hosts must be provisionned even before
trying to figure out which packages need to be installed.

Using remote hosts is necessary when bare metal targets are used because
teuthology must adapt to the operating system already installed. The
selection logic in the context of dynamically provisionned targets is
simpler because it is defined by the job being run.

The buildpackages is refactored to use only the job configuration to
figure out which packages must be built. It makes it specific to targets
that are dynamically provisionned. It would have to be modified to query
the remote host in the case of bare metal targets.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-18 22:49:59 +01:00
Loic Dachary
1877b818f6 Merge pull request #704 from dachary/wip-buildpackages-packaging
buildpackages: protect packages-repository
2015-11-14 10:27:03 +01:00
Loic Dachary
4825f64a7c buildpackages: protect packages-repository
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-14 09:31:41 +01:00
Loic Dachary
8d798c4eec buildpackages: do not fails for unpackaged files
Older versions of Ceph have that problem failing would break all upgrade suites.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-12 20:17:53 +01:00
Loic Dachary
9287493851 buildpackages: giant has some unpackaged files
And there really is nothing we can do about it expect ignore them.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-11-12 16:11:39 +01:00
Loic Dachary
7b8f205952 buildpackages: silently ignore IPv6 addresses
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-11-04 11:52:24 +01:00
Loic Dachary
970a37226f buildpackages: fetch tags from the official Ceph repository
A clone of Ceph is not automagically updated with the tags from the
official Ceph repository. For a pull request based on master, git
describe will use whatever tags existed at the time the clone was made,
unless the author pull them from the official Ceph repository and later
git push --tags them.

The output of git describe is used to name the packages and if the
official tags are not present, the packages will be incorrectly
named. For instance instead of 9.0.3-34 the packages could be named
0.87-8433 because the v0.87 tag is the most recent tag in the
repository. That confuses the install task that will fail with:

   'ceph version 0.87 was not installed, found 9.0.3.'

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-10-28 00:06:46 +09:00
Loic Dachary
baa8ea327e buildpackages: implement notcmalloc flavor
http://tracker.ceph.com/issues/13454 Fixes: #13454

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-13 14:56:10 +02:00
Loic Dachary
81f5c3ad03 buildpackages: get ceph submodules
Prior to v0.80.9, autogen.sh did not get submodules. Copy/paste the
submodule initialization from newer autogen.sh in common.sh so that
v0.80.8 and below can be rebuilt from sources. It does not hurt to
update the submodules twice.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-12 18:46:38 +02:00
Loic Dachary
0045dfc8a5 buildpackages: enforce ceph-object-corpus canonical URL
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 11:57:40 +02:00
Loic Dachary
810caaf55f buildpackages: branches are found in refs/remotes/origin
Note in refs/heads which is populated for local branches only and not
after a fresh clone.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 10:01:34 +02:00
Loic Dachary
e54c916891 buildpackages: do not override the sha1
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-10-09 10:01:05 +02:00
Loic Dachary
05228e1e5c buildpackages: user-data must be per os-type/os-version
CentOS 6.5 needs to install a package and reboot to grow the root file
system. Instead of assuming a common user-data.txt file can fit all
Operating Systems, make one user data per os-type/os-version combination.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-09-27 23:42:58 +02:00