Skip to content

Instantly share code, notes, and snippets.

@thecodeassassin
Created July 28, 2016 06:49
Show Gist options
  • Save thecodeassassin/ef81f2d904c6480796032f11a52d01bf to your computer and use it in GitHub Desktop.
Save thecodeassassin/ef81f2d904c6480796032f11a52d01bf to your computer and use it in GitHub Desktop.
Terraform Version: 0.7.0
Resource ID: google_compute_instance_template.legacy
Mismatch reason: extra attributes: metadata.shutdown-script, metadata.startup-script
Diff One (usually from plan): *terraform.InstanceDiff{Attributes:map[string]*terraform.ResourceAttrDiff{"scheduling.0.automatic_restart":*terraform.ResourceAttrDiff{Old:"", New:"true", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "name_prefix":*terraform.ResourceAttrDiff{Old:"", New:"legacy-web-", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.0.access_config.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "metadata.%":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "machine_type":*terraform.ResourceAttrDiff{Old:"", New:"n1-standard-1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "disk.0.type":*terraform.ResourceAttrDiff{Old:"", New:"PERSISTENT", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "automatic_restart":*terraform.ResourceAttrDiff{Old:"", New:"true", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.scopes.0":*terraform.ResourceAttrDiff{Old:"", New:"https://www.googleapis.com/auth/compute.readonly", NewComputed:false, NewRemoved:false, NewExtra:"https://www.googleapis.com/auth/compute.readonly", RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.email":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.0.subnetwork":*terraform.ResourceAttrDiff{Old:"", New:"mycujoo-website-staging", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "disk.0.source_image":*terraform.ResourceAttrDiff{Old:"", New:"legacy-1469454230", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.0.access_config.0.nat_ip":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "disk.0.auto_delete":*terraform.ResourceAttrDiff{Old:"", New:"true", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "tags.#":*terraform.ResourceAttrDiff{Old:"", New:"2", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "can_ip_forward":*terraform.ResourceAttrDiff{Old:"", New:"false", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "disk.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "scheduling.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "tags.213719546":*terraform.ResourceAttrDiff{Old:"", New:"website-nodes", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.scopes.1":*terraform.ResourceAttrDiff{Old:"", New:"https://www.googleapis.com/auth/sqlservice.admin", NewComputed:false, NewRemoved:false, NewExtra:"https://www.googleapis.com/auth/sqlservice.admin", RequiresNew:true, Sensitive:false, Type:0x0}, "disk.0.disk_size_gb":*terraform.ResourceAttrDiff{Old:"", New:"120", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "metadata_fingerprint":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "tags_fingerprint":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "self_link":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "name":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "scheduling.0.on_host_maintenance":*terraform.ResourceAttrDiff{Old:"", New:"MIGRATE", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "tags.2685387639":*terraform.ResourceAttrDiff{Old:"", New:"compute-nodes", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.scopes.#":*terraform.ResourceAttrDiff{Old:"", New:"2", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}}, Destroy:false, DestroyTainted:false}
Diff Two (usually from apply): *terraform.InstanceDiff{Attributes:map[string]*terraform.ResourceAttrDiff{"metadata_fingerprint":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "tags.#":*terraform.ResourceAttrDiff{Old:"", New:"2", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.scopes.1":*terraform.ResourceAttrDiff{Old:"", New:"https://www.googleapis.com/auth/sqlservice.admin", NewComputed:false, NewRemoved:false, NewExtra:"https://www.googleapis.com/auth/sqlservice.admin", RequiresNew:true, Sensitive:false, Type:0x0}, "can_ip_forward":*terraform.ResourceAttrDiff{Old:"", New:"false", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "scheduling.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "disk.0.auto_delete":*terraform.ResourceAttrDiff{Old:"", New:"true", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "automatic_restart":*terraform.ResourceAttrDiff{Old:"", New:"true", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "disk.0.disk_size_gb":*terraform.ResourceAttrDiff{Old:"", New:"120", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "metadata.startup-script":*terraform.ResourceAttrDiff{Old:"", New:"#!/bin/bash\n# set environmental variables\n. /etc/profile.d/environment.sh\n\nIPADDR=$(ifconfig eth0 | grep \"inet addr\" | cut -d ':' -f 2 | cut -d ' ' -f 1)\nEXTERNAL_IP=$(curl -s -H \"Metadata-Flavor: Google\" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip)\nPROJECT_ID=$(curl -s -H \"Metadata-Flavor: Google\" http://metadata/computeMetadata/v1/project/project-id)\nNODE_NAME=$(hostname)\n\n# modify the consul ip address to listen to the active IP of eth0\nsed -i'' -e \"s/\\\"bind_addr\\\": \\\".*\\\"/\\\"bind_addr\\\": \\\"${IPADDR}\\\"/g\" /etc/consul.conf &>> /var/log/mycujoo/startup.log\nsed -i'' -e \"s/\\\"advertise_addr\\\": \\\".*\\\"/\\\"advertise_addr\\\": \\\"${IPADDR}\\\"/g\" /etc/consul.conf &>> /var/log/mycujoo/startup.log\nsed -i'' -e \"s/\\\"node_name\\\": \\\".*\\\"/\\\"node_name\\\": \\\"${NODE_NAME}\\\"/g\" /etc/consul.conf &>> /var/log/mycujoo/startup.log\n\n# add the consul server ips to the consul configuration\nwhile [[ \"${CONSUL_SERVER_IPS}\" = \"\" ]]; do\n CONSUL_SERVER_IPS=$(gcloud compute instances list --regexp \".*consul-server-staging.*\" --format json | jq -c -r '[{value: .[].networkInterfaces[].networkIP | select(length > 0)}] | map(.value)')\ndone\n\nBOOTSTRAP_COUNT=$(echo ${CONSUL_SERVER_IPS} | jq '. | length')\n\nsed -i'' -e \"s/\\\"start_join\\\": \\[\\\".*\\\"\\]/\\\"start_join\\\": ${CONSUL_SERVER_IPS}/g\" /etc/consul.conf &>> /var/log/mycujoo/startup.log\nsed -i'' -e \"s/\\\"bootstrap_expect\\\": .*,/\\\"bootstrap_expect\\\": ${BOOTSTRAP_COUNT},/g\" /etc/consul.conf &>> /var/log/mycujoo/startup.log\n\n# # if there is a sql proxy on the machine, restart it\n# if [ -f /usr/bin/cloud_sql_proxy ]; then\n# service cloud_sql_proxy restart\n# fi\n\n# restart consul\nservice consul restart\n\necho \"[${PROJECT_ID}] [${NODE_NAME}] [${EXTERNAL_IP}]: Startup completed\" &>> /var/log/mycujoo/startup.log\n", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.scopes.0":*terraform.ResourceAttrDiff{Old:"", New:"https://www.googleapis.com/auth/compute.readonly", NewComputed:false, NewRemoved:false, NewExtra:"https://www.googleapis.com/auth/compute.readonly", RequiresNew:true, Sensitive:false, Type:0x0}, "tags.213719546":*terraform.ResourceAttrDiff{Old:"", New:"website-nodes", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.0.access_config.0.nat_ip":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "machine_type":*terraform.ResourceAttrDiff{Old:"", New:"n1-standard-1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "tags.2685387639":*terraform.ResourceAttrDiff{Old:"", New:"compute-nodes", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.0.subnetwork":*terraform.ResourceAttrDiff{Old:"", New:"mycujoo-website-staging", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "disk.0.source_image":*terraform.ResourceAttrDiff{Old:"", New:"legacy-1469454230", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.email":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "disk.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "scheduling.0.on_host_maintenance":*terraform.ResourceAttrDiff{Old:"", New:"MIGRATE", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "scheduling.0.automatic_restart":*terraform.ResourceAttrDiff{Old:"", New:"true", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "name_prefix":*terraform.ResourceAttrDiff{Old:"", New:"legacy-web-", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "name":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "service_account.0.scopes.#":*terraform.ResourceAttrDiff{Old:"", New:"2", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "self_link":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "metadata.shutdown-script":*terraform.ResourceAttrDiff{Old:"", New:"#!/bin/bash\n\n# set environmental variables\n. /etc/profile.d/environment.sh\n\nNODE_NAME=$(hostname)\nEXTERNAL_IP=$(curl -s -H \"Metadata-Flavor: Google\" http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip)\nPROJECT_ID=$(curl -s -H \"Metadata-Flavor: Google\" http://metadata/computeMetadata/v1/project/project-id)\n\n# leave the consul cluster\n/opt/consul/bin/consul leave &>> /var/log/mycujoo/shutdown.log\n\n# uninstall the distelli agent\n/usr/local/bin/distelli agent uninstall --yes &>> /var/log/mycujoo/shutdown.log\n\necho \"[${PROJECT_ID}] [${NODE_NAME}] [${EXTERNAL_IP}]: Shutdown completed\" &>> /var/log/mycujoo/shutdown.log\n\n# ensure everything shuts down correctly\nsleep 10\n", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "tags_fingerprint":*terraform.ResourceAttrDiff{Old:"", New:"", NewComputed:true, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "disk.0.type":*terraform.ResourceAttrDiff{Old:"", New:"PERSISTENT", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}, "network_interface.0.access_config.#":*terraform.ResourceAttrDiff{Old:"", New:"1", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:false, Sensitive:false, Type:0x0}, "metadata.%":*terraform.ResourceAttrDiff{Old:"", New:"2", NewComputed:false, NewRemoved:false, NewExtra:interface {}(nil), RequiresNew:true, Sensitive:false, Type:0x0}}, Destroy:false, DestroyTainted:false}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment