diff --git a/pkg/operator/options/options.go b/pkg/operator/options/options.go index b65fbda..b0ef5ee 100644 --- a/pkg/operator/options/options.go +++ b/pkg/operator/options/options.go @@ -32,7 +32,7 @@ func init() { } const ( - defaultPreemptibleShapes = "VM.Standard1,VM.Standard.B1,VM.Standard2,VM.Standard3.Flex,VM.Standard.E2,VM.Standard.E3.Flex,VM.Standard.E4.Flex,VM.Standard.E5.Flex,VM.Standard.E6.Flex,VM.Standard.A1.Flex,VM.DenseIO1,VM.DenseIO2,VM.GPU2,VM.GPU3,VM.Optimized3.Flex" + defaultPreemptibleShapes = "VM.Standard1,VM.Standard.B1,VM.Standard2,VM.Standard3.Flex,VM.Standard.E2,VM.Standard.E3.Flex,VM.Standard.E4.Flex,VM.Standard.E5.Flex,VM.Standard.E6.Flex,VM.Standard.A1.Flex,VM.Standard.A4.Flex,VM.DenseIO1,VM.DenseIO2,VM.GPU2,VM.GPU3,VM.Optimized3.Flex" defaultPreemptibleExcludeShapes = "VM.Standard.E2.1.Micro" ) diff --git a/pkg/providers/instancetype/types.go b/pkg/providers/instancetype/types.go index 581631b..1f7cc57 100644 --- a/pkg/providers/instancetype/types.go +++ b/pkg/providers/instancetype/types.go @@ -42,7 +42,7 @@ const ( ) // https://docs.oracle.com/en-us/iaas/Content/Compute/References/arm.htm -var ArmShapes = []string{"BM.Standard.A1.160", "VM.Standard.A1.Flex", "VM.Standard.A2.Flex"} +var ArmShapes = []string{"BM.Standard.A1.160", "VM.Standard.A1.Flex", "VM.Standard.A2.Flex", "BM.Standard.A4.48", "VM.Standard.A4.Flex"} // TaxBrackets implements a simple bracketed tax structure. type TaxBrackets []struct { diff --git a/pkg/providers/pricing/calculator_test.go b/pkg/providers/pricing/calculator_test.go index 0ae5676..f540d2f 100644 --- a/pkg/providers/pricing/calculator_test.go +++ b/pkg/providers/pricing/calculator_test.go @@ -59,6 +59,10 @@ func TestPrice(t *testing.T) { var a2_CpuNum float32 = 1 var a2_Mem float32 = 6 + a4 := "VM.Standard.A4.Flex" + var a4_CpuNum float32 = 1 + var a4_Mem float32 = 6 + standard3 := "VM.Standard3.Flex" var standard3_CpuNum float32 = 1 var standard3_Mem float32 = 8 @@ -142,6 +146,14 @@ func TestPrice(t *testing.T) { }, Price: 0.026, }, + { + Shape: &core.Shape{ + Shape: &a4, + Ocpus: &a4_CpuNum, + MemoryInGBs: &a4_Mem, + }, + Price: 0.030, + }, { Shape: &core.Shape{ Shape: &standard3, @@ -161,10 +173,10 @@ func TestPrice(t *testing.T) { }, } - endpint := "https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/" - //endpint := "http://localhost:8888/price.json" + endpoint := "https://apexapps.oracle.com/pls/apex/cetools/api/v1/products/" + //endpoint := "http://localhost:8888/price.json" - syncer := NewDefaultProvider(context.Background(), endpint) + syncer := NewDefaultProvider(context.Background(), endpoint) time.Sleep(18 * time.Second) diff --git a/pkg/providers/pricing/default_price.go b/pkg/providers/pricing/default_price.go index c18a09b..c6828a7 100644 --- a/pkg/providers/pricing/default_price.go +++ b/pkg/providers/pricing/default_price.go @@ -1063,6 +1063,40 @@ var defaultPrice = ` } ] }, + { + "partNumber": "B112145", + "displayName": "OCI - Compute - Standard - A4 - OCPU", + "metricName": "OCPU Per Hour", + "serviceCategory": "Compute - Virtual Machine", + "currencyCodeLocalizations": [ + { + "currencyCode": "USD", + "prices": [ + { + "model": "PAY_AS_YOU_GO", + "value": 0.0138 + } + ] + } + ] + }, + { + "partNumber": "B112146", + "displayName": "OCI - Compute - Standard - A4 - Memory", + "metricName": "Gigabyte Per Hour", + "serviceCategory": "Compute - Virtual Machine", + "currencyCodeLocalizations": [ + { + "currencyCode": "USD", + "prices": [ + { + "model": "PAY_AS_YOU_GO", + "value": 0.0027 + } + ] + } + ] + }, { "partNumber": "B109545", "displayName": "Oracle Blockchain Platform Enterprise Edition for OCI", diff --git a/pkg/providers/pricing/price_test.go b/pkg/providers/pricing/price_test.go index 6fd2abe..f082499 100644 --- a/pkg/providers/pricing/price_test.go +++ b/pkg/providers/pricing/price_test.go @@ -51,6 +51,7 @@ func TestPriceListSyncer_Start(t *testing.T) { "BM.GPU.A10.4", "VM.GPU3.2", "BM.Standard.A1.160", + "BM.Standard.A4.48", "VM.Standard.B1.4", "VM.Standard.B1.8", "VM.GPU.A10.2", @@ -106,6 +107,7 @@ func TestPriceListSyncer_Start(t *testing.T) { {"BM.GPU.A10.4", true}, {"VM.GPU3.2", true}, {"BM.Standard.A1.,160", true}, + {"BM.Standard.A4.,48", true}, {"VM.Standard.B1.4", true}, {"VM.Standard.B1.8", true}, {"VM.GPU.A10.2", true}, diff --git a/test/suites/nodeclaim/nodeclaim_test.go b/test/suites/nodeclaim/nodeclaim_test.go index d6672ee..e8dd980 100644 --- a/test/suites/nodeclaim/nodeclaim_test.go +++ b/test/suites/nodeclaim/nodeclaim_test.go @@ -77,7 +77,7 @@ var _ = Describe("StandaloneNodeClaim", func() { NodeSelectorRequirement: corev1.NodeSelectorRequirement{ Key: v1alpha1.LabelInstanceShapeName, Operator: corev1.NodeSelectorOpNotIn, - Values: []string{"BM.Standard.A1.160", "VM.Standard.A1.Flex", "VM.Standard.A2.Flex"}, + Values: []string{"BM.Standard.A1.160", "VM.Standard.A1.Flex", "VM.Standard.A2.Flex", "BM.Standard.A4.48", "VM.Standard.A4.Flex"}, }, }, },