-
Notifications
You must be signed in to change notification settings - Fork 696
Add support for Tails 6 #7116
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
Add support for Tails 6 #7116
Conversation
6e14230
to
2b93b97
Compare
Grabbing the Tails 5 Update scenario, since that wasn't part of the work that I did with earlier pairing (so should be a valid test case). |
Tails 5 Update scenario: everything worked as expected, up until the backup and restore portion. Running the backup command executed immediately, and even though it says it was a success, there are no |
That worked for me in testing (on a fresh Tails 6 image tho). Can you run it again as |
Further to the above @nathandyer, I couldn't reproduce, but I did notice some warnings on use of the copy module like "sftp transfer mechanism failed", so I restored the |
@zenmonkeykstop I tried running the backup again with the Ansible Verbosity set to 4, and the output is exactly the same: it runs instantly and outputs only a single line:
This happens with |
Grabbing the migration from Tails 5 case as well |
Flipping back to draft temporarily. Tails 6 was released on schedule, but there are some behaviour changes from the RC - most notably, desktop icon support was removed. So it may be necessary to revise this branch a little. |
Looks like we can leave the desktop icon code in place for now. It doesn't break the tailsconfig or network hook, they just don't get added on the desktop. Since we wanna preserve the icons for Tails 5 users, we can defer removal until a subsequent release where we start sending Tails 5 deprecation messages. |
Completed the "Migration from Tails 5" test plan, and everything worked perfectly - including the backup and restore this time. 🎉 I did encounter an oddity with |
Going to take the remaining test cases as well - USBs flashing now, will have results this afternoon. |
I'm getting a consistent error on the Tails 5 clean install scenario. The breaking error is:
Full output:
|
The extra |
Worked through the Tails 6 clean install scenario. Installation, setup, and tailsconfig all worked without issue.
It's curious that both the backup and logs operation report success on the same line in the admin script 🤔 It's also curious that those operations did work without issue using the exact same app and mon servers on the Tails 5 migration scenario |
Do they take the |
It didn't seem to require the |
admin/Dockerfile
Outdated
@@ -1,5 +1,5 @@ | |||
# debian:bullseye 2022-10-04 | |||
FROM debian@sha256:9b0e3056b8cd8630271825665a0613cc27829d6a24906dc0122b3b4834312f7d | |||
# debian:bookworm 2021-01-12 |
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.
# debian:bookworm 2021-01-12 | |
# debian:bookworm 2024-01-12 |
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.
lol, will update.
@@ -122,7 +122,7 @@ | |||
|
|||
# in Tails 4, reload gnome-shell desktop icons extension to update with changes above |
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.
comment needs an update?
@@ -7,11 +7,11 @@ | |||
name = securedrop-admin | |||
version = 0.1.0 | |||
summary = SecureDrop Admin Toolkit | |||
description-file = | |||
description_file = | |||
README.rst | |||
author = Loic Dachary |
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.
If we're updating this, should we change it to [email protected]?
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.
Disinclined to change attributions without checking with original authors. But we probably could.
When a command like "sudo su -c "apt-get update && apt-get install" was executed via subprocess.popen, the parent python process was suspended when the first part of the command completed. We don't need the update anymore (it's done by the user before running securedrop-admin setup) so let's just simplify things and run something like "sudo apt-get install"
ba30b41
to
d0217ee
Compare
d0217ee
to
d20e585
Compare
With the latest commit, I'm happy to report that the Tails 5 fresh install scenario works as expected (including install, backup, and restore, which were all previously broken for me). |
Tails 6 Install
|
Looking good, thanks all - once flaky CI is passing and I get an approval will go ahead and merge and cut |
I've got 11137e7 locally from a git pull, but I'm not seeing it in the web UI yet. ? Edit: there we go |
So nice I had to stamp it twice! waiting on CI then let's do it |
Status
Ready for review
Description of Changes
Fixes #7092
admin/requirements-ansible.in
includeTesting
Tails 5
Install
--force
flag as appropriate):./securedrop-admin setup
completes successfully, installing required apt packages and creating a virtualenv with updated dependencies listed above./securedrop-admin sdconfig
completes successfully./securedrop-admin install
completes successfully./securedrop-admin tailsconfig
completes successfully with ssh targets, desktop icons, and SecureDrop menu available../securedrop-admin backup
completes successfully./securedrop-admin restore <backupname>
and confirm that./securedrop-admin logs
completes successfully, capturing the expected logsUpdate from latest
git fetch && git checkout tails6-ftw
completes./securedrop-admin setup
completes./securedropadmin tailsconfig
completes./securedrop-admin logs
completes successfully, capturing the expected logs./securedrop-admin sdconfig
lists the expected config settings./securedrop-admin install
completes successfully (may take time over Tor)./securedrop-admin backup
completes successfullyFAIL: I immediately get
./securedrop-admin: line 26: <path>: Success
, but no backup file is saved./securedrop-admin restore <backupname>
and confirm thatTails 6
Install
--force
flag as appropriate):./securedrop-admin setup
completes successfully, installing required apt packages and creating a virtualenv with updated dependencies listed above./securedrop-admin sdconfig
completes successfully./securedrop-admin install
completes successfully./securedrop-admin tailsconfig
completes successfully with ssh targets, desktop icons, and SecureDrop menu available../securedrop-admin backup
completes successfully./securedrop-admin restore <backupname>
and confirm that./securedrop-admin logs
completes successfully, capturing the expected logsMigration from Tails 5
git fetch && git checkout tails6-ftw
(simulating./securedrop-admin update
)./securedrop-admin setup
- confirm that the tails 5 venv is destroyed and a tails 6 version created./securedrop-admin tailsconfig
- confirm that ssh targets, icons, and menu are created./securedrop-admin logs
completes successfully, capturing the expected logs./securedrop-admin sdconfig
lists the expected config settings./securedrop-admin install
completes successfully (may take time over Tor)./securedrop-admin backup
completes successfully./securedrop-admin restore <backupname>
and confirm thatDeployment
The updates should work on Tails 5 and 6 - Tails 5 users should be able to upgrade as normal.
2.7.1
cannot be used on Tails 6, so there is no upgrade path available. Users switching to Tails 6 will need to copy the PV to their new Tails 6 stick and do a manual update as described above.Checklist
If you made changes to the server application code:
make lint
) and tests (make 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 added or removed a file deployed with the application:
If you made non-trivial code changes:
Choose one of the following:
If you added or updated a reference to a production code dependency:
Production code dependencies are defined in:
admin/requirements.in
admin/requirements-ansible.in
securedrop/requirements/python3/requirements.in
securedrop/requirements/python3/translation.in
(used in the buildcontainer)
If you changed another
requirements.in
file that applies only to developmentor testing environments, then no diff review is required, and you can skip
(remove) this section.
Choose one of the following: