Skip to content

Commit

Permalink
Merge pull request #40 from kaytu-io/fix-bugs
Browse files Browse the repository at this point in the history
Fix bugs
  • Loading branch information
artaasadi committed Jul 17, 2024
2 parents d85c61f + 6d60e87 commit dc653a9
Show file tree
Hide file tree
Showing 5 changed files with 308 additions and 260 deletions.
13 changes: 11 additions & 2 deletions plugin/processor/compute_instance/compute_instance_item.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type ComputeInstanceItem struct {
SkipReason string
Instance *computepb.Instance
Disks []compute.Disk
InstanceOsLicense string
Metrics map[string][]*golang2.DataPoint
DisksMetrics map[string]map[string][]*golang2.DataPoint
Wastage *golang2.GCPComputeOptimizationResponse
Expand Down Expand Up @@ -75,8 +76,16 @@ func (i ComputeInstanceItem) ComputeInstanceDevice() (*golang.ChartRow, map[stri
CPUProperty.Max = utils.Percentage(PWrapperDouble(i.Wastage.Rightsizing.Cpu.Max))

MemoryProperty.Current = fmt.Sprintf("%d MB", i.Wastage.Rightsizing.Current.MemoryMb)
MemoryProperty.Average = utils.Percentage(PWrapperDouble(i.Wastage.Rightsizing.Memory.Avg))
MemoryProperty.Max = utils.Percentage(PWrapperDouble(i.Wastage.Rightsizing.Memory.Max))
if PWrapperDouble(i.Wastage.Rightsizing.Memory.Avg) == nil {
MemoryProperty.Average = ""
} else {
MemoryProperty.Average = fmt.Sprintf("%.0f MB", *PWrapperDouble(i.Wastage.Rightsizing.Memory.Avg)/(1024*1024))
}
if PWrapperDouble(i.Wastage.Rightsizing.Memory.Max) == nil {
MemoryProperty.Max = ""
} else {
MemoryProperty.Max = fmt.Sprintf("%.0f MB", *PWrapperDouble(i.Wastage.Rightsizing.Memory.Max)/(1024*1024))
}

row.Values["current_cost"] = &golang.ChartRowItem{
Value: utils.FormatPriceFloat(i.Wastage.Rightsizing.Current.Cost),
Expand Down
26 changes: 26 additions & 0 deletions plugin/processor/compute_instance/job_compute_instance_list.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,15 @@ func (job *ListComputeInstancesJob) Run(ctx context.Context) error {

log.Printf("# of instances: %d", len(instances))

var instanceOsLicense string

for _, instance := range instances {
var disks []compute.Disk
for _, attachedDisk := range instance.Disks {
if *attachedDisk.Boot {
image := attachedDisk.Licenses[0]
instanceOsLicense = mapImageToOS(image)
}
diskURLParts := strings.Split(*attachedDisk.Source, "/")
diskName := diskURLParts[len(diskURLParts)-1]

Expand All @@ -63,6 +69,7 @@ func (job *ListComputeInstancesJob) Run(ctx context.Context) error {
Region: util.TrimmedString(*instance.Zone, "/"),
Platform: instance.GetCpuPlatform(),
Preemptible: *instance.Scheduling.Preemptible,
InstanceOsLicense: instanceOsLicense,
OptimizationLoading: true,
Preferences: job.processor.defaultPreferences,
Skipped: false,
Expand Down Expand Up @@ -91,3 +98,22 @@ func (job *ListComputeInstancesJob) Run(ctx context.Context) error {
return nil

}

func mapImageToOS(image string) string {
if strings.Contains(image, "rhel-") {
if strings.Contains(image, "sap") {
return "rhel-sap"
}
return "rhel"
}
if strings.Contains(image, "sles-") {
if strings.Contains(image, "sap") {
return "sles-sap"
}
return "sles"
}
if strings.Contains(image, "windows") {
return "windows"
}
return "unknown"
}
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,11 @@ func (job *OptimizeComputeInstancesJob) Run(ctx context.Context) error {
CliVersion: wrapperspb.String(version.VERSION),
Identification: job.processor.provider.Identify(),
Instance: &golang2.GcpComputeInstance{
Id: utils.HashString(item.Id),
Zone: item.Region,
MachineType: item.MachineType,
Preemptible: item.Preemptible,
Id: utils.HashString(item.Id),
Zone: item.Region,
MachineType: item.MachineType,
Preemptible: item.Preemptible,
InstanceOsLicense: item.InstanceOsLicense,
},
Disks: disks,
Preferences: preferencesMap,
Expand Down
1 change: 1 addition & 0 deletions plugin/proto/gcp_server.proto
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ message GcpComputeInstance {
string zone = 2;
string machine_type = 3;
bool preemptible = 4;
string instance_os_license = 5;
}

message GcpComputeDisk {
Expand Down
Loading

0 comments on commit dc653a9

Please sign in to comment.