]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-debug-docker: add --flavor option 36256/head
authorKefu Chai <kchai@redhat.com>
Thu, 23 Jul 2020 05:58:25 +0000 (13:58 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 24 Jul 2020 02:08:02 +0000 (10:08 +0800)
* add --flavor option, which is "default" by default, so one can, for
  example, pass "--flavor crimson" to ceph-debug-docker
* extract $repo_url to avoid repeating the shared bits between centos
  and debian derivatives envs.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/script/ceph-debug-docker.sh

index 3751845e171abab48aa5d1ea6048a50c24a5f36b..630cbd7f5bc484e07ba87e233effcfb75e268fe8 100755 (executable)
@@ -13,6 +13,7 @@
 set -e
 
 CACHE=""
+FLAVOR="default"
 
 function run {
     printf "%s\n" "$*"
@@ -20,7 +21,7 @@ function run {
 }
 
 function main {
-    eval set -- $(getopt --name "$0" --options 'h' --longoptions 'help,no-cache' -- "$@")
+    eval set -- $(getopt --name "$0" --options 'h' --longoptions 'help,no-cache,flavor:' -- "$@")
 
     while [ "$#" -gt 0 ]; do
         case "$1" in
@@ -32,6 +33,10 @@ function main {
                 CACHE="--no-cache"
                 shift
                 ;;
+            --flavor)
+                FLAVOR=$2
+                shift 2
+                ;;
             --)
                 shift
                 break
@@ -79,6 +84,7 @@ function main {
 
     T=$(mktemp -d)
     pushd "$T"
+    repo_url="https://shaman.ceph.com/api/repos/ceph/${branch}/${sha}/${env/://}/flavors/${FLAVOR}/repo"
     if grep ubuntu <<<"$env" > /dev/null 2>&1; then
         # Docker makes it impossible to access anything outside the CWD : /
         cp -- /ceph/shaman/cephdev.asc .
@@ -90,7 +96,7 @@ RUN apt-get update --yes --quiet && \
     apt-get install --yes --quiet screen gdb software-properties-common apt-transport-https curl
 COPY cephdev.asc cephdev.asc
 RUN apt-key add cephdev.asc && \
-    curl -L https://shaman.ceph.com/api/repos/ceph/${branch}/${sha}/${env/://}/repo | tee /etc/apt/sources.list.d/ceph_dev.list && \
+    curl -L $repo_url | tee /etc/apt/sources.list.d/ceph_dev.list && \
     apt-get update --yes && \
     DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get --assume-yes -q --no-install-recommends install -o Dpkg::Options::=--force-confnew --allow-unauthenticated ceph ceph-osd-dbg ceph-mds-dbg ceph-mgr-dbg ceph-mon-dbg ceph-common-dbg ceph-fuse-dbg ceph-test-dbg radosgw-dbg python3-cephfs python3-rados
 EOF
@@ -106,14 +112,13 @@ EOF
                 ceph_debuginfo="ceph-base-debuginfo"
                 ;;
         esac
-        IFS=":" read -r distro distro_release <<< "$env"
         time run docker build $CACHE --tag "$tag" - <<EOF
 FROM ${env}
 
 WORKDIR /root
 RUN yum update -y && \
     yum install -y tmux epel-release wget psmisc ca-certificates gdb
-RUN wget -O /etc/yum.repos.d/ceph-dev.repo https://shaman.ceph.com/api/repos/ceph/${branch}/${sha}/${distro}/${distro_release}/repo && \
+RUN wget -O /etc/yum.repos.d/ceph-dev.repo $repo_url && \
     yum clean all && \
     yum upgrade -y && \
     yum install -y ceph ${ceph_debuginfo} ceph-fuse ${python_bindings}