OpenStack: Install OpenStack CLI client (OSC)

Release notes for openstack client tools
https://releases.openstack.org/antelope/

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc
# echo 'eval "$(uvx --generate-shell-completion bash)"' >> ~/.bashrc
 
# Install python
uv python install 3.12
 
# install rocky client versions
mkdir -p ~/.uv/osc
cd ~/.uv/osc
 
uv init --python 3.12
 
uv add \
  "gnocchiclient==7.0.7" \
  "openstacksdk<0.103.0" \
  "osc-placement<=4.1.0" \
  "oslo.utils<=6.1.0" \
  "python-barbicanclient<=5.5.0" \
  "python-cinderclient<=9.2.0" \
  "python-cloudkittyclient<=4.7.0" \
  "python-designateclient<=5.1.0" \
  "python-glanceclient<=4.2.0" \
  "python-heatclient<=3.2.0" \
  "python-keystoneclient<=5.1.0" \
  "python-magnumclient<=4.1.0" \
  "python-mistralclient<=5.0.0" \
  "python-neutronclient<=8.2.0" \
  "python-novaclient<=18.2.0" \
  "python-octaviaclient<=3.2.0" \
  "python-openstackclient<=6.1.0" \
  "python-swiftclient<=4.2.0"
# install pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc
exec "$SHELL"
 
# install python 3.5.x version into pyenv (DO NOT USE VERSIONS > 3.5.x)
apt install build-essential libbz2-dev libreadline-dev libssl-dev zlib1g-dev libsqlite3-dev wget curl libncurses5-dev libncursesw5-dev xz-utils libffi-dev liblzma-dev
pyenv install 3.5.6
echo '3.5.6' > ~/.python-version  # python 3.5.6 will be used ONLY if your pwd is ~/
 
# install all openstack clients
cd ~/
pip install -U pip
pip install -U python-openstackclient python-keystoneclient python-cinderclient python-novaclient \
python-neutronclient python-glanceclient python-octaviaclient python-swiftclient python-heatclient \
python-magnumclient python-barbicanclient python-mistralclient \
pankoclient gnocchiclient
 
# Extend BASH completion
openstack complete | sudo tee /etc/bash_completion.d/openstack
source /etc/bash_completion.d/openstack
 
# test
# source foo-stage-openrc.sh
# openstack image list
 
 
# ubuntu default packages
sudo apt install -y python-openstackclient python-keystoneclient python-cinderclient python-novaclient python-neutronclient python-glanceclient python-octaviaclient python-swiftclient python-heatclient python-magnumclient python-barbicanclient python-mistralclient python3-pankoclient python3-gnocchiclient

Install
https://docs.openstack.org/mitaka/user-guide/common/cli_install_openstack_command_line_clients.html

Debug

openstack hypervisor list 
openstack hypervisor stats show 
openstack compute service list
openstack volume service list
openstack network agent list
openstack extension show
 
# get server data
openstack server list --project ${CUSTOMER_PROJECT_ID}
openstack server show <CUSTOMER_SERVER_ID>
openstack console log show <CUSTOMER_SERVER_ID>
 
# get security group
openstack security group list --project ${CUSTOMER_PROJECT_ID}
openstack security group show <CUSTOMER_SECURITY_GROUP_ID>

Available releases
https://docs.openstack.org/releasenotes/python-openstackclient/ussuri.html
https://github.com/openstack/python-barbicanclient/releases

Install with PIP
https://docs.openstack.org/newton/user-guide/common/cli-install-openstack-command-line-clients.html

Links
https://github.com/pyenv/pyenv