Openstack:如何在python API

时间:2015-11-27 15:41:06

标签: python openstack openstack-nova

我试图在openstack上为单元格实现一个新的称重器。如何在openstack nova python代码中获取客户端IP(请求创建新实例的用户)?

我已经尝试了

req.remote_addr

内部文件nova / api / auth.py(NovaKeystoneContext。调用方法)和nova / api / compute_req_id.py(ComputeReqIdMiddleware方法),但没有成功。 LOG.debug似乎表明在请求创建新实例时不会调用这些方法。

有关如何实现这一目标的任何建议?

由于

1 个答案:

答案 0 :(得分:1)

对于任何可能感兴趣的人,我找到了解决方案。

当你创建一个新的weighter时,你需要添加一个这样的方法:

def _weigh_object(self, cell, weight_properties):

要获取客户端的IP,您只需致电

weight_properties['context'].remote_address

最后一个细节:您需要重新启动nova服务才能进行更改:

service nova-cells restart (as root)