()
| 102 | } |
| 103 | |
| 104 | func UpdateMemoryCapacityConfigMap() (map[string]kresource.Quantity, error) { |
| 105 | primaryInstances := []string{} |
| 106 | |
| 107 | minMemMap := map[string]kresource.Quantity{} |
| 108 | for _, ng := range config.ClusterConfig.NodeGroups { |
| 109 | instanceMetadata := aws.InstanceMetadatas[config.ClusterConfig.Region][ng.InstanceType] |
| 110 | minMemMap[ng.InstanceType] = instanceMetadata.Memory |
| 111 | primaryInstances = append(primaryInstances, ng.InstanceType) |
| 112 | } |
| 113 | |
| 114 | nodeMemCapacityMap, err := getMemoryCapacityFromNodes(primaryInstances) |
| 115 | if err != nil { |
| 116 | return nil, err |
| 117 | } |
| 118 | |
| 119 | previousMinMemMap, err := getMemoryCapacityFromConfigMap() |
| 120 | if err != nil { |
| 121 | return nil, err |
| 122 | } |
| 123 | |
| 124 | configMapData := map[string]string{} |
| 125 | for _, primaryInstance := range primaryInstances { |
| 126 | minMem := minMemMap[primaryInstance] |
| 127 | |
| 128 | if nodeMemCapacityMap[primaryInstance] != nil && minMem.Cmp(*nodeMemCapacityMap[primaryInstance]) > 0 { |
| 129 | minMem = *nodeMemCapacityMap[primaryInstance] |
| 130 | } |
| 131 | |
| 132 | if previousMinMemMap[primaryInstance] != nil && minMem.Cmp(*previousMinMemMap[primaryInstance]) > 0 { |
| 133 | minMem = *previousMinMemMap[primaryInstance] |
| 134 | } |
| 135 | |
| 136 | if previousMinMemMap[primaryInstance] == nil || minMem.Cmp(*previousMinMemMap[primaryInstance]) < 0 { |
| 137 | configMapData[_configKeyPrefix+primaryInstance] = minMem.String() |
| 138 | } else { |
| 139 | configMapData[_configKeyPrefix+primaryInstance] = previousMinMemMap[primaryInstance].String() |
| 140 | } |
| 141 | |
| 142 | minMemMap[primaryInstance] = minMem |
| 143 | } |
| 144 | |
| 145 | configMap := k8s.ConfigMap(&k8s.ConfigMapSpec{ |
| 146 | Name: _memConfigMapName, |
| 147 | Data: configMapData, |
| 148 | }) |
| 149 | |
| 150 | _, err = config.K8s.ApplyConfigMap(configMap) |
| 151 | if err != nil { |
| 152 | return nil, err |
| 153 | } |
| 154 | |
| 155 | return minMemMap, nil |
| 156 | } |
no test coverage detected