* civetweb upstream/downstream divergence
@ 2015-10-29 9:19 Nathan Cutler
2015-10-29 10:11 ` Wido den Hollander
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Nathan Cutler @ 2015-10-29 9:19 UTC (permalink / raw)
To: ceph-devel
Hi Ceph:
The civetweb code in RGW is taken from https://github.com/ceph/civetweb/
which is a fork of https://github.com/civetweb/civetweb. The last commit
to our fork took place on March 18.
Upstream civetweb development has progressed ("This branch is 19 commits
ahead, 972 commits behind civetweb:master.")
Are there plans to rebase to a newer upstream version or should we think
more in terms of backporting (to ceph/civetweb.git) from upstream
(civetweb/civetweb.git) when we need to fix bugs or add features?
Thanks and regards
--
Nathan Cutler
Software Engineer Distributed Storage
SUSE LINUX, s.r.o.
Tel.: +420 284 084 037
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: civetweb upstream/downstream divergence 2015-10-29 9:19 civetweb upstream/downstream divergence Nathan Cutler @ 2015-10-29 10:11 ` Wido den Hollander 2015-10-29 16:56 ` Loic Dachary 2015-10-29 17:58 ` Yehuda Sadeh-Weinraub 2 siblings, 0 replies; 14+ messages in thread From: Wido den Hollander @ 2015-10-29 10:11 UTC (permalink / raw) To: Nathan Cutler, ceph-devel On 29-10-15 10:19, Nathan Cutler wrote: > Hi Ceph: > > The civetweb code in RGW is taken from https://github.com/ceph/civetweb/ > which is a fork of https://github.com/civetweb/civetweb. The last commit > to our fork took place on March 18. > > Upstream civetweb development has progressed ("This branch is 19 commits > ahead, 972 commits behind civetweb:master.") > > Are there plans to rebase to a newer upstream version or should we think > more in terms of backporting (to ceph/civetweb.git) from upstream > (civetweb/civetweb.git) when we need to fix bugs or add features? > I think it would be smart to keep tracking civetweb from upstream otherwise we forked Civetweb. We might run into some issues with Civetweb which we need to fix upstream, that's a lot easier if we are close to where upstream is. Wido > Thanks and regards > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-10-29 9:19 civetweb upstream/downstream divergence Nathan Cutler 2015-10-29 10:11 ` Wido den Hollander @ 2015-10-29 16:56 ` Loic Dachary 2015-10-29 17:58 ` Yehuda Sadeh-Weinraub 2 siblings, 0 replies; 14+ messages in thread From: Loic Dachary @ 2015-10-29 16:56 UTC (permalink / raw) To: Nathan Cutler, ceph-devel [-- Attachment #1: Type: text/plain, Size: 841 bytes --] Hi Nathan, It would be a good thing to get a report on a regular basis that shows how different the git submodules are from their respective upstream. Cheers On 29/10/2015 18:19, Nathan Cutler wrote: > Hi Ceph: > > The civetweb code in RGW is taken from https://github.com/ceph/civetweb/ > which is a fork of https://github.com/civetweb/civetweb. The last commit > to our fork took place on March 18. > > Upstream civetweb development has progressed ("This branch is 19 commits > ahead, 972 commits behind civetweb:master.") > > Are there plans to rebase to a newer upstream version or should we think > more in terms of backporting (to ceph/civetweb.git) from upstream > (civetweb/civetweb.git) when we need to fix bugs or add features? > > Thanks and regards > -- Loïc Dachary, Artisan Logiciel Libre [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-10-29 9:19 civetweb upstream/downstream divergence Nathan Cutler 2015-10-29 10:11 ` Wido den Hollander 2015-10-29 16:56 ` Loic Dachary @ 2015-10-29 17:58 ` Yehuda Sadeh-Weinraub 2015-10-30 4:57 ` Pete Zaitcev 2 siblings, 1 reply; 14+ messages in thread From: Yehuda Sadeh-Weinraub @ 2015-10-29 17:58 UTC (permalink / raw) To: Nathan Cutler; +Cc: ceph-devel On Thu, Oct 29, 2015 at 2:19 AM, Nathan Cutler <ncutler@suse.cz> wrote: > Hi Ceph: > > The civetweb code in RGW is taken from https://github.com/ceph/civetweb/ > which is a fork of https://github.com/civetweb/civetweb. The last commit > to our fork took place on March 18. > > Upstream civetweb development has progressed ("This branch is 19 commits > ahead, 972 commits behind civetweb:master.") > > Are there plans to rebase to a newer upstream version or should we think > more in terms of backporting (to ceph/civetweb.git) from upstream > (civetweb/civetweb.git) when we need to fix bugs or add features? > > Thanks and regards > We should definitely do it. We're based off civetweb 1.6, and there was no official civetweb version for quite a while, but 1.7 was tagged a few months ago. I made some effort and got most of our material changes upstream, however, there are some changes that might need some more work before we can get them merged, or might not make complete sense at all. iirc, the biggest change that would be challenging to get upstream is the chunked encoding handling that we have. Other than that there are a few minor changes that we did to make rgw with civetweb behave more like rgw over mod_fastcgi, build related changes, and some more trivial stuff. Yehuda ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-10-29 17:58 ` Yehuda Sadeh-Weinraub @ 2015-10-30 4:57 ` Pete Zaitcev 2015-10-30 8:00 ` Loic Dachary 2015-10-30 21:38 ` Ken Dreyer 0 siblings, 2 replies; 14+ messages in thread From: Pete Zaitcev @ 2015-10-30 4:57 UTC (permalink / raw) To: Yehuda Sadeh-Weinraub; +Cc: Nathan Cutler, ceph-devel On Thu, 29 Oct 2015 10:58:07 -0700 Yehuda Sadeh-Weinraub <yehuda@redhat.com> wrote: > We should definitely do it. We're based off civetweb 1.6, and there > was no official civetweb version for quite a while, but 1.7 was tagged > a few months ago. I made some effort and got most of our material > changes upstream, however, there are some changes that might need some > more work before we can get them merged, or might not make complete > sense at all. I take it Nathan is volunteering to parse the delta into logical pieces and identify what upstream is willing to accept, right? Dunno about SuSE, but as a Fedora packager I would prefer if we (Ceph) talked upstream into making regular releases and then for us to stop carrying it entirely. One less git submodule if nothing else. -- Pete ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-10-30 4:57 ` Pete Zaitcev @ 2015-10-30 8:00 ` Loic Dachary 2015-10-30 21:38 ` Ken Dreyer 1 sibling, 0 replies; 14+ messages in thread From: Loic Dachary @ 2015-10-30 8:00 UTC (permalink / raw) To: Pete Zaitcev, Yehuda Sadeh-Weinraub; +Cc: Nathan Cutler, ceph-devel [-- Attachment #1: Type: text/plain, Size: 1838 bytes --] Hi Pete, On 30/10/2015 13:57, Pete Zaitcev wrote: > On Thu, 29 Oct 2015 10:58:07 -0700 > Yehuda Sadeh-Weinraub <yehuda@redhat.com> wrote: > >> We should definitely do it. We're based off civetweb 1.6, and there >> was no official civetweb version for quite a while, but 1.7 was tagged >> a few months ago. I made some effort and got most of our material >> changes upstream, however, there are some changes that might need some >> more work before we can get them merged, or might not make complete >> sense at all. > > I take it Nathan is volunteering to parse the delta into logical pieces > and identify what upstream is willing to accept, right? I've discussed with Nathan about this general problem a few times. The issue is much less about volunteering and much more about how to track the progress of the delta over time. > Dunno about SuSE, but as a Fedora packager I would prefer if we (Ceph) > talked upstream into making regular releases and then for us to stop > carrying it entirely. One less git submodule if nothing else. Right now we have no method. For the jerasure / gf-complete sub-modules, I'm watching the delta and do the right thing but it's mostly an unwritten process: someone else would do it completely differently. For other Ceph sub-modules I suppose each developer has his own way of dealing with the delta.I remember Sage recently proposed patches upstream for rocksdb but I'm unaware of where or how. I would not be able to help him in any way. And I don't think anyone could figure out exactly how to deal with the jerasure / gf-complete sub-modules either. Do you happen to know a project that is using submodules (or copies of projects instead of dependencies) and that is also well organized to track the delta ? Cheers -- Loïc Dachary, Artisan Logiciel Libre [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-10-30 4:57 ` Pete Zaitcev 2015-10-30 8:00 ` Loic Dachary @ 2015-10-30 21:38 ` Ken Dreyer 2015-11-02 17:47 ` Martin Millnert 1 sibling, 1 reply; 14+ messages in thread From: Ken Dreyer @ 2015-10-30 21:38 UTC (permalink / raw) To: Pete Zaitcev; +Cc: Yehuda Sadeh-Weinraub, Nathan Cutler, ceph-devel On Thu, Oct 29, 2015 at 10:57 PM, Pete Zaitcev <zaitcev@redhat.com> wrote: > On Thu, 29 Oct 2015 10:58:07 -0700 > Yehuda Sadeh-Weinraub <yehuda@redhat.com> wrote: > >> We should definitely do it. We're based off civetweb 1.6, and there >> was no official civetweb version for quite a while, but 1.7 was tagged >> a few months ago. I made some effort and got most of our material >> changes upstream, however, there are some changes that might need some >> more work before we can get them merged, or might not make complete >> sense at all. > > I take it Nathan is volunteering to parse the delta into logical pieces > and identify what upstream is willing to accept, right? > > Dunno about SuSE, but as a Fedora packager I would prefer if we (Ceph) > talked upstream into making regular releases and then for us to stop > carrying it entirely. One less git submodule if nothing else. I would heartily support the effort to get civetweb into the distros, too, and make this a proper package with a shared library that RGW can link against. This can be done in parallel to the "reconciling the code content with civetweb upstream" effort of course :) - Ken ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-10-30 21:38 ` Ken Dreyer @ 2015-11-02 17:47 ` Martin Millnert 2015-11-03 9:22 ` Nathan Cutler 0 siblings, 1 reply; 14+ messages in thread From: Martin Millnert @ 2015-11-02 17:47 UTC (permalink / raw) To: Ken Dreyer; +Cc: Pete Zaitcev, Yehuda Sadeh-Weinraub, Nathan Cutler, ceph-devel On Fri, 2015-10-30 at 15:38 -0600, Ken Dreyer wrote: > On Thu, Oct 29, 2015 at 10:57 PM, Pete Zaitcev <zaitcev@redhat.com> wrote: > > Dunno about SuSE, but as a Fedora packager I would prefer if we (Ceph) > > talked upstream into making regular releases and then for us to stop > > carrying it entirely. One less git submodule if nothing else. > > I would heartily support the effort to get civetweb into the distros, > too, and make this a proper package with a shared library that RGW can > link against. This can be done in parallel to the "reconciling the > code content with civetweb upstream" effort of course :) From a "devops" perspective with local CI infra, this (proper package with shared libs) is a preferred packaging model. /M ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-11-02 17:47 ` Martin Millnert @ 2015-11-03 9:22 ` Nathan Cutler 2015-11-03 11:22 ` Sage Weil 0 siblings, 1 reply; 14+ messages in thread From: Nathan Cutler @ 2015-11-03 9:22 UTC (permalink / raw) To: Martin Millnert, Ken Dreyer Cc: Pete Zaitcev, Yehuda Sadeh-Weinraub, ceph-devel IMHO the first step should be to get rid of the evil submodule. Arguably the most direct path leading to this goal is to simply package up the downstream civetweb (i.e. 1.6 plus all the downstream patches) for all the supported distros. The resulting package would be Ceph-specific, obviously, so it could be called "civetweb-ceph". Like Ken says, the upstreaming effort can continue in parallel. After we get Ceph/RGW working fine with civetweb-ceph 1.6, we can rebase the package to upstream civetweb 1.7. I am not volunteering to do all the work, but we at SUSE are certainly prepared to shoulder our share of it. -- Nathan Cutler Software Engineer Distributed Storage SUSE LINUX, s.r.o. Tel.: +420 284 084 037 ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-11-03 9:22 ` Nathan Cutler @ 2015-11-03 11:22 ` Sage Weil 2015-11-04 20:25 ` Ken Dreyer 0 siblings, 1 reply; 14+ messages in thread From: Sage Weil @ 2015-11-03 11:22 UTC (permalink / raw) To: Nathan Cutler Cc: Martin Millnert, Ken Dreyer, Pete Zaitcev, Yehuda Sadeh-Weinraub, ceph-devel On Tue, 3 Nov 2015, Nathan Cutler wrote: > IMHO the first step should be to get rid of the evil submodule. Arguably > the most direct path leading to this goal is to simply package up the > downstream civetweb (i.e. 1.6 plus all the downstream patches) for all > the supported distros. The resulting package would be Ceph-specific, > obviously, so it could be called "civetweb-ceph". > > Like Ken says, the upstreaming effort can continue in parallel. I'm not sure I agree. As long as everything is not upstream and we are running a fork, what is the value of having it in a separate package? That just means all of the effort of managing the package dependency and making sure it is in all of the appropriate distros (and similar pain for those building manually) without any of the benefits (upstream bug fixes, etc.). sage ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-11-03 11:22 ` Sage Weil @ 2015-11-04 20:25 ` Ken Dreyer 2015-11-04 23:43 ` Ken Dreyer 0 siblings, 1 reply; 14+ messages in thread From: Ken Dreyer @ 2015-11-04 20:25 UTC (permalink / raw) To: Sage Weil Cc: Nathan Cutler, Martin Millnert, Pete Zaitcev, Yehuda Sadeh-Weinraub, ceph-devel On Tue, Nov 3, 2015 at 4:22 AM, Sage Weil <sweil@redhat.com> wrote: > On Tue, 3 Nov 2015, Nathan Cutler wrote: >> IMHO the first step should be to get rid of the evil submodule. Arguably >> the most direct path leading to this goal is to simply package up the >> downstream civetweb (i.e. 1.6 plus all the downstream patches) for all >> the supported distros. The resulting package would be Ceph-specific, >> obviously, so it could be called "civetweb-ceph". >> >> Like Ken says, the upstreaming effort can continue in parallel. > > I'm not sure I agree. As long as everything is not upstream and we are > running a fork, what is the value of having it in a separate package? > That just means all of the effort of managing the package dependency and > making sure it is in all of the appropriate distros (and similar pain for > those building manually) without any of the benefits (upstream bug fixes, > etc.). I think there's value in getting the packaging bits ready ahead of time and letting those "bake in" in Fedora/Ubuntu/Debian/SUSE while we continue to merge Ceph's civetweb changes to Civetweb upstream. Now that Civetweb with RGW is mainstream, I'm looking forward to eventually using a pre-built civetweb package that can shave time off our Ceph Gitbuilder/Jenkins runs :) - Ken ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-11-04 20:25 ` Ken Dreyer @ 2015-11-04 23:43 ` Ken Dreyer 2015-11-04 23:54 ` Sage Weil 2015-11-05 0:04 ` Martin Millnert 0 siblings, 2 replies; 14+ messages in thread From: Ken Dreyer @ 2015-11-04 23:43 UTC (permalink / raw) To: Sage Weil Cc: Nathan Cutler, Martin Millnert, Pete Zaitcev, Yehuda Sadeh-Weinraub, ceph-devel On Wed, Nov 4, 2015 at 1:25 PM, Ken Dreyer <kdreyer@redhat.com> wrote: > On Tue, Nov 3, 2015 at 4:22 AM, Sage Weil <sweil@redhat.com> wrote: >> On Tue, 3 Nov 2015, Nathan Cutler wrote: >>> IMHO the first step should be to get rid of the evil submodule. Arguably >>> the most direct path leading to this goal is to simply package up the >>> downstream civetweb (i.e. 1.6 plus all the downstream patches) for all >>> the supported distros. The resulting package would be Ceph-specific, >>> obviously, so it could be called "civetweb-ceph". >>> >>> Like Ken says, the upstreaming effort can continue in parallel. >> >> I'm not sure I agree. As long as everything is not upstream and we are >> running a fork, what is the value of having it in a separate package? >> That just means all of the effort of managing the package dependency and >> making sure it is in all of the appropriate distros (and similar pain for >> those building manually) without any of the benefits (upstream bug fixes, >> etc.). > > I think there's value in getting the packaging bits ready ahead of > time and letting those "bake in" in Fedora/Ubuntu/Debian/SUSE while we > continue to merge Ceph's civetweb changes to Civetweb upstream. > > Now that Civetweb with RGW is mainstream, I'm looking forward to > eventually using a pre-built civetweb package that can shave time off > our Ceph Gitbuilder/Jenkins runs :) Oh, I just re-read this, and Nathan's proposing to package up "civetweb-ceph" as a fork... I'm not sure that's worth it (at least, speaking for packaging in Fedora). When I was talking about a "parallel effort", what I meant is that we'd get vanilla civetweb upstream into the distros, and we'd also continue to bundle civetweb in Ceph, until we can reliably use the upstream Civetweb package. - Ken ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-11-04 23:43 ` Ken Dreyer @ 2015-11-04 23:54 ` Sage Weil 2015-11-05 0:04 ` Martin Millnert 1 sibling, 0 replies; 14+ messages in thread From: Sage Weil @ 2015-11-04 23:54 UTC (permalink / raw) To: Ken Dreyer Cc: Nathan Cutler, Martin Millnert, Pete Zaitcev, Yehuda Sadeh-Weinraub, ceph-devel On Wed, 4 Nov 2015, Ken Dreyer wrote: > On Wed, Nov 4, 2015 at 1:25 PM, Ken Dreyer <kdreyer@redhat.com> wrote: > > On Tue, Nov 3, 2015 at 4:22 AM, Sage Weil <sweil@redhat.com> wrote: > >> On Tue, 3 Nov 2015, Nathan Cutler wrote: > >>> IMHO the first step should be to get rid of the evil submodule. Arguably > >>> the most direct path leading to this goal is to simply package up the > >>> downstream civetweb (i.e. 1.6 plus all the downstream patches) for all > >>> the supported distros. The resulting package would be Ceph-specific, > >>> obviously, so it could be called "civetweb-ceph". > >>> > >>> Like Ken says, the upstreaming effort can continue in parallel. > >> > >> I'm not sure I agree. As long as everything is not upstream and we are > >> running a fork, what is the value of having it in a separate package? > >> That just means all of the effort of managing the package dependency and > >> making sure it is in all of the appropriate distros (and similar pain for > >> those building manually) without any of the benefits (upstream bug fixes, > >> etc.). > > > > I think there's value in getting the packaging bits ready ahead of > > time and letting those "bake in" in Fedora/Ubuntu/Debian/SUSE while we > > continue to merge Ceph's civetweb changes to Civetweb upstream. > > > > Now that Civetweb with RGW is mainstream, I'm looking forward to > > eventually using a pre-built civetweb package that can shave time off > > our Ceph Gitbuilder/Jenkins runs :) > > Oh, I just re-read this, and Nathan's proposing to package up > "civetweb-ceph" as a fork... I'm not sure that's worth it (at least, > speaking for packaging in Fedora). > > When I was talking about a "parallel effort", what I meant is that > we'd get vanilla civetweb upstream into the distros, and we'd also > continue to bundle civetweb in Ceph, until we can reliably use the > upstream Civetweb package. Ah, this sounds better to me. There may be some work to build civetweb as a shared library (currently it's just a statically linked module) but probably not too bad. sage ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: civetweb upstream/downstream divergence 2015-11-04 23:43 ` Ken Dreyer 2015-11-04 23:54 ` Sage Weil @ 2015-11-05 0:04 ` Martin Millnert 1 sibling, 0 replies; 14+ messages in thread From: Martin Millnert @ 2015-11-05 0:04 UTC (permalink / raw) To: Ken Dreyer Cc: Sage Weil, Nathan Cutler, Pete Zaitcev, Yehuda Sadeh-Weinraub, ceph-devel On Wed, 2015-11-04 at 16:43 -0700, Ken Dreyer wrote: > When I was talking about a "parallel effort", what I meant is that > we'd get vanilla civetweb upstream into the distros, and we'd also > continue to bundle civetweb in Ceph, until we can reliably use the > upstream Civetweb package. That's what sounds logical to me too. So that aside, [Sage's] concern to this could probably be reduced to: 1) getting new code out to clients via distro packages is slow, 2) getting new code into upstream projects is tricky 2) as I understand it, has shown tricky for, for example for Sage, with some FS projects, at least. And there's probably a risk to fall back into the urge to fork again in the future if. 1) is probably a minor concern, at least simply considering how we're deploying packages currently (as ceph operator). If you want the latest and greatest, you solve your dependencies... If you run distro packages, well, you're on distro packages already and they are packaged for compatibility as-is. Maintainers of Ceph distro packages would need to assure they work with civetweb packages. Ultimately it's a question of whether or not the added labor of keeping a fork is worth the benefit it brings in reduction of external dependencies when deploying. The downside is, as in this case, risk of lagging behind if fork isn't kept up-to-date. Not obvious which is better. /M ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-11-05 0:06 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-10-29 9:19 civetweb upstream/downstream divergence Nathan Cutler 2015-10-29 10:11 ` Wido den Hollander 2015-10-29 16:56 ` Loic Dachary 2015-10-29 17:58 ` Yehuda Sadeh-Weinraub 2015-10-30 4:57 ` Pete Zaitcev 2015-10-30 8:00 ` Loic Dachary 2015-10-30 21:38 ` Ken Dreyer 2015-11-02 17:47 ` Martin Millnert 2015-11-03 9:22 ` Nathan Cutler 2015-11-03 11:22 ` Sage Weil 2015-11-04 20:25 ` Ken Dreyer 2015-11-04 23:43 ` Ken Dreyer 2015-11-04 23:54 ` Sage Weil 2015-11-05 0:04 ` Martin Millnert
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.