Ask Your Question
0

2018.1.2 Upgrade errors related to pe.conf content

asked 2018-07-26 23:54:14 -0500

w gravatar image

updated 2018-07-30 11:51:36 -0500

DarylW gravatar image

Hi,

thanks in advance to anyone having a read of this. Hopefully this isn't a glaring oversight on my part.

Here is the scenario. I've built a puppet monolith using the supplied BYOL AWS ami and am trying to upgrade the system from 2017.3.5 --> 2018.1.2 using the enterprise installer sudo ./puppet-enterprise-installer per the upgrade guide here: Upgrade

Unfortunately it continously erros with the following output:

image description

the main crux:

[ERROR]: Your pe.conf file at /etc/puppetlabs/enterprise/conf.d/pe.conf contains errors.
[ERROR]: Check your pe.conf file for errors and try re-running the installer.

I have included below the contents of pe.conf file with the password and dns name removed. Googling indicated a couple of other people with a similar issue but no answers. Any help is greatly appreciated even if it's a indication where to look next!

Cheers!

#----------------------------------------------------------------------------
# Puppet Enterprise installer configuration file
# https://docs.puppet.com/pe/latest/install_pe_conf_param.html
#
# Format: Hocon
# https://docs.puppet.com/pe/latest/config_hocon.html
#----------------------------------------------------------------------------
{

  #--------------------------------------------------------------------------
  # ⚠️  REQUIRED FOR INSTALLATION ⚠️
  #
  # The password to log into the Puppet Enterprise console.
  #
  # If you are upgrading and do not want to reset your console admin password,
  # comment out this parameter.
  #--------------------------------------------------------------------------
  "console_admin_password": "WORD"


  #--------------------------------------------------------------------------
  # PE Component assignments.
  #
  # If you're performing a monolithic install (recommended), there is no need
  # to change the default settings, and you do not need to set the
  # puppetdb_host and console_host parameters.
  #
  # When performing a split install, do not use the %{::trusted.certname} fact.
  # Instead set the FQDN for all three PE component nodes.
  # For more information, refer to:
  # https://docs.puppet.com/pe/latest/install_text_mode_split.html
  #
  # Overview of PE Components:
  # https://docs.puppet.com/pe/latest/pe_architecture_overview.html
  #-------------------------------------------------------------------------

  # Puppet Enterprise Master
  "puppet_enterprise::puppet_master_host": "%{::trusted.certname}"

  # Puppet Enterprise Console
  #"puppet_enterprise::console_host": ""

  # PuppetDB
  #"puppet_enterprise::puppetdb_host": ""


  #--------------------------------------------------------------------------
  # DATABASE CONFIGURATION
  #
  # Puppet Enterprise uses PostgreSQL as a database backend.
  # PE can install and manage a new one (recommended), or you can use an
  # existing instance.
  #
  # For details on using an existing PostgreSQL database, visit:
  # https://docs.puppet.com/pe/latest/install_system_requirements.html
  #
  # UPGRADE NOTE:
  # If you’re upgrading and have previously used non-default database names and
  # users, you must uncomment and change these parameters to match what you
  # have used.
  #--------------------------------------------------------------------------

  #"puppet_enterprise::activity_database_name": "pe-activity"
  #"puppet_enterprise::activity_service_migration_db_user": "pe-activity"
  #"puppet_enterprise::activity_service_regular_db_user": "pe-activity"
  #"puppet_enterprise::classifier_database_name": "pe-classifier"
  #"puppet_enterprise::classifier_service_migration_db_user": "pe-classifier"
  #"puppet_enterprise::classifier_service_regular_db_user": "pe-classifier"
  #"puppet_enterprise::orchestrator_database_name": "pe-orchestrator"
  #"puppet_enterprise::orchestrator_service_migration_db_user": "pe-orchestrator"
  #"puppet_enterprise::orchestrator_service_regular_db_user": "pe-orchestrator"
  #"puppet_enterprise::rbac_database_name": "pe-rbac"
  #"puppet_enterprise::rbac_service_migration_db_user": "pe-rbac"
  #"puppet_enterprise::rbac_service_regular_db_user": "pe-rbac"
  #"puppet_enterprise::puppetdb_database_name": "pe-puppetdb"
  #"puppet_enterprise::puppetdb_database_user": "pe-puppetdb"

  # EXTERNAL POSTGRES OPTIONS ONLY
  # If you're using an existing PostgreSQL instance that was not set up by
  # Puppet Enterprise, set the following parameters:

  #"puppet_enterprise::database_host": ""
  #"puppet_enterprise::database_ssl": false
  #"puppet_enterprise::database_cert_auth": false
  #"puppet_enterprise::activity_database_password": "PASSWORD"
  #"puppet_enterprise::classifier_database_password": "PASSWORD"
  #"puppet_enterprise::orchestrator_database_password": "PASSWORD"
  #"puppet_enterprise::rbac_database_password": "PASSWORD"
  #"puppet_enterprise::puppetdb_database_password": "PASSWORD"


  #--------------------------------------------------------------------------
  # ADVANCED AND CUSTOM PARAMETERS
  #
  # You can use the following parameters as needed, or add your own parameters
  # to this section.
  #
  # For a complete list of parameters and what they do, visit:
  # https://docs.puppet.com/pe/latest/install_pe_conf_param.html
  #--------------------------------------------------------------------------

  # DNS altnames to ...
(more)
edit retag flag offensive close merge delete

Comments

I'm not sure yet what's going on, but a hocon gem should be present at either /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/hocon-1.2.5/ or /opt/puppetlabs/puppet/lib/ruby/gems/2.4.0/gems/hocon-1.2.5/. Is it in either location? Also, which version of the puppet-agent package is installed?

MichaelSmith gravatar imageMichaelSmith ( 2018-07-30 11:32:49 -0500 )edit

The error seems to be that the installer can't find that gem.

MichaelSmith gravatar imageMichaelSmith ( 2018-07-30 11:33:32 -0500 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2018-07-30 13:03:33 -0500

MichaelSmith gravatar image

updated 2018-07-30 14:32:13 -0500

This is a real problem with https://aws.amazon.com/marketplace/pp.... Those images include an upgrade of rubygems, that conflicts with how puppet-agent 5.5 tries to add a vendored gems directory.

I believe it would be safe to work-around this by deleting /opt/puppetlabs/puppet/lib/ruby/site_ruby/2.4.0/{rubygems,rubygems.rb}. I've reported the issue to Puppet, but I'm not sure of the timeline for a supported release of PE 2018.1 in AWS Marketplace.

edit flag offensive delete link more

Comments

Hi Michael, that looks like a winner thanks for your help on this one! It does add to our internal case for not always trusting marketplace builds and using our own. Cheers!

w gravatar imagew ( 2018-07-30 16:44:07 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2018-07-26 23:54:14 -0500

Seen: 82 times

Last updated: Jul 30