Example #1
0
def make_default_min_hwe_kernel_field(*args, **kwargs):
    """Build and return the default_min_hwe_kernel field."""
    kernel_choices = [("", "--- No minimum kernel ---")]
    # Global choices are limited to the commissioning release as min_hwe_kernel
    # is used during commissioning.
    commissioning_series = Config.objects.get_config(
        "commissioning_distro_series"
    )
    if commissioning_series:
        commissioning_os_release = "ubuntu/" + commissioning_series
        kernel_choices += list_hwe_kernel_choices(
            [
                kernel
                for kernel in BootResource.objects.get_usable_hwe_kernels(
                    commissioning_os_release
                )
                if release_a_newer_than_b(kernel, commissioning_series)
            ]
        )
    field = forms.ChoiceField(
        initial=Config.objects.get_config("default_min_hwe_kernel"),
        choices=kernel_choices,
        error_messages={
            "invalid_choice": compose_invalid_choice_text(
                "default_min_hwe_kernel", kernel_choices
            )
        },
        **kwargs
    )
    return field
Example #2
0
    def min_hwe_kernels(self, params):
        """Return all supported min_hwe_kernels.

        This filters out all non-generic kernel flavors. The user can select
        the flavor during deployment.
        """
        return list_hwe_kernel_choices(
            BootResource.objects.get_supported_hwe_kernels())
Example #3
0
 def hwe_kernels(self, params):
     """Return all supported hwe_kernels."""
     return list_hwe_kernel_choices(
         BootResource.objects.get_usable_hwe_kernels())