Fix bashate violations
Change-Id: I31486f7f8de5a410de2847ee1ecfc44ac75bce28
This commit is contained in:
parent
d9a5bbc7cd
commit
5ec3849f7d
@ -31,8 +31,7 @@ test "$ENABLED" != "0" || exit 0
|
|||||||
. /lib/lsb/init-functions
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
CONFIG_DIR_FILES=""
|
CONFIG_DIR_FILES=""
|
||||||
if [ ! -z "$CONFIG_DIR" ]
|
if [ ! -z "$CONFIG_DIR" ]; then
|
||||||
then
|
|
||||||
for file in $CONFIG_DIR/*; do
|
for file in $CONFIG_DIR/*; do
|
||||||
CONFIG_DIR_FILES="$CONFIG_DIR_FILES -f $file"
|
CONFIG_DIR_FILES="$CONFIG_DIR_FILES -f $file"
|
||||||
done
|
done
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
# This sciprt was built for the express purpose of managing LXC on a
|
# This script was built for the express purpose of managing LXC on a
|
||||||
# host. The functions within this script provide for common operations
|
# host. The functions within this script provide for common operations
|
||||||
# that may be required when working with LXC in production.
|
# that may be required when working with LXC in production.
|
||||||
|
|
||||||
# {{ ansible_managed }}
|
# {{ ansible_managed }}
|
||||||
@ -31,19 +31,19 @@ export LXC_DNSMASQ_USER="{{ lxc_net_dnsmasq_user }}"
|
|||||||
export VARRUN="/run/lxc"
|
export VARRUN="/run/lxc"
|
||||||
export LXC_DOMAIN="{{ lxc_net_domain }}"
|
export LXC_DOMAIN="{{ lxc_net_domain }}"
|
||||||
|
|
||||||
function warn() {
|
function warn {
|
||||||
echo -e "\e[0;35m${@}\e[0m"
|
echo -e "\e[0;35m${@}\e[0m"
|
||||||
}
|
}
|
||||||
|
|
||||||
function info() {
|
function info {
|
||||||
echo -e "\e[0;33m${@}\e[0m"
|
echo -e "\e[0;33m${@}\e[0m"
|
||||||
}
|
}
|
||||||
|
|
||||||
function success() {
|
function success {
|
||||||
echo -e "\e[0;32m${@}\e[0m"
|
echo -e "\e[0;32m${@}\e[0m"
|
||||||
}
|
}
|
||||||
|
|
||||||
function remove_rules() {
|
function remove_rules {
|
||||||
info "Removing LXC IPtables rules."
|
info "Removing LXC IPtables rules."
|
||||||
# Remove rules from the INPUT chain
|
# Remove rules from the INPUT chain
|
||||||
iptables ${USE_IPTABLES_LOCK} -D INPUT -i "${LXC_BRIDGE}" -p udp --dport 67 -j ACCEPT
|
iptables ${USE_IPTABLES_LOCK} -D INPUT -i "${LXC_BRIDGE}" -p udp --dport 67 -j ACCEPT
|
||||||
@ -75,7 +75,7 @@ function remove_rules() {
|
|||||||
success "IPtables rules removed."
|
success "IPtables rules removed."
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_rules() {
|
function add_rules {
|
||||||
info "Creating LXC IPtables rules."
|
info "Creating LXC IPtables rules."
|
||||||
set -e
|
set -e
|
||||||
# Set ip_prwarding
|
# Set ip_prwarding
|
||||||
@ -111,7 +111,7 @@ function add_rules() {
|
|||||||
success "IPtables rules created."
|
success "IPtables rules created."
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanup() {
|
function cleanup {
|
||||||
# Clean up everything
|
# Clean up everything
|
||||||
remove_rules
|
remove_rules
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ function cleanup() {
|
|||||||
brctl delbr "${LXC_BRIDGE}" || true
|
brctl delbr "${LXC_BRIDGE}" || true
|
||||||
}
|
}
|
||||||
|
|
||||||
function pre_up() {
|
function pre_up {
|
||||||
# Create the run directory if needed.
|
# Create the run directory if needed.
|
||||||
if [[ ! -d "${VARRUN}" ]];then
|
if [[ ! -d "${VARRUN}" ]];then
|
||||||
mkdir -p "${VARRUN}"
|
mkdir -p "${VARRUN}"
|
||||||
@ -138,7 +138,7 @@ function pre_up() {
|
|||||||
iptables -w -L -n > /dev/null 2>&1 || use_iptables_lock=""
|
iptables -w -L -n > /dev/null 2>&1 || use_iptables_lock=""
|
||||||
}
|
}
|
||||||
|
|
||||||
function start_dnsmasq() {
|
function start_dnsmasq {
|
||||||
set -e
|
set -e
|
||||||
info "Starting LXC dnsmasq."
|
info "Starting LXC dnsmasq."
|
||||||
dnsmasq "${LXC_DOMAIN_ARG}" --user="${LXC_DNSMASQ_USER}" \
|
dnsmasq "${LXC_DOMAIN_ARG}" --user="${LXC_DNSMASQ_USER}" \
|
||||||
@ -157,26 +157,32 @@ function start_dnsmasq() {
|
|||||||
success "dnsmasq started."
|
success "dnsmasq started."
|
||||||
}
|
}
|
||||||
|
|
||||||
function start_containers_nicely() {
|
function start_containers_nicely {
|
||||||
set -e
|
set -e
|
||||||
# Stop all containers on a host
|
# Stop all containers on a host
|
||||||
success "Starting all containers."
|
success "Starting all containers."
|
||||||
for container in $(lxc-ls); do lxc-start -d -n "${container}"; done
|
for container in $(lxc-ls); do
|
||||||
|
lxc-start -d -n "${container}"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop_containers_nicely() {
|
function stop_containers_nicely {
|
||||||
# Stop all containers on a host
|
# Stop all containers on a host
|
||||||
warn "Stopping all containers."
|
warn "Stopping all containers."
|
||||||
for container in $(lxc-ls); do lxc-stop -n "${container}"; done
|
for container in $(lxc-ls); do
|
||||||
|
lxc-stop -n "${container}"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop_containers_with_fire() {
|
function stop_containers_with_fire {
|
||||||
# Stop all containers on a host
|
# Stop all containers on a host
|
||||||
warn "Stopping all containers with fire."
|
warn "Stopping all containers with fire."
|
||||||
for container in $(lxc-ls); do lxc-stop -k -n "${container}"; done
|
for container in $(lxc-ls); do
|
||||||
|
lxc-stop -k -n "${container}"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
function start_networks() {
|
function start_networks {
|
||||||
set -e
|
set -e
|
||||||
if [ -f "/sys/class/net/${LXC_BRIDGE}/bridge/bridge_id" ];then
|
if [ -f "/sys/class/net/${LXC_BRIDGE}/bridge/bridge_id" ];then
|
||||||
success "LXC container network is already online."
|
success "LXC container network is already online."
|
||||||
@ -208,7 +214,7 @@ function start_networks() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop_dnsmasq() {
|
function stop_dnsmasq {
|
||||||
if [[ -f "${VARRUN}/dnsmasq.pid" ]];then
|
if [[ -f "${VARRUN}/dnsmasq.pid" ]];then
|
||||||
PID="$(cat ${VARRUN}/dnsmasq.pid)"
|
PID="$(cat ${VARRUN}/dnsmasq.pid)"
|
||||||
if [[ "${PID}" ]];then
|
if [[ "${PID}" ]];then
|
||||||
@ -219,24 +225,26 @@ function stop_dnsmasq() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop_networks() {
|
function stop_networks {
|
||||||
warn "Destroying the LXC container network."
|
warn "Destroying the LXC container network."
|
||||||
cleanup
|
cleanup
|
||||||
stop_dnsmasq
|
stop_dnsmasq
|
||||||
}
|
}
|
||||||
|
|
||||||
function remove_down_veth() {
|
function remove_down_veth {
|
||||||
info "Getting a list of all DOWN veth interfaces"
|
info "Getting a list of all DOWN veth interfaces"
|
||||||
VETHPAIRS="$(ip link list | grep veth | grep "state DOWN" | awk '/veth/ {print $2}' | sed 's/\://g')"
|
VETHPAIRS="$(ip link list | grep veth | grep "state DOWN" | awk '/veth/ {print $2}' | sed 's/\://g')"
|
||||||
if [[ "$VETHPAIRS" ]];then
|
if [[ "$VETHPAIRS" ]];then
|
||||||
warn "Removing all DOWN veth interfaces"
|
warn "Removing all DOWN veth interfaces"
|
||||||
for veth in $VETHPAIRS; do ip link delete dev "${veth}"; done
|
for veth in $VETHPAIRS; do
|
||||||
|
ip link delete dev "${veth}"
|
||||||
|
done
|
||||||
else
|
else
|
||||||
success "No DOWN veth interfaces to remove"
|
success "No DOWN veth interfaces to remove"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function flush_cache() {
|
function flush_cache {
|
||||||
warn "Flushing network cache"
|
warn "Flushing network cache"
|
||||||
ip -s -s neigh flush all
|
ip -s -s neigh flush all
|
||||||
}
|
}
|
||||||
@ -332,21 +340,21 @@ case "$1" in
|
|||||||
system-start-up Start up everything that LXC needs to
|
system-start-up Start up everything that LXC needs to
|
||||||
operate, including the containers, dnsmasq,
|
operate, including the containers, dnsmasq,
|
||||||
LXC bridge, and IPtables.
|
LXC bridge, and IPtables.
|
||||||
system-tear-down Tear down everything LXC on this system.
|
system-tear-down Tear down everything LXC on this system.
|
||||||
This will remove all all IPtables rules, kill
|
This will remove all all IPtables rules, kill
|
||||||
dnsmasq, remove the LXC bridge, stops all
|
dnsmasq, remove the LXC bridge, stops all
|
||||||
containers, removes DOWN veth interfaces,
|
containers, removes DOWN veth interfaces,
|
||||||
and flushes the net cache.
|
and flushes the net cache.
|
||||||
system-force-tear-down Force tear down everything LXC on this system.
|
system-force-tear-down Force tear down everything LXC on this system.
|
||||||
This will remove all all IPtables rules, kill
|
This will remove all all IPtables rules, kill
|
||||||
dnsmasq, remove the LXC bridge, stops all
|
dnsmasq, remove the LXC bridge, stops all
|
||||||
containers, removes DOWN veth interfaces,
|
containers, removes DOWN veth interfaces,
|
||||||
and flushes the net cache.
|
and flushes the net cache.
|
||||||
system-rebuild Rebuild the LXC network, IPtables, dnsmasq,
|
system-rebuild Rebuild the LXC network, IPtables, dnsmasq,
|
||||||
removes DOWN veth interfaces, flushes the
|
removes DOWN veth interfaces, flushes the
|
||||||
net cache, and restarts all conatiners.
|
net cache, and restarts all conatiners.
|
||||||
system-force-rebuild Force rebuild the LXC network, IPtables, dnsmasq,
|
system-force-rebuild Force rebuild the LXC network, IPtables, dnsmasq,
|
||||||
removes DOWN veth interfaces, flushes the
|
removes DOWN veth interfaces, flushes the
|
||||||
net cache, and restarts all conatiners.
|
net cache, and restarts all conatiners.
|
||||||
dnsmasq-start Start the LXC dnsmasq process.
|
dnsmasq-start Start the LXC dnsmasq process.
|
||||||
dnsmasq-stop Stop the LXC dnsmasq process.
|
dnsmasq-stop Stop the LXC dnsmasq process.
|
||||||
@ -355,7 +363,7 @@ case "$1" in
|
|||||||
iptables-remove Remove the LXC IPtables rules for NAT.
|
iptables-remove Remove the LXC IPtables rules for NAT.
|
||||||
iptables-recreate Recreate the LXC IPtables rules for NAT.
|
iptables-recreate Recreate the LXC IPtables rules for NAT.
|
||||||
veth-cleanup Remove all DOWN veth interfaces from a system.
|
veth-cleanup Remove all DOWN veth interfaces from a system.
|
||||||
flush-net-cache Flush the hosts network cache. This is usful if
|
flush-net-cache Flush the hosts network cache. This is useful if
|
||||||
IP addresses are being recycled on to containers
|
IP addresses are being recycled on to containers
|
||||||
from other hosts.
|
from other hosts.
|
||||||
'
|
'
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
# execution and while the script may be world read/executable its contains only
|
# execution and while the script may be world read/executable its contains only
|
||||||
# the necessary bits that are required to run the rotate and sync commands.
|
# the necessary bits that are required to run the rotate and sync commands.
|
||||||
|
|
||||||
function autorotate() {
|
function autorotate {
|
||||||
# Rotate the keys
|
# Rotate the keys
|
||||||
keystone-manage fernet_rotate --keystone-user "{{ keystone_system_user_name }}" \
|
keystone-manage fernet_rotate --keystone-user "{{ keystone_system_user_name }}" \
|
||||||
--keystone-group "{{ keystone_system_group_name }}"
|
--keystone-group "{{ keystone_system_group_name }}"
|
||||||
|
@ -21,25 +21,25 @@ LOCKFILE="/var/run/neutron_ha_tool.lock"
|
|||||||
# Trap any errors that might happen in executing the script
|
# Trap any errors that might happen in executing the script
|
||||||
trap my_trap_handler ERR
|
trap my_trap_handler ERR
|
||||||
|
|
||||||
function my_trap_handler() {
|
function my_trap_handler {
|
||||||
kill_job
|
kill_job
|
||||||
}
|
}
|
||||||
|
|
||||||
function unlock() {
|
function unlock {
|
||||||
rm "${LOCKFILE}"
|
rm "${LOCKFILE}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function do_job() {
|
function do_job {
|
||||||
# Do a given job
|
# Do a given job
|
||||||
logger "$({{ do_job }})"
|
logger "$({{ do_job }})"
|
||||||
}
|
}
|
||||||
|
|
||||||
function cooldown() {
|
function cooldown {
|
||||||
# Sleep for a given amount of time
|
# Sleep for a given amount of time
|
||||||
sleep {{ sleep_time }}
|
sleep {{ sleep_time }}
|
||||||
}
|
}
|
||||||
|
|
||||||
function kill_job() {
|
function kill_job {
|
||||||
# If the job needs killing kill the pid and unlock the file.
|
# If the job needs killing kill the pid and unlock the file.
|
||||||
PID="$(cat ${LOCKFILE})"
|
PID="$(cat ${LOCKFILE})"
|
||||||
unlock
|
unlock
|
||||||
|
@ -42,14 +42,14 @@ TESTR_OPTS=${TESTR_OPTS:-''}
|
|||||||
# should be run. Each function takes in the full list of tempest tests and
|
# should be run. Each function takes in the full list of tempest tests and
|
||||||
# should output a filtered list.
|
# should output a filtered list.
|
||||||
|
|
||||||
function gen_test_list_api() {
|
function gen_test_list_api {
|
||||||
# filter test list to produce list of tests to use.
|
# filter test list to produce list of tests to use.
|
||||||
egrep 'tempest\.api\.(identity|image|volume|network|compute|object_storage)'\
|
egrep 'tempest\.api\.(identity|image|volume|network|compute|object_storage)'\
|
||||||
|grep -vi xml
|
|grep -vi xml
|
||||||
}
|
}
|
||||||
|
|
||||||
# Run selected scenario tests
|
# Run selected scenario tests
|
||||||
function gen_test_list_scenario() {
|
function gen_test_list_scenario {
|
||||||
# network tests have been removed due to
|
# network tests have been removed due to
|
||||||
# https://bugs.launchpad.net/openstack-ansible/+bug/1425255
|
# https://bugs.launchpad.net/openstack-ansible/+bug/1425255
|
||||||
# TODO: add them back once the bug has been fixed
|
# TODO: add them back once the bug has been fixed
|
||||||
@ -57,18 +57,18 @@ function gen_test_list_scenario() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Run heat-api tests
|
# Run heat-api tests
|
||||||
function gen_test_list_heat_api() {
|
function gen_test_list_heat_api {
|
||||||
# basic orchestration api tests
|
# basic orchestration api tests
|
||||||
egrep 'tempest\.api\.orchestration\.stacks\.test_non_empty_stack'
|
egrep 'tempest\.api\.orchestration\.stacks\.test_non_empty_stack'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Run cinder backup api tests
|
# Run cinder backup api tests
|
||||||
function gen_test_list_cinder_backup() {
|
function gen_test_list_cinder_backup {
|
||||||
egrep 'tempest\.api\.volume\.admin\.test_volumes_backup'
|
egrep 'tempest\.api\.volume\.admin\.test_volumes_backup'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Run smoke tests
|
# Run smoke tests
|
||||||
function gen_test_list_smoke() {
|
function gen_test_list_smoke {
|
||||||
# this specific test fails frequently and is making our multi node nightly
|
# this specific test fails frequently and is making our multi node nightly
|
||||||
# job unstable (see bug in gen_test_list_scenario function)
|
# job unstable (see bug in gen_test_list_scenario function)
|
||||||
# TODO: re-add back in once the specific issue is identified and corrected
|
# TODO: re-add back in once the specific issue is identified and corrected
|
||||||
@ -76,14 +76,14 @@ function gen_test_list_smoke() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Run all tests
|
# Run all tests
|
||||||
function gen_test_list_all() {
|
function gen_test_list_all {
|
||||||
cat
|
cat
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generate test list from official defcore/refstack spec
|
# Generate test list from official defcore/refstack spec
|
||||||
# Note that unlike the other test list functions, this one isn't a filter
|
# Note that unlike the other test list functions, this one isn't a filter
|
||||||
# it ignores its stdin and pulls the test list from github.
|
# it ignores its stdin and pulls the test list from github.
|
||||||
function gen_test_list_defcore(){
|
function gen_test_list_defcore {
|
||||||
branch=${1:-master}
|
branch=${1:-master}
|
||||||
string=$(python <<END
|
string=$(python <<END
|
||||||
import json
|
import json
|
||||||
@ -104,26 +104,29 @@ response = requests.get(url)
|
|||||||
for capability in response.json()['capabilities'].values():
|
for capability in response.json()['capabilities'].values():
|
||||||
for test in capability['tests']:
|
for test in capability['tests']:
|
||||||
print test
|
print test
|
||||||
END)
|
END
|
||||||
|
)
|
||||||
|
|
||||||
read -a test_list <<<$string
|
read -a test_list <<<$string
|
||||||
parse_cmd="grep "
|
parse_cmd="grep "
|
||||||
for item in ${test_list[@]}; do parse_cmd+="-e $item "; done
|
for item in ${test_list[@]}; do
|
||||||
|
parse_cmd+="-e $item "
|
||||||
|
done
|
||||||
|
|
||||||
$parse_cmd
|
$parse_cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
# defcore tests for juno
|
# defcore tests for juno
|
||||||
function gen_test_list_defcore_juno(){
|
function gen_test_list_defcore_juno {
|
||||||
gen_test_list_defcore juno
|
gen_test_list_defcore juno
|
||||||
}
|
}
|
||||||
|
|
||||||
# defcore tests for icehouse
|
# defcore tests for icehouse
|
||||||
function gen_test_list_defcore_icehouse(){
|
function gen_test_list_defcore_icehouse {
|
||||||
gen_test_list_defcore icehouse
|
gen_test_list_defcore icehouse
|
||||||
}
|
}
|
||||||
|
|
||||||
exit_msg(){
|
function exit_msg {
|
||||||
echo $1
|
echo $1
|
||||||
exit $2
|
exit $2
|
||||||
}
|
}
|
||||||
|
@ -37,8 +37,7 @@ EOF
|
|||||||
|
|
||||||
read -r
|
read -r
|
||||||
echo
|
echo
|
||||||
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||||
then
|
|
||||||
echo "Teardown canceled."
|
echo "Teardown canceled."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user