簡體   English   中英

Openstack:如何在python API 中獲取客戶端的IP

[英]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.

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