code: func DryRunStaticPodUpgrade(internalcfg *kubeadmapi.InitConfiguration) error {
  
  	dryRunManifestDir, err := constants.CreateTempDirForKubeadm("kubeadm-upgrade-dryrun")
  	if err != nil {
  		return err
  	}
  	defer os.RemoveAll(dryRunManifestDir)
  
  	if err := controlplane.CreateInitStaticPodManifestFiles(dryRunManifestDir, internalcfg); err != nil {
  		return err
  	}
  
  	// Print the contents of the upgraded manifests and pretend like they were in /etc/kubernetes/manifests
  	files := []dryrunutil.FileToPrint{}
  	for _, component := range constants.ControlPlaneComponents {
  		realPath := constants.GetStaticPodFilepath(component, dryRunManifestDir)
  		outputPath := constants.GetStaticPodFilepath(component, constants.GetStaticPodDirectory())
  		files = append(files, dryrunutil.NewFileToPrint(realPath, outputPath))
  	}
  
  	return dryrunutil.PrintDryRunFiles(files, os.Stdout)
  }
docs: // DryRunStaticPodUpgrade fakes an upgrade of the control plane