From f376ad7765fd26c7a55fe347b49c90ee50bbb595 Mon Sep 17 00:00:00 2001 From: Mir Shahriar Sabuj Date: Tue, 9 May 2023 19:44:06 +0600 Subject: [PATCH] updated --- clusterdictionary/size.go | 4 +- internal/api/cluster.go | 2 +- internal/mocks/aws-tools/client.go | 72 +++++++-------- internal/provisioner/eks_provisioner.go | 27 +++--- internal/supervisor/cluster.go | 10 +- internal/supervisor/installation_test.go | 12 +-- internal/tools/aws/client.go | 12 +-- internal/tools/aws/ec2.go | 18 ++-- internal/tools/aws/eks.go | 112 +++++++++++------------ 9 files changed, 135 insertions(+), 134 deletions(-) diff --git a/clusterdictionary/size.go b/clusterdictionary/size.go index 865c9cb23..22b9dbf18 100644 --- a/clusterdictionary/size.go +++ b/clusterdictionary/size.go @@ -184,7 +184,7 @@ func AddToCreateClusterRequest(sizes map[string]string, request *model.CreateClu for ng, ngSize := range sizes { ngType, minCount, maxCount, err := processCustomSize(ngSize) if err != nil { - return errors.Wrapf(err, "invalid nodegroup size for %s", ng) + return err } request.AdditionalNodeGroups[ng] = model.NodeGroupMetadata{ @@ -211,7 +211,7 @@ func AddToCreateNodegroupsRequest(sizes map[string]string, request *model.Create for ng, ngSize := range sizes { ngType, minCount, maxCount, err := processCustomSize(ngSize) if err != nil { - return errors.Wrapf(err, "invalid nodegroup size for %s", ng) + return err } request.Nodegroups[ng] = model.NodeGroupMetadata{ diff --git a/internal/api/cluster.go b/internal/api/cluster.go index 35161e2bd..232fcef84 100644 --- a/internal/api/cluster.go +++ b/internal/api/cluster.go @@ -448,7 +448,7 @@ func handleCreateNodegroups(c *Context, w http.ResponseWriter, r *http.Request) clusterDTO, status, unlockOnce := getClusterForTransition(c, clusterID, newState) if status != 0 { - c.Logger.Debug("Cluster is not in a valid state for nodegroup creation") + c.Logger.Debug("Cluster is not in a valid state for nodegroups creation") w.WriteHeader(status) return } diff --git a/internal/mocks/aws-tools/client.go b/internal/mocks/aws-tools/client.go index cdd865ba2..175960e46 100644 --- a/internal/mocks/aws-tools/client.go +++ b/internal/mocks/aws-tools/client.go @@ -446,33 +446,33 @@ func (mr *MockAWSMockRecorder) EnsureEKSClusterUpdated(cluster interface{}) *gom return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureEKSClusterUpdated", reflect.TypeOf((*MockAWS)(nil).EnsureEKSClusterUpdated), cluster) } -// EnsureEKSNodeGroup mocks base method -func (m *MockAWS) EnsureEKSNodeGroup(cluster *model.Cluster, nodeGroupPrefix string) (*types.Nodegroup, error) { +// EnsureEKSNodegroup mocks base method +func (m *MockAWS) EnsureEKSNodegroup(cluster *model.Cluster, nodeGroupPrefix string) (*types.Nodegroup, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "EnsureEKSNodeGroup", cluster, nodeGroupPrefix) + ret := m.ctrl.Call(m, "EnsureEKSNodegroup", cluster, nodeGroupPrefix) ret0, _ := ret[0].(*types.Nodegroup) ret1, _ := ret[1].(error) return ret0, ret1 } -// EnsureEKSNodeGroup indicates an expected call of EnsureEKSNodeGroup -func (mr *MockAWSMockRecorder) EnsureEKSNodeGroup(cluster, nodeGroupPrefix interface{}) *gomock.Call { +// EnsureEKSNodegroup indicates an expected call of EnsureEKSNodegroup +func (mr *MockAWSMockRecorder) EnsureEKSNodegroup(cluster, nodeGroupPrefix interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureEKSNodeGroup", reflect.TypeOf((*MockAWS)(nil).EnsureEKSNodeGroup), cluster, nodeGroupPrefix) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureEKSNodegroup", reflect.TypeOf((*MockAWS)(nil).EnsureEKSNodegroup), cluster, nodeGroupPrefix) } -// EnsureEKSNodeGroupMigrated mocks base method -func (m *MockAWS) EnsureEKSNodeGroupMigrated(cluster *model.Cluster, nodeGroupPrefix string) error { +// EnsureEKSNodegroupMigrated mocks base method +func (m *MockAWS) EnsureEKSNodegroupMigrated(cluster *model.Cluster, nodeGroupPrefix string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "EnsureEKSNodeGroupMigrated", cluster, nodeGroupPrefix) + ret := m.ctrl.Call(m, "EnsureEKSNodegroupMigrated", cluster, nodeGroupPrefix) ret0, _ := ret[0].(error) return ret0 } -// EnsureEKSNodeGroupMigrated indicates an expected call of EnsureEKSNodeGroupMigrated -func (mr *MockAWSMockRecorder) EnsureEKSNodeGroupMigrated(cluster, nodeGroupPrefix interface{}) *gomock.Call { +// EnsureEKSNodegroupMigrated indicates an expected call of EnsureEKSNodegroupMigrated +func (mr *MockAWSMockRecorder) EnsureEKSNodegroupMigrated(cluster, nodeGroupPrefix interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureEKSNodeGroupMigrated", reflect.TypeOf((*MockAWS)(nil).EnsureEKSNodeGroupMigrated), cluster, nodeGroupPrefix) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureEKSNodegroupMigrated", reflect.TypeOf((*MockAWS)(nil).EnsureEKSNodegroupMigrated), cluster, nodeGroupPrefix) } // GetActiveEKSCluster mocks base method @@ -490,33 +490,33 @@ func (mr *MockAWSMockRecorder) GetActiveEKSCluster(clusterName interface{}) *gom return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetActiveEKSCluster", reflect.TypeOf((*MockAWS)(nil).GetActiveEKSCluster), clusterName) } -// GetActiveEKSNodeGroup mocks base method -func (m *MockAWS) GetActiveEKSNodeGroup(clusterName, nodeGroupName string) (*types.Nodegroup, error) { +// GetActiveEKSNodegroup mocks base method +func (m *MockAWS) GetActiveEKSNodegroup(clusterName, nodeGroupName string) (*types.Nodegroup, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetActiveEKSNodeGroup", clusterName, nodeGroupName) + ret := m.ctrl.Call(m, "GetActiveEKSNodegroup", clusterName, nodeGroupName) ret0, _ := ret[0].(*types.Nodegroup) ret1, _ := ret[1].(error) return ret0, ret1 } -// GetActiveEKSNodeGroup indicates an expected call of GetActiveEKSNodeGroup -func (mr *MockAWSMockRecorder) GetActiveEKSNodeGroup(clusterName, nodeGroupName interface{}) *gomock.Call { +// GetActiveEKSNodegroup indicates an expected call of GetActiveEKSNodegroup +func (mr *MockAWSMockRecorder) GetActiveEKSNodegroup(clusterName, nodeGroupName interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetActiveEKSNodeGroup", reflect.TypeOf((*MockAWS)(nil).GetActiveEKSNodeGroup), clusterName, nodeGroupName) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetActiveEKSNodegroup", reflect.TypeOf((*MockAWS)(nil).GetActiveEKSNodegroup), clusterName, nodeGroupName) } -// EnsureEKSNodeGroupDeleted mocks base method -func (m *MockAWS) EnsureEKSNodeGroupDeleted(clusterName, nodeGroupName string) error { +// EnsureEKSNodegroupDeleted mocks base method +func (m *MockAWS) EnsureEKSNodegroupDeleted(clusterName, nodeGroupName string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "EnsureEKSNodeGroupDeleted", clusterName, nodeGroupName) + ret := m.ctrl.Call(m, "EnsureEKSNodegroupDeleted", clusterName, nodeGroupName) ret0, _ := ret[0].(error) return ret0 } -// EnsureEKSNodeGroupDeleted indicates an expected call of EnsureEKSNodeGroupDeleted -func (mr *MockAWSMockRecorder) EnsureEKSNodeGroupDeleted(clusterName, nodeGroupName interface{}) *gomock.Call { +// EnsureEKSNodegroupDeleted indicates an expected call of EnsureEKSNodegroupDeleted +func (mr *MockAWSMockRecorder) EnsureEKSNodegroupDeleted(clusterName, nodeGroupName interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureEKSNodeGroupDeleted", reflect.TypeOf((*MockAWS)(nil).EnsureEKSNodeGroupDeleted), clusterName, nodeGroupName) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureEKSNodegroupDeleted", reflect.TypeOf((*MockAWS)(nil).EnsureEKSNodegroupDeleted), clusterName, nodeGroupName) } // EnsureEKSClusterDeleted mocks base method @@ -562,33 +562,33 @@ func (mr *MockAWSMockRecorder) WaitForActiveEKSCluster(clusterName, timeout inte return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForActiveEKSCluster", reflect.TypeOf((*MockAWS)(nil).WaitForActiveEKSCluster), clusterName, timeout) } -// WaitForActiveEKSNodeGroup mocks base method -func (m *MockAWS) WaitForActiveEKSNodeGroup(clusterName, nodeGroupName string, timeout int) (*types.Nodegroup, error) { +// WaitForActiveEKSNodegroup mocks base method +func (m *MockAWS) WaitForActiveEKSNodegroup(clusterName, nodeGroupName string, timeout int) (*types.Nodegroup, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "WaitForActiveEKSNodeGroup", clusterName, nodeGroupName, timeout) + ret := m.ctrl.Call(m, "WaitForActiveEKSNodegroup", clusterName, nodeGroupName, timeout) ret0, _ := ret[0].(*types.Nodegroup) ret1, _ := ret[1].(error) return ret0, ret1 } -// WaitForActiveEKSNodeGroup indicates an expected call of WaitForActiveEKSNodeGroup -func (mr *MockAWSMockRecorder) WaitForActiveEKSNodeGroup(clusterName, nodeGroupName, timeout interface{}) *gomock.Call { +// WaitForActiveEKSNodegroup indicates an expected call of WaitForActiveEKSNodegroup +func (mr *MockAWSMockRecorder) WaitForActiveEKSNodegroup(clusterName, nodeGroupName, timeout interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForActiveEKSNodeGroup", reflect.TypeOf((*MockAWS)(nil).WaitForActiveEKSNodeGroup), clusterName, nodeGroupName, timeout) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForActiveEKSNodegroup", reflect.TypeOf((*MockAWS)(nil).WaitForActiveEKSNodegroup), clusterName, nodeGroupName, timeout) } -// WaitForEKSNodeGroupToBeDeleted mocks base method -func (m *MockAWS) WaitForEKSNodeGroupToBeDeleted(clusterName, nodeGroupName string, timeout int) error { +// WaitForEKSNodegroupToBeDeleted mocks base method +func (m *MockAWS) WaitForEKSNodegroupToBeDeleted(clusterName, nodeGroupName string, timeout int) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "WaitForEKSNodeGroupToBeDeleted", clusterName, nodeGroupName, timeout) + ret := m.ctrl.Call(m, "WaitForEKSNodegroupToBeDeleted", clusterName, nodeGroupName, timeout) ret0, _ := ret[0].(error) return ret0 } -// WaitForEKSNodeGroupToBeDeleted indicates an expected call of WaitForEKSNodeGroupToBeDeleted -func (mr *MockAWSMockRecorder) WaitForEKSNodeGroupToBeDeleted(clusterName, nodeGroupName, timeout interface{}) *gomock.Call { +// WaitForEKSNodegroupToBeDeleted indicates an expected call of WaitForEKSNodegroupToBeDeleted +func (mr *MockAWSMockRecorder) WaitForEKSNodegroupToBeDeleted(clusterName, nodeGroupName, timeout interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForEKSNodeGroupToBeDeleted", reflect.TypeOf((*MockAWS)(nil).WaitForEKSNodeGroupToBeDeleted), clusterName, nodeGroupName, timeout) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForEKSNodegroupToBeDeleted", reflect.TypeOf((*MockAWS)(nil).WaitForEKSNodegroupToBeDeleted), clusterName, nodeGroupName, timeout) } // WaitForEKSClusterToBeDeleted mocks base method diff --git a/internal/provisioner/eks_provisioner.go b/internal/provisioner/eks_provisioner.go index 8c841ab2c..25c48bedf 100644 --- a/internal/provisioner/eks_provisioner.go +++ b/internal/provisioner/eks_provisioner.go @@ -259,7 +259,7 @@ func (provisioner *EKSProvisioner) CreateNodegroups(cluster *model.Cluster) erro return } - _, err = provisioner.awsClient.EnsureEKSNodeGroup(cluster, ngPrefix) + _, err = provisioner.awsClient.EnsureEKSNodegroup(cluster, ngPrefix) if err != nil { logger.WithError(err).Errorf("Failed to create EKS nodegroup %s", ngMetadata.Name) errOccurred = true @@ -304,7 +304,7 @@ func (provisioner *EKSProvisioner) CheckNodegroupsCreated(cluster *model.Cluster wait := 300 logger.Infof("Waiting up to %d seconds for EKS nodegroup %s to become active...", wait, ngMetadata.Name) - nodeGroup, err := provisioner.awsClient.WaitForActiveEKSNodeGroup(eksMetadata.Name, ngMetadata.Name, wait) + nodeGroup, err := provisioner.awsClient.WaitForActiveEKSNodegroup(eksMetadata.Name, ngMetadata.Name, wait) if err != nil { logger.WithError(err).Errorf("Failed to wait for EKS nodegroup %s to become active", ngMetadata.Name) errOccurred = true @@ -349,7 +349,7 @@ func (provisioner *EKSProvisioner) CheckNodegroupsCreated(cluster *model.Cluster return true, nil } -// DeleteNodegroups deletes the EKS nodegroup. +// DeleteNodegroups deletes the EKS nodegroups. func (provisioner *EKSProvisioner) DeleteNodegroups(cluster *model.Cluster) error { logger := provisioner.logger.WithField("cluster", cluster.ID) @@ -373,7 +373,7 @@ func (provisioner *EKSProvisioner) DeleteNodegroups(cluster *model.Cluster) erro go func(ngPrefix string, ngMetadata model.NodeGroupMetadata) { defer wg.Done() - err := provisioner.awsClient.EnsureEKSNodeGroupDeleted(eksMetadata.Name, ngMetadata.Name) + err := provisioner.awsClient.EnsureEKSNodegroupDeleted(eksMetadata.Name, ngMetadata.Name) if err != nil { logger.WithError(err).Errorf("Failed to delete EKS nodedroup %s", ngMetadata.Name) errOccurred = true @@ -382,7 +382,7 @@ func (provisioner *EKSProvisioner) DeleteNodegroups(cluster *model.Cluster) erro wait := 600 logger.Infof("Waiting up to %d seconds for EKS nodegroup %s to be deleted...", wait, ngMetadata.Name) - err = provisioner.awsClient.WaitForEKSNodeGroupToBeDeleted(eksMetadata.Name, ngMetadata.Name, wait) + err = provisioner.awsClient.WaitForEKSNodegroupToBeDeleted(eksMetadata.Name, ngMetadata.Name, wait) if err != nil { logger.WithError(err).Errorf("Failed to delete EKS nodegroup %s", ngMetadata.Name) errOccurred = true @@ -476,7 +476,7 @@ func (provisioner *EKSProvisioner) UpgradeCluster(cluster *model.Cluster) error return } - err = provisioner.awsClient.EnsureEKSNodeGroupMigrated(cluster, ngPrefix) + err = provisioner.awsClient.EnsureEKSNodegroupMigrated(cluster, ngPrefix) if err != nil { logger.WithError(err).Errorf("Failed to migrate EKS nodegroup for %s", ngPrefix) errOccurred = true @@ -565,7 +565,7 @@ func (provisioner *EKSProvisioner) ResizeCluster(cluster *model.Cluster) error { ngMetadata.CopyMissingFieldsFrom(oldMetadata) changeRequest.NodeGroups[ngPrefix] = ngMetadata - oldEKSNodeGroup, err2 := provisioner.awsClient.GetActiveEKSNodeGroup(eksMetadata.Name, oldMetadata.Name) + oldEKSNodeGroup, err2 := provisioner.awsClient.GetActiveEKSNodegroup(eksMetadata.Name, oldMetadata.Name) if err2 != nil { logger.WithError(err2).Errorf("Failed to get the existing EKS nodegroup for %s", ngPrefix) errOccurred = true @@ -581,6 +581,7 @@ func (provisioner *EKSProvisioner) ResizeCluster(cluster *model.Cluster) error { oldMetadata.MinCount == ngMetadata.MinCount && oldMetadata.MaxCount == ngMetadata.MaxCount { logger.Debugf("No change in EKS nodegroup for %s", ngPrefix) + return } err = provisioner.prepareLaunchTemplate(cluster, ngPrefix, ngMetadata, logger) @@ -590,14 +591,14 @@ func (provisioner *EKSProvisioner) ResizeCluster(cluster *model.Cluster) error { return } - err = provisioner.awsClient.EnsureEKSNodeGroupMigrated(cluster, ngPrefix) + err = provisioner.awsClient.EnsureEKSNodegroupMigrated(cluster, ngPrefix) if err != nil { logger.WithError(err).Errorf("Failed to migrate EKS nodegroup for %s", ngPrefix) errOccurred = true return } - nodeGroup, err2 := provisioner.awsClient.GetActiveEKSNodeGroup(eksMetadata.Name, ngMetadata.Name) + nodeGroup, err2 := provisioner.awsClient.GetActiveEKSNodegroup(eksMetadata.Name, ngMetadata.Name) if err2 != nil { logger.WithError(err2).Errorf("Failed to get EKS nodegroup %s", ngMetadata.Name) errOccurred = true @@ -671,7 +672,7 @@ func (provisioner *EKSProvisioner) cleanupCluster(cluster *model.Cluster) error go func(ngPrefix string, ngMetadata model.NodeGroupMetadata) { defer wg.Done() - err = provisioner.awsClient.EnsureEKSNodeGroupDeleted(eksMetadata.Name, ngMetadata.Name) + err = provisioner.awsClient.EnsureEKSNodegroupDeleted(eksMetadata.Name, ngMetadata.Name) if err != nil { logger.WithError(err).Errorf("Failed to delete EKS nodegroup %s", ngMetadata.Name) errOccurred = true @@ -680,7 +681,7 @@ func (provisioner *EKSProvisioner) cleanupCluster(cluster *model.Cluster) error wait := 600 logger.Infof("Waiting up to %d seconds for nodegroup %s to be deleted...", wait, ngMetadata.Name) - err = provisioner.awsClient.WaitForEKSNodeGroupToBeDeleted(eksMetadata.Name, ngMetadata.Name, wait) + err = provisioner.awsClient.WaitForEKSNodegroupToBeDeleted(eksMetadata.Name, ngMetadata.Name, wait) if err != nil { logger.WithError(err).Errorf("Failed to delete EKS nodegroup %s", ngMetadata.Name) errOccurred = true @@ -695,7 +696,7 @@ func (provisioner *EKSProvisioner) cleanupCluster(cluster *model.Cluster) error return } - logger.Debugf("Successfully deleted EKS NodeGroup %s", ngMetadata.Name) + logger.Debugf("Successfully deleted EKS nodegroup %s", ngMetadata.Name) }(ng, meta) } @@ -794,7 +795,7 @@ func (provisioner *EKSProvisioner) getKubeConfigPath(cluster *model.Cluster) (st return "", errors.Wrap(err, "failed to get EKS cluster") } if eksCluster == nil { - return "", errors.Errorf("the EKS cluster %s does not exist", clusterName) + return "", errors.Errorf("No active EKS cluster found with name %s", clusterName) } kubeconfig, err := newEKSKubeConfig(eksCluster, provisioner.awsClient) diff --git a/internal/supervisor/cluster.go b/internal/supervisor/cluster.go index c42c79cfe..f7dd8f547 100644 --- a/internal/supervisor/cluster.go +++ b/internal/supervisor/cluster.go @@ -259,7 +259,7 @@ func (s *ClusterSupervisor) createNodegroups(cluster *model.Cluster, logger log. _, err = s.provisioner.GetClusterProvisioner(cluster.Provisioner).CheckNodegroupsCreated(cluster) if err != nil { - logger.WithError(err).Error("Failed to create nodegroups") + logger.WithError(err).Error("Failed to check if nodegroups are created") return model.ClusterStateNodegroupsCreationFailed } @@ -288,7 +288,7 @@ func (s *ClusterSupervisor) refreshClusterMetadata(cluster *model.Cluster, logge err = s.store.UpdateCluster(cluster) if err != nil { - logger.WithError(err).Error("Failed to update cluster metadata in store") + logger.WithError(err).Error("Failed to update cluster metadata") return model.ClusterStateRefreshMetadata } @@ -323,7 +323,7 @@ func (s *ClusterSupervisor) checkClusterCreated(cluster *model.Cluster, logger l return model.ClusterStateCreationFailed } if !ready { - logger.Debug("Cluster is not yet ready") + logger.Debug("Cluster not yet ready") return model.ClusterStateCreationInProgress } @@ -340,11 +340,11 @@ func (s *ClusterSupervisor) checkNodesCreated(cluster *model.Cluster, logger log ready, err := s.provisioner.GetClusterProvisioner(cluster.Provisioner).CheckNodegroupsCreated(cluster) if err != nil { - logger.WithError(err).Error("Failed to check if nodegroups creation finished") + logger.WithError(err).Error("Failed to check if nodegroups are created") return model.ClusterStateCreationFailed } if !ready { - logger.Debug("Cluster nodegroups are not ready yet") + logger.Debug("Cluster nodegroups not yet ready") return model.ClusterStateWaitingForNodes } diff --git a/internal/supervisor/installation_test.go b/internal/supervisor/installation_test.go index 3d6baac0c..8e50d8359 100644 --- a/internal/supervisor/installation_test.go +++ b/internal/supervisor/installation_test.go @@ -425,7 +425,7 @@ func (a *mockAWS) WaitForEKSClusterUpdateToBeCompleted(clusterName, updateID str return nil } -func (a *mockAWS) WaitForActiveEKSNodeGroup(clusterName, workerName string, timeout int) (*eksTypes.Nodegroup, error) { +func (a *mockAWS) WaitForActiveEKSNodegroup(clusterName, workerName string, timeout int) (*eksTypes.Nodegroup, error) { return nil, nil } @@ -433,7 +433,7 @@ func (a *mockAWS) WaitForEKSClusterToBeDeleted(clusterName string, timeout int) return nil } -func (a *mockAWS) WaitForEKSNodeGroupToBeDeleted(clusterName, workerName string, timeout int) error { +func (a *mockAWS) WaitForEKSNodegroupToBeDeleted(clusterName, workerName string, timeout int) error { return nil } @@ -441,15 +441,15 @@ func (a *mockAWS) EnsureEKSClusterUpdated(cluster *model.Cluster) (*eksTypes.Upd return nil, nil } -func (a *mockAWS) EnsureEKSNodeGroupMigrated(cluster *model.Cluster, ngPrefix string) error { +func (a *mockAWS) EnsureEKSNodegroupMigrated(cluster *model.Cluster, ngPrefix string) error { return nil } -func (a *mockAWS) GetActiveEKSNodeGroup(clusterName, workerName string) (*eksTypes.Nodegroup, error) { +func (a *mockAWS) GetActiveEKSNodegroup(clusterName, workerName string) (*eksTypes.Nodegroup, error) { return nil, nil } -func (a *mockAWS) EnsureEKSNodeGroupDeleted(clusterName, workerName string) error { +func (a *mockAWS) EnsureEKSNodegroupDeleted(clusterName, workerName string) error { return nil } @@ -506,7 +506,7 @@ func (a *mockAWS) EnsureEKSCluster(cluster *model.Cluster, resources aws.Cluster return &eksTypes.Cluster{}, nil } -func (a *mockAWS) EnsureEKSNodeGroup(cluster *model.Cluster, nodeGroupPrefix string) (*eksTypes.Nodegroup, error) { +func (a *mockAWS) EnsureEKSNodegroup(cluster *model.Cluster, nodeGroupPrefix string) (*eksTypes.Nodegroup, error) { return &eksTypes.Nodegroup{}, nil } diff --git a/internal/tools/aws/client.go b/internal/tools/aws/client.go index 0c5fa7f4e..059a56dc5 100644 --- a/internal/tools/aws/client.go +++ b/internal/tools/aws/client.go @@ -69,16 +69,16 @@ type AWS interface { EnsureEKSCluster(cluster *model.Cluster, resources ClusterResources) (*eksTypes.Cluster, error) EnsureEKSClusterUpdated(cluster *model.Cluster) (*eksTypes.Update, error) - EnsureEKSNodeGroup(cluster *model.Cluster, nodeGroupPrefix string) (*eksTypes.Nodegroup, error) - EnsureEKSNodeGroupMigrated(cluster *model.Cluster, nodeGroupPrefix string) error + EnsureEKSNodegroup(cluster *model.Cluster, nodeGroupPrefix string) (*eksTypes.Nodegroup, error) + EnsureEKSNodegroupMigrated(cluster *model.Cluster, nodeGroupPrefix string) error GetActiveEKSCluster(clusterName string) (*eksTypes.Cluster, error) - GetActiveEKSNodeGroup(clusterName, nodeGroupName string) (*eksTypes.Nodegroup, error) - EnsureEKSNodeGroupDeleted(clusterName, nodeGroupName string) error + GetActiveEKSNodegroup(clusterName, nodeGroupName string) (*eksTypes.Nodegroup, error) + EnsureEKSNodegroupDeleted(clusterName, nodeGroupName string) error EnsureEKSClusterDeleted(clusterName string) error InstallEKSAddons(cluster *model.Cluster) error WaitForActiveEKSCluster(clusterName string, timeout int) (*eksTypes.Cluster, error) - WaitForActiveEKSNodeGroup(clusterName, nodeGroupName string, timeout int) (*eksTypes.Nodegroup, error) - WaitForEKSNodeGroupToBeDeleted(clusterName, nodeGroupName string, timeout int) error + WaitForActiveEKSNodegroup(clusterName, nodeGroupName string, timeout int) (*eksTypes.Nodegroup, error) + WaitForEKSNodegroupToBeDeleted(clusterName, nodeGroupName string, timeout int) error WaitForEKSClusterToBeDeleted(clusterName string, timeout int) error WaitForEKSClusterUpdateToBeCompleted(clusterName, updateID string, timeout int) error diff --git a/internal/tools/aws/ec2.go b/internal/tools/aws/ec2.go index f9a5982fb..788566dcd 100644 --- a/internal/tools/aws/ec2.go +++ b/internal/tools/aws/ec2.go @@ -179,7 +179,7 @@ func (a *Client) CreateLaunchTemplate(data *model.LaunchTemplateData) error { eksCluster, err := a.getEKSCluster(data.ClusterName) if err != nil { - return errors.Wrap(err, "failed to get EKS Cluster") + return errors.Wrap(err, "failed to get EKS cluster") } userData := getLaunchTemplateUserData(eksCluster, data) @@ -205,14 +205,14 @@ func (a *Client) CreateLaunchTemplate(data *model.LaunchTemplateData) error { }) if err != nil { if IsErrorCode(err, "InvalidLaunchTemplateName.AlreadyExistsException") { - a.logger.Debugf("LaunchTemplate %s already exists", data.Name) + a.logger.Debugf("Launch template %s already exists", data.Name) return nil } - return errors.Wrap(err, "failed to create EKS LaunchTemplate") + return errors.Wrap(err, "failed to create EKS launch template") } if launchTemplate == nil || launchTemplate.LaunchTemplate == nil { - return errors.New("failed to create EKS LaunchTemplate") + return errors.New("failed to create EKS launch template") } return nil @@ -225,7 +225,7 @@ func (a *Client) UpdateLaunchTemplate(data *model.LaunchTemplateData) error { eksCluster, err := a.getEKSCluster(data.ClusterName) if err != nil { - return errors.Wrap(err, "failed to get ESK Cluster") + return errors.Wrap(err, "failed to get ESK cluster") } userData := getLaunchTemplateUserData(eksCluster, data) @@ -253,11 +253,11 @@ func (a *Client) UpdateLaunchTemplate(data *model.LaunchTemplateData) error { if IsErrorCode(err, "InvalidLaunchTemplateName.NotFoundException") { return a.CreateLaunchTemplate(data) } - return errors.Wrap(err, "failed to create EKS LaunchTemplate version") + return errors.Wrap(err, "failed to create EKS launch template version") } if launchTemplate == nil || launchTemplate.LaunchTemplateVersion == nil { - return errors.New("failed to create ESK LaunchTemplate version") + return errors.New("failed to create ESK launch template version") } return nil @@ -270,7 +270,7 @@ func (a *Client) DeleteLaunchTemplate(launchTemplateName string) error { } if launchTemplate == nil { - a.logger.Debugf("LaunchTemplate %s not found, assuming deleted", launchTemplateName) + a.logger.Debugf("Launch template %s not found, assuming deleted", launchTemplateName) return nil } @@ -282,7 +282,7 @@ func (a *Client) DeleteLaunchTemplate(launchTemplateName string) error { a.logger.Debugf("launch template %s not found, assuming deleted", launchTemplateName) return nil } - return errors.Wrap(err, "failed to delete EKS LaunchTemplate") + return errors.Wrap(err, "failed to delete EKS launch template") } return nil diff --git a/internal/tools/aws/eks.go b/internal/tools/aws/eks.go index d826d8798..cd87bac76 100644 --- a/internal/tools/aws/eks.go +++ b/internal/tools/aws/eks.go @@ -70,7 +70,7 @@ func (c *Client) createEKSCluster(cluster *model.Cluster, resources ClusterResou out, err := c.Service().eks.CreateCluster(ctx, &input) if err != nil { - return nil, errors.Wrap(err, "failed to create EKS Cluster") + return nil, errors.Wrap(err, "failed to create EKS cluster") } return out.Cluster, nil @@ -83,7 +83,7 @@ func (a *Client) getEKSCluster(clusterName string) (*eksTypes.Cluster, error) { }) if err != nil { if !IsErrorResourceNotFound(err) { - return nil, errors.Wrap(err, "failed to describe EKS Cluster") + return nil, errors.Wrap(err, "failed to describe EKS cluster") } } @@ -162,11 +162,11 @@ func (c *Client) EnsureEKSClusterUpdated(cluster *model.Cluster) (*eksTypes.Upda } if eksCluster == nil { - return nil, errors.Errorf("requested EKS Cluster %s is not found", clusterName) + return nil, errors.Errorf("requested EKS cluster %s does not exist", clusterName) } if eksCluster.Status != eksTypes.ClusterStatusActive { - return nil, errors.Errorf("requested EKS Cluster %s is not active", clusterName) + return nil, errors.Errorf("requested EKS cluster %s is not active", clusterName) } eksMetadata := cluster.ProvisionerMetadataEKS @@ -180,7 +180,7 @@ func (c *Client) EnsureEKSClusterUpdated(cluster *model.Cluster) (*eksTypes.Upda }) if err != nil { - return nil, errors.Wrap(err, "failed to update EKS Cluster version") + return nil, errors.Wrap(err, "failed to update EKS cluster version") } return output.Update, nil @@ -191,7 +191,7 @@ func (a *Client) createEKSNodeGroup(cluster *model.Cluster, ngPrefix string) (*e eksMetadata := cluster.ProvisionerMetadataEKS changeRequest := eksMetadata.ChangeRequest if changeRequest == nil { - return nil, errors.New("metadata ChangeRequest is not set") + return nil, errors.New("metadata ChangeRequest is nil") } clusterResource, err := a.GetVpcResourcesByVpcID(changeRequest.VPC, a.logger) @@ -272,7 +272,7 @@ func (a *Client) createEKSNodeGroup(cluster *model.Cluster, ngPrefix string) (*e out, err := a.Service().eks.CreateNodegroup(context.TODO(), &nodeGroupReq) if err != nil { - return nil, errors.Wrap(err, "failed to create EKS Nodegroup") + return nil, errors.Wrap(err, "failed to create EKS nodegroup") } return out.Nodegroup, nil @@ -286,7 +286,7 @@ func (c *Client) getEKSNodeGroup(clusterName, nodegroupName string) (*eksTypes.N }) if err != nil { if !IsErrorResourceNotFound(err) { - return nil, errors.Wrap(err, "failed to describe EKS Nodegroup") + return nil, errors.Wrap(err, "failed to describe EKS nodegroup") } } @@ -297,8 +297,8 @@ func (c *Client) getEKSNodeGroup(clusterName, nodegroupName string) (*eksTypes.N return nil, nil } -// EnsureEKSNodeGroup ensures EKS cluster node groups are created. -func (c *Client) EnsureEKSNodeGroup(cluster *model.Cluster, ngPrefix string) (*eksTypes.Nodegroup, error) { +// EnsureEKSNodegroup ensures EKS nodegroup is created. +func (c *Client) EnsureEKSNodegroup(cluster *model.Cluster, ngPrefix string) (*eksTypes.Nodegroup, error) { clusterName := cluster.ProvisionerMetadataEKS.Name @@ -312,7 +312,7 @@ func (c *Client) EnsureEKSNodeGroup(cluster *model.Cluster, ngPrefix string) (*e nodeGroup, err := c.getEKSNodeGroup(clusterName, ngChangeRequest.Name) if err != nil { - return nil, errors.Wrapf(err, "failed to get an EKS Nodegroup %s", ngChangeRequest.Name) + return nil, errors.Wrapf(err, "failed to get an EKS nodegroup %s", ngChangeRequest.Name) } if nodeGroup != nil { @@ -322,8 +322,8 @@ func (c *Client) EnsureEKSNodeGroup(cluster *model.Cluster, ngPrefix string) (*e return c.createEKSNodeGroup(cluster, ngPrefix) } -// EnsureEKSNodeGroupMigrated updates EKS cluster node group. -func (c *Client) EnsureEKSNodeGroupMigrated(cluster *model.Cluster, ngPrefix string) error { +// EnsureEKSNodegroupMigrated updates EKS nodegroup. +func (c *Client) EnsureEKSNodegroupMigrated(cluster *model.Cluster, ngPrefix string) error { logger := c.logger.WithField("cluster", cluster.ID) eksMetadata := cluster.ProvisionerMetadataEKS @@ -344,26 +344,26 @@ func (c *Client) EnsureEKSNodeGroupMigrated(cluster *model.Cluster, ngPrefix str _, err := c.createEKSNodeGroup(cluster, ngPrefix) if err != nil { - return errors.Wrapf(err, "failed to create a new EKS Nodegroup %s", ngChangeRequest.Name) + return errors.Wrapf(err, "failed to create a new EKS nodegroup %s", ngChangeRequest.Name) } wait := 600 // seconds - logger.Infof("Waiting up to %d seconds for EKS Nodegroup %s to become active...", wait, ngChangeRequest.Name) + logger.Infof("Waiting up to %d seconds for EKS nodegroup %s to become active...", wait, ngChangeRequest.Name) - _, err = c.WaitForActiveEKSNodeGroup(eksMetadata.Name, ngChangeRequest.Name, wait) + _, err = c.WaitForActiveEKSNodegroup(eksMetadata.Name, ngChangeRequest.Name, wait) if err != nil { return err } - logger.Debugf("Deleting the old EKS Nodegroup %s", oldNodeGroupName) + logger.Debugf("Deleting the old EKS nodegroup %s", oldNodeGroupName) - err = c.EnsureEKSNodeGroupDeleted(clusterName, oldNodeGroupName) + err = c.EnsureEKSNodegroupDeleted(clusterName, oldNodeGroupName) if err != nil { - return errors.Wrapf(err, "failed to delete the old EKS Nodegroup %s", oldNodeGroupName) + return errors.Wrapf(err, "failed to delete the old EKS nodegroup %s", oldNodeGroupName) } - logger.Infof("Waiting up to %d seconds for EKS Nodegroup %s to be deleted...", wait, oldNodeGroupName) - err = c.WaitForEKSNodeGroupToBeDeleted(eksMetadata.Name, oldNodeGroupName, wait) + logger.Infof("Waiting up to %d seconds for EKS nodegroup %s to be deleted...", wait, oldNodeGroupName) + err = c.WaitForEKSNodegroupToBeDeleted(eksMetadata.Name, oldNodeGroupName, wait) if err != nil { return err } @@ -377,7 +377,7 @@ func (a *Client) EnsureEKSClusterDeleted(clusterName string) error { eksCluster, err := a.getEKSCluster(clusterName) if err != nil { - return errors.Wrap(err, "failed to describe EKS Cluster") + return errors.Wrap(err, "failed to describe EKS cluster") } if eksCluster == nil { @@ -390,48 +390,48 @@ func (a *Client) EnsureEKSClusterDeleted(clusterName string) error { } if eksCluster.Status == eksTypes.ClusterStatusFailed { - return errors.New("requested EKS Cluster is in failed state") + return errors.New("requested EKS cluster is in failed state") } delInput := &eks.DeleteClusterInput{Name: aws.String(clusterName)} _, err = a.Service().eks.DeleteCluster(ctx, delInput) if err != nil { - return errors.Wrap(err, "failed to trigger EKS Cluster deletion") + return errors.Wrap(err, "failed to trigger EKS cluster deletion") } // Cluster just started deletion return nil } -// EnsureEKSNodeGroupDeleted ensures EKS node groups are deleted. -func (a *Client) EnsureEKSNodeGroupDeleted(clusterName, nodegroupName string) error { +// EnsureEKSNodegroupDeleted ensures EKS nodegroup is deleted. +func (a *Client) EnsureEKSNodegroupDeleted(clusterName, nodegroupName string) error { if nodegroupName == "" { return nil } - nodeGroups, err := a.getEKSNodeGroup(clusterName, nodegroupName) + nodeGroup, err := a.getEKSNodeGroup(clusterName, nodegroupName) if err != nil { - return errors.Wrap(err, "failed to get EKS Nodegroup") + return errors.Wrap(err, "failed to get EKS nodegroup") } - // Node groups deleted, we can return - if nodeGroups == nil { + + if nodeGroup == nil { return nil } - if nodeGroups.Status == eksTypes.NodegroupStatusDeleting { + if nodeGroup.Status == eksTypes.NodegroupStatusDeleting { return nil } - if nodeGroups.Status == eksTypes.NodegroupStatusDeleteFailed { - return errors.Wrapf(err, "failed to delete EKS Nodegroup %s", nodegroupName) + if nodeGroup.Status == eksTypes.NodegroupStatusDeleteFailed { + return errors.Wrapf(err, "failed to delete EKS nodegroup %s", nodegroupName) } _, err = a.Service().eks.DeleteNodegroup(context.TODO(), &eks.DeleteNodegroupInput{ ClusterName: aws.String(clusterName), - NodegroupName: nodeGroups.NodegroupName, + NodegroupName: nodeGroup.NodegroupName, }) if err != nil { - return errors.Wrap(err, "failed to delete EKS Nodegroup") + return errors.Wrap(err, "failed to delete EKS nodegroup") } return nil @@ -441,7 +441,7 @@ func (a *Client) EnsureEKSNodeGroupDeleted(clusterName, nodegroupName string) er func (c *Client) GetActiveEKSCluster(clusterName string) (*eksTypes.Cluster, error) { cluster, err := c.getEKSCluster(clusterName) if err != nil { - return nil, errors.Wrap(err, "failed to get EKS Cluster") + return nil, errors.Wrap(err, "failed to get EKS cluster") } if cluster == nil { @@ -449,7 +449,7 @@ func (c *Client) GetActiveEKSCluster(clusterName string) (*eksTypes.Cluster, err } if cluster.Status == eksTypes.ClusterStatusFailed { - return nil, errors.New("requested EKS Cluster is in failed state") + return nil, errors.New("requested EKS cluster is in failed state") } if cluster.Status == eksTypes.ClusterStatusActive { @@ -459,11 +459,11 @@ func (c *Client) GetActiveEKSCluster(clusterName string) (*eksTypes.Cluster, err return nil, nil } -// GetActiveEKSNodeGroup returns the EKS node group if active. -func (c *Client) GetActiveEKSNodeGroup(clusterName, workerName string) (*eksTypes.Nodegroup, error) { +// GetActiveEKSNodegroup returns the EKS nodegroup if active. +func (c *Client) GetActiveEKSNodegroup(clusterName, workerName string) (*eksTypes.Nodegroup, error) { nodeGroup, err := c.getEKSNodeGroup(clusterName, workerName) if err != nil { - return nil, errors.Wrap(err, "failed to get EKS Nodegroup") + return nil, errors.Wrap(err, "failed to get EKS nodegroup") } if nodeGroup == nil { @@ -471,7 +471,7 @@ func (c *Client) GetActiveEKSNodeGroup(clusterName, workerName string) (*eksType } if nodeGroup.Status == eksTypes.NodegroupStatusCreateFailed { - return nil, errors.New("failed to create EKS Nodegroup") + return nil, errors.New("failed to create EKS nodegroup") } if nodeGroup.Status == eksTypes.NodegroupStatusActive { @@ -491,11 +491,11 @@ func (c *Client) WaitForActiveEKSCluster(clusterName string, timeout int) (*eksT for { select { case <-timeoutTimer.C: - return nil, errors.New("timed out waiting for EKS Cluster to become active") + return nil, errors.New("timed out waiting for EKS cluster to become active") case <-tick.C: eksCluster, err := c.GetActiveEKSCluster(clusterName) if err != nil { - return nil, errors.Wrap(err, "failed to check if EKS Cluster is active") + return nil, errors.Wrap(err, "failed to check if EKS cluster is active") } if eksCluster != nil { return eksCluster, nil @@ -504,7 +504,7 @@ func (c *Client) WaitForActiveEKSCluster(clusterName string, timeout int) (*eksT } } -func (c *Client) WaitForActiveEKSNodeGroup(clusterName, nodeGroupName string, timeout int) (*eksTypes.Nodegroup, error) { +func (c *Client) WaitForActiveEKSNodegroup(clusterName, nodeGroupName string, timeout int) (*eksTypes.Nodegroup, error) { timeoutTimer := time.NewTimer(time.Duration(timeout) * time.Second) defer timeoutTimer.Stop() tick := time.NewTicker(5 * time.Second) @@ -513,11 +513,11 @@ func (c *Client) WaitForActiveEKSNodeGroup(clusterName, nodeGroupName string, ti for { select { case <-timeoutTimer.C: - return nil, errors.New("timed out waiting for EKS Nodegroup to become active") + return nil, errors.New("timed out waiting for EKS nodegroup to become active") case <-tick.C: - nodeGroup, err := c.GetActiveEKSNodeGroup(clusterName, nodeGroupName) + nodeGroup, err := c.GetActiveEKSNodegroup(clusterName, nodeGroupName) if err != nil { - return nil, errors.Wrap(err, "failed to check if EKS Nodegroup is active") + return nil, errors.Wrap(err, "failed to check if EKS nodegroup is active") } if nodeGroup != nil { return nodeGroup, nil @@ -526,7 +526,7 @@ func (c *Client) WaitForActiveEKSNodeGroup(clusterName, nodeGroupName string, ti } } -func (c *Client) WaitForEKSNodeGroupToBeDeleted(clusterName, workerName string, timeout int) error { +func (c *Client) WaitForEKSNodegroupToBeDeleted(clusterName, workerName string, timeout int) error { timeoutTimer := time.NewTimer(time.Duration(timeout) * time.Second) defer timeoutTimer.Stop() tick := time.NewTicker(5 * time.Second) @@ -535,11 +535,11 @@ func (c *Client) WaitForEKSNodeGroupToBeDeleted(clusterName, workerName string, for { select { case <-timeoutTimer.C: - return errors.New("timed out waiting for EKS Nodegroup to be deleted") + return errors.New("timed out waiting for EKS nodegroup to be deleted") case <-tick.C: nodeGroup, err := c.getEKSNodeGroup(clusterName, workerName) if err != nil { - return errors.Wrap(err, "failed to describe EKS Nodegroup") + return errors.Wrap(err, "failed to describe EKS nodegroup") } if nodeGroup == nil { return nil @@ -557,11 +557,11 @@ func (c *Client) WaitForEKSClusterToBeDeleted(clusterName string, timeout int) e for { select { case <-timeoutTimer.C: - return errors.New("timed out waiting for EKS Cluster to become ready") + return errors.New("timed out waiting for EKS cluster to become ready") case <-tick.C: eksCluster, err := c.getEKSCluster(clusterName) if err != nil { - return errors.Wrap(err, "failed to describe EKS Cluster") + return errors.Wrap(err, "failed to describe EKS cluster") } if eksCluster == nil { return nil @@ -579,15 +579,15 @@ func (c *Client) WaitForEKSClusterUpdateToBeCompleted(clusterName, updateID stri for { select { case <-timeoutTimer.C: - return errors.New("timed out waiting for EKS Cluster update to be completed") + return errors.New("timed out waiting for EKS cluster update to be completed") case <-tick.C: updateStatus, err := c.getEKSClusterUpdateStatus(clusterName, updateID) if err != nil { - return errors.Wrap(err, "failed to describe EKS Cluster") + return errors.Wrap(err, "failed to describe EKS cluster") } if updateStatus == eksTypes.UpdateStatusFailed { - return errors.New("failed to update EKS Cluster") + return errors.New("failed to update EKS cluster") } if updateStatus == eksTypes.UpdateStatusSuccessful { @@ -603,7 +603,7 @@ func (c *Client) getEKSClusterUpdateStatus(clusterName, updateID string) (eksTyp UpdateId: ptr.String(updateID), }) if err != nil { - return "", errors.Wrap(err, "failed to describe update for EKS Cluster") + return "", errors.Wrap(err, "failed to describe update for EKS cluster") } return output.Update.Status, nil