cks: Get caller user keys if cluster belongs to project (#6392)

* cks: Get caller user keys if cluster belongs to project

* Refactor
This commit is contained in:
David Jumani 2022-05-18 19:10:13 +05:30 committed by GitHub
parent 9b754ef08b
commit 5fdd4d211d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 8 deletions

View File

@ -1137,8 +1137,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne
startWorker = ComponentContext.inject(startWorker);
if (onCreate) {
// Start for Kubernetes cluster in 'Created' state
Account owner = accountService.getActiveAccountById(kubernetesCluster.getAccountId());
String[] keys = getServiceUserKeys(owner);
String[] keys = getServiceUserKeys(kubernetesCluster);
startWorker.setKeys(keys);
return startWorker.startKubernetesClusterOnCreate();
} else {
@ -1147,8 +1146,9 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne
}
}
private String[] getServiceUserKeys(Account owner) {
if (owner == null) {
private String[] getServiceUserKeys(KubernetesClusterVO kubernetesCluster) {
Account owner = accountService.getActiveAccountById(kubernetesCluster.getAccountId());
if (owner == null || owner.getType() == Account.Type.PROJECT) {
owner = CallContext.current().getCallingAccount();
}
String username = owner.getAccountName() + "-" + KUBEADMIN_ACCOUNT_NAME;
@ -1299,8 +1299,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne
validateKubernetesClusterScaleParameters(cmd);
KubernetesClusterVO kubernetesCluster = kubernetesClusterDao.findById(cmd.getId());
Account owner = accountService.getActiveAccountById(kubernetesCluster.getAccountId());
String[] keys = getServiceUserKeys(owner);
String[] keys = getServiceUserKeys(kubernetesCluster);
KubernetesClusterScaleWorker scaleWorker =
new KubernetesClusterScaleWorker(kubernetesClusterDao.findById(cmd.getId()),
serviceOfferingDao.findById(cmd.getServiceOfferingId()),
@ -1323,8 +1322,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne
validateKubernetesClusterUpgradeParameters(cmd);
KubernetesClusterVO kubernetesCluster = kubernetesClusterDao.findById(cmd.getId());
Account owner = accountService.getActiveAccountById(kubernetesCluster.getAccountId());
String[] keys = getServiceUserKeys(owner);
String[] keys = getServiceUserKeys(kubernetesCluster);
KubernetesClusterUpgradeWorker upgradeWorker =
new KubernetesClusterUpgradeWorker(kubernetesClusterDao.findById(cmd.getId()),
kubernetesSupportedVersionDao.findById(cmd.getKubernetesVersionId()), this, keys);