Skip to content

Commit 8506d00

Browse files
Fixes and enhancements after the bug bash. (#10223) (#7120)
* remove float from documentation * change storage-gb type to int * Revert "change storage-gb type to int" This reverts commit 89795a80889287fb287497fbcbbfdbb365d40884. * add support for dag_processor count * fix int64 unpacking * add validation for composer internal ip range size * add upper limit for dag_prcessor.count [upstream:f4abf45f154501fe04509c2da704ac0dc0d4400e] Signed-off-by: Modular Magician <[email protected]>
1 parent f2fe4b1 commit 8506d00

File tree

4 files changed

+38
-7
lines changed

4 files changed

+38
-7
lines changed

.changelog/10223.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
composer: small fixes and enhancements after the bugbash.
3+
```

google-beta/services/composer/resource_composer_environment.go

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"context"
77
"fmt"
88
"log"
9+
"net"
910
"regexp"
1011
"strings"
1112
"time"
@@ -362,11 +363,12 @@ func ResourceComposerEnvironment() *schema.Resource {
362363
},
363364
},
364365
"composer_internal_ipv4_cidr_block": {
365-
Type: schema.TypeString,
366-
Computed: true,
367-
Optional: true,
368-
ForceNew: true,
369-
Description: `IPv4 cidr range that will be used by Composer internal components.`,
366+
Type: schema.TypeString,
367+
Computed: true,
368+
Optional: true,
369+
ForceNew: true,
370+
ValidateFunc: validateComposerInternalIpv4CidrBlock,
371+
Description: `IPv4 cidr range that will be used by Composer internal components.`,
370372
},
371373
},
372374
},
@@ -936,6 +938,14 @@ func ResourceComposerEnvironment() *schema.Resource {
936938
ValidateFunc: validation.FloatAtLeast(0),
937939
Description: `Storage (GB) request and limit for DAG processor.`,
938940
},
941+
"count": {
942+
Type: schema.TypeInt,
943+
Optional: true,
944+
ForceNew: false,
945+
Computed: true,
946+
ValidateFunc: validation.IntBetween(0, 3),
947+
Description: `Number of DAG processors.`,
948+
},
939949
},
940950
},
941951
},
@@ -1838,6 +1848,7 @@ func flattenComposerEnvironmentConfigWorkloadsConfig(workloadsConfig *composer.W
18381848
transformedDagProcessor["cpu"] = wlCfgDagProcessor.Cpu
18391849
transformedDagProcessor["memory_gb"] = wlCfgDagProcessor.MemoryGb
18401850
transformedDagProcessor["storage_gb"] = wlCfgDagProcessor.StorageGb
1851+
transformedDagProcessor["count"] = wlCfgDagProcessor.Count
18411852
}
18421853

18431854
transformed["scheduler"] = []interface{}{transformedScheduler}
@@ -2330,6 +2341,7 @@ func expandComposerEnvironmentConfigWorkloadsConfig(v interface{}, d *schema.Res
23302341
transformedDagProcessor.Cpu = originalDagProcessorRaw["cpu"].(float64)
23312342
transformedDagProcessor.MemoryGb = originalDagProcessorRaw["memory_gb"].(float64)
23322343
transformedDagProcessor.StorageGb = originalDagProcessorRaw["storage_gb"].(float64)
2344+
transformedDagProcessor.Count = int64(originalDagProcessorRaw["count"].(int))
23332345
transformed.DagProcessor = transformedDagProcessor
23342346
}
23352347
}
@@ -3018,3 +3030,17 @@ func versionValidationCustomizeDiffFunc(ctx context.Context, d *schema.ResourceD
30183030
}
30193031
return nil
30203032
}
3033+
3034+
func validateComposerInternalIpv4CidrBlock(v any, k string) (warns []string, errs []error) {
3035+
cidr_range := v.(string)
3036+
_, ip_net, err := net.ParseCIDR(cidr_range)
3037+
if err != nil {
3038+
errs = append(errs, fmt.Errorf("Invalid CIDR range: %s", err))
3039+
return
3040+
}
3041+
ones, _ := ip_net.Mask.Size()
3042+
if ones != 20 {
3043+
errs = append(errs, fmt.Errorf("Composer Internal IPv4 CIDR range must have size /20"))
3044+
}
3045+
return
3046+
}

google-beta/services/composer/resource_composer_environment_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3141,6 +3141,7 @@ resource "google_composer_environment" "test" {
31413141
cpu = 1
31423142
memory_gb = 2.5
31433143
storage_gb = 2
3144+
count = 1
31443145
}
31453146
}
31463147
enable_private_environment = true
@@ -3184,6 +3185,7 @@ resource "google_composer_environment" "test" {
31843185
cpu = 2
31853186
memory_gb = 2
31863187
storage_gb = 1
3188+
count = 2
31873189
}
31883190
}
31893191
enable_private_environment = false

website/docs/r/composer_environment.html.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1371,7 +1371,7 @@ The `worker` block supports:
13711371
(Optional)
13721372
The amount of memory (GB) for a single Airflow worker.
13731373

1374-
* `float storage_gb`
1374+
* `storage_gb`
13751375
(Optional)
13761376
The amount of storage (GB) for a single Airflow worker.
13771377

@@ -1396,7 +1396,7 @@ The `dag_processor` block supports:
13961396
(Optional)
13971397
Memory (GB) request and limit for DAG processor.
13981398

1399-
* `float storage_gb`
1399+
* `storage_gb`
14001400
(Optional)
14011401
Storage (GB) request and limit for DAG processor.
14021402

0 commit comments

Comments
 (0)