implement some make_autoinstall methods

This commit is contained in:
Michael Hudson-Doyle 2020-02-10 22:27:55 +13:00
parent 4ea4b750ad
commit 163b81b0fc
8 changed files with 43 additions and 0 deletions

View File

@ -688,3 +688,13 @@ class FilesystemController(SubiquityController):
fstype="ext4", fstype="ext4",
mount="/", mount="/",
)) ))
def make_autoinstall(self):
rendered = self.model.render()
r = {
'config': rendered['storage']['config']
}
for k in 'swap', 'grub':
if k in rendered:
r[k] = rendered[k]
return r

View File

@ -15,6 +15,8 @@
import logging import logging
import attr
from subiquity.controller import SubiquityController from subiquity.controller import SubiquityController
from subiquity.ui.views import IdentityView from subiquity.ui.views import IdentityView
@ -57,3 +59,8 @@ class IdentityController(SubiquityController):
self.model.add_user(user_spec) self.model.add_user(user_spec)
self.configured() self.configured()
self.app.next_screen() self.app.next_screen()
def make_autoinstall(self):
r = attr.asdict(self.model.user)
r['hostname'] = self.model.hostname
return r

View File

@ -15,6 +15,8 @@
import logging import logging
import attr
from subiquitycore.async_helpers import schedule_task from subiquitycore.async_helpers import schedule_task
from subiquity.controller import SubiquityController from subiquity.controller import SubiquityController
@ -68,3 +70,6 @@ class KeyboardController(SubiquityController):
def cancel(self): def cancel(self):
self.app.prev_screen() self.app.prev_screen()
def make_autoinstall(self):
return attr.asdict(self.model.setting)

View File

@ -133,3 +133,8 @@ class MirrorController(SubiquityController):
self.model.set_mirror(mirror) self.model.set_mirror(mirror)
self.configured() self.configured()
self.app.next_screen() self.app.next_screen()
def make_autoinstall(self):
r = self.model.render()['apt']
r['geoip'] = self.geoip_enabled
return r

View File

@ -25,3 +25,6 @@ class NetworkController(NetworkController, SubiquityController):
def done(self): def done(self):
self.configured() self.configured()
super().done() super().done()
def make_autoinstall(self):
return self.model.render()['network']

View File

@ -64,3 +64,6 @@ class ProxyController(SubiquityController):
self.signal.emit_signal('network-proxy-set') self.signal.emit_signal('network-proxy-set')
self.configured() self.configured()
self.app.next_screen() self.app.next_screen()
def make_autoinstall(self):
return self.model.proxy

View File

@ -126,3 +126,10 @@ class SSHController(SubiquityController):
self.model.ssh_import_id = result.get('ssh_import_id', None) self.model.ssh_import_id = result.get('ssh_import_id', None)
self.configured() self.configured()
self.app.next_screen() self.app.next_screen()
def make_autoinstall(self):
return {
'install-server': self.model.install_server,
'authorized-keys': self.model.authorized_keys,
'allow-pw': self.model.pwauth,
}

View File

@ -64,3 +64,6 @@ class WelcomeController(SubiquityController):
def deserialize(self, data): def deserialize(self, data):
super().deserialize(data) super().deserialize(data)
self.model.switch_language(data) self.model.switch_language(data)
def make_autoinstall(self):
return self.model.selected_language