Commit Graph

39 Commits

Author SHA1 Message Date
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
Loic Dachary
78b2a9aa74 buildpackages: get Ceph git url via get_ceph_git_url()
Instead of relying on git_base_url, use the get_ceph_git_url() to obtain
the URL of the Ceph repository to use with git clone. This allows the
user to override it via the git_ceph_url configuration option and the
--git-ceph-url command line option to teuthology-openstack.

http://tracker.ceph.com/issues/11883 Refs: #11883

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-09-26 13:11:36 +02:00
Loic Dachary
7e3a271a89 buildpackages: make rpm packages
Signed-off-by: Loic Dachary <loic@dachary.org>
2015-09-23 21:11:26 +02:00
Loic Dachary
e38a6d69df buildpackages: build the repository and the packages
http://tracker.ceph.com/issues/13031 Fixes: #13031

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-09-16 23:19:34 +02:00
Loic Dachary
2b25080d4f buildpackages: build ceph packages and upload them
Build Ceph packages from source for the required revision, os_type,
os_version and architecture and upload them to the gitbuilder
repository.

http://tracker.ceph.com/issues/13031 Fixes: #13031

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-09-15 12:01:05 +02:00