* Migrating custom qemu.org infrastructure to GitLab @ 2020-07-08 9:52 Stefan Hajnoczi 2020-07-08 10:53 ` Daniel P. Berrangé ` (3 more replies) 0 siblings, 4 replies; 22+ messages in thread From: Stefan Hajnoczi @ 2020-07-08 9:52 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Thomas Huth, Daniel P. Berrange, Cleber Rosa, Jeff Cody, Philippe Mathieu-Daudé, Michael Roth, Paolo Bonzini, Alex Bennée Dear QEMU community, QEMU currently has a static website, wiki, git repo hosting, and special-purpose cronjobs/containers running in VMs. There is currently no system administrator looking after our infrastructure so the most urgent tasks fall onto me, the remainder are ignored/postponed. The current situation exposes qemu.org to the risk of downtime and security issues. Another limitation is that each piece of infrastructure is managed separately and one-time contributors cannot easily propose changes because they do not have access. It would be much better to use our existing code review process so that anyone can make changes to infrastructure by sending a patch. GitLab's Continuous Integration (CI) system provides a powerful way to perform actions defined in yaml files in qemu.git. This includes running scripts, builds, publishing build artifacts, etc. We have already begun using it for automated builds and tests: https://gitlab.com/qemu-project/qemu/-/blob/master/.gitlab-ci.yml GitLab also offers git repo hosting, wikis, issue tracking, and other features. It is possible to log in using GitHub, Google, or Twitter single sign-on if you do not want to create another account. As more open source projects use GitLab it becomes easier for one-time contributors who will already be familiar with the tools from other projects. Here is a full list of GitLab's features: https://about.gitlab.com/features/ GitLab offers the gold/ultimate tier for free to open source projects: https://about.gitlab.com/solutions/open-source/ GitLab itself is open source and can be self-hosted if we decide to leave in the future. With this in mind I propose moving qemu.org infrastructure to GitLab incrementally. This needs to be done carefully to avoid disruption and only where GitLab meets the requirements. The QEMU project will continue to have access to cloud hosting for running custom infrastructure or adding runners to GitLab CI to improve CI performance. The following infrastructure components can be considered for GitLab migration: 1. qemu-web.git static site generation. GitLab CI/CD can build the static website on each qemu-web.git commit and publish the HTML artifacts. 2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle to one-time or new contributors. It is unclear whether GitLab's wiki is expressive enough for a lossless conversion of the existing QEMU wiki. Any volunteers interested in evaluating the wiki migration would be appreciated. 3. Git repo hosting is a core feature of GitLab and we already have a qemu.git mirror. Hosting the repos on GitLab reduces the need for qemu.org ssh access. 4. The QEMU release process can be moved to CI/CD so that publishing stable releases and release candidates is less dependent on one committer's machine or scripts. 5. Issue tracking. Launchpad more or less works, but the login always bothers me. If we move git repo hosting then it makes sense to do issue tracking on GitLab too. There is a snowball effect where the experience is improved the more GitLab features we use, so I hope that most of these migrations will be possible. Next steps: * If you have an interest in one or more of these infrastructure components, please join the discussion. * If there are no volunteers for an infrastructure component I'll slowly work my way through evaluating GitLab and propose migrations Stefan ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 9:52 Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi @ 2020-07-08 10:53 ` Daniel P. Berrangé 2020-07-08 11:17 ` Paolo Bonzini ` (2 more replies) 2020-07-08 16:09 ` Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi ` (2 subsequent siblings) 3 siblings, 3 replies; 22+ messages in thread From: Daniel P. Berrangé @ 2020-07-08 10:53 UTC (permalink / raw) To: Stefan Hajnoczi Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Jeff Cody, Philippe Mathieu-Daudé, qemu-devel, Michael Roth, Paolo Bonzini, Alex Bennée On Wed, Jul 08, 2020 at 10:52:38AM +0100, Stefan Hajnoczi wrote: > Dear QEMU community, > QEMU currently has a static website, wiki, git repo hosting, and > special-purpose cronjobs/containers running in VMs. There is currently > no system administrator looking after our infrastructure so the most > urgent tasks fall onto me, the remainder are ignored/postponed. The > current situation exposes qemu.org to the risk of downtime and > security issues. I would further say that maintaining infrastructure is not a good use of our contributors' time. It is better to have our contributors spend time delivering features that are beneficial to our users, rather than playing at sysadmin. > Another limitation is that each piece of infrastructure is managed > separately and one-time contributors cannot easily propose changes > because they do not have access. It would be much better to use our > existing code review process so that anyone can make changes to > infrastructure by sending a patch. When I was thinking about this for libvirt I came to better understand the appeal of the gitforge for project infrastructure. I've written about it in detail for libvirt: https://www.redhat.com/archives/libvir-list/2020-March/msg00009.html The distributed SCM model of git democratized access to source control features across contributors. Drive-by contributors have the same level of SCM features as the main project contributors, instead of being second class citizens as they are with a non-distributed SCM. With the hosted Git forges, this concept covers all aspects of project infrastructure. If your project is using GitLab for all its infra needs, then when a user forks the repo they get access to all the same features as the main project. The fork is no longer a second class citizen lacking access to certain parts of the infra. I find this is especially compelling in the area of CI, containers and web hosting. Consider if qemu-web.git is hosted on gitlab, using GitLab CI to generate the static site content, and GitLab pages to host the website. If a user wants to contribute to qemu-web, they can fork the repo and be confident that the CI jobs in their fork are going to work in the exact same way as in the master repo. They can use GitLab Pages to browse the generated content for their fork to see exactly how it will look. This eliminates the big pain point in qemu-web contribution. Many times I was tripped up with the problem of qemu-web.git requiring a version of Jekyll that is incompatible with the version that ships on my distro. > GitLab's Continuous Integration (CI) system provides a powerful way to > perform actions defined in yaml files in qemu.git. This includes > running scripts, builds, publishing build artifacts, etc. We have > already begun using it for automated builds and tests: > https://gitlab.com/qemu-project/qemu/-/blob/master/.gitlab-ci.yml The CI integration has probably been the single best thing about libvirt's switch to GitLab. > GitLab also offers git repo hosting, wikis, issue tracking, and other > features. It is possible to log in using GitHub, Google, or Twitter > single sign-on if you do not want to create another account. As more > open source projects use GitLab it becomes easier for one-time > contributors who will already be familiar with the tools from other > projects. > Here is a full list of GitLab's features: > https://about.gitlab.com/features/ > > GitLab offers the gold/ultimate tier for free to open source projects: > https://about.gitlab.com/solutions/open-source/ > > GitLab itself is open source and can be self-hosted if we decide to > leave in the future. NB self-hosting would reduce features compared to gitlab.com unless you paid for the enterprise edition. You'd also have to bring your own infra for running CI jobs which quickly gets very expensive as freedesktop.org admins have learnt the hard way. The CI resources provided by gitlab.com are incredibly generous. > With this in mind I propose moving qemu.org infrastructure to GitLab > incrementally. This needs to be done carefully to avoid disruption and > only where GitLab meets the requirements. The QEMU project will > continue to have access to cloud hosting for running custom > infrastructure or adding runners to GitLab CI to improve CI > performance. > > The following infrastructure components can be considered for GitLab migration: > > 1. qemu-web.git static site generation. GitLab CI/CD can build the > static website on each qemu-web.git commit and publish the HTML > artifacts. This is an easy win. it should be especially simple for qemu, compared to libvirt, since qemu.org already used separate sub-domains for other content like git & downloads. > 2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle > to one-time or new contributors. It is unclear whether GitLab's wiki > is expressive enough for a lossless conversion of the existing QEMU > wiki. Any volunteers interested in evaluating the wiki migration would > be appreciated. Yeah, this is a potentially big piece of work. We didn't finish this in libvirt either. Looking at the libvirt mediawiki though, I decided not todo a straight export/import of all content. A bunch of content was horribly out of date and needed deleting as it was irrelevant to anyone, or outright misleading wrt current state of the world. A lot of content on the wiki really only existed in the wiki, because contributing to our libvirt.org website was harder than it needed to be. We switched the main website over to use RST instead of HTML so authoring content is much closer to what you'd experience with the wiki markup. The wiki became a burden for contributors as due to spam attacks we can't allow anonymous access, and need manual account creation as with QEMU wiki. Every page on the main website now has a link "edit this page" that takes you straight to the source file in the gitlab.com UI, where you can interactively edit the text in your fork and then submit a merge request with the result. The wiki also suffered from the content not having any level of review. While the intentions of many contributors were good, the results often left alot to be desired. So overall we decided that while GitLab does offer a wiki, we are not intending to use it. Instead we're going to aim to turn the subset of wiki content that is genuinely useful into pages on the main website. IOW, I'd encourage whoever tackles the wiki to look at the content with a critical eye and decide whether it really belongs in the wiki at all. Considering: https://wiki.qemu.org/index.php?title=Special:AllPages The Planning / Changes pages for each release are probably reasonable as wiki pages. The Interships/ProjectIdeas pages would possibly be better off as GitLab Issue tickets, tagged with a "interships" label. That way when a project starts you can have the issue to track the work right from the start. The Documentation/Platforms content arguably should be part of the main qemu.git docs. Many of the feature pages are probably better as part of the formal QEMU documentation too. > 3. Git repo hosting is a core feature of GitLab and we already have a > qemu.git mirror. Hosting the repos on GitLab reduces the need for > qemu.org ssh access. With libvirt we had long used both gitlab.com/libvirt and github.com/libvirt as read-only mirrors of the master libvirt.org/git/ repos. When we formally adopted gitlab as primary infrastructure, we simply flipped the mirroring processes around. So now libvirt.org/git is a read-only mirror, and gitlab is the master. Gitlab has built-in support to push to github.com as a mirror which is useful. So turning git.qemu.org into a readonly mirror would ease the transition to avoid breaking any scripts / workflows relying on that URL in the short term. > 4. The QEMU release process can be moved to CI/CD so that publishing > stable releases and release candidates is less dependent on one > committer's machine or scripts. > > 5. Issue tracking. Launchpad more or less works, but the login always > bothers me. If we move git repo hosting then it makes sense to do > issue tracking on GitLab too. The big thing that always bothers me about launchpad is how easy it is to get confused between issues for QEMU upstream and issues for legacy releases in Ubuntu distro. This is the curse of using a distro issue tracker - libvirt had the same problem with its use of Red Hat bugzilla. Integrated issue tracking alongside the primary git repo makes a lot of sense. Once you declare gitlab.com the primary repo, contributors will immediately look to gitlab for the issue tracking too whether you tell them to or not. The gitlab issue tracker is fairly simple especially compared to the complexity horror of red hat bugzilla, so it was a massive win for libvirt to switch away from bugzilla for issues. Probably not such a big difference compared to launchpad in terms of complexity. The little things though like magic git commit messages to close issues are nice though. There is a question of what todo with existing bugs in launchpad. Essentially three choices 1. Move all the open bugs to gitlab 2. Move some relevant bugs to gitlab, but close outdated ones 3. Leave existing launchpad bugs but don't allow new ones filed So far for libvirt we did option 3 there, with a little bit of option 2. > There is a snowball effect where the experience is improved the more > GitLab features we use, so I hope that most of these migrations will > be possible. > > Next steps: > * If you have an interest in one or more of these infrastructure > components, please join the discussion. > * If there are no volunteers for an infrastructure component I'll > slowly work my way through evaluating GitLab and propose migrations The experiance of moving infra to gitlab.com has been quite positive for libvirt, and me in particular as the single point of failure for much of libvirt's old infrastructure. I think it will be beneficial for QEMU too, for many of the reasons I mention above and in the email link I quoted. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 10:53 ` Daniel P. Berrangé @ 2020-07-08 11:17 ` Paolo Bonzini 2020-07-08 11:31 ` Daniel P. Berrangé 2020-07-08 11:48 ` Thomas Huth 2020-07-09 10:16 ` Gerd Hoffmann 2 siblings, 1 reply; 22+ messages in thread From: Paolo Bonzini @ 2020-07-08 11:17 UTC (permalink / raw) To: Daniel P. Berrangé, Stefan Hajnoczi Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Jeff Cody, Philippe Mathieu-Daudé, qemu-devel, Michael Roth, Alex Bennée On 08/07/20 12:53, Daniel P. Berrangé wrote: > Consider if qemu-web.git is hosted on gitlab, using GitLab CI to > generate the static site content, and GitLab pages to host the > website. If a user wants to contribute to qemu-web, they can fork > the repo and be confident that the CI jobs in their fork are going > to work in the exact same way as in the master repo. They can use > GitLab Pages to browse the generated content for their fork to > see exactly how it will look. > > This eliminates the big pain point in qemu-web contribution. Many > times I was tripped up with the problem of qemu-web.git requiring > a version of Jekyll that is incompatible with the version that > ships on my distro. I would have no issue with using a pull request workflow for qemu-web. The lack of "git range-diff" functionality for gitlab is an absolute showstopper for using it in QEMU, though. >> GitLab's Continuous Integration (CI) system provides a powerful way to >> perform actions defined in yaml files in qemu.git. This includes >> running scripts, builds, publishing build artifacts, etc. We have >> already begun using it for automated builds and tests: >> https://gitlab.com/qemu-project/qemu/-/blob/master/.gitlab-ci.yml > > The CI integration has probably been the single best thing about > libvirt's switch to GitLab. How do you handle non-x86 platforms? Has there been any progress in gitlab runner support for s390 and PPC? > The Documentation/Platforms content arguably should be part of > the main qemu.git docs. > > Many of the feature pages are probably better as part of the formal > QEMU documentation too. Yes, definitely; but someone has to do the work. At least the obsolete features are clearly marked as so. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 11:17 ` Paolo Bonzini @ 2020-07-08 11:31 ` Daniel P. Berrangé 0 siblings, 0 replies; 22+ messages in thread From: Daniel P. Berrangé @ 2020-07-08 11:31 UTC (permalink / raw) To: Paolo Bonzini Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Alex Bennée, Philippe Mathieu-Daudé On Wed, Jul 08, 2020 at 01:17:11PM +0200, Paolo Bonzini wrote: > On 08/07/20 12:53, Daniel P. Berrangé wrote: > > Consider if qemu-web.git is hosted on gitlab, using GitLab CI to > > generate the static site content, and GitLab pages to host the > > website. If a user wants to contribute to qemu-web, they can fork > > the repo and be confident that the CI jobs in their fork are going > > to work in the exact same way as in the master repo. They can use > > GitLab Pages to browse the generated content for their fork to > > see exactly how it will look. > > > > This eliminates the big pain point in qemu-web contribution. Many > > times I was tripped up with the problem of qemu-web.git requiring > > a version of Jekyll that is incompatible with the version that > > ships on my distro. > > I would have no issue with using a pull request workflow for qemu-web. > The lack of "git range-diff" functionality for gitlab is an absolute > showstopper for using it in QEMU, though. FWIW, I tried to avoid mentioning merge requests, as I didn't want to derail the discussion & believe use of gitlab for infrastructure is worthwhile even if you never use merge requests. I do tend to think that merge requests would be a reasonable thing to use for qemu-web in particular. > >> GitLab's Continuous Integration (CI) system provides a powerful way to > >> perform actions defined in yaml files in qemu.git. This includes > >> running scripts, builds, publishing build artifacts, etc. We have > >> already begun using it for automated builds and tests: > >> https://gitlab.com/qemu-project/qemu/-/blob/master/.gitlab-ci.yml > > > > The CI integration has probably been the single best thing about > > libvirt's switch to GitLab. > > How do you handle non-x86 platforms? Has there been any progress in > gitlab runner support for s390 and PPC? We don't do any native non-x86 stuff right now. We do all non-x86 builds using cross-compilers. Obviously that means we don't get any testing coverage, only build coverage. We did update our lcitool to be able to build VMs to serve as gitlab runners, principally to provide us FreeBSD runners. After doing all the work though, we discovered a way to integrate Cirrus CI into GitLab CI, using a shim called "cirrus-run". So now we have macOS and FreeBSD jobs in GitLab CI, that use a shim to call out to Cirrus CI todo the actual work: From this pipeline: https://gitlab.com/libvirt/libvirt/-/pipelines/164291392 These two jobs actually ran on Cirrus CI: https://gitlab.com/libvirt/libvirt/-/jobs/628816093 https://gitlab.com/libvirt/libvirt/-/jobs/628816086 We don't get a nice build log output in gitlab but that's just a limitation of the current cirrus-run impl - we could easily enhance it to pull the buld log out of Cirrus CI, so it is immediately visible in GitLab logs. IOW, the cirrus-run hack shows that even if you can't get a native runner integration for GitLab CI, you can always use a shim to call out to pretty much any external system you desire. So that provides a backup plan for non-x86 CI support. > > The Documentation/Platforms content arguably should be part of > > the main qemu.git docs. > > > > Many of the feature pages are probably better as part of the formal > > QEMU documentation too. > > Yes, definitely; but someone has to do the work. At least the obsolete > features are clearly marked as so. Even if no one has time todo the work now, if we can spend a bit of time to categorize current wiki pages and document a desired "plan", then we can publicise it as a "bite sized task" and potentially motivate future contributors to do some of the work as a useful way in to the QEMU world. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 10:53 ` Daniel P. Berrangé 2020-07-08 11:17 ` Paolo Bonzini @ 2020-07-08 11:48 ` Thomas Huth 2020-07-08 13:19 ` Philippe Mathieu-Daudé 2020-07-09 10:16 ` Gerd Hoffmann 2 siblings, 1 reply; 22+ messages in thread From: Thomas Huth @ 2020-07-08 11:48 UTC (permalink / raw) To: Daniel P. Berrangé, Stefan Hajnoczi Cc: Peter Maydell, Cleber Rosa, Jeff Cody, Philippe Mathieu-Daudé, qemu-devel, Michael Roth, Paolo Bonzini, Alex Bennée On 08/07/2020 12.53, Daniel P. Berrangé wrote: > On Wed, Jul 08, 2020 at 10:52:38AM +0100, Stefan Hajnoczi wrote: [...] >> With this in mind I propose moving qemu.org infrastructure to GitLab >> incrementally. [...] FWIW, I think moving the QEMU infrastructure zoo to GitLab is a very good idea! Daniel already mentioned most of the things that I had in mind after reading your mail (well, actually he mentioned way more things that I had in mind), but let me add some sentences below anyway... >> 2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle >> to one-time or new contributors. It is unclear whether GitLab's wiki >> is expressive enough for a lossless conversion of the existing QEMU >> wiki. Any volunteers interested in evaluating the wiki migration would >> be appreciated. > > Yeah, this is a potentially big piece of work. We didn't finish this > in libvirt either. Looking at the libvirt mediawiki though, I decided > not todo a straight export/import of all content. > A bunch of content was horribly out of date and needed deleting as > it was irrelevant to anyone, or outright misleading wrt current state > of the world. Having done some clean-up work in the QEMU wiki in the past already, I can only agree with Daniel. I don't think that we want a 1:1 conversion of the existing Wiki, we should rather start from scratch and only convert the important pages. Or should we really keep stuff like https://wiki.qemu.org/Documentation/KQemu around? Maybe we should also rather convert the important content into parts of the main website instead, just like Daniel mentioned it. Whichever way we choose, I volunteer to help here if my spare time permits. >> 5. Issue tracking. Launchpad more or less works, but the login always >> bothers me. If we move git repo hosting then it makes sense to do >> issue tracking on GitLab too. > > The big thing that always bothers me about launchpad is how easy it > is to get confused between issues for QEMU upstream and issues for > legacy releases in Ubuntu distro. +1000 ! I was already thinking of suggesting to move the bug tracker to either gitlab or github or anywhere else during next KVM forum, since it is IMHO a real pain. I've seen so many bugs that users tried to open against the downstream Ubuntu QEMU package but ended up in the upstream tracker instead. Apart from that, the Launchpad UI is partly really horrible in my eyes (for example you never know which action will trigger an immediate change and which needs to be confirmed by pressing a button). Additional many developers don't have a Launchpad account, so bugs can not be assigned properly and you just have to pray that people see the notification e-mails on the mailing list. > There is a question of what todo with existing bugs in launchpad. > > Essentially three choices > > 1. Move all the open bugs to gitlab > 2. Move some relevant bugs to gitlab, but close outdated ones > 3. Leave existing launchpad bugs but don't allow new ones filed I think we could set most (outdated) bugs simply to "incomplete" with a message saying that the reporter should open a new bug on Gitlab if necessary. Then after 60 days, the "incomplete" bugs will expire (i.e. auto-close). Thomas ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 11:48 ` Thomas Huth @ 2020-07-08 13:19 ` Philippe Mathieu-Daudé 2020-07-08 13:32 ` Daniel P. Berrangé 0 siblings, 1 reply; 22+ messages in thread From: Philippe Mathieu-Daudé @ 2020-07-08 13:19 UTC (permalink / raw) To: Thomas Huth, Daniel P. Berrangé, Stefan Hajnoczi Cc: Peter Maydell, Cleber Rosa, Jeff Cody, qemu-devel, Michael Roth, Paolo Bonzini, Alex Bennée On 7/8/20 1:48 PM, Thomas Huth wrote: > On 08/07/2020 12.53, Daniel P. Berrangé wrote: >> On Wed, Jul 08, 2020 at 10:52:38AM +0100, Stefan Hajnoczi wrote: > [...] >>> With this in mind I propose moving qemu.org infrastructure to GitLab >>> incrementally. [...] > > FWIW, I think moving the QEMU infrastructure zoo to GitLab is a very > good idea! > > Daniel already mentioned most of the things that I had in mind after > reading your mail (well, actually he mentioned way more things that I > had in mind), but let me add some sentences below anyway... Same comment ;) I find sometime confusing the see which GitLab features are restricted to the paid version and which are available for open source projects. >>> 5. Issue tracking. Launchpad more or less works, but the login always >>> bothers me. If we move git repo hosting then it makes sense to do >>> issue tracking on GitLab too. >> >> The big thing that always bothers me about launchpad is how easy it >> is to get confused between issues for QEMU upstream and issues for >> legacy releases in Ubuntu distro. > > +1000 ! > > I was already thinking of suggesting to move the bug tracker to either > gitlab or github or anywhere else during next KVM forum, since it is > IMHO a real pain. > > I've seen so many bugs that users tried to open against the downstream > Ubuntu QEMU package but ended up in the upstream tracker instead. Apart > from that, the Launchpad UI is partly really horrible in my eyes (for > example you never know which action will trigger an immediate change and > which needs to be confirmed by pressing a button). Additional many > developers don't have a Launchpad account, so bugs can not be assigned > properly and you just have to pray that people see the notification > e-mails on the mailing list. > >> There is a question of what todo with existing bugs in launchpad. >> >> Essentially three choices >> >> 1. Move all the open bugs to gitlab >> 2. Move some relevant bugs to gitlab, but close outdated ones >> 3. Leave existing launchpad bugs but don't allow new ones filed > > I think we could set most (outdated) bugs simply to "incomplete" with a > message saying that the reporter should open a new bug on Gitlab if > necessary. Then after 60 days, the "incomplete" bugs will expire (i.e. > auto-close). Some users hide their email on launchpad, so we would be hard to simply re-import their bug on gitlab. Now if you ask them to import it, it is easier. 60 days seem enough to react. Something that always bugged me on launchpad is you can not Cc other people on a bug if they don't have a launchpad account. I haven't checked if GitLab allows that (Bugzilla does). We should do some experiments first, because I saw various ways to use the GitLab ticket tags, and none convinced me it is practical. Should anyone add any tag? Should we restrict to a set of useful tags? Current launchpad tags: 35 arm 21 linux-user 17 qemu 16 ppc 15 windows 13 testcase 11 tcg 9 mips 9 usb 9 qemu-img 6 i386 6 feature-request 2 sh4 2 patch 1 s390x 1 sparc The patterns I see: - user-mode vs softmmu (linux-user) - one tag per architecture (arm / ppc / mips / i386 / sh4 / s390x / sparc) - host OS (windows) - accelerator (tcg) - subsystem (usb) - tools (qemu-img) - feature requests - testcase I suppose tags are hints to maintainers, so keeping something similar to the MAINTAINERS file separation could be useful. Note the GitLab roles: https://docs.gitlab.com/ee/development/permissions.html No access (0) Guest (10) Reporter (20) Developer (30) Maintainer (40) Owner (50) ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 13:19 ` Philippe Mathieu-Daudé @ 2020-07-08 13:32 ` Daniel P. Berrangé 2020-07-08 13:38 ` Philippe Mathieu-Daudé 0 siblings, 1 reply; 22+ messages in thread From: Daniel P. Berrangé @ 2020-07-08 13:32 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Paolo Bonzini, Alex Bennée On Wed, Jul 08, 2020 at 03:19:08PM +0200, Philippe Mathieu-Daudé wrote: > On 7/8/20 1:48 PM, Thomas Huth wrote: > > On 08/07/2020 12.53, Daniel P. Berrangé wrote: > >> On Wed, Jul 08, 2020 at 10:52:38AM +0100, Stefan Hajnoczi wrote: > > [...] > >>> With this in mind I propose moving qemu.org infrastructure to GitLab > >>> incrementally. [...] > > > > FWIW, I think moving the QEMU infrastructure zoo to GitLab is a very > > good idea! > > > > Daniel already mentioned most of the things that I had in mind after > > reading your mail (well, actually he mentioned way more things that I > > had in mind), but let me add some sentences below anyway... > > Same comment ;) > > I find sometime confusing the see which GitLab features are restricted > to the paid version and which are available for open source projects. > > >>> 5. Issue tracking. Launchpad more or less works, but the login always > >>> bothers me. If we move git repo hosting then it makes sense to do > >>> issue tracking on GitLab too. > >> > >> The big thing that always bothers me about launchpad is how easy it > >> is to get confused between issues for QEMU upstream and issues for > >> legacy releases in Ubuntu distro. > > > > +1000 ! > > > > I was already thinking of suggesting to move the bug tracker to either > > gitlab or github or anywhere else during next KVM forum, since it is > > IMHO a real pain. > > > > I've seen so many bugs that users tried to open against the downstream > > Ubuntu QEMU package but ended up in the upstream tracker instead. Apart > > from that, the Launchpad UI is partly really horrible in my eyes (for > > example you never know which action will trigger an immediate change and > > which needs to be confirmed by pressing a button). Additional many > > developers don't have a Launchpad account, so bugs can not be assigned > > properly and you just have to pray that people see the notification > > e-mails on the mailing list. > > > >> There is a question of what todo with existing bugs in launchpad. > >> > >> Essentially three choices > >> > >> 1. Move all the open bugs to gitlab > >> 2. Move some relevant bugs to gitlab, but close outdated ones > >> 3. Leave existing launchpad bugs but don't allow new ones filed > > > > I think we could set most (outdated) bugs simply to "incomplete" with a > > message saying that the reporter should open a new bug on Gitlab if > > necessary. Then after 60 days, the "incomplete" bugs will expire (i.e. > > auto-close). > > Some users hide their email on launchpad, so we would be hard to simply > re-import their bug on gitlab. Now if you ask them to import it, it is > easier. 60 days seem enough to react. > > Something that always bugged me on launchpad is you can not Cc other > people on a bug if they don't have a launchpad account. I haven't > checked if GitLab allows that (Bugzilla does). GitLab doesn't expose anyone's email address. Any interaction with other users is exclusively via their GitLab user name. So yes, you need an account to be added to notifications for an issue. > We should do some experiments first, because I saw various ways to use > the GitLab ticket tags, and none convinced me it is practical. Why is that ? I find the tagging to be one of the things i really like coming over from the bugzilla world. It is useful for doing an initial triage of bugs in particular, to sort them into logical buckets. I think that's particularly useful with our subsystem maintainer model, as it will let us direct bugs towards specific maintainers. In libvirt we had some generic labels for all projects https://gitlab.com/groups/libvirt/-/labels And then further project specific labels https://gitlab.com/libvirt/libvirt/-/labels > Should anyone add any tag? Should we restrict to a set of useful tags? I believe only admins can define the tags, you can't add arbitrary tags to a project as a user. > I suppose tags are hints to maintainers, so keeping something similar to > the MAINTAINERS file separation could be useful. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 13:32 ` Daniel P. Berrangé @ 2020-07-08 13:38 ` Philippe Mathieu-Daudé 0 siblings, 0 replies; 22+ messages in thread From: Philippe Mathieu-Daudé @ 2020-07-08 13:38 UTC (permalink / raw) To: Daniel P. Berrangé Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Paolo Bonzini, Alex Bennée On 7/8/20 3:32 PM, Daniel P. Berrangé wrote: > On Wed, Jul 08, 2020 at 03:19:08PM +0200, Philippe Mathieu-Daudé wrote: >> On 7/8/20 1:48 PM, Thomas Huth wrote: >>> On 08/07/2020 12.53, Daniel P. Berrangé wrote: >>>> On Wed, Jul 08, 2020 at 10:52:38AM +0100, Stefan Hajnoczi wrote: >>> [...] >>>>> With this in mind I propose moving qemu.org infrastructure to GitLab >>>>> incrementally. [...] >>> >>> FWIW, I think moving the QEMU infrastructure zoo to GitLab is a very >>> good idea! >>> >>> Daniel already mentioned most of the things that I had in mind after >>> reading your mail (well, actually he mentioned way more things that I >>> had in mind), but let me add some sentences below anyway... >> >> Same comment ;) >> >> I find sometime confusing the see which GitLab features are restricted >> to the paid version and which are available for open source projects. >> >>>>> 5. Issue tracking. Launchpad more or less works, but the login always >>>>> bothers me. If we move git repo hosting then it makes sense to do >>>>> issue tracking on GitLab too. >>>> >>>> The big thing that always bothers me about launchpad is how easy it >>>> is to get confused between issues for QEMU upstream and issues for >>>> legacy releases in Ubuntu distro. >>> >>> +1000 ! >>> >>> I was already thinking of suggesting to move the bug tracker to either >>> gitlab or github or anywhere else during next KVM forum, since it is >>> IMHO a real pain. >>> >>> I've seen so many bugs that users tried to open against the downstream >>> Ubuntu QEMU package but ended up in the upstream tracker instead. Apart >>> from that, the Launchpad UI is partly really horrible in my eyes (for >>> example you never know which action will trigger an immediate change and >>> which needs to be confirmed by pressing a button). Additional many >>> developers don't have a Launchpad account, so bugs can not be assigned >>> properly and you just have to pray that people see the notification >>> e-mails on the mailing list. >>> >>>> There is a question of what todo with existing bugs in launchpad. >>>> >>>> Essentially three choices >>>> >>>> 1. Move all the open bugs to gitlab >>>> 2. Move some relevant bugs to gitlab, but close outdated ones >>>> 3. Leave existing launchpad bugs but don't allow new ones filed >>> >>> I think we could set most (outdated) bugs simply to "incomplete" with a >>> message saying that the reporter should open a new bug on Gitlab if >>> necessary. Then after 60 days, the "incomplete" bugs will expire (i.e. >>> auto-close). >> >> Some users hide their email on launchpad, so we would be hard to simply >> re-import their bug on gitlab. Now if you ask them to import it, it is >> easier. 60 days seem enough to react. >> >> Something that always bugged me on launchpad is you can not Cc other >> people on a bug if they don't have a launchpad account. I haven't >> checked if GitLab allows that (Bugzilla does). > > GitLab doesn't expose anyone's email address. Any interaction with other > users is exclusively via their GitLab user name. So yes, you need an > account to be added to notifications for an issue. > >> We should do some experiments first, because I saw various ways to use >> the GitLab ticket tags, and none convinced me it is practical. > > Why is that ? I find the tagging to be one of the things i really > like coming over from the bugzilla world. It is useful for doing an > initial triage of bugs in particular, to sort them into logical buckets. > > I think that's particularly useful with our subsystem maintainer model, > as it will let us direct bugs towards specific maintainers. > > In libvirt we had some generic labels for all projects > > https://gitlab.com/groups/libvirt/-/labels > > And then further project specific labels > > https://gitlab.com/libvirt/libvirt/-/labels Excellent, this is exactly what we need, so I'm not worried anymore :) > >> Should anyone add any tag? Should we restrict to a set of useful tags? > > I believe only admins can define the tags, you can't add arbitrary > tags to a project as a user. We are good then (users can still suggest pertinent tags in when opening an issue). > >> I suppose tags are hints to maintainers, so keeping something similar to >> the MAINTAINERS file separation could be useful. > > Regards, > Daniel > ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 10:53 ` Daniel P. Berrangé 2020-07-08 11:17 ` Paolo Bonzini 2020-07-08 11:48 ` Thomas Huth @ 2020-07-09 10:16 ` Gerd Hoffmann 2020-07-09 10:22 ` Thomas Huth 2 siblings, 1 reply; 22+ messages in thread From: Gerd Hoffmann @ 2020-07-09 10:16 UTC (permalink / raw) To: Daniel P. Berrangé Cc: Peter Maydell, Thomas Huth, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé Hi, > > 2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle > > to one-time or new contributors. It is unclear whether GitLab's wiki > > is expressive enough for a lossless conversion of the existing QEMU > > wiki. Any volunteers interested in evaluating the wiki migration would > > be appreciated. > > Yeah, this is a potentially big piece of work. We didn't finish this > in libvirt either. Looking at the libvirt mediawiki though, I decided > not todo a straight export/import of all content. FYI: gitlab wiki is basically just a git repo with markdown pages + renderer + gui editor. You can also update the wiki using git clone + edit + git commit + git push. take care, Gerd ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-09 10:16 ` Gerd Hoffmann @ 2020-07-09 10:22 ` Thomas Huth 2020-07-09 10:33 ` Paolo Bonzini 2020-10-23 5:59 ` Migrate Wiki to Gitlab? " Thomas Huth 0 siblings, 2 replies; 22+ messages in thread From: Thomas Huth @ 2020-07-09 10:22 UTC (permalink / raw) To: Gerd Hoffmann, Daniel P. Berrangé Cc: Peter Maydell, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Alex Bennée, Paolo Bonzini, Philippe Mathieu-Daudé On 09/07/2020 12.16, Gerd Hoffmann wrote: > Hi, > >>> 2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle >>> to one-time or new contributors. It is unclear whether GitLab's wiki >>> is expressive enough for a lossless conversion of the existing QEMU >>> wiki. Any volunteers interested in evaluating the wiki migration would >>> be appreciated. >> >> Yeah, this is a potentially big piece of work. We didn't finish this >> in libvirt either. Looking at the libvirt mediawiki though, I decided >> not todo a straight export/import of all content. > > FYI: gitlab wiki is basically just a git repo with markdown pages + > renderer + gui editor. You can also update the wiki using git clone + > edit + git commit + git push. FWIW, seems like we could use the "pandoc" tool to convert Mediawiki (our old Wiki) to Markdown (Gitlab wiki). I've done a quick test and converted https://wiki.qemu.org/Contribute/MailingLists into https://gitlab.com/huth/qemu/-/wikis/Contribute/MailingLists with some few clicks. But the longer I look at most Wiki pages, the more I think that we should convert the important pages rather into a part of qemu-web instead. I'll have a closer look and will suggest some patches when time permits... Thomas ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-09 10:22 ` Thomas Huth @ 2020-07-09 10:33 ` Paolo Bonzini 2020-07-09 12:08 ` Thomas Huth 2020-07-09 13:10 ` Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) Thomas Huth 2020-10-23 5:59 ` Migrate Wiki to Gitlab? " Thomas Huth 1 sibling, 2 replies; 22+ messages in thread From: Paolo Bonzini @ 2020-07-09 10:33 UTC (permalink / raw) To: Thomas Huth, Gerd Hoffmann, Daniel P. Berrangé Cc: Peter Maydell, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Alex Bennée, Philippe Mathieu-Daudé On 09/07/20 12:22, Thomas Huth wrote: > FWIW, seems like we could use the "pandoc" tool to convert Mediawiki > (our old Wiki) to Markdown (Gitlab wiki). I've done a quick test and > converted https://wiki.qemu.org/Contribute/MailingLists into > https://gitlab.com/huth/qemu/-/wikis/Contribute/MailingLists with some > few clicks. > > But the longer I look at most Wiki pages, the more I think that we > should convert the important pages rather into a part of qemu-web > instead. I'll have a closer look and will suggest some patches when time > permits... The wiki was cleaned up more or less at the same time as the qemu-web.git repo was created (actually as a prerequisite), it's actually not in a bad shape. The idea was that the wiki kept: - stuff that really belonged in documentation (such as completed features and developer information) - stuff that needs to be edited quickly (such as feature pages or or internship ideas) - developer-targeted information that doesn't belong in documentation (such as CI status), even if it's linked from qemu.org (e.g. https://www.qemu.org/contribute/ while qemu-web got the more user-targeted information. This is because updating qemu-web is a bit slower, requiring review and all that. We can certainly move some wiki pages to qemu-web, like we did for "report a bug" in the past and like Alex did recently for the Conservancy page. But I think there aren't that many left, most of them are in the first category above and should be moved to docs/devel (for example https://wiki.qemu.org/Contribute/SubmitAPatch). Once we have docs CI on GitLab we can easily link to them from qemu-web.git, so setting up docs CI is probably a good first step towards relying more on GitLab and also cleaning up the wiki. Paolo ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-09 10:33 ` Paolo Bonzini @ 2020-07-09 12:08 ` Thomas Huth 2020-07-09 13:10 ` Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) Thomas Huth 1 sibling, 0 replies; 22+ messages in thread From: Thomas Huth @ 2020-07-09 12:08 UTC (permalink / raw) To: Paolo Bonzini, Gerd Hoffmann, Daniel P. Berrangé Cc: Peter Maydell, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Alex Bennée, Philippe Mathieu-Daudé On 09/07/2020 12.33, Paolo Bonzini wrote: > On 09/07/20 12:22, Thomas Huth wrote: >> FWIW, seems like we could use the "pandoc" tool to convert Mediawiki >> (our old Wiki) to Markdown (Gitlab wiki). I've done a quick test and >> converted https://wiki.qemu.org/Contribute/MailingLists into >> https://gitlab.com/huth/qemu/-/wikis/Contribute/MailingLists with some >> few clicks. >> >> But the longer I look at most Wiki pages, the more I think that we >> should convert the important pages rather into a part of qemu-web >> instead. I'll have a closer look and will suggest some patches when time >> permits... > > The wiki was cleaned up more or less at the same time as the > qemu-web.git repo was created (actually as a prerequisite), it's > actually not in a bad shape. Agreed, there were definitely worse times in the past. > We can certainly move some wiki pages to qemu-web, like we did for > "report a bug" in the past and like Alex did recently for the > Conservancy page. But I think there aren't that many left, most of them > are in the first category above and should be moved to docs/devel (for > example https://wiki.qemu.org/Contribute/SubmitAPatch). I was looking at pages like https://wiki.qemu.org/Contribute/MailingLists and https://wiki.qemu.org/License ... but yes, the first one should be likely moved to docs/devel, too, and the second one is maybe redundant anyway, since we have this information in the LICENSE file already (so we could also link to https://git.qemu.org/?p=qemu.git;a=blob_plain;f=LICENSE instead). Thomas ^ permalink raw reply [flat|nested] 22+ messages in thread
* Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) 2020-07-09 10:33 ` Paolo Bonzini 2020-07-09 12:08 ` Thomas Huth @ 2020-07-09 13:10 ` Thomas Huth 2020-07-09 13:17 ` Daniel P. Berrangé 2020-07-09 13:22 ` Paolo Bonzini 1 sibling, 2 replies; 22+ messages in thread From: Thomas Huth @ 2020-07-09 13:10 UTC (permalink / raw) To: Paolo Bonzini, Gerd Hoffmann Cc: Kevin Wolf, Peter Maydell, Daniel P. Berrangé, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Alex Bennée, Max Reitz, Philippe Mathieu-Daudé On 09/07/2020 12.33, Paolo Bonzini wrote: > On 09/07/20 12:22, Thomas Huth wrote: >> FWIW, seems like we could use the "pandoc" tool to convert Mediawiki >> (our old Wiki) to Markdown (Gitlab wiki). I've done a quick test and >> converted https://wiki.qemu.org/Contribute/MailingLists into >> https://gitlab.com/huth/qemu/-/wikis/Contribute/MailingLists with some >> few clicks. >> >> But the longer I look at most Wiki pages, the more I think that we >> should convert the important pages rather into a part of qemu-web >> instead. I'll have a closer look and will suggest some patches when time >> permits... > > The wiki was cleaned up more or less at the same time as the > qemu-web.git repo was created (actually as a prerequisite), it's > actually not in a bad shape. There are still quite a bit of pages that either contain hardly any usable information or are completely outdated. Paolo, Stefan, may I ask you to check whether the following pages could be deleted? I don't have access rights to delete a page, so if you agree that they are mostly useless, please go ahead and delete them: - https://wiki.qemu.org/Features/40p : only few infos here, and 40p is merged already - https://wiki.qemu.org/Features/PRePCleanup : prep machine was removed some time ago, 40p is the replacement - https://wiki.qemu.org/Features/BeBox old project from 2010, never got merged AFAIK - https://wiki.qemu.org/Features/Documentation/interop that has been superseded by: https://www.qemu.org/docs/master/interop/index.html - https://wiki.qemu.org/Features/Documentation/specs that has been superseded by: https://www.qemu.org/docs/master/specs/index.html - https://wiki.qemu.org/Features/DriveRefactoring Out of date, we've got -blockdev now (and not -blkdev) - https://wiki.qemu.org/Features/LegacyRemoval Has been replaced by the "deprecated features" section in our docs - https://wiki.qemu.org/Features/Machines/Edison old project from 2015, never took off AFAIK - https://wiki.qemu.org/Features/LibvirtWiresharkDissector seems to be a libvirt proposal - IMHO should not be in the QEMU wiki - https://wiki.qemu.org/Features/Tegra2 old project, AFAIK never got merged - https://wiki.qemu.org/Features/Version3.0 Old suggestions for QEMU version 3.0 ... we're close to 5.1 already - https://wiki.qemu.org/KeySigningParty2013 https://wiki.qemu.org/KeySigningParty2014 https://wiki.qemu.org/KeySigningParty2015 Only some few old information here, useless nowadays? - https://wiki.qemu.org/Features/network_reentrant Old ideas from 2013 ... I think vhost-net superseded this? - https://wiki.qemu.org/Planning/Relicensing I think this has been completed. The page looks very outdated now. - https://wiki.qemu.org/SecurityProcess Should be replaced with a redirect Thomas ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) 2020-07-09 13:10 ` Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) Thomas Huth @ 2020-07-09 13:17 ` Daniel P. Berrangé 2020-07-09 13:22 ` Paolo Bonzini 1 sibling, 0 replies; 22+ messages in thread From: Daniel P. Berrangé @ 2020-07-09 13:17 UTC (permalink / raw) To: Thomas Huth Cc: Kevin Wolf, Peter Maydell, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, Philippe Mathieu-Daudé, qemu-devel, Michael Roth, Gerd Hoffmann, Paolo Bonzini, Max Reitz, Alex Bennée On Thu, Jul 09, 2020 at 03:10:44PM +0200, Thomas Huth wrote: > On 09/07/2020 12.33, Paolo Bonzini wrote: > > On 09/07/20 12:22, Thomas Huth wrote: > >> FWIW, seems like we could use the "pandoc" tool to convert Mediawiki > >> (our old Wiki) to Markdown (Gitlab wiki). I've done a quick test and > >> converted https://wiki.qemu.org/Contribute/MailingLists into > >> https://gitlab.com/huth/qemu/-/wikis/Contribute/MailingLists with some > >> few clicks. > >> > >> But the longer I look at most Wiki pages, the more I think that we > >> should convert the important pages rather into a part of qemu-web > >> instead. I'll have a closer look and will suggest some patches when time > >> permits... > > > > The wiki was cleaned up more or less at the same time as the > > qemu-web.git repo was created (actually as a prerequisite), it's > > actually not in a bad shape. > > There are still quite a bit of pages that either contain hardly any > usable information or are completely outdated. Paolo, Stefan, may I ask > you to check whether the following pages could be deleted? I don't have > access rights to delete a page, so if you agree that they are mostly > useless, please go ahead and delete them: > - https://wiki.qemu.org/Features/LibvirtWiresharkDissector > seems to be a libvirt proposal - IMHO should not be in the QEMU wiki This was a GSoC project and at that time libvirt GSoC projects were under the QEMU umbrella. Libvirt now runs GSoC itself. Either way, there's no particularly important content here, but it is the second hit in google for "libvirt wireshark" ! I'm fine with it being removed in general unless we want to keep a record of old GSoc projects ? Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) 2020-07-09 13:10 ` Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) Thomas Huth 2020-07-09 13:17 ` Daniel P. Berrangé @ 2020-07-09 13:22 ` Paolo Bonzini 1 sibling, 0 replies; 22+ messages in thread From: Paolo Bonzini @ 2020-07-09 13:22 UTC (permalink / raw) To: Thomas Huth, Gerd Hoffmann Cc: Kevin Wolf, Peter Maydell, Daniel P. Berrangé, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Alex Bennée, Max Reitz, Philippe Mathieu-Daudé On 09/07/20 15:10, Thomas Huth wrote: > - https://wiki.qemu.org/Features/40p : > - https://wiki.qemu.org/Features/PRePCleanup : > - https://wiki.qemu.org/Features/BeBox > - https://wiki.qemu.org/Features/DriveRefactoring > - https://wiki.qemu.org/Features/LegacyRemoval > - https://wiki.qemu.org/Features/Machines/Edison > - https://wiki.qemu.org/Features/Tegra2 Can you make them either "Completed feature pages" or "Obsolete feature pages"? We can certainly drop the obsolete features if we migrate to the GitLab wiki. > - https://wiki.qemu.org/Features/Documentation/interop > that has been superseded by: > https://www.qemu.org/docs/master/interop/index.html > > - https://wiki.qemu.org/Features/Documentation/specs > that has been superseded by: > https://www.qemu.org/docs/master/specs/index.html Need to check if there's anything else left to do for those two manuals. Probably the rST conversion of QMP documentation. I would leave them around, they are linked from the main Features/Documentation page. > - https://wiki.qemu.org/Features/LibvirtWiresharkDissector > seems to be a libvirt proposal - IMHO should not be in the QEMU wiki Probably an internship idea. > - https://wiki.qemu.org/Features/Version3.0 > Old suggestions for QEMU version 3.0 ... we're close to 5.1 already This is more like ideas for deprecation. > - https://wiki.qemu.org/KeySigningParty2013 > https://wiki.qemu.org/KeySigningParty2014 > https://wiki.qemu.org/KeySigningParty2015 > Only some few old information here, useless nowadays? > > - https://wiki.qemu.org/Features/network_reentrant > Old ideas from 2013 ... I think vhost-net superseded this? It's in [[Category:Obsolete feature pages]] for a reason. :) > - https://wiki.qemu.org/Planning/Relicensing > I think this has been completed. The page looks very outdated now. No, it's not completed and it's probably never going to be. > - https://wiki.qemu.org/SecurityProcess > Should be replaced with a redirect Done. Paolo ^ permalink raw reply [flat|nested] 22+ messages in thread
* Migrate Wiki to Gitlab? (was: Migrating custom qemu.org infrastructure to GitLab) 2020-07-09 10:22 ` Thomas Huth 2020-07-09 10:33 ` Paolo Bonzini @ 2020-10-23 5:59 ` Thomas Huth 2020-10-23 9:09 ` Daniel P. Berrangé 1 sibling, 1 reply; 22+ messages in thread From: Thomas Huth @ 2020-10-23 5:59 UTC (permalink / raw) To: Gerd Hoffmann, Daniel P. Berrangé Cc: Peter Maydell, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, Philippe Mathieu-Daudé, Michael Roth, qemu-devel, Paolo Bonzini, Alex Bennée On 09/07/2020 12.22, Thomas Huth wrote: > On 09/07/2020 12.16, Gerd Hoffmann wrote: >> Hi, >> >>>> 2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle >>>> to one-time or new contributors. It is unclear whether GitLab's wiki >>>> is expressive enough for a lossless conversion of the existing QEMU >>>> wiki. Any volunteers interested in evaluating the wiki migration would >>>> be appreciated. >>> >>> Yeah, this is a potentially big piece of work. We didn't finish this >>> in libvirt either. Looking at the libvirt mediawiki though, I decided >>> not todo a straight export/import of all content. >> >> FYI: gitlab wiki is basically just a git repo with markdown pages + >> renderer + gui editor. You can also update the wiki using git clone + >> edit + git commit + git push. > > FWIW, seems like we could use the "pandoc" tool to convert Mediawiki > (our old Wiki) to Markdown (Gitlab wiki). I've done a quick test and > converted https://wiki.qemu.org/Contribute/MailingLists into > https://gitlab.com/huth/qemu/-/wikis/Contribute/MailingLists with some > few clicks. Revisiting this topic after a couple of weeks, I think there is one more thing to consider: If I've got that right, your account has to be a member of the corresponding project to be able to edit a page in the Wiki in gitlab. So unless we want to add lots of persons to the qemu-project as members (which we likely do not really want, do we?), it's maybe better to keep the separate MediaWiki instance with the separate user accounts, I guess? Thomas ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrate Wiki to Gitlab? (was: Migrating custom qemu.org infrastructure to GitLab) 2020-10-23 5:59 ` Migrate Wiki to Gitlab? " Thomas Huth @ 2020-10-23 9:09 ` Daniel P. Berrangé 0 siblings, 0 replies; 22+ messages in thread From: Daniel P. Berrangé @ 2020-10-23 9:09 UTC (permalink / raw) To: Thomas Huth Cc: Peter Maydell, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, Philippe Mathieu-Daudé, qemu-devel, Michael Roth, Gerd Hoffmann, Paolo Bonzini, Alex Bennée On Fri, Oct 23, 2020 at 07:59:00AM +0200, Thomas Huth wrote: > On 09/07/2020 12.22, Thomas Huth wrote: > > On 09/07/2020 12.16, Gerd Hoffmann wrote: > >> Hi, > >> > >>>> 2. wiki.qemu.org is a MediaWiki instance. Account creation is a hurdle > >>>> to one-time or new contributors. It is unclear whether GitLab's wiki > >>>> is expressive enough for a lossless conversion of the existing QEMU > >>>> wiki. Any volunteers interested in evaluating the wiki migration would > >>>> be appreciated. > >>> > >>> Yeah, this is a potentially big piece of work. We didn't finish this > >>> in libvirt either. Looking at the libvirt mediawiki though, I decided > >>> not todo a straight export/import of all content. > >> > >> FYI: gitlab wiki is basically just a git repo with markdown pages + > >> renderer + gui editor. You can also update the wiki using git clone + > >> edit + git commit + git push. > > > > FWIW, seems like we could use the "pandoc" tool to convert Mediawiki > > (our old Wiki) to Markdown (Gitlab wiki). I've done a quick test and > > converted https://wiki.qemu.org/Contribute/MailingLists into > > https://gitlab.com/huth/qemu/-/wikis/Contribute/MailingLists with some > > few clicks. > > Revisiting this topic after a couple of weeks, I think there is one more > thing to consider: If I've got that right, your account has to be a member > of the corresponding project to be able to edit a page in the Wiki in > gitlab. So unless we want to add lots of persons to the qemu-project as > members (which we likely do not really want, do we?), it's maybe better to > keep the separate MediaWiki instance with the separate user accounts, I guess? Yep, manual says it requires "Developer" permissions which is certainly not something we want to give out widely, as it grants way too much privilege. I'd still suggest we look at folding the wiki into either the website or the main repo documentation as appropriate for the docs in question. Having 3 separate sources of documentation just feels wrong to me, and we largely lost the "drive by" contributor for the wiki since we had to lock new account creation - only a handful of people actually ask us to create accounts for them. The qemu-web.git could be made fairly low overhead for contributors by accepting contributions via merge requests, which would let people just interatively edit the web pages and submit the changes all from the web UI. Not quite as seemless as a wiki, but not far off. We could even demarcate a subset of the website with a /wiki URL and just stuff all current wiki content in there as RST. Then have a much looser review policy for merging changes in that subtree. Basically allow anything as long as it is well formatted and not grossly incorrect. Could even 100% automate approval under that subdir if you want the true wiki experiance of having no content review. The main downside with the main qemu.git documentation is that it takes a long time to get docs through the contribution workflow and you have to deal with the qemu-devel firehose. Use of RST has improved the authoring part, but review/merge is still a bit tedious. There is no single docs maintainer, and parts of docs are completely lacking maintainer entries. So it can be pot-luck whether your docs contribution gets reviewed and merged in reasonable time. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 9:52 Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi 2020-07-08 10:53 ` Daniel P. Berrangé @ 2020-07-08 16:09 ` Stefan Hajnoczi 2020-07-10 14:04 ` Philippe Mathieu-Daudé 2020-07-10 14:09 ` Philippe Mathieu-Daudé 3 siblings, 0 replies; 22+ messages in thread From: Stefan Hajnoczi @ 2020-07-08 16:09 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Thomas Huth, Daniel P. Berrange, Cleber Rosa, Jeff Cody, Philippe Mathieu-Daudé, Michael Roth, Paolo Bonzini, Alex Bennée On Wed, Jul 8, 2020 at 10:52 AM Stefan Hajnoczi <stefanha@gmail.com> wrote: Great, thanks for all the responses! Since others are interested in qemu-web.git, the wiki, and the bug tracker, I will investigate git repo hosting (mirrors). I'll send an update once I have more experience with GitLab and a proposal for how to perform the switch. If anyone objects we can discuss their concerns. Stefan ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 9:52 Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi 2020-07-08 10:53 ` Daniel P. Berrangé 2020-07-08 16:09 ` Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi @ 2020-07-10 14:04 ` Philippe Mathieu-Daudé 2020-07-13 8:39 ` Philippe Mathieu-Daudé 2020-07-10 14:09 ` Philippe Mathieu-Daudé 3 siblings, 1 reply; 22+ messages in thread From: Philippe Mathieu-Daudé @ 2020-07-10 14:04 UTC (permalink / raw) To: Stefan Hajnoczi, qemu-devel Cc: Peter Maydell, Thomas Huth, Daniel P. Berrange, Cleber Rosa, Jeff Cody, Michael Roth, Paolo Bonzini, Alex Bennée On 7/8/20 11:52 AM, Stefan Hajnoczi wrote: > > There is a snowball effect where the experience is improved the more > GitLab features we use, so I hope that most of these migrations will > be possible. I've been looking at other features we might be interested in. 1/ Calendar I was looking for a calendar option to register the release dates and the Tuesday QEMU/KVM external call. They recommend to pair with GSuite instead: https://about.gitlab.com/handbook/tools-and-tips/#google-calendar Or calendly: https://calendly.com/ 2/ Due dates We can set 'due date' to issues/merge requests, useful to not miss soft-freeze or CVE embargo expiration: https://docs.gitlab.com/ee/user/project/issues/due_dates.html 3/ Milestones as releases https://docs.gitlab.com/ee/user/project/milestones/#milestones-as-releases 4/ d3js graphs https://docs.gitlab.com/ee/development/new_fe_guide/development/components.html#graphs So we can now have more interesting graphs in the wiki/doc such: https://observablehq.com/@philmd/qemu-aarch64-softmmu-qom-tree 5/ CI testing metrics https://docs.gitlab.com/ee/ci/metrics_reports.html#how-it-works 6/ Sentry error tracking Maybe to gather the CI errors? https://docs.gitlab.com/ee/user/project/operations/error_tracking.html#sentry-error-tracking 7/ License Compliance https://docs.gitlab.com/ee/user/compliance/license_compliance/ 8/ Connecting with other bug tracking services: In case we want to link BZ: https://docs.gitlab.com/ee/user/project/integrations/bugzilla.html Or eventually launchpad: https://docs.gitlab.com/ee/user/project/integrations/custom_issue_tracker.html From these points I'm interested in investigating - CI testing metrics - d3js graphs - License Compliance Regards, Phil. ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-10 14:04 ` Philippe Mathieu-Daudé @ 2020-07-13 8:39 ` Philippe Mathieu-Daudé 2020-07-13 8:48 ` Peter Maydell 0 siblings, 1 reply; 22+ messages in thread From: Philippe Mathieu-Daudé @ 2020-07-13 8:39 UTC (permalink / raw) To: Stefan Hajnoczi, qemu-devel Cc: Peter Maydell, Thomas Huth, Daniel P. Berrange, Cleber Rosa, Jeff Cody, Michael Roth, Paolo Bonzini, Alex Bennée On 7/10/20 4:04 PM, Philippe Mathieu-Daudé wrote: > On 7/8/20 11:52 AM, Stefan Hajnoczi wrote: >> >> There is a snowball effect where the experience is improved the more >> GitLab features we use, so I hope that most of these migrations will >> be possible. > > I've been looking at other features we might be interested in. [...] > 7/ License Compliance > > https://docs.gitlab.com/ee/user/compliance/license_compliance/ WRT IRC feedback QEMU licensing is a lost cause, I can not tell, but I think if GitLab has scripts to take care of it, it is an improvement over what we have now: a) Users will have a clearer idea of the permitted licenses b) New contributions will be checked for correct license by a machine, so reviewer can focus on other topics. > 8/ Connecting with other bug tracking services: > > In case we want to link BZ: > https://docs.gitlab.com/ee/user/project/integrations/bugzilla.html > > Or eventually launchpad: > https://docs.gitlab.com/ee/user/project/integrations/custom_issue_tracker.html > > > From these points I'm interested in investigating > > - CI testing metrics > - d3js graphs > - License Compliance > > Regards, > > Phil. > ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-13 8:39 ` Philippe Mathieu-Daudé @ 2020-07-13 8:48 ` Peter Maydell 0 siblings, 0 replies; 22+ messages in thread From: Peter Maydell @ 2020-07-13 8:48 UTC (permalink / raw) To: Philippe Mathieu-Daudé Cc: Thomas Huth, Daniel P. Berrange, Cleber Rosa, Jeff Cody, Stefan Hajnoczi, qemu-devel, Michael Roth, Paolo Bonzini, Alex Bennée On Mon, 13 Jul 2020 at 09:39, Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > > On 7/10/20 4:04 PM, Philippe Mathieu-Daudé wrote: > > > 7/ License Compliance > > > > https://docs.gitlab.com/ee/user/compliance/license_compliance/ > > WRT IRC feedback QEMU licensing is a lost cause, I can not tell, > but I think if GitLab has scripts to take care of it, it is an > improvement over what we have now: The docs say it only supports C programs that use the Conan package manager. We don't, we just use configure to find and link against our external dependencies. > b) New contributions will be checked for correct license by > a machine, so reviewer can focus on other topics. The documentation doesn't say anything about it handling license checking on contributions to the project itself. It looks like it's mainly intended for "I have a javascript project that pulls in 5000 tiny dependencies from npm, I want to know that none of them is accidentally using a license that's not compatible with the project's license". That's not a problem QEMU has. thanks -- PMM ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: Migrating custom qemu.org infrastructure to GitLab 2020-07-08 9:52 Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi ` (2 preceding siblings ...) 2020-07-10 14:04 ` Philippe Mathieu-Daudé @ 2020-07-10 14:09 ` Philippe Mathieu-Daudé 3 siblings, 0 replies; 22+ messages in thread From: Philippe Mathieu-Daudé @ 2020-07-10 14:09 UTC (permalink / raw) To: Stefan Hajnoczi, qemu-devel Cc: Peter Maydell, Thomas Huth, Daniel P. Berrange, Cleber Rosa, Jeff Cody, Michael Roth, Paolo Bonzini, Alex Bennée On 7/8/20 11:52 AM, Stefan Hajnoczi wrote: > > 3. Git repo hosting is a core feature of GitLab and we already have a > qemu.git mirror. Hosting the repos on GitLab reduces the need for > qemu.org ssh access. I also noted cloning from gitlab.com is way faster than git.qemu.org, I suppose because of huge CDN behind. ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2020-10-23 9:11 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-07-08 9:52 Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi 2020-07-08 10:53 ` Daniel P. Berrangé 2020-07-08 11:17 ` Paolo Bonzini 2020-07-08 11:31 ` Daniel P. Berrangé 2020-07-08 11:48 ` Thomas Huth 2020-07-08 13:19 ` Philippe Mathieu-Daudé 2020-07-08 13:32 ` Daniel P. Berrangé 2020-07-08 13:38 ` Philippe Mathieu-Daudé 2020-07-09 10:16 ` Gerd Hoffmann 2020-07-09 10:22 ` Thomas Huth 2020-07-09 10:33 ` Paolo Bonzini 2020-07-09 12:08 ` Thomas Huth 2020-07-09 13:10 ` Delete some Wiki pages (was: Migrating custom qemu.org infrastructure to GitLab) Thomas Huth 2020-07-09 13:17 ` Daniel P. Berrangé 2020-07-09 13:22 ` Paolo Bonzini 2020-10-23 5:59 ` Migrate Wiki to Gitlab? " Thomas Huth 2020-10-23 9:09 ` Daniel P. Berrangé 2020-07-08 16:09 ` Migrating custom qemu.org infrastructure to GitLab Stefan Hajnoczi 2020-07-10 14:04 ` Philippe Mathieu-Daudé 2020-07-13 8:39 ` Philippe Mathieu-Daudé 2020-07-13 8:48 ` Peter Maydell 2020-07-10 14:09 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).