Problem:
We experienced the problem that Host updates via Hammer cli delete assigned puppet classes possibly caused by it sending an empty array for puppetclass_ids
. I already filed the bug Bug #28899: Host update deletes assigned puppet classes - Hammer CLI - Foreman for it and marked it as high because it possible side effects.
Expected outcome:
Hammer cli allows to update hosts without side effects.
Foreman and Proxy versions:
1.24.2
Foreman and Proxy plugin versions:
hammer-cli-foreman 0.19.7
Distribution and version:
Other relevant data:
[ INFO 2020-01-30T12:23:20 HammerCLI::MainCommand] Called with options: {"option_debug"=>true}
[DEBUG 2020-01-30T12:23:20 HammerCLIForeman::CommandExtensions::OptionSources] Called block for HammerCLIForeman::Command option sources:
#<Proc:0x00007f8bb2ad2740@/Users/d0294040/.rvm/gems/ruby-2.6.3/gems/hammer_cli_foreman-0.19.7/lib/hammer_cli_foreman/command_extensions/option_sources.rb:6>
[ INFO 2020-01-30T12:23:20 HammerCLIForeman::Host] Called with options: {}
[DEBUG 2020-01-30T12:23:20 HammerCLIForeman::CommandExtensions::OptionSources] Called block for HammerCLIForeman::Command option sources:
#<Proc:0x00007f8bb2ad2740@/Users/d0294040/.rvm/gems/ruby-2.6.3/gems/hammer_cli_foreman-0.19.7/lib/hammer_cli_foreman/command_extensions/option_sources.rb:6>
[DEBUG 2020-01-30T12:23:20 HammerCLIForeman::CommandExtensions::PuppetEnvironment] Called block for HammerCLIForeman::Hostgroup::UpdateCommand option sources:
#<Proc:0x00007f8bb2ac2ed0@/Users/d0294040/.rvm/gems/ruby-2.6.3/gems/hammer_cli_foreman-0.19.7/lib/hammer_cli_foreman/command_extensions/puppet_environment.rb:13>
[ INFO 2020-01-30T12:23:20 HammerCLIForeman::Host::UpdateCommand] Called with options: {"option_puppetclass_ids"=>[], "option_volume_list"=>[], "option_interface_list"=>[], "option_id"=>"30759", "option_comment"=>"test komment"}
[ INFO 2020-01-30T12:23:20 API] Server: https://foreman.dm-drogeriemarkt.com/
[ INFO 2020-01-30T12:23:20 API] PUT /api/hosts/30759
[DEBUG 2020-01-30T12:23:20 API] Params: {
"host" => {
"puppetclass_ids" => [],
"comment" => "test komment",
"compute_attributes" => {},
"content_facet_attributes" => {},
"subscription_facet_attributes" => {}
}
}
CC @laugmanuel