Skip to content

Commit 5eea8ee

Browse files
committed
Add tests, improve docs and descriptions
1 parent 9de1410 commit 5eea8ee

File tree

3 files changed

+29
-9
lines changed

3 files changed

+29
-9
lines changed

castai/resource_node_template.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -651,21 +651,23 @@ func resourceNodeTemplate() *schema.Resource {
651651
"Custom instances are only supported in GCP.",
652652
},
653653
FieldNodeTemplateGpu: {
654-
Type: schema.TypeList,
655-
MaxItems: 1,
656-
Optional: true,
654+
Type: schema.TypeList,
655+
MaxItems: 1,
656+
Optional: true,
657+
Description: "GPU configuration.",
657658
Elem: &schema.Resource{
658659
Schema: map[string]*schema.Schema{
659660
FieldNodeTemplateEnableTimeSharing: {
660661
Type: schema.TypeBool,
661662
Optional: true,
663+
Default: false,
662664
Description: "Enable/disable GPU time-sharing.",
663665
},
664666
FieldNodeTemplateDefaultSharedClientsPerGpu: {
665667
Type: schema.TypeInt,
666668
Optional: true,
667669
Default: 1,
668-
Description: "Defines default shared client per GPU.",
670+
Description: "Defines default number of shared clients per GPU.",
669671
},
670672
FieldNodeTemplateSharingConfiguration: {
671673
Type: schema.TypeList,
@@ -681,7 +683,7 @@ func resourceNodeTemplate() *schema.Resource {
681683
FieldNodeTemplateSharedClientsPerGpu: {
682684
Type: schema.TypeInt,
683685
Required: true,
684-
Description: "Defines default shared clients per GPU.",
686+
Description: "Defines number of shared clients for specific GPU device.",
685687
},
686688
},
687689
},

castai/resource_node_template_test.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,8 @@ func TestAccResourceNodeTemplate_basic(t *testing.T) {
682682
resource.TestCheckResourceAttr(resourceName, "constraints.0.resource_limits.#", "1"),
683683
resource.TestCheckResourceAttr(resourceName, "constraints.0.resource_limits.0.cpu_limit_enabled", "false"),
684684
resource.TestCheckResourceAttr(resourceName, "constraints.0.resource_limits.0.cpu_limit_max_cores", "0"),
685+
resource.TestCheckResourceAttr(resourceName, "gpu.0.default_shared_clients_per_gpu", "1"),
686+
resource.TestCheckResourceAttr(resourceName, "gpu.0.enable_time_sharing", "false"),
685687
),
686688
},
687689
{
@@ -758,7 +760,8 @@ func TestAccResourceNodeTemplate_basic(t *testing.T) {
758760
resource.TestCheckResourceAttr(resourceName, "constraints.0.resource_limits.#", "1"),
759761
resource.TestCheckResourceAttr(resourceName, "constraints.0.resource_limits.0.cpu_limit_enabled", "true"),
760762
resource.TestCheckResourceAttr(resourceName, "constraints.0.resource_limits.0.cpu_limit_max_cores", "50"),
761-
resource.TestCheckResourceAttr(resourceName, "constraints.0.bare_metal", "false"),
763+
resource.TestCheckResourceAttr(resourceName, "gpu.0.default_shared_clients_per_gpu", "1"),
764+
resource.TestCheckResourceAttr(resourceName, "gpu.0.enable_time_sharing", "false"),
762765
),
763766
},
764767
},
@@ -805,6 +808,16 @@ func testAccNodeTemplateConfig(rName, clusterName string) string {
805808
key = "%[1]s-taint-key-4"
806809
}
807810
811+
gpu {
812+
default_shared_clients_per_gpu = 1
813+
enable_time_sharing = false
814+
815+
sharing_configuration {
816+
gpu_name = "L4"
817+
shared_clients_per_gpu = 8
818+
}
819+
}
820+
808821
constraints {
809822
fallback_restore_rate_seconds = 1800
810823
spot = true
@@ -870,6 +883,11 @@ func testNodeTemplateUpdated(rName, clusterName string) string {
870883
effect = "NoSchedule"
871884
}
872885
886+
gpu {
887+
default_shared_clients_per_gpu = 1
888+
enable_time_sharing = false
889+
}
890+
873891
constraints {
874892
use_spot_fallbacks = true
875893
spot = true

docs/resources/node_template.md

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)