Skip to content

Instantly share code, notes, and snippets.

@iokiwi
Last active June 23, 2021 01:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iokiwi/659f86a5542af08058adfac9b5b517e1 to your computer and use it in GitHub Desktop.
Save iokiwi/659f86a5542af08058adfac9b5b517e1 to your computer and use it in GitHub Desktop.
dump openstack session to file and reload it in a new terminal window
export OS_SESSIONS_DIR=$HOME/.os_sessions
function os_save_session() {
mkdir -p $OS_SESSIONS_DIR;
if [ -z "$OS_PROJECT_NAME" ]; then
export OS_PROJECT_NAME=$(openstack project show $OS_PROJECT_ID -c name -f value);
fi
if [ -z "$OS_TOKEN" ]; then
echo "Issuing token";
export OS_AUTH_TYPE=token
export OS_TOKEN=$(openstack token issue -c id -f value)
echo "Unsetting password";
unset OS_PASSWORD;
fi
OS_PROJECT_NAME_SESSION=$(echo $OS_PROJECT_NAME | tr "/" "_" )
#OS_PROJECT_NAME_SESSION=$OS_PROJECT_NAME
session_file="${OS_SESSIONS_DIR}/${OS_PROJECT_NAME_SESSION}_${OS_USERNAME}"
echo "Saving Openstack session variables to $session_file"
env | grep OS_ | xargs -d "\n" printf -- 'export %s\n' > $session_file
}
function os_load_session() {
echo "Resuming Openstack session $1"
source "${OS_SESSIONS_DIR}/$1"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment