Here is what one needs to do to upgrade CentOS 6 to CentOS 7 for the foreman server.
1. Install a new CentOS 7 server with the same version of The Foreman that is installed on the CentOS 6 server, including all plugins 2. Discover the version of PostgreSQL that is installed on the CentOS 7 server, and used by The Foreman (rpm -qa | grep postgres) 3. Download this version of the tar and zipped binary distribution of the PostgreSQL server onto the CentOS 6 server - https://www.postgresql.org/download/linux/ (clicking on " download a *tag.gz archive* of the binaries, ..." is a link to the following URL) - https://www.enterprisedb.com/download-postgresql-binaries 4. Shutdown services (not PostgreSQL) on the CentOS 6 server 5. On the CentOS 6 server, extract this tar and zipped PostgreSQL distribution into a directory named '/usr/local/src/pgsql/' 6. Backup the CentOS 6 Foreman server as described in the foreman documentation, except for PostgreSQL 7. Next, backup The Foreman's PostgreSQL database on the CentOS 6 server with the following command series (Postgres calls `-Fc` a "custom dump") - - su postgres - /usr/local/src/pgsql/bin/pg_dump -Fc foreman > /tmp/pg_centos6server_foremanFc-20170814.dump 8. restore the postgres dump to centos 7 postgres server (Restoring the dump file wants to create the database, but it doesn't, so we create it and endure the resulting error message during the restore operation as shown here) - su - postgres - dropdb foreman - createdb foreman - g_restore -C -d foreman /tmp/pg_centos6server_foremanFc-20170814.dump - - You will see the following output, but the restore will still complete: - could not change directory to "/root" - pg_restore: [archiver (db)] Error while PROCESSING TOC: - pg_restore: [archiver (db)] Error from TOC entry 2897; 1262 16385 DATABASE foreman foreman - pg_restore: [archiver (db)] could not execute query: ERROR: database "foreman" already exists - Command was: CREATE DATABASE foreman WITH TEMPLATE = template0 ENCODING = 'SQL_ASCII' LC_COLLATE = 'C' LC_CTYPE = 'C'; - WARNING: errors ignored on restore: 1 9. Your Foreman server is now migrated from CentOS 6 to CentOS 7. If this is your puppet master and/or certificate authority, you may want to perform these additional steps 1. copy over the host configuration from centos 6 to 7 server, if you do not want them to be rebuilt - rsync -av /var/lib/puppet/yaml/ root@yourcentos7server:/var/lib/puppet/yaml/ 2. On the Puppet Master, if necessary, create a new SSL Certificate for the centos 7 server with DNS Alt Name 1. https://docs.puppet.com/pe/latest/regenerate_certs_master.html 2. puppet cert clean yourcentos7server 3. puppet cert generate yourcentos7server --dns_alt_names=puppet,puppet.example.com,foreman.example.com 4. restart services 3. On Puppet Slaves, if necessary, create a new SSL Certificate with DNS Alt Name 1. add dns_alt_names to [main] section in /etc/puppet/puppet.conf 2. change the puppet master server to the yourcentos7server in /etc/puppet/puppet.conf 3. puppet agent -t (generates new cert) 1. sign this cert on the master, if not autosigned 4. restart services 4. On CentOS 7 server, ensure the httpd, foreman, and foreman-proxy services are enabled; also ensure firewalld settings are correct -RG On Monday, February 8, 2016 at 10:09:50 AM UTC-6, Gato Pardo wrote: > > > Hello! > > We have been using Foreman for quite a while and we're very happy with it > This may be the first time we try to do something that is not already > documented. > > We're currently using Foreman 1.10.1 in a CentOS 6 machine, but now time > comes to upgrade to CentOS 7 since we're standardizing all machines in the > new OS. > > I tried to migrate the server, with the backup - restore process as shown > in the documentation (0). The result is not 100% correct, although I would > say it mostly works since our installation is pretty simple (we use Foreman > for the ENC and report visualization mostly). > > I've got a bunch of database errors when importing the backup like: > > pg_restore: [archiver (db)] could not execute query: ERROR: constraint > "user_roles_role_id_fk" for relation "user_roles" already exists > Command was: ALTER TABLE ONLY user_roles > ADD CONSTRAINT user_roles_role_id_fk FOREIGN KEY (role_id) REFERENCES > roles(id); > > I wasn't able to find any documentation or experiences, so would anyone > have some experience with that kind of upgrade? May I had been impacted by > the PostgreSQL migration (8.4 to 9.2)? > > Any tip would be really appreciated! > > Cheers! > > (0) > http://theforeman.org/manuals/1.10/index.html#5.5Backup,RecoveryandMigration > -- You received this message because you are subscribed to the Google Groups "Foreman users" group. To unsubscribe from this group and stop receiving emails from it, send an email to foreman-users+unsubscr...@googlegroups.com. To post to this group, send email to foreman-users@googlegroups.com. Visit this group at https://groups.google.com/group/foreman-users. For more options, visit https://groups.google.com/d/optout.