Given this is a test, I tried adding the missing column: postgres=# \connect maasdb You are now connected to database "maasdb" as user "postgres". maasdb=# \d maasserver_domain Table "public.maasserver_domain" Column | Type | Modifiers ---------------+--------------------------+---------------------------------------------------------------- id | integer | not null default nextval('maasserver_domain_id_seq'::regclass) created | timestamp with time zone | not null updated | timestamp with time zone | not null name | character varying(256) | not null authoritative | boolean | Indexes: "maasserver_domain_pkey" PRIMARY KEY, btree (id) "maasserver_domain_name_key" UNIQUE CONSTRAINT, btree (name) "maasserver_domain_946f3fba" btree (authoritative) "maasserver_domain_name_4403c8e5d405ce97_like" btree (name varchar_pattern_ops) Referenced by: TABLE "maasserver_dnsresource" CONSTRAINT "maasserver_d_domain_id_48f70cfc2a2704fa_fk_maasserver_domain_id" FOREIGN KEY (domain_id) REFERENCES maasserver_domain(id) DEFERRABLE INITIALLY DEFERRED TABLE "maasserver_node" CONSTRAINT "maasserver_n_domain_id_67d5fcf688c8fcd5_fk_maasserver_domain_id" FOREIGN KEY (domain_id) REFERENCES maasserver_domain(id) DEFERRABLE INITIALLY DEFERRED maasdb=# alter table maasserver_domain add column ttl integer; ALTER TABLE maasdb=# \d maasserver_domain Table "public.maasserver_domain" Column | Type | Modifiers ---------------+--------------------------+---------------------------------------------------------------- id | integer | not null default nextval('maasserver_domain_id_seq'::regclass) created | timestamp with time zone | not null updated | timestamp with time zone | not null name | character varying(256) | not null authoritative | boolean | ttl | integer | Indexes: "maasserver_domain_pkey" PRIMARY KEY, btree (id) "maasserver_domain_name_key" UNIQUE CONSTRAINT, btree (name) "maasserver_domain_946f3fba" btree (authoritative) "maasserver_domain_name_4403c8e5d405ce97_like" btree (name varchar_pattern_ops) Referenced by: TABLE "maasserver_dnsresource" CONSTRAINT "maasserver_d_domain_id_48f70cfc2a2704fa_fk_maasserver_domain_id" FOREIGN KEY (domain_id) REFERENCES maasserver_domain(id) DEFERRABLE INITIALLY DEFERRED TABLE "maasserver_node" CONSTRAINT "maasserver_n_domain_id_67d5fcf688c8fcd5_fk_maasserver_domain_id" FOREIGN KEY (domain_id) REFERENCES maasserver_domain(id) DEFERRABLE INITIALLY DEFERRED That allowed the migration to progress a little further, but still failing with a different traceback: Setting up maas-region-controller (2.3.5-6511-gf466fdb-0ubuntu1) ... dbconfig-common: writing config to /etc/dbconfig-common/maas-region-controller.conf creating postgres user maas: already exists. resetting password: success. creating database maasdb: already exists. dbconfig-common: flushing administrative password Operations to perform: Synchronize unmigrated apps: staticfiles, messages Apply all migrations: sites, contenttypes, metadataserver, piston3, maasserver, sessions, auth Synchronizing apps without migrations: Creating tables... Running deferred SQL... Installing custom SQL... Running migrations: Rendering model states... DONE Applying maasserver.0011_domain_data...Traceback (most recent call last): File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 405, in get_or_create return self.get(**lookup), False File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 334, in get self.model._meta.object_name __fake__.DoesNotExist: DNSResource matching query does not exist. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main "__main__", mod_spec) File "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/lib/python3/dist-packages/maasserver/__main__.py", line 9, in raise SystemExit(execute_from_command_line()) File "/usr/lib/python3/dist-packages/maasserver/__init__.py", line 73, in execute_from_command_line management.execute_from_command_line() File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line utility.execute() File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 346, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 394, in run_from_argv self.execute(*args, **cmd_options) File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 445, in execute output = self.handle(*args, **options) File "/usr/lib/python3/dist-packages/maasserver/management/commands/dbupgrade.py", line 426, in handle fake_initial=self._south_was_performed(database)) File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 120, in call_command return command.execute(*args, **defaults) File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 445, in execute output = self.handle(*args, **options) File "/usr/lib/python3/dist-packages/django/core/management/commands/migrate.py", line 222, in handle executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) File "/usr/lib/python3/dist-packages/django/db/migrations/executor.py", line 110, in migrate self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial) File "/usr/lib/python3/dist-packages/django/db/migrations/executor.py", line 148, in apply_migration state = migration.apply(state, schema_editor) File "/usr/lib/python3/dist-packages/django/db/migrations/migration.py", line 115, in apply operation.database_forwards(self.app_label, schema_editor, old_state, project_state) File "/usr/lib/python3/dist-packages/django/db/migrations/operations/special.py", line 183, in database_forwards self.code(from_state.apps, schema_editor) File "/usr/lib/python3/dist-packages/maasserver/migrations/builtin/maasserver/0011_domain_data.py", line 116, in migrate_staticipaddress_hostname 'updated': now, File "/usr/lib/python3/dist-packages/django/db/models/manager.py", line 127, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 407, in get_or_create return self._create_object_from_params(lookup, params) File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 439, in _create_object_from_params obj = self.create(**params) File "/usr/lib/python3/dist-packages/django/db/models/query.py", line 348, in create obj.save(force_insert=True, using=self.db) File "/usr/lib/python3/dist-packages/maasserver/models/cleansave.py", line 28, in save self.full_clean() File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 1149, in full_clean self.clean_fields(exclude=exclude) File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 1191, in clean_fields setattr(self, f.attname, f.clean(raw_value, self)) File "/usr/lib/python3/dist-packages/django/db/models/fields/__init__.py", line 589, in clean self.run_validators(value) File "/usr/lib/python3/dist-packages/django/db/models/fields/__init__.py", line 541, in run_validators v(value) TypeError: validate_dnsresource_name() missing 1 required positional argument: 'rrtype' dpkg: error processing package maas-region-controller (--configure): subprocess installed post-installation script returned error exit status 1 No apport report written because the error message indicates its a followup error from a previous failure. dpkg: dependency problems prevent configuration of maas: maas depends on maas-region-controller (= 2.3.5-6511-gf466fdb-0ubuntu1); however: Package maas-region-controller is not configured yet. dpkg: error processing package maas (--configure): dependency problems - leaving unconfigured Errors were encountered while processing: maas-region-controller maas E: Sub-process /usr/bin/dpkg returned an error code (1)