呼叫python novaclient遇到的坑

2021-10-04 22:28:36 字數 578 閱讀 7596

最近,工作中遇到了要呼叫python-novaclient,其中遇到一些小坑,僅此記錄

os-ext-srv-attr:root_device_name 的值在nova.servers.get().to_dict()中不存在

這個是因為api的版本不同導致的,這個屬性是在2.3版本才出現的.相應的解決方案可以使用@api_versions.wraps 裝飾器來動態的控制版本

keypairs.create的時候,對應的public_key是乙個路勁,需要加乙個read的方法

if public_key_path:

with open(os.path.expanduser(public_key_path)) as f:

public_key = f.read()

else:

public_key = none

return self.nova.keypairs.create(keypair_name, public_key)

servers.delete()的時候,最好能加乙個確保刪除的方法,以達到不影響network的刪除

長呼叫與短呼叫 呼叫門

cs裡的是乙個段選擇子 1 拆分段選擇子,查gdt表 2 該段描述符為系統描述符,s位為0,type為1100,是乙個門描述符 dpl必須為3,不然該描述符的許可權檢查過不去 3 該描述符的16到31位為另外乙個段描述符的選擇子 決定是否提權 另外乙個段描述符 必須是 段 dpl決定是否提權 長呼叫...

庫呼叫,系統呼叫

通過這個問題,可以判斷候選人是否具有豐富的程式設計經驗以及是否具有找出這類問題答案的敏銳感覺。簡明的回答是 函式庫呼叫是語言或應用程式的一部分,而系統呼叫是作業系統 的一部分。你要確保弄懂 trap 自陷 這個關鍵字的含義。系統呼叫是在作業系統核心發現乙個 trap 或中斷後進行的。函式庫呼叫 vs...

系統呼叫 函式呼叫

linux下對檔案操作有兩種方式 提供了庫函式,如open close read write ioctl 等,需包含標頭檔案unistd.h。以write 函式為例 其函式原型為size t write int fd,const void buf,size t nbytes 其操作物件為檔案控制代碼...