David Caro has uploaded a new change for review. Change subject: Added vdsm installation sanity ......................................................................
Added vdsm installation sanity Change-Id: Ia6befd9fe1123c006fc9b21dba111ec92e0336c8 Signed-off-by: David Caro <dcaro...@redhat.com> --- M jobs/confs/shell-scripts/mock_build_onlyrpm.sh.inc A jobs/confs/shell-scripts/mock_install.sh A jobs/confs/yaml/builders/mock_install.yaml A jobs/confs/yaml/jobs/vdsm/vdsm_install-rpm-sanity.yaml A jobs/confs/yaml/scms/vdsm.yaml R jobs/confs/yaml/templates/create-rpms_mock.yaml A jobs/confs/yaml/templates/install-rpm-sanity.yaml 7 files changed, 163 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/jenkins refs/changes/08/29008/1 diff --git a/jobs/confs/shell-scripts/mock_build_onlyrpm.sh.inc b/jobs/confs/shell-scripts/mock_build_onlyrpm.sh.inc index 69940c0..148cc6e 100644 --- a/jobs/confs/shell-scripts/mock_build_onlyrpm.sh.inc +++ b/jobs/confs/shell-scripts/mock_build_onlyrpm.sh.inc @@ -19,13 +19,17 @@ # # extra-configure-options # extra options to pass to configure +# +# env +# extra env variables to set when building distro="{distro}" arch="{arch}" project="{project}" extra_packages="{extra-packages}" extra_configure_options="{extra-configure-options}" - +extra_env="{env} +" # Build the src_rpms # Get the release suffix pushd "$project" @@ -84,6 +88,16 @@ --install "$extra_packages" fi +### Set any extra env vars if any +if [[ -n $extra_env ]]; then + echo "Configuring custom env variables" + $my_mock \ + --no-clean \ + --shell <<EOF + echo "export $extra_env" >> /etc/profile +EOF +fi + ### Build the rpms echo "##### Building the rpms" $my_mock \ diff --git a/jobs/confs/shell-scripts/mock_install.sh b/jobs/confs/shell-scripts/mock_install.sh new file mode 100644 index 0000000..db3a701 --- /dev/null +++ b/jobs/confs/shell-scripts/mock_install.sh @@ -0,0 +1,76 @@ +#!/bin/bash -xe +# Do some black magic +# PARAMETERS +# +# project +# Name of the project it runs on, specifically the dir where the code +# has been cloned +# +# distro +# Distribution it should cre%ate the repms for (usually el6, el7, fc19 or +# fc20) +# +# arch +# Architecture to build the packages for +# +# packages +# List of paths to the packages to install +# +# env +# Extra envionment variables + +distro="{distro}" +arch="{arch}" +project="{project}" +packages="{packages}" +extra_env="{env}" + + +pushd "$project" + +### Generate the mock configuration +pushd "$WORKSPACE"/jenkins/mock_configs +arch="{arch}" +case $distro in + fc*) distribution="fedora-${{distro#fc}}";; + el*) distribution="epel-${{distro#el}}";; + *) echo "Unknown distro $distro"; exit 1;; +esac +mock_conf="${{distribution}}-$arch-ovirt-snapshot" +echo "#### Generating mock configuration" +./mock_genconfig \ + --name="$mock_conf" \ + --base="$distribution-$arch.cfg" \ + --option="basedir=$WORKSPACE/mock/" \ + --repo="ovirt-master-snapshot,http://resources.ovirt.org/pub/ovirt-master-snapshot/rpm/$distro" \ + --repo="ovirt-master-snapshot-static,http://resources.ovirt.org/pub/ovirt-master-snapshot-static/rpm/$distro" \ +> "$mock_conf.cfg" +sudo touch /var/cache/mock/*/root_cache/cache.tar.gz || : +cat "$mock_conf.cfg" +popd + +## prepare the command line +my_mock="/usr/bin/mock" +my_mock+=" --configdir=$WORKSPACE/jenkins/mock_configs" +my_mock+=" --root=$mock_conf" + +### Copy the packages to the chroot +$my_mock \ + --copyin ${{packages?}} /tmp/ + +### Set any extra env vars if any +if [[ -n $extra_env ]]; then + echo "Configuring custom env variables" + $my_mock \ + --no-clean \ + --shell <<EOF +echo "export $extra_env" >> /etc/profile +EOF + +### Install the packages +echo "##### Installing $packages" +$my_mock \ + --no-clean \ + --shell <<EOF +yum localinstall -y /tmp/*rpm +EOF diff --git a/jobs/confs/yaml/builders/mock_install.yaml b/jobs/confs/yaml/builders/mock_install.yaml new file mode 100644 index 0000000..f56a4aa --- /dev/null +++ b/jobs/confs/yaml/builders/mock_install.yaml @@ -0,0 +1,7 @@ +- builder: + name: mock-onlyrpm-install + builders: + - shell: !include-raw shell-scripts/mock_setup.sh + - shell: !include-raw shell-scripts/mock_build_onlyrpm.sh.inc + - shell: !include-raw shell-scripts/mock_install.sh + - shell: !include-raw shell-scripts/mock_cleanup.sh diff --git a/jobs/confs/yaml/jobs/vdsm/vdsm_install-rpm-sanity.yaml b/jobs/confs/yaml/jobs/vdsm/vdsm_install-rpm-sanity.yaml new file mode 100644 index 0000000..8c442d7 --- /dev/null +++ b/jobs/confs/yaml/jobs/vdsm/vdsm_install-rpm-sanity.yaml @@ -0,0 +1,24 @@ +- project: + name: vdsm_install-rpm-sanity + project: + - vdsm + trigger: + - created + branch: + - master + mock-build-type: + - onlyrpm + distro: + - fc19 + - fc20 + - el6 + arch: + - x86_64 + jobs: + - '{project}_{branch}_install-rpm-sanity-{distro}_{trigger}': + # Ugly fix until BZ#1111601 is solved + extra-packages: 'm2crypto' + extra-configure-options: '' + packages: 'exported-artifacs/vdsm-*rpm' + trigger-files: 'vdsm.spec.in' + env: 'NOSE_EXCLUDE=.*' diff --git a/jobs/confs/yaml/scms/vdsm.yaml b/jobs/confs/yaml/scms/vdsm.yaml new file mode 100644 index 0000000..d352c63 --- /dev/null +++ b/jobs/confs/yaml/scms/vdsm.yaml @@ -0,0 +1,16 @@ +- scm: + name: vdsm-gerrit + scm: + - git: + url: git://gerrit.ovirt.org/vdsm.git + branches: + - $GERRIT_BRANCH + basedir: vdsm + scm-name: vdsm + name: '' + refspec: $GERRIT_REFSPEC + choosing-strategy: gerrit + use-author: true + skip-tag: true + prune: true + wipe-workspace: false diff --git a/jobs/confs/yaml/jobs/create-rpms_mock.yaml b/jobs/confs/yaml/templates/create-rpms_mock.yaml similarity index 100% rename from jobs/confs/yaml/jobs/create-rpms_mock.yaml rename to jobs/confs/yaml/templates/create-rpms_mock.yaml diff --git a/jobs/confs/yaml/templates/install-rpm-sanity.yaml b/jobs/confs/yaml/templates/install-rpm-sanity.yaml new file mode 100644 index 0000000..fd2706e --- /dev/null +++ b/jobs/confs/yaml/templates/install-rpm-sanity.yaml @@ -0,0 +1,25 @@ +- job-template: + name: '{project}_{branch}_install-rpm-sanity-{distro}_{trigger}' + parameters: + - gerrit-params: + branch: '{branch}' + scm: + - '{project}-gerrit' + - jenkins: + branch: master + triggers: + - 'on-patch-{trigger}-with-files': + project: '{project}' + branch: '{branch}' + files: '{trigger-files}' + builders: + - mock-{mock-build-type}-install: + project: '{project}' + distro: '{distro}' + arch: '{arch}' + extra-packages: '{extra-packages}' + extra-configure-options: '{extra-configure-options}' + packages: '{packages}' + env: '{env}' + publishers: + - exported-artifacts -- To view, visit http://gerrit.ovirt.org/29008 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia6befd9fe1123c006fc9b21dba111ec92e0336c8 Gerrit-PatchSet: 1 Gerrit-Project: jenkins Gerrit-Branch: master Gerrit-Owner: David Caro <dcaro...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches