def system_show(request, id): system = get_object_or_404(models.System, pk=id) if system.notes: system.notes = system.notes.replace("\n", "<br />") show_nics_in_key_value = False is_release = False try: request = factory.get( '/api/v2/keyvalue/3/', {'key_type': 'adapters_by_system', 'system': system.hostname} ) h = KeyValueHandler() adapters = h.read(request, key_value_id='3') except: adapters = [] if system.allocation is 'release': is_release = True if (system.serial and system.server_model and system.server_model.part_number and system.server_model.vendor == "HP"): system.warranty_link = "http://www11.itrc.hp.com/service/ewarranty/warrantyResults.do?productNumber=%s&serialNumber1=%s&country=US" % (system.server_model.part_number, system.serial) # noqa if show_nics_in_key_value: key_values = system.keyvalue_set.all() else: key_values = system.keyvalue_set.exclude(key__istartswith='nic.') sregs = StaticReg.objects.filter(system=system) groups = Group.objects.all() sreg_form = StaticRegAutoForm(prefix='sreg', initial={ 'system': system, 'fqdn': system.hostname }) blank_hw_form = HWAdapterForm(prefix='add-hw') # noqa Used for ui dialog for creation HWAdapterFormset = formset_factory(HWAdapterForm) hw_formset = HWAdapterFormset(prefix='hwadapters') object_search_str = "(/^{0}$".format(system) for sreg in filter(lambda sreg: not sreg.decommissioned, sregs): object_search_str += " OR /^{0}$".format(sreg.fqdn) object_search_str += " OR /^{0}$".format(sreg.ip_str) object_search_str += " ) AND !type=:sreg AND !type=:sys" return render(request, 'systems/system_show.html', { 'system': system, 'object_search_str': object_search_str, 'sregs': sregs, 'sreg_form': sreg_form, 'hw_formset': hw_formset, 'blank_hw_form': blank_hw_form, 'groups': groups, 'ip_to_range': ip_to_range, 'adapters': adapters, 'key_values': key_values, 'is_release': is_release, 'extra_externaldata': system.externaldata_set.filter(policy=P_EXTRA), 'external_config': external_config, 'read_only': getattr(request, 'read_only', False), })
def __init__(self, rack_name): self.systems = [] self.rack_name = rack_name self.kv = Truth.objects.select_related('truth_key_value').get(name=self.rack_name) self.system_list = KeyValue.objects.select_related('system').filter(value__contains="truth:%s" % (self.rack_name)) self.ethernet_patch_panel_24 = self._get_ethernet_patch_panels(self.kv, 'ethernet', 24) self.ethernet_patch_panel_48 = self._get_ethernet_patch_panels(self.kv, 'ethernet', 48) import pdb h = KeyValueHandler() for s in self.system_list: request = factory.get('/api/v2/keyvalue/?keystore=%s' % (s.system.hostname), follow=True) tree = h.read(request) system_ru = self._get_system_ru(tree) system_image = self._get_system_image(tree) system_slot = self._get_system_slot(tree) self.systems.append({ "system_name":s.system.hostname, "system_id":s.system.id, "system_ru":system_ru, "system_image":system_image, 'system_slot':system_slot, 'operating_system':str(s.system.operating_system), 'server_model': str(s.system.server_model), 'oob_ip': str(s.system.oob_ip), }) self.systems = sorted(self.systems, key=lambda k: k['system_slot']) try: self.ru = self.kv.keyvalue_set.get(key='rack_ru').value except: self.ru = 42 try: self.width = self.kv.keyvalue_set.get(key='rack_width').value except: self.width = 30
def read(self, request, dhcp_scope=None, dhcp_action=None): if dhcp_scope and dhcp_action == 'get_scopes': tasks = [] for task in ScheduledTask.objects.get_all_dhcp(): tasks.append(task.task) #ScheduledTask.objects.delete_all_dhcp() return tasks if dhcp_scope and dhcp_action == 'get_scopes_with_names': truths = Truth.objects.select_related().filter(keyvalue__key='is_dhcp_scope',keyvalue__value='True').order_by('name') truth_list = [] for t in truths: truth_list.append({'name':t.name.strip(),'description':t.description.strip()}) return truth_list if dhcp_scope and dhcp_action == 'view_hosts': scope_options = [] h = KeyValueHandler() request = factory.get('/api/v2/keyvalue/?key_type=system_by_scope&scope=%s' % dhcp_scope, follow=True) hosts = h.read(request) adapter_list = [] for host in hosts: if 'hostname' in host: the_url = '/api/v2/keyvalue/?key_type=adapters_by_system_and_scope&dhcp_scope=%s&system=%s' % (dhcp_scope, host['hostname']) try: request = factory.get('/api/v2/keyvalue/?key_type=adapters_by_system_and_scope&dhcp_scope=%s&system=%s' % (dhcp_scope, host['hostname'])) adapter_list.append(h.read(request)) except: pass d = DHCPInterface(scope_options, adapter_list) return d.get_hosts()
def get_expanded_key_value_store(request, system_id): try: system = models.System.objects.get(id=system_id) request = factory.get('/api/v2/keyvalue/3/', {'key_type':'adapters_by_system','system':system.hostname}) h = KeyValueHandler() request = factory.get('/api/keyvalue/?keystore=%s' % (system.hostname), follow=True) resp = json.dumps(h.read(request, key_value_id='3')) return_obj = resp.replace(",",",<br />") except: return_obj = 'This failed' return HttpResponse(return_obj)
def showall(request): dhcp_scopes = models.DHCP.objects.all() h = KeyValueHandler() request = factory.get('/en-US/api/keyvalue/?key=is_dhcp_scope', follow=True) obj = h.read(request) dhcp_scopes = [] for key in obj.iterkeys(): dhcp_scopes.append(key.split(":")[1]) return jinja_render_to_response('dhcp/index.html', { 'dhcp_scopes': dhcp_scopes, })
def get_expanded_key_value_store(request, system_id): try: system = models.System.objects.get(id=system_id) request = factory.get('/api/v2/keyvalue/3/', { 'key_type': 'adapters_by_system', 'system': system.hostname }) h = KeyValueHandler() request = factory.get('/api/keyvalue/?keystore=%s' % (system.hostname), follow=True) resp = json.dumps(h.read(request, key_value_id='3')) return_obj = resp.replace(",", ",<br />") except: return_obj = 'This failed' return HttpResponse(return_obj)
def system_show(request, id): system = get_object_or_404(models.System, pk=id) if system.notes: system.notes = system.notes.replace("\n", "<br />") show_nics_in_key_value = False is_release = False try: request = factory.get('/api/v2/keyvalue/3/', {'key_type':'adapters_by_system','system':system.hostname}) h = KeyValueHandler() adapters = h.read(request, key_value_id='3') except: adapters = [] if system.allocation is 'release': is_release = True if (system.serial and system.server_model and system.server_model.part_number and system.server_model.vendor == "HP"): system.warranty_link = "http://www11.itrc.hp.com/service/ewarranty/warrantyResults.do?productNumber=%s&serialNumber1=%s&country=US" % (system.server_model.part_number, system.serial) if show_nics_in_key_value: key_values = system.keyvalue_set.all() else: key_values = system.keyvalue_set.exclude(key__istartswith='nic.') intrs = StaticInterface.objects.filter(system = system) return render_to_response('systems/system_show.html', { 'system': system, 'interfaces': intrs, 'adapters': adapters, 'key_values': key_values, 'is_release': is_release, 'read_only': getattr(request, 'read_only', False), }, RequestContext(request))
def system_show(request, id): system = get_object_or_404(models.System, pk=id) if system.notes: system.notes = system.notes.replace("\n", "<br />") show_nics_in_key_value = False is_release = False try: request = factory.get('/api/v2/keyvalue/3/', { 'key_type': 'adapters_by_system', 'system': system.hostname }) h = KeyValueHandler() adapters = h.read(request, key_value_id='3') except: adapters = [] if system.allocation is 'release': is_release = True if (system.serial and system.server_model and system.server_model.part_number and system.server_model.vendor == "HP"): system.warranty_link = "http://www11.itrc.hp.com/service/ewarranty/warrantyResults.do?productNumber=%s&serialNumber1=%s&country=US" % ( system.server_model.part_number, system.serial) # noqa if show_nics_in_key_value: key_values = system.keyvalue_set.all() else: key_values = system.keyvalue_set.exclude(key__istartswith='nic.') sregs = StaticReg.objects.filter(system=system) groups = Group.objects.all() sreg_form = StaticRegAutoForm(prefix='sreg', initial={ 'system': system, 'fqdn': system.hostname }) blank_hw_form = HWAdapterForm( prefix='add-hw') # noqa Used for ui dialog for creation HWAdapterFormset = formset_factory(HWAdapterForm) hw_formset = HWAdapterFormset(prefix='hwadapters') object_search_str = "(/^{0}$".format(system) for sreg in filter(lambda sreg: not sreg.decommissioned, sregs): object_search_str += " OR /^{0}$".format(sreg.fqdn) object_search_str += " OR /^{0}$".format(sreg.ip_str) object_search_str += " ) AND !type=:sreg AND !type=:sys" return render( request, 'systems/system_show.html', { 'system': system, 'object_search_str': object_search_str, 'sregs': sregs, 'sreg_form': sreg_form, 'hw_formset': hw_formset, 'blank_hw_form': blank_hw_form, 'groups': groups, 'ip_to_range': ip_to_range, 'adapters': adapters, 'key_values': key_values, 'is_release': is_release, 'extra_externaldata': system.externaldata_set.filter(policy=P_EXTRA), 'external_config': external_config, 'read_only': getattr(request, 'read_only', False), })
def edit(request, dhcp_scope): h = KeyValueHandler() trequest = factory.get('/api/keyvalue/?keystore=%s' % dhcp_scope, follow=True) instance = h.read(trequest) initial = {} initial['scope_name'] = dhcp_scope ##A bunch of try/catch blocks to create key/value pairs if one does not exist try: initial['scope_start'] = instance['dhcp.scope.start'] except: trequest = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.scope.start', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['scope_start'] = '' try: initial['scope_end'] = instance['dhcp.scope.end'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.scope.end', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['scope_end'] = '' try: initial['scope_netmask'] = instance['dhcp.scope.netmask'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.scope.netmask', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['scope_netmask'] = '' try: initial['pool_start'] = instance['dhcp.pool.start'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.pool.start', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['pool_start'] = '' try: initial['pool_end'] = instance['dhcp.pool.end'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.pool.end', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['pool_end'] = '' try: initial['ntp_server1'] = instance['dhcp.option.ntp_server.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.option.ntp_server.0', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['ntp_server1'] = '' try: initial['ntp_server2'] = instance['dhcp.option.ntp_server.1'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.option.ntp_server.1', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['ntp_server2'] = '' try: initial['router'] = instance['dhcp.option.router.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.option.router.0', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['router'] = '' try: initial['domain_name'] = instance['dhcp.option.domain_name.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.option.domain_name.0', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['domain_name'] = '' try: initial['dns_server1'] = instance['dhcp.dns_server.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.dns_server.0', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['dns_server1'] = '' try: initial['dns_server2'] = instance['dhcp.dns_server.1'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.dns_server.1', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['dns_server2'] = '' try: initial['allow_booting'] = instance['dhcp.pool.allow_booting.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.pool.allow_booting.0', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['allow_booting'] = '' try: initial['allow_bootp'] = instance['dhcp.pool.allow_bootp.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, {'key':'dhcp.pool.allow_bootp.0', 'value':'', 'truth_name':dhcp_scope}, follow=True) h.create(trequest) initial['allow_bootp'] = '' if request.method == 'POST': form = forms.EditDHCPScopeForm(request.POST) if form.is_valid(): trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.scope.start', 'value':form.cleaned_data['scope_start']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.scope.end', 'value':form.cleaned_data['scope_end']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.scope.netmask', 'value':form.cleaned_data['scope_netmask']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.pool.start', 'value':form.cleaned_data['pool_start']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.pool.end', 'value':form.cleaned_data['pool_end']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.option.ntp_server.0', 'value':form.cleaned_data['ntp_server1']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.option.ntp_server.1', 'value':form.cleaned_data['ntp_server2']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.dns_server.0', 'value':form.cleaned_data['dns_server1']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.dns_server.1', 'value':form.cleaned_data['dns_server2']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.option.domain_name.0', 'value':form.cleaned_data['domain_name']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.option.router.0', 'value':form.cleaned_data['router']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.pool.allow_booting.0', 'value':form.cleaned_data['allow_booting']}, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, {'truth_id': dhcp_scope, 'key':'dhcp.pool.allow_bootp.0', 'value':form.cleaned_data['allow_bootp']}, follow=True) h.update(trequest, dhcp_scope) else: form = forms.EditDHCPScopeForm(initial=initial) return jinja_render_to_response('dhcp/edit.html', { "form": form, 'dhcp_scope': dhcp_scope })
def edit(request, dhcp_scope): h = KeyValueHandler() trequest = factory.get('/api/keyvalue/?keystore=%s' % dhcp_scope, follow=True) instance = h.read(trequest) initial = {} initial['scope_name'] = dhcp_scope ##A bunch of try/catch blocks to create key/value pairs if one does not exist try: initial['scope_start'] = instance['dhcp.scope.start'] except: trequest = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.scope.start', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['scope_start'] = '' try: initial['scope_end'] = instance['dhcp.scope.end'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.scope.end', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['scope_end'] = '' try: initial['scope_netmask'] = instance['dhcp.scope.netmask'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.scope.netmask', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['scope_netmask'] = '' try: initial['pool_start'] = instance['dhcp.pool.start'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.pool.start', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['pool_start'] = '' try: initial['pool_end'] = instance['dhcp.pool.end'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.pool.end', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['pool_end'] = '' try: initial['ntp_server1'] = instance['dhcp.option.ntp_server.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.option.ntp_server.0', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['ntp_server1'] = '' try: initial['ntp_server2'] = instance['dhcp.option.ntp_server.1'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.option.ntp_server.1', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['ntp_server2'] = '' try: initial['router'] = instance['dhcp.option.router.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.option.router.0', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['router'] = '' try: initial['domain_name'] = instance['dhcp.option.domain_name.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.option.domain_name.0', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['domain_name'] = '' try: initial['dns_server1'] = instance['dhcp.dns_server.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.dns_server.0', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['dns_server1'] = '' try: initial['dns_server2'] = instance['dhcp.dns_server.1'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.dns_server.1', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['dns_server2'] = '' try: initial['allow_booting'] = instance['dhcp.pool.allow_booting.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.pool.allow_booting.0', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['allow_booting'] = '' try: initial['allow_bootp'] = instance['dhcp.pool.allow_bootp.0'] except: treqeust = factory.post('/en-US/api/keyvalue/%s/' % dhcp_scope, { 'key': 'dhcp.pool.allow_bootp.0', 'value': '', 'truth_name': dhcp_scope }, follow=True) h.create(trequest) initial['allow_bootp'] = '' if request.method == 'POST': form = forms.EditDHCPScopeForm(request.POST) if form.is_valid(): trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.scope.start', 'value': form.cleaned_data['scope_start'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.scope.end', 'value': form.cleaned_data['scope_end'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.scope.netmask', 'value': form.cleaned_data['scope_netmask'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.pool.start', 'value': form.cleaned_data['pool_start'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.pool.end', 'value': form.cleaned_data['pool_end'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.option.ntp_server.0', 'value': form.cleaned_data['ntp_server1'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.option.ntp_server.1', 'value': form.cleaned_data['ntp_server2'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.dns_server.0', 'value': form.cleaned_data['dns_server1'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.dns_server.1', 'value': form.cleaned_data['dns_server2'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.option.domain_name.0', 'value': form.cleaned_data['domain_name'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post('/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.option.router.0', 'value': form.cleaned_data['router'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.pool.allow_booting.0', 'value': form.cleaned_data['allow_booting'] }, follow=True) h.update(trequest, dhcp_scope) trequest = factory.post( '/en-US/api/v2/keyvalue/%s/' % dhcp_scope, { 'truth_id': dhcp_scope, 'key': 'dhcp.pool.allow_bootp.0', 'value': form.cleaned_data['allow_bootp'] }, follow=True) h.update(trequest, dhcp_scope) else: form = forms.EditDHCPScopeForm(initial=initial) return jinja_render_to_response('dhcp/edit.html', { "form": form, 'dhcp_scope': dhcp_scope })