diff --git a/e2e/terraform/Makefile b/e2e/terraform/Makefile index 0dbc8e377..6bbb785dd 100644 --- a/e2e/terraform/Makefile +++ b/e2e/terraform/Makefile @@ -7,14 +7,14 @@ plan: terraform plan \ -var="nomad_local_binary=$(PKG_PATH)" \ -var="volumes=false" \ - -var="client_count_ubuntu_bionic_amd64=3" \ + -var="client_count_ubuntu_jammy_amd64=3" \ -var="client_count_windows_2016_amd64=0" apply: terraform apply -auto-approve \ -var="nomad_local_binary=$(PKG_PATH)" \ -var="volumes=false" \ - -var="client_count_ubuntu_bionic_amd64=3" \ + -var="client_count_ubuntu_jammy_amd64=3" \ -var="client_count_windows_2016_amd64=0" clean: destroy tidy @@ -22,7 +22,7 @@ clean: destroy tidy destroy: terraform destroy -auto-approve \ -var="nomad_local_binary=$(PKG_PATH)" \ - -var="client_count_ubuntu_bionic_amd64=3" \ + -var="client_count_ubuntu_jammy_amd64=3" \ -var="client_count_windows_2016_amd64=0" # deploy what's in E2E nightly diff --git a/e2e/terraform/README.md b/e2e/terraform/README.md index ddef567c9..bd298d873 100644 --- a/e2e/terraform/README.md +++ b/e2e/terraform/README.md @@ -47,7 +47,7 @@ Linux clients or Windows clients. region = "us-east-1" instance_type = "t2.medium" server_count = "3" -client_count_ubuntu_bionic_amd64 = "4" +client_count_ubuntu_jammy_amd64 = "4" client_count_windows_2016_amd64 = "1" ``` diff --git a/e2e/terraform/compute.tf b/e2e/terraform/compute.tf index b7ce0aaed..c8b1908b4 100644 --- a/e2e/terraform/compute.tf +++ b/e2e/terraform/compute.tf @@ -3,7 +3,7 @@ locals { } resource "aws_instance" "server" { - ami = data.aws_ami.ubuntu_bionic_amd64.image_id + ami = data.aws_ami.ubuntu_jammy_amd64.image_id instance_type = var.instance_type key_name = module.keys.key_name vpc_security_group_ids = [aws_security_group.primary.id] @@ -19,18 +19,18 @@ resource "aws_instance" "server" { } } -resource "aws_instance" "client_ubuntu_bionic_amd64" { - ami = data.aws_ami.ubuntu_bionic_amd64.image_id +resource "aws_instance" "client_ubuntu_jammy_amd64" { + ami = data.aws_ami.ubuntu_jammy_amd64.image_id instance_type = var.instance_type key_name = module.keys.key_name vpc_security_group_ids = [aws_security_group.primary.id] - count = var.client_count_ubuntu_bionic_amd64 + count = var.client_count_ubuntu_jammy_amd64 iam_instance_profile = data.aws_iam_instance_profile.nomad_e2e_cluster.name availability_zone = var.availability_zone # Instance tags tags = { - Name = "${local.random_name}-client-ubuntu-bionic-amd64-${count.index}" + Name = "${local.random_name}-client-ubuntu-jammy-amd64-${count.index}" ConsulAutoJoin = "auto-join-${local.random_name}" User = data.aws_caller_identity.current.arn } @@ -64,13 +64,13 @@ EOT } -data "aws_ami" "ubuntu_bionic_amd64" { +data "aws_ami" "ubuntu_jammy_amd64" { most_recent = true owners = ["self"] filter { name = "name" - values = ["${local.ami_prefix}-ubuntu-bionic-amd64-*"] + values = ["${local.ami_prefix}-ubuntu-jammy-amd64-*"] } filter { diff --git a/e2e/terraform/nomad.tf b/e2e/terraform/nomad.tf index de87bae83..e166ca656 100644 --- a/e2e/terraform/nomad.tf +++ b/e2e/terraform/nomad.tf @@ -25,18 +25,18 @@ module "nomad_server" { # TODO: split out the different Linux targets (ubuntu, centos, arm, etc.) when # they're available -module "nomad_client_ubuntu_bionic_amd64" { +module "nomad_client_ubuntu_jammy_amd64" { source = "./provision-nomad" - depends_on = [aws_instance.client_ubuntu_bionic_amd64] - count = var.client_count_ubuntu_bionic_amd64 + depends_on = [aws_instance.client_ubuntu_jammy_amd64] + count = var.client_count_ubuntu_jammy_amd64 platform = "linux" arch = "linux_amd64" role = "client" index = count.index - instance = aws_instance.client_ubuntu_bionic_amd64[count.index] + instance = aws_instance.client_ubuntu_jammy_amd64[count.index] - nomad_local_binary = count.index < length(var.nomad_local_binary_client_ubuntu_bionic_amd64) ? var.nomad_local_binary_client_ubuntu_bionic_amd64[count.index] : var.nomad_local_binary + nomad_local_binary = count.index < length(var.nomad_local_binary_client_ubuntu_jammy_amd64) ? var.nomad_local_binary_client_ubuntu_jammy_amd64[count.index] : var.nomad_local_binary tls_ca_key = tls_private_key.ca.private_key_pem tls_ca_cert = tls_self_signed_cert.ca.cert_pem diff --git a/e2e/terraform/outputs.tf b/e2e/terraform/outputs.tf index 8c97056ca..b432744ef 100644 --- a/e2e/terraform/outputs.tf +++ b/e2e/terraform/outputs.tf @@ -3,7 +3,7 @@ output "servers" { } output "linux_clients" { - value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip + value = aws_instance.client_ubuntu_jammy_amd64.*.public_ip } output "windows_clients" { @@ -28,7 +28,7 @@ ssh into servers with: ssh into clients with: -%{for ip in aws_instance.client_ubuntu_bionic_amd64.*.public_ip~} +%{for ip in aws_instance.client_ubuntu_jammy_amd64.*.public_ip~} ssh -i keys/${local.random_name}.pem ubuntu@${ip} %{endfor~} %{for ip in aws_instance.client_windows_2016_amd64.*.public_ip~} diff --git a/e2e/terraform/packer/README.md b/e2e/terraform/packer/README.md index a6b843107..dbe5b6c81 100644 --- a/e2e/terraform/packer/README.md +++ b/e2e/terraform/packer/README.md @@ -16,8 +16,8 @@ These builds are run as-needed to update the AMIs used by the end-to-end test in $ packer --version 1.6.4 -# build Ubuntu Bionic AMI -$ ./build ubuntu-bionic-amd64 +# build Ubuntu Jammy AMI +$ ./build ubuntu-jammy-amd64 # build Windows AMI $ ./build windows-2016-amd64 diff --git a/e2e/terraform/packer/build b/e2e/terraform/packer/build index 9f4762872..b8b39b7da 100755 --- a/e2e/terraform/packer/build +++ b/e2e/terraform/packer/build @@ -10,7 +10,7 @@ Usage: build Build an AMI for the target configuration Examples - build ubuntu-bionic-amd64 + build ubuntu-jammy-amd64 EOF diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64.pkr.hcl b/e2e/terraform/packer/ubuntu-jammy-amd64.pkr.hcl new file mode 100644 index 000000000..3dacc507e --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64.pkr.hcl @@ -0,0 +1,56 @@ +variable "build_sha" { + type = string + description = "the revision of the packer scripts building this image" +} + +locals { + timestamp = regex_replace(timestamp(), "[- TZ:]", "") + distro = "ubuntu-jammy-22.04-amd64-server-*" + version = "v3" +} + +source "amazon-ebs" "latest_ubuntu_jammy" { + ami_name = "nomad-e2e-${local.version}-ubuntu-jammy-amd64-${local.timestamp}" + iam_instance_profile = "packer_build" // defined in nomad-e2e repo + instance_type = "t3a.medium" + region = "us-east-1" + ssh_username = "ubuntu" + ssh_interface = "public_ip" + + source_ami_filter { + filters = { + architecture = "x86_64" + "block-device-mapping.volume-type" = "gp2" + name = "ubuntu/images/hvm-ssd/${local.distro}" + root-device-type = "ebs" + virtualization-type = "hvm" + } + most_recent = true + owners = ["099720109477"] // Canonical + } + + tags = { + OS = "Ubuntu" + Version = "Jammy" + BuilderSha = var.build_sha + } +} + +build { + sources = ["source.amazon-ebs.latest_ubuntu_jammy"] + + provisioner "file" { + destination = "/tmp/linux" + source = "./ubuntu-jammy-amd64" + } + + // cloud-init modifies the apt sources, so we need to wait + // before running our setup + provisioner "shell-local" { + inline = ["sleep 30"] + } + + provisioner "shell" { + script = "./ubuntu-jammy-amd64/setup.sh" + } +} diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/consul.service b/e2e/terraform/packer/ubuntu-jammy-amd64/consul.service new file mode 100644 index 000000000..5e82288c2 --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/consul.service @@ -0,0 +1,16 @@ +[Unit] +Description=Consul Agent +Requires=network-online.target +After=network-online.target + +[Service] +Restart=on-failure +Environment=CONSUL_ALLOW_PRIVILEGED_PORTS=true +ExecStart=/usr/local/bin/consul agent -config-dir="/etc/consul.d" +ExecReload=/bin/kill -HUP $MAINPID +KillSignal=SIGTERM +User=root +Group=root + +[Install] +WantedBy=multi-user.target diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/dnsconfig.sh b/e2e/terraform/packer/ubuntu-jammy-amd64/dnsconfig.sh new file mode 100644 index 000000000..d4f476bfd --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/dnsconfig.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +set -e + +# These tasks can't be executed during AMI builds because they rely on +# instance-specific data. + +mkdir -p /var/run/dnsmasq +mkdir -p /etc/dnsmasq.d + +# Add hostname to /etc/hosts +echo "127.0.0.1 $(hostname)" | tee --append /etc/hosts + +# this script should run after docker.service but we can't guarantee +# it's created docker0 yet, so wait to make sure +while ! (ip link | grep -q docker0) +do + sleep 1 +done + +# Use dnsmasq first and then docker bridge network for DNS resolution +DOCKER_BRIDGE_IP_ADDRESS=$(/usr/local/bin/sockaddr eval 'GetInterfaceIP "docker0"') +cat < /tmp/resolv.conf +nameserver 127.0.0.1 +nameserver $DOCKER_BRIDGE_IP_ADDRESS +EOF +cp /tmp/resolv.conf /etc/resolv.conf + +# need to get the interface for dnsmasq config so that we can +# accomodate both "predictable" and old-style interface names +IFACE=$(/usr/local/bin/sockaddr eval 'GetDefaultInterfaces | attr "Name"') + +cat < /tmp/dnsmasq +port=53 +resolv-file=/var/run/dnsmasq/resolv.conf +bind-interfaces +interface=docker0 +interface=lo +interface=$IFACE +listen-address=127.0.0.1 +server=/consul/127.0.0.1#8600 +EOF +cp /tmp/dnsmasq /etc/dnsmasq.d/default + +# need to get the AWS DNS address from the VPC... +# this is pretty hacky but will work for any typical case +MAC=$(curl -s --fail http://169.254.169.254/latest/meta-data/mac) +CIDR_BLOCK=$(curl -s --fail "http://169.254.169.254/latest/meta-data/network/interfaces/macs/$MAC/vpc-ipv4-cidr-block") +VPC_DNS_ROOT=$(echo "$CIDR_BLOCK" | cut -d'.' -f1-3) +echo "nameserver ${VPC_DNS_ROOT}.2" > /tmp/dnsmasq-resolv.conf +cp /tmp/dnsmasq-resolv.conf /var/run/dnsmasq/resolv.conf + +/usr/sbin/dnsmasq --test diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/dnsmasq b/e2e/terraform/packer/ubuntu-jammy-amd64/dnsmasq new file mode 100644 index 000000000..42b06f6e5 --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/dnsmasq @@ -0,0 +1,8 @@ +port=53 +resolv-file=/var/run/dnsmasq/resolv.conf +bind-interfaces +interface=docker0 +interface=lo +interface=eth0 +listen-address=127.0.0.1 +server=/consul/127.0.0.1#8600 diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/dnsmasq.service b/e2e/terraform/packer/ubuntu-jammy-amd64/dnsmasq.service new file mode 100644 index 000000000..93b7c97e3 --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/dnsmasq.service @@ -0,0 +1,37 @@ +[Unit] +Description=dnsmasq - A lightweight DHCP and caching DNS server +Requires=network.target +Wants=nss-lookup.target +Before=nss-lookup.target +After=network.target +After=docker.service + +[Service] +Type=forking +PIDFile=/run/dnsmasq/dnsmasq.pid + +# Configure our hosts and resolver file with info from the host, +# then test the resulting config file before starting +ExecStartPre=/usr/local/bin/dnsconfig.sh + +# (from upstream) +# We run dnsmasq via the /etc/init.d/dnsmasq script which acts as a +# wrapper picking up extra configuration files and then execs dnsmasq +# itself, when called with the "systemd-exec" function. +ExecStart=/etc/init.d/dnsmasq systemd-exec + +# (from upstream) +# The systemd-*-resolvconf functions configure (and deconfigure) +# resolvconf to work with the dnsmasq DNS server. They're called like +# this to get correct error handling (ie don't start-resolvconf if the +# dnsmasq daemon fails to start. +ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf + +# We need to tell docker to pick up the changes +ExecStartPost=/bin/systemctl restart docker + +ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/io.podman.service b/e2e/terraform/packer/ubuntu-jammy-amd64/io.podman.service new file mode 100644 index 000000000..5be5329f4 --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/io.podman.service @@ -0,0 +1,15 @@ +[Unit] +Description=Podman Remote API Service +Requires=io.podman.socket +After=io.podman.socket +Documentation=man:podman-varlink(1) + +[Service] +Type=simple +ExecStart=/usr/bin/podman varlink unix:%t/podman/io.podman --timeout=60000 +TimeoutStopSec=30 +KillMode=process + +[Install] +WantedBy=multi-user.target +Also=io.podman.socket diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/io.podman.socket b/e2e/terraform/packer/ubuntu-jammy-amd64/io.podman.socket new file mode 100644 index 000000000..89ef28127 --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/io.podman.socket @@ -0,0 +1,10 @@ +[Unit] +Description=Podman Remote API Socket +Documentation=man:podman-varlink(1) https://podman.io/blogs/2019/01/16/podman-varlink.html + +[Socket] +ListenStream=%t/podman/io.podman +SocketMode=0600 + +[Install] +WantedBy=sockets.target diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/nomad.service b/e2e/terraform/packer/ubuntu-jammy-amd64/nomad.service new file mode 100644 index 000000000..8490fc9c8 --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/nomad.service @@ -0,0 +1,21 @@ +[Unit] +Description=Nomad Agent +Requires=network-online.target +After=network-online.target +StartLimitIntervalSec=0 +StartLimitBurst=3 + +[Service] +ExecReload=/bin/kill -HUP $MAINPID +ExecStart=/usr/local/bin/nomad agent -config /etc/nomad.d +EnvironmentFile=-/etc/nomad.d/.environment +KillMode=process +KillSignal=SIGINT +LimitNOFILE=65536 +LimitNPROC=infinity +TasksMax=infinity +Restart=on-failure +RestartSec=2 + +[Install] +WantedBy=multi-user.target diff --git a/e2e/terraform/packer/ubuntu-jammy-amd64/setup.sh b/e2e/terraform/packer/ubuntu-jammy-amd64/setup.sh new file mode 100755 index 000000000..e4a552513 --- /dev/null +++ b/e2e/terraform/packer/ubuntu-jammy-amd64/setup.sh @@ -0,0 +1,154 @@ +#!/usr/bin/env bash +# setup script for Ubuntu Linux 22.04. Assumes that Packer has placed +# build-time config files at /tmp/linux + +set -e + +NOMAD_PLUGIN_DIR=/opt/nomad/plugins/ + +mkdir_for_root() { + sudo mkdir -p "$1" + sudo chmod 755 "$1" +} + +# Disable interactive apt prompts +export DEBIAN_FRONTEND=noninteractive +echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections + +mkdir_for_root /opt +mkdir_for_root /srv/data # for host volumes + +# Dependencies +sudo apt-get update +sudo apt-get upgrade -y +sudo apt-get install -y \ + software-properties-common \ + dnsmasq unzip tree redis-tools jq curl tmux awscli nfs-common \ + apt-transport-https ca-certificates gnupg2 + +# Install sockaddr +aws s3 cp "s3://nomad-team-dev-test-binaries/tools/sockaddr_linux_amd64" /tmp/sockaddr +sudo mv /tmp/sockaddr /usr/local/bin +sudo chmod +x /usr/local/bin/sockaddr +sudo chown root:root /usr/local/bin/sockaddr + +# Disable the firewall +sudo ufw disable || echo "ufw not installed" + +echo "Install HashiCorp apt repositories" +curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - +sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" +sudo apt-get update + +echo "Install Consul and Nomad" +sudo apt-get install -y \ + consul-enterprise \ + nomad + +# Note: neither service will start on boot because we haven't enabled +# the systemd unit file and we haven't uploaded any configuration +# files for Consul and Nomad + +echo "Configure Consul" +mkdir_for_root /etc/consul.d +mkdir_for_root /opt/consul +sudo mv /tmp/linux/consul.service /etc/systemd/system/consul.service + +echo "Configure Nomad" +mkdir_for_root /etc/nomad.d +mkdir_for_root /opt/nomad +mkdir_for_root $NOMAD_PLUGIN_DIR +sudo mv /tmp/linux/nomad.service /etc/systemd/system/nomad.service + +echo "Installing third-party apt repositories" + +# Docker +distro=$(lsb_release -si | tr '[:upper:]' '[:lower:]') +curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - +sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/${distro} $(lsb_release -cs) stable" + +# Java +sudo add-apt-repository -y ppa:openjdk-r/ppa + +# Podman +. /etc/os-release +curl -fsSL "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key" | sudo apt-key add - +sudo add-apt-repository "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" + +sudo apt-get update + +echo "Installing Docker" +sudo apt-get install -y docker-ce + +echo "Installing Java" +sudo apt-get install -y openjdk-8-jdk-headless + +echo "Installing CNI plugins" +sudo mkdir -p /opt/cni/bin +wget -q -O - \ + https://github.com/containernetworking/plugins/releases/download/v1.0.0/cni-plugins-linux-amd64-v1.0.0.tgz \ + | sudo tar -C /opt/cni/bin -xz + +echo "Installing Podman" +sudo apt-get -y install podman + +# get catatonit (to check podman --init switch) +wget -q -P /tmp https://github.com/openSUSE/catatonit/releases/download/v0.1.4/catatonit.x86_64 +mkdir -p /usr/libexec/podman +sudo mv /tmp/catatonit* /usr/libexec/podman/catatonit +sudo chmod +x /usr/libexec/podman/catatonit + +echo "Installing latest podman task driver" +# install nomad-podman-driver and move to plugin dir +latest_podman=$(curl -s https://releases.hashicorp.com/nomad-driver-podman/index.json | jq --raw-output '.versions |= with_entries(select(.key|match("^\\d+\\.\\d+\\.\\d+$"))) | .versions | keys[]' | sort -rV | head -n1) + +wget -q -P /tmp "https://releases.hashicorp.com/nomad-driver-podman/${latest_podman}/nomad-driver-podman_${latest_podman}_linux_amd64.zip" +sudo unzip -q "/tmp/nomad-driver-podman_${latest_podman}_linux_amd64.zip" -d "$NOMAD_PLUGIN_DIR" +sudo chmod +x "${NOMAD_PLUGIN_DIR}/nomad-driver-podman" + +# enable varlink socket (not included in ubuntu package) +sudo mv /tmp/linux/io.podman.service /etc/systemd/system/io.podman.service +sudo mv /tmp/linux/io.podman.socket /etc/systemd/system/io.podman.socket + +if [ -a "/tmp/linux/nomad-driver-ecs" ]; then + echo "Installing nomad-driver-ecs" + sudo install --mode=0755 --owner=ubuntu /tmp/linux/nomad-driver-ecs "$NOMAD_PLUGIN_DIR" +else + echo "nomad-driver-ecs not found: skipping install" +fi + +echo "Configuring dnsmasq" + +# disable systemd-resolved and configure dnsmasq to forward local requests to +# consul. the resolver files need to dynamic configuration based on the VPC +# address and docker bridge IP, so those will be rewritten at boot time. +sudo systemctl disable systemd-resolved.service +sudo mv /tmp/linux/dnsmasq /etc/dnsmasq.d/default +sudo chown root:root /etc/dnsmasq.d/default + +# this is going to be overwritten at provisioning time, but we need something +# here or we can't fetch binaries to do the provisioning +echo 'nameserver 8.8.8.8' > /tmp/resolv.conf +sudo mv /tmp/resolv.conf /etc/resolv.conf + +sudo mv /tmp/linux/dnsmasq.service /etc/systemd/system/dnsmasq.service +sudo mv /tmp/linux/dnsconfig.sh /usr/local/bin/dnsconfig.sh +sudo chmod +x /usr/local/bin/dnsconfig.sh +sudo systemctl daemon-reload + +echo "Updating boot parameters" + +# enable cgroup_memory and swap +sudo sed -i 's/GRUB_CMDLINE_LINUX="[^"]*/& cgroup_enable=memory swapaccount=1/' /etc/default/grub +sudo update-grub + +echo "Configuring user shell" +sudo tee -a /home/ubuntu/.bashrc << 'EOF' +IP_ADDRESS=$(/usr/local/bin/sockaddr eval 'GetPrivateIP') +export CONSUL_RPC_ADDR=$IP_ADDRESS:8400 +export CONSUL_HTTP_ADDR=$IP_ADDRESS:8500 +export VAULT_ADDR=http://$IP_ADDRESS:8200 +export NOMAD_ADDR=http://$IP_ADDRESS:4646 +export JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64/bin + +EOF diff --git a/e2e/terraform/terraform.tfvars b/e2e/terraform/terraform.tfvars index e1474ebd0..374ed0d60 100644 --- a/e2e/terraform/terraform.tfvars +++ b/e2e/terraform/terraform.tfvars @@ -1,9 +1,9 @@ -region = "us-east-1" -instance_type = "t3.medium" -server_count = "3" -client_count_ubuntu_bionic_amd64 = "4" -client_count_windows_2016_amd64 = "1" -volumes = true +region = "us-east-1" +instance_type = "t3a.medium" +server_count = "3" +client_count_ubuntu_jammy_amd64 = "4" +client_count_windows_2016_amd64 = "1" +volumes = true nomad_local_binary = "../../pkg/linux_amd64/nomad" nomad_local_binary_client_windows_2016_amd64 = ["../../pkg/windows_amd64/nomad.exe"] diff --git a/e2e/terraform/tls_client.tf b/e2e/terraform/tls_client.tf index 794987fff..98ed74ab3 100644 --- a/e2e/terraform/tls_client.tf +++ b/e2e/terraform/tls_client.tf @@ -53,7 +53,7 @@ resource "tls_self_signed_cert" "self_signed" { organization = "HashiCorp, Inc." } - ip_addresses = toset(aws_instance.client_ubuntu_bionic_amd64.*.public_ip) + ip_addresses = toset(aws_instance.client_ubuntu_jammy_amd64.*.public_ip) validity_period_hours = 720 allowed_uses = [ diff --git a/e2e/terraform/variables.tf b/e2e/terraform/variables.tf index 1180ba3e3..7aed56b3c 100644 --- a/e2e/terraform/variables.tf +++ b/e2e/terraform/variables.tf @@ -23,7 +23,7 @@ variable "server_count" { default = "3" } -variable "client_count_ubuntu_bionic_amd64" { +variable "client_count_ubuntu_jammy_amd64" { description = "The number of Ubuntu clients to provision." default = "4" } @@ -89,8 +89,8 @@ variable "nomad_local_binary_server" { default = [] } -variable "nomad_local_binary_client_ubuntu_bionic_amd64" { - description = "A list of nomad local binary paths to deploy to Ubuntu Bionic clients, to override nomad_local_binary" +variable "nomad_local_binary_client_ubuntu_jammy_amd64" { + description = "A list of nomad local binary paths to deploy to Ubuntu Jammy clients, to override nomad_local_binary" type = list(string) default = [] }