code: func (e *CombinedEtcdClient) Migrate(version *EtcdVersion) error {
  	// We cannot use etcd/clientv3 to make this call as it is implemented in etcd/etcdctl.
  	if version.Major != 3 {
  		return fmt.Errorf("etcd 3.x required but got version '%s'", version)
  	}
  	return e.runEtcdctlCommand(version,
  		"migrate",
  		"--data-dir", e.cfg.dataDirectory,
  	)
  }
docs: // Migrate upgrades a 'etcd2' storage version data directory to a 'etcd3' storage version
  // data directory.