mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 18:28:13 +00:00 
			
		
		
		
	Merge pull request #43681 from ethernetdan/proto-upgrade-prompt
Automatic merge from submit-queue added prompt warning if etcd3 media type isn't set during upgrade **What this PR does / why we need it**: This adds a prompt confirming the upgrade when `STORAGE_MEDIA_TYPE` is not explicitly set. This is to prevent users from accidentally upgrading to protobuf. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: Alongs with docs, addresses #43669 **Special notes for your reviewer**: Should be cherrypicked onto `release-1.6` **Release note**: ```release-note NONE ```
This commit is contained in:
		| @@ -454,6 +454,32 @@ if [[ "${master_upgrade}" == "false" ]] && [[ "${node_upgrade}" == "false" ]]; t | |||||||
|   exit 1 |   exit 1 | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | # prompt if etcd storage media type isn't set unless using etcd2 when doing master upgrade | ||||||
|  | if [[ -z "${STORAGE_MEDIA_TYPE:-}" ]] && [[ "${STORAGE_BACKEND:-}" != "etcd2" ]] && [[ "${master_upgrade}" == "true" ]]; then | ||||||
|  |   echo "The default etcd storage media type in 1.6 has changed from application/json to application/vnd.kubernetes.protobuf." | ||||||
|  |   echo "Documentation about the change can be found at https://kubernetes.io/docs/admin/etcd_upgrade." | ||||||
|  |   echo "" | ||||||
|  |   echo "ETCD2 DOES NOT SUPPORT PROTOBUF: If you wish to have to ability to downgrade to etcd2 later application/json must be used." | ||||||
|  |   echo "" | ||||||
|  |   echo "It's HIGHLY recommended that etcd be backed up before this step!!" | ||||||
|  |   echo "" | ||||||
|  |   echo "To enable using json, before running this script set:" | ||||||
|  |   echo "export STORAGE_MEDIA_TYPE=application/json" | ||||||
|  |   echo "" | ||||||
|  |   if [ -t 0 ] && [ -t 1 ]; then | ||||||
|  |     read -p "Would you like to continue with the new default, and lose the ability to downgrade to etcd2? [y/N] " confirm | ||||||
|  |     if [[ "${confirm}" != "y" ]]; then | ||||||
|  |       exit 1 | ||||||
|  |     fi | ||||||
|  |   else | ||||||
|  |     echo "To enable using protobuf, before running this script set:" | ||||||
|  |     echo "export STORAGE_MEDIA_TYPE=application/vnd.kubernetes.protobuf" | ||||||
|  |     echo "" | ||||||
|  |     echo "STORAGE_MEDIA_TYPE must be specified when run non-interactively." >&2 | ||||||
|  |     exit 1 | ||||||
|  |   fi | ||||||
|  | fi | ||||||
|  |  | ||||||
| print-node-version-info "Pre-Upgrade" | print-node-version-info "Pre-Upgrade" | ||||||
|  |  | ||||||
| if [[ "${local_binaries}" == "false" ]]; then | if [[ "${local_binaries}" == "false" ]]; then | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Submit Queue
					Kubernetes Submit Queue