Add example setup, open-iscsi, libiscsi test scripts
This commit is contained in:
77
test/setup-dev-test.sh
Executable file
77
test/setup-dev-test.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/sh
|
||||
# set up environment for both development and testing
|
||||
# This should be the fist script to run in the test directory
|
||||
|
||||
# Note that it is ASSUMED that before all these test directory scripts are used
|
||||
# 0) Go language package is installed
|
||||
# 1) gotgt project directory is created
|
||||
# and project is cloned with git per project README.md
|
||||
# build and build verification can be done with gotgt-dameon.sh
|
||||
# 2) libiscsi directory is created
|
||||
# git clone and build can be done with this shell script
|
||||
#
|
||||
[ ! -n "$LIBISCSIPATH" ] && echo "Need LIBISCSIPATH definition" && exit 1
|
||||
[ ! -n "$GOTGTPATH" ] && echo "Need GOTGTPATH definition" && exit 2
|
||||
[ ! -d $LIBISCSIPATH ] && echo "Need $LIBISCSIPATH directory" && exit 3
|
||||
[ ! -d $GOTGTPATH ] && echo "Need $GOTGTPATH directory" && exit 4
|
||||
#exit 0
|
||||
|
||||
## This system update could induce errors on updating ubuntu content
|
||||
sudo apt-get update
|
||||
|
||||
#Make sure that these packages are installed
|
||||
#NOTE: The scripts are tested on Ubuntu, please feel free to generalize to
|
||||
# other platforms.
|
||||
|
||||
sudo apt-get install automake
|
||||
sudo apt-get install autogen autoconf libtool
|
||||
|
||||
##### Get Go dependency tools/fixes package
|
||||
# https://github.com/tools/godep
|
||||
# Needed once only and again as required.
|
||||
cd $GOTGTPATH
|
||||
go get github.com/tools/godep
|
||||
|
||||
#
|
||||
# libc unit testing package, this is required by libiscsi package
|
||||
sudo apt-get install -y libcunit1 libcunit1-doc libcunit1-dev
|
||||
#
|
||||
|
||||
##### Get libiscsi package and build for testing purposes
|
||||
cd $LIBISCSIPATH
|
||||
git clone https://github.com/gostor/libiscsi .
|
||||
export ISCSITEST=yes
|
||||
./autogen.sh
|
||||
# TO-DO/TO-RESOLVE
|
||||
# autoreconf: configure.ac: not using Gettext
|
||||
./configure 2>&1 >/dev/null
|
||||
make 2>&1 >/dev/null
|
||||
|
||||
# TO-DO/TO-RESOLVE
|
||||
# ar: `u' modifier ignored since `D' is the default (see `U')
|
||||
|
||||
# check expected binaries for successful build
|
||||
[ ! -x ./test-tool/iscsi-test-cu ] && echo "./test-tool/iscsi-test-cu not built" && exit 5
|
||||
[ ! -x ./utils/iscsi-ls ] && echo "./utils/iscsi-ls not built" && exit 6
|
||||
[ ! -x ./utils/iscsi-inq ] && echo "./utils/iscsi-inq not built" && exit 7
|
||||
[ ! -x ./utils/iscsi-readcapacity16 ] && echo "./utils/iscsi-readcapacity16 not built" && exit 8
|
||||
|
||||
##### Get open-iscsi project package bits
|
||||
# open-iscsi project
|
||||
# https://github.com/open-iscsi/open-iscsi
|
||||
#
|
||||
# Install open-iscsi package and watch for kernel build
|
||||
uname -a
|
||||
echo
|
||||
sudo apt-get install -y open-iscsi
|
||||
# Need to do this only once and re-do it as required.
|
||||
# For example, /boot initrd.img-4.10.19 kernel version
|
||||
## Remember the new kernel version for future boot if open-iscsi testing is to
|
||||
## to performed.
|
||||
# TO-DO/TO-RESOLVE
|
||||
# cp: cannot stat '/etc/iscsi/initiatorname.iscsi': No such file or directory
|
||||
|
||||
## sanity check expected files for successful installation
|
||||
[ ! -x /sbin/iscsiadm ] && echo "/sbin/iscsiadm not built" && exit 9
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user