Closed Masatoshi-Kouda closed 6 years ago
ご連絡ありがとうございます!! こちら、再現確認しました。
原因はTerraform for さくらのクラウド側でのディスクの修正可否判定にあります。
以下のようにディスクの修正可否の判定を行い、修正不可であれば処理を行わないようになっています。
サーバ/ディスクの作成/更新時、以下のルールでディスクの修正が行えるか判定しています。
server.BundleInfo
がある場合は不可(Windows)os-linux
or os-unix
)が設定されていたら可今回はpackerで作成されたものであるため、ディスク -> ソースアーカイブと辿った時点で、
暫定対応として、以下のワークアラウンドにて回避可能です。
packerで作成したアーカイブにos-linux
またはos-unix
タグを付与してください。
packerでアーカイブ作成時に付与する場合は以下のようにJSON内でarchive_tags
を指定することで付与可能です。
{
"builders": [{
"type": "sakuracloud",
"zone": "is1b",
"os_type": "ubuntu",
"user_name": "ubuntu",
"password": "password",
"core" : 2,
"memory_size": 4,
"archive_tags": ["os-linux","@size-extendable"]
}],
"provisioners":[
{
"type": "shell",
"execute_command": "echo 'password' | {{ .Vars }} sudo -E -S sh '{{ .Path }}'",
"inline": [
"apt-get update -y",
"echo 'ubuntu ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/ubuntu",
"chmod 0440 /etc/sudoers.d/ubuntu"
]
}]
}
packer側にて、ディスクの修正が可能なアーカイブ/ディスクから作成された場合に、os-linux
or os-unix
タグを自動的に付与するようにします。
@yamamoto-febc ディスク修正可否の判定について詳細に解説頂きありがとうございます!
教えて頂きましたpackerアーカイブ作成時にarchive_tags
にos-linux
を指定することで、
terraform側で設定したDISKの修正項目が正常に反映されることが確認できました!
大変助かりました、ありがとうございます!!
@Masatoshi-Kouda ,
動作したようでよかったです!! 当Issueは sacloud/packer-builder-sakuracloud#13の対応を行うまでOpenのままにしておきます。
Packer for さくらのクラウド側の対応が行われるまでarchive_tags
を利用する方法での回避をお願いいたします。
Packer for さくらのクラウド側にて対応を行ったためクローズします。
事象
さくらクラウドパブリックアーカイブ(ubuntu)を元にPackerでアーカイブ作成後、 Terraformで対象のアーカイブIDを指定し実行したところ、ディスクで定義した内容や OS側ethのIPアドレスが変更されない状況が発生しました。
パブリックアーカイブ(ubuntu)を指定した場合は正常に変更される。
カスタマイズしたアーカイブからサーバ作成する場合、下記ドキュメントの
注2
に記載されている ようにOSによっては変更できないのでしょうか?https://sacloud.github.io/terraform-provider-sakuracloud/configuration/resources/disk/
対処方法あれば教えて頂ければ幸いでございます :bow:
バージョン情報
Terraform
Packer
さくらクラウド パブリックアーカイブ
利用したファイルの内容
Packer
Terraform
sakuracloud_disk
のsource_archive_id
は上記のPackerで払い出されたIDを指定