I did try restart several times
output of lsb_release
No LSB modules are available
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: Jammy
The temporal logs show a schema version compatibility check failed
Jun 25 13:33:55 campfire maas-temporal[600606]: 2025/06/25 13:33:55 WARNING: failed to set GOMAXPROCS: open /sys/fs/cgroup/system.slice/snap.maas.pebble.service/cpu.max: permission denied.
Jun 25 13:33:55 campfire maas-temporal[600606]: 2025/06/25 13:33:55 Loading config; env=production,zone=,configDir=/var/snap/maas/39328/temporal
Jun 25 13:33:55 campfire maas-temporal[600606]: 2025/06/25 13:33:55 Loading config files=[/var/snap/maas/39328/temporal/production.yaml]
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE fx.Lifecycle <= go.uber.org/fx.New.func1()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *temporal.ServerImpl <= go.temporal.io/server/temporal.NewServerFxImpl()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *temporal.serverOptions <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE chan interface {} <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE temporal.synchronizationModeParams <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *config.Config <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *config.PProf <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE log.Config <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE resource.ServiceNames <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE resource.NamespaceLogger <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE resolver.ServiceResolver <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE client.AbstractDataStoreFactory <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE visibility.VisibilityStoreFactory <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE searchattribute.Mapper <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE []grpc.UnaryServerInterceptor <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE authorization.Authorizer <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE authorization.ClaimMapper <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE authorization.JWTAudienceMapper <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE map[primitives.ServiceName]static.Hosts <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE log.Logger <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE client.FactoryProvider <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE dynamicconfig.Client <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE encryption.TLSConfigProvider <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *client.Config <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE client.Client <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE metrics.Handler <= go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *dynamicconfig.Collection <= go.temporal.io/server/common/dynamicconfig.NewCollection()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE archiver.ArchivalMetadata <= go.temporal.io/server/common/resource.ArchivalMetadataProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE tasks.TaskCategoryRegistry <= go.temporal.io/server/temporal.TaskCategoryRegistryProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE client.FactoryProviderFn <= go.temporal.io/server/temporal.PersistenceFactoryProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.HistoryServiceProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.MatchingServiceProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.FrontendServiceProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.InternalFrontendServiceProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *temporal.ServicesMetadata[group = "services"] <= go.temporal.io/server/temporal.WorkerServiceProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *cluster.Config <= go.temporal.io/server/temporal.ApplyClusterMetadataConfigProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE config.Persistence <= go.temporal.io/server/temporal.ApplyClusterMetadataConfigProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE *pprof.PProfInitializerImpl <= go.temporal.io/server/common/pprof.NewInitializer()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] PROVIDE []trace.SpanExporter <= go.temporal.io/server/temporal.init.func2()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] SUPPLY []temporal.ServerOption
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] RUN supply: stub([]temporal.ServerOption)
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] RUN provide: go.temporal.io/server/temporal.ServerOptionsProvider()
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] Error returned: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider
Jun 25 13:33:55 campfire maas-temporal[600606]: /build/temporal-dq8CT2/temporal-1.24.2/src/temporal/fx.go:183:
Jun 25 13:33:55 campfire maas-temporal[600606]: sql schema version compatibility check failed: version mismatch for keyspace/database: "maasdb". Expected version: 1.6 cannot be greater than Actual version: 1.1
Jun 25 13:33:55 campfire maas-temporal[600606]: [Fx] ERROR Failed to initialize custom logger: could not build arguments for function "go.uber.org/fx".(*module).constructCustomLogger.func2
Jun 25 13:33:55 campfire maas-temporal[600606]: /build/temporal-dq8CT2/temporal-1.24.2/src/vendor/go.uber.org/fx/module.go:292:
Jun 25 13:33:55 campfire maas-temporal[600606]: failed to build fxevent.Logger:
Jun 25 13:33:55 campfire maas-temporal[600606]: could not build arguments for function "go.temporal.io/server/temporal".init.func8
Jun 25 13:33:55 campfire maas-temporal[600606]: /build/temporal-dq8CT2/temporal-1.24.2/src/temporal/fx.go:1009:
Jun 25 13:33:55 campfire maas-temporal[600606]: failed to build log.Logger:
Jun 25 13:33:55 campfire maas-temporal[600606]: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider
Jun 25 13:33:55 campfire maas-temporal[600606]: /build/temporal-dq8CT2/temporal-1.24.2/src/temporal/fx.go:183:
Jun 25 13:33:55 campfire maas-temporal[600606]: sql schema version compatibility check failed: version mismatch for keyspace/database: "maasdb". Expected version: 1.6 cannot be greater than Actual version: 1.1
Jun 25 13:33:55 campfire maas-temporal[600606]: Unable to create server. Error: could not build arguments for function "go.uber.org/fx".(*module).constructCustomLogger.func2 (/build/temporal-dq8CT2/temporal-1.24.2/src/vendor/go.uber.org/fx/module.go:292): failed to build fxevent.Logger: could not build arguments for function "go.temporal.io/server/temporal".init.func8 (/build/temporal-dq8CT2/temporal-1.24.2/src/temporal/fx.go:1009): failed to build log.Logger: received non-nil error from function "go.temporal.io/server/temporal".ServerOptionsProvider (/build/temporal-dq8CT2/temporal-1.24.2/src/temporal/fx.go:183): sql schema version compatibility check failed: version mismatch for keyspace/database: "maasdb". Expected version: 1.6 cannot be greater than Actual version: 1.1.
Can you explain how you installed MAAS and what commands you executed?
I was creating this for someone to follow. This is based on issues I ran into and what I did to correct errors I ran into. I was originally running Ubuntu 20.04. However, when I had issues importing the Rocky 9 custom image, I did upgrade to 22.04 in order to use packer-maas. I did recently remove maas and reinstalled it. But, I didn’t remove postgres and reinstall. Here is essentially what I did
sudo apt full-upgrade -y
After the updates complete, you can install maas onto the server
If you’re running Ubuntu 16.04 LTS (Xenial Xerus) or later, including Ubuntu 18.04 LTS (Bionic Beaver) and Ubuntu 20.04 LTS (Focal Fossa), you don’t need to do anything. Snap is already installed and ready to go.
If snap and/or apt-get fail to install maas. Check your firewall and routing rules.(e.g. regional blocking, etc).
sudo snap install maas
If sudo snap install maas fails, try:
sudo apt-get -y install maas
Follow these steps to install and initialize postgres with MAAS
Disable conflicting NTP
sudo systemctl disable --now systemd-timesyncd
Install postgres
sudo apt install -y postgresql
Configure admin, password, and database name
Create variables DBUSER, DBPASS, DBNAME in the terminal. When creating a user password, don’t use the @ as part of the password. This will cause issues with postgres.
DBUSER=<provide a user name>
DBPASS=<create a password for the user>
DBNAME=<create a database name>
Execute the following commands
sudo -i -u postgres psql -c "CREATE USER \"$DBUSER\" WITH ENCRYPTED PASSWORD '$DBPASS'"
sudo -i -u postgres createdb -O "$DBUSER" "$DBNAME"
Next you need to edit pg_hba.conf
sudo vi /etc/postgresql/12/main/pg_hba.conf
Add the following line under #replication privilege
host $MAAS_DBNAME $MAAS_DBUSER 0/0 md5
Next modify/verify postgresql.conf. Verify that listen_addresses is not commented out. Then modify listen_addresses.
sudo vi /etc/postgresql/12/main/postgresql.conf
listen_addresses = '*'
After modification restart postgres
sudo systemctl restart postgresql
Now run the following command to initialize postgres with maas
sudo maas init region+rack --database-uri "postgres://$DBUSER:$DBPASS@$HOSTNAME/$DBNAME"
If during initialization it fails to create the btree_gin
, execute the following commands to create the extension. Otherwise, continue to the next step.
sudo -i -u postgres
psql -d <name of database>
CREATE EXTENSION btree_gin;
\q
Re-run the initialization command
viii. Now create a maas admin
sudo maas createadmin --username=<create username> --email=<input email address>
Once this executes, it prompts you to create a password for the new admin role.
ix. Now check the maas status
sudo maas status
This will return the status of maas services. You are looking for regiond and rackd to be enabled active . If both are enabled active MAAS is configured.
The next step is to setup MAAS CLI or UI.
Here are steps to configure MAAS CLI
Create an API key.
maas apikey --username=(insert admin name created earlier) > ~/maas-api.key
After the api key is created, create an ssh key.
ssh-keygen -t rsa
Once the ssh key is created log into the MAAS server.
maas login <username> http://<ip addres>:5240/MAAS $(cat ~/maas-api.key)
Next, you set the upstream dns. You can choose to use a local network dns or a public dns upstream target (e.g. 8.8.8.8). Using a public upstream dns ensures consistency.
maas <username> maas set-config name=upstream_dns value="8.8.8.8"
Add your ssh keys to MAAS.
maas <username> sshkeys create "key=$(cat ~/.ssh/id_rsa.pub)"
Once the CLI configuration is complete, you MUST enable DHCP. DHCP must be enabled before MAAS can commission and deploy machines.
Before enabling DHSCP, you need to identify the fabric and primary rack controller
Run the following to find the fabric
maas <username> fabrics read
This will return a JSON, look for the fabric key. The value is used in the DHCP enabling command.
The next value to find is the rack controller system_id.
mass <username> rack-controllers read | grep system_id
This will return the system_id.
Once have the fabric value and system_id, you can enable DHCP.
maas <username> vlan update <fabric value> untagged dhcp_on=True primary_rack=<system_id>
If the dynamic IP range is not configured, run the following command to find the subnet id.
maas <username> subnets read
This will return a JSON. In the JSON are nested values under vlan, ignore the vlan values and look for the id that is part of the top structure of the key value pairs.
Now, create a dynamic IP range. When creating your dynamic IP range, pick a range inside your subnet (but outside static assignments). The command below is providing an example of IP ranges.
maas <username> ipranges create type=dynamic start_ip=192.168.10.100 end_ip=192.168.10.199 subnet=<SUBNET_ID>
Once this runs, you will see a JSON return of the dynamic IPs.
After running maas <username> subnets read. if the gateway_up is null, you will need to set the default gateway.
maas maasadmin subnet update 192.168.10.0/24 gateway_ip=192.168.10.1
I believe you messed up your environment by installing/uninstalling snaps and debs. I suggest to remove everything (danger zone - it will wipe also postgres and your databases) with
sudo DEBIAN_FRONTEND=noninteractive apt remove --purge -y 'maas*' 'postgresql*' && sudo DEBIAN_FRONTEND=noninteractive apt -y autoremove
sudo snap remove --purge maas
and start from scratch
okay, will do. @r00ta I need to send you your favorite tasty beverage. I really appreciate the help and insight. Thank you.
reinstalling worked!
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.