Skip to content

Commit

Permalink
Workaround Terraform v1.1 file provisioner regression
Browse files Browse the repository at this point in the history
* Terraform v1.1 changed the behavior of provisioners and
`remote-exec` in a way that breaks support for expansions
in commands (including file provisioner, where `destination`
is part of an `scp` command)
* Terraform will likely revert the change eventually, but I
suspect it will take a while
* Instead, we can stop relying on Terraform's expansion
behavior. `/home/core` is a suitable choice for `$HOME` on
both Flatcar Linux and Fedora CoreOS (harldink `/var/home/core`)

Rel: hashicorp/terraform#30243
  • Loading branch information
dghubble committed Dec 28, 2021
1 parent 9e38077 commit 725ec48
Show file tree
Hide file tree
Showing 11 changed files with 27 additions and 26 deletions.
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Notable changes between versions.
## Latest

* Kubernetes [v1.23.1](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#v1231)
* Workaround Terraform v1.1 regression in `file` provisioner

### Flatcar Linux

Expand Down
2 changes: 1 addition & 1 deletion aws/fedora-coreos/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
Expand Down
2 changes: 1 addition & 1 deletion aws/flatcar-linux/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
Expand Down
2 changes: 1 addition & 1 deletion azure/fedora-coreos/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
Expand Down
2 changes: 1 addition & 1 deletion azure/flatcar-linux/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
Expand Down
10 changes: 5 additions & 5 deletions bare-metal/fedora-coreos/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,17 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
"sudo touch /etc/kubernetes",
"sudo /opt/bootstrap/layout",
]
Expand All @@ -65,12 +65,12 @@ resource "null_resource" "copy-worker-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
"sudo touch /etc/kubernetes",
]
}
Expand Down
10 changes: 5 additions & 5 deletions bare-metal/flatcar-linux/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,17 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
"sudo /opt/bootstrap/layout",
]
}
Expand All @@ -66,12 +66,12 @@ resource "null_resource" "copy-worker-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
]
}
}
Expand Down
10 changes: 5 additions & 5 deletions digital-ocean/fedora-coreos/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
"sudo touch /etc/kubernetes",
"sudo /opt/bootstrap/layout",
]
Expand All @@ -55,12 +55,12 @@ resource "null_resource" "copy-worker-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
"sudo touch /etc/kubernetes",
]
}
Expand Down
10 changes: 5 additions & 5 deletions digital-ocean/flatcar-linux/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
"sudo /opt/bootstrap/layout",
]
}
Expand All @@ -54,12 +54,12 @@ resource "null_resource" "copy-worker-secrets" {

provisioner "file" {
content = module.bootstrap.kubeconfig-kubelet
destination = "$HOME/kubeconfig"
destination = "/home/core/kubeconfig"
}

provisioner "remote-exec" {
inline = [
"sudo mv $HOME/kubeconfig /etc/kubernetes/kubeconfig",
"sudo mv /home/core/kubeconfig /etc/kubernetes/kubeconfig",
]
}
}
Expand Down
2 changes: 1 addition & 1 deletion google-cloud/fedora-coreos/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
Expand Down
2 changes: 1 addition & 1 deletion google-cloud/flatcar-linux/kubernetes/ssh.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ resource "null_resource" "copy-controller-secrets" {

provisioner "file" {
content = join("\n", local.assets_bundle)
destination = "$HOME/assets"
destination = "/home/core/assets"
}

provisioner "remote-exec" {
Expand Down

0 comments on commit 725ec48

Please sign in to comment.