Skip to content

Merge jammy#601

Merged
aramprice merged 37 commits into
ubuntu-noblefrom
merge-jammy
May 29, 2026
Merged

Merge jammy#601
aramprice merged 37 commits into
ubuntu-noblefrom
merge-jammy

Conversation

@aramprice

Copy link
Copy Markdown
Member

Merging forward from Jammy

cf-rabbit-bot and others added 30 commits May 9, 2026 10:07
* Add job to ensure expected GCP integration network is created

Why
---
The bats and test-stemcells-ipv4 jobs assume a GCP subnetwork named
stemcell-builder-integration-<subnet_int> exists in the bosh-concourse
VPC, with a /24 at 10.100.<subnet_int>.0/24, private Google access, and
IPV4_ONLY stack type. They also require a matching ingress firewall rule
(all-protocol, source CIDR → tags test-stemcells-bats/bat) so that
compilation VMs and BAT deployment VMs can reach the BOSH director's
NATS server. Until now both resources had to be created and maintained
out of band; their absence caused consistent compilation-VM agent
timeouts (builds 466–475).

What
----
* ci/tasks/gcp/ensure-integration-network.sh
  - Authenticates via GCP_JSON_KEY service account.
  - Derives SUBNET_NAME and SUBNET_CIDR from SUBNET_INT.
  - Captures stderr via mktemp temp file (cleaned up by trap on EXIT)
    so that gcloud failures are classified: "was not found" → create the
    resource; anything else → print the error and exit non-zero. This
    prevents auth/permission/transient API errors from being silently
    misinterpreted as "resource missing".
  - Subnetwork: single gcloud describe call captures exit code (for
    existence) and attributes (for drift detection). Validates network,
    ipCidrRange, privateIpGoogleAccess, and stackType; exits non-zero
    with a clear diff on any mismatch.
  - Firewall rule: same stderr-capture pattern. Validates network,
    direction, allowed[0].IPProtocol (must be "all"), sourceRanges[0],
    and disabled (must be False) in one describe call. Validates
    targetTags in a second describe call, sorting both sides before
    comparison to be order-insensitive. Both 'test-stemcells-bats' and
    'bat' tags are required, mirroring the existing
    stemcell-builder-integration-22 rule.
* ci/tasks/gcp/ensure-integration-network.yml
  - Concourse task definition. All params (GCP_JSON_KEY, GCP_PROJECT_ID,
    GCP_REGION, GCP_NETWORK_NAME, SUBNET_INT) are required; no defaults,
    values are provided explicitly by the pipeline.
* ci/pipelines/builder.yml
  - New infrastructure group containing the new job.
  - New job ensure-integration-network:
      * serial: true, manual trigger only.
      * Gets bosh-stemcells-ci and bosh-integration-image, then runs the
        task with GCP_REGION=europe-north2 and
        GCP_NETWORK_NAME=bosh-concourse passed explicitly.
      * No passed: constraint on existing jobs; run on demand when the
        subnet/firewall needs to be created or reconciled.

Verification
------------
* ytt -f ci/pipelines/builder.yml -f ci/pipelines/vars.yml renders
  successfully.
* fly validate-pipeline -c <rendered> reports "looks good".

Co-authored-by: Cursor <cursoragent@cursor.com>

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Harden firewall existence check and validation in ensure-integration-network

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ned Petrov <nedd.petrov@gmail.com>
Copilot AI review requested due to automatic review settings May 29, 2026 21:55
@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 58e27ac7-e8c5-4eb6-837e-5cc7890cbd0f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch merge-jammy

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@linux-foundation-easycla

linux-foundation-easycla Bot commented May 29, 2026

Copy link
Copy Markdown

CLA Not Signed

ystros
ystros previously approved these changes May 29, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR forward-merges Jammy-related pipeline and image metadata updates, adding infrastructure provisioning for GCP integration test networking and migrating stemcell OCI publishing toward registry-image.

Changes:

  • Updates the Ubuntu Jammy metalink to version 1064.0.0.
  • Adds a manual ensure-integration-network Concourse job and GCP task for subnet/firewall provisioning.
  • Refactors publisher steps to parallelize publication work and build/push GHCR stemcell images via oci-build-task and registry-image.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
image-metalinks/ubuntu-jammy/ubuntu-jammy.meta4 Updates Jammy OS image and USN log hashes, sizes, version, and published timestamp.
ci/tasks/gcp/ensure-integration-network.yml Defines the new Concourse task contract for integration network provisioning.
ci/tasks/gcp/ensure-integration-network.sh Adds idempotent GCP subnet and firewall validation/creation logic.
ci/pipelines/builder.yml Adds an infrastructure group and manual ensure-integration-network job.
ci/pipelines/publisher.yml Refactors publishing flow and replaces deprecated Docker image publishing with OCI build plus registry-image.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ci/pipelines/publisher.yml Outdated
Comment thread ci/tasks/gcp/ensure-integration-network.sh
coderabbitai[bot]
coderabbitai Bot previously approved these changes May 29, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Comment thread ci/tasks/gcp/ensure-integration-network.sh
Comment thread ci/pipelines/publisher.yml Outdated
Comment thread ci/pipelines/publisher.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 124 changed files in this pull request and generated 1 comment.

Comment thread ci/pipelines/publisher.yml
@aramprice aramprice merged commit 7283d4b into ubuntu-noble May 29, 2026
17 of 18 checks passed
@aramprice aramprice deleted the merge-jammy branch May 29, 2026 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants