def __init__(self, data=None, instance=None, request=None, **kwargs): self.is_new = instance is None self.request = request super(PodForm, self).__init__(data=data, instance=instance, **kwargs) if data is None: data = {} type_value = data.get('type', self.initial.get('type')) self.drivers_orig = driver_parameters.get_all_power_types() self.drivers = { driver['name']: driver for driver in self.drivers_orig if driver['driver_type'] == 'pod' } if len(self.drivers) == 0: type_value = '' elif type_value not in self.drivers: type_value = ('' if self.instance is None else self.instance.power_type) choices = [(name, driver['description']) for name, driver in self.drivers.items()] self.fields['type'] = forms.ChoiceField(required=True, choices=choices, initial=type_value) if not self.is_new: if self.instance.power_type != '': self.initial['type'] = self.instance.power_type if instance is not None: self.initial['zone'] = instance.zone.name self.initial['pool'] = instance.pool.name self.fields['default_storage_pool'].queryset = ( instance.storage_pools.all()) if instance.default_storage_pool: self.initial['default_storage_pool'] = ( instance.default_storage_pool.pool_id) if instance.host is not None: self.initial['host'] = self.instance.host.system_id
def __init__(self, data=None, instance=None, request=None, user=None, **kwargs): self.is_new = instance is None self.request = request self.user = user super(PodForm, self).__init__(data=data, instance=instance, **kwargs) if data is None: data = {} type_value = data.get('type', self.initial.get('type')) console_log = data.get('console_logging', '').lower() if console_log in ['true', 'false']: console_log = True if console_log == 'true' else False if self.is_new: self.update_console_log = True elif 'pod-console-logging' in instance.tags and console_log: self.update_console_log = False elif 'pod-console-logging' in instance.tags and not console_log: self.update_console_log = True else: self.update_console_log = True else: self.update_console_log = False if self.update_console_log: self.console_log = console_log self.drivers_orig = driver_parameters.get_all_power_types() self.drivers = { driver['name']: driver for driver in self.drivers_orig if driver['driver_type'] == 'pod' } if len(self.drivers) == 0: type_value = '' elif type_value not in self.drivers: type_value = ('' if self.instance is None else self.instance.power_type) choices = [(name, driver['description']) for name, driver in self.drivers.items()] self.fields['type'] = forms.ChoiceField(required=True, choices=choices, initial=type_value) if not self.is_new: if self.instance.power_type != '': self.initial['type'] = self.instance.power_type if instance is not None: self.initial['zone'] = instance.zone.name self.initial['pool'] = instance.pool.name self.fields['default_storage_pool'].queryset = ( instance.storage_pools.all()) if instance.default_storage_pool: self.initial['default_storage_pool'] = ( instance.default_storage_pool.pool_id)
def describe_power_types(self, request): """@description-title Get power information from rack controllers @description Queries all rack controllers for power information. @success (http-status-code) "200" 200 @success (content) "success-json" A JSON object containing a dictionary with system_ids as keys and power parameters as values. @success-example "success-json" [exkey=power-params-multi] placeholder """ return get_all_power_types()
def __init__( self, data=None, instance=None, request=None, user=None, **kwargs ): self.is_new = instance is None self.request = request self.user = user super().__init__(data=data, instance=instance, **kwargs) if data is None: data = {} type_value = data.get("type", self.initial.get("type")) self.drivers_orig = driver_parameters.get_all_power_types() self.drivers = { driver["name"]: driver for driver in self.drivers_orig if driver["driver_type"] == "pod" } if len(self.drivers) == 0: type_value = "" elif type_value not in self.drivers: type_value = ( "" if self.instance is None else self.instance.power_type ) choices = [ (name, driver["description"]) for name, driver in self.drivers.items() ] self.fields["type"] = forms.ChoiceField( required=True, choices=choices, initial=type_value ) if not self.is_new: if self.instance.power_type != "": self.initial["type"] = self.instance.power_type if instance is not None: self.initial["zone"] = instance.zone.name self.initial["pool"] = instance.pool.name self.fields[ "default_storage_pool" ].queryset = instance.storage_pools.all() if instance.default_storage_pool: self.initial[ "default_storage_pool" ] = instance.default_storage_pool.pool_id
def describe_power_types(self, request): """Query all of the rack controllers for power information. :return: a list of dicts that describe the power types in this format. """ return get_all_power_types()
def power_types(self, params): """Return all power types.""" return get_all_power_types()