mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 02:15:43 +03:00
e2e: move remote-exec inline to script (#6488)
A failing script in a `remote-exec` provisioner's `inline` stanza won't fail the provisioning step. This lets us continue on to execute tests against potentially broken deployments, rather than letting us know the provisioning itself failed.
This commit is contained in:
@@ -53,17 +53,9 @@ resource "aws_instance" "server" {
|
||||
private_key = "${module.keys.private_key_pem}"
|
||||
}
|
||||
}
|
||||
|
||||
provisioner "remote-exec" {
|
||||
inline = [
|
||||
"aws s3 cp s3://nomad-team-test-binary/builds-oss/${var.nomad_sha}.tar.gz nomad.tar.gz",
|
||||
"sudo cp /ops/shared/config/nomad.service /etc/systemd/system/nomad.service",
|
||||
"sudo tar -zxvf nomad.tar.gz -C /usr/local/bin/",
|
||||
"sudo cp /tmp/server.hcl /etc/nomad.d/nomad.hcl",
|
||||
"sudo chmod 0755 /usr/local/bin/nomad",
|
||||
"sudo chown root:root /usr/local/bin/nomad",
|
||||
"sudo systemctl enable nomad.service",
|
||||
"sudo systemctl start nomad.service",
|
||||
"/ops/shared/config/provision-server.sh ${var.nomad_sha}",
|
||||
]
|
||||
|
||||
connection {
|
||||
@@ -111,29 +103,9 @@ resource "aws_instance" "client" {
|
||||
|
||||
provisioner "remote-exec" {
|
||||
inline = [
|
||||
"aws s3 cp s3://nomad-team-test-binary/builds-oss/${var.nomad_sha}.tar.gz nomad.tar.gz",
|
||||
"sudo tar -zxvf nomad.tar.gz -C /usr/local/bin/",
|
||||
"sudo cp /ops/shared/config/nomad.service /etc/systemd/system/nomad.service",
|
||||
"sudo cp /tmp/client.hcl /etc/nomad.d/nomad.hcl",
|
||||
"sudo chmod 0755 /usr/local/bin/nomad",
|
||||
"sudo chown root:root /usr/local/bin/nomad",
|
||||
|
||||
# Setup Host Volumes
|
||||
"sudo mkdir /tmp/data",
|
||||
|
||||
# Run Nomad Service
|
||||
"sudo systemctl enable nomad.service",
|
||||
|
||||
"sudo systemctl start nomad.service",
|
||||
|
||||
# Install CNI plugins
|
||||
"sudo mkdir -p /opt/cni/bin",
|
||||
|
||||
"wget -q -O - https://github.com/containernetworking/plugins/releases/download/v0.8.2/cni-plugins-linux-amd64-v0.8.2.tgz | sudo tar -C /opt/cni/bin -xz",
|
||||
"/ops/shared/config/provision-client.sh ${var.nomad_sha}",
|
||||
]
|
||||
|
||||
# Setup host volumes
|
||||
|
||||
connection {
|
||||
user = "ubuntu"
|
||||
private_key = "${module.keys.private_key_pem}"
|
||||
|
||||
2
e2e/terraform/shared/config/README.md
Normal file
2
e2e/terraform/shared/config/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
Scripts installed by Packer into our base images, to be run during
|
||||
`remote-exec` provisioning by Terraform.
|
||||
31
e2e/terraform/shared/config/provision-client.sh
Executable file
31
e2e/terraform/shared/config/provision-client.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# installs and configures the desired build of Nomad as a server
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
nomad_sha=$1
|
||||
|
||||
# download
|
||||
aws s3 cp s3://nomad-team-test-binary/builds-oss/${nomad_sha}.tar.gz nomad.tar.gz
|
||||
|
||||
# unpack and install
|
||||
sudo tar -zxvf nomad.tar.gz -C /usr/local/bin/
|
||||
sudo chmod 0755 /usr/local/bin/nomad
|
||||
sudo chown root:root /usr/local/bin/nomad
|
||||
|
||||
# install config file
|
||||
sudo cp /tmp/client.hcl /etc/nomad.d/nomad.hcl
|
||||
|
||||
# Setup Host Volumes
|
||||
sudo mkdir /tmp/data
|
||||
|
||||
# Install CNI plugins
|
||||
sudo mkdir -p /opt/cni/bin
|
||||
wget -q -O - \
|
||||
https://github.com/containernetworking/plugins/releases/download/v0.8.2/cni-plugins-linux-amd64-v0.8.2.tgz \
|
||||
| sudo tar -C /opt/cni/bin -xz
|
||||
|
||||
# enable as a systemd service
|
||||
sudo cp /ops/shared/config/nomad.service /etc/systemd/system/nomad.service
|
||||
sudo systemctl enable nomad.service
|
||||
sudo systemctl start nomad.service
|
||||
22
e2e/terraform/shared/config/provision-server.sh
Executable file
22
e2e/terraform/shared/config/provision-server.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
# installs and configures the desired build of Nomad as a server
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
nomad_sha=$1
|
||||
|
||||
# download
|
||||
aws s3 cp s3://nomad-team-test-binary/builds-oss/${nomad_sha}.tar.gz nomad.tar.gz
|
||||
|
||||
# unpack and install
|
||||
sudo tar -zxvf nomad.tar.gz -C /usr/local/bin/
|
||||
sudo chmod 0755 /usr/local/bin/nomad
|
||||
sudo chown root:root /usr/local/bin/nomad
|
||||
|
||||
# install config file
|
||||
sudo cp /tmp/server.hcl /etc/nomad.d/nomad.hcl
|
||||
|
||||
# enable as a systemd service
|
||||
sudo cp /ops/shared/config/nomad.service /etc/systemd/system/nomad.service
|
||||
sudo systemctl enable nomad.service
|
||||
sudo systemctl start nomad.service
|
||||
0
e2e/terraform/shared/scripts/client.sh
Normal file → Executable file
0
e2e/terraform/shared/scripts/client.sh
Normal file → Executable file
0
e2e/terraform/shared/scripts/server.sh
Normal file → Executable file
0
e2e/terraform/shared/scripts/server.sh
Normal file → Executable file
0
e2e/terraform/shared/scripts/setup.sh
Normal file → Executable file
0
e2e/terraform/shared/scripts/setup.sh
Normal file → Executable file
Reference in New Issue
Block a user