quantum-ns-metadata-proxyのパス問題
なんかボヤきに近いメモばかりが増えていくな。
今度は、ネットワークネームスペース上でexecするquantum-ns-metadata-proxyのパスが見つからない…だってvirtualenv環境にあるんだもん
これは...流石に設定ファイルでも指定できない感じ...
2013-09-10 11:46:02 DEBUG [quantum.agent.linux.utils] Command: ['sudo', '/usr/local/grizzly/bin/quantum-rootwrap', '/usr/local/grizzly/neutron/etc/rootwrap.conf', 'ip', 'netns', 'exec', 'qdhcp-d3d3c2b9-f931-4836-b609-fe5e7fa24743', 'quantum-ns-metadata-proxy', '--pid_file=/usr/local/grizzly/neutron/dhcp/external/pids/d3d3c2b9-f931-4836-b609-fe5e7fa24743.pid', '--network_id=d3d3c2b9-f931-4836-b609-fe5e7fa24743', '--state_path=/usr/local/grizzly/neutron/dhcp', '--metadata_port=80', '--debug', '--verbose', '--log-file=quantum-ns-metadata-proxyd3d3c2b9-f931-4836-b609-fe5e7fa24743.log', '--log-dir=/usr/local/grizzly/neutron/log'] Exit code: 255 Stdout: '' Stderr: 'exec of quantum-ns-metadata-proxy failed: No such file or directory\n'
■しかたがないのでパッチを書いた
- quantum/agent/dhcp_agent.py
--- dhcp_agent.py.org 2013-09-10 12:11:07.987150000 +0900 +++ dhcp_agent.py 2013-09-11 11:43:14.664865270 +0900 @@ -17,6 +17,7 @@ import os import socket +import sys import uuid import eventlet @@ -316,7 +317,8 @@ router_ports[0].device_id) def callback(pid_file): - proxy_cmd = ['quantum-ns-metadata-proxy', + proxy_cmd = [os.path.join(os.path.dirname(sys.argv[0]), + 'quantum-ns-metadata-proxy'), '--pid_file=%s' % pid_file, quantum_lookup_param, '--state_path=%s' % self.conf.state_path,
os.path.join()のところは他所と書き方をあわせたので、まぁこんなもんだと思う。
起動して動いてるように見えるし、ヨシとしよう。
まだまだneutronをvirtualenv環境で動かす戦いは続くのかな...