Uploaded image for project: 'CoreOS OCP'
  1. CoreOS OCP
  2. COS-2264

[coreos/fedora-coreos-streams] next: new release on 2023-06-26

XMLWordPrintable

    • Upstream
    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • Sprint 238 - Pipeline&Delivery
    • 0
    • 0.000

      [1757252425] Upstream Reporter: Steven Presti
      Upstream issue status: Closed
      Upstream description:

      First, verify that you meet all the [prerequisites](https://github.com/coreos/fedora-coreos-streams/blob/main/RELEASE.md#prerequisites)

      Edit the issue title to include today's date. Once the pipeline spits out the new version ID, you can append it to the title e.g. `(31.20191117.1.0)`.

      1. Pre-release
        1. Promote next-devel changes to next

      <details>
      <summary>Manual alternative</summary>

      Sometimes you need to run the process manually like if you need to add an extra commit to change something in `manifest.yaml`. The steps for this are:

      • `git fetch upstream`
      • `git checkout next`
      • `git reset --hard upstream/next`
      • `/path/to/fedora-coreos-releng-automation/scripts/promote-config.sh next-devel`
      • Open PR against the `next` branch on https://github.com/coreos/fedora-coreos-config

      </details>

        1. Build
        1. Sanity-check the build

      Using the [the build browser for the `next` stream](https://builds.coreos.fedoraproject.org/browser?stream=next):

      1. ?? Release ??

      IMPORTANT: this is the point of no return here. Once the OSTree commit is
      imported into the unified repo, any machine that manually runs `rpm-ostree
      upgrade` will have the new update.

        1. Run the release job

      At this point, Cincinnati will see the new release on its next refresh and create a corresponding node in the graph without edges pointing to it yet.

        1. Refresh metadata (stream and updates)

      <details>
      <summary>Rollout general guidelines</summary>

      Risk Day of the week Rollout Start Time Time allocation
      -------- ------- ------- -------
      risky Tuesday 2PM UTC 72H
      common Tuesday 2PM UTC 48H
      rapid Tuesday 2PM UTC 24H

      When setting a rollout start time ask "when would be the best time to react to
      any errors or regressions from updates?". Commonly we select 2PM UTC so that the
      rollout's start at 10am EST(?1 for daylight savings), but these can be fluid and
      adjust after talking with the fedora-coreos IRC. Note, this is impacted by the
      day of the week and holidays.

      The later in the week the release gets held up due to unforeseen issues the more
      likely the rollout time allocation will need to shrink or the release will need
      to be deferred.
      </details>

      <details>
      <summary>Manual alternative</summary>

      • Make sure your `fedora-coreos-stream-generator` binary is up-to-date.

      From a checkout of this repo:

      • Update stream metadata, by running:

      ```
      fedora-coreos-stream-generator -releases=https://fcos-builds.s3.amazonaws.com/prod/streams/next/releases.json -output-file=streams/next.json -pretty-print
      ```

      • Add a rollout. For example, for a 48-hour rollout starting at 10 AM ET the same day, run:

      ```
      ./rollout.py add next <version> "10 am ET today" 48
      ```

      • Commit the changes and open a PR against the repo
        </details>

      <details>
      <summary>Update graph manual check</summary>

      ```
      curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=x86_64&stream=next&rollout_wariness=0'
      curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=aarch64&stream=next&rollout_wariness=0'
      curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=ppc64le&stream=next&rollout_wariness=0'
      curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=s390x&stream=next&rollout_wariness=0'
      ```

      </details>

      NOTE: In the future, most of these steps will be automated.

        1. Housekeeping

              rh-ee-marmijo Michael Armijo
              upstream-sync Upstream Sync
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: