簡體   English   中英

Openstack 圖片上傳

[英]Openstack Image upload

我是 openstack 的新手,我正在嘗試使用 python SDK 訪問 openstack 服務。 我嘗試使用create函數將圖像上傳到 openstack,其中包含圖像的數據(要寫入的圖像)作為參數,腳本執行並且沒有任何錯誤,但是當我登錄並導航到 openstack 中的圖像選項卡時儀表板,圖像已創建,但圖像狀態始終處於排隊狀態 我嘗試從 openstack library 添加上傳功能,這次圖像的狀態更改為Active但圖像的大小僅以字節為單位(圖像的原始大小為 12 MB)。 我不明白數據在哪里丟失。 我什至嘗試使用 keystone 身份庫登錄,但同樣的情況仍在繼續發生。 任何幫助都會非常有用。 提前致謝

def upload_image():
    # imagefile = 'CirrOS.qcow2'
    # loader = loading.get_plugin_loader('password')
    auth = v3.Password(user_domain_name='******',
                       username='***',
                       password='***',
                       project_domain_name='******',
                       project_name='***',
                       auth_url='http://*.*.*.**:****/v3')
    sess = session.Session(auth=auth)
    glance = client.Client(session=sess)
    # with open(imagefile, 'rb'):
    image = glance.images.create(name="my_image", is_public='True', disk_format="qcow2",
                                 container_format="bare", data='CirrOS.qcow2')
    glance.images.upload(image.id, image_data='CirrOS.qcow2')

我確實使用了 openstack rest API 來上傳圖像。 它的步驟是:-
Step 1. Create Image,它將創建一個包含所有必需信息但沒有圖像數據的隊列狀態的圖像。
步驟 2. 讀取圖像並將其二進制數據上傳到創建的圖像上。

當您使用 openstack python 客戶端庫時,第一步是創建圖像,但在第 2 步中我看不到您正在讀取和上傳圖像數據。 所以你的第二個函數調用應該是 -

glance.images.upload(image.id, open('<image-path>', 'rb'))

由於您沒有提到圖像路徑。 在您的情況下,圖像數據是文本“CirrOS.qcow2”的大小。

有關更多信息,請參閱此鏈接:- https://docs.openstack.org/python-glanceclient/latest/reference/apiv2.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM