def get_initial(self): id = self.kwargs['baremetal'] node = shovel.request_node_get(id) list_drivers = shovel.get_driver_list()['drivers'] drivers = [ elem['name'] for elem in list_drivers ] ports = str(node['name']).split(',') list_images = shovel.get_images_list()['images'] images = [ elem['name'] for elem in list_images ] initial = super(RegisterView, self).get_initial() initial.update({'nodeid': self.kwargs['baremetal'], 'node': node, 'drivers': drivers,'images':images,'ports': ports}) return initial
def get_initial(self): id = self.kwargs['baremetal'] node = shovel.request_node_get(id) list_drivers = shovel.get_driver_list()['drivers'] drivers = [elem['name'] for elem in list_drivers] ports = str(node['name']).split(',') list_images = shovel.get_images_list()['images'] images = [elem['name'] for elem in list_images] initial = super(RegisterView, self).get_initial() initial.update({ 'nodeid': self.kwargs['baremetal'], 'node': node, 'drivers': drivers, 'images': images, 'ports': ports }) return initial
def _add_new_node(self, request, data): try: # create node with shovel #replace kernal and ramdisk with image id list_images = shovel.get_images_list()['images'] for elem in list_images: if data['ramdisk'] == elem['name']: data['ramdisk'] = elem['id'] if data['kernel'] == elem['name']: data['kernel'] = elem['id'] result = shovel.register_node_post(data) if 'error_message' in result: raise Exception(result) else: msg = _('Registered node {0} ({1})'.format(data['uuid'], data['name'])) messages.success(request, msg) return True except Exception: redirect = reverse('horizon:admin:rackhd:index') msg = _('Failed to register baremetal node: {0} ({1})'.format(data['uuid'], data['name'])) messages.error(request, msg) return False