X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fscript%2Fsepia_bt.sh;fp=src%2Fceph%2Fsrc%2Fscript%2Fsepia_bt.sh;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=62786f2207bfe775839fe0069efa572f001c44bc;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/script/sepia_bt.sh b/src/ceph/src/script/sepia_bt.sh deleted file mode 100755 index 62786f2..0000000 --- a/src/ceph/src/script/sepia_bt.sh +++ /dev/null @@ -1,182 +0,0 @@ -#!/bin/bash - -function die() { - echo $@ >&2 - exit 1 -} - -function usage() { - echo "bt: $0 -c core_path [-d distro] [-C directory] [-v]" - exit 1 -} - -function log() { - if [ -n "$verbose" ]; then - echo $* - fi -} - -function get_machine() { - local core_path=$1 - local machine=${core_path%/coredump/*} - echo $(basename $machine) -} - -function get_t_dir() { - local core_path=$1 - echo ${core_path%/remote/*} -} - -while getopts "c:C:d:v" opt -do - case $opt in - c) core_path=$OPTARG;; - C) wd=$OPTARG;; - d) codename=$OPTARG;; - v) verbose=1;; - *) usage;; - esac -done - -if [ -z $core_path ]; then - usage -fi - -sha1=$(strings $core_path | gawk 'BEGIN{ FS = "=" } /^CEPH_REF/{print $2}') -if [ -z $sha1 ]; then - teuthology_log=$(get_t_dir $core_path)/teuthology.log - sha1=$(grep -m1 -A1 "Running command: sudo ceph --version" ${teuthology_log} | tail -n1 | grep -oP "ceph version [^ ]+ \(\K[^\) ]+") -fi - -if [ -z $distro ]; then - machine=$(get_machine $core_path) - teuthology_log=$(get_t_dir $core_path)/teuthology.log - if [ ! -r ${teuthology_log} ]; then - die "missing distro, and unable to read it from ${teuthology_log}" - fi - ld=$(grep -m1 -A1 "${machine}:Running.*linux_distribution" ${teuthology_log} | tail -n1 | grep -oP "\(\K[^\)]+") - distro=$(echo $ld | gawk -F ", " '{print $1}' | sed s/\'//g) - distro=$(echo $distro | tr '[:upper:]' '[:lower:]') - distro_ver=$(echo $ld | gawk -F ", " '{print $2}' | sed s/\'//g) - codename=$(echo $ld | gawk -F ", " '{print $3}' | sed s/\'//g) - if [ "$distro" == "centos linux" ]; then - # there is chance that it's actually something different, - # but we take it as centos7 anyway. - distro=centos - distro_ver=7 - fi -else - case $codename in - xenial) - distro=ubuntu - distro_ver=16.04 - ;; - trusty) - distro=ubuntu - distro_ver=14.04 - ;; - centos7) - distro=centos - distro_ver=7 - ;; - *) - die "unknown distro: $distro" - ;; - esac -fi - -# try to figure out a name for working directory -if [ -z $wd ]; then - run=${core_path%/remote/*} - job_id=${run#/a/} - if [ $job_id != $core_path ]; then - # use the run/job for the working dir - wd=$job_id - fi -fi - -if [ -z $wd ]; then - wd=$(basename $core_path) - wd=${wd%.*} - echo "unable to figure out the working directory, using ${wd}" -fi - -log "creating ${wd}" -mkdir -p $wd -cd $wd - -prog=$(file $core_path | grep -oP "from '\K[^']+" | cut -d' ' -f1) -case $prog in - ceph_test_*) - pkgs="ceph-test librados2" - ;; - ceph-osd|ceph-mon) - pkgs=$prog - ;; - */python*) - prog=$(basename $prog) - pkgs=librados2 - ;; - rados) - pkgs="ceph-common librados2 libradosstriper1" - ;; - *) - die "unknown prog: $prog" - ;; -esac - -flavor=default -arch=x86_64 - -release=$(strings $core_path | grep -m1 -oP '/build/ceph-\K[^/]+') -if [ -z $release ]; then - teuthology_log=$(get_t_dir $core_path)/teuthology.log - release=$(grep -m1 -A1 "Running command: sudo ceph --version" ${teuthology_log} | tail -n1 | grep -oP "ceph version \K[^ ]+") -fi - -case $distro in - ubuntu) - pkg_path=pool/main/c/ceph/%s_%s-1${codename}_amd64.deb - for p in $pkgs; do - t="$t $p $p-dbg" - done - pkgs="$t" - ;; - centos) - pkg_path=${arch}/%s-%s.el7.x86_64.rpm - # 11.0.2-1022-g5b25cd3 => 11.0.2-1022.g5b25cd3 - release=$(echo $release | sed s/-/./2) - pkgs="$pkgs ceph-debuginfo" - ;; - *) - die "unknown distro: $distro" - ;; -esac - -query_url="https://shaman.ceph.com/api/search?status=ready&project=ceph&flavor=${flavor}&distros=${distro}%2F${distro_ver}%2F${arch}&sha1=${sha1}" -repo_url=`curl -L -s "${query_url}" | jq -r '.[0] | .url'` -pkg_url=${repo_url}/${pkg_path} -log "repo url is ${repo_url}" - -for pkg in ${pkgs}; do - url=`printf $pkg_url $pkg $release` - log "downloading ${url}" - curl -O -L -C - --silent --fail --insecure $url - fname=`basename $url` - case $fname in - *.deb) - ar p `basename $fname` data.tar.xz | tar xJv;; - *.rpm) - rpm2cpio < $fname | cpio -id;; - *) - esac -done - -cat > preclude.gdb <