Openstack Novaclient詳解(一)Novaclient的安裝和使用

一. Novaclient客戶端的安裝

    在一套完整的原生的openstack系統當中,Novaclient客戶端是已經默認安裝的。若是別的物理機想訪問已有的openstack nova的服務,能夠經過安裝Novaclient客戶端的方式實現,現簡單介紹如何安裝Novaclient客戶端。python

    1.安裝Novaclient客戶端api

sudo  pip install python-novaclient

    2.更新Novaclient客戶端bash

sudo pip install --upgrade python-novaclient

    3.刪除Novaclient客戶端session

sudo pip uninstall python-novaclient

    4.當安裝完成後,可經過命令查詢其版本號url

pip freeze | grep python-novaclient

    注意:在安裝完成後,須要手動加載環境變量,裏面包含項目名稱、用戶名、密碼以及訪問的URL等內容。下圖是環境變量的一個示例:spa

二. Novaclient客戶端的使用

    客戶端安裝完成後,接下來介紹如何在CMD使用Nova服務。code

    1.首先進入Python環境並導入Novaclient包server

>>> from novaclient import client

    2.進行Novaclient認證對象

>>> nova = client.Client(VERSION, USERNAME, PASSWORD, PROJECT_ID, AUTH_URL)

    其中VERSION指的是Novaclient的版本,能夠是字符串,好比1.一、2或者2.x等,也能夠是novaclient.api_versions.APIVersion的對象。USERNAME和PASSWORD分別是登陸openstack的用戶名和密碼,PROJECT_ID是項目的ID,也能夠是項目名稱。AUTH_URL是服務的入口地址。ip

    固然,咱們還能夠經過keystone的會話API來建立client鏈接。

>>> from keystoneauth1 import loading
>>> from keystoneauth1 import session
>>> from novaclient import client
>>> loader = loading.get_plugin_loader('password')
>>> auth = loader.load_from_options(auth_url=AUTH_URL,
...                                 username=USERNAME,
...                                 password=PASSWORD,
...                                 project_id=PROJECT_ID)
>>> sess = session.Session(auth=auth)
>>> nova = client.Client(VERSION, session=sess)

若是keystone的版本是V3,你能夠在參數中添加DOMAIN_NAME或者是DOMAIN_ID。

    還能夠經過以下方式進行client鏈接:

>>> from novaclient import client
>>> with client.Client(VERSION, USERNAME, PASSWORD,
...                    PROJECT_ID, AUTH_URL) as nova:
...     nova.servers.list()
...     nova.flavors.list()
...

    最後,若是但願創建一個長鏈接,能夠經過以下方式實現:

>>> from novaclient import client
>>> nova = client.Client(VERSION, USERNAME, PASSWORD, PROJECT_ID,
...                      AUTH_URL, connection_pool=True)

    下圖是我在本地實現的一個示例:

    今天就暫時講解到這裏,下次將會深刻到Novaclient的代碼進行分析和研究。

相關文章
相關標籤/搜索