Klient OpenStack


Korzystanie z funkcji chmury OpenStack odbywa się z poziomu linii poleceń poprzez narzędzie python-openstackclient.

Do instalacji wymagany jest:

  • interpreter języka Python 2.7
  • system zarządzania pakietami pip

Wymienione powyżej oprogramowanie jest zainstalowane domyślnie w popularnych dystrybucjach systemu Linux.

Instalacja klienta

Instalacja odbywa się za pomocą polecenia:

pip install python-openstackclient

Możliwa jest przy tym instalacja globalna (tj. dla całego systemu operacyjnego) lub w odseparowanym środowisku wirtualnym (virtualenv), w zależności od indywidualnych preferencji użytkownika. Przykładowo, instalacja globalna dla wszystkich użytkowników:

sudo --set-home pip install python-openstackclient

Klient Openstack posiada rozbudowaną dokumentację. Pomoc można uzyskać używają opcji --help, przykładowo:

openstack --help

Dostępna jest także opcja help, która umożliwia otrzymanie pomocy dla wybranego polecenia:

openstack help
openstack help server list

Ustawienia dostępu

Dostęp do chmury Openstack wymaga przygotowania dwóch plików: clouds.yml oraz clouds-public.yml. Widoczność tych plików dla klienta Openstack zależy od ich lokalizacji. Przykładowo jeśli pliki zostaną zdefiniowane w:

  • katalogu roboczym, to są one widoczne tylko dla poleceń wydanych w bieżącej lokalizacji,
  • podkatalogu .config/openstack w katalogu domowym użytkownika tj. w ~/.config/openstack, to dane uwierzytelniające są na danej maszynie widoczne wszędzie dla danego użytkownika,
  • /etc/openstack, to ustawienia dostępu są wspólne dla wszystkich użytkowników, którzy mają prawo do odczytu w/w plików.

Pliki te nie muszą być przechowywane razem. Przykładowo, clouds.yml można zdefiniować w bieżącym katalogu a clouds-public.yml w katalogu ~/.config/openstack.

Konta użytkownika w chmurze OpenStack tworzone są przez administratora. Dane uwierzytelniające do chmury powinny zostać zapisane w pliku clouds-public.yml:

---
public-clouds:
  task:
    auth:
      auth_url: "https://cloud.task.gda.pl:5000/v3"
      username: "nazwa_użytkownika"
      password: "hasło_użytkownika"
user_domain_name: "citask"
project_domain_name: "citask"
identity_api_version: 3

Następnie należy zdefiniować plik zawierający informację o projektach używanych przez użytkownika. Informacje te należy umieścić w pliku clouds.yml:

---
clouds:
  moja-chmura:
    profile: "task"
    auth:
      project_name: "nazwa_projektu"

Aby uzyskać dostęp do chmury przy pomocy przed chwilą zdefiniowanych plików należy użyć opcji --os-cloud, przykładowo:

openstack --os-cloud moja-chmura server list

Szczegółowy opis opcji konfiguracyjnych znaleźć można w oficjalnej dokumentacji na stronie oprogramowania OpenStack.