From f32f2492e994ec1a5efb43177004a0bd9b1875ff Mon Sep 17 00:00:00 2001 From: tdviet Date: Sat, 3 Jul 2021 17:55:06 +0200 Subject: [PATCH 1/2] Clean site config directory before saving --- fedcloudclient/sites.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/fedcloudclient/sites.py b/fedcloudclient/sites.py index 9dd0c3f..0afb171 100644 --- a/fedcloudclient/sites.py +++ b/fedcloudclient/sites.py @@ -12,6 +12,7 @@ import builtins import json +import shutil from pathlib import Path from typing import List from urllib.request import Request, urlopen @@ -159,6 +160,16 @@ def save_site_config(config_dir): yaml.dump(site_info, f) +def delete_site_config(config_dir): + """ + Delete site configs to local directory specified in config_dir. + + :param config_dir: path to directory containing site configuration + :return: None + """ + shutil.rmtree(config_dir, ignore_errors=True) + + def list_sites(): """ List of all sites IDs in site configurations @@ -271,6 +282,7 @@ def save_config(): read_default_site_config() config_dir = Path.home() / __LOCAL_CONFIG_DIR print("Saving site configs to directory %s" % config_dir) + delete_site_config(config_dir) save_site_config(config_dir) From e4e67c5be45de601b023da8604c682505fa97949 Mon Sep 17 00:00:00 2001 From: tdviet Date: Sat, 3 Jul 2021 17:57:37 +0200 Subject: [PATCH 2/2] Minor comments in demo scripts --- examples/list-all-my-own-vms.sh | 2 ++ examples/list-my-own-vms.sh | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/list-all-my-own-vms.sh b/examples/list-all-my-own-vms.sh index b77042e..7c60e90 100644 --- a/examples/list-all-my-own-vms.sh +++ b/examples/list-all-my-own-vms.sh @@ -56,8 +56,10 @@ if [[ $VO == "UNKNOWN" ]]; then exit 1 fi +# Get list of all sites SITES=$(fedcloud site list) +# and call list-my-own-vms.sh script for each site in parallel for SITE in $SITES; do ./list-my-own-vms.sh --site "$SITE" --vo "$VO" & done diff --git a/examples/list-my-own-vms.sh b/examples/list-my-own-vms.sh index dbafae9..9da259d 100644 --- a/examples/list-my-own-vms.sh +++ b/examples/list-my-own-vms.sh @@ -77,8 +77,9 @@ fi # shellcheck disable=SC2086 LIST_ALL_VM=$(fedcloud openstack server list --site $SITE --vo $VO $COLUMNS -c "User ID" --json-output) +# for usability, ignore the site and print nothing if some errors occur in openstack commands, +# mostly because the VO is not supported on the site error_code=$(echo "$LIST_ALL_VM" | jq -r '.[]."Error code"') - if [ "$error_code" != "0" ]; then exit 0 fi