From: David Galloway Date: Fri, 29 May 2026 14:46:48 +0000 (-0400) Subject: Retire unused ceph-iscsi-* jobs X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2e58855a8034a8d75333893c7bebcf7e41ee63d6;p=ceph-build.git Retire unused ceph-iscsi-* jobs Signed-off-by: David Galloway --- diff --git a/attic/ceph-iscsi-cli-flake8/build/build b/attic/ceph-iscsi-cli-flake8/build/build new file mode 100644 index 000000000..fa2327dc4 --- /dev/null +++ b/attic/ceph-iscsi-cli-flake8/build/build @@ -0,0 +1,11 @@ +#!/bin/bash + +# the following two methods exist in scripts/build_utils.sh +pkgs=( "tox" ) +TEMPVENV=$(create_venv_dir) +VENV=${TEMPVENV}/bin +install_python_packages $TEMPVENV "pkgs[@]" + +cd "$WORKSPACE/ceph-iscsi-cli" + +$VENV/tox -rv -e flake8 diff --git a/attic/ceph-iscsi-cli-flake8/config/definitions/ceph-iscsi-config-flake8.yml b/attic/ceph-iscsi-cli-flake8/config/definitions/ceph-iscsi-config-flake8.yml new file mode 100644 index 000000000..78772f624 --- /dev/null +++ b/attic/ceph-iscsi-cli-flake8/config/definitions/ceph-iscsi-config-flake8.yml @@ -0,0 +1,61 @@ +- scm: + name: ceph-iscsi-cli + scm: + - git: + url: https://github.com/ceph/ceph-iscsi-cli.git + branches: + - ${{sha1}} + refspec: +refs/pull/*:refs/remotes/origin/pr/* + browser: auto + timeout: 20 + skip-tag: true + wipe-workspace: true + basedir: "ceph-iscsi-cli" + +- job: + name: ceph-iscsi-cli-flake8 + description: Runs Flake8 tests for ceph-iscsi-cli on each GitHub PR + project-type: freestyle + node: python3 + block-downstream: false + block-upstream: false + defaults: global + display-name: 'ceph-iscsi-cli: Flake8' + quiet-period: 5 + retry-count: 3 + + properties: + - build-discarder: + days-to-keep: 15 + num-to-keep: 30 + artifact-days-to-keep: 15 + artifact-num-to-keep: 15 + - github: + url: https://github.com/ceph/ceph-iscsi-cli/ + + parameters: + - string: + name: sha1 + description: "A pull request ID, like 'origin/pr/72/head'" + + triggers: + - github-pull-request: + admin-list: + - dillaman + org-list: + - ceph + trigger-phrase: 'jenkins flake8' + only-trigger-phrase: false + github-hooks: true + permit-all: false + auto-close-on-fail: false + status-context: "Flake8" + + scm: + - ceph-iscsi-cli + + builders: + - shell: + !include-raw-verbatim: + - ../../../scripts/build_utils.sh + - ../../build/build diff --git a/attic/ceph-iscsi-cli-trigger/config/definitions/ceph-iscsi-cli-trigger.yml b/attic/ceph-iscsi-cli-trigger/config/definitions/ceph-iscsi-cli-trigger.yml new file mode 100644 index 000000000..cc9401dc5 --- /dev/null +++ b/attic/ceph-iscsi-cli-trigger/config/definitions/ceph-iscsi-cli-trigger.yml @@ -0,0 +1,37 @@ +- job: + name: ceph-iscsi-cli-trigger + node: built-in + project-type: freestyle + defaults: global + quiet-period: 5 + block-downstream: false + block-upstream: false + properties: + - build-discarder: + days-to-keep: 1 + num-to-keep: 10 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + - github: + url: https://github.com/ceph/ceph-iscsi-cli + discard-old-builds: true + + triggers: + - github + + scm: + - git: + url: https://github.com/ceph/ceph-iscsi-cli.git + branches: + - 'origin/main*' + - 'origin/wip*' + skip-tag: true + timeout: 20 + wipe-workspace: true + + builders: + - trigger-builds: + - project: 'ceph-iscsi-cli' + predefined-parameters: | + BRANCH=${{GIT_BRANCH}} + FORCE=True diff --git a/attic/ceph-iscsi-cli/build/build_deb b/attic/ceph-iscsi-cli/build/build_deb new file mode 100644 index 000000000..03c4ec4ec --- /dev/null +++ b/attic/ceph-iscsi-cli/build/build_deb @@ -0,0 +1,9 @@ +#! /usr/bin/bash +set -ex + +# Only do actual work when we are a DEB distro +if test "$DISTRO" != "debian" -a "$DISTRO" != "ubuntu"; then + exit 0 +fi + +exit 1 diff --git a/attic/ceph-iscsi-cli/build/build_rpm b/attic/ceph-iscsi-cli/build/build_rpm new file mode 100644 index 000000000..bd3c54a5e --- /dev/null +++ b/attic/ceph-iscsi-cli/build/build_rpm @@ -0,0 +1,83 @@ +#! /usr/bin/bash +set -ex + +PROJECT=ceph-iscsi-cli +BRANCH=`branch_slash_filter $BRANCH` + +# Only do actual work when we are an RPM distro +if test "$DISTRO" != "fedora" -a "$DISTRO" != "centos" -a "$DISTRO" != "rhel"; then + exit 0 +fi + +# Install the dependencies +sudo yum install -y mock + +## Get some basic information about the system and the repository +# Get version +get_rpm_dist +VERSION="$(git describe --abbrev=0 --tags HEAD)" +REVISION="$(git describe --tags HEAD | cut -d - -f 2- | sed 's/-/./')" +if [ "$VERSION" = "$REVISION" ]; then + REVISION="1" +fi + +# Create dummy dist tar +tar cf dist/${PROJECT}-${VERSION}.tar.gz \ + --exclude .git --exclude dist \ + --transform "s,^,${PROJECT}-${VERSION}/," * +tar tfv dist/${PROJECT}-${VERSION}.tar.gz + +# Update spec version +sed -i "s/^Version:.*$/Version:\t${VERSION}/g" $WORKSPACE/${PROJECT}.spec +sed -i "s/^Release:.*$/Release:\t${REVISION}%{?dist}/g" $WORKSPACE/${PROJECT}.spec +# for debugging +cat $WORKSPACE/${PROJECT}.spec + +# Update setup.py version +sed -i "s/version=\"[^\"]*\"/version=\"${VERSION}\"/g" $WORKSPACE/setup.py +# for debugging +cat $WORKSPACE/setup.py + +## Create the source rpm +echo "Building SRPM" +rpmbuild \ + --define "_sourcedir $WORKSPACE/dist" \ + --define "_specdir $WORKSPACE/dist" \ + --define "_builddir $WORKSPACE/dist" \ + --define "_srcrpmdir $WORKSPACE/dist/SRPMS" \ + --define "_rpmdir $WORKSPACE/dist/RPMS" \ + --nodeps -bs $WORKSPACE/${PROJECT}.spec +SRPM=$(readlink -f $WORKSPACE/dist/SRPMS/*.src.rpm) + +## Build the binaries with mock +echo "Building RPMs" +sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --scrub=all +sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --resultdir=$WORKSPACE/dist/RPMS/ ${SRPM} || ( tail -n +1 $WORKSPACE/dist/RPMS/{root,build}.log && exit 1 ) + +## Upload the created RPMs to chacra +chacra_endpoint="${PROJECT}/${BRANCH}/${GIT_COMMIT}/${DISTRO}/${RELEASE}" + +[ "$FORCE" = true ] && chacra_flags="--force" || chacra_flags="" + +# push binaries to chacra +find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | $VENV/chacractl binary ${chacra_flags} create ${chacra_endpoint}/noarch/ +PACKAGE_MANAGER_VERSION=$(rpm --queryformat '%{VERSION}-%{RELEASE}\n' -qp $(find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | head -1)) + +# write json file with build info +cat > $WORKSPACE/repo-extra.json << EOF +{ + "version":"$VERSION", + "package_manager_version":"$PACKAGE_MANAGER_VERSION", + "build_url":"$BUILD_URL", + "root_build_cause":"$ROOT_BUILD_CAUSE", + "node_name":"$NODE_NAME", + "job_name":"$JOB_NAME" +} +EOF +# post the json to repo-extra json to chacra +curl -X POST -H "Content-Type:application/json" --data "@$WORKSPACE/repo-extra.json" -u $CHACRACTL_USER:$CHACRACTL_KEY ${chacra_url}repos/${chacra_endpoint}/extra/ + +# start repo creation +$VENV/chacractl repo update ${chacra_endpoint} + +echo Check the status of the repo at: https://shaman.ceph.com/api/repos/${chacra_endpoint} diff --git a/attic/ceph-iscsi-cli/build/setup b/attic/ceph-iscsi-cli/build/setup new file mode 100644 index 000000000..993b3896a --- /dev/null +++ b/attic/ceph-iscsi-cli/build/setup @@ -0,0 +1,46 @@ +#! /usr/bin/bash +# +# Ceph distributed storage system +# +# Copyright (C) 2016 Red Hat +# +# Author: Boris Ranto +# +# 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 + +# Make sure we execute at the top level directory before we do anything +cd $WORKSPACE + +# This will set the DISTRO and MOCK_TARGET variables +get_distro_and_target + +# Perform a clean-up +git clean -fxd + +# Make sure the dist directory is clean +rm -rf dist +mkdir -p dist + +# Print some basic system info +HOST=$(hostname --short) +echo "Building on $(hostname) with the following env" +echo "*****" +env +echo "*****" + +export LC_ALL=C # the following is vulnerable to i18n + +pkgs=( "chacractl>=0.0.21" ) +TEMPVENV=$(create_venv_dir) +VENV=${TEMPVENV}/bin +install_python_packages $TEMPVENV "pkgs[@]" + +# ask shaman which chacra instance to use +chacra_url=`curl -f -u $SHAMAN_API_USER:$SHAMAN_API_KEY https://shaman.ceph.com/api/nodes/next/` +# create the .chacractl config file using global variables +make_chacractl_config $chacra_url diff --git a/attic/ceph-iscsi-cli/build/validate_deb b/attic/ceph-iscsi-cli/build/validate_deb new file mode 100644 index 000000000..0322b47a8 --- /dev/null +++ b/attic/ceph-iscsi-cli/build/validate_deb @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +# Only do actual work when we are a DEB distro +if test -f /etc/redhat-release ; then + exit 0 +fi diff --git a/attic/ceph-iscsi-cli/build/validate_rpm b/attic/ceph-iscsi-cli/build/validate_rpm new file mode 100644 index 000000000..17b414826 --- /dev/null +++ b/attic/ceph-iscsi-cli/build/validate_rpm @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +# only do work if we are a RPM distro +if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then + exit 0 +fi diff --git a/attic/ceph-iscsi-cli/config/definitions/ceph-iscsi-cli.yml b/attic/ceph-iscsi-cli/config/definitions/ceph-iscsi-cli.yml new file mode 100644 index 000000000..4d507c5f4 --- /dev/null +++ b/attic/ceph-iscsi-cli/config/definitions/ceph-iscsi-cli.yml @@ -0,0 +1,113 @@ +- job: + name: ceph-iscsi-cli + project-type: matrix + defaults: global + display-name: 'ceph-iscsi-cli' + block-downstream: false + block-upstream: false + concurrent: true + parameters: + - string: + name: BRANCH + description: "The git branch (or tag) to build" + default: "main" + + - string: + name: DISTROS + description: "A list of distros to build for. Available options are: centos7, centos6, bionic, xenial, trusty-pbuilder, precise, wheezy, and jessie" + default: "centos7 xenial bionic" + + - string: + name: ARCHS + description: "A list of architectures to build for. Available options are: x86_64" + default: "x86_64" + + - bool: + name: FORCE + description: " +If this is unchecked, then nothing is built or pushed if they already exist in chacra. This is the default. + +If this is checked, then the binaries will be built and pushed to chacra even if they already exist in chacra." + + - string: + name: BUILD_VIRTUALENV + description: "Base parent path for virtualenv locations, set to avoid issues with extremely long paths that are incompatible with tools like pip. Defaults to '/tmp/' (note the trailing slash, which is required)." + default: "/tmp/" + + execution-strategy: + combination-filter: DIST==AVAILABLE_DIST && ARCH==AVAILABLE_ARCH && (ARCH=="x86_64" || (ARCH == "arm64" && (DIST == "xenial" || DIST == "centos7"))) + axes: + - axis: + type: label-expression + name: MACHINE_SIZE + values: + - small + - axis: + type: label-expression + name: AVAILABLE_ARCH + values: + - x86_64 + - axis: + type: label-expression + name: AVAILABLE_DIST + values: + - centos7 + - xenial + - bionic + - axis: + type: dynamic + name: DIST + - axis: + type: dynamic + name: DIST + values: + - DISTROS + - axis: + type: dynamic + name: ARCH + values: + - ARCHS + + scm: + - git: + url: git@github.com:ceph/ceph-iscsi-cli.git + # Use the SSH key attached to the ceph-jenkins GitHub account. + credentials-id: 'jenkins-build' + branches: + - $BRANCH + skip-tag: true + wipe-workspace: true + + builders: + - shell: | + echo "Cleaning up top-level workarea (shared among workspaces)" + rm -rf dist + rm -rf venv + rm -rf release + # debian build scripts + - shell: + !include-raw-verbatim: + - ../../build/validate_deb + - ../../../scripts/build_utils.sh + - ../../build/setup + - ../../build/build_deb + # rpm build scripts + - shell: + !include-raw-verbatim: + - ../../build/validate_rpm + - ../../../scripts/build_utils.sh + - ../../build/setup + - ../../build/build_rpm + + wrappers: + - inject-passwords: + global: true + mask-password-params: true + - credentials-binding: + - text: + credential-id: chacractl-key + variable: CHACRACTL_KEY + - credentials-binding: + - text: + credential-id: shaman-api-key + variable: SHAMAN_API_KEY diff --git a/attic/ceph-iscsi-config-flake8/build/build b/attic/ceph-iscsi-config-flake8/build/build new file mode 100644 index 000000000..0f6a05f27 --- /dev/null +++ b/attic/ceph-iscsi-config-flake8/build/build @@ -0,0 +1,11 @@ +#!/bin/bash + +# the following two methods exist in scripts/build_utils.sh +pkgs=( "tox" ) +TEMPVENV=$(create_venv_dir) +VENV=${TEMPVENV}/bin +install_python_packages $TEMPVENV "pkgs[@]" + +cd "$WORKSPACE/ceph-iscsi-config" + +$VENV/tox -rv -e flake8 diff --git a/attic/ceph-iscsi-config-flake8/config/definitions/ceph-iscsi-config-flake8.yml b/attic/ceph-iscsi-config-flake8/config/definitions/ceph-iscsi-config-flake8.yml new file mode 100644 index 000000000..76c496841 --- /dev/null +++ b/attic/ceph-iscsi-config-flake8/config/definitions/ceph-iscsi-config-flake8.yml @@ -0,0 +1,61 @@ +- scm: + name: ceph-iscsi-config + scm: + - git: + url: https://github.com/ceph/ceph-iscsi-config.git + branches: + - ${{sha1}} + refspec: +refs/pull/*:refs/remotes/origin/pr/* + browser: auto + timeout: 20 + skip-tag: true + wipe-workspace: true + basedir: "ceph-iscsi-config" + +- job: + name: ceph-iscsi-config-flake8 + description: Runs Flake8 tests for ceph-iscsi-config on each GitHub PR + project-type: freestyle + node: python3 + block-downstream: false + block-upstream: false + defaults: global + display-name: 'ceph-iscsi-config: Flake8' + quiet-period: 5 + retry-count: 3 + + properties: + - build-discarder: + days-to-keep: 15 + num-to-keep: 30 + artifact-days-to-keep: 15 + artifact-num-to-keep: 15 + - github: + url: https://github.com/ceph/ceph-iscsi-config/ + + parameters: + - string: + name: sha1 + description: "A pull request ID, like 'origin/pr/72/head'" + + triggers: + - github-pull-request: + admin-list: + - dillaman + org-list: + - ceph + trigger-phrase: 'jenkins flake8' + only-trigger-phrase: false + github-hooks: true + permit-all: false + auto-close-on-fail: false + status-context: "Flake8" + + scm: + - ceph-iscsi-config + + builders: + - shell: + !include-raw-verbatim: + - ../../../scripts/build_utils.sh + - ../../build/build diff --git a/attic/ceph-iscsi-config-trigger/config/definitions/ceph-iscsi-config-trigger.yml b/attic/ceph-iscsi-config-trigger/config/definitions/ceph-iscsi-config-trigger.yml new file mode 100644 index 000000000..481bda7ad --- /dev/null +++ b/attic/ceph-iscsi-config-trigger/config/definitions/ceph-iscsi-config-trigger.yml @@ -0,0 +1,37 @@ +- job: + name: ceph-iscsi-config-trigger + node: built-in + project-type: freestyle + defaults: global + quiet-period: 5 + block-downstream: false + block-upstream: false + properties: + - build-discarder: + days-to-keep: 1 + num-to-keep: 10 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + - github: + url: https://github.com/ceph/ceph-iscsi-config + discard-old-builds: true + + triggers: + - github + + scm: + - git: + url: https://github.com/ceph/ceph-iscsi-config.git + branches: + - 'origin/main*' + - 'origin/wip*' + skip-tag: true + timeout: 20 + wipe-workspace: true + + builders: + - trigger-builds: + - project: 'ceph-iscsi-config' + predefined-parameters: | + BRANCH=${{GIT_BRANCH}} + FORCE=True diff --git a/attic/ceph-iscsi-config/build/build_deb b/attic/ceph-iscsi-config/build/build_deb new file mode 100644 index 000000000..03c4ec4ec --- /dev/null +++ b/attic/ceph-iscsi-config/build/build_deb @@ -0,0 +1,9 @@ +#! /usr/bin/bash +set -ex + +# Only do actual work when we are a DEB distro +if test "$DISTRO" != "debian" -a "$DISTRO" != "ubuntu"; then + exit 0 +fi + +exit 1 diff --git a/attic/ceph-iscsi-config/build/build_rpm b/attic/ceph-iscsi-config/build/build_rpm new file mode 100644 index 000000000..f1bf4254e --- /dev/null +++ b/attic/ceph-iscsi-config/build/build_rpm @@ -0,0 +1,83 @@ +#! /usr/bin/bash +set -ex + +PROJECT=ceph-iscsi-config +BRANCH=`branch_slash_filter $BRANCH` + +# Only do actual work when we are an RPM distro +if test "$DISTRO" != "fedora" -a "$DISTRO" != "centos" -a "$DISTRO" != "rhel"; then + exit 0 +fi + +# Install the dependencies +sudo yum install -y mock + +## Get some basic information about the system and the repository +# Get version +get_rpm_dist +VERSION="$(git describe --abbrev=0 --tags HEAD)" +REVISION="$(git describe --tags HEAD | cut -d - -f 2- | sed 's/-/./')" +if [ "$VERSION" = "$REVISION" ]; then + REVISION="1" +fi + +# Create dummy dist tar +tar cf dist/${PROJECT}-${VERSION}.tar.gz \ + --exclude .git --exclude dist \ + --transform "s,^,${PROJECT}-${VERSION}/," * +tar tfv dist/${PROJECT}-${VERSION}.tar.gz + +# Update spec version +sed -i "s/^Version:.*$/Version:\t${VERSION}/g" $WORKSPACE/${PROJECT}.spec +sed -i "s/^Release:.*$/Release:\t${REVISION}%{?dist}/g" $WORKSPACE/${PROJECT}.spec +# for debugging +cat $WORKSPACE/${PROJECT}.spec + +# Update setup.py version +sed -i "s/version=\"[^\"]*\"/version=\"${VERSION}\"/g" $WORKSPACE/setup.py +# for debugging +cat $WORKSPACE/setup.py + +## Create the source rpm +echo "Building SRPM" +rpmbuild \ + --define "_sourcedir $WORKSPACE/dist" \ + --define "_specdir $WORKSPACE/dist" \ + --define "_builddir $WORKSPACE/dist" \ + --define "_srcrpmdir $WORKSPACE/dist/SRPMS" \ + --define "_rpmdir $WORKSPACE/dist/RPMS" \ + --nodeps -bs $WORKSPACE/${PROJECT}.spec +SRPM=$(readlink -f $WORKSPACE/dist/SRPMS/*.src.rpm) + +## Build the binaries with mock +echo "Building RPMs" +sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --scrub=all +sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --resultdir=$WORKSPACE/dist/RPMS/ ${SRPM} || ( tail -n +1 $WORKSPACE/dist/RPMS/{root,build}.log && exit 1 ) + +## Upload the created RPMs to chacra +chacra_endpoint="${PROJECT}/${BRANCH}/${GIT_COMMIT}/${DISTRO}/${RELEASE}" + +[ "$FORCE" = true ] && chacra_flags="--force" || chacra_flags="" + +# push binaries to chacra +find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | $VENV/chacractl binary ${chacra_flags} create ${chacra_endpoint}/noarch/ +PACKAGE_MANAGER_VERSION=$(rpm --queryformat '%{VERSION}-%{RELEASE}\n' -qp $(find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | head -1)) + +# write json file with build info +cat > $WORKSPACE/repo-extra.json << EOF +{ + "version":"$VERSION", + "package_manager_version":"$PACKAGE_MANAGER_VERSION", + "build_url":"$BUILD_URL", + "root_build_cause":"$ROOT_BUILD_CAUSE", + "node_name":"$NODE_NAME", + "job_name":"$JOB_NAME" +} +EOF +# post the json to repo-extra json to chacra +curl -X POST -H "Content-Type:application/json" --data "@$WORKSPACE/repo-extra.json" -u $CHACRACTL_USER:$CHACRACTL_KEY ${chacra_url}repos/${chacra_endpoint}/extra/ + +# start repo creation +$VENV/chacractl repo update ${chacra_endpoint} + +echo Check the status of the repo at: https://shaman.ceph.com/api/repos/${chacra_endpoint} diff --git a/attic/ceph-iscsi-config/build/setup b/attic/ceph-iscsi-config/build/setup new file mode 100644 index 000000000..993b3896a --- /dev/null +++ b/attic/ceph-iscsi-config/build/setup @@ -0,0 +1,46 @@ +#! /usr/bin/bash +# +# Ceph distributed storage system +# +# Copyright (C) 2016 Red Hat +# +# Author: Boris Ranto +# +# 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 + +# Make sure we execute at the top level directory before we do anything +cd $WORKSPACE + +# This will set the DISTRO and MOCK_TARGET variables +get_distro_and_target + +# Perform a clean-up +git clean -fxd + +# Make sure the dist directory is clean +rm -rf dist +mkdir -p dist + +# Print some basic system info +HOST=$(hostname --short) +echo "Building on $(hostname) with the following env" +echo "*****" +env +echo "*****" + +export LC_ALL=C # the following is vulnerable to i18n + +pkgs=( "chacractl>=0.0.21" ) +TEMPVENV=$(create_venv_dir) +VENV=${TEMPVENV}/bin +install_python_packages $TEMPVENV "pkgs[@]" + +# ask shaman which chacra instance to use +chacra_url=`curl -f -u $SHAMAN_API_USER:$SHAMAN_API_KEY https://shaman.ceph.com/api/nodes/next/` +# create the .chacractl config file using global variables +make_chacractl_config $chacra_url diff --git a/attic/ceph-iscsi-config/build/validate_deb b/attic/ceph-iscsi-config/build/validate_deb new file mode 100644 index 000000000..0322b47a8 --- /dev/null +++ b/attic/ceph-iscsi-config/build/validate_deb @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +# Only do actual work when we are a DEB distro +if test -f /etc/redhat-release ; then + exit 0 +fi diff --git a/attic/ceph-iscsi-config/build/validate_rpm b/attic/ceph-iscsi-config/build/validate_rpm new file mode 100644 index 000000000..17b414826 --- /dev/null +++ b/attic/ceph-iscsi-config/build/validate_rpm @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +# only do work if we are a RPM distro +if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then + exit 0 +fi diff --git a/attic/ceph-iscsi-config/config/definitions/ceph-iscsi-config.yml b/attic/ceph-iscsi-config/config/definitions/ceph-iscsi-config.yml new file mode 100644 index 000000000..61fa0a3b1 --- /dev/null +++ b/attic/ceph-iscsi-config/config/definitions/ceph-iscsi-config.yml @@ -0,0 +1,113 @@ +- job: + name: ceph-iscsi-config + project-type: matrix + defaults: global + display-name: 'ceph-iscsi-config' + block-downstream: false + block-upstream: false + concurrent: true + parameters: + - string: + name: BRANCH + description: "The git branch (or tag) to build" + default: "main" + + - string: + name: DISTROS + description: "A list of distros to build for. Available options are: centos7, centos6, bionic, xenial, trusty-pbuilder, precise, wheezy, and jessie" + default: "centos7 xenial bionic" + + - string: + name: ARCHS + description: "A list of architectures to build for. Available options are: x86_64" + default: "x86_64" + + - bool: + name: FORCE + description: " +If this is unchecked, then nothing is built or pushed if they already exist in chacra. This is the default. + +If this is checked, then the binaries will be built and pushed to chacra even if they already exist in chacra." + + - string: + name: BUILD_VIRTUALENV + description: "Base parent path for virtualenv locations, set to avoid issues with extremely long paths that are incompatible with tools like pip. Defaults to '/tmp/' (note the trailing slash, which is required)." + default: "/tmp/" + + execution-strategy: + combination-filter: DIST==AVAILABLE_DIST && ARCH==AVAILABLE_ARCH && (ARCH=="x86_64" || (ARCH == "arm64" && (DIST == "xenial" || DIST == "centos7"))) + axes: + - axis: + type: label-expression + name: MACHINE_SIZE + values: + - small + - axis: + type: label-expression + name: AVAILABLE_ARCH + values: + - x86_64 + - axis: + type: label-expression + name: AVAILABLE_DIST + values: + - centos7 + - xenial + - bionic + - axis: + type: dynamic + name: DIST + - axis: + type: dynamic + name: DIST + values: + - DISTROS + - axis: + type: dynamic + name: ARCH + values: + - ARCHS + + scm: + - git: + url: git@github.com:ceph/ceph-iscsi-config.git + # Use the SSH key attached to the ceph-jenkins GitHub account. + credentials-id: 'jenkins-build' + branches: + - $BRANCH + skip-tag: true + wipe-workspace: true + + builders: + - shell: | + echo "Cleaning up top-level workarea (shared among workspaces)" + rm -rf dist + rm -rf venv + rm -rf release + # debian build scripts + - shell: + !include-raw-verbatim: + - ../../build/validate_deb + - ../../../scripts/build_utils.sh + - ../../build/setup + - ../../build/build_deb + # rpm build scripts + - shell: + !include-raw-verbatim: + - ../../build/validate_rpm + - ../../../scripts/build_utils.sh + - ../../build/setup + - ../../build/build_rpm + + wrappers: + - inject-passwords: + global: true + mask-password-params: true + - credentials-binding: + - text: + credential-id: chacractl-key + variable: CHACRACTL_KEY + - credentials-binding: + - text: + credential-id: shaman-api-key + variable: SHAMAN_API_KEY diff --git a/attic/ceph-iscsi-tools-trigger/config/definitions/ceph-iscsi-tools-trigger.yml b/attic/ceph-iscsi-tools-trigger/config/definitions/ceph-iscsi-tools-trigger.yml new file mode 100644 index 000000000..8cb0896ef --- /dev/null +++ b/attic/ceph-iscsi-tools-trigger/config/definitions/ceph-iscsi-tools-trigger.yml @@ -0,0 +1,37 @@ +- job: + name: ceph-iscsi-tools-trigger + node: built-in + project-type: freestyle + defaults: global + quiet-period: 5 + block-downstream: false + block-upstream: false + properties: + - build-discarder: + days-to-keep: 1 + num-to-keep: 10 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + - github: + url: https://github.com/ceph/ceph-iscsi-tools + discard-old-builds: true + + triggers: + - github + + scm: + - git: + url: https://github.com/ceph/ceph-iscsi-tools.git + branches: + - 'origin/main*' + - 'origin/wip*' + skip-tag: true + timeout: 20 + wipe-workspace: true + + builders: + - trigger-builds: + - project: 'ceph-iscsi-tools' + predefined-parameters: | + BRANCH=${{GIT_BRANCH}} + FORCE=True diff --git a/attic/ceph-iscsi-tools/build/build_deb b/attic/ceph-iscsi-tools/build/build_deb new file mode 100644 index 000000000..03c4ec4ec --- /dev/null +++ b/attic/ceph-iscsi-tools/build/build_deb @@ -0,0 +1,9 @@ +#! /usr/bin/bash +set -ex + +# Only do actual work when we are a DEB distro +if test "$DISTRO" != "debian" -a "$DISTRO" != "ubuntu"; then + exit 0 +fi + +exit 1 diff --git a/attic/ceph-iscsi-tools/build/build_rpm b/attic/ceph-iscsi-tools/build/build_rpm new file mode 100644 index 000000000..433f85949 --- /dev/null +++ b/attic/ceph-iscsi-tools/build/build_rpm @@ -0,0 +1,83 @@ +#! /usr/bin/bash +set -ex + +PROJECT=ceph-iscsi-tools +BRANCH=`branch_slash_filter $BRANCH` + +# Only do actual work when we are an RPM distro +if test "$DISTRO" != "fedora" -a "$DISTRO" != "centos" -a "$DISTRO" != "rhel"; then + exit 0 +fi + +# Install the dependencies +sudo yum install -y mock + +## Get some basic information about the system and the repository +# Get version +get_rpm_dist +VERSION="$(git describe --abbrev=0 --tags HEAD)" +REVISION="$(git describe --tags HEAD | cut -d - -f 2- | sed 's/-/./')" +if [ "$VERSION" = "$REVISION" ]; then + REVISION="1" +fi + +# Create dummy dist tar +tar cf dist/${PROJECT}-${VERSION}.tar.gz \ + --exclude .git --exclude dist \ + --transform "s,^,${PROJECT}-${VERSION}/," * +tar tfv dist/${PROJECT}-${VERSION}.tar.gz + +# Update spec version +sed -i "s/^Version:.*$/Version:\t${VERSION}/g" $WORKSPACE/${PROJECT}.spec +sed -i "s/^Release:.*$/Release:\t${REVISION}%{?dist}/g" $WORKSPACE/${PROJECT}.spec +# for debugging +cat $WORKSPACE/${PROJECT}.spec + +# Update setup.py version +sed -i "s/version=\"[^\"]*\"/version=\"${VERSION}\"/g" $WORKSPACE/setup.py +# for debugging +cat $WORKSPACE/setup.py + +## Create the source rpm +echo "Building SRPM" +rpmbuild \ + --define "_sourcedir $WORKSPACE/dist" \ + --define "_specdir $WORKSPACE/dist" \ + --define "_builddir $WORKSPACE/dist" \ + --define "_srcrpmdir $WORKSPACE/dist/SRPMS" \ + --define "_rpmdir $WORKSPACE/dist/RPMS" \ + --nodeps -bs $WORKSPACE/${PROJECT}.spec +SRPM=$(readlink -f $WORKSPACE/dist/SRPMS/*.src.rpm) + +## Build the binaries with mock +echo "Building RPMs" +sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --scrub=all +sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --resultdir=$WORKSPACE/dist/RPMS/ ${SRPM} || ( tail -n +1 $WORKSPACE/dist/RPMS/{root,build}.log && exit 1 ) + +## Upload the created RPMs to chacra +chacra_endpoint="${PROJECT}/${BRANCH}/${GIT_COMMIT}/${DISTRO}/${RELEASE}" + +[ "$FORCE" = true ] && chacra_flags="--force" || chacra_flags="" + +# push binaries to chacra +find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | $VENV/chacractl binary ${chacra_flags} create ${chacra_endpoint}/noarch/ +PACKAGE_MANAGER_VERSION=$(rpm --queryformat '%{VERSION}-%{RELEASE}\n' -qp $(find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | head -1)) + +# write json file with build info +cat > $WORKSPACE/repo-extra.json << EOF +{ + "version":"$VERSION", + "package_manager_version":"$PACKAGE_MANAGER_VERSION", + "build_url":"$BUILD_URL", + "root_build_cause":"$ROOT_BUILD_CAUSE", + "node_name":"$NODE_NAME", + "job_name":"$JOB_NAME" +} +EOF +# post the json to repo-extra json to chacra +curl -X POST -H "Content-Type:application/json" --data "@$WORKSPACE/repo-extra.json" -u $CHACRACTL_USER:$CHACRACTL_KEY ${chacra_url}repos/${chacra_endpoint}/extra/ + +# start repo creation +$VENV/chacractl repo update ${chacra_endpoint} + +echo Check the status of the repo at: https://shaman.ceph.com/api/repos/${chacra_endpoint} diff --git a/attic/ceph-iscsi-tools/build/setup b/attic/ceph-iscsi-tools/build/setup new file mode 100644 index 000000000..993b3896a --- /dev/null +++ b/attic/ceph-iscsi-tools/build/setup @@ -0,0 +1,46 @@ +#! /usr/bin/bash +# +# Ceph distributed storage system +# +# Copyright (C) 2016 Red Hat +# +# Author: Boris Ranto +# +# 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 + +# Make sure we execute at the top level directory before we do anything +cd $WORKSPACE + +# This will set the DISTRO and MOCK_TARGET variables +get_distro_and_target + +# Perform a clean-up +git clean -fxd + +# Make sure the dist directory is clean +rm -rf dist +mkdir -p dist + +# Print some basic system info +HOST=$(hostname --short) +echo "Building on $(hostname) with the following env" +echo "*****" +env +echo "*****" + +export LC_ALL=C # the following is vulnerable to i18n + +pkgs=( "chacractl>=0.0.21" ) +TEMPVENV=$(create_venv_dir) +VENV=${TEMPVENV}/bin +install_python_packages $TEMPVENV "pkgs[@]" + +# ask shaman which chacra instance to use +chacra_url=`curl -f -u $SHAMAN_API_USER:$SHAMAN_API_KEY https://shaman.ceph.com/api/nodes/next/` +# create the .chacractl config file using global variables +make_chacractl_config $chacra_url diff --git a/attic/ceph-iscsi-tools/build/validate_deb b/attic/ceph-iscsi-tools/build/validate_deb new file mode 100644 index 000000000..0322b47a8 --- /dev/null +++ b/attic/ceph-iscsi-tools/build/validate_deb @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +# Only do actual work when we are a DEB distro +if test -f /etc/redhat-release ; then + exit 0 +fi diff --git a/attic/ceph-iscsi-tools/build/validate_rpm b/attic/ceph-iscsi-tools/build/validate_rpm new file mode 100644 index 000000000..17b414826 --- /dev/null +++ b/attic/ceph-iscsi-tools/build/validate_rpm @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +# only do work if we are a RPM distro +if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then + exit 0 +fi diff --git a/attic/ceph-iscsi-tools/config/definitions/ceph-iscsi-tools.yml b/attic/ceph-iscsi-tools/config/definitions/ceph-iscsi-tools.yml new file mode 100644 index 000000000..3d223db8f --- /dev/null +++ b/attic/ceph-iscsi-tools/config/definitions/ceph-iscsi-tools.yml @@ -0,0 +1,113 @@ +- job: + name: ceph-iscsi-tools + project-type: matrix + defaults: global + display-name: 'ceph-iscsi-tools' + block-downstream: false + block-upstream: false + concurrent: true + parameters: + - string: + name: BRANCH + description: "The git branch (or tag) to build" + default: "main" + + - string: + name: DISTROS + description: "A list of distros to build for. Available options are: xenial, centos7, centos8" + default: "centos7 centos8" + + - string: + name: ARCHS + description: "A list of architectures to build for. Available options are: x86_64" + default: "x86_64" + + - bool: + name: FORCE + description: " +If this is unchecked, then nothing is built or pushed if they already exist in chacra. This is the default. + +If this is checked, then the binaries will be built and pushed to chacra even if they already exist in chacra." + + - string: + name: BUILD_VIRTUALENV + description: "Base parent path for virtualenv locations, set to avoid issues with extremely long paths that are incompatible with tools like pip. Defaults to '/tmp/' (note the trailing slash, which is required)." + default: "/tmp/" + + execution-strategy: + combination-filter: DIST==AVAILABLE_DIST && ARCH==AVAILABLE_ARCH && (ARCH=="x86_64" || (ARCH == "arm64" && (DIST == "xenial" || DIST == "centos7"))) + axes: + - axis: + type: label-expression + name: MACHINE_SIZE + values: + - small + - axis: + type: label-expression + name: AVAILABLE_ARCH + values: + - x86_64 + - axis: + type: label-expression + name: AVAILABLE_DIST + values: + - centos7 + - centos8 + - xenial + - axis: + type: dynamic + name: DIST + - axis: + type: dynamic + name: DIST + values: + - DISTROS + - axis: + type: dynamic + name: ARCH + values: + - ARCHS + + scm: + - git: + url: git@github.com:ceph/ceph-iscsi-tools.git + # Use the SSH key attached to the ceph-jenkins GitHub account. + credentials-id: 'jenkins-build' + branches: + - $BRANCH + skip-tag: true + wipe-workspace: true + + builders: + - shell: | + echo "Cleaning up top-level workarea (shared among workspaces)" + rm -rf dist + rm -rf venv + rm -rf release + # debian build scripts + - shell: + !include-raw-verbatim: + - ../../build/validate_deb + - ../../../scripts/build_utils.sh + - ../../build/setup + - ../../build/build_deb + # rpm build scripts + - shell: + !include-raw-verbatim: + - ../../build/validate_rpm + - ../../../scripts/build_utils.sh + - ../../build/setup + - ../../build/build_rpm + + wrappers: + - inject-passwords: + global: true + mask-password-params: true + - credentials-binding: + - text: + credential-id: chacractl-key + variable: CHACRACTL_KEY + - credentials-binding: + - text: + credential-id: shaman-api-key + variable: SHAMAN_API_KEY diff --git a/ceph-iscsi-cli-flake8/build/build b/ceph-iscsi-cli-flake8/build/build deleted file mode 100644 index fa2327dc4..000000000 --- a/ceph-iscsi-cli-flake8/build/build +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# the following two methods exist in scripts/build_utils.sh -pkgs=( "tox" ) -TEMPVENV=$(create_venv_dir) -VENV=${TEMPVENV}/bin -install_python_packages $TEMPVENV "pkgs[@]" - -cd "$WORKSPACE/ceph-iscsi-cli" - -$VENV/tox -rv -e flake8 diff --git a/ceph-iscsi-cli-flake8/config/definitions/ceph-iscsi-config-flake8.yml b/ceph-iscsi-cli-flake8/config/definitions/ceph-iscsi-config-flake8.yml deleted file mode 100644 index 78772f624..000000000 --- a/ceph-iscsi-cli-flake8/config/definitions/ceph-iscsi-config-flake8.yml +++ /dev/null @@ -1,61 +0,0 @@ -- scm: - name: ceph-iscsi-cli - scm: - - git: - url: https://github.com/ceph/ceph-iscsi-cli.git - branches: - - ${{sha1}} - refspec: +refs/pull/*:refs/remotes/origin/pr/* - browser: auto - timeout: 20 - skip-tag: true - wipe-workspace: true - basedir: "ceph-iscsi-cli" - -- job: - name: ceph-iscsi-cli-flake8 - description: Runs Flake8 tests for ceph-iscsi-cli on each GitHub PR - project-type: freestyle - node: python3 - block-downstream: false - block-upstream: false - defaults: global - display-name: 'ceph-iscsi-cli: Flake8' - quiet-period: 5 - retry-count: 3 - - properties: - - build-discarder: - days-to-keep: 15 - num-to-keep: 30 - artifact-days-to-keep: 15 - artifact-num-to-keep: 15 - - github: - url: https://github.com/ceph/ceph-iscsi-cli/ - - parameters: - - string: - name: sha1 - description: "A pull request ID, like 'origin/pr/72/head'" - - triggers: - - github-pull-request: - admin-list: - - dillaman - org-list: - - ceph - trigger-phrase: 'jenkins flake8' - only-trigger-phrase: false - github-hooks: true - permit-all: false - auto-close-on-fail: false - status-context: "Flake8" - - scm: - - ceph-iscsi-cli - - builders: - - shell: - !include-raw-verbatim: - - ../../../scripts/build_utils.sh - - ../../build/build diff --git a/ceph-iscsi-cli-trigger/config/definitions/ceph-iscsi-cli-trigger.yml b/ceph-iscsi-cli-trigger/config/definitions/ceph-iscsi-cli-trigger.yml deleted file mode 100644 index cc9401dc5..000000000 --- a/ceph-iscsi-cli-trigger/config/definitions/ceph-iscsi-cli-trigger.yml +++ /dev/null @@ -1,37 +0,0 @@ -- job: - name: ceph-iscsi-cli-trigger - node: built-in - project-type: freestyle - defaults: global - quiet-period: 5 - block-downstream: false - block-upstream: false - properties: - - build-discarder: - days-to-keep: 1 - num-to-keep: 10 - artifact-days-to-keep: -1 - artifact-num-to-keep: -1 - - github: - url: https://github.com/ceph/ceph-iscsi-cli - discard-old-builds: true - - triggers: - - github - - scm: - - git: - url: https://github.com/ceph/ceph-iscsi-cli.git - branches: - - 'origin/main*' - - 'origin/wip*' - skip-tag: true - timeout: 20 - wipe-workspace: true - - builders: - - trigger-builds: - - project: 'ceph-iscsi-cli' - predefined-parameters: | - BRANCH=${{GIT_BRANCH}} - FORCE=True diff --git a/ceph-iscsi-cli/build/build_deb b/ceph-iscsi-cli/build/build_deb deleted file mode 100644 index 03c4ec4ec..000000000 --- a/ceph-iscsi-cli/build/build_deb +++ /dev/null @@ -1,9 +0,0 @@ -#! /usr/bin/bash -set -ex - -# Only do actual work when we are a DEB distro -if test "$DISTRO" != "debian" -a "$DISTRO" != "ubuntu"; then - exit 0 -fi - -exit 1 diff --git a/ceph-iscsi-cli/build/build_rpm b/ceph-iscsi-cli/build/build_rpm deleted file mode 100644 index bd3c54a5e..000000000 --- a/ceph-iscsi-cli/build/build_rpm +++ /dev/null @@ -1,83 +0,0 @@ -#! /usr/bin/bash -set -ex - -PROJECT=ceph-iscsi-cli -BRANCH=`branch_slash_filter $BRANCH` - -# Only do actual work when we are an RPM distro -if test "$DISTRO" != "fedora" -a "$DISTRO" != "centos" -a "$DISTRO" != "rhel"; then - exit 0 -fi - -# Install the dependencies -sudo yum install -y mock - -## Get some basic information about the system and the repository -# Get version -get_rpm_dist -VERSION="$(git describe --abbrev=0 --tags HEAD)" -REVISION="$(git describe --tags HEAD | cut -d - -f 2- | sed 's/-/./')" -if [ "$VERSION" = "$REVISION" ]; then - REVISION="1" -fi - -# Create dummy dist tar -tar cf dist/${PROJECT}-${VERSION}.tar.gz \ - --exclude .git --exclude dist \ - --transform "s,^,${PROJECT}-${VERSION}/," * -tar tfv dist/${PROJECT}-${VERSION}.tar.gz - -# Update spec version -sed -i "s/^Version:.*$/Version:\t${VERSION}/g" $WORKSPACE/${PROJECT}.spec -sed -i "s/^Release:.*$/Release:\t${REVISION}%{?dist}/g" $WORKSPACE/${PROJECT}.spec -# for debugging -cat $WORKSPACE/${PROJECT}.spec - -# Update setup.py version -sed -i "s/version=\"[^\"]*\"/version=\"${VERSION}\"/g" $WORKSPACE/setup.py -# for debugging -cat $WORKSPACE/setup.py - -## Create the source rpm -echo "Building SRPM" -rpmbuild \ - --define "_sourcedir $WORKSPACE/dist" \ - --define "_specdir $WORKSPACE/dist" \ - --define "_builddir $WORKSPACE/dist" \ - --define "_srcrpmdir $WORKSPACE/dist/SRPMS" \ - --define "_rpmdir $WORKSPACE/dist/RPMS" \ - --nodeps -bs $WORKSPACE/${PROJECT}.spec -SRPM=$(readlink -f $WORKSPACE/dist/SRPMS/*.src.rpm) - -## Build the binaries with mock -echo "Building RPMs" -sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --scrub=all -sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --resultdir=$WORKSPACE/dist/RPMS/ ${SRPM} || ( tail -n +1 $WORKSPACE/dist/RPMS/{root,build}.log && exit 1 ) - -## Upload the created RPMs to chacra -chacra_endpoint="${PROJECT}/${BRANCH}/${GIT_COMMIT}/${DISTRO}/${RELEASE}" - -[ "$FORCE" = true ] && chacra_flags="--force" || chacra_flags="" - -# push binaries to chacra -find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | $VENV/chacractl binary ${chacra_flags} create ${chacra_endpoint}/noarch/ -PACKAGE_MANAGER_VERSION=$(rpm --queryformat '%{VERSION}-%{RELEASE}\n' -qp $(find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | head -1)) - -# write json file with build info -cat > $WORKSPACE/repo-extra.json << EOF -{ - "version":"$VERSION", - "package_manager_version":"$PACKAGE_MANAGER_VERSION", - "build_url":"$BUILD_URL", - "root_build_cause":"$ROOT_BUILD_CAUSE", - "node_name":"$NODE_NAME", - "job_name":"$JOB_NAME" -} -EOF -# post the json to repo-extra json to chacra -curl -X POST -H "Content-Type:application/json" --data "@$WORKSPACE/repo-extra.json" -u $CHACRACTL_USER:$CHACRACTL_KEY ${chacra_url}repos/${chacra_endpoint}/extra/ - -# start repo creation -$VENV/chacractl repo update ${chacra_endpoint} - -echo Check the status of the repo at: https://shaman.ceph.com/api/repos/${chacra_endpoint} diff --git a/ceph-iscsi-cli/build/setup b/ceph-iscsi-cli/build/setup deleted file mode 100644 index 993b3896a..000000000 --- a/ceph-iscsi-cli/build/setup +++ /dev/null @@ -1,46 +0,0 @@ -#! /usr/bin/bash -# -# Ceph distributed storage system -# -# Copyright (C) 2016 Red Hat -# -# Author: Boris Ranto -# -# 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 - -# Make sure we execute at the top level directory before we do anything -cd $WORKSPACE - -# This will set the DISTRO and MOCK_TARGET variables -get_distro_and_target - -# Perform a clean-up -git clean -fxd - -# Make sure the dist directory is clean -rm -rf dist -mkdir -p dist - -# Print some basic system info -HOST=$(hostname --short) -echo "Building on $(hostname) with the following env" -echo "*****" -env -echo "*****" - -export LC_ALL=C # the following is vulnerable to i18n - -pkgs=( "chacractl>=0.0.21" ) -TEMPVENV=$(create_venv_dir) -VENV=${TEMPVENV}/bin -install_python_packages $TEMPVENV "pkgs[@]" - -# ask shaman which chacra instance to use -chacra_url=`curl -f -u $SHAMAN_API_USER:$SHAMAN_API_KEY https://shaman.ceph.com/api/nodes/next/` -# create the .chacractl config file using global variables -make_chacractl_config $chacra_url diff --git a/ceph-iscsi-cli/build/validate_deb b/ceph-iscsi-cli/build/validate_deb deleted file mode 100644 index 0322b47a8..000000000 --- a/ceph-iscsi-cli/build/validate_deb +++ /dev/null @@ -1,7 +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 diff --git a/ceph-iscsi-cli/build/validate_rpm b/ceph-iscsi-cli/build/validate_rpm deleted file mode 100644 index 17b414826..000000000 --- a/ceph-iscsi-cli/build/validate_rpm +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -ex - -# only do work if we are a RPM distro -if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then - exit 0 -fi diff --git a/ceph-iscsi-cli/config/definitions/ceph-iscsi-cli.yml b/ceph-iscsi-cli/config/definitions/ceph-iscsi-cli.yml deleted file mode 100644 index 4d507c5f4..000000000 --- a/ceph-iscsi-cli/config/definitions/ceph-iscsi-cli.yml +++ /dev/null @@ -1,113 +0,0 @@ -- job: - name: ceph-iscsi-cli - project-type: matrix - defaults: global - display-name: 'ceph-iscsi-cli' - block-downstream: false - block-upstream: false - concurrent: true - parameters: - - string: - name: BRANCH - description: "The git branch (or tag) to build" - default: "main" - - - string: - name: DISTROS - description: "A list of distros to build for. Available options are: centos7, centos6, bionic, xenial, trusty-pbuilder, precise, wheezy, and jessie" - default: "centos7 xenial bionic" - - - string: - name: ARCHS - description: "A list of architectures to build for. Available options are: x86_64" - default: "x86_64" - - - bool: - name: FORCE - description: " -If this is unchecked, then nothing is built or pushed if they already exist in chacra. This is the default. - -If this is checked, then the binaries will be built and pushed to chacra even if they already exist in chacra." - - - string: - name: BUILD_VIRTUALENV - description: "Base parent path for virtualenv locations, set to avoid issues with extremely long paths that are incompatible with tools like pip. Defaults to '/tmp/' (note the trailing slash, which is required)." - default: "/tmp/" - - execution-strategy: - combination-filter: DIST==AVAILABLE_DIST && ARCH==AVAILABLE_ARCH && (ARCH=="x86_64" || (ARCH == "arm64" && (DIST == "xenial" || DIST == "centos7"))) - axes: - - axis: - type: label-expression - name: MACHINE_SIZE - values: - - small - - axis: - type: label-expression - name: AVAILABLE_ARCH - values: - - x86_64 - - axis: - type: label-expression - name: AVAILABLE_DIST - values: - - centos7 - - xenial - - bionic - - axis: - type: dynamic - name: DIST - - axis: - type: dynamic - name: DIST - values: - - DISTROS - - axis: - type: dynamic - name: ARCH - values: - - ARCHS - - scm: - - git: - url: git@github.com:ceph/ceph-iscsi-cli.git - # Use the SSH key attached to the ceph-jenkins GitHub account. - credentials-id: 'jenkins-build' - branches: - - $BRANCH - skip-tag: true - wipe-workspace: true - - builders: - - shell: | - echo "Cleaning up top-level workarea (shared among workspaces)" - rm -rf dist - rm -rf venv - rm -rf release - # debian build scripts - - shell: - !include-raw-verbatim: - - ../../build/validate_deb - - ../../../scripts/build_utils.sh - - ../../build/setup - - ../../build/build_deb - # rpm build scripts - - shell: - !include-raw-verbatim: - - ../../build/validate_rpm - - ../../../scripts/build_utils.sh - - ../../build/setup - - ../../build/build_rpm - - wrappers: - - inject-passwords: - global: true - mask-password-params: true - - credentials-binding: - - text: - credential-id: chacractl-key - variable: CHACRACTL_KEY - - credentials-binding: - - text: - credential-id: shaman-api-key - variable: SHAMAN_API_KEY diff --git a/ceph-iscsi-config-flake8/build/build b/ceph-iscsi-config-flake8/build/build deleted file mode 100644 index 0f6a05f27..000000000 --- a/ceph-iscsi-config-flake8/build/build +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# the following two methods exist in scripts/build_utils.sh -pkgs=( "tox" ) -TEMPVENV=$(create_venv_dir) -VENV=${TEMPVENV}/bin -install_python_packages $TEMPVENV "pkgs[@]" - -cd "$WORKSPACE/ceph-iscsi-config" - -$VENV/tox -rv -e flake8 diff --git a/ceph-iscsi-config-flake8/config/definitions/ceph-iscsi-config-flake8.yml b/ceph-iscsi-config-flake8/config/definitions/ceph-iscsi-config-flake8.yml deleted file mode 100644 index 76c496841..000000000 --- a/ceph-iscsi-config-flake8/config/definitions/ceph-iscsi-config-flake8.yml +++ /dev/null @@ -1,61 +0,0 @@ -- scm: - name: ceph-iscsi-config - scm: - - git: - url: https://github.com/ceph/ceph-iscsi-config.git - branches: - - ${{sha1}} - refspec: +refs/pull/*:refs/remotes/origin/pr/* - browser: auto - timeout: 20 - skip-tag: true - wipe-workspace: true - basedir: "ceph-iscsi-config" - -- job: - name: ceph-iscsi-config-flake8 - description: Runs Flake8 tests for ceph-iscsi-config on each GitHub PR - project-type: freestyle - node: python3 - block-downstream: false - block-upstream: false - defaults: global - display-name: 'ceph-iscsi-config: Flake8' - quiet-period: 5 - retry-count: 3 - - properties: - - build-discarder: - days-to-keep: 15 - num-to-keep: 30 - artifact-days-to-keep: 15 - artifact-num-to-keep: 15 - - github: - url: https://github.com/ceph/ceph-iscsi-config/ - - parameters: - - string: - name: sha1 - description: "A pull request ID, like 'origin/pr/72/head'" - - triggers: - - github-pull-request: - admin-list: - - dillaman - org-list: - - ceph - trigger-phrase: 'jenkins flake8' - only-trigger-phrase: false - github-hooks: true - permit-all: false - auto-close-on-fail: false - status-context: "Flake8" - - scm: - - ceph-iscsi-config - - builders: - - shell: - !include-raw-verbatim: - - ../../../scripts/build_utils.sh - - ../../build/build diff --git a/ceph-iscsi-config-trigger/config/definitions/ceph-iscsi-config-trigger.yml b/ceph-iscsi-config-trigger/config/definitions/ceph-iscsi-config-trigger.yml deleted file mode 100644 index 481bda7ad..000000000 --- a/ceph-iscsi-config-trigger/config/definitions/ceph-iscsi-config-trigger.yml +++ /dev/null @@ -1,37 +0,0 @@ -- job: - name: ceph-iscsi-config-trigger - node: built-in - project-type: freestyle - defaults: global - quiet-period: 5 - block-downstream: false - block-upstream: false - properties: - - build-discarder: - days-to-keep: 1 - num-to-keep: 10 - artifact-days-to-keep: -1 - artifact-num-to-keep: -1 - - github: - url: https://github.com/ceph/ceph-iscsi-config - discard-old-builds: true - - triggers: - - github - - scm: - - git: - url: https://github.com/ceph/ceph-iscsi-config.git - branches: - - 'origin/main*' - - 'origin/wip*' - skip-tag: true - timeout: 20 - wipe-workspace: true - - builders: - - trigger-builds: - - project: 'ceph-iscsi-config' - predefined-parameters: | - BRANCH=${{GIT_BRANCH}} - FORCE=True diff --git a/ceph-iscsi-config/build/build_deb b/ceph-iscsi-config/build/build_deb deleted file mode 100644 index 03c4ec4ec..000000000 --- a/ceph-iscsi-config/build/build_deb +++ /dev/null @@ -1,9 +0,0 @@ -#! /usr/bin/bash -set -ex - -# Only do actual work when we are a DEB distro -if test "$DISTRO" != "debian" -a "$DISTRO" != "ubuntu"; then - exit 0 -fi - -exit 1 diff --git a/ceph-iscsi-config/build/build_rpm b/ceph-iscsi-config/build/build_rpm deleted file mode 100644 index f1bf4254e..000000000 --- a/ceph-iscsi-config/build/build_rpm +++ /dev/null @@ -1,83 +0,0 @@ -#! /usr/bin/bash -set -ex - -PROJECT=ceph-iscsi-config -BRANCH=`branch_slash_filter $BRANCH` - -# Only do actual work when we are an RPM distro -if test "$DISTRO" != "fedora" -a "$DISTRO" != "centos" -a "$DISTRO" != "rhel"; then - exit 0 -fi - -# Install the dependencies -sudo yum install -y mock - -## Get some basic information about the system and the repository -# Get version -get_rpm_dist -VERSION="$(git describe --abbrev=0 --tags HEAD)" -REVISION="$(git describe --tags HEAD | cut -d - -f 2- | sed 's/-/./')" -if [ "$VERSION" = "$REVISION" ]; then - REVISION="1" -fi - -# Create dummy dist tar -tar cf dist/${PROJECT}-${VERSION}.tar.gz \ - --exclude .git --exclude dist \ - --transform "s,^,${PROJECT}-${VERSION}/," * -tar tfv dist/${PROJECT}-${VERSION}.tar.gz - -# Update spec version -sed -i "s/^Version:.*$/Version:\t${VERSION}/g" $WORKSPACE/${PROJECT}.spec -sed -i "s/^Release:.*$/Release:\t${REVISION}%{?dist}/g" $WORKSPACE/${PROJECT}.spec -# for debugging -cat $WORKSPACE/${PROJECT}.spec - -# Update setup.py version -sed -i "s/version=\"[^\"]*\"/version=\"${VERSION}\"/g" $WORKSPACE/setup.py -# for debugging -cat $WORKSPACE/setup.py - -## Create the source rpm -echo "Building SRPM" -rpmbuild \ - --define "_sourcedir $WORKSPACE/dist" \ - --define "_specdir $WORKSPACE/dist" \ - --define "_builddir $WORKSPACE/dist" \ - --define "_srcrpmdir $WORKSPACE/dist/SRPMS" \ - --define "_rpmdir $WORKSPACE/dist/RPMS" \ - --nodeps -bs $WORKSPACE/${PROJECT}.spec -SRPM=$(readlink -f $WORKSPACE/dist/SRPMS/*.src.rpm) - -## Build the binaries with mock -echo "Building RPMs" -sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --scrub=all -sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --resultdir=$WORKSPACE/dist/RPMS/ ${SRPM} || ( tail -n +1 $WORKSPACE/dist/RPMS/{root,build}.log && exit 1 ) - -## Upload the created RPMs to chacra -chacra_endpoint="${PROJECT}/${BRANCH}/${GIT_COMMIT}/${DISTRO}/${RELEASE}" - -[ "$FORCE" = true ] && chacra_flags="--force" || chacra_flags="" - -# push binaries to chacra -find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | $VENV/chacractl binary ${chacra_flags} create ${chacra_endpoint}/noarch/ -PACKAGE_MANAGER_VERSION=$(rpm --queryformat '%{VERSION}-%{RELEASE}\n' -qp $(find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | head -1)) - -# write json file with build info -cat > $WORKSPACE/repo-extra.json << EOF -{ - "version":"$VERSION", - "package_manager_version":"$PACKAGE_MANAGER_VERSION", - "build_url":"$BUILD_URL", - "root_build_cause":"$ROOT_BUILD_CAUSE", - "node_name":"$NODE_NAME", - "job_name":"$JOB_NAME" -} -EOF -# post the json to repo-extra json to chacra -curl -X POST -H "Content-Type:application/json" --data "@$WORKSPACE/repo-extra.json" -u $CHACRACTL_USER:$CHACRACTL_KEY ${chacra_url}repos/${chacra_endpoint}/extra/ - -# start repo creation -$VENV/chacractl repo update ${chacra_endpoint} - -echo Check the status of the repo at: https://shaman.ceph.com/api/repos/${chacra_endpoint} diff --git a/ceph-iscsi-config/build/setup b/ceph-iscsi-config/build/setup deleted file mode 100644 index 993b3896a..000000000 --- a/ceph-iscsi-config/build/setup +++ /dev/null @@ -1,46 +0,0 @@ -#! /usr/bin/bash -# -# Ceph distributed storage system -# -# Copyright (C) 2016 Red Hat -# -# Author: Boris Ranto -# -# 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 - -# Make sure we execute at the top level directory before we do anything -cd $WORKSPACE - -# This will set the DISTRO and MOCK_TARGET variables -get_distro_and_target - -# Perform a clean-up -git clean -fxd - -# Make sure the dist directory is clean -rm -rf dist -mkdir -p dist - -# Print some basic system info -HOST=$(hostname --short) -echo "Building on $(hostname) with the following env" -echo "*****" -env -echo "*****" - -export LC_ALL=C # the following is vulnerable to i18n - -pkgs=( "chacractl>=0.0.21" ) -TEMPVENV=$(create_venv_dir) -VENV=${TEMPVENV}/bin -install_python_packages $TEMPVENV "pkgs[@]" - -# ask shaman which chacra instance to use -chacra_url=`curl -f -u $SHAMAN_API_USER:$SHAMAN_API_KEY https://shaman.ceph.com/api/nodes/next/` -# create the .chacractl config file using global variables -make_chacractl_config $chacra_url diff --git a/ceph-iscsi-config/build/validate_deb b/ceph-iscsi-config/build/validate_deb deleted file mode 100644 index 0322b47a8..000000000 --- a/ceph-iscsi-config/build/validate_deb +++ /dev/null @@ -1,7 +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 diff --git a/ceph-iscsi-config/build/validate_rpm b/ceph-iscsi-config/build/validate_rpm deleted file mode 100644 index 17b414826..000000000 --- a/ceph-iscsi-config/build/validate_rpm +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -ex - -# only do work if we are a RPM distro -if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then - exit 0 -fi diff --git a/ceph-iscsi-config/config/definitions/ceph-iscsi-config.yml b/ceph-iscsi-config/config/definitions/ceph-iscsi-config.yml deleted file mode 100644 index 61fa0a3b1..000000000 --- a/ceph-iscsi-config/config/definitions/ceph-iscsi-config.yml +++ /dev/null @@ -1,113 +0,0 @@ -- job: - name: ceph-iscsi-config - project-type: matrix - defaults: global - display-name: 'ceph-iscsi-config' - block-downstream: false - block-upstream: false - concurrent: true - parameters: - - string: - name: BRANCH - description: "The git branch (or tag) to build" - default: "main" - - - string: - name: DISTROS - description: "A list of distros to build for. Available options are: centos7, centos6, bionic, xenial, trusty-pbuilder, precise, wheezy, and jessie" - default: "centos7 xenial bionic" - - - string: - name: ARCHS - description: "A list of architectures to build for. Available options are: x86_64" - default: "x86_64" - - - bool: - name: FORCE - description: " -If this is unchecked, then nothing is built or pushed if they already exist in chacra. This is the default. - -If this is checked, then the binaries will be built and pushed to chacra even if they already exist in chacra." - - - string: - name: BUILD_VIRTUALENV - description: "Base parent path for virtualenv locations, set to avoid issues with extremely long paths that are incompatible with tools like pip. Defaults to '/tmp/' (note the trailing slash, which is required)." - default: "/tmp/" - - execution-strategy: - combination-filter: DIST==AVAILABLE_DIST && ARCH==AVAILABLE_ARCH && (ARCH=="x86_64" || (ARCH == "arm64" && (DIST == "xenial" || DIST == "centos7"))) - axes: - - axis: - type: label-expression - name: MACHINE_SIZE - values: - - small - - axis: - type: label-expression - name: AVAILABLE_ARCH - values: - - x86_64 - - axis: - type: label-expression - name: AVAILABLE_DIST - values: - - centos7 - - xenial - - bionic - - axis: - type: dynamic - name: DIST - - axis: - type: dynamic - name: DIST - values: - - DISTROS - - axis: - type: dynamic - name: ARCH - values: - - ARCHS - - scm: - - git: - url: git@github.com:ceph/ceph-iscsi-config.git - # Use the SSH key attached to the ceph-jenkins GitHub account. - credentials-id: 'jenkins-build' - branches: - - $BRANCH - skip-tag: true - wipe-workspace: true - - builders: - - shell: | - echo "Cleaning up top-level workarea (shared among workspaces)" - rm -rf dist - rm -rf venv - rm -rf release - # debian build scripts - - shell: - !include-raw-verbatim: - - ../../build/validate_deb - - ../../../scripts/build_utils.sh - - ../../build/setup - - ../../build/build_deb - # rpm build scripts - - shell: - !include-raw-verbatim: - - ../../build/validate_rpm - - ../../../scripts/build_utils.sh - - ../../build/setup - - ../../build/build_rpm - - wrappers: - - inject-passwords: - global: true - mask-password-params: true - - credentials-binding: - - text: - credential-id: chacractl-key - variable: CHACRACTL_KEY - - credentials-binding: - - text: - credential-id: shaman-api-key - variable: SHAMAN_API_KEY diff --git a/ceph-iscsi-tools-trigger/config/definitions/ceph-iscsi-tools-trigger.yml b/ceph-iscsi-tools-trigger/config/definitions/ceph-iscsi-tools-trigger.yml deleted file mode 100644 index 8cb0896ef..000000000 --- a/ceph-iscsi-tools-trigger/config/definitions/ceph-iscsi-tools-trigger.yml +++ /dev/null @@ -1,37 +0,0 @@ -- job: - name: ceph-iscsi-tools-trigger - node: built-in - project-type: freestyle - defaults: global - quiet-period: 5 - block-downstream: false - block-upstream: false - properties: - - build-discarder: - days-to-keep: 1 - num-to-keep: 10 - artifact-days-to-keep: -1 - artifact-num-to-keep: -1 - - github: - url: https://github.com/ceph/ceph-iscsi-tools - discard-old-builds: true - - triggers: - - github - - scm: - - git: - url: https://github.com/ceph/ceph-iscsi-tools.git - branches: - - 'origin/main*' - - 'origin/wip*' - skip-tag: true - timeout: 20 - wipe-workspace: true - - builders: - - trigger-builds: - - project: 'ceph-iscsi-tools' - predefined-parameters: | - BRANCH=${{GIT_BRANCH}} - FORCE=True diff --git a/ceph-iscsi-tools/build/build_deb b/ceph-iscsi-tools/build/build_deb deleted file mode 100644 index 03c4ec4ec..000000000 --- a/ceph-iscsi-tools/build/build_deb +++ /dev/null @@ -1,9 +0,0 @@ -#! /usr/bin/bash -set -ex - -# Only do actual work when we are a DEB distro -if test "$DISTRO" != "debian" -a "$DISTRO" != "ubuntu"; then - exit 0 -fi - -exit 1 diff --git a/ceph-iscsi-tools/build/build_rpm b/ceph-iscsi-tools/build/build_rpm deleted file mode 100644 index 433f85949..000000000 --- a/ceph-iscsi-tools/build/build_rpm +++ /dev/null @@ -1,83 +0,0 @@ -#! /usr/bin/bash -set -ex - -PROJECT=ceph-iscsi-tools -BRANCH=`branch_slash_filter $BRANCH` - -# Only do actual work when we are an RPM distro -if test "$DISTRO" != "fedora" -a "$DISTRO" != "centos" -a "$DISTRO" != "rhel"; then - exit 0 -fi - -# Install the dependencies -sudo yum install -y mock - -## Get some basic information about the system and the repository -# Get version -get_rpm_dist -VERSION="$(git describe --abbrev=0 --tags HEAD)" -REVISION="$(git describe --tags HEAD | cut -d - -f 2- | sed 's/-/./')" -if [ "$VERSION" = "$REVISION" ]; then - REVISION="1" -fi - -# Create dummy dist tar -tar cf dist/${PROJECT}-${VERSION}.tar.gz \ - --exclude .git --exclude dist \ - --transform "s,^,${PROJECT}-${VERSION}/," * -tar tfv dist/${PROJECT}-${VERSION}.tar.gz - -# Update spec version -sed -i "s/^Version:.*$/Version:\t${VERSION}/g" $WORKSPACE/${PROJECT}.spec -sed -i "s/^Release:.*$/Release:\t${REVISION}%{?dist}/g" $WORKSPACE/${PROJECT}.spec -# for debugging -cat $WORKSPACE/${PROJECT}.spec - -# Update setup.py version -sed -i "s/version=\"[^\"]*\"/version=\"${VERSION}\"/g" $WORKSPACE/setup.py -# for debugging -cat $WORKSPACE/setup.py - -## Create the source rpm -echo "Building SRPM" -rpmbuild \ - --define "_sourcedir $WORKSPACE/dist" \ - --define "_specdir $WORKSPACE/dist" \ - --define "_builddir $WORKSPACE/dist" \ - --define "_srcrpmdir $WORKSPACE/dist/SRPMS" \ - --define "_rpmdir $WORKSPACE/dist/RPMS" \ - --nodeps -bs $WORKSPACE/${PROJECT}.spec -SRPM=$(readlink -f $WORKSPACE/dist/SRPMS/*.src.rpm) - -## Build the binaries with mock -echo "Building RPMs" -sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --scrub=all -sudo mock --verbose -r ${MOCK_TARGET}-${RELEASE}-${ARCH} --resultdir=$WORKSPACE/dist/RPMS/ ${SRPM} || ( tail -n +1 $WORKSPACE/dist/RPMS/{root,build}.log && exit 1 ) - -## Upload the created RPMs to chacra -chacra_endpoint="${PROJECT}/${BRANCH}/${GIT_COMMIT}/${DISTRO}/${RELEASE}" - -[ "$FORCE" = true ] && chacra_flags="--force" || chacra_flags="" - -# push binaries to chacra -find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | $VENV/chacractl binary ${chacra_flags} create ${chacra_endpoint}/noarch/ -PACKAGE_MANAGER_VERSION=$(rpm --queryformat '%{VERSION}-%{RELEASE}\n' -qp $(find $WORKSPACE/dist/RPMS/ | egrep "\.noarch\.rpm" | head -1)) - -# write json file with build info -cat > $WORKSPACE/repo-extra.json << EOF -{ - "version":"$VERSION", - "package_manager_version":"$PACKAGE_MANAGER_VERSION", - "build_url":"$BUILD_URL", - "root_build_cause":"$ROOT_BUILD_CAUSE", - "node_name":"$NODE_NAME", - "job_name":"$JOB_NAME" -} -EOF -# post the json to repo-extra json to chacra -curl -X POST -H "Content-Type:application/json" --data "@$WORKSPACE/repo-extra.json" -u $CHACRACTL_USER:$CHACRACTL_KEY ${chacra_url}repos/${chacra_endpoint}/extra/ - -# start repo creation -$VENV/chacractl repo update ${chacra_endpoint} - -echo Check the status of the repo at: https://shaman.ceph.com/api/repos/${chacra_endpoint} diff --git a/ceph-iscsi-tools/build/setup b/ceph-iscsi-tools/build/setup deleted file mode 100644 index 993b3896a..000000000 --- a/ceph-iscsi-tools/build/setup +++ /dev/null @@ -1,46 +0,0 @@ -#! /usr/bin/bash -# -# Ceph distributed storage system -# -# Copyright (C) 2016 Red Hat -# -# Author: Boris Ranto -# -# 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 - -# Make sure we execute at the top level directory before we do anything -cd $WORKSPACE - -# This will set the DISTRO and MOCK_TARGET variables -get_distro_and_target - -# Perform a clean-up -git clean -fxd - -# Make sure the dist directory is clean -rm -rf dist -mkdir -p dist - -# Print some basic system info -HOST=$(hostname --short) -echo "Building on $(hostname) with the following env" -echo "*****" -env -echo "*****" - -export LC_ALL=C # the following is vulnerable to i18n - -pkgs=( "chacractl>=0.0.21" ) -TEMPVENV=$(create_venv_dir) -VENV=${TEMPVENV}/bin -install_python_packages $TEMPVENV "pkgs[@]" - -# ask shaman which chacra instance to use -chacra_url=`curl -f -u $SHAMAN_API_USER:$SHAMAN_API_KEY https://shaman.ceph.com/api/nodes/next/` -# create the .chacractl config file using global variables -make_chacractl_config $chacra_url diff --git a/ceph-iscsi-tools/build/validate_deb b/ceph-iscsi-tools/build/validate_deb deleted file mode 100644 index 0322b47a8..000000000 --- a/ceph-iscsi-tools/build/validate_deb +++ /dev/null @@ -1,7 +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 diff --git a/ceph-iscsi-tools/build/validate_rpm b/ceph-iscsi-tools/build/validate_rpm deleted file mode 100644 index 17b414826..000000000 --- a/ceph-iscsi-tools/build/validate_rpm +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -ex - -# only do work if we are a RPM distro -if [[ ! -f /etc/redhat-release && ! -f /usr/bin/zypper ]] ; then - exit 0 -fi diff --git a/ceph-iscsi-tools/config/definitions/ceph-iscsi-tools.yml b/ceph-iscsi-tools/config/definitions/ceph-iscsi-tools.yml deleted file mode 100644 index 3d223db8f..000000000 --- a/ceph-iscsi-tools/config/definitions/ceph-iscsi-tools.yml +++ /dev/null @@ -1,113 +0,0 @@ -- job: - name: ceph-iscsi-tools - project-type: matrix - defaults: global - display-name: 'ceph-iscsi-tools' - block-downstream: false - block-upstream: false - concurrent: true - parameters: - - string: - name: BRANCH - description: "The git branch (or tag) to build" - default: "main" - - - string: - name: DISTROS - description: "A list of distros to build for. Available options are: xenial, centos7, centos8" - default: "centos7 centos8" - - - string: - name: ARCHS - description: "A list of architectures to build for. Available options are: x86_64" - default: "x86_64" - - - bool: - name: FORCE - description: " -If this is unchecked, then nothing is built or pushed if they already exist in chacra. This is the default. - -If this is checked, then the binaries will be built and pushed to chacra even if they already exist in chacra." - - - string: - name: BUILD_VIRTUALENV - description: "Base parent path for virtualenv locations, set to avoid issues with extremely long paths that are incompatible with tools like pip. Defaults to '/tmp/' (note the trailing slash, which is required)." - default: "/tmp/" - - execution-strategy: - combination-filter: DIST==AVAILABLE_DIST && ARCH==AVAILABLE_ARCH && (ARCH=="x86_64" || (ARCH == "arm64" && (DIST == "xenial" || DIST == "centos7"))) - axes: - - axis: - type: label-expression - name: MACHINE_SIZE - values: - - small - - axis: - type: label-expression - name: AVAILABLE_ARCH - values: - - x86_64 - - axis: - type: label-expression - name: AVAILABLE_DIST - values: - - centos7 - - centos8 - - xenial - - axis: - type: dynamic - name: DIST - - axis: - type: dynamic - name: DIST - values: - - DISTROS - - axis: - type: dynamic - name: ARCH - values: - - ARCHS - - scm: - - git: - url: git@github.com:ceph/ceph-iscsi-tools.git - # Use the SSH key attached to the ceph-jenkins GitHub account. - credentials-id: 'jenkins-build' - branches: - - $BRANCH - skip-tag: true - wipe-workspace: true - - builders: - - shell: | - echo "Cleaning up top-level workarea (shared among workspaces)" - rm -rf dist - rm -rf venv - rm -rf release - # debian build scripts - - shell: - !include-raw-verbatim: - - ../../build/validate_deb - - ../../../scripts/build_utils.sh - - ../../build/setup - - ../../build/build_deb - # rpm build scripts - - shell: - !include-raw-verbatim: - - ../../build/validate_rpm - - ../../../scripts/build_utils.sh - - ../../build/setup - - ../../build/build_rpm - - wrappers: - - inject-passwords: - global: true - mask-password-params: true - - credentials-binding: - - text: - credential-id: chacractl-key - variable: CHACRACTL_KEY - - credentials-binding: - - text: - credential-id: shaman-api-key - variable: SHAMAN_API_KEY