Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions tools/ubuntu-upgrade-infra-vm.sh
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
#! /usr/bin/bash
#!/usr/bin/env bash

set -e

if [[ ! $1 ]]; then
if [[ -z "$1" ]]; then
echo "Usage: infra-vm-ubuntu-upgrade.sh <infra-vm-hostname>"
exit 2
fi

if [[ ! $KAYOBE_PATH ]]; then
if [[ -z "$KAYOBE_PATH" ]]; then
echo "Environment variable \$KAYOBE_PATH is not defined"
exit 2
fi

if [[ ! $KAYOBE_CONFIG_PATH ]]; then
if [[ -z "$KAYOBE_CONFIG_PATH" ]]; then
echo "Environment variable \$KAYOBE_CONFIG_PATH is not defined"
exit 2
fi
Comment on lines +10 to 18
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For checking required environment variables, you can use parameter expansion to make the code more concise and idiomatic. This will check if the variable is set and not empty, and if not, it will print the error message to stderr and exit the script due to set -e. This pattern can be applied to the other scripts as well.

Suggested change
if [[ -z "$KAYOBE_PATH" ]]; then
echo "Environment variable \$KAYOBE_PATH is not defined"
exit 2
fi
if [[ ! $KAYOBE_CONFIG_PATH ]]; then
if [[ -z "$KAYOBE_CONFIG_PATH" ]]; then
echo "Environment variable \$KAYOBE_CONFIG_PATH is not defined"
exit 2
fi
: "${KAYOBE_PATH:?Environment variable KAYOBE_PATH is not defined}"
: "${KAYOBE_CONFIG_PATH:?Environment variable KAYOBE_CONFIG_PATH is not defined}"


if [[ ! $ANSIBLE_ROLES_PATH ]]; then
if [[ -z "$ANSIBLE_ROLES_PATH" ]]; then
set -x
export ANSIBLE_ROLES_PATH=$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$KAYOBE_PATH/ansible/roles"
set +x
else
set -x
export ANSIBLE_ROLES_PATH=$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles"
set +x
fi
Comment on lines +20 to 28
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This logic for setting ANSIBLE_ROLES_PATH can be simplified to be less repetitive. By preparing the new value in a temporary variable, you can avoid duplicating the set -x/export/set +x block. This refactoring improves readability and maintainability, and can be applied to the other scripts as well.

Suggested change
if [[ -z "$ANSIBLE_ROLES_PATH" ]]; then
set -x
export ANSIBLE_ROLES_PATH=$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$KAYOBE_PATH/ansible/roles"
set +x
else
set -x
export ANSIBLE_ROLES_PATH=$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles"
set +x
fi
if [[ -z "$ANSIBLE_ROLES_PATH" ]]; then
ANSIBLE_ROLES_PATH_NEW="$KAYOBE_PATH/ansible/roles"
else
ANSIBLE_ROLES_PATH_NEW="$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles"
fi
set -x
export ANSIBLE_ROLES_PATH="$ANSIBLE_ROLES_PATH_NEW"
set +x


set -x

kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml -e os_release=noble --limit $1
kayobe playbook run "$KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml" \
-e os_release=noble --limit "$1"

kayobe infra vm host configure --limit $1 -e os_release=noble
kayobe infra vm host configure --limit "$1" -e os_release=noble
22 changes: 12 additions & 10 deletions tools/ubuntu-upgrade-overcloud.sh
Original file line number Diff line number Diff line change
@@ -1,36 +1,38 @@
#! /usr/bin/bash
#!/usr/bin/env bash

set -e

if [[ ! $1 ]]; then
if [[ -z "$1" ]]; then
echo "Usage: overcloud-ubuntu-upgrade.sh <overcloud-hostname>"
exit 2
fi

if [[ ! $KAYOBE_PATH ]]; then
if [[ -z "$KAYOBE_PATH" ]]; then
echo "Environment variable \$KAYOBE_PATH is not defined"
exit 2
fi

if [[ ! $KAYOBE_CONFIG_PATH ]]; then
if [[ -z "$KAYOBE_CONFIG_PATH" ]]; then
echo "Environment variable \$KAYOBE_CONFIG_PATH is not defined"
exit 2
fi

if [[ ! $ANSIBLE_ROLES_PATH ]]; then
if [[ -z "$ANSIBLE_ROLES_PATH" ]]; then
set -x
export ANSIBLE_ROLES_PATH=$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$KAYOBE_PATH/ansible/roles"
set +x
else
set -x
export ANSIBLE_ROLES_PATH=$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles"
set +x
fi

set -x

kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml -e os_release=noble --limit $1
kayobe playbook run "$KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml" \
-e os_release=noble --limit "$1"

kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ovn-fix-chassis-priorities.yml
kayobe playbook run "$KAYOBE_CONFIG_PATH/ansible/ovn-fix-chassis-priorities.yml"

kayobe overcloud host configure --limit "$1" -e os_release=noble

kayobe overcloud host configure --limit $1 -e os_release=noble
15 changes: 8 additions & 7 deletions tools/ubuntu-upgrade-seed-hypervisor.sh
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
#! /usr/bin/bash
#!/usr/bin/env bash

set -e

if [[ ! $KAYOBE_PATH ]]; then
if [[ -z "$KAYOBE_PATH" ]]; then
echo "Environment variable \$KAYOBE_PATH is not defined"
exit 2
fi

if [[ ! $KAYOBE_CONFIG_PATH ]]; then
if [[ -z "$KAYOBE_CONFIG_PATH" ]]; then
echo "Environment variable \$KAYOBE_CONFIG_PATH is not defined"
exit 2
fi

if [[ ! $ANSIBLE_ROLES_PATH ]]; then
if [[ -z "$ANSIBLE_ROLES_PATH" ]]; then
set -x
export ANSIBLE_ROLES_PATH=$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$KAYOBE_PATH/ansible/roles"
set +x
else
set -x
export ANSIBLE_ROLES_PATH=$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles"
set +x
fi

set -x

kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml -e os_release=noble --limit seed-hypervisor
kayobe playbook run "$KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml" \
-e os_release=noble --limit seed-hypervisor

kayobe seed hypervisor host configure -e os_release=noble
15 changes: 8 additions & 7 deletions tools/ubuntu-upgrade-seed.sh
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
#! /usr/bin/bash
#!/usr/bin/env bash

set -e

if [[ ! $KAYOBE_PATH ]]; then
if [[ -z "$KAYOBE_PATH" ]]; then
echo "Environment variable \$KAYOBE_PATH is not defined"
exit 2
fi

if [[ ! $KAYOBE_CONFIG_PATH ]]; then
if [[ -z "$KAYOBE_CONFIG_PATH" ]]; then
echo "Environment variable \$KAYOBE_CONFIG_PATH is not defined"
exit 2
fi

if [[ ! $ANSIBLE_ROLES_PATH ]]; then
if [[ -z "$ANSIBLE_ROLES_PATH" ]]; then
set -x
export ANSIBLE_ROLES_PATH=$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$KAYOBE_PATH/ansible/roles"
set +x
else
set -x
export ANSIBLE_ROLES_PATH=$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles
export ANSIBLE_ROLES_PATH="$ANSIBLE_ROLES_PATH:$KAYOBE_PATH/ansible/roles"
set +x
fi

set -x

kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml -e os_release=noble --limit seed
kayobe playbook run "$KAYOBE_CONFIG_PATH/ansible/ubuntu-upgrade.yml" \
-e os_release=noble --limit seed

kayobe seed host configure -e os_release=noble
Loading