Brief Description
-----------------
During upgrade-activate, upgrade manifest execution on Debian fails.
Severity
--------
Major
Steps to Reproduce
------------------
Start CentOS to Debian AIO-DX upgrade
Upgrade and unlock controller-1
Swact
Upgrade and unlock controller-0
Run upgrade-activate
Expected Behavior
------------------
upgrade-activate should succeed.
Actual Behavior
----------------
upgrade-activate fails.
Reproducibility
---------------
Reproducible
System Configuration
--------------------
AIO-SX
Timestamp/Logs
--------------
2022-08-15T08:03:32.767 Error: 2022-08-15 08:03:30 +0000 Could not find command '/usr/local/sbin/update-k8s-feature-gates.sh'
2022-08-15T08:03:32.770 /usr/lib/ruby/vendor_ruby/puppet/provider/exec/posix.rb:21:in `checkexe'
2022-08-15T08:03:32.772 /usr/lib/ruby/vendor_ruby/puppet/provider/exec.rb:39:in `run'
2022-08-15T08:03:32.775 /usr/lib/ruby/vendor_ruby/puppet/provider/exec/posix.rb:45:in `run'
2022-08-15T08:03:32.777 /usr/lib/ruby/vendor_ruby/puppet/type/exec.rb:130:in `block in sync'
2022-08-15T08:03:32.779 /usr/lib/ruby/vendor_ruby/puppet/type/exec.rb:127:in `times'
2022-08-15T08:03:32.783 /usr/lib/ruby/vendor_ruby/puppet/type/exec.rb:127:in `sync'
2022-08-15T08:03:32.786 /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:239:in `sync'
2022-08-15T08:03:32.788 /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:134:in `sync_if_needed'
2022-08-15T08:03:32.790 /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:88:in `block in perform_changes'
2022-08-15T08:03:32.793 /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:87:in `each'
2022-08-15T08:03:32.796 /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:87:in `perform_changes'
2022-08-15T08:03:32.798 /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluate'
2022-08-15T08:03:32.801 /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:259:in `apply'
2022-08-15T08:03:32.805 /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:279:in `eval_resource'
2022-08-15T08:03:32.808 /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `call'
2022-08-15T08:03:32.810 /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `block (2 levels) in evaluate'
2022-08-15T08:03:32.813 /usr/lib/ruby/vendor_ruby/puppet/util.rb:539:in `block in thinmark'
2022-08-15T08:03:32.815 /usr/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'
2022-08-15T08:03:32.818 /usr/lib/ruby/vendor_ruby/puppet/util.rb:538:in `thinmark'
2022-08-15T08:03:32.820 /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:183:in `block in evaluate'
2022-08-15T08:03:32.823 /usr/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:121:in `traverse'
2022-08-15T08:03:32.825 /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:173:in `evaluate'
2022-08-15T08:03:32.827 /usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:239:in `block (2 levels) in apply'
2022-08-15T08:03:32.830 /usr/lib/ruby/vendor_ruby/puppet/util.rb:539:in `block in thinmark'
2022-08-15T08:03:32.832 /usr/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'
2022-08-15T08:03:32.835 /usr/lib/ruby/vendor_ruby/puppet/util.rb:538:in `thinmark'
2022-08-15T08:03:32.837 /usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:238:in `block in apply'
2022-08-15T08:03:32.840 /usr/lib/ruby/vendor_ruby/puppet/util/log.rb:161:in `with_destination'
2022-08-15T08:03:32.842 /usr/lib/ruby/vendor_ruby/puppet/transaction/report.rb:146:in `as_logging_destination'
2022-08-15T08:03:32.845 /usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:237:in `apply'
2022-08-15T08:03:32.847 /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:190:in `block (2 levels) in apply_catalog'
2022-08-15T08:03:32.850 /usr/lib/ruby/vendor_ruby/puppet/util.rb:539:in `block in thinmark'
2022-08-15T08:03:32.852 /usr/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'
2022-08-15T08:03:32.855 /usr/lib/ruby/vendor_ruby/puppet/util.rb:538:in `thinmark'
2022-08-15T08:03:32.857 /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:189:in `block in apply_catalog'
2022-08-15T08:03:32.860 /usr/lib/ruby/vendor_ruby/puppet/util.rb:232:in `block in benchmark'
2022-08-15T08:03:32.862 /usr/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'
2022-08-15T08:03:32.865 /usr/lib/ruby/vendor_ruby/puppet/util.rb:231:in `benchmark'
2022-08-15T08:03:32.867 /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:188:in `apply_catalog'
2022-08-15T08:03:32.870 /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:390:in `run_internal'
2022-08-15T08:03:32.873 /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:238:in `block in run'
2022-08-15T08:03:32.875 /usr/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
2022-08-15T08:03:32.878 /usr/lib/ruby/vendor_ruby/puppet.rb:263:in `override'
2022-08-15T08:03:32.880 /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:215:in `run'
2022-08-15T08:03:32.883 /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:355:in `apply_catalog'
2022-08-15T08:03:32.887 /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:280:in `block (2 levels) in main'
2022-08-15T08:03:32.890 /usr/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
2022-08-15T08:03:32.893 /usr/lib/ruby/vendor_ruby/puppet.rb:263:in `override'
2022-08-15T08:03:32.896 /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:280:in `block in main'
2022-08-15T08:03:32.898 /usr/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
2022-08-15T08:03:32.900 /usr/lib/ruby/vendor_ruby/puppet.rb:263:in `override'
2022-08-15T08:03:32.903 /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:233:in `main'
2022-08-15T08:03:32.905 /usr/lib/ruby/vendor_ruby/puppet/application/apply.rb:174:in `run_command'
2022-08-15T08:03:32.907 /usr/lib/ruby/vendor_ruby/puppet/application.rb:375:in `block in run'
2022-08-15T08:03:32.910 /usr/lib/ruby/vendor_ruby/puppet/util.rb:710:in `exit_on_fail'
2022-08-15T08:03:32.913 /usr/lib/ruby/vendor_ruby/puppet/application.rb:375:in `run'
2022-08-15T08:03:32.915 /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:139:in `run'
2022-08-15T08:03:32.918 /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'
2022-08-15T08:03:32.921 /usr/bin/puppet:11:in `<main>'
2022-08-15T08:03:32.923 Error: 2022-08-15 08:03:30 +0000 /Stage[main]/Platform::Kubernetes::Master::Update_kubeadm_feature_gates/Exec[update kubeadm feature-gates]/returns: change from 'notrun' to ['0'] failed: Could not find command '/usr/local/sbin/update-k8s-feature-gates.sh'
Test Activity
Workaround
----------
This script was created on https://review.opendev.org/c/starlingx/integ/+/845654 and by the comments on it this is a known issue, the script must now be created on Debian to support upgrades. Working around this by creating the script manually on both controllers allowed the manifest to complete successfully.
Fix proposed to branch: master /review. opendev. org/c/starlingx /stx-puppet/ +/859338
Review: https:/