Skip to content

Commit

Permalink
Merge pull request #7430 from magodo/hdinsights_worknode_loosen_count…
Browse files Browse the repository at this point in the history
…_constraint

azurerm_hdinsights_*_cluster: loosen work node count validation
  • Loading branch information
jackofallops committed Jun 23, 2020
2 parents 897015e + 316de59 commit 1e7a8cc
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 31 deletions.
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

0 comments on commit 1e7a8cc

Please sign in to comment.