Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

azurerm_hdinsights_*_cluster: loosen work node count validation #7430

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 8 additions & 3 deletions azurerm/helpers/azure/hdinsight.go
Expand Up @@ -520,7 +520,7 @@ func ExpandHDInsightsStorageAccounts(storageAccounts []interface{}, gen2storageA
type HDInsightNodeDefinition struct {
CanSpecifyInstanceCount bool
MinInstanceCount int
MaxInstanceCount int
MaxInstanceCount *int
CanSpecifyDisks bool
MaxNumberOfDisksPerNode *int
FixedMinInstanceCount *int32
Expand Down Expand Up @@ -665,19 +665,24 @@ func SchemaHDInsightNodeDefinition(schemaLocation string, definition HDInsightNo
}

if definition.CanSpecifyInstanceCount {
countValidation := validation.IntAtLeast(definition.MinInstanceCount)
if definition.MaxInstanceCount != nil {
countValidation = validation.IntBetween(definition.MinInstanceCount, *definition.MaxInstanceCount)
}

// TODO 3.0: remove this property
result["min_instance_count"] = &schema.Schema{
Type: schema.TypeInt,
Optional: true,
ForceNew: true,
Computed: true,
Deprecated: "this has been deprecated from the API and will be removed in version 3.0 of the provider",
ValidateFunc: validation.IntBetween(definition.MinInstanceCount, definition.MaxInstanceCount),
ValidateFunc: countValidation,
}
result["target_instance_count"] = &schema.Schema{
Type: schema.TypeInt,
Required: true,
ValidateFunc: validation.IntBetween(definition.MinInstanceCount, definition.MaxInstanceCount),
ValidateFunc: countValidation,
}
}

Expand Down
Expand Up @@ -25,7 +25,7 @@ import (
var hdInsightHadoopClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 2,
MaxInstanceCount: 2,
MaxInstanceCount: utils.Int(2),
CanSpecifyDisks: false,
FixedMinInstanceCount: utils.Int32(int32(1)),
FixedTargetInstanceCount: utils.Int32(int32(2)),
Expand All @@ -34,14 +34,13 @@ var hdInsightHadoopClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
var hdInsightHadoopClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
MaxInstanceCount: 25,
CanSpecifyDisks: false,
}

var hdInsightHadoopClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
CanSpecifyDisks: false,
FixedMinInstanceCount: utils.Int32(int32(1)),
FixedTargetInstanceCount: utils.Int32(int32(3)),
Expand Down
Expand Up @@ -21,22 +21,21 @@ import (
var hdInsightHBaseClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 2,
MaxInstanceCount: 2,
MaxInstanceCount: utils.Int(2),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(2)),
}

var hdInsightHBaseClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
MaxInstanceCount: 23,
CanSpecifyDisks: false,
}

var hdInsightHBaseClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(3)),
}
Expand Down
Expand Up @@ -21,22 +21,21 @@ import (
var hdInsightInteractiveQueryClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 2,
MaxInstanceCount: 2,
MaxInstanceCount: utils.Int(2),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(2)),
}

var hdInsightInteractiveQueryClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
MaxInstanceCount: 9,
CanSpecifyDisks: false,
}

var hdInsightInteractiveQueryClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(3)),
}
Expand Down
Expand Up @@ -21,23 +21,22 @@ import (
var hdInsightKafkaClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 2,
MaxInstanceCount: 2,
MaxInstanceCount: utils.Int(2),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(2)),
}

var hdInsightKafkaClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
MaxInstanceCount: 57,
CanSpecifyDisks: true,
MaxNumberOfDisksPerNode: utils.Int(8),
}

var hdInsightKafkaClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(3)),
}
Expand Down
Expand Up @@ -22,7 +22,7 @@ import (
var hdInsightMLServicesClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 2,
MaxInstanceCount: 2,
MaxInstanceCount: utils.Int(2),
CanSpecifyDisks: false,
FixedMinInstanceCount: utils.Int32(int32(1)),
FixedTargetInstanceCount: utils.Int32(int32(2)),
Expand All @@ -31,14 +31,13 @@ var hdInsightMLServicesClusterHeadNodeDefinition = azure.HDInsightNodeDefinition
var hdInsightMLServicesClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
MaxInstanceCount: 16,
CanSpecifyDisks: false,
}

var hdInsightMLServicesClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
CanSpecifyDisks: false,
FixedMinInstanceCount: utils.Int32(int32(1)),
FixedTargetInstanceCount: utils.Int32(int32(3)),
Expand All @@ -47,7 +46,7 @@ var hdInsightMLServicesClusterZookeeperNodeDefinition = azure.HDInsightNodeDefin
var hdInsightMLServicesClusterEdgeNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 1,
MaxInstanceCount: 1,
MaxInstanceCount: utils.Int(1),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(1)),
}
Expand Down
Expand Up @@ -22,7 +22,7 @@ import (
var hdInsightRServerClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 2,
MaxInstanceCount: 2,
MaxInstanceCount: utils.Int(2),
CanSpecifyDisks: false,
FixedMinInstanceCount: utils.Int32(int32(1)),
FixedTargetInstanceCount: utils.Int32(int32(2)),
Expand All @@ -31,14 +31,13 @@ var hdInsightRServerClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
var hdInsightRServerClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
MaxInstanceCount: 16,
CanSpecifyDisks: false,
}

var hdInsightRServerClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
CanSpecifyDisks: false,
FixedMinInstanceCount: utils.Int32(int32(1)),
FixedTargetInstanceCount: utils.Int32(int32(3)),
Expand All @@ -47,7 +46,7 @@ var hdInsightRServerClusterZookeeperNodeDefinition = azure.HDInsightNodeDefiniti
var hdInsightRServerClusterEdgeNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 1,
MaxInstanceCount: 1,
MaxInstanceCount: utils.Int(1),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(1)),
}
Expand Down
Expand Up @@ -21,22 +21,21 @@ import (
var hdInsightSparkClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 2,
MaxInstanceCount: 2,
MaxInstanceCount: utils.Int(2),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(2)),
}

var hdInsightSparkClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
MaxInstanceCount: 19,
CanSpecifyDisks: false,
}

var hdInsightSparkClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
FixedTargetInstanceCount: utils.Int32(int32(3)),
CanSpecifyDisks: false,
}
Expand Down
Expand Up @@ -21,23 +21,21 @@ import (
var hdInsightStormClusterHeadNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 4,
MaxInstanceCount: 4,
MaxInstanceCount: utils.Int(4),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(2)),
}

var hdInsightStormClusterWorkerNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: true,
MinInstanceCount: 1,
// can't find a hard limit - appears to be limited by the subscription; setting something sensible for now
MaxInstanceCount: 9999,
CanSpecifyDisks: false,
CanSpecifyDisks: false,
}

var hdInsightStormClusterZookeeperNodeDefinition = azure.HDInsightNodeDefinition{
CanSpecifyInstanceCount: false,
MinInstanceCount: 3,
MaxInstanceCount: 3,
MaxInstanceCount: utils.Int(3),
CanSpecifyDisks: false,
FixedTargetInstanceCount: utils.Int32(int32(3)),
}
Expand Down