[英]Openstack: how to get client's IP in the python API
我正在嘗試為 openstack 上的單元實現一個新的稱重器。 如何在 openstack nova python 代碼中獲取客戶端 IP(請求創建新實例的用戶)?
我已經試過了
req.remote_addr
內部文件新星/ API / auth.py(NovaKeystoneContext。調用方法)和Nova / API / compute_req_id.py(ComputeReqIdMiddleware法),但沒有成功。 LOG.debug 似乎表明在請求創建新實例時不會調用這些方法。
關於如何實現這一目標的任何建議?
謝謝
對於任何可能感興趣的人,我找到了一個解決方案。
當你創建一個新的權重時,你需要添加一個這樣的方法:
def _weigh_object(self, cell, weight_properties):
要獲取客戶端的 IP,您只需要調用
weight_properties['context'].remote_address
最后一個細節:您需要重新啟動 nova 服務才能進行更改:
service nova-cells restart (as root)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.