code: func PerformStaticPodUpgrade(client clientset.Interface, waiter apiclient.Waiter, internalcfg *kubeadmapi.InitConfiguration, etcdUpgrade, renewCerts bool) error {
  	pathManager, err := GetPathManagerForUpgrade(internalcfg, etcdUpgrade)
  	if err != nil {
  		return err
  	}
  
  	// The arguments oldEtcdClient and newEtdClient, are uninitialized because passing in the clients allow for mocking the client during testing
  	return upgrade.StaticPodControlPlane(client, waiter, pathManager, internalcfg, etcdUpgrade, renewCerts, nil, nil)
  }
docs: // PerformStaticPodUpgrade performs the upgrade of the control plane components for a static pod hosted cluster