InvalidVlanConfigurationException,
NetworkExistsException,
InvalidHostnameException,
- NonUniqueHostnameException
+ NonUniqueHostnameException,
+ ResourceAvailabilityException
)
import logging
try:
self.form = HardwareDefinitionForm(request.POST)
if self.form.is_valid():
- self.update_models(self.form.cleaned_data)
- self.update_confirmation()
- self.metastep.set_valid("Step Completed")
+ if len(json.loads(self.form.cleaned_data['filter_field'])['labs']) != 1:
+ self.metastep.set_invalid("Please select one lab")
+ else:
+ self.update_models(self.form.cleaned_data)
+ self.update_confirmation()
+ self.metastep.set_valid("Step Completed")
else:
self.metastep.set_invalid("Please complete the fields highlighted in red to continue")
pass
self.updateModels(xmlData)
# update model with xml
self.metastep.set_valid("Networks applied successfully")
+ except ResourceAvailabilityException:
+ self.metastep.set_invalid("Public network not availble")
except Exception:
self.metastep.set_invalid("An error occurred when applying networks")
return self.render(request)
vlan_id = network['network']['vlan']
is_public = network['network']['public']
if is_public:
+ public_net = vlan_manager.get_public_vlan()
+ if public_net is None:
+ raise ResourceAvailabilityException("No public networks available")
vlan_id = vlan_manager.get_public_vlan().vlan
vlan = Vlan(vlan_id=vlan_id, tagged=network['tagged'], public=is_public)
models['vlans'][existing_host.resource.name][iface['profile_name']].append(vlan)