diff --git a/case_studies/micromanage/lib/mmlib/v0.1.0/service/google.jsonnet b/case_studies/micromanage/lib/mmlib/v0.1.0/service/google.jsonnet index 0118b32b6..250ea416f 100644 --- a/case_studies/micromanage/lib/mmlib/v0.1.0/service/google.jsonnet +++ b/case_studies/micromanage/lib/mmlib/v0.1.0/service/google.jsonnet @@ -132,7 +132,7 @@ local apt = import "../cmd/apt.jsonnet"; ] else [], local logging = if instance.enableLogging then [ - "curl -s https://dl.google.com/cloudagents/install-logging-agent.sh | bash", + "curl -s https://storage.googleapis.com/signals-agents/logging/google-fluentd-install.sh | bash", ] else [], cmds+: monitoring + jmx + logging, }, diff --git a/case_studies/micromanage/lib/mmlib/v0.1.1/service/google.jsonnet b/case_studies/micromanage/lib/mmlib/v0.1.1/service/google.jsonnet index 0cd45dda6..6219a9842 100644 --- a/case_studies/micromanage/lib/mmlib/v0.1.1/service/google.jsonnet +++ b/case_studies/micromanage/lib/mmlib/v0.1.1/service/google.jsonnet @@ -135,7 +135,7 @@ local apt = import "../cmd/apt.jsonnet"; ] else [], local logging = if instance.enableLogging then [ - "curl -s https://dl.google.com/cloudagents/install-logging-agent.sh | bash", + "curl -s https://storage.googleapis.com/signals-agents/logging/google-fluentd-install.sh | bash", ] else [], cmds+: monitoring + jmx + logging, }, @@ -167,7 +167,7 @@ local apt = import "../cmd/apt.jsonnet"; } + { [name]: DnsRecord { name: "${google_compute_instance." + name + ".name}." + service.dnsZone.dnsName, - rrdatas: ["${google_compute_instance." + name + ".network_interface.0.access_config.0.nat_ip}"], + rrdatas: ["${google_compute_instance." + name + ".network_interface.0.access_config.0.assigned_nat_ip}"], } for name in std.objectFields(instances) }, }, diff --git a/case_studies/micromanage/lib/mmlib/v0.1.2/service/google.libsonnet b/case_studies/micromanage/lib/mmlib/v0.1.2/service/google.libsonnet index 1544322cf..0b7839fae 100644 --- a/case_studies/micromanage/lib/mmlib/v0.1.2/service/google.libsonnet +++ b/case_studies/micromanage/lib/mmlib/v0.1.2/service/google.libsonnet @@ -167,7 +167,7 @@ local apt = import "../cmd/apt.libsonnet"; } + { [name]: DnsRecord { name: "${google_compute_instance." + name + ".name}." + service.dnsZone.dnsName, - rrdatas: ["${google_compute_instance." + name + ".network_interface.0.access_config.0.nat_ip}"], + rrdatas: ["${google_compute_instance." + name + ".network_interface.0.access_config.0.assigned_nat_ip}"], } for name in std.objectFields(instances) }, }, @@ -269,7 +269,7 @@ local apt = import "../cmd/apt.libsonnet"; google_compute_target_pool: { "${-}": { name: "${-}", - depends_on: "google_compute_http_health_check.${-}", + depends_on: ["google_compute_http_health_check.${-}"], health_checks: ["${-}"], instances: ["%s/%s" % [instances[iname].zone, iname] for iname in attached_instances], diff --git a/case_studies/micromanage/micromanage.py b/case_studies/micromanage/micromanage.py index a518e3c87..b593ce67b 100644 --- a/case_studies/micromanage/micromanage.py +++ b/case_studies/micromanage/micromanage.py @@ -169,6 +169,7 @@ def aux(ctx, service_name, service): return r + def get_build_artefacts(config): """Create all required build artefacts, modify config to refer to them.""" @@ -216,10 +217,22 @@ def aux(ctx, service_name, service): if not len(tfs): tfs['empty.tf'] = {} + for tfname, tf in tfs.iteritems(): + if 'resource' in tf: + new_resources = {} + for rtype_name, rtype_dict in tf['resource'].iteritems(): + if rtype_dict: + new_resources[rtype_name] = rtype_dict + for r_name, r_dict in rtype_dict.iteritems(): + # depends_on changed to always be a list. + if 'depends_on' in r_dict and isinstance(r_dict['depends_on'], basestring): + r_dict['depends_on'] = [r_dict['depends_on']] + # Remove empty resource dicts, workaround for + # https://github.com/hashicorp/terraform/issues/6368 + tf['resource'] = new_resources return tfs - def confirmation_dialog(msg): sys.stdout.write('%s [y/N]: ' % msg) while True: diff --git a/case_studies/micromanage/service_google.py b/case_studies/micromanage/service_google.py index 5a37a2bf9..2274a2f4a 100644 --- a/case_studies/micromanage/service_google.py +++ b/case_studies/micromanage/service_google.py @@ -147,7 +147,7 @@ def compileProvider(self, environment_name, environment): 'provider': { 'google': { 'alias': environment_name, - 'account_file': json.dumps(environment['serviceAccount']), + 'credentials': json.dumps(environment['serviceAccount']), 'project': environment['project'], 'region' : environment['region'], },