-
Notifications
You must be signed in to change notification settings - Fork 228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes #37291 - Use explicit java on RH with Puppetserver 8 #910
Fixes #37291 - Use explicit java on RH with Puppetserver 8 #910
Conversation
bae34d3
to
7bf85f4
Compare
7bf85f4
to
70f35a9
Compare
The /usr/bin/java file may point to any version. This changes the logic to determine the java version (unless explicitly specified) dynamically based on the puppetserver version and the OS.
70f35a9
to
e222157
Compare
@@ -714,7 +714,7 @@ | |||
Optional[Stdlib::Absolutepath] $server_puppet_basedir = $puppet::params::server_puppet_basedir, | |||
Enum['current', 'future'] $server_parser = $puppet::params::server_parser, | |||
Variant[Undef, Enum['unlimited'], Pattern[/^\d+[smhdy]?$/]] $server_environment_timeout = $puppet::params::server_environment_timeout, | |||
String $server_jvm_java_bin = $puppet::params::server_jvm_java_bin, | |||
Optional[Stdlib::Absolutepath] $server_jvm_java_bin = undef, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need an installer migration as well to wipe the value. I wonder if this a breaking change, but I think a relative path was never valid.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Coming back to this: it didn't resolve our upgrade issues. What happens is:
I've opened puppetlabs/ezbake#627 to avoid this. On EL8 it may not be reliable since there's no explicit java binary there, since it relies on a virtual package. For EL9 it should be though. |
Contemplating the solutions: I think the best is for the foreman-installer to add a hook that detects the broken situation ( |
That doesn't sound crazy. Do we tell people to do |
Not sure, but there's no harm in an explicit stop if it prevents issues. At least our upgrade pipelines hit the problem so we're not doing it. |
Yeah, not arguing against your solution. More wondering how many people would actually run into that. |
theforeman/foreman-installer#953 is now ready. This allows users to also upgrade to Puppet 8 as a separate procedure:
Now I just need to see if this is also a problem for Debian. |
When I do a fresh installation of Puppet 7 on Debian 11 it install Java 11, so that shouldn't be a problem. I'm sure we'll find some cases, but not something to generally solve for everyone. |
The /usr/bin/java file may point to any version. This changes the logic to determine the java version (unless explicitly specified) dynamically based on the puppetserver version and the OS.