octocatalog-diff 's output seems to tell it will do the right thing
```
bin/octocatalog-diff --octocatalog-diff-args --no-truncate-details --to staging pergamonFound host pergamon.softwareheritage.org
Cloning into '/tmp/swh-ocd.OFfFN7DX/environments/production/data/private'...
done.
Cloning into '/tmp/swh-ocd.OFfFN7DX/environments/staging/data/private'...
done.
*** Running octocatalog-diff on host pergamon.softwareheritage.org
I, [2020-01-21T17:49:57.078331 #20036] INFO -- : Catalogs compiled for pergamon.softwareheritage.org
W, [2020-01-21T17:50:02.774171 #20036] WARN -- : Resource File[/tmp/ocd-ipc-20200121-20036-z80xwk/ocd-builddir-20200121-20041-a1tvwz/routes.yaml] appears to depend on catalog compilation directory. Suppressed from results.
W, [2020-01-21T17:50:02.774705 #20036] WARN -- : Resource File[/tmp/ocd-ipc-20200121-20036-z80xwk/ocd-builddir-20200121-20038-7v68j4/routes.yaml] appears to depend on catalog compilation directory. Suppressed from results.
W, [2020-01-21T17:50:02.774941 #20036] WARN -- : Resource key Ini_setting[puppetdbserver_urls] parameters => path may depend on catalog compilation directory, but there may be differences. This is included in results for now, but please verify.
W, [2020-01-21T17:50:02.774958 #20036] WARN -- : Resource key Ini_setting[puppetdbserver_urls] parameters => path appears to depend on catalog compilation directory. Suppressed from results.
W, [2020-01-21T17:50:02.774995 #20036] WARN -- : Resource key Ini_setting[soft_write_failure] parameters => path may depend on catalog compilation directory, but there may be differences. This is included in results for now, but please verify.
W, [2020-01-21T17:50:02.775008 #20036] WARN -- : Resource key Ini_setting[soft_write_failure] parameters => path appears to depend on catalog compilation directory. Suppressed from results.
I, [2020-01-21T17:50:02.775792 #20036] INFO -- : Diffs computed for pergamon.softwareheritage.org
diff origin/production/pergamon.softwareheritage.org current/pergamon.softwareheritage.org
*******************************************
+ Concat::Fragment[icinga2::object::CheckCommand::check-deposit-cmd] =>
parameters =>
"order": 15
"target": "/etc/icinga2/conf.d/e2e-checks.conf"
"content": >>>
object CheckCommand "check-deposit-cmd" {
import "plugin-check-command"
command = [ "/usr/bin/swh", "icinga_plugins", "check-deposit", "--server", "https://deposit.softwareheritage.org/1", "--user", "swh", "--password", "swh::deploy::deposit::e2e::password", "--collection", "swh", "--poll-interval", 1, "single", "--archive", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz", "--metadata", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz.xml", ]
}
<<<
*******************************************
- Concat::Fragment[icinga2::object::CheckCommand::check_deposit]
*******************************************
+ Concat::Fragment[icinga2::object::Service::check-deposit] =>
parameters =>
"order": 60
"target": "/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf"
"content": >>>
apply Service "check-deposit" {
import "generic-service-check-e2e"
check_command = "check-deposit-cmd"
}
<<<
*******************************************
+ Concat::Fragment[icinga2::object::Service::generic-service-check-e2e] =>
parameters =>
"order": 60
"target": "/etc/icinga2/conf.d/templates.conf"
"content": >>>
template Service "generic-service-check-e2e" {
check_interval = 24h
retry_interval = 30s
max_check_attempts = 5
}
<<<
*******************************************
+ Concat[/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf] =>
parameters =>
"backup": "puppet"
"ensure": "present"
"ensure_newline": false
"force": false
"format": "plain"
"group": "nagios"
"mode": "0640"
"notify": ["Class[Icinga2::Service]"]
"order": "alpha"
"owner": "root"
"path": "/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf"
"replace": true
"show_diff": true
"tag": "icinga2::config::file"
"warn": true
*******************************************
+ Concat_file[/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf] =>
parameters =>
"backup": "puppet"
"ensure_newline": false
"force": false
"format": "plain"
"group": "nagios"
"mode": "0640"
"order": "alpha"
"owner": "root"
"replace": true
"show_diff": true
"tag": "_etc_icinga2_zones.d_master_pergamon.softwareheritage.org.conf"
*******************************************
+ Concat_fragment[/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf_header] =>
parameters =>
"order": "0"
"tag": "_etc_icinga2_zones.d_master_pergamon.softwareheritage.org.conf"
"target": "/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf"
"content": >>>
# This file is managed by Puppet. DO NOT EDIT.
<<<
*******************************************
+ Concat_fragment[icinga2::object::CheckCommand::check-deposit-cmd] =>
parameters =>
"order": 15
"tag": "_etc_icinga2_conf.d_e2e-checks.conf"
"target": "/etc/icinga2/conf.d/e2e-checks.conf"
"content": >>>
object CheckCommand "check-deposit-cmd" {
import "plugin-check-command"
command = [ "/usr/bin/swh", "icinga_plugins", "check-deposit", "--server", "https://deposit.softwareheritage.org/1", "--user", "swh", "--password", "swh::deploy::deposit::e2e::password", "--collection", "swh", "--poll-interval", 1, "single", "--archive", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz", "--metadata", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz.xml", ]
}
<<<
*******************************************
- Concat_fragment[icinga2::object::CheckCommand::check_deposit]
*******************************************
+ Concat_fragment[icinga2::object::Service::check-deposit] =>
parameters =>
"order": 60
"tag": "_etc_icinga2_zones.d_master_pergamon.softwareheritage.org.conf"
"target": "/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf"
"content": >>>
apply Service "check-deposit" {
import "generic-service-check-e2e"
check_command = "check-deposit-cmd"
}
<<<
*******************************************
+ Concat_fragment[icinga2::object::Service::generic-service-check-e2e] =>
parameters =>
"order": 60
"tag": "_etc_icinga2_conf.d_templates.conf"
"target": "/etc/icinga2/conf.d/templates.conf"
"content": >>>
template Service "generic-service-check-e2e" {
check_interval = 24h
retry_interval = 30s
max_check_attempts = 5
}
<<<
*******************************************
File[/etc/bind/keys/local-update] =>
parameters =>
content =>
@@ -2,4 +2,4 @@
key local-update {
algorithm hmac-sha256;
- secret "OxeqlO+BiIYufLBjo/x+71w6CU+9vzQhP4JZqHqbhyZQsgiGfym2LmzrHDXnAaAa4IVjDh46VMlm5encs20IQg==";
+ secret "lJIk47yS67aGEmEROeDYdcO0hAC6NSEuzmfNOPIRc4M1pTQpkVy4qAnOgeUolFWFiSr6dKg2Fu9UNgadWO7o+Q==";
};
*******************************************
File[/etc/bind/rndc.key] =>
parameters =>
content =>
@@ -2,4 +2,4 @@
key rndc-key {
algorithm hmac-md5;
- secret "mcJrFJDHhrqoTP9Fmf1nFx0Z185s+KVsEZWRLfTaF1UrQU7KYJF++vC06UtWzq4w4SRBQBkyRR9oriS+FqDPqg==";
+ secret "QQX6ozgL5De34yTQdlwLU9qaeg3i8Bc2VDsQcUv3TecMVop7EGGX7gB3yAS/MLIQL/RBYN0dc+/mmZREkb/tWw==";
};
*******************************************
+ Icinga2::Object::Checkcommand[check-deposit-cmd] =>
parameters =>
"checkcommand_name": "check-deposit-cmd"
"command": ["/usr/bin/swh", "icinga_plugins", "check-deposit", "--server", "https://deposit.softwareheritage.org/1", "--user", "swh", "--password", "swh::deploy::deposit::e2e::password", "--collection", "swh", "--poll-interval", "1", "single", "--archive", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz", "--metadata", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz.xml"]
"ensure": "present"
"import": ["plugin-check-command"]
"order": 15
"target": "/etc/icinga2/conf.d/e2e-checks.conf"
"template": false
*******************************************
- Icinga2::Object::Checkcommand[check_deposit]
*******************************************
+ Icinga2::Object::Service[check-deposit] =>
parameters =>
"apply": true
"assign": []
"check_command": "check-deposit-cmd"
"ensure": "present"
"ignore": []
"import": ["generic-service-check-e2e"]
"order": 60
"prefix": false
"service_name": "check-deposit"
"target": "/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf"
"template": false
*******************************************
+ Icinga2::Object::Service[generic-service-check-e2e] =>
parameters =>
"apply": false
"assign": []
"check_interval": "24h"
"ensure": "present"
"ignore": []
"import": []
"max_check_attempts": 5
"order": 60
"prefix": false
"retry_interval": "30s"
"service_name": "generic-service-check-e2e"
"target": "/etc/icinga2/conf.d/templates.conf"
"template": true
*******************************************
+ Icinga2::Object[icinga2::object::CheckCommand::check-deposit-cmd] =>
parameters =>
"apply": false
"assign": []
"attrs": {"command"=>["/usr/bin/swh", "icinga_plugins", "check-deposit", "--server", "https://deposit.softwareheritage.org/1", "--user", "swh", "--password", "swh::deploy::deposit::e2e::password", "--collection", "swh", "--poll-interval", "1", "single", "--archive", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz", "--metadata", "/usr/share/swh/icinga-plugins/data/deposit/je-suis-gpl.tgz.xml"]}
"attrs_list": ["command", "env", "timeout", "arguments", "vars", "Acknowledgement", "ApiBindHost", "ApiBindPort", "ApiEnvironment", "ApplicationType", "AttachDebugger", "BuildCompilerName", "BuildCompilerVersion", "BuildHostName", "Concurrency", "Critical", "Custom", "Deprecated", "Down", "DowntimeEnd", "DowntimeRemoved", "DowntimeStart", "Environment", "FlappingEnd", "FlappingStart", "HostDown", "HostUp", "IncludeConfDir", "Internal", "Json", "LocalStateDir", "LogCritical", "LogDebug", "LogInformation", "LogNotice", "LogWarning", "Math", "MaxConcurrentChecks", "ModAttrPath", "NodeName", "OK", "ObjectsPath", "PidPath", "PkgDataDir", "PlatformArchitecture", "PlatformKernel", "PlatformKernelVersion", "PlatformName", "PlatformVersion", "PrefixDir", "Problem", "Recovery", "RunAsGroup", "RunAsUser", "RunDir", "ServiceCritical", "ServiceOK", "ServiceUnknown", "ServiceWarning", "StatePath", "SysconfDir", "System", "Types", "Unknown", "Up", "UseVfork", "VarsPath", "Warning", "ZonesDir", "NodeName", "ZoneName", "TicketSalt", "PluginDir", "PluginContribDir", "ManubulonPluginDir", "name", "NodeName", "ZoneName", "TicketSalt", "PluginDir", "PluginContribDir", "ManubulonPluginDir", "name"]
"ensure": "present"
"ignore": []
"import": ["plugin-check-command"]
"object_name": "check-deposit-cmd"
"object_type": "CheckCommand"
"order": 15
"prefix": false
"target": "/etc/icinga2/conf.d/e2e-checks.conf"
"template": false
*******************************************
- Icinga2::Object[icinga2::object::CheckCommand::check_deposit]
*******************************************
+ Icinga2::Object[icinga2::object::Service::check-deposit] =>
parameters =>
"apply": true
"assign": []
"attrs": {"check_command"=>"check-deposit-cmd"}
"attrs_list": ["display_name", "host_name", "check_command", "check_timeout", "check_interval", "check_period", "retry_interval", "max_check_attempts", "groups", "enable_notifications", "enable_active_checks", "enable_passive_checks", "enable_event_handler", "enable_flapping", "enable_perfdata", "event_command", "flapping_threshold_low", "flapping_threshold_high", "volatile", "zone", "command_endpoint", "notes", "notes_url", "action_url", "icon_image", "icon_image_alt", "vars", "Acknowledgement", "ApiBindHost", "ApiBindPort", "ApiEnvironment", "ApplicationType", "AttachDebugger", "BuildCompilerName", "BuildCompilerVersion", "BuildHostName", "Concurrency", "Critical", "Custom", "Deprecated", "Down", "DowntimeEnd", "DowntimeRemoved", "DowntimeStart", "Environment", "FlappingEnd", "FlappingStart", "HostDown", "HostUp", "IncludeConfDir", "Internal", "Json", "LocalStateDir", "LogCritical", "LogDebug", "LogInformation", "LogNotice", "LogWarning", "Math", "MaxConcurrentChecks", "ModAttrPath", "NodeName", "OK", "ObjectsPath", "PidPath", "PkgDataDir", "PlatformArchitecture", "PlatformKernel", "PlatformKernelVersion", "PlatformName", "PlatformVersion", "PrefixDir", "Problem", "Recovery", "RunAsGroup", "RunAsUser", "RunDir", "ServiceCritical", "ServiceOK", "ServiceUnknown", "ServiceWarning", "StatePath", "SysconfDir", "System", "Types", "Unknown", "Up", "UseVfork", "VarsPath", "Warning", "ZonesDir", "NodeName", "ZoneName", "TicketSalt", "PluginDir", "PluginContribDir", "ManubulonPluginDir", "name", "NodeName", "ZoneName", "TicketSalt", "PluginDir", "PluginContribDir", "ManubulonPluginDir", "name"]
"ensure": "present"
"ignore": []
"import": ["generic-service-check-e2e"]
"object_name": "check-deposit"
"object_type": "Service"
"order": 60
"prefix": false
"target": "/etc/icinga2/zones.d/master/pergamon.softwareheritage.org.conf"
"template": false
*******************************************
+ Icinga2::Object[icinga2::object::Service::generic-service-check-e2e] =>
parameters =>
"apply": false
"assign": []
"attrs": {"check_interval"=>"24h", "retry_interval"=>"30s", "max_check_attempts"=>5}
"attrs_list": ["display_name", "host_name", "check_command", "check_timeout", "check_interval", "check_period", "retry_interval", "max_check_attempts", "groups", "enable_notifications", "enable_active_checks", "enable_passive_checks", "enable_event_handler", "enable_flapping", "enable_perfdata", "event_command", "flapping_threshold_low", "flapping_threshold_high", "volatile", "zone", "command_endpoint", "notes", "notes_url", "action_url", "icon_image", "icon_image_alt", "vars", "Acknowledgement", "ApiBindHost", "ApiBindPort", "ApiEnvironment", "ApplicationType", "AttachDebugger", "BuildCompilerName", "BuildCompilerVersion", "BuildHostName", "Concurrency", "Critical", "Custom", "Deprecated", "Down", "DowntimeEnd", "DowntimeRemoved", "DowntimeStart", "Environment", "FlappingEnd", "FlappingStart", "HostDown", "HostUp", "IncludeConfDir", "Internal", "Json", "LocalStateDir", "LogCritical", "LogDebug", "LogInformation", "LogNotice", "LogWarning", "Math", "MaxConcurrentChecks", "ModAttrPath", "NodeName", "OK", "ObjectsPath", "PidPath", "PkgDataDir", "PlatformArchitecture", "PlatformKernel", "PlatformKernelVersion", "PlatformName", "PlatformVersion", "PrefixDir", "Problem", "Recovery", "RunAsGroup", "RunAsUser", "RunDir", "ServiceCritical", "ServiceOK", "ServiceUnknown", "ServiceWarning", "StatePath", "SysconfDir", "System", "Types", "Unknown", "Up", "UseVfork", "VarsPath", "Warning", "ZonesDir", "NodeName", "ZoneName", "TicketSalt", "PluginDir", "PluginContribDir", "ManubulonPluginDir", "name", "NodeName", "ZoneName", "TicketSalt", "PluginDir", "PluginContribDir", "ManubulonPluginDir", "name"]
"ensure": "present"
"ignore": []
"import": []
"object_name": "generic-service-check-e2e"
"object_type": "Service"
"order": 60
"prefix": false
"target": "/etc/icinga2/conf.d/templates.conf"
"template": true
*******************************************
*** End octocatalog-diff on pergamon.softwareheritage.org
```