Proposal and discussion
Steps that can be done in advance:
Steps to actually move things over:
(†) modules/flatpak-runtime should not be moved - my plan is to have modules/flatpak-runtime for the module and the maintenance scripts, and new flatpaks/flatpak-runtime and flatpaks/flatpak-sdk repositories for the Runtime and SDK flatpak images that are built out of the single module.
@pingou - can you review this and the linked ansible patch to see if moving the existing repositories is feasible, and if there's any red flags with the changes to src.fedoraproject.org configuration?
@otaylor @kevin
Patch and procedure look fine to me.
I'd not mind being around to help with this (and in case of surprises). Just let me know when and where :)
Metadata Update from @bowlofeggs: - Issue priority set to: Waiting on Assignee (was: Needs Review) - Issue tagged with: bodhi, koji, mbs, pagure
Is this going to be possible to squeeze in between the beta freeze and the final freeze?
I think the procedure we want to do is:
That's based on a feeling that conditionalizing between staging and production in the ansible scripts is more likely to introduce errors in the test procedure than anything.
Hey @otaylor!
I apologize for how long this is taking on the Bodhi side of things. We had two weeks in a row with emergency releases that pre-empted pretty much everything I do.
I don't forsee any more emergency releases (but they wouldn't be emergencies if I could predict them in the first place ☺), so I think we should be able to get this done when the beta freeze is over.
@abompard, would you like to get started with making a Bodhi release with the patch that @otaylor needs? The Bodhi release should be ok to deploy to staging now, because it reads the expected namespace from Koji, which should allow it to work with the old and new namespace, iirc.
Dumping here the commands I ran for the posterity:
# Move the repository on disk: for name in 'wesnoth' 'gnome-chess' 'quadrapassel' 'gnome-characters' 'gedit' 'tilix' 'firefox' 'thunderbird' \ '0ad' 'evince' 'transmission' 'file-roller' 'eog' 'gnome-tetravex' 'gnome-clocks' 'gnome-logs' \ 'mediawriter' 'gnote' 'gnome-mahjongg' 'gnome-screenshot' 'meld' 'berusky' \ 'dconf-editor' 'feedreader' 'gnome-dictionary' 'gnome-calculator' 'gnome-font-viewer' \ 'gnome-sound-recorder' 'glade' do echo "cp -a /srv/git/repositories/modules/$name.git/ /srv/git/repositories/flatpaks" echo "cp -a /srv/git/repositories/requests/modules/$name.git/ /srv/git/repositories/requests/flatpaks" done; ### To remove the old ones (to do later, after we've cleared everything is working fine) for name in 'wesnoth' 'gnome-chess' 'quadrapassel' 'gnome-characters' 'gedit' 'tilix' 'firefox' 'thunderbird' \ '0ad' 'evince' 'transmission' 'file-roller' 'eog' 'gnome-tetravex' 'gnome-clocks' 'gnome-logs' \ 'mediawriter' 'gnote' 'gnome-mahjongg' 'gnome-screenshot' 'meld' 'berusky' \ 'dconf-editor' 'feedreader' 'gnome-dictionary' 'gnome-calculator' 'gnome-font-viewer' \ 'gnome-sound-recorder' 'glade' do echo "rm -rf /srv/git/repositories/flatpaks/$name.git/" echo "rm -rf /srv/git/repositories/requests/flatpaks/$name.git/" done;
The DB side:
-- main projects and forks SELECT id, namespace, name, parent_id FROM projects WHERE namespace='modules' AND name in ( 'wesnoth', 'gnome-chess', 'quadrapassel', 'gnome-characters', 'gedit', 'tilix', 'firefox', 'thunderbird', '0ad', 'evince', 'transmission', 'file-roller', 'eog', 'gnome-tetravex', 'gnome-clocks', 'gnome-logs', 'mediawriter', 'gnote', 'gnome-mahjongg', 'gnome-screenshot', 'meld', 'berusky', 'dconf-editor', 'feedreader', 'gnome-dictionary', 'gnome-calculator', 'gnome-font-viewer', 'gnome-sound-recorder', 'glade' ) ORDER BY name; -- main projects only SELECT id, namespace, name, parent_id FROM projects WHERE namespace='modules' AND parent_id IS NULL AND name in ( 'wesnoth', 'gnome-chess', 'quadrapassel', 'gnome-characters', 'gedit', 'tilix', 'firefox', 'thunderbird', '0ad', 'evince', 'transmission', 'file-roller', 'eog', 'gnome-tetravex', 'gnome-clocks', 'gnome-logs', 'mediawriter', 'gnote', 'gnome-mahjongg', 'gnome-screenshot', 'meld', 'berusky', 'dconf-editor', 'feedreader', 'gnome-dictionary', 'gnome-calculator', 'gnome-font-viewer', 'gnome-sound-recorder', 'glade' ) ORDER BY name; -- forks only SELECT id, namespace, name, parent_id FROM projects WHERE namespace='modules' AND parent_id IS NOT NULL AND name in ( 'wesnoth', 'gnome-chess', 'quadrapassel', 'gnome-characters', 'gedit', 'tilix', 'firefox', 'thunderbird', '0ad', 'evince', 'transmission', 'file-roller', 'eog', 'gnome-tetravex', 'gnome-clocks', 'gnome-logs', 'mediawriter', 'gnote', 'gnome-mahjongg', 'gnome-screenshot', 'meld', 'berusky', 'dconf-editor', 'feedreader', 'gnome-dictionary', 'gnome-calculator', 'gnome-font-viewer', 'gnome-sound-recorder', 'glade' ) ORDER BY name; -- Update the main projects UPDATE projects SET namespace='flatpaks' WHERE namespace='modules' AND parent_id IS NULL AND name in ( 'wesnoth', 'gnome-chess', 'quadrapassel', 'gnome-characters', 'gedit', 'tilix', 'firefox', 'thunderbird', '0ad', 'evince', 'transmission', 'file-roller', 'eog', 'gnome-tetravex', 'gnome-clocks', 'gnome-logs', 'mediawriter', 'gnote', 'gnome-mahjongg', 'gnome-screenshot', 'meld', 'berusky', 'dconf-editor', 'feedreader', 'gnome-dictionary', 'gnome-calculator', 'gnome-font-viewer', 'gnome-sound-recorder', 'glade' ); -- Update the forks UPDATE projects SET namespace='flatpaks' WHERE namespace='modules' AND parent_id IS NOT NULL AND name in ( 'wesnoth', 'gnome-chess', 'quadrapassel', 'gnome-characters', 'gedit', 'tilix', 'firefox', 'thunderbird', '0ad', 'evince', 'transmission', 'file-roller', 'eog', 'gnome-tetravex', 'gnome-clocks', 'gnome-logs', 'mediawriter', 'gnote', 'gnome-mahjongg', 'gnome-screenshot', 'meld', 'berusky', 'dconf-editor', 'feedreader', 'gnome-dictionary', 'gnome-calculator', 'gnome-font-viewer', 'gnome-sound-recorder', 'glade' );
The forks have been moved by hand, there were only 3 to do
ok, we got everything done and deployed today hopefully.
Thanks @bowlofeggs @cverna @pingou and @mohanboddu !
Let us know if you see any issues with it.
:notebook_with_decorative_cover:
Metadata Update from @kevin: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.