From dc649c94d18e46b134d3e02f8d6fe71e3af20f19 Mon Sep 17 00:00:00 2001 From: Adam Dyess Date: Wed, 17 Apr 2024 14:06:45 -0500 Subject: [PATCH] Run coredns charm validation with image from charmhub --- ci.bash | 1 + jobs/arc-conformance/conformance-spec | 2 +- jobs/integration/tigera_aws.py | 6 ++--- jobs/integration/validation.py | 34 +++++++++------------------ jobs/spec-helpers/bootstrap.yml | 2 +- jobs/validate-offline/spec.yml | 2 +- jobs/validate/calico-spec | 2 +- jobs/validate/tigera-ee-spec | 2 +- jobs/validate/vault-spec | 2 +- juju.bash | 2 +- 10 files changed, 22 insertions(+), 33 deletions(-) diff --git a/ci.bash b/ci.bash index 6784b3c24..6efe3633b 100644 --- a/ci.bash +++ b/ci.bash @@ -9,6 +9,7 @@ function compile::env : "${JUJU_DEPLOY_CHANNEL:?Must have a channel defined}" : "${JUJU_MODEL:?Must have a model defined}" : "${JUJU_UPDATE_STATUS_INTERVAL:=150s}" + : "${JUJU_OWNER:=k8sci}" : "${JOB_STAGE:-}" : "${JOB_REPORTING:-yes}" : "${SERIES:?Must have a release series defined}" diff --git a/jobs/arc-conformance/conformance-spec b/jobs/arc-conformance/conformance-spec index ad1c33482..4f3d2d1ab 100755 --- a/jobs/arc-conformance/conformance-spec +++ b/jobs/arc-conformance/conformance-spec @@ -23,7 +23,7 @@ function juju::bootstrap --force \ --bootstrap-constraints arch="$ARCH" \ --model-default test-mode=true \ - --model-default resource-tags="owner=k8sci" \ + --model-default resource-tags="owner=$JUJU_OWNER" \ --model-default image-stream=released \ --model-default automatically-retry-hooks=true \ --model-default logging-config="=DEBUG" diff --git a/jobs/integration/tigera_aws.py b/jobs/integration/tigera_aws.py index b2fd0e4d1..5ee61e2b4 100755 --- a/jobs/integration/tigera_aws.py +++ b/jobs/integration/tigera_aws.py @@ -12,9 +12,9 @@ VPC_CIDR = "172.30.0.0/16" SUBNET_CIDRS = ["172.30.0.0/24", "172.30.1.0/24"] -REGION = "us-east-2" -AVAILABILITY_ZONE = "us-east-2a" -OWNER = "k8sci" +REGION = os.environ.get("JUJU_CLOUD", "us-east-2") +AVAILABILITY_ZONE = f"{REGION}a" +OWNER = os.environ.get("JUJU_OWNER", "k8sci") BIRD_CONFIG_BASE = """ log syslog all; diff --git a/jobs/integration/validation.py b/jobs/integration/validation.py index db691fbbc..523c6be12 100644 --- a/jobs/integration/validation.py +++ b/jobs/integration/validation.py @@ -1928,30 +1928,18 @@ async def get_offer(): log.info("---") log.info("☆ Verifying DNS with CoreDNS charm") - # Apply a few workarounds for deploying a multiarch coredns image - # See LP#1998607 worker_arch = os.environ.get("ARCH", "amd64") - series = os.environ["SERIES"] - with NamedTemporaryFile("w", dir=Path.cwd()) as f: - f.write( - '{"ImageName": "rocks.canonical.com:443/cdk/coredns/coredns:1.10.0"}' - ) - f.flush() - await tools.run( - "juju", - "deploy", - "-m", - f"{tools.controller_name}:{tools.k8s_model_name}", - f"--constraints=arch={worker_arch}", - f"--channel={tools.charm_channel}", - tools.juju_base(series), - "coredns", - "--trust", - "--resource", - f"coredns-image={f.name}", - ) - await k8s_model.block_until(lambda: "coredns" in k8s_model.applications) - coredns = k8s_model.applications["coredns"] + base_cli_args = tools.juju_base(os.environ["SERIES"]) + base_args = dict([base_cli_args.strip("--").split("=")]) + await k8s_model.deploy( + "coredns", + channel=tools.charm_channel, + constraints={"arch": worker_arch}, + trust=True, + **base_args, + ) + await k8s_model.block_until(lambda: "coredns" in k8s_model.applications) + coredns = k8s_model.applications["coredns"] log.info("Waiting for CoreDNS charm to be ready") await k8s_model.wait_for_idle(raise_on_error=False, status="active") diff --git a/jobs/spec-helpers/bootstrap.yml b/jobs/spec-helpers/bootstrap.yml index 01e64b694..4e3b3dcb8 100644 --- a/jobs/spec-helpers/bootstrap.yml +++ b/jobs/spec-helpers/bootstrap.yml @@ -8,7 +8,7 @@ juju: replace-controller: yes model-default: - test-mode=true - - resource-tags=owner=k8sci + - resource-tags=owner=$JUJU_OWNER deploy: reuse: no bundle: $JUJU_DEPLOY_BUNDLE diff --git a/jobs/validate-offline/spec.yml b/jobs/validate-offline/spec.yml index c515fbad2..4c0f5eb86 100644 --- a/jobs/validate-offline/spec.yml +++ b/jobs/validate-offline/spec.yml @@ -15,7 +15,7 @@ plan: set -x juju kill-controller -y $JUJU_CONTROLLER || true - juju bootstrap $JUJU_CLOUD $JUJU_CONTROLLER --model-default resource-tags=owner=k8sci --model-default test-mode=true + juju bootstrap $JUJU_CLOUD $JUJU_CONTROLLER --model-default resource-tags=owner=$JUJU_OWNER --model-default test-mode=true juju deploy ubuntu --constraints "mem=16G root-disk=500G cores=16" juju-wait -e $JUJU_CONTROLLER:$JUJU_MODEL -w diff --git a/jobs/validate/calico-spec b/jobs/validate/calico-spec index 0eae99416..b53fffe87 100755 --- a/jobs/validate/calico-spec +++ b/jobs/validate/calico-spec @@ -31,7 +31,7 @@ function juju::bootstrap --force \ --bootstrap-constraints arch="$ARCH" \ --model-default test-mode=true \ - --model-default resource-tags=owner=k8sci \ + --model-default resource-tags=owner=$JUJU_OWNER \ --model-default image-stream=daily \ --model-default automatically-retry-hooks=true \ --model-default logging-config="=DEBUG" \ diff --git a/jobs/validate/tigera-ee-spec b/jobs/validate/tigera-ee-spec index cc6a98f70..2112df64a 100755 --- a/jobs/validate/tigera-ee-spec +++ b/jobs/validate/tigera-ee-spec @@ -25,7 +25,7 @@ function juju::bootstrap --force --bootstrap-series "$SERIES" \ --bootstrap-constraints arch="amd64" \ --model-default test-mode=true \ - --model-default resource-tags=owner=k8sci \ + --model-default resource-tags=owner=$JUJU_OWNER \ --model-default image-stream=daily \ --model-default automatically-retry-hooks=true \ --model-default logging-config="=DEBUG" \ diff --git a/jobs/validate/vault-spec b/jobs/validate/vault-spec index 39b99c540..5ed04846c 100755 --- a/jobs/validate/vault-spec +++ b/jobs/validate/vault-spec @@ -22,7 +22,7 @@ set -x # --force --bootstrap-series "$SERIES" \ # --bootstrap-constraints arch="amd64" \ # --model-default test-mode=true \ -# --model-default resource-tags=owner=k8sci \ +# --model-default resource-tags=owner=$JUJU_OWNER \ # --model-default image-stream=daily \ # --model-default vpc-id=vpc-0e4f11d0d4e9ba35f \ # --model-default automatically-retry-hooks=true \ diff --git a/juju.bash b/juju.bash index b19ab036a..09798ebaf 100644 --- a/juju.bash +++ b/juju.bash @@ -89,7 +89,7 @@ function juju::bootstrap fi juju::destroy - TAGS="owner=k8sci job=${JOB_NAME_CUSTOM}" + TAGS="owner=${JUJU_OWNER} job=${JOB_NAME_CUSTOM}" if [ "${JOB_STAGE}" ]; then TAGS+=" stage=${STAGE}"; fi juju bootstrap "$JUJU_CLOUD" "$JUJU_CONTROLLER" \ ${add_model[@]} \