k8s.io/kubernetes@v1.29.3/test/images/volume/iscsi/create_block.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright 2015 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 # Exit on the first error. 18 set -e 19 20 MNTDIR="$(mktemp -d)" 21 22 cleanup() 23 { 24 # Make sure we return the right exit code 25 RET=$? 26 # Silently remove everything and ignore errors 27 set +e 28 /bin/umount "$MNTDIR" 2>/dev/null 29 /bin/rmdir "$MNTDIR" 2>/dev/null 30 /bin/rm block 2>/dev/null 31 exit $RET 32 } 33 34 trap cleanup TERM EXIT 35 36 # Create 120MB device with ext2 37 # (volume_io tests need at least 100MB) 38 dd if=/dev/zero of=block seek=120 count=1 bs=1M 39 mkfs.ext2 block 40 41 # Add index.html to it 42 mount -o loop block "$MNTDIR" 43 echo "Hello from iscsi" > "$MNTDIR/index.html" 44 umount "$MNTDIR" 45 46 rm block.tar.gz 2>/dev/null || : 47 tar cfz block.tar.gz block