Esempio n. 1
0
 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
Esempio n. 2
0
    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)
Esempio n. 3
0
    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()
Esempio n. 4
0
    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
Esempio n. 5
0
    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()
Esempio n. 6
0
 def power_types(self, params):
     """Return all power types."""
     return get_all_power_types()