Merge pull request #1565 from ogayot/debconf-selections-in-apt-config

debconf-selections: pass to curtin's apt-config rather than curthooks
This commit is contained in:
Olivier Gayot 2023-03-01 13:01:45 +01:00 committed by GitHub
commit 11f66b9129
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 4 deletions

View File

@ -223,9 +223,9 @@ python3 scripts/check-yaml-fields.py $tmpdir/var/log/installer/subiquity-curtin-
apt.preferences[0].pin-priority=200 \
apt.preferences[0].pin='"origin *ubuntu.com*"' \
apt.preferences[1].package='"python-*"' \
apt.preferences[1].pin-priority=-1
apt.preferences[1].pin-priority=-1 \
apt.debconf_selections.subiquity='"eek"'
python3 scripts/check-yaml-fields.py "$tmpdir"/var/log/installer/curtin-install/subiquity-curthooks.conf \
debconf_selections.subiquity='"eek"' \
storage.config[-1].options='"errors=remount-ro"'
python3 scripts/check-yaml-fields.py <(python3 scripts/check-yaml-fields.py $tmpdir/etc/cloud/cloud.cfg.d/99-installer.cfg datasource.None.userdata_raw) \
locale='"en_GB.UTF-8"' \

View File

@ -19,7 +19,7 @@ import functools
import json
import logging
import os
from typing import Set
from typing import Any, Dict, Set
import uuid
import yaml
@ -159,6 +159,10 @@ class DebconfSelectionsModel:
self.selections = ''
def render(self):
return {}
def get_apt_config(
self, final: bool, has_network: bool) -> Dict[str, Any]:
return {'debconf_selections': {'subiquity': self.selections}}

View File

@ -115,7 +115,12 @@ class AptConfigurer:
def apt_config(self, final: bool):
cfg = {}
has_network = self.app.base_model.network.has_network
for model in self.app.base_model.mirror, self.app.base_model.proxy:
models = [
self.app.base_model.mirror,
self.app.base_model.proxy,
self.app.base_model.debconf_selections,
]
for model in models:
merge_config(cfg, model.get_apt_config(
final=final, has_network=has_network))
return {'apt': cfg}

View File

@ -29,6 +29,7 @@ from subiquity.server.apt import (
from subiquity.server.dryrun import DRConfig
from subiquity.models.mirror import MirrorModel
from subiquity.models.proxy import ProxyModel
from subiquity.models.subiquity import DebconfSelectionsModel
APT_UPDATE_SUCCESS = """\
@ -61,6 +62,7 @@ class TestAptConfigurer(SubiTestCase):
self.model.mirror = MirrorModel()
self.model.mirror.create_primary_candidate("http://mymirror").elect()
self.model.proxy = ProxyModel()
self.model.debconf_selections = DebconfSelectionsModel()
self.model.locale.selected_language = "en_US.UTF-8"
self.app = make_app(self.model)
self.configurer = AptConfigurer(self.app, AsyncMock(), '')