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
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())
def hwe_kernels(self, params): """Return all supported hwe_kernels.""" return list_hwe_kernel_choices( BootResource.objects.get_usable_hwe_kernels())