Fast forward upgrade from OSP 10 to OSP 13 fails with "Duplicate declaration: (...) is already declared in file (...)" in Red Hat OpenStack Platform
Issue
Fast forward upgrade from OSP 10 to OSP 13 fails with Duplicate declaration: (...) is already declared in file (...)
in Red Hat OpenStack Platform.
For example, in a specific deployment, one might see this in the output of openstack overcloud upgrade run --nodes Controller --skip-tags validation
:
(...)
"2019-05-14 23:10:10,720 ERROR: 69217 -- Failed running docker-puppet.py for ceilometer",
"2019-05-14 23:10:10,720 ERROR: 69217 -- Notice: hiera(): Cannot load backend module_data: cannot load such file -- hiera/backend/module_data_backend",
"2019-05-14 23:10:10,720 ERROR: 69217 -- + mkdir -p /etc/puppet",
"+ '[' -n file,file_line,concat,augeas,cron,ceilometer_config,ceilometer_config ']'",
"+ TAGS='--tags file,file_line,concat,augeas,cron,ceilometer_config,ceilometer_config'",
"+ origin_of_time=/var/lib/config-data/ceilometer.origin_of_time",
"+ touch /var/lib/config-data/ceilometer.origin_of_time",
"+ /usr/bin/puppet apply --summarize --detailed-exitcodes --color=false --logdest syslog --logdest console --modulepath=/etc/puppet/modules:/usr/share/openstack-puppet/modules --tags file,file_line,concat,augeas,cron,ceilometer_config,ceilometer_config /etc/config.pp",
"Warning: ModuleLoader: module 'ceilometer' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules",
" with Stdlib::Compat::String. There is further documentation for validate_legacy function in the README. at [\"/etc/puppet/modules/ceilometer/manifests/init.pp\", 346]:[\"/etc/puppet/modules/tripleo/manifests/profile/base/ceilometer/agent/polling.pp\", 57]",
"Warning: Scope(Class[Ceilometer]): ceilometer::rabbit_host, ceilometer::rabbit_hosts, ceilometer::rabbit_password, ceilometer::rabbit_port, ceilometer::rabbit_userid, ceilometer::rabbit_virtual_host and ceilometer::rpc_backend are deprecated. Please use ceilometer::default_transport_url instead.",
" with Stdlib::Compat::Array. There is further documentation for validate_legacy function in the README. at [\"/etc/puppet/modules/ceilometer/manifests/agent/notification.pp\", 129]:[\"/etc/puppet/modules/tripleo/manifests/profile/base/ceilometer/agent/polling.pp\", 57]",
" with Stdlib::Compat::Hash. There is further documentation for validate_legacy function in the README. at [\"/etc/puppet/modules/ceilometer/manifests/config.pp\", 35]:[\"/etc/puppet/modules/tripleo/manifests/profile/base/ceilometer.pp\", 148]",
"Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Duplicate declaration: Ceilometer_config[oslo_messaging_rabbit/rabbit_qos_prefetch_count] is already declared in file /etc/puppet/modules/ceilometer/manifests/config.pp:38; cannot redeclare at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242 at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242:3 at /etc/puppet/modules/ceilometer/manifests/init.pp:409 on node overcloud-controller-1.localdomain",
"2019-05-14 23:10:10,720 INFO: 69217 -- Finished processing puppet configs for ceilometer",
(...)
grep -i 'is already declared' ffwd-upgrade-run-Controller-output-1.txt
(...)
"Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Duplicate declaration: Ceilometer_config[oslo_messaging_rabbit/rabbit_qos_prefetch_count] is already declared in file /etc/puppet/modules/ceilometer/manifests/config.pp:38; cannot redeclare at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242 at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242:3 at /etc/puppet/modules/ceilometer/manifests/init.pp:409 on node overcloud-controller-2.localdomain",
"Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Duplicate declaration: Ceilometer_config[oslo_messaging_rabbit/rabbit_qos_prefetch_count] is already declared in file /etc/puppet/modules/ceilometer/manifests/config.pp:38; cannot redeclare at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242 at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242:3 at /etc/puppet/modules/ceilometer/manifests/init.pp:409 on node overcloud-controller-0.localdomain",
"Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, Duplicate declaration: Ceilometer_config[oslo_messaging_rabbit/rabbit_qos_prefetch_count] is already declared in file /etc/puppet/modules/ceilometer/manifests/config.pp:38; cannot redeclare at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242 at /etc/puppet/modules/oslo/manifests/messaging/rabbit.pp:242:3 at /etc/puppet/modules/ceilometer/manifests/init.pp:409 on node overcloud-controller-1.localdomain",
Environment
Red Hat OpenStack Platform 10
Red Hat OpenStack Platform 13
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.