This patch adds support for the rpc_port parameter to slave machine configuration files, which was erroneously dropped during the refactoring of the parsers.
Issue #42.
Signed-off-by: Radek Pazdera rpazdera@redhat.com --- lnst/Controller/Machine.py | 11 ++++++++--- lnst/Controller/NetTestController.py | 3 +-- lnst/Controller/SlavePool.py | 16 ++++++++++++---- 3 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/lnst/Controller/Machine.py b/lnst/Controller/Machine.py index 22d1f0b..d75d005 100644 --- a/lnst/Controller/Machine.py +++ b/lnst/Controller/Machine.py @@ -21,6 +21,7 @@ import signal from time import sleep from xmlrpclib import Binary from pprint import pprint, pformat +from lnst.Common.Config import lnst_config from lnst.Common.Logs import log_exc_traceback from lnst.Common.XmlRpc import ServerProxy, ServerException from lnst.Common.NetUtils import MacPool, normalize_hwaddr @@ -43,7 +44,7 @@ class Machine(object): deconfiguration, and running commands. """
- def __init__(self, m_id, hostname=None, libvirt_domain=None): + def __init__(self, m_id, hostname=None, libvirt_domain=None, rpcport=None): self._id = m_id self._hostname = hostname self._connection = None @@ -56,6 +57,11 @@ class Machine(object): if libvirt_domain: self._domain_ctl = VirtDomainCtl(libvirt_domain)
+ if rpcport: + self._port = rpcport + else: + self._port = lnst_config.get_option('environment', 'rpcport') + self._msg_dispatcher = None self._mac_pool = None
@@ -220,9 +226,8 @@ class Machine(object): """ Returns machine's id as defined in the recipe """ return self._id
- def set_rpc(self, dispatcher, port): + def set_rpc(self, dispatcher): self._msg_dispatcher = dispatcher - self._port = port
def get_mac_pool(self): if self._mac_pool: diff --git a/lnst/Controller/NetTestController.py b/lnst/Controller/NetTestController.py index fd7692d..8253df8 100644 --- a/lnst/Controller/NetTestController.py +++ b/lnst/Controller/NetTestController.py @@ -202,8 +202,7 @@ class NetTestController: address = socket.gethostbyname(machine.get_hostname())
self._log_ctl.add_slave(m_id, address) - port = lnst_config.get_option('environment', 'rpcport') - machine.set_rpc(self._msg_dispatcher, port) + machine.set_rpc(self._msg_dispatcher) machine.set_mac_pool(self._mac_pool) machine.set_network_bridges(self._network_bridges)
diff --git a/lnst/Controller/SlavePool.py b/lnst/Controller/SlavePool.py index bd81f81..d371495 100644 --- a/lnst/Controller/SlavePool.py +++ b/lnst/Controller/SlavePool.py @@ -91,8 +91,8 @@ class SlavePool: available = False
hostname = machine_spec["params"]["hostname"] - if "rpcport" in machine_spec: - port = machine_spec["params"]["rpcport"] + if "rpc_port" in machine_spec["params"]: + port = machine_spec["params"]["rpc_port"] else: port = lnst_config.get_option('environment', 'rpcport')
@@ -119,7 +119,11 @@ class SlavePool: for param in machine_xml_data["params"]: name = str(param["name"]) value = str(param["value"]) - machine_spec["params"][name] = value + + if name == "rpc_port": + machine_spec["params"][name] = int(value) + else: + machine_spec["params"][name] = value
mandatory_params = ["hostname"] for p in mandatory_params: @@ -234,7 +238,11 @@ class SlavePool: if "libvirt_domain" in pm["params"]: libvirt_domain = pm["params"]["libvirt_domain"]
- machine = Machine(tm_id, hostname, libvirt_domain) + rpcport = None + if "rpc_port" in pm["params"]: + rpcport = pm["params"]["rpc_port"] + + machine = Machine(tm_id, hostname, libvirt_domain, rpcport)
used = [] if_map = self._map["machines"][tm_id]["interfaces"]
lnst-developers@lists.fedorahosted.org