Best option is to completely remove the puppetdb service:

- stop puppetdb process
- uninstall puppetdb Package
- remove puppetdb conf dir /etc/puppetlabs/puppetdb

Now remove the puppetdb settings from puppet.conf file:
- storeconfigs = true
- storeconfigs_backend = puppetdb
- reports = puppetdb

Then remove the files
/etc/puppetlabs/puppet/routes.yaml
and
/etc/puppetlabs/puppet/puppetdb.conf

Now restart the puppetserver process.

Then you can make use of the module and run the puppet agent on your puppet 
server.



> On 12. Oct 2022, at 16:46, Callum McCrorie <[email protected]> wrote:
> 
> Hi Martin,
> I am trying to use puppetlabs-puppetdb. This is being installed via my
> control repository. Unfortunately I am unable to start the service and
> am running into the errors / issues that I have previously stated.
> Thank you,
> 
> Kind regards,
> Callum McCrorie
> Junior Engineer/Project Management
> 
> On Wed, 12 Oct 2022 at 15:37, Martin Alfke <[email protected]> wrote:
>> 
>> Hi Callum,
>> 
>> in general we use Puppet to also manage the Puppet Server.
>> Usually we recommend using puppetlabs-puppetdb, which will take care on 
>> postgresql and puppetdb and the required settings and even restart 
>> puppetserver process.
>> Instead of trying to manually solve an issue, you should automate your 
>> automation (which is your Puppet server).
>> 
>> hth,
>> Martin
>> 
>>> On 12. Oct 2022, at 16:05, Callum McCrorie <[email protected]> wrote:
>>> 
>>> Thank you Martin for your help with this.
>>> I have tried implementing what you suggested above and moving the database 
>>> config to database.ini. Unfortunately there has been no change of outcome 
>>> when trying to start puppetdb or when running puppet agent. There is also 
>>> no new information / entries appearing in the .log files for puppetdb.
>>> Please could you provide any other ideas of how we should debug this issue 
>>> or things to try?
>>> 
>>> Kind regards,
>>> Callum McCrorie
>>> Junior Engineer/Project Management
>>> 
>>> 
>>> 
>>> On Tue, 11 Oct 2022 at 08:52, Martin Alfke <[email protected]> wrote:
>>> Subname needs the PostgreSQL connection. Not the PuppetDB URL
>>> 
>>> Wrong:
>>> subname = //localhost:8081/puppetdb
>>> 
>>> Right:
>>> subname = //localhost:5432/puppetdb
>>> 
>>> In my config all the database config is not in config.ini but in 
>>> database.ini
>>> 
>>> # /etc/puppetlabs/puppetdb/conf/database.ini
>>> [database]
>>> 
>>> # The database address, i.e. //HOST:PORT/DATABASE_NAME
>>> # subname = //localhost:5432/puppetdb
>>> subname = //localhost:5432/puppetdb
>>> 
>>> # Connect as a specific user
>>> # username = foobar
>>> username = puppetdb
>>> 
>>> # Use a specific password
>>> # password = foobar
>>> password = puppetdb
>>> 
>>> # How often (in minutes) to compact the database
>>> # gc-interval = 60
>>> gc-interval = 60
>>> classname = org.postgresql.Driver
>>> subprotocol = postgresql
>>> syntax_pgs = true
>>> node-purge-gc-batch-limit = 25
>>> node-ttl = 7d
>>> node-purge-ttl = 14d
>>> report-ttl = 14d
>>> log-slow-statements = 10
>>> conn-max-age = 60
>>> conn-keep-alive = 45
>>> conn-lifetime = 0
>>> migrate = true
>>> 
>>> 
>>> Hth,
>>> Martin
>>> 
>>>> On 10. Oct 2022, at 15:42, Callum McCrorie <[email protected]> 
>>>> wrote:
>>>> 
>>>> Hello,
>>>> I’m reaching out about an issue related to PuppetDB. I am hoping that
>>>> someone will be able to assist myself and my coworker in solving this
>>>> problem.
>>>> 
>>>> When I take a look inside the puppetdb log file the error that I am
>>>> seeing is `ERROR [p.p.config] No subname set in the "database"
>>>> config`. Root to the log file is - 
>>>> /var/log/puppetlabs/puppetdb/puppetdb.log.
>>>> 
>>>> If I try to start puppetdb service manually by running `systemctl
>>>> start puppetdb` I then receive the following error message:
>>>> `Job for puppetdb.service failed because the control process exited
>>>> with error code.
>>>> See "systemctl status puppetdb.service" and "journalctl -xe" for details.`
>>>> 
>>>> Following this when looking at `journalctl -xe` I can see the error 
>>>> message:
>>>> `-- The unit puppetdb.service has entered the 'failed' state with
>>>> result 'exit-code'
>>>> Oct 04 13:37:36 puppet systemd[1]: Failed to start puppetdb Service.
>>>> -- Subject: A start job for unit puppetdb.service has failed.'
>>>> 
>>>> I have also included in this the PuppetDB scripts and any related scripts.
>>>> 
>>>> The following script is for puppet.conf location is
>>>> /etc/puppetlabs/puppet/puppet.conf.
>>>> 
>>>> # This file can be used to override the default puppet settings.
>>>> # See the following links for more details on what settings are available:
>>>> # - https://puppet.com/docs/puppet/latest/config_important_settings.html
>>>> # - https://puppet.com/docs/puppet/latest/config_about_settings.html
>>>> # - https://puppet.com/docs/puppet/latest/config_file_main.html
>>>> # - https://puppet.com/docs/puppet/latest/configuration.html
>>>> [server]
>>>> vardir = /opt/puppetlabs/server/data/puppetserver
>>>> logdir = /var/log/puppetlabs/puppetserver
>>>> rundir = /var/run/puppetlabs/puppetserver
>>>> pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid
>>>> codedir = /etc/puppetlabs/code
>>>> 
>>>> [master]
>>>> storeconfigs = true
>>>> storeconfigs_backend = puppetdb
>>>> reports = store, puppetdb
>>>> 
>>>> [agent]
>>>> noop = true
>>>> 
>>>> The next script is from puppetdb.conf location is
>>>> /etc/puppetlabs/puppet/puppetdb.conf
>>>> 
>>>> [main]
>>>> server_urls = https://puppetdb.company.com:8081
>>>> 
>>>> 
>>>> The puppetdb config.ini file
>>>> (/etc/puppetlabs/puppetdb/conf.d/config.ini) is as follows:
>>>> 
>>>> #logging-config = /etc/puppetlabs/puppetdb/logback.xml
>>>> 
>>>> #[command-processing]
>>>> # How many command-processing threads to use, defaults to (CPUs / 2)
>>>> # threads = 4
>>>> 
>>>> # How many threads can write to disk at once, defaults to min(CPUs / 2, 4)
>>>> # concurrent-writes = 4
>>>> 
>>>> [global]
>>>> vardir = /var/lib/puppetdb
>>>> logging-config = /var/lib/puppetdb/logback.xml
>>>> 
>>>> [database]
>>>> classname = org.postgresql.Driver
>>>> subprotocol = postgresql
>>>> subname = //localhost:8081/puppetdb
>>>> 
>>>> [puppetdb]
>>>> certificate-whitelist = /path/to/file/containing/certnames
>>>> disable-update-checking = false
>>>> 
>>>> The puppetdb jetty.ini file
>>>> (/etc/puppetlabs/puppetdb/conf.d/jetty.ini) is as follows:
>>>> 
>>>> [jetty]
>>>> # IP address or hostname to listen for clear-text HTTP. To avoid resolution
>>>> # issues, IP addresses are recommended over hostnames.
>>>> # Default is `localhost`.
>>>> # host = <host>
>>>> 
>>>> # Port to listen on for clear-text HTTP.
>>>> port = 8080
>>>> 
>>>> # The following are SSL specific settings. They can be configured
>>>> # automatically with the tool `puppetdb ssl-setup`, which is normally
>>>> # ran during package installation.
>>>> 
>>>> # IP address to listen on for HTTPS connections. Hostnames can also be used
>>>> # but are not recommended to avoid DNS resolution issues. To listen on all
>>>> # interfaces, use `0.0.0.0`.
>>>> ssl-host = 0.0.0.0
>>>> 
>>>> # The port to listen on for HTTPS connections
>>>> ssl-port = 8081
>>>> 
>>>> # Private key path
>>>> ssl-key = /etc/puppetlabs/puppetdb/ssl/private.pem
>>>> 
>>>> # Public certificate path
>>>> ssl-cert = /etc/puppetlabs/puppetdb/ssl/public.pem
>>>> 
>>>> # Certificate authority path
>>>> ssl-ca-cert = /etc/puppetlabs/puppetdb/ssl/ca.pem
>>>> 
>>>> # Access logging configuration path. To turn off access logging
>>>> # comment out the line with `access-log-config=...`
>>>> access-log-config = /etc/puppetlabs/puppetdb/request-logging.xml
>>>> client-auth = want
>>>> 
>>>> The puppetdb auth.conf file
>>>> (/etc/puppetlabs/puppetdb/conf.d/auth.conf) is as follows:
>>>> 
>>>> authorization: {
>>>>    version: 1
>>>>    rules: [
>>>>        {
>>>>            # Allow unauthenticated access to the status service endpoint
>>>>            match-request: {
>>>>                path: "/status/v1/services"
>>>>                type: path
>>>>                method: get
>>>>            }
>>>>            allow-unauthenticated: true
>>>>            sort-order: 500
>>>>            name: "puppetlabs status service - full"
>>>>        },
>>>>        {
>>>>            match-request: {
>>>>                path: "/status/v1/simple"
>>>>                type: path
>>>>                method: get
>>>>            }
>>>>            allow-unauthenticated: true
>>>>            sort-order: 500
>>>>            name: "puppetlabs status service - simple"
>>>>        },
>>>>        {
>>>>            # Allow nodes to access the metrics service
>>>>            # for puppetdb, the metrics service is the only
>>>>            # service using the authentication service
>>>>            match-request: {
>>>>                path: "/metrics"
>>>>                type: path
>>>>                method: [get, post]
>>>>            }
>>>>            allow: "*"
>>>>            sort-order: 500
>>>>            name: "puppetlabs puppetdb metrics"
>>>>        },
>>>>        {
>>>>            # Deny everything else. This ACL is not strictly
>>>>            # necessary, but illustrates the default policy
>>>>            match-request: {
>>>>                path: "/"
>>>>                type: path
>>>>            }
>>>>            deny: "*"
>>>>            sort-order: 999
>>>>            name: "puppetlabs deny all"
>>>>        }
>>>>    ]
>>>> }
>>>> 
>>>> 
>>>> I hope that I have provided enough information needed for this issue
>>>> with puppetdb. If you would like any additional information to assist
>>>> with being able to solve this please feel free to ask, and thank you
>>>> in advance for your help on this issue
>>>> 
>>>> --
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "Puppet Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/puppet-users/a106da8f-3946-42a3-9bc4-59b9643ff312n%40googlegroups.com.
>>> 
>>> 
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "Puppet Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/puppet-users/6414FBA4-C7E6-4714-9C1C-7C1A44F924B6%40gmail.com.
>>> 
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "Puppet Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/puppet-users/CABUjAcDxMeR-squzZo6xFBDc3grkxaGiF5KU4V_mUoArw_ZBuw%40mail.gmail.com.
>> 
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Puppet Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/puppet-users/4AC969D8-E685-45ED-9D8D-49DF409FE5CB%40gmail.com.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/puppet-users/CABUjAcD2io3Xfaash%3Dyz_nEqcr0LYtfZZgep1XZy8YQzfAesPA%40mail.gmail.com.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/BDA5E0BA-7D40-4DA5-81B1-8738441ADF83%40gmail.com.

Reply via email to