Problem:
We are attempting to install foreman 3.5 with an external Postgres DB on a fresh RedHat 8 system.
foreman-installer --scenario katello \
--foreman-db-host hostname \
--foreman-db-port 5443 \
--foreman-db-password xxxx\
--foreman-db-database foreman \
--foreman-db-manage false \
--katello-candlepin-db-host hostname \
--katello-candlepin-db-port 5443 \
--katello-candlepin-db-name candlepin \
--katello-candlepin-db-password xxx\
--katello-candlepin-manage-db false \
--foreman-proxy-content-pulpcore-manage-postgresql false \
--foreman-proxy-content-pulpcore-postgresql-host hostname \
--foreman-proxy-content-pulpcore-postgresql-port 5443 \
--foreman-proxy-content-pulpcore-postgresql-db-name pulpcore \
--foreman-proxy-content-pulpcore-postgresql-password xxx\
--foreman-proxy-content-pulpcore-postgresql-user pulp \
--enable-foreman-plugin-ansible \
--enable-foreman-proxy-plugin-ansible \
--enable-foreman-plugin-remote-execution \
--enable-foreman-proxy-plugin-remote-execution-ssh \
--foreman-initial-organization Hydra-Local-Monitoring \
--skip-puppet-version-check \
The foreman-installer stoppes with an error:
Error running command: /usr/share/candlepin/liquibase.sh --driver=org.postgresql.Driver --classpath=/var/lib/tomcat/webapps/candlepin/WEB-INF/lib/postgresql-42.5.1.jar:/var/lib/tomcat/webapps/candlepin/WEB-INF/classes/ --changelog-file=db/changelog/changelog-create.xml --url="jdbc:postgresql://hostname:5443/candlepin" --username=$DBUSERNAME --headless=true --hub-mode=OFF --password=$DBPASSWORD --log-level=severe update -Dcommunity=False
Status code: 1
Command output: ####################################################
With some debugging we found out this
Reason: liquibase.exception.DatabaseException: ERROR: relation "public.cp_activation_key" does not exist [Failed SQL: (0) ALTER TABLE public.cp_activation_key ADD CONSTRAINT fk_activation_key_owner FOREIGN KEY (owner_id) REFERENCES public.cp_owner (id) ON UPDATE NO ACTION ON DELETE NO ACTION]
The schema ‘public’ doesnt exist.
So we change all the XML in ‘/var/lib/tomcat/webapps/candlepin/WEB-INF/classes/db/changelog’ and replaced the schema public with candlepin. The script ‘/usr/share/candlepin/cpdb’ now runs without any error.
Can anyone may help to find out if this is may a bug in the liquibase files and if it is the correct way to manually change the schemas in these files and where else this needs to be changed.
Any help is much appreciated.
best regards
Michael