From: Parker Berberian Date: Thu, 3 Jan 2019 15:49:29 +0000 (-0500) Subject: Requires a Jumphost per POD X-Git-Tag: 2.0.99~173^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=a0cbc41bc1691a7279a2a79401f00bf6b87796dd;p=laas.git Requires a Jumphost per POD It was assumed but never enforced that each pod configuration elects at least one host as the "jumphost". This commit makes that a requirement when creating a configuration. Change-Id: If55f1aa231b3cba8713f325f158796d85466b02a Signed-off-by: Parker Berberian --- diff --git a/src/workflow/sw_bundle_workflow.py b/src/workflow/sw_bundle_workflow.py index 26ade22..1695b65 100644 --- a/src/workflow/sw_bundle_workflow.py +++ b/src/workflow/sw_bundle_workflow.py @@ -125,6 +125,7 @@ class Define_Software(WorkflowStep): HostFormset = formset_factory(HostSoftwareDefinitionForm, extra=0) formset = HostFormset(request.POST) hosts = self.get_host_list() + has_jumphost = False if formset.is_valid(): models['host_configs'] = [] i = 0 @@ -147,6 +148,8 @@ class Define_Software(WorkflowStep): except: self.metastep.set_invalid("Image " + image.name + " is not compatible with host " + host.resource.name) role = form.cleaned_data['role'] + if "jumphost" in role.name.lower(): + has_jumphost = True bundle = models['bundle'] hostConfig = HostConfiguration( host=host, @@ -158,6 +161,10 @@ class Define_Software(WorkflowStep): confirm_host = {"name": host.resource.name, "image": image.name, "role": role.name} confirm_hosts.append(confirm_host) + if not has_jumphost: + self.metastep.set_invalid('Must have at least one "Jumphost" per POD') + return self.render(request) + self.repo_put(self.repo.CONFIG_MODELS, models) if "configuration" not in confirm: confirm['configuration'] = {}