Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

next: new release on 2020-06-25 (32.20200615.1.3) #139

Closed
28 of 35 tasks
dustymabe opened this issue Jun 24, 2020 · 10 comments
Closed
28 of 35 tasks

next: new release on 2020-06-25 (32.20200615.1.3) #139

dustymabe opened this issue Jun 24, 2020 · 10 comments
Assignees
Labels

Comments

@dustymabe
Copy link
Member

dustymabe commented Jun 24, 2020

First, verify that you meet all the prerequisites

Name this issue next: new release on YYYY-MM-DD with today's date. Once the pipeline spits out the new version ID, you can append it to the title e.g. (31.20191117.2.0).

Pre-release

Promote next-devel changes to next

From the checkout for fedora-coreos-config (replace upstream below with
whichever remote name tracks coreos/):

  • git fetch upstream
  • git checkout next
  • git reset --hard upstream/next
  • /path/to/fedora-coreos-releng-automation/scripts/promote-config.sh next-devel
  • Sanity check promotion with git show
  • Open PR against the next branch on https://github.com/coreos/fedora-coreos-config
  • Post a link to the PR as a comment to this issue
  • Ideally have at least one other person check it and approve
  • Once CI has passed, merge it

Build

  • Start a pipeline build (select next, leave all other defaults)
  • Post a link to the job as a comment to this issue
  • Wait for the job to finish

Sanity-check the build

Using the the build browser for the next stream:

  • Verify that the parent commit and version match the previous next release (in the future, we'll want to integrate this check in the release job)
  • Check kola AWS run to make sure it didn't fail
  • Check kola GCP run to make sure it didn't fail

⚠️ 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.

Run the release job

  • Run the release job, filling in for parameters next and the new version ID
  • Post a link to the job as a comment to this issue
  • Wait for job to finish
  • Verify that the OSTree commit and its signature are present and valid by booting a VM at the previous release (e.g. cosa run --qemu-image /path/to/previous.qcow2) and verifying that rpm-ostree upgrade works and rpm-ostree status shows a valid signature.

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.

Refresh metadata (stream and updates)

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
  • Update the updates metadata, editing updates/next.json:
    • Find the last-known-good release (whose rollout has a start_percentage of 1.0) and set its version to the most recent completed rollout
    • Delete releases with completed rollouts
    • Add a new rollout:
      • Set version field to the new version
      • Set start_epoch field to a future timestamp for the rollout start (e.g. date -d '2019/09/10 14:30UTC' +%s)
      • Set start_percentage field to 0.0
      • Set duration_minutes field to a reasonable rollout window (e.g. 2880 for 48h)
    • Update the last-modified field to current time (e.g. date -u +%Y-%m-%dT%H:%M:%SZ)

A reviewer can validate the start_epoch time by running date -u -d @<EPOCH>. An example of encoding and decoding in one step: date -d '2019/09/10 14:30UTC' +%s | xargs -I{} date -u -d @{}.

  • Commit the changes and open a PR against the repo.
  • Post a link to the PR as a comment to this issue
  • Wait for the PR to be approved.
  • Once approved, merge it and verify that the sync-stream-metadata job syncs the contents to S3
  • Verify the new version shows up on the download page
  • Verify the incoming edges are showing up in the update graph:
curl -H 'Accept: application/json' 'https://updates.coreos.fedoraproject.org/v1/graph?basearch=x86_64&stream=next&rollout_wariness=0'

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

Housekeeping

  • If one doesn't already exist, open an issue in this repo for the next release in this stream. Use the approximate date of the release in the title.
    • Add the jira label to the ticket
  • Check the overrides lockfiles in the configs repo for the next-devel stream to see if any overrides are obsolete. They are obsolete if the rpms have hit the stable fedora repos.
    • If a PR was created post a link to the PR as a comment to this issue.
@dustymabe dustymabe added the jira label Jun 24, 2020
@dustymabe dustymabe self-assigned this Jun 24, 2020
@dustymabe
Copy link
Member Author

The context for this release: coreos/fedora-coreos-tracker#484 (comment)

@dustymabe
Copy link
Member Author

@lucab
Copy link
Contributor

lucab commented Jun 25, 2020

Job failed, apparently we lost the worker mid-way. I rescheduled another build job, it's at https://jenkins-fedora-coreos.apps.ci.centos.org/job/fedora-coreos/job/fedora-coreos-fedora-coreos-pipeline/13233/

@lucab lucab changed the title next: new release on 2020-06-25 next: new release on 2020-06-25 (32.20200615.1.3) Jun 25, 2020
@dustymabe
Copy link
Member Author

Weird.. Thanks Luca.

The AWS tests are still failing (expected at this point). coreos/fedora-coreos-tracker#507 (comment)

@dustymabe
Copy link
Member Author

[core@localhost ~]$ sudo rpm-ostree status
State: idle
Deployments:
● ostree://fedora:fedora/x86_64/coreos/next
                   Version: 32.20200615.1.3 (2020-06-25T08:11:24Z)
                    Commit: 1f65afd4e6b7ec80d3eb1ecf1271f66042e1ce971c38d368ff101d08305444f4
              GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0

  ostree://fedora:fedora/x86_64/coreos/next
                   Version: 32.20200615.1.2 (2020-06-19T22:14:02Z)
                    Commit: d1809cd032eaa273ce49178eccf63be81054652a256553e823d5b12c07e6f64f
              GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
[core@localhost ~]$ 
[core@localhost ~]$ sudo cat /boot/loader/entries/ostree-* | grep ifnames
options mitigations=auto,nosmt systemd.unified_cgroup_hierarchy=0 console=tty0 console=ttyS0,115200n8 ignition.platform.id=qemu $ignition_firstboot ostree=/ostree/boot.1/fedora-coreos/625c3fce03b949566d1c70cee9059dd21a01b3ca25aa79f0f0d4c6da3808850b/0 net.ifnames=0
options mitigations=auto,nosmt systemd.unified_cgroup_hierarchy=0 console=tty0 console=ttyS0,115200n8 ignition.platform.id=qemu $ignition_firstboot ostree=/ostree/boot.1/fedora-coreos/92347d70897f371054a75ddd8fd279868e1d08781342e091729cead4811dd7b7/0 net.ifnames=0

@dustymabe
Copy link
Member Author

#141

@dustymabe
Copy link
Member Author

ok I'm seeing edges in the graph. rollout is starting now.

next issue for this stream already exists

no overrides need to be removed (we're following testing-devel for now)

@dustymabe
Copy link
Member Author

Going to close this one out to make way for the next release!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants