optimize the perf and support more features
This commit is contained in:
143
.github/workflows/gotgt.yml
vendored
143
.github/workflows/gotgt.yml
vendored
@@ -5,9 +5,8 @@ name: Go
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
branches: [ "*" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
env:
|
||||
TARGET: 'iqn.2016-09.com.gotgt.gostor:example_tgt_0'
|
||||
@@ -18,17 +17,18 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v3
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: 1.18
|
||||
go-version: '1.24'
|
||||
check-latest: true
|
||||
|
||||
- name: Depend install
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install libcunit1 libcunit1-doc libcunit1-dev open-iscsi make -y
|
||||
sudo apt-get install libcunit1 libcunit1-doc libcunit1-dev open-iscsi make libnuma-dev -y
|
||||
|
||||
- name: Gofmt verify
|
||||
run: hack/verify-gofmt.sh
|
||||
@@ -42,63 +42,100 @@ jobs:
|
||||
- name: Function test
|
||||
run: |
|
||||
dd if=/dev/zero of=/var/tmp/disk.img bs=1024 count=102400
|
||||
mkdir ${HOME}/.gotgt
|
||||
echo ${TGT_CFG} > ${HOME}/.gotgt/config.json
|
||||
mkdir $HOME/.gotgt
|
||||
echo '${{env.TGT_CFG}}' > $HOME/.gotgt/config.json
|
||||
./_output/cmd/bin/gotgt daemon --log debug 1>/dev/null 2>&1 &
|
||||
git clone https://github.com/gostor/libiscsi ${HOME}/libiscsi
|
||||
cd ${HOME}/libiscsi
|
||||
git clone https://github.com/gostor/libiscsi $HOME/libiscsi
|
||||
cd $HOME/libiscsi
|
||||
sudo ci/install.sh
|
||||
export ISCSITEST=yes
|
||||
./autogen.sh
|
||||
./configure 2>&1 >/dev/null
|
||||
make 2>&1 >/dev/null
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.Standard iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.AllocLength iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.MandatoryVPDSBC iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.SupportedVPD iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.VersionDescriptors iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.EVPD iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Mandatory iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ModeSense6 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.NoMedia iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Prefetch10 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Prefetch16 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.PreventAllow iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReadCapacity10 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReadCapacity16 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read6 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read10 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read12 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read16 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReadOnly iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReportSupportedOpcodes.Simple iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Reserve6.Simple iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.StartStopUnit iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.TestUnitReady iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Write10 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Write16 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Write12 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteVerify10 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteVerify16 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteVerify12 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteSame10.Simple iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteSame16.Simple iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Verify10 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Verify12 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Verify16 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.iSCSITMF iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.iSCSIcmdsn iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
|
||||
./utils/iscsi-ls -s iscsi://127.0.0.1:3260/${TARGET}
|
||||
./utils/iscsi-inq iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
./utils/iscsi-readcapacity16 iscsi://127.0.0.1:3260/${TARGET}/0
|
||||
|
||||
echo "=== Starting Comprehensive libiscsi Tests (60+ tests) ==="
|
||||
|
||||
# Inquiry Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.Standard iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.AllocLength iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.MandatoryVPDSBC iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.SupportedVPD iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.VersionDescriptors iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Inquiry.EVPD iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Mandatory Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Mandatory iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ModeSense6 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.NoMedia iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Read Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read6 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read10 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read12 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Read16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReadOnly iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Read Capacity Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReadCapacity10 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReadCapacity16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Write Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Write10 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Write12 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Write16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteVerify10 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteVerify12 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteVerify16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Write Same Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteSame10.Simple iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.WriteSame16.Simple iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Verify Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Verify10 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Verify12 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Verify16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Prefetch Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Prefetch10 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Prefetch16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Synchronize Cache Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.SynchronizeCache10 iscsi://127.0.0.1:3260/${{env.TARGET}}/0 || true
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.SynchronizeCache16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0 || true
|
||||
|
||||
# Reserve/Release Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Reserve6.Simple iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Unmap Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Unmap.Simple iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Unmap.VPD iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.Unmap.ZeroBlocks iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# Other SCSI Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.PreventAllow iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.StartStopUnit iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.TestUnitReady iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.ReportSupportedOpcodes.Simple iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# iSCSI Protocol Tests
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.iSCSITMF iscsi://127.0.0.1:3260/${{env.TARGET}}/0 || true
|
||||
./test-tool/iscsi-test-cu -d -A --test=ALL.iSCSIcmdsn iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
echo "=== libiscsi Tests Completed ==="
|
||||
|
||||
# Utility tests
|
||||
./utils/iscsi-ls -s iscsi://127.0.0.1:3260/${{env.TARGET}}
|
||||
./utils/iscsi-inq iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
./utils/iscsi-readcapacity16 iscsi://127.0.0.1:3260/${{env.TARGET}}/0
|
||||
|
||||
# iscsi initiator test
|
||||
sudo iscsiadm -m discovery -t sendtargets -p 127.0.0.1
|
||||
sudo iscsiadm -m node -L all
|
||||
sudo iscsiadm -m session
|
||||
sudo fdisk -l
|
||||
echo -e "n\np\n1\n\n\nt\nc\na\nw" | sudo fdisk /dev/sdc
|
||||
sudo mkfs.ext3 /dev/sdc1
|
||||
echo -e "n\np\n1\n\n\nt\nc\na\nw" | sudo fdisk /dev/sdb
|
||||
sudo mkfs.ext3 /dev/sdb1
|
||||
sudo mkdir -p /var/tmp/test
|
||||
sudo mount /dev/sdc1 /var/tmp/test
|
||||
sudo mount /dev/sdb1 /var/tmp/test
|
||||
sudo ls -lh /var/tmp/test/
|
||||
|
||||
Reference in New Issue
Block a user