]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
Rename ceph-build to ceph-build-next
authorAndrew Schoen <aschoen@redhat.com>
Tue, 20 Oct 2015 15:36:01 +0000 (10:36 -0500)
committerAndrew Schoen <aschoen@redhat.com>
Tue, 20 Oct 2015 15:37:00 +0000 (10:37 -0500)
This job will be the new way to do things with chacra

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
14 files changed:
ceph-build-next/build/build_deb [new file with mode: 0644]
ceph-build-next/build/build_rpm [new file with mode: 0644]
ceph-build-next/build/setup [new file with mode: 0644]
ceph-build-next/build/setup_pbuilder [new file with mode: 0755]
ceph-build-next/config/definitions/ceph-build-next.yml [new file with mode: 0644]
ceph-build-next/setup/playbooks/setup.yml [new file with mode: 0644]
ceph-build-next/setup/playbooks/tasks/main.yml [new file with mode: 0644]
ceph-build/build/build_deb [deleted file]
ceph-build/build/build_rpm [deleted file]
ceph-build/build/setup [deleted file]
ceph-build/build/setup_pbuilder [deleted file]
ceph-build/config/definitions/ceph-build.yml [deleted file]
ceph-build/setup/playbooks/setup.yml [deleted file]
ceph-build/setup/playbooks/tasks/main.yml [deleted file]

diff --git a/ceph-build-next/build/build_deb b/ceph-build-next/build/build_deb
new file mode 100644 (file)
index 0000000..4490765
--- /dev/null
@@ -0,0 +1,170 @@
+#!/bin/bash
+set -ex
+
+# Only do actual work when we are a DEB distro
+if test -f /etc/redhat-release ; then
+    exit 0
+fi
+
+get_bptag() {
+    dist=$1
+
+    [ "$dist" = "sid" ] && dver=""
+    [ "$dist" = "jessie" ] && dver="~bpo80+1"
+    [ "$dist" = "wheezy" ] && dver="~bpo70+1"
+    [ "$dist" = "squeeze" ] && dver="~bpo60+1"
+    [ "$dist" = "lenny" ] && dver="~bpo50+1"
+    [ "$dist" = "trusty" ] && dver="$dist"
+    [ "$dist" = "saucy" ] && dver="$dist"
+    [ "$dist" = "precise" ] && dver="$dist"
+    [ "$dist" = "oneiric" ] && dver="$dist"
+    [ "$dist" = "natty" ] && dver="$dist"
+    [ "$dist" = "maverick" ] && dver="$dist"
+    [ "$dist" = "lucid" ] && dver="$dist"
+    [ "$dist" = "karmic" ] && dver="$dist"
+
+    echo $dver
+}
+
+BPTAG=`get_bptag $DIST`
+
+HOST=$(hostname --short)
+echo "Building on $(hostname) Date: $(date)"
+echo "  DIST=${DIST}"
+echo "  BPTAG=${BPTAG}"
+echo "  WS=$WORKSPACE"
+echo "  PWD=$(pwd)"
+echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
+echo "*****"
+env
+echo "*****"
+
+vers=`cat ./dist/version`
+# create a release directory for ceph-build tools
+mkdir -p release
+cp -a dist release/${vers}
+echo $DIST > release/${vers}/debian_dists
+echo "${vers}-1" > release/${vers}/debian_version
+
+cd release/$vers
+
+
+# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
+# FIXME: I don't think we need this 'hack' anymore
+# Dirty Hack:
+baddist=$(echo $DIST | grep -ic -e squeeze -e wheezy || true)
+if [ $baddist -eq 1 ]
+then
+    sed -i 's/ libbabeltrace-ctf-dev, libbabeltrace-dev,//g' ceph_${vers}-1.dsc || true
+    sed -i 's/ liblttng-ust-dev//g' ceph_${vers}-1.dsc || true
+
+fi
+# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
+
+
+# unpack sources
+dpkg-source -x ceph_${vers}-1.dsc
+
+
+# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
+if [ $baddist -eq 1 ]
+then
+    rm -vf *.orig.tar.gz || true
+    grep -v babeltrace ceph-${vers}/debian/control  | grep -v liblttng > ceph-${vers}/debian/control.new
+    mv -v ceph-${vers}/debian/control.new ceph-${vers}/debian/control
+fi
+# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
+
+
+(  cd ceph-${vers}
+   DEB_VERSION=$(dpkg-parsechangelog | sed -rne 's,^Version: (.*),\1, p')
+   BP_VERSION=${DEB_VERSION}${BPTAG}
+   dch -D $DIST --force-distribution -b -v "$BP_VERSION" "$comment"
+)
+dpkg-source -b ceph-${vers}
+
+echo "Building Debian"
+cd "$WORKSPACE"
+# Before, at this point, this script called the below contents that
+# was part of /srv/ceph-buid/build_debs.sh. Now everything is in here, in one
+# place, no need to checkout/clone anything. WYSIWYG::
+#
+#    sudo $bindir/build_debs.sh ./release /srv/debian-base $vers
+
+
+releasedir="./release"
+pbuilddir="/srv/debian-base"
+cephver=$vers
+
+start_time=`date`
+echo version $cephver
+
+# This used to live in a *file* on /src/ceph-build. Now it lives here because
+# it doesn't make sense to have a file that lives in /srv/ that we then
+# concatenate to get its contents.
+
+dvers=`cat $releasedir/$cephver/debian_version`
+echo deb vers $dvers
+
+# This function used to live as /srv/gen_debian_version.sh
+gen_debian_version() {
+    raw=$1
+    dist=$2
+
+    [ "$dist" = "sid" ] && dver="$raw"
+    [ "$dist" = "jessie" ] && dver="$raw~bpo80+1"
+    [ "$dist" = "wheezy" ] && dver="$raw~bpo70+1"
+    [ "$dist" = "squeeze" ] && dver="$raw~bpo60+1"
+    [ "$dist" = "lenny" ] && dver="$raw~bpo50+1"
+    [ "$dist" = "precise" ] && dver="$raw$dist"
+    [ "$dist" = "saucy" ] && dver="$raw$dist"
+    [ "$dist" = "trusty" ] && dver="$raw$dist"
+
+    echo $dver
+}
+
+# FIXME this looks exactly like `setup_pbuilder`, we probably don't need this
+# or we need to refactor.
+sudo pbuilder --clean
+
+bpvers=`gen_debian_version $dvers $DIST`
+echo deb vers $bpvers
+
+echo building debs for $DIST
+if [ `dpkg-architecture -qDEB_BUILD_ARCH` = "i386" ] ; then
+    #  Architecture dependent, independent and source
+    sudo pbuilder build \
+        --distribution $DIST \
+        --basetgz $pbuilddir/$DIST.tgz \
+        --buildresult $releasedir/$cephver \
+        --debbuildopts "-j`grep -c processor /proc/cpuinfo`" \
+        $releasedir/$cephver/ceph_$bpvers.dsc
+else
+    #  Binary only architecture dependent
+    sudo pbuilder build \
+        --binary-arch \
+        --distribution $DIST \
+        --basetgz $pbuilddir/$DIST.tgz \
+        --buildresult $releasedir/$cephver \
+        --debbuildopts "-j`grep -c processor /proc/cpuinfo`" \
+        $releasedir/$cephver/ceph_$bpvers.dsc
+fi
+
+# do lintian checks
+bpvers=`gen_debian_version $dvers $DIST`
+echo lintian checks for $bpvers
+echo lintian --allow-root $releasedir/$cephver/*$bpvers*.deb
+
+echo "Start Time = $start_time"
+echo "  End Time = $(date)"
+
+
+#Collect Artifacts
+mkdir -p dist/debian
+cp -a release/$vers/*.changes dist/debian/.
+cp -a release/$vers/*.deb     dist/debian/.
+cp -a release/$vers/*.dsc     dist/debian/.
+cp -a release/$vers/*.diff.gz dist/debian/.
+cp -a release/$vers/*.tar.gz  dist/debian/.
+
+echo "End Date: $(date)"
diff --git a/ceph-build-next/build/build_rpm b/ceph-build-next/build/build_rpm
new file mode 100644 (file)
index 0000000..693783e
--- /dev/null
@@ -0,0 +1,107 @@
+#!/bin/bash
+set -ex
+
+if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then
+    exit 0
+fi
+
+HOST=$(hostname --short)
+echo "Building on $(hostname) Date: $(date)"
+echo "  DIST=${DIST}"
+echo "  BPTAG=${BPTAG}"
+echo "  WS=$WORKSPACE"
+echo "  PWD=$(pwd)"
+echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
+echo "*****"
+env
+echo "*****"
+
+
+vers=`cat ./dist/version`
+# create a release directory for ceph-build tools
+mkdir -p release
+cp -a dist release/${vers}
+echo $DIST > release/${vers}/debian_dists
+echo "${vers}-1" > release/${vers}/debian_version
+
+echo "Building RPMs"
+
+# The below contents ported from /srv/ceph-build/build_rpms.sh ::
+#     $bindir/build_rpms.sh ./release $vers
+#
+
+releasedir="./release"
+cephver=$vers
+
+# Contents below ported from /srv/ceph-build/get_rpm_dist.sh
+# dist=`$bindir/get_rpm_dist.sh`
+
+get_rpm_dist() {
+    LSB_RELEASE=/usr/bin/lsb_release
+    [ ! -x $LSB_RELEASE ] && echo unknown && exit
+
+    ID=`$LSB_RELEASE --short --id`
+
+    case $ID in
+    RedHatEnterpriseServer)
+        RELEASE=`$LSB_RELEASE --short --release | cut -d. -f1`
+        DIST=rhel$RELEASE
+        ;;
+    CentOS)
+        RELEASE=`$LSB_RELEASE --short --release | cut -d. -f1`
+        DIST=el$RELEASE
+        ;;
+    Fedora)
+        RELEASE=`$LSB_RELEASE --short --release`
+        DIST=fc$RELEASE
+        ;;
+    SUSE\ LINUX)
+        DESC=`$LSB_RELEASE --short --description`
+        RELEASE=`$LSB_RELEASE --short --release`
+        case $DESC in
+        *openSUSE*)
+                DIST=opensuse$RELEASE
+            ;;
+        *Enterprise*)
+                DIST=sles$RELEASE
+                ;;
+            esac
+        ;;
+    *)
+        DIST=unknown
+        ;;
+    esac
+
+    echo $DIST
+}
+
+dist=`get_rpm_dist`
+
+[ -z "$dist" ] && echo no dist && exit 1
+echo dist $dist
+
+cd $releasedir/$cephver || exit 1
+
+# Set up build area
+BUILDAREA=./rpm/$dist
+mkdir -p ${BUILDAREA}/{SOURCES,SRPMS,SPECS,RPMS,BUILD}
+cp -a ceph-*.tar.bz2 ${BUILDAREA}/SOURCES/.
+cp -a ceph.spec ${BUILDAREA}/SPECS/.
+cp -a rpm/*.patch ${BUILDAREA}/SOURCES/. || true
+
+# Build RPMs
+BUILDAREA=`readlink -fn ${BUILDAREA}`   ### rpm wants absolute path
+cd ${BUILDAREA}/SPECS
+rpmbuild -ba --define "_topdir ${BUILDAREA}" ceph.spec
+
+echo done
+
+# Make sure we execute at the top level directory
+cd "$WORKSPACE"
+
+#Collect Artifacts
+mkdir -p dist/rpm/${DIST}
+mv release/${vers}/rpm/*/SRPMS ./dist/rpm/${DIST}/.
+mv release/${vers}/rpm/*/RPMS/* ./dist/rpm/${DIST}/.
+
+echo "End Date: $(date)"
diff --git a/ceph-build-next/build/setup b/ceph-build-next/build/setup
new file mode 100644 (file)
index 0000000..52ac3a8
--- /dev/null
@@ -0,0 +1,90 @@
+#!/bin/bash
+#
+# Ceph distributed storage system
+#
+# Copyright (C) 2014 Red Hat <contact@redhat.com>
+#
+# Author: Loic Dachary <loic@dachary.org>
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License, or (at your option) any later version.
+#
+set -ex
+HOST=$(hostname --short)
+echo "Building on $(hostname) Date: $(date)"
+echo "  DIST=${DIST}"
+echo "  BPTAG=${BPTAG}"
+echo "  KEYID=${KEYID}"
+echo "  WS=$WORKSPACE"
+echo "  PWD=$(pwd)"
+echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
+echo "*****"
+env
+echo "*****"
+
+DIR=/tmp/install-deps.$$
+trap "rm -fr $DIR" EXIT
+mkdir -p $DIR
+if test $(id -u) != 0 ; then
+    SUDO=sudo
+fi
+export LC_ALL=C # the following is vulnerable to i18n
+
+if test -f /etc/redhat-release ; then
+    $SUDO yum install -y redhat-lsb-core
+fi
+
+if which apt-get > /dev/null ; then
+    $SUDO apt-get install -y lsb-release
+fi
+
+# unpack the tar.gz that contains the debian dir
+cd dist
+tar xzf *.orig.tar.gz
+cd ceph-*
+pwd
+
+
+
+case $(lsb_release -si) in
+CentOS|Fedora|SUSE*|RedHatEnterpriseServer)
+        case $(lsb_release -si) in
+            SUSE*)
+                $SUDO zypper -y yum-utils
+                ;;
+            *)
+                $SUDO yum install -y yum-utils
+                ;;
+        esac
+        sed -e 's/@//g' < ceph.spec.in > $DIR/ceph.spec
+        $SUDO yum-builddep -y $DIR/ceph.spec
+        ;;
+*)
+        echo "$(lsb_release -si) is unknown, dependencies will have to be installed manually."
+        ;;
+esac
+
+# Create the virtualenv
+virtualenv venv
+. venv/bin/activate
+
+# Define and ensure the PIP cache
+PIP_SDIST_INDEX="$HOME/.cache/pip"
+mkdir -p $PIP_SDIST_INDEX
+
+# The setup for this job ensures that a copy of ceph-build will be available
+# for this script
+
+# Install the package by trying with the cache first, otherwise doing a download only, and then
+# trying to install from the cache again.
+if ! venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index ansible; then
+    venv/bin/pip install --exists-action=i --download-directory="$PIP_SDIST_INDEX" ansible
+    venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index ansible
+fi
+
+# run ansible to get this current host to meet our requirements, specifying
+# a local connection and 'localhost' as the host where to execute
+cd "$WORKSPACE/ceph-build/setup/playbooks"
+ansible-playbook -i "localhost," -c local setup.yml
diff --git a/ceph-build-next/build/setup_pbuilder b/ceph-build-next/build/setup_pbuilder
new file mode 100755 (executable)
index 0000000..f65a8e2
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/sh -x
+# This file will set the tgz images needed for pbuilder on a given host. It has
+# some hard-coded values like `/srv/debian-base` because it gets built every
+# time this file is executed - completely ephemeral.  If a Debian host will use
+# pbuilder, then it will need this. Since it is not idempotent it makes
+# everything a bit slower. ## FIXME ##
+
+set -e
+
+# Only run when we are a Debian or Debian-based distro
+if test -f /etc/redhat-release ; then
+    exit 0
+fi
+
+basedir="/srv/debian-base"
+
+# Ensure that the basedir directory exists
+sudo mkdir -p "$basedir"
+
+# This used to live in a *file* on /srv/ceph-build as
+# /srv/ceph-build/update_pbuilder.sh Now it lives here because it doesn't make
+# sense to have a file that lives in /srv/ that we then concatenate to get its
+# contents.  what.
+# By using $DIST we are narrowing down to updating only the distro image we
+# need, unlike before where we updated everything on every server on every
+# build.
+
+os="debian"
+[ "$DIST" = "precise" ] && os="ubuntu"
+[ "$DIST" = "saucy" ] && os="ubuntu"
+[ "$DIST" = "trusty" ] && os="ubuntu"
+
+if [ $os = "debian" ]; then
+    # We used to consume from an internal mirror
+    # ("http://apt-mirror.sepia.ceph.com/ftp.us.debian.org/debian") but given
+    # that it has caused us issues before (e.g. packages out of date) and that
+    # it currently does not have Jessie we are going to use a public mirror.
+    mirror="http://www.gtlib.gatech.edu/pub/debian"
+    othermirror=""
+else
+    mirror=""
+    othermirror="deb http://apt-mirror.sepia.ceph.com/archive.ubuntu.com/ubuntu $DIST main restricted universe multiverse"
+fi
+
+# ensure that the tgz is valid, otherwise remove it so that it can be recreated
+# again
+pbuild_tar="$basedir/$DIST.tgz"
+is_not_tar=`python -c "exec 'try: import tarfile;print int(not int(tarfile.is_tarfile(\"$pbuild_tar\")))\nexcept IOError: print 1'"`
+file_size_kb=`du -k "$pbuild_tar" | cut -f1`
+
+if $is_not_tar; then
+    sudo rm -f "$pbuild_tar"
+fi
+
+if [ $file_size_kb -lt 1 ]; then
+    sudo rm -f "$pbuild_tar"
+fi
+
+sudo pbuilder --clean
+
+if [ -e $basedir/$DIST.tgz ]; then
+    echo updating $DIST base.tgz
+    sudo pbuilder update \
+    --basetgz $basedir/$DIST.tgz \
+    --distribution $DIST \
+    --mirror "$mirror" \
+    --othermirror "$othermirror"
+else
+    echo building $DIST base.tgz
+    sudo pbuilder create \
+    --basetgz $basedir/$DIST.tgz \
+    --distribution $DIST \
+    --mirror "$mirror" \
+    --othermirror "$othermirror"
+fi
diff --git a/ceph-build-next/config/definitions/ceph-build-next.yml b/ceph-build-next/config/definitions/ceph-build-next.yml
new file mode 100644 (file)
index 0000000..6da1627
--- /dev/null
@@ -0,0 +1,63 @@
+- job:
+    name: ceph-build
+    project-type: matrix
+    defaults: global
+    disabled: false
+    display-name: 'ceph-build'
+    concurrent: false
+    block-downstream: false
+    block-upstream: false
+    properties:
+      - github:
+          url: https://github.com/ceph/ceph
+
+    axes:
+      - axis:
+          type: label-expression
+          name: ARCH
+          values:
+            - x86_64
+      - axis:
+          type: label-expression
+          name: DIST
+          values:
+            - jessie
+            #- wheezy
+            #- precise
+            #- trusty
+            #- centos6.5
+            - centos7
+            #- rhel6.5
+            - rhel7
+
+    scm:
+      - git:
+          url: https://github.com/ceph/ceph-build.git
+          branches:
+            - origin/master
+          timeout: 20
+          wipe-workspace: true
+
+    builders:
+      - shell: |
+          echo "Cleaning up workarea"
+          rm -rf dist
+          rm -rf release
+      - copyartifact:
+          project: ceph-setup
+          filter: 'dist/**'
+          which-build: last-successful
+      - shell:
+          !include-raw ../../build/setup
+      - shell:
+          !include-raw ../../build/setup_pbuilder
+      - shell:
+          !include-raw ../../build/build_deb
+      - shell:
+          !include-raw ../../build/build_rpm
+
+    publishers:
+      - archive:
+          artifacts: 'dist/**'
+          allow-empty: false
+          latest-only: false
diff --git a/ceph-build-next/setup/playbooks/setup.yml b/ceph-build-next/setup/playbooks/setup.yml
new file mode 100644 (file)
index 0000000..b545ad4
--- /dev/null
@@ -0,0 +1,8 @@
+---
+
+- hosts: localhost
+  user: jenkins-build
+  sudo: True
+
+  tasks:
+     - include: tasks/main.yml
diff --git a/ceph-build-next/setup/playbooks/tasks/main.yml b/ceph-build-next/setup/playbooks/tasks/main.yml
new file mode 100644 (file)
index 0000000..9f2e211
--- /dev/null
@@ -0,0 +1,5 @@
+---
+- debug: msg="testing"
+
+#TODO: write ~/.chacractl config file
+#TODO: install chacractl from pypi
diff --git a/ceph-build/build/build_deb b/ceph-build/build/build_deb
deleted file mode 100644 (file)
index 4490765..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-#!/bin/bash
-set -ex
-
-# Only do actual work when we are a DEB distro
-if test -f /etc/redhat-release ; then
-    exit 0
-fi
-
-get_bptag() {
-    dist=$1
-
-    [ "$dist" = "sid" ] && dver=""
-    [ "$dist" = "jessie" ] && dver="~bpo80+1"
-    [ "$dist" = "wheezy" ] && dver="~bpo70+1"
-    [ "$dist" = "squeeze" ] && dver="~bpo60+1"
-    [ "$dist" = "lenny" ] && dver="~bpo50+1"
-    [ "$dist" = "trusty" ] && dver="$dist"
-    [ "$dist" = "saucy" ] && dver="$dist"
-    [ "$dist" = "precise" ] && dver="$dist"
-    [ "$dist" = "oneiric" ] && dver="$dist"
-    [ "$dist" = "natty" ] && dver="$dist"
-    [ "$dist" = "maverick" ] && dver="$dist"
-    [ "$dist" = "lucid" ] && dver="$dist"
-    [ "$dist" = "karmic" ] && dver="$dist"
-
-    echo $dver
-}
-
-BPTAG=`get_bptag $DIST`
-
-HOST=$(hostname --short)
-echo "Building on $(hostname) Date: $(date)"
-echo "  DIST=${DIST}"
-echo "  BPTAG=${BPTAG}"
-echo "  WS=$WORKSPACE"
-echo "  PWD=$(pwd)"
-echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
-echo "*****"
-env
-echo "*****"
-
-vers=`cat ./dist/version`
-# create a release directory for ceph-build tools
-mkdir -p release
-cp -a dist release/${vers}
-echo $DIST > release/${vers}/debian_dists
-echo "${vers}-1" > release/${vers}/debian_version
-
-cd release/$vers
-
-
-# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
-# FIXME: I don't think we need this 'hack' anymore
-# Dirty Hack:
-baddist=$(echo $DIST | grep -ic -e squeeze -e wheezy || true)
-if [ $baddist -eq 1 ]
-then
-    sed -i 's/ libbabeltrace-ctf-dev, libbabeltrace-dev,//g' ceph_${vers}-1.dsc || true
-    sed -i 's/ liblttng-ust-dev//g' ceph_${vers}-1.dsc || true
-
-fi
-# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
-
-
-# unpack sources
-dpkg-source -x ceph_${vers}-1.dsc
-
-
-# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
-if [ $baddist -eq 1 ]
-then
-    rm -vf *.orig.tar.gz || true
-    grep -v babeltrace ceph-${vers}/debian/control  | grep -v liblttng > ceph-${vers}/debian/control.new
-    mv -v ceph-${vers}/debian/control.new ceph-${vers}/debian/control
-fi
-# HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK
-
-
-(  cd ceph-${vers}
-   DEB_VERSION=$(dpkg-parsechangelog | sed -rne 's,^Version: (.*),\1, p')
-   BP_VERSION=${DEB_VERSION}${BPTAG}
-   dch -D $DIST --force-distribution -b -v "$BP_VERSION" "$comment"
-)
-dpkg-source -b ceph-${vers}
-
-echo "Building Debian"
-cd "$WORKSPACE"
-# Before, at this point, this script called the below contents that
-# was part of /srv/ceph-buid/build_debs.sh. Now everything is in here, in one
-# place, no need to checkout/clone anything. WYSIWYG::
-#
-#    sudo $bindir/build_debs.sh ./release /srv/debian-base $vers
-
-
-releasedir="./release"
-pbuilddir="/srv/debian-base"
-cephver=$vers
-
-start_time=`date`
-echo version $cephver
-
-# This used to live in a *file* on /src/ceph-build. Now it lives here because
-# it doesn't make sense to have a file that lives in /srv/ that we then
-# concatenate to get its contents.
-
-dvers=`cat $releasedir/$cephver/debian_version`
-echo deb vers $dvers
-
-# This function used to live as /srv/gen_debian_version.sh
-gen_debian_version() {
-    raw=$1
-    dist=$2
-
-    [ "$dist" = "sid" ] && dver="$raw"
-    [ "$dist" = "jessie" ] && dver="$raw~bpo80+1"
-    [ "$dist" = "wheezy" ] && dver="$raw~bpo70+1"
-    [ "$dist" = "squeeze" ] && dver="$raw~bpo60+1"
-    [ "$dist" = "lenny" ] && dver="$raw~bpo50+1"
-    [ "$dist" = "precise" ] && dver="$raw$dist"
-    [ "$dist" = "saucy" ] && dver="$raw$dist"
-    [ "$dist" = "trusty" ] && dver="$raw$dist"
-
-    echo $dver
-}
-
-# FIXME this looks exactly like `setup_pbuilder`, we probably don't need this
-# or we need to refactor.
-sudo pbuilder --clean
-
-bpvers=`gen_debian_version $dvers $DIST`
-echo deb vers $bpvers
-
-echo building debs for $DIST
-if [ `dpkg-architecture -qDEB_BUILD_ARCH` = "i386" ] ; then
-    #  Architecture dependent, independent and source
-    sudo pbuilder build \
-        --distribution $DIST \
-        --basetgz $pbuilddir/$DIST.tgz \
-        --buildresult $releasedir/$cephver \
-        --debbuildopts "-j`grep -c processor /proc/cpuinfo`" \
-        $releasedir/$cephver/ceph_$bpvers.dsc
-else
-    #  Binary only architecture dependent
-    sudo pbuilder build \
-        --binary-arch \
-        --distribution $DIST \
-        --basetgz $pbuilddir/$DIST.tgz \
-        --buildresult $releasedir/$cephver \
-        --debbuildopts "-j`grep -c processor /proc/cpuinfo`" \
-        $releasedir/$cephver/ceph_$bpvers.dsc
-fi
-
-# do lintian checks
-bpvers=`gen_debian_version $dvers $DIST`
-echo lintian checks for $bpvers
-echo lintian --allow-root $releasedir/$cephver/*$bpvers*.deb
-
-echo "Start Time = $start_time"
-echo "  End Time = $(date)"
-
-
-#Collect Artifacts
-mkdir -p dist/debian
-cp -a release/$vers/*.changes dist/debian/.
-cp -a release/$vers/*.deb     dist/debian/.
-cp -a release/$vers/*.dsc     dist/debian/.
-cp -a release/$vers/*.diff.gz dist/debian/.
-cp -a release/$vers/*.tar.gz  dist/debian/.
-
-echo "End Date: $(date)"
diff --git a/ceph-build/build/build_rpm b/ceph-build/build/build_rpm
deleted file mode 100644 (file)
index 693783e..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/bash
-set -ex
-
-if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then
-    exit 0
-fi
-
-HOST=$(hostname --short)
-echo "Building on $(hostname) Date: $(date)"
-echo "  DIST=${DIST}"
-echo "  BPTAG=${BPTAG}"
-echo "  WS=$WORKSPACE"
-echo "  PWD=$(pwd)"
-echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
-echo "*****"
-env
-echo "*****"
-
-
-vers=`cat ./dist/version`
-# create a release directory for ceph-build tools
-mkdir -p release
-cp -a dist release/${vers}
-echo $DIST > release/${vers}/debian_dists
-echo "${vers}-1" > release/${vers}/debian_version
-
-echo "Building RPMs"
-
-# The below contents ported from /srv/ceph-build/build_rpms.sh ::
-#     $bindir/build_rpms.sh ./release $vers
-#
-
-releasedir="./release"
-cephver=$vers
-
-# Contents below ported from /srv/ceph-build/get_rpm_dist.sh
-# dist=`$bindir/get_rpm_dist.sh`
-
-get_rpm_dist() {
-    LSB_RELEASE=/usr/bin/lsb_release
-    [ ! -x $LSB_RELEASE ] && echo unknown && exit
-
-    ID=`$LSB_RELEASE --short --id`
-
-    case $ID in
-    RedHatEnterpriseServer)
-        RELEASE=`$LSB_RELEASE --short --release | cut -d. -f1`
-        DIST=rhel$RELEASE
-        ;;
-    CentOS)
-        RELEASE=`$LSB_RELEASE --short --release | cut -d. -f1`
-        DIST=el$RELEASE
-        ;;
-    Fedora)
-        RELEASE=`$LSB_RELEASE --short --release`
-        DIST=fc$RELEASE
-        ;;
-    SUSE\ LINUX)
-        DESC=`$LSB_RELEASE --short --description`
-        RELEASE=`$LSB_RELEASE --short --release`
-        case $DESC in
-        *openSUSE*)
-                DIST=opensuse$RELEASE
-            ;;
-        *Enterprise*)
-                DIST=sles$RELEASE
-                ;;
-            esac
-        ;;
-    *)
-        DIST=unknown
-        ;;
-    esac
-
-    echo $DIST
-}
-
-dist=`get_rpm_dist`
-
-[ -z "$dist" ] && echo no dist && exit 1
-echo dist $dist
-
-cd $releasedir/$cephver || exit 1
-
-# Set up build area
-BUILDAREA=./rpm/$dist
-mkdir -p ${BUILDAREA}/{SOURCES,SRPMS,SPECS,RPMS,BUILD}
-cp -a ceph-*.tar.bz2 ${BUILDAREA}/SOURCES/.
-cp -a ceph.spec ${BUILDAREA}/SPECS/.
-cp -a rpm/*.patch ${BUILDAREA}/SOURCES/. || true
-
-# Build RPMs
-BUILDAREA=`readlink -fn ${BUILDAREA}`   ### rpm wants absolute path
-cd ${BUILDAREA}/SPECS
-rpmbuild -ba --define "_topdir ${BUILDAREA}" ceph.spec
-
-echo done
-
-# Make sure we execute at the top level directory
-cd "$WORKSPACE"
-
-#Collect Artifacts
-mkdir -p dist/rpm/${DIST}
-mv release/${vers}/rpm/*/SRPMS ./dist/rpm/${DIST}/.
-mv release/${vers}/rpm/*/RPMS/* ./dist/rpm/${DIST}/.
-
-echo "End Date: $(date)"
diff --git a/ceph-build/build/setup b/ceph-build/build/setup
deleted file mode 100644 (file)
index 52ac3a8..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/bash
-#
-# Ceph distributed storage system
-#
-# Copyright (C) 2014 Red Hat <contact@redhat.com>
-#
-# Author: Loic Dachary <loic@dachary.org>
-#
-#  This library is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Lesser General Public
-#  License as published by the Free Software Foundation; either
-#  version 2.1 of the License, or (at your option) any later version.
-#
-set -ex
-HOST=$(hostname --short)
-echo "Building on $(hostname) Date: $(date)"
-echo "  DIST=${DIST}"
-echo "  BPTAG=${BPTAG}"
-echo "  KEYID=${KEYID}"
-echo "  WS=$WORKSPACE"
-echo "  PWD=$(pwd)"
-echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
-echo "*****"
-env
-echo "*****"
-
-DIR=/tmp/install-deps.$$
-trap "rm -fr $DIR" EXIT
-mkdir -p $DIR
-if test $(id -u) != 0 ; then
-    SUDO=sudo
-fi
-export LC_ALL=C # the following is vulnerable to i18n
-
-if test -f /etc/redhat-release ; then
-    $SUDO yum install -y redhat-lsb-core
-fi
-
-if which apt-get > /dev/null ; then
-    $SUDO apt-get install -y lsb-release
-fi
-
-# unpack the tar.gz that contains the debian dir
-cd dist
-tar xzf *.orig.tar.gz
-cd ceph-*
-pwd
-
-
-
-case $(lsb_release -si) in
-CentOS|Fedora|SUSE*|RedHatEnterpriseServer)
-        case $(lsb_release -si) in
-            SUSE*)
-                $SUDO zypper -y yum-utils
-                ;;
-            *)
-                $SUDO yum install -y yum-utils
-                ;;
-        esac
-        sed -e 's/@//g' < ceph.spec.in > $DIR/ceph.spec
-        $SUDO yum-builddep -y $DIR/ceph.spec
-        ;;
-*)
-        echo "$(lsb_release -si) is unknown, dependencies will have to be installed manually."
-        ;;
-esac
-
-# Create the virtualenv
-virtualenv venv
-. venv/bin/activate
-
-# Define and ensure the PIP cache
-PIP_SDIST_INDEX="$HOME/.cache/pip"
-mkdir -p $PIP_SDIST_INDEX
-
-# The setup for this job ensures that a copy of ceph-build will be available
-# for this script
-
-# Install the package by trying with the cache first, otherwise doing a download only, and then
-# trying to install from the cache again.
-if ! venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index ansible; then
-    venv/bin/pip install --exists-action=i --download-directory="$PIP_SDIST_INDEX" ansible
-    venv/bin/pip install --find-links="file://$PIP_SDIST_INDEX" --no-index ansible
-fi
-
-# run ansible to get this current host to meet our requirements, specifying
-# a local connection and 'localhost' as the host where to execute
-cd "$WORKSPACE/ceph-build/setup/playbooks"
-ansible-playbook -i "localhost," -c local setup.yml
diff --git a/ceph-build/build/setup_pbuilder b/ceph-build/build/setup_pbuilder
deleted file mode 100755 (executable)
index f65a8e2..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh -x
-# This file will set the tgz images needed for pbuilder on a given host. It has
-# some hard-coded values like `/srv/debian-base` because it gets built every
-# time this file is executed - completely ephemeral.  If a Debian host will use
-# pbuilder, then it will need this. Since it is not idempotent it makes
-# everything a bit slower. ## FIXME ##
-
-set -e
-
-# Only run when we are a Debian or Debian-based distro
-if test -f /etc/redhat-release ; then
-    exit 0
-fi
-
-basedir="/srv/debian-base"
-
-# Ensure that the basedir directory exists
-sudo mkdir -p "$basedir"
-
-# This used to live in a *file* on /srv/ceph-build as
-# /srv/ceph-build/update_pbuilder.sh Now it lives here because it doesn't make
-# sense to have a file that lives in /srv/ that we then concatenate to get its
-# contents.  what.
-# By using $DIST we are narrowing down to updating only the distro image we
-# need, unlike before where we updated everything on every server on every
-# build.
-
-os="debian"
-[ "$DIST" = "precise" ] && os="ubuntu"
-[ "$DIST" = "saucy" ] && os="ubuntu"
-[ "$DIST" = "trusty" ] && os="ubuntu"
-
-if [ $os = "debian" ]; then
-    # We used to consume from an internal mirror
-    # ("http://apt-mirror.sepia.ceph.com/ftp.us.debian.org/debian") but given
-    # that it has caused us issues before (e.g. packages out of date) and that
-    # it currently does not have Jessie we are going to use a public mirror.
-    mirror="http://www.gtlib.gatech.edu/pub/debian"
-    othermirror=""
-else
-    mirror=""
-    othermirror="deb http://apt-mirror.sepia.ceph.com/archive.ubuntu.com/ubuntu $DIST main restricted universe multiverse"
-fi
-
-# ensure that the tgz is valid, otherwise remove it so that it can be recreated
-# again
-pbuild_tar="$basedir/$DIST.tgz"
-is_not_tar=`python -c "exec 'try: import tarfile;print int(not int(tarfile.is_tarfile(\"$pbuild_tar\")))\nexcept IOError: print 1'"`
-file_size_kb=`du -k "$pbuild_tar" | cut -f1`
-
-if $is_not_tar; then
-    sudo rm -f "$pbuild_tar"
-fi
-
-if [ $file_size_kb -lt 1 ]; then
-    sudo rm -f "$pbuild_tar"
-fi
-
-sudo pbuilder --clean
-
-if [ -e $basedir/$DIST.tgz ]; then
-    echo updating $DIST base.tgz
-    sudo pbuilder update \
-    --basetgz $basedir/$DIST.tgz \
-    --distribution $DIST \
-    --mirror "$mirror" \
-    --othermirror "$othermirror"
-else
-    echo building $DIST base.tgz
-    sudo pbuilder create \
-    --basetgz $basedir/$DIST.tgz \
-    --distribution $DIST \
-    --mirror "$mirror" \
-    --othermirror "$othermirror"
-fi
diff --git a/ceph-build/config/definitions/ceph-build.yml b/ceph-build/config/definitions/ceph-build.yml
deleted file mode 100644 (file)
index 6da1627..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-- job:
-    name: ceph-build
-    project-type: matrix
-    defaults: global
-    disabled: false
-    display-name: 'ceph-build'
-    concurrent: false
-    block-downstream: false
-    block-upstream: false
-    properties:
-      - github:
-          url: https://github.com/ceph/ceph
-
-    axes:
-      - axis:
-          type: label-expression
-          name: ARCH
-          values:
-            - x86_64
-      - axis:
-          type: label-expression
-          name: DIST
-          values:
-            - jessie
-            #- wheezy
-            #- precise
-            #- trusty
-            #- centos6.5
-            - centos7
-            #- rhel6.5
-            - rhel7
-
-    scm:
-      - git:
-          url: https://github.com/ceph/ceph-build.git
-          branches:
-            - origin/master
-          timeout: 20
-          wipe-workspace: true
-
-    builders:
-      - shell: |
-          echo "Cleaning up workarea"
-          rm -rf dist
-          rm -rf release
-      - copyartifact:
-          project: ceph-setup
-          filter: 'dist/**'
-          which-build: last-successful
-      - shell:
-          !include-raw ../../build/setup
-      - shell:
-          !include-raw ../../build/setup_pbuilder
-      - shell:
-          !include-raw ../../build/build_deb
-      - shell:
-          !include-raw ../../build/build_rpm
-
-    publishers:
-      - archive:
-          artifacts: 'dist/**'
-          allow-empty: false
-          latest-only: false
diff --git a/ceph-build/setup/playbooks/setup.yml b/ceph-build/setup/playbooks/setup.yml
deleted file mode 100644 (file)
index b545ad4..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
----
-
-- hosts: localhost
-  user: jenkins-build
-  sudo: True
-
-  tasks:
-     - include: tasks/main.yml
diff --git a/ceph-build/setup/playbooks/tasks/main.yml b/ceph-build/setup/playbooks/tasks/main.yml
deleted file mode 100644 (file)
index 9f2e211..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- debug: msg="testing"
-
-#TODO: write ~/.chacractl config file
-#TODO: install chacractl from pypi