Fast forward upgrade from OSP 10 to OSP 13 fails with "Duplicate declaration: (...) is already declared in file (...)" in Red Hat OpenStack Platform

Solution In Progress - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content