簡體   English   中英

Pyrax API:使用啟動卷創建計算/內存版本時出錯

[英]Pyrax API: Error in creating Compute/Memory flavors with boot-volumes

背景知識:Rackspace中的Compute / Memory nova實例不帶有本地根卷,Rackspace制定了使用外部SSD引導卷創建它們的策略。 現在的問題是:我正在嘗試使用pyrax api在Rackspace中創建Compute風格實例,其方式與Rackspace在其UI中一樣( https://support.rackspace.com/how-to/boot-a-server-from -a-cloud-block-storage-volume / ),如下所示:

    pyrax.cloudservers.servers.create(hostname,image.id, 
                                      flavor.id,block_device_mapping,
                                      security_groups=security_groups,     
                                      nics=networks, key_name=key)

其中block_device_mapping = {“ vda”:“ 59fb72d5-0b33-46c2-b10b-33fed25c5f74 ::: 1”},長32位數字是我在使用服務器創建服務器之前創建的卷的volume_id

pyrax.cloud_blockstorage.create(name=volume_name, size=volume_size,     
                                 volume_type=volume_type).

我收到一條錯誤消息:

Policy doesn't allow memory_flavor:create:image_backed to be performed.(HTTP 403).

同樣對於其他帶有本地根卷的口味(不必說我沒有引用帶有'block_device_mapping'參數的口味),例如pyrax api可以很好地工作。 這是github上的pyrax / rackspace存儲庫中有關該主題的一個小話題: https : //github.com/rackspace/pyrax/issues/484 ,討論了該問題。 我有什么想念的嗎?

創建可引導卷后,應指定image_id(OS映像ID)來引導該卷:

pyrax.cloud_blockstorage.create(name=volume_name, size=volume_size,  
                              volume_type=volume_type,image=image.id)

另外,block_device_map還需要更多參數:

block_device_map = [{
                            'boot_index': '0',
                            'source_type': 'image',
                            'destination_type': 'volume',
                            'delete_on_termination': True,
                            'uuid': image.id,
                            'volume_size': int(requested_size),
                            'device_name': 'vda'
                   }]                  

這實際上是沒有遇到403 Forbidden錯誤的最后一個陷阱:創建服務器實例時,請勿在pyrax調用參數中再次指定映像ID,否則,pyrazx與引導實例的映像混淆。 因此,只需將pyrax.cloudservers.servers.create()的參數中的image_id設置為None即可:

pyrax.cloudservers.servers.create(
            hostname,
            image=None,
            flavor=flavor.id,
            block_device_mapping_v2=block_device_map,
            security_groups=security_groups,
            nics=networks,
            key_name=key)                          

暫無
暫無

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

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