Katello 4.2-rc1 - candlepin not starting - missing table [cp2_activation_key_products]

Problem:
I made a fresh Install of katello 4.2-rc1 on a Rocky Linux 8.4 system using answer files from my prodcution system (adopted interface name and host name to the new system) runnning just “foreman-installer”.

foreman-installer finishes with:

[...]
2021-08-19 15:12:16 [NOTICE] [configure] 2250 configuration steps out of 2367 steps complete.
2021-08-19 15:13:05 [NOTICE] [configure] System configuration has finished.
Executing: foreman-rake upgrade:run
=============================================
Upgrade Step 1/2: katello:correct_repositories. This may take a long while.
Processing Repository 1/443: stretch-updates (34)
Failed upgrade task: katello:correct_repositories, see logs for more information.
=============================================
Upgrade Step 2/2: katello:clean_backend_objects. This may take a long while.
0 orphaned consumer id(s) found in candlepin.
Candlepin orphaned consumers: []
  Success!
  * Foreman is running at https://vm-foreman.lan.net
  * To install an additional Foreman proxy on separate machine continue by running:

      foreman-proxy-certs-generate --foreman-proxy-fqdn "$FOREMAN_PROXY" --certs-tar "/root/$FOREMAN_PROXY-certs.tar"
  * Foreman Proxy is running at https://vm-foreman.lan.net:9090

  The full log is at /var/log/foreman-installer/katello.log

When I open the web-ui I get: Katello::Errors::CandlepinNotRunning

Examining the tomcat log reveals:

2) Error injecting constructor, javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
  at org.candlepin.guice.JPAInitializer.<init>(JPAInitializer.java:29)
  at org.candlepin.guice.CandlepinModule.configureJPA(CandlepinModule.java:376)
  while locating org.candlepin.guice.JPAInitializer
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1314)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1240)
        at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
        at com.google.inject.persist.jpa.JpaPersistService.start(JpaPersistService.java:110)
        at org.candlepin.guice.JPAInitializer.<init>(JPAInitializer.java:30)
        at org.candlepin.guice.JPAInitializer$$FastClassByGuice$$28effa68.newInstance(<generated>)
        at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
        at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
        at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
        at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
        at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
        at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
        at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:213)
        at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184)
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:111)
        at com.google.inject.Guice.createInjector(Guice.java:87)
        at org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener.contextInitialized(GuiceResteasyBootstrapServletContextListener.java:56)
        at org.candlepin.guice.CandlepinContextListener.contextInitialized(CandlepinContextListener.java:137)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4685)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1133)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1867)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1045)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [cp2_activation_key_products]
        at org.hibernate.tool.schema.internal.AbstractSchemaValidator.validateTable(AbstractSchemaValidator.java:121)
        at org.hibernate.tool.schema.internal.GroupedSchemaValidatorImpl.validateTables(GroupedSchemaValidatorImpl.java:42)
        at org.hibernate.tool.schema.internal.AbstractSchemaValidator.performValidation(AbstractSchemaValidator.java:89)
        at org.hibernate.tool.schema.internal.AbstractSchemaValidator.doValidation(AbstractSchemaValidator.java:68)
        at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:192)
        at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:73)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:320)
        at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1237)
        ... 59 more

Expected outcome:
a working foreman / katello installation :slight_smile:

Foreman and Proxy versions:

# rpm -qa | grep -iE 'foreman|katello|candlepin'
katello-client-bootstrap-1.7.6-1.el8.noarch
vm-tfm.lan.net-foreman-proxy-client-1.0-1.noarch
rubygem-hammer_cli_katello-1.1.1-0.1.pre.master.20210804141838gitece0b63.el8.noarch
vm-foreman.lan.net-foreman-client-1.0-1.noarch
candlepin-selinux-4.1.5-1.el8.noarch
katello-debug-4.2.0.rc1-1.el8.noarch
foreman-3.0.0-0.1.rc1.el8.noarch
foreman-installer-3.0.0-0.1.rc1.el8.noarch
katello-repos-4.2.0.rc1-1.el8.noarch
foreman-proxy-3.0.0-0.1.rc1.el8.noarch
vm-foreman.lan.net-foreman-proxy-1.0-1.noarch
foreman-installer-katello-3.0.0-0.1.rc1.el8.noarch
foreman-cli-3.0.0-0.1.rc1.el8.noarch
katello-selinux-4.0.2-1.el8.noarch
katello-common-4.2.0.rc1-1.el8.noarch
rubygem-foreman_maintain-0.8.10-1.el8.noarch
katello-server-ca-1.0-1.noarch
rubygem-hammer_cli_foreman_remote_execution-0.2.2-1.fm3_0.el8.noarch
rubygem-foreman_puppet-1.0.0.rc.1-1.fm2_6.el8.noarch
foreman-postgresql-3.0.0-0.1.rc1.el8.noarch
rubygem-foreman-tasks-5.0.0-1.fm2_6.el8.noarch
vm-foreman.lan.net-apache-1.0-1.noarch
vm-foreman.lan.net-foreman-proxy-client-1.0-1.noarch
foreman-release-3.0.0-0.1.rc1.el8.noarch
katello-certs-tools-2.8.0-1.el8.noarch
rubygem-hammer_cli_foreman-3.0.0-1.el8.noarch
katello-4.2.0.rc1-1.el8.noarch
vm-tfm.lan.net-foreman-client-1.0-1.noarch
vm-tfm.lan.net-foreman-proxy-1.0-1.noarch
rubygem-hammer_cli_foreman_puppet-0.0.3-1.fm3_0.el8.noarch
rubygem-foreman_ansible-6.4.1-1.fm2_6.el8.noarch
foreman-debug-3.0.0-0.1.rc1.el8.noarch
foreman-dynflow-sidekiq-3.0.0-0.1.rc1.el8.noarch
rubygem-foreman_remote_execution-4.7.0-1.fm3_0.el8.noarch
candlepin-4.1.5-1.el8.noarch
rubygem-katello-4.2.0.rc1-1.el8.noarch
ansible-collection-theforeman-foreman-2.1.2-1.el8.noarch
foreman-selinux-3.0.0-0.1.rc1.el8.noarch
foreman-service-3.0.0-0.1.rc1.el8.noarch
katello-default-ca-1.0-1.noarch
rubygem-hammer_cli_foreman_tasks-0.0.16-1.fm3_0.el8.noarch
vm-foreman.lan.net-puppet-client-1.0-1.noarch

Foreman and Proxy plugin versions:

Distribution and version:
Rocky Linux 8.4

Other relevant data:

Digging a bit further there are no tables in the candleping db at all. Wondering why there is no error related to that. Will go on digging…