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

remove requirement form zone field in composer config.node_config (#10324) #5320

Merged
merged 5 commits into from
Oct 20, 2021
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,14 @@ const (
composerEnvironmentEnvVariablesRegexp = "[a-zA-Z_][a-zA-Z0-9_]*."
composerEnvironmentReservedAirflowEnvVarRegexp = "AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+"
composerEnvironmentVersionRegexp = `composer-([0-9]+\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?|latest)-airflow-([0-9]+\.[0-9]+(\.[0-9]+.*)?)`
// composerEnvironmentV2VersionRegexp = `composer-(2\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?|latest)-airflow-([0-9]+\.[0-9]+(\.[0-9]+.*)?)`
)

//func isComposerV2(imageVersion string) bool {
// regex := regexp.MustCompile(composerEnvironmentV2VersionRegexp)
// return regex.MatchString(imageVersion)
//}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove commented out code

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

var composerEnvironmentReservedEnvVar = map[string]struct{}{
"AIRFLOW_HOME": {},
"C_FORCE_ROOT": {},
Expand Down Expand Up @@ -147,7 +153,8 @@ func resourceComposerEnvironment() *schema.Resource {
Schema: map[string]*schema.Schema{
"zone": {
Type: schema.TypeString,
Required: true,
Optional: true,
Computed: true,
ForceNew: true,
DiffSuppressFunc: compareSelfLinkOrResourceName,
Description: `The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.`,
Expand Down Expand Up @@ -1329,6 +1336,12 @@ func expandComposerEnvironmentConfig(v interface{}, d *schema.ResourceData, conf
}
transformed.SoftwareConfig = transformedSoftwareConfig

// transformedNodeConfig, err := expandComposerEnvironmentConfigNodeConfig(original["node_config"], d, config, isComposerV2(transformed.SoftwareConfig.ImageVersion))
// if err != nil {
// return nil, err
// }
// transformed.NodeConfig = transformedNodeConfig

transformedPrivateEnvironmentConfig, err := expandComposerEnvironmentConfigPrivateEnvironmentConfig(original["private_environment_config"], d, config)
if err != nil {
return nil, err
Expand Down Expand Up @@ -1592,6 +1605,7 @@ func expandComposerEnvironmentConfigPrivateEnvironmentConfig(v interface{}, d *s
return transformed, nil
}

//func expandComposerEnvironmentConfigNodeConfig(v interface{}, d *schema.ResourceData, config *Config,isComposerV2 bool) (*composer.NodeConfig, error) {
func expandComposerEnvironmentConfigNodeConfig(v interface{}, d *schema.ResourceData, config *Config) (*composer.NodeConfig, error) {
l := v.([]interface{})
if len(l) == 0 {
Expand Down Expand Up @@ -1640,6 +1654,19 @@ func expandComposerEnvironmentConfigNodeConfig(v interface{}, d *schema.Resource
}
transformed.MachineType = transformedMachineType
}
// if isComposerV2 {
// if _, ok := original["machine_type"]; ok {
// return nil, fmt.Errorf("expected machine_type to be empty for composer v2")
// }
// } else {
// if v, ok := original["machine_type"]; ok {
// transformedMachineType, err := expandComposerEnvironmentMachineType(v, d, config, nodeConfigZone)
// if err != nil {
// return nil, err
// }
// transformed.MachineType = transformedMachineType
// }
// }

if v, ok := original["network"]; ok {
transformedNetwork, err := expandComposerEnvironmentNetwork(v, d, config)
Expand Down Expand Up @@ -1740,9 +1767,9 @@ func expandComposerEnvironmentMachineType(v interface{}, d *schema.ResourceData,

fv, err := ParseMachineTypesFieldValue(v.(string), d, config)
if err != nil {
if requiredZone == "" {
return "", err
}
// if requiredZone == "" {
// return "", err
// }

// Try to construct machine type with zone/project given in config.
project, err := getProject(d, config)
Expand Down Expand Up @@ -2029,4 +2056,4 @@ func versionsEqual(old, new string) (bool, error) {
return false, err
}
return o.Equal(n), nil
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -568,9 +568,10 @@ resource "google_composer_environment" "test" {
region = "us-central1"
config {
node_config {
network = google_compute_network.test.self_link
subnetwork = google_compute_subnetwork.test.self_link
zone = "us-central1-a"
network = google_compute_network.test.self_link
subnetwork = google_compute_subnetwork.test.self_link
zone = "us-central1-a"
machine_type = "n1-standard-1"
}
}
}
Expand Down Expand Up @@ -982,43 +983,50 @@ locals {
}
resource "google_composer_environment" "test" {
name = "%s"
region = "europe-west3"
region = "us-central1"

config {
node_config {
network = google_compute_network.test.self_link
subnetwork = google_compute_subnetwork.test.self_link
}

software_config {
image_version = local.matching_images[0]
}

maintenance_window {
start_time = "2019-08-01T01:00:00Z"
end_time = "2019-08-01T07:00:00Z"
recurrence = "FREQ=WEEKLY;BYDAY=TU,WE"
start_time = "2019-08-01T01:00:00Z"
end_time = "2019-08-01T07:00:00Z"
recurrence = "FREQ=WEEKLY;BYDAY=TU,WE"
}

workloads_config {
scheduler {
cpu = 1.25
memory_gb = 2.5
storage_gb = 5.4
count = 2
cpu = 1.25
memory_gb = 2.5
storage_gb = 5.4
count = 2
}
web_server {
cpu = 1.75
memory_gb = 3.0
storage_gb = 4.4
cpu = 1.75
memory_gb = 3.0
storage_gb = 4.4
}
worker {
cpu = 0.5
memory_gb = 2.0
storage_gb = 3.4
min_count = 2
max_count = 5
cpu = 0.5
memory_gb = 2.0
storage_gb = 3.4
min_count = 2
max_count = 5
}
}
environment_size = "ENVIRONMENT_SIZE_MEDIUM"
environment_size = "ENVIRONMENT_SIZE_MEDIUM"
private_environment_config {
enable_private_endpoint = true
cloud_composer_network_ipv4_cidr_block = "10.3.192.0/24"
master_ipv4_cidr_block = "172.16.194.0/23"
cloud_sql_ipv4_cidr_block = "10.3.224.0/20"
enable_private_endpoint = true
cloud_composer_network_ipv4_cidr_block = "10.3.192.0/24"
master_ipv4_cidr_block = "172.16.194.0/23"
cloud_sql_ipv4_cidr_block = "10.3.224.0/20"
}
}

Expand All @@ -1033,7 +1041,8 @@ resource "google_compute_subnetwork" "test" {
name = "%s"
ip_cidr_range = "10.2.0.0/16"
region = "us-central1"
network = google_compute_network.test.self_link
network = google_compute_network.test.self_link
private_ip_google_access = true
}

`, envName, network, subnetwork)
Expand Down