puppetserver unable to start after yum update

328 views
Skip to first unread message

Jim Jim

unread,
Sep 2, 2016, 5:09:56 AM9/2/16
to puppet...@googlegroups.com
Hi Guys,

I had a good running puppetserver daemon but after   

    sudo yum update -y

It is not running, complaining Specified bootstrap config file does not exist: '/etc/puppetlabs/puppetserver/bootstrap.cfg'.
detailed log output from puppetserver-daemon.log is as below:

    OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
    Exception in thread "main" java.lang.IllegalArgumentException: Specified bootstrap config file does not exist: '/etc/puppetlabs/puppetserver/bootstrap.cfg'
            at puppetlabs.trapperkeeper.bootstrap$eval14658$wrap_uri_error__14663$fn__14664.invoke(bootstrap.clj:131)
            at puppetlabs.trapperkeeper.bootstrap$eval14658$wrap_uri_error__14663.invoke(bootstrap.clj:127)
            at puppetlabs.trapperkeeper.bootstrap$eval14681$read_config__14686$fn__14687.invoke(bootstrap.clj:150)
            at puppetlabs.trapperkeeper.bootstrap$eval14681$read_config__14686.invoke(bootstrap.clj:134)
            at puppetlabs.trapperkeeper.bootstrap$eval14704$get_annotated_bootstrap_entries__14709$fn__14710$iter__14711__14717$fn__14718.invoke(bootstrap.clj:160)
            at clojure.lang.LazySeq.sval(LazySeq.java:40)
            at clojure.lang.LazySeq.seq(LazySeq.java:49)
            at clojure.lang.RT.seq(RT.java:507)
            at clojure.core$seq__4128.invoke(core.clj:137)
            at clojure.core.protocols$seq_reduce.invoke(protocols.clj:30)
            at clojure.core.protocols$fn__6506.invoke(protocols.clj:101)
            at clojure.core.protocols$fn__6452$G__6447__6465.invoke(protocols.clj:13)
            at clojure.core$reduce.invoke(core.clj:6519)
            at puppetlabs.trapperkeeper.bootstrap$eval14944$remove_duplicate_entries__14949$fn__14950.invoke(bootstrap.clj:284)
            at puppetlabs.trapperkeeper.bootstrap$eval14944$remove_duplicate_entries__14949.invoke(bootstrap.clj:263)
            at puppetlabs.trapperkeeper.bootstrap$eval14970$parse_bootstrap_configs_BANG___14977$fn__14978.invoke(bootstrap.clj:304)
            at puppetlabs.trapperkeeper.bootstrap$eval14970$parse_bootstrap_configs_BANG___14977.invoke(bootstrap.clj:293)
            at puppetlabs.trapperkeeper.core$eval15252$boot_with_cli_data__15259$fn__15260.invoke(core.clj:129)
            at puppetlabs.trapperkeeper.core$eval15252$boot_with_cli_data__15259.invoke(core.clj:95)
            at puppetlabs.trapperkeeper.core$eval15281$run__15286$fn__15287.invoke(core.clj:151)
            at puppetlabs.trapperkeeper.core$eval15281$run__15286.invoke(core.clj:145)
            at puppetlabs.trapperkeeper.core$main.doInvoke(core.clj:173)
            at clojure.lang.RestFn.invoke(RestFn.java:457)
            at clojure.lang.Var.invoke(Var.java:394)
            at clojure.lang.AFn.applyToHelper(AFn.java:165)
            at clojure.lang.Var.applyTo(Var.java:700)
            at clojure.core$apply.invoke(core.clj:630)
            at puppetlabs.trapperkeeper.main$_main.doInvoke(main.clj:7)
            at clojure.lang.RestFn.invoke(RestFn.java:457)
            at clojure.lang.Var.invoke(Var.java:394)
            at clojure.lang.AFn.applyToHelper(AFn.java:165)
            at clojure.lang.Var.applyTo(Var.java:700)
            at clojure.core$apply.invoke(core.clj:630)
            at clojure.main$main_opt.invoke(main.clj:316)
            at clojure.main$main.doInvoke(main.clj:421)
            at clojure.lang.RestFn.invoke(RestFn.java:512)
            at clojure.lang.Var.invoke(Var.java:409)
            at clojure.lang.AFn.applyToHelper(AFn.java:178)
            at clojure.lang.Var.applyTo(Var.java:700)
            at clojure.main.main(main.java:37)
    Caused by: java.lang.IllegalArgumentException: URI is not absolute
            at java.net.URI.toURL(URI.java:1088)
            at clojure.java.io$fn__9197.invoke(io.clj:248)
            at clojure.java.io$fn__9102$G__9095__9109.invoke(io.clj:69)
            at clojure.java.io$fn__9163.invoke(io.clj:165)
            at clojure.java.io$fn__9115$G__9091__9122.invoke(io.clj:69)
            at clojure.java.io$reader.doInvoke(io.clj:102)
            at clojure.lang.RestFn.invoke(RestFn.java:410)
            at puppetlabs.trapperkeeper.bootstrap$eval14681$read_config__14686$fn__14687.invoke(bootstrap.clj:144)
            ... 37 more
Information about puppetserver

    [jim@puppet ~]$ puppetserver --version
    puppetserver version: 2.5.0
    [jim@puppet ~]$ puppet agent --version
    4.6.1
    [jim@puppet ~]$ 

Host Operating System:

    CentOS 6.8

Any help would be greatly appreciated.

My latest observation:
This is what I observed:
[[root@puppet sysconfig]# diff puppetserver.rpmnew puppetserver
9c9
< JAVA_ARGS="-Xms2g -Xmx2g -XX:MaxPermSize=256m"
---
> JAVA_ARGS="-Xms1g -Xmx1g -XX:MaxPermSize=256m"
18c18
< BOOTSTRAP_CONFIG="/etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/"
---
> BOOTSTRAP_CONFIG="/etc/puppetlabs/puppetserver/bootstrap.cfg"
26,27d25
[root@puppet sysconfig]# pwd
/etc/sysconfig
[root@puppet sysconfig]# ]

Not sure why memory setting have been changed as part of upgrade ? and secondly why puppetserver.rpmnew is ready while doing puppetserver start and it reads old file puppetserver ?

I'm not able to perform any deployments as a result of this. Please assist.

Thanks

Chuck

unread,
Sep 2, 2016, 3:15:56 PM9/2/16
to Puppet Users

Jim Jim

unread,
Sep 3, 2016, 9:38:56 AM9/3/16
to puppet...@googlegroups.com
Not sure why I am not able to see my email. I don't think it has any offensive or rude language ?

Matthaus Owens

unread,
Sep 6, 2016, 1:22:03 PM9/6/16
to Puppet Users
Jim,
The puppet server 2.5.0 release had a few changes with respect to bootstrap.cfg (there are details about it here: https://docs.puppet.com/puppetserver/2.5/bootstrap_upgrade_notes.html). In your case it looks like you had modified /etc/sysconfig/puppetserver to change the heap size, so yum was unable to update your sysconfig file to point to the new bootstrap config locations (there is some description of this issue here https://docs.puppet.com/puppetserver/2.5/release_notes.html#potential-warnings-when-upgrading-with-a-modified-init-configuration). To get going again, I would recommend updating the BOOTSTRAP_CONFIG setting in /etc/sysconfig/puppetserver to match what is in /etc/sysconfig/puppetserver.rpmnew ("/etc/puppetlabs/puppetserver/services.d/,/opt/puppetlabs/server/apps/puppetserver/config/services.d/").
In answer to your second question, rpmnew files are for when a configuration file has been changed by the user and a package update changes it. Because yum/rpm can't safely replace the configuration file, it drops an rpmnew version of the file with a diff of the updated config file from the package. This allows the user to manually merge in any needed changes (in this case the needed change is the change to the BOOTSTRAP_CONFIG setting).

Hope that helps,
Matthaus

--
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 puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CABmTjWwX1X%3DPJpkbU6_o6g0RWp0kNxK76Xpu2y59NXzByJsCow%40mail.gmail.com.

For more options, visit https://groups.google.com/d/optout.

jcbollinger

unread,
Sep 7, 2016, 8:54:11 AM9/7/16
to Puppet Users


On Tuesday, September 6, 2016 at 12:22:03 PM UTC-5, Matthaus Litteken wrote:
[...] In answer to your second question, rpmnew files are for when a configuration file has been changed by the user and a package update changes it. Because yum/rpm can't safely replace the configuration file, it drops an rpmnew version of the file with a diff of the updated config file from the package. This allows the user to manually merge in any needed changes (in this case the needed change is the change to the BOOTSTRAP_CONFIG setting).


It's at best misleading to describe .rpmnew files as containing a diff.  An x.rpmnew file is the version of x that RPM would have installed if x had no local modifications.  If you don't need to preserve the local modifications then you can replace x with x.rpmnew.  Otherwise, you can make your own diff between the two to judge how to merge the changes.


John

Matthaus Owens

unread,
Sep 7, 2016, 12:59:35 PM9/7/16
to Puppet Users
John,
Thanks for the correction. I definitely mixed up my words while responding here.

--
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 puppet-users+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages