diff --git a/.zuul.yaml b/.zuul.yaml index 89f808db..0d45f3ef 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -3,8 +3,8 @@ check: jobs: - openstack-tox-pep8 - + - openstack-tox-linters gate: jobs: - openstack-tox-pep8 - + - openstack-tox-linters diff --git a/openstack/python-glanceclient/centos/files/image-backup.sh b/openstack/python-glanceclient/centos/files/image-backup.sh index e99ec038..ba77a0de 100644 --- a/openstack/python-glanceclient/centos/files/image-backup.sh +++ b/openstack/python-glanceclient/centos/files/image-backup.sh @@ -4,17 +4,16 @@ # # SPDX-License-Identifier: Apache-2.0 # - backup_dir="/opt/backups" tmp_dir="${backup_dir}/image_temp" function usage { -cat <<"EOF" + cat <<"EOF" Helper tool for backing up Glance images Usage: - image-backup export - export the image with into backup file /opt/backups/image_.tgz - image-backup import image_.tgz - import the image from the backup source file at /opt/backups/image_.tgz - into the corresponding image. +image-backup export - export the image with into backup file /opt/backups/image_.tgz +image-backup import image_.tgz - import the image from the backup source file at /opt/backups/image_.tgz +into the corresponding image. Temporary files are stored in /opt/backups/image_temp @@ -23,22 +22,22 @@ EOF } function create_tmp { - if [ ! -d ${backup_dir} ]; then - echo "Error: backup directory ${backup_dir} does not exist" - exit 1 - fi - # Create temporary directory - if [ ! -d ${tmp_dir} ]; then - mkdir ${tmp_dir} - fi + if [ ! -d ${backup_dir} ]; then + echo "Error: backup directory ${backup_dir} does not exist" + exit 1 + fi + # Create temporary directory + if [ ! -d ${tmp_dir} ]; then + mkdir ${tmp_dir} + fi } function remove_tmp { - # Remove temporary files and directory if not empty - local uuid=$1 - rm -f ${tmp_dir}/${uuid}* - rmdir --ignore-fail-on-non-empty ${tmp_dir} &>/dev/null + # Remove temporary files and directory if not empty + local uuid=$1 + rm -f ${tmp_dir}/${uuid}* + rmdir --ignore-fail-on-non-empty ${tmp_dir} &>/dev/null } function export_file_from_rbd_image { @@ -56,9 +55,9 @@ function export_image { # Check if the corresponding image is present in the RBD pool rbd -p images ls | grep -q -e "^${uuid}$" if [ $? -ne 0 ]; then - echo "Error: Corresponding file for image with id: ${uuid} was not found in the RBD images pool" - remove_tmp; exit 1 - fi + echo "Error: Corresponding file for image with id: ${uuid} was not found in the RBD images pool" + remove_tmp; exit 1 + fi # Export original image export_file_from_rbd_image ${uuid} @@ -66,21 +65,21 @@ function export_image { # Export raw cache if present rbd -p images ls | grep -q ${uuid}_raw if [ $? -eq 0 ]; then - export_file_from_rbd_image ${uuid}_raw + export_file_from_rbd_image ${uuid}_raw raw="${uuid}_raw" fi - + echo -n "Creating backup archive..." archive="${backup_dir}/image_${uuid}.tgz" tar czf ${archive} -C ${tmp_dir} ${uuid} ${raw} if [ $? -ne 0 ]; then - echo "Error: Failed to create archive ${archive}" - remove_tmp; exit 1 - else + echo "Error: Failed to create archive ${archive}" + remove_tmp; exit 1 + else echo "done" fi - echo "Backup archive ${archive} created" + echo "Backup archive ${archive} created" } function import_file_to_rbd_image { @@ -88,17 +87,17 @@ function import_file_to_rbd_image { local snap="images/${file}@snap" rbd import --image-format 2 ${tmp_dir}/${file} images/${file} if [ $? -ne 0 ]; then - echo "Error: Failed to import image ${file} into Ceph images pool, please check status of storage cluster" + echo "Error: Failed to import image ${file} into Ceph images pool, please check status of storage cluster" remove_tmp; exit 1 fi rbd snap create ${snap} 1>/dev/null if [ $? -ne 0 ]; then - echo "Error: Failed to create snapshot ${snap}, please check status of storage cluster" + echo "Error: Failed to create snapshot ${snap}, please check status of storage cluster" remove_tmp; exit 1 fi rbd snap protect ${snap} 1>/dev/null if [ $? -ne 0 ]; then - echo "Error: Failed to protect snapshot ${snap}, please check status of storage cluster" + echo "Error: Failed to protect snapshot ${snap}, please check status of storage cluster" remove_tmp; exit 1 fi } @@ -108,15 +107,15 @@ function import_image { # Storage cluster must be healthy before starting the import if [ ! "$(ceph health)" = "HEALTH_OK" ]; then - echo "Error: The storage cluster health must be HEALTH_OK before proceding" - remove_tmp; exit 1 + echo "Error: The storage cluster health must be HEALTH_OK before proceding" + remove_tmp; exit 1 fi # Check if the corresponding image is already present in the RBD pool rbd -p images ls | grep -q -e "^${uuid}$" if [ $? -eq 0 ]; then - echo "Error: Image with id: ${uuid} is already imported" - remove_tmp; exit 1 + echo "Error: Image with id: ${uuid} is already imported" + remove_tmp; exit 1 fi # Import original image @@ -124,17 +123,16 @@ function import_image { # Import raw cache if [ -f "${tmp_dir}/${uuid}_raw" ]; then - import_file_to_rbd_image ${uuid}_raw + import_file_to_rbd_image ${uuid}_raw fi } if [ $EUID -ne 0 ]; then - echo "This script must be executed as root" - exit 1 + echo "This script must be executed as root" + exit 1 fi -if [ $# -ne 2 ] ; -then +if [ $# -ne 2 ]; then usage exit 0 fi @@ -144,69 +142,68 @@ source /etc/nova/openrc # Check if glance is using ceph as RBD cat /etc/glance/glance-api.conf | grep -q -e "^stores.*=.*rbd" if [ $? -ne 0 ]; then - echo "Error: Glance is not configured to use the ceph backend." - echo "This command should be used only on setups with configured Ceph storage." - exit 1 + echo "Error: Glance is not configured to use the ceph backend." + echo "This command should be used only on setups with configured Ceph storage." + exit 1 fi if [ "$1" = "export" ]; then - # Check that glance image is present in glance - glance image-list | tail -n +3 | awk '{print $2}' | grep -q $2 - if [ $? -ne 0 ]; then - echo "Error: Glance image with id: $2 not found. Please try with an existing image id." - remove_tmp; exit 1 - fi + # Check that glance image is present in glance + glance image-list | tail -n +3 | awk '{print $2}' | grep -q $2 + if [ $? -ne 0 ]; then + echo "Error: Glance image with id: $2 not found. Please try with an existing image id." + remove_tmp; exit 1 + fi - # Only allow backup of images that use rbd as backend. - glance image-show $2 | grep 'direct_url' | awk '{print $4}' | grep -q '^rbd://' - if [ $? -ne 0 ]; then - echo "Image with id: $2 is not stored in Ceph RBD. Backup using image-backup tool is not needed." - echo "Please consult the Software Management Manual for more details." - remove_tmp; exit 1 - fi + # Only allow backup of images that use rbd as backend. + glance image-show $2 | grep 'direct_url' | awk '{print $4}' | grep -q '^rbd://' + if [ $? -ne 0 ]; then + echo "Image with id: $2 is not stored in Ceph RBD. Backup using image-backup tool is not needed." + echo "Please consult the Software Management Manual for more details." + remove_tmp; exit 1 + fi - create_tmp - export_image $2 - remove_tmp + create_tmp + export_image $2 + remove_tmp elif [ "$1" = "import" ]; then - # Check that the input file format is correct - if [[ ! $2 =~ ^image_.*\.tgz$ ]]; then - echo "Error: Source file name must conform to image_.tgz format" - exit 1 - fi - - # Check that the source file exists - if [ ! -f ${backup_dir}/$2 ]; then - echo "Error: File $2 does not exists in ${backup_dir}" - exit 1 - fi + # Check that the input file format is correct + if [[ ! $2 =~ ^image_.*\.tgz$ ]]; then + echo "Error: Source file name must conform to image_.tgz format" + exit 1 + fi - # Get glance uuid from filename - uuid=$(echo $2 | sed "s/^image_\(.*\)\.tgz/\1/g") + # Check that the source file exists + if [ ! -f ${backup_dir}/$2 ]; then + echo "Error: File $2 does not exists in ${backup_dir}" + exit 1 + fi - # Check that glance has this image in the database - glance image-list | grep -q $uuid - if [ $? -ne 0 ]; then - echo "Error: Glance image with id: ${uuid} not found. Please try with an existing image id." - exit 1 - fi + # Get glance uuid from filename + uuid=$(echo $2 | sed "s/^image_\(.*\)\.tgz/\1/g") - create_tmp + # Check that glance has this image in the database + glance image-list | grep -q $uuid + if [ $? -ne 0 ]; then + echo "Error: Glance image with id: ${uuid} not found. Please try with an existing image id." + exit 1 + fi - # Extract the files that need to be imported into the temp directory - echo -n "Extracting files..." - tar xfz ${backup_dir}/$2 -C ${tmp_dir} 1>/dev/null - if [ $? -ne 0 ]; then - echo "Error: Failed to extract archive ${backup_dir}/$2 into ${tmp_dir}." - remove_tmp; exit 1 - fi - echo "done" + create_tmp - # Importing images into RBD - import_image $uuid - remove_tmp + # Extract the files that need to be imported into the temp directory + echo -n "Extracting files..." + tar xfz ${backup_dir}/$2 -C ${tmp_dir} 1>/dev/null + if [ $? -ne 0 ]; then + echo "Error: Failed to extract archive ${backup_dir}/$2 into ${tmp_dir}." + remove_tmp; exit 1 + fi + echo "done" + + # Importing images into RBD + import_image $uuid + remove_tmp else - usage + usage fi - diff --git a/openstack/python-nova/python-nova/collect_host_memory_info.sh b/openstack/python-nova/python-nova/collect_host_memory_info.sh index 5f1de1ab..150ecdaf 100755 --- a/openstack/python-nova/python-nova/collect_host_memory_info.sh +++ b/openstack/python-nova/python-nova/collect_host_memory_info.sh @@ -38,7 +38,7 @@ find /mnt/huge-1048576kB/|xargs ls -ld >> ${logfile} 2>> ${logfile} echo "Locked smaps" >> ${logfile} echo "------------" >> ${logfile} -grep Locked: /proc/*/smaps 2>/dev/null| awk '($2 > 0) {a[$1]+=$2} END {for (i in a) print i,a[i]/1024.0, "MiB";}' >> ${logfile} 2>> ${logfile} +grep Locked: /proc/*/smaps 2>/dev/null | awk '($2 > 0) {a[$1]+=$2} END {for (i in a) print i,a[i]/1024.0, "MiB";}' >> ${logfile} 2>> ${logfile} date '+%F %T' >> ${logfile} 2>> ${logfile} diff --git a/tox.ini b/tox.ini index baf27f15..893e7d29 100644 --- a/tox.ini +++ b/tox.ini @@ -14,6 +14,8 @@ deps = -r{toxinidir}/test-requirements.txt [testenv:linters] whitelist_externals = bash +#bashate ignore +#E006 Line too long commands = bash -c "find {toxinidir} \ -not \( -type d -name .?\* -prune \) \ @@ -21,11 +23,11 @@ commands = -not -name \*~ \ -not -name \*.md \ -name \*.sh \ - -print0 | xargs -0 bashate -v" + -print0 | xargs -0 bashate -v -i E006" bash -c "find {toxinidir} \ - \( -name middleware/io-monitor/recipes-common/io-monitor/io-monitor/io_monitor/test-tools/yaml/* -prune \) \ - -o \( -name .tox -prune \) \ - -o -type f -name '*.yaml' \ + \( -path '{toxinidir}/openstack/python-heat/python-heat/templates*' \ + -o -path '{toxinidir}/.tox' \) -a -prune \ + -o -name '*.yaml' \ -print0 | xargs -0 yamllint" [testenv:pep8]