Commit Graph

23 Commits

Author SHA1 Message Date
The Magician
974928018a Small docs update (#3423)
<!-- This change is generated by MagicModules. -->
Original Author: @chrisst
2019-04-15 10:45:54 -07:00
The Magician
c5df1527ae Note version is required for beta IGM version (#3047)
Signed-off-by: Modular Magician <magic-modules@google.com>
2019-02-15 14:25:03 -08:00
The Magician
94b98834da use shorter beta link in docs instead of long description (#2475) 2018-12-20 17:22:22 -08:00
The Magician
be2ca2185f Update igm and rigm docs (#2377) 2018-12-20 17:22:22 -08:00
Riley Karson
fb8721083f Fix handwritten provider_versions links 2018-10-09 08:21:50 -07:00
Riley Karson
706e6ce168
Remove beta-features header (#2178)
* Remove beta-features header

* add version

* Fix old type s/privat/private/
2018-10-08 11:14:08 -07:00
Riley Karson
742b6933a1
Add notes to docs about deprecated beta fields. (#2171)
* Add notes to docs about deprecated beta fields.

* Remove comma
2018-10-04 13:20:35 -07:00
Paddy Carver
a3bd81460e Deprecate beta fields for (R)IGM.
Update (Regional) Instance Group Managers to deprecate the beta fields
(rolling_update_policy, versions, and auto_healing_policy). Also, rename
RESTART to REPLACE for Instance Group Manager's update_strategy, to be a
bit clearer. This required a DiffSuppress to make sure RESTART and
REPLACE are considered equivalent. In 2.0.0, we should remove RESTART
and drop the DiffSuppressFunc. Sadly, we have no way to do a deprecation
message for RESTART. We'll have to put it in the CHANGELOG. I've already
removed it from the website.
2018-10-02 17:22:42 -07:00
Mikaël Gibert
d60381a693 Implement multiple version in instance group manager (#1499)
Hi there,

Here is an attempt to implement canary releases ( #1252 ). This is the first time I write golang and make a terraform contribution, I opened the PR to obtain feedback and advices so please let me know how I can improve this code!

In addition I used `make fmt` to format the code but left some lines bigger than 80 characters, do I need to split them ?

I tested the feature against a project with the following configuration:
```
resource "google_compute_health_check" "mikael-hackathon-healthcheck" {
  name                = "mikael-hackathon-healthcheck"
  check_interval_sec  = 1
  timeout_sec         = 1
  healthy_threshold   = 2
  unhealthy_threshold = 10

  http_health_check {
    request_path = "/"
    port         = "80"
  }
}

resource "google_compute_instance_template" "mikael-hackaton-template" {
  name_prefix = "mikael-hackaton-"
  description = "This template is used to create app server instances."

  tags = ["loadbalanced", "internal-web", "hackaton"]

  labels = {
    environment = "hackaton"
  }

  instance_description = "Hackaton demo rolling upgrade"
  machine_type         = "n1-standard-1"
  can_ip_forward       = false

  scheduling {
    automatic_restart   = true
    on_host_maintenance = "MIGRATE"
  }

  disk {
    source_image = "debian-cloud/debian-9"
    disk_type    = "pd-standard"
    disk_size_gb = 20
    auto_delete  = true
    boot         = true
  }

  network_interface {
    network       = "default"
    access_config = {}
  }

  service_account {
    email  = "${google_service_account.mikael-hackaton.email}"
    scopes = ["cloud-platform"]
  }

  lifecycle {
    create_before_destroy = true
  }

  metadata_startup_script = "apt-get update && apt-get install -y apache2 && echo I am stable version at $(hostname) > /var/www/html/index.html"
}

resource "google_compute_instance_template" "mikael-hackaton-template-canary" {
  name_prefix = "mikael-hackaton-canary"
  description = "This template is used to create app server instances."

  tags = ["loadbalanced", "internal-web", "hackaton"]

  labels = {
    environment = "hackaton"
  }

  instance_description = "Hackaton demo rolling upgrade"
  machine_type         = "n1-standard-1"
  can_ip_forward       = false

  scheduling {
    automatic_restart   = true
    on_host_maintenance = "MIGRATE"
  }

  disk {
    source_image = "debian-cloud/debian-9"
    disk_type    = "pd-standard"
    disk_size_gb = 20
    auto_delete  = true
    boot         = true
  }

  network_interface {
    network       = "default"
    access_config = {}
  }

  service_account {
    email  = "${google_service_account.mikael-hackaton.email}"
    scopes = ["cloud-platform"]
  }

  lifecycle {
    create_before_destroy = true
  }

  metadata_startup_script = "apt-get update && apt-get install -y apache2 && echo I am a canary at $(hostname) > /var/www/html/index.html"
}

resource "google_compute_target_pool" "mikael-hackaton-target-pool" {
  name = "mikael-hackaton-target-pool"
}

resource "google_compute_instance_group_manager" "mikael-hackaton-manager" {
  name = "mikael-hackaton-manager"
  base_instance_name = "mikael-hackaton"
  #instance_template = "${google_compute_instance_template.mikael-hackaton-template.self_link}"
  update_strategy   = "ROLLING_UPDATE"
  zone              = "${var.zone}"
  target_pools = ["${google_compute_target_pool.mikael-hackaton-target-pool.self_link}"]
  target_size  = 5

  version {
    name = "primary"
    instance_template = "${google_compute_instance_template.mikael-hackaton-template.self_link}"
  }

  version {
    name = "canary"
    instance_template = "${google_compute_instance_template.mikael-hackaton-template-canary.self_link}"
    target_size_fixed = 1
  }

  named_port {
    name = "http"
    port = 80
  }

  auto_healing_policies {
    health_check      = "${google_compute_health_check.mikael-hackathon-healthcheck.self_link}"
    initial_delay_sec = 10
  }

  rolling_update_policy {
    type                    = "PROACTIVE"
    minimal_action          = "REPLACE"
    max_surge_percent       = 100
    max_unavailable_percent = 50
    min_ready_sec           = 5
  }
}
```
2018-06-04 15:34:48 -07:00
Gabriel A.S
814e1fc63e Add missing markdown rulers (#1319)
* Update compute_region_instance_group_manager.html.markdown

* Update compute_instance_group_manager.html.markdown
2018-04-11 15:21:48 -07:00
Dana Hoffman
28efae534a
Add wait_for_instances field to IGM and self_link option to the IG data source (#1222)
* Add wait_for_instances field to IGM and self_link option to the IG data source

* don't be clever with errors
2018-03-20 14:20:43 -07:00
ishashchuk
14f1431896 Rolling update support for instance group manager (#1137) 2018-03-15 11:10:09 -07:00
Alexandru Topliceanu
7e64b3f1c1 make it clear that the attribute represents the project id (#672) 2018-03-12 13:59:47 -07:00
Daniel Compton
25bad09a8e Expand docs for auto_healing_policies in Instance Group Managers
Adds more information for both (Zonal) Instance Group Managers and
Regional Instance Group Managers.
2017-10-27 12:02:50 +13:00
Paddy
cfe614b5d9 Fix broken links. 2017-10-02 10:19:22 -07:00
Vincent Roseberry
6b2669f406 Cross-reference multi-zone and single-zone documentation (#402) 2017-09-12 09:34:58 -07:00
Riley Karson
7625ad3375 Document Beta Features in index.html (#280)
* First pass of Beta docs.

* Updated new docs to link as well.

* Updated new Beta resources with Beta link.
2017-08-10 13:28:52 -07:00
Riley Karson
3877b340e6 Add Beta support for auto_healing_policies to instance group manager. (#249)
* Add support for auto_healing_policies to google_compute_instance_group_manager.

* Add a test for self link stability when a v1 resource uses a versioned resource.

* Add a comment about what the stable self link test does.

* make fmt

* Fixed formatting on new tests.

* Address review comments.

* Fix make vet
2017-08-02 10:12:16 -07:00
Paul Stack
54e2c56210 Merge pull request #135 from rileykarson/import-docs-3
Update 5 more importable resources' docs
2017-06-21 12:00:29 +03:00
Riley Karson
3f26ea6425 Updated variable names and docs. 2017-06-16 15:39:44 -07:00
Riley Karson
d0309dad3e Update 5 more Import blocks. 2017-06-16 10:53:36 -07:00
Riley Karson
78b0879c6d Changed google_compute_instance_group_manager target_size default to 0. 2017-06-13 12:43:18 -07:00
Jake Champlin
b105f39423
Transfer google provider website 2017-06-09 10:58:02 -04:00