Skip to content
This repository has been archived by the owner on Apr 7, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1503 from mfalesni/sprout-jenkins-2
Browse files Browse the repository at this point in the history
Sprout Jenkins - Add the missing things
  • Loading branch information
Milan Falešník committed Jan 9, 2015
2 parents 8f793f0 + 218e793 commit ee90ae6
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 1 deletion.
8 changes: 8 additions & 0 deletions fixtures/parallelizer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,14 @@ def __init__(self, config):
conf.runtime["env"]["base_url"] = self.appliances[0]
# Retrieve and print the template_name for Jenkins to pick up
template_name = request["appliances"][0]["template_name"]
conf.runtime["cfme_data"]["basic_info"]["appliance_template"] = template_name
self.terminal.write("appliance_template={}\n".format(template_name))
self.terminal.write("Parallelized Sprout setup finished.\n")
self.slave_appliances_data = {}
for appliance in request["appliances"]:
self.slave_appliances_data[appliance["ip_address"]] = (
appliance["template_name"], appliance["provider"]
)

def _reset_timer(self):
if not (self.sprout_client is not None and self.sprout_pool is not None):
Expand Down Expand Up @@ -279,6 +285,8 @@ def pytest_sessionstart(self, session):
'zmq_endpoint': zmq_endpoint,
'sprout': self.sprout_client is not None and self.sprout_pool is not None,
}
if hasattr(self, "slave_appliances_data"):
conf.runtime['slave_config']["appliance_data"] = self.slave_appliances_data
conf.runtime['slave_config']['options'].use_sprout = False # Slaves should not use sprout
conf.save('slave_config')

Expand Down
6 changes: 6 additions & 0 deletions fixtures/parallelizer/remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,12 @@ def _init_config(slave_options, slave_args):

slave_args = conf.slave_config.pop('args')
slave_options = conf.slave_config.pop('options')
ip_address = urlparse(args.base_url).netloc
appliance_data = conf.slave_config.get("appliance_data", {})
if ip_address in appliance_data:
template_name, provider_name = appliance_data[ip_address]
conf.runtime["cfme_data"]["basic_info"]["appliance_template"] = template_name
conf.runtime["cfme_data"]["basic_info"]["appliances_provider"] = provider_name
config = _init_config(slave_options, slave_args)
slave_manager = SlaveManager(config, args.slaveid, args.base_url,
conf.slave_config['zmq_endpoint'], conf.slave_config['sprout'])
Expand Down
10 changes: 9 additions & 1 deletion fixtures/single_appliance_sprout.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from threading import Timer

from fixtures.terminalreporter import reporter
from utils import at_exit
from utils import at_exit, conf
from utils.appliance import IPAppliance
from utils.sprout import SproutClient
from utils.wait import wait_for
Expand Down Expand Up @@ -62,6 +62,14 @@ def pytest_configure(config, __multicall__):
reset_timer(sprout, pool_id, config.option.sprout_timeout)
terminal.write("Appliance lease timer is running ...\n")
appliance = IPAppliance(address=ip_address)
# Retrieve and print the template_name for Jenkins to pick up
template_name = request["appliances"][0]["template_name"]
conf.runtime["cfme_data"]["basic_info"]["appliance_template"] = template_name
terminal.write("appliance_template={}\n".format(template_name))
terminal.write("Single appliance Sprout setup finished.\n")
# And set also the appliances_provider
provider = request["appliances"][0]["provider"]
conf.runtime["cfme_data"]["basic_info"]["appliances_provider"] = provider


@pytest.mark.tryfirst
Expand Down
1 change: 1 addition & 0 deletions sprout/appliances/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ def request_check(user, request_id):
datetime_leased=apply_if_not_none(appliance.datetime_leased, "isoformat"),
leased_until=apply_if_not_none(appliance.leased_until, "isoformat"),
template_name=appliance.template.original_name,
provider=appliance.template.provider.id,
)
for appliance
in request.appliances
Expand Down

0 comments on commit ee90ae6

Please sign in to comment.