sacloud / terraform-provider-sakuracloud

Terraform provider for SakuraCloud
https://docs.usacloud.jp/terraform
Apache License 2.0
71 stars 22 forks source link

Sandbox zone利用時のVNCProxyの403エラーについて #476

Closed nomuken closed 5 years ago

nomuken commented 5 years ago

概要

Sandboxゾーンを利用している時、さくらのクラウドのAPI側では403エラーを返却し、 terraform applyError で終了してしまいます。

設定ファイル

nomuken@atria:~/D/g/g/n/s/terraform|HEAD⚡?
➤ cat main.tf 
variable "password" {
  default = "testpassword1234567890"
}

provider sakuracloud {
  zone = "tk1v"
}

data sakuracloud_archive "centos" {
  os_type = "centos"
}

resource "sakuracloud_disk" "disk01" {
  name              = "disk01"
  source_archive_id = "${data.sakuracloud_archive.centos.id}"
}

resource "sakuracloud_server" "server01" {
  name  = "server01"
  disks = ["${sakuracloud_disk.disk01.id}"]

  password        = "${var.password}"
  disable_pw_auth = true

}

実行結果

nomuken@atria:~/D/g/g/n/s/terraform|HEAD⚡?                                                   
➤ docker run -it --rm -e SAKURACLOUD_ACCESS_TOKEN=$SAKURACLOUD_ACCESS_TOKEN -e SAKURACLOUD_ACCESS_TOKEN_SECRET=$SAKURACLOUD_ACCESS_TOKEN_SECRET -v $PWD:/workdir sacloud/terraform apply
data.sakuracloud_archive.centos: Refreshing state...

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create                                                                                     

Terraform will perform the following actions:                                                  

  # sakuracloud_disk.disk01 will be created                                                    
  + resource "sakuracloud_disk" "disk01" {                                                     
      + connector                 = "virtio"                                                   
      + graceful_shutdown_timeout = 60                                                         
      + id                        = (known after apply)
      + name                      = "disk01"                                                   
      + plan                      = "ssd"                                                      
      + server_id                 = (known after apply)
      + size                      = 20                                                         
      + source_archive_id         = "113100091395"
      + tags                      = (known after apply)
      + zone                      = (known after apply)
    }                                                                                          

  # sakuracloud_server.server01 will be created                                                
  + resource "sakuracloud_server" "server01" {                                                 
      + additional_display_ipaddresses = (known after apply)
      + cdrom_id                       = (known after apply)
      + commitment                     = "standard"
      + core                           = 1                                                     
      + disable_pw_auth                = true                                                  
      + disks                          = (known after apply)
      + display_ipaddress              = (known after apply)
      + dns_servers                    = (known after apply)
      + gateway                        = (known after apply)
      + graceful_shutdown_timeout      = 60                                                    
      + id                             = (known after apply)
      + interface_driver               = "virtio"
      + ipaddress                      = (known after apply)
      + macaddresses                   = (known after apply)
      + memory                         = 1                                                     
      + name                           = "server01"
      + nic                            = "shared"
      + nw_address                     = (known after apply)
      + nw_mask_len                    = (known after apply)
      + packet_filter_ids              = (known after apply)
      + password                       = (sensitive value)
      + private_host_name              = (known after apply)
      + tags                           = (known after apply)
      + vnc_host                       = (known after apply)
      + vnc_password                   = (sensitive value)
      + vnc_port                       = (known after apply)
      + zone                           = (known after apply)
    }                                                                                          

Plan: 2 to add, 0 to change, 0 to destroy.                                                     

Do you want to perform these actions?                                                          
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.                                                      

  Enter a value: yes                                                                           

sakuracloud_disk.disk01: Creating...                                                           
sakuracloud_disk.disk01: Still creating... [10s elapsed]
sakuracloud_disk.disk01: Still creating... [20s elapsed]
sakuracloud_disk.disk01: Still creating... [30s elapsed]
sakuracloud_disk.disk01: Still creating... [40s elapsed]
sakuracloud_disk.disk01: Creation complete after 47s [id=113101139745]
sakuracloud_server.server01: Creating...                                                       
sakuracloud_server.server01: Still creating... [10s elapsed]

Error: Get VNCProxy info is failed: Error in response: &sacloud.ResultErrorValue{IsFatal:true, Serial:"74c1cf7e7daa7208a2b53445dde499b6", Status:"403 Forbidden", ErrorCode:"disabled_in_sandbox", ErrorMessage:"要求された操作は許可されていません。このゾーンではこの操作は禁止されています。他のゾーンでお試しください。"}

  on main.tf line 18, in resource "sakuracloud_server" "server01":
  18: resource "sakuracloud_server" "server01" {
yamamoto-febc commented 5 years ago

ご報告ありがとうございます。 サンドボックスではVNCProxy取得APIを呼ばないように修正します。

yamamoto-febc commented 5 years ago

477 にて対応し、この対応を含む v1.15.2 をリリースしました。

https://github.com/sacloud/terraform-provider-sakuracloud/releases/tag/v1.15.2

もし再発するようであれば再オープンしてください。 ご報告ありがとうございました。

nomuken commented 5 years ago

こちら問題が解決していることを確認しました!ありがとうございます!