k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/test/images/volume/rbd/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 # Create block.tar.gz with a small ext2 filesystem. 18 # It must be run as root (to mount with '-o loop')! 19 20 # Exit on the first error. 21 set -e 22 23 MNTDIR="$(mktemp -d)" 24 25 cleanup() 26 { 27 # Make sure we return the right exit code 28 RET=$? 29 # Silently remove everything and ignore errors 30 set +e 31 /bin/umount "$MNTDIR" 2>/dev/null 32 /bin/rmdir "$MNTDIR" 2>/dev/null 33 /bin/rm block 2>/dev/null 34 exit $RET 35 } 36 37 trap cleanup TERM EXIT 38 39 # Create 120MB device with ext2 40 # (volume_io tests need at least 100MB) 41 dd if=/dev/zero of=block seek=120 count=1 bs=1M 42 mkfs.ext2 block 43 44 # Add index.html to it 45 mount -o loop block "$MNTDIR" 46 echo "Hello from RBD" > "$MNTDIR/index.html" 47 umount "$MNTDIR" 48 49 rm block.tar.gz 2>/dev/null || : 50 tar cfz block.tar.gz block