-
Notifications
You must be signed in to change notification settings - Fork 55
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
(#469) Assign correct environment to node groups #479
Merged
bastelfreak
merged 1 commit into
puppetlabs:support-custom-environment
from
bastelfreak:issue-469
Aug 29, 2024
+186
−13
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# | ||
# @summary check if a custom PE environment is set in pe.conf | ||
# | ||
# @param primary the FQDN for the primary, here we will read the pe.conf from | ||
# | ||
# @return [String] the desired environment for PE specific node groups | ||
# | ||
# @see https://www.puppet.com/docs/pe/latest/upgrade_pe#update_environment | ||
# | ||
# @author Tim Meusel <[email protected]> | ||
# | ||
function peadm::get_node_group_environment(Peadm::SingleTargetSpec $primary) { | ||
$peconf = peadm::get_pe_conf(get_target($primary)) | ||
# if both are set, they need to be set to the same value | ||
# if they are not set, we assume that the user runs their infra in production | ||
$pe_install = $peconf['pe_install::install::classification::pe_node_group_environment'] | ||
$puppet_enterprise = $peconf['puppet_enterprise::master::recover_configuration::pe_environment'] | ||
|
||
# check if both are equal | ||
# This also evaluates to true if both are undef | ||
if $pe_install == $puppet_enterprise { | ||
# check if the option isn't undef | ||
# ToDo: A proper regex for allowed characters in an environment would be nice | ||
# https://github.com/puppetlabs/puppet-docs/issues/1158 | ||
if $pe_install =~ String[1] { | ||
return $pe_install | ||
} else { | ||
return 'production' | ||
} | ||
} else { | ||
fail("pe_install::install::classification::pe_node_group_environment and puppet_enterprise::master::recover_configuration::pe_environment need to be set to the same value, not '${pe_install}' and '${puppet_enterprise}'") | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,7 +9,8 @@ | |
# @param replica_host - The hostname and certname of the replica VM | ||
# @param replica_postgresql_host - The hostname and certname of the host with the replica PE-PosgreSQL database. | ||
# @param token_file - (optional) the token file in a different location than the default. | ||
# | ||
# @param node_group_environment environment for the PEADM specific node groups, if not set it will be gathered from pe.conf or production | ||
# | ||
# Can be a separate host in an XL architecture, or undef in Standard or Large. | ||
plan peadm::add_replica( | ||
# Standard or Large | ||
|
@@ -21,6 +22,7 @@ | |
|
||
# Common Configuration | ||
Optional[String] $token_file = undef, | ||
String[1] $node_group_environment = peadm::get_node_group_environment($primary_host), | ||
) { | ||
$primary_target = peadm::get_targets($primary_host, 1) | ||
$replica_target = peadm::get_targets($replica_host, 1) | ||
|
@@ -94,7 +96,8 @@ | |
server_b_host => $replica_avail_group_letter ? { 'B' => $replica_host, default => undef }, | ||
internal_compiler_a_pool_address => $replica_avail_group_letter ? { 'A' => $replica_host, default => undef }, | ||
internal_compiler_b_pool_address => $replica_avail_group_letter ? { 'B' => $replica_host, default => undef }, | ||
peadm_config => $peadm_config | ||
peadm_config => $peadm_config, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that puppet-lint doesn't detect the missing comma is a bug: https://github.com/puppetlabs/puppet-lint/issues/215 |
||
node_group_environment => $node_group_environment, | ||
) | ||
|
||
# Source list of files on Primary and synchronize to new Replica | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
We could also return undef and then fallback to the default in the node_manager module: https://github.com/puppetlabs/puppetlabs-node_manager/blob/519bc30e0c68b11c86168868778afc37199fafc1/lib/puppet/type/node_group.rb#L124