-
Notifications
You must be signed in to change notification settings - Fork 687
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
Adds Upgrade scenario boxes for 0.12.0 (Trusty) #4215
Conversation
Test plan as given fails, because there are no local debs to push to the apt server. Rerunning with |
Tested as follows on Ubuntu 18.04, Vagrant 2.2.2, libvirt 4.0.0:
Confirmed that Source Interface at address in molecule output is up, and that the version in the footer and in |
Storing the version string and platform directly in the box filename now. The docs for maintaining the "upgrade" boxes have long included a manual step to rename files with the version number; that's now done automatically. The addition of the platform in the filename is required to support multiplatforms, specifically Trusty & Xenial. Eventually we'll drop support for Trusty altogether, but for now we must maintain both.
The prepare-servers role was added to the main prod/staging playbooks, but wasn't added to the derivative playbook used for building the "upgrade" Vagrant boxes. Ideally we'd have all role includes conditionally set, so that we can reuse the same playbook in all contexts and disable specific roles via vars per scenario.
Updated the metadata references for the "upgrade" Trusty boxes to include the platform explicitly, since we plan to add Xenial boxes for use in "upgrade" testing for 0.12.0, as well.
Used the standard procedure to generate the base boxes, but updated the metadata references to reference the platform explicitly, since we plan to add Xenial boxes for use in "upgrade" testing for 0.12.0, as well. Unsure if this is sufficient change; we may have to update the metadata stored inside the .box file as part of the packaging process, as well.
c439e89
to
cd0b172
Compare
Thanks for testing, @zenmonkeykstop. I've rebased these changes on top of latest develop (21fcf15). Opened #4237 to track creating Xenial upgrade boxes for 0.12.0 (and beyond). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, after running make upgrade-start
on this branch
- Confirm boxes pull successfully
- Confirm boxes are running 0.12.0.
-
make upgrade-test-local
upgrades the box to 0.13.0~rc1 🎉
Codecov Report
@@ Coverage Diff @@
## develop #4215 +/- ##
===========================================
- Coverage 84.79% 84.72% -0.08%
===========================================
Files 43 43
Lines 2782 2782
Branches 303 303
===========================================
- Hits 2359 2357 -2
- Misses 355 356 +1
- Partials 68 69 +1
Continue to review full report at Codecov.
|
Status
Work in progress.
Description of Changes
Built new Trusty 0.12.0 boxes for upgrade scenario. They're uploaded, but I haven't tested them yet. Further changes will be required to prepare and upload Xenial-based 0.12.0 boxes. Would prefer to handle those changes in a separate PR.
Changes proposed in this pull request:
Prior to merge, these changes should be rebased on top of latest develop. Note that as specified in the box maintenance docs (https://docs.securedrop.org/en/release-0.12.0/development/upgrade_testing.html#updating-the-base-boxes-used-for-upgrade-testing) I checked out the
0.12.0
tag in order to build these boxes, but I branched from that tag in order to write these commits, for the per-platform logic. Technically themv
operations documented in the manual steps are no longer required, and can be removed. The manual JSON updates are still required, although I'd prefer to automate those at a later date, as well.Testing
make upgrade-start
Deployment
Any special considerations for deployment? Consider both:
Checklist
If you made changes to the server application code:
make ci-lint
) and tests (make -C securedrop test
) pass in the development containerIf you made changes to
securedrop-admin
:make -C admin test
) pass in the admin development containerIf you made changes to the system configuration:
If you made non-trivial code changes:
If you made changes to documentation:
make docs-lint
) passed locally