LISTSERV mailing list manager LISTSERV 16.5

Help for XROOTD-DEV Archives


XROOTD-DEV Archives

XROOTD-DEV Archives


XROOTD-DEV@LISTSERV.SLAC.STANFORD.EDU


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

XROOTD-DEV Home

XROOTD-DEV Home

XROOTD-DEV  June 2012

XROOTD-DEV June 2012

Subject:

Re: xrootd 3.2 in epel

From:

Dirk Duellmann <[log in to unmask]>

Reply-To:

xrootd developers' list for Scalla/xrootd repository and related issues <[log in to unmask]>

Date:

Thu, 7 Jun 2012 05:37:51 +0000

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (378 lines)

Hi Andy and Lukasz,

I think we should try with Andy's proposal. I expect to meet Matthias in Sweden on Thu next week. Lets try to meet before I leave on Wed.

Cheers, Dirk


On 07.06.2012, at 07:26, "Andrew Hanushevsky" <[log in to unmask]> wrote:

> Hi Lukasz,
> 
> Well, a few things are going one here.
> 
> 1) it's pretty hard to easily support multiple version if they delete the previous set of libraries. I can see their reluctance as it solves one set of problems but merely introduces another set. There are several work arounds for that but none of them that they would like. The way we do it (and many others for different reasons) is simply installing the package in a versioned directory with symlinks to the "production" version. Then people can pick and choose which version they would like to run if not the production one. Some people like that others hate it. However, I don't see a clear solution other than that because as things stand now, to run a different version of package A means you have to install a full release of all other packages that A was bundled with (I suppose RedHat has the same problem). Not a pretty situation.
> 
> So, if EPEL wants to be a RedHat-like distributor then what's in EPEL is the "sanctioned" release and if someone wants something different then they are on their own to install that particular package from an external source and come up with a way to deploy it. Not nice; but it fulfills EPEL's mission.
> 
> 2) As for ABI compatability, I think it's a stretch to say it's impossible to provide ABI compatability. We actually have been much better at this than most software distributers. I can count on one hand where people had to recompile a plugin between releases. Of course, that depends on what they define as ABI compatability. I think we should only go as far as plugins. We could do that but not when they delete previous versions of the libraries. Supplying new features is completely separate from providing ABI compatability to plugins and both can co-exist, depending on how it's managed. Doing it via compat libraries is pretty painful, so I can't say I'm convinced that's a good way to go.
> 
> So, what's the bottom line? Basically, I'd say that EPEL's mission conflicts with what other software providors want to accomplish. That's not to say that EPEL's mission is bad. Hey, people love RH simply because they know exactly what they are getting. It's just that it doesn't fit a fast moving environment. It's not supposed to.
> 
> The only real solution it seems is for EPEL to loosen up a bit and we become more strict. My proposal would be:
> 
> a) We create a shared library of utilities commonly used by plug-in writers. It's pretty easy to see what they would be. This library is managed just as we manage plugin interfaces, as follows:
> 
> o All patch releases (i.e. x.y.<patch> maintain ABI compatability and do
>  not introduce any new features.
> o We are allowed to introduce new features in a minor release (i.e.,
>  x.<minor>.<patch>) as long as they keep ABI compatability.
> o Major releases may require a recompilation and would only be included in
>  the next EPEL release.
> 
> b) We make no gaurantees on interfaces in our private shared libraries.
>   If a plugin writer wants to use something there, they are on their own.
>   Hence, they would be versioned differently than the common utilities
>   library (i.e. its version would stay the same across patch and minor
>   releases).
> c) We provide a distribution that people can use to over-ride what's in
>   EPEL if they choose to go that route.
> 
> Why don't we get together with the relevant parties while I am at CERN next week to sort this out, if possible.
> 
> Andy
> 
> On Wed, 6 Jun 2012, Lukasz Janyst wrote:
> 
>> Hi Andy,
>> 
>>  I believe it's a problem of release cycles. For EPEL the repository they
>> provide for, say, RHEL5 is released, third-parties have built upon it, and
>> it's considered stable, so that everyone who depends on it can be sure that
>> nothing will ever be broken. This will make it very hard to convince them to
>> accept anything that is not ABI-compatible. As you could see from the email of
>> Mattias, he had no problem pushing new things to Rawhide, which is their
>> development branch.
>> 
>>  Now, for us the situation is quite different. RHEL5 is out primary
>> development platform and it's in our interest to have the latest and the
>> greatest things distributed there, but at the same time it's close to
>> impossible to ensure the binary compatibility.
>> 
>>  If it comes to RPMs, they do delete the old versions of the libraries, but
>> this is not that much of a problem because, so called, compat packages can be
>> built. It's somewhat painful, but doable. As both I and Mattias mention, the
>> problem arises when we consider the plug-ins. In my email I have (silently)
>> assumed that we have a way of versioning the plug-ins. This, however, doesn't
>> help much in this case because we will still (gracefully) fail, since new
>> daemons won't be able to load the old third-party plug-ins, hence this only
>> moves the problem from one space to another. If this is acceptable, then we
>> indeed have no real problem, just quite some work on my part. I am afraid this
>> is not really acceptable for EPEL though, and this is why we may need an
>> independent distribution channel.
>> 
>> Cheers,
>>  Lukasz
>> 
>> On Tuesday, June 05, 2012 02:36:58 PM Andrew Hanushevsky wrote:
>>> Well, I don't quite understand the problem here. It certainly doesn't look
>>> any more complicated than what I would expect to find in a regular Linux
>>> distribution teaming with even more cross-party dependencies. Is it that
>>> people are indiscriminately pulling new version of xrootd or that third
>>> party providers are trying to release stuff that depends on things not in
>>> EPEL? If either is true, then this is *not* a technical problem. This is a
>>> people problem and, as such, impossible to fix with a technical solution.
>>> 
>>> So, the only technical part that I do see here is:
>>> a) Binaries that link to versioned shared libraries, and
>>> b) Plugins that may link to other versioned shared libraries.
>>> 
>>> Is there a conflict between the two? It doesn't seem like it. The RPM
>>> doesn't (I think) remove old version of shared libraries. So, anyone
>>> depending on the old versions can continue. The only issue, as I see it, is
>>> in the area of plugins. Of course, as long as the ABI is compatible with the
>>> plug-in it should work. If it isn't, then in the current version the plugin
>>> is likely to crash. Just like the old days of Mozzilla.
>>> 
>>> Now, that said, in 3.3.0, xrootd will have internal version consistency
>>> checking (I'm a couple of days from checking it in). If a plug-in (actually
>>> any plug-in associated cross-dependency) is not compatible with the plugin
>>> loader, the plugin will not be loaded and a message will be issued showing
>>> the two version numbers that are incompatible. As this is currently
>>> voluntary (except for authentication plugins) it will work like the old
>>> system until plugin writers get up to speed by including two lines in their
>>> plugin to record the version number.
>>> 
>>> Will this solve the problem? Not fully, it merely moves it to a different,
>>> but less crash-prone, space.
>>> 
>>> So, how can we solve it? Well, for the DPM case below, they simply cannot
>>> expect to distribute things that depend on things that are not in EPEL. It's
>>> totally illogical for them to do otherwise.  Practically, they must provide
>>> alternate sources for yum to load dependencies and install those relative
>>> to the DPM package, not in the default location which would clobber
>>> everything else. Of course, in this case, the DPM folks need the new
>>> features on xrootd as opposed to some benign dependency. As long as xrootd
>>> sites and DPM sites are mutually exclusive then there is no problem. It's
>>> probably the case and if this is not, then this problem is no different
>>> than any other software package that requires two different versions to be
>>> run.
>>> 
>>> As for people pulling new versions without thought, we should just tell them
>>> to stop. This is pure mismanagement of a site, plain and simple. As an
>>> aside, the way we have solved this problem for some experiments is by
>>> actually versioning the installation so we can have multiple version
>>> available and making one the default one that can't change without admin
>>> approval.
>>> 
>>> Finally, to answer Lukasz's proposals:
>>> #1 absolutely not, it's not a responsible thing to do.
>>> #2 No, as you point out, it will always be incomplete. This is why we have
>>> release notes. People should read them before upgrading. However, we should
>>> make it very plain as to any incompatibilities. Which, btw, are relatively
>>> rare.
>>> #3 Pulling out of EPEL is, both, a technical and a political issue. So, we
>>> should get the political side of the house to weigh in. I see advantages
>>> being in EPEL and I don't see why we can't if we can just convince people to
>>> not have unrealistic expectations on what service EPEL actually provides.
>>> 
>>> Any more thoughts?
>>> 
>>> Andy
>>> 
>>> -----Original Message-----
>>> From: Lukasz Janyst
>>> Sent: Tuesday, June 05, 2012 9:18 AM
>>> To: [log in to unmask]
>>> Subject: Fwd: Re: xrootd 3.2 in epel
>>> 
>>> FYI. This is really a hard one... Please let me know if you have any
>>> thoughts
>>> on all this.
>>> 
>>> Lukasz
>>> 
>>> ----------  Forwarded Message  ----------
>>> 
>>> Subject: Re: xrootd 3.2 in epel
>>> Date: Tuesday, June 05, 2012, 06:07:32 PM
>>> From: Lukasz Janyst <[log in to unmask]>
>>> To: Ricardo Rocha <[log in to unmask]>
>>> CC: Mattias Ellert <[log in to unmask]>, Wahid Bhimji
>>> <[log in to unmask]>, Simone Campana <[log in to unmask]>, Sam
>>> Skipsey <[log in to unmask]>, Cristina Aiftimiei
>>> <[log in to unmask]>
>>> 
>>> Hello everyone,
>>> 
>>>   thanks for these emails, they help me understand where we are and where
>>> the
>>> problem really is, and it's a hard one.
>>> 
>>>  The concern of Mattias (and the Fedora guidelines writers) is that the
>>> third
>>> party code depending on the xrootd libraries will break when the not ABI-
>>> compatible binaries are pushed. This is a valid concern. However, the only
>>> thing that should depend on the xrootd libraries is the plugins that are
>>> loaded by the xrootd server daemons and the clients. Since we don't version
>>> the daemon executables, they won't be able to load the plugins depending on
>>> old versions of the libraries. So having the compat packages solves the
>>> problem only for the clients, for the servers it only pushes it from
>>> build/installation time to runtime.
>>> 
>>>   IMO the only viable solutions are:
>>> 
>>> 1) Not updating to new non-bugfix releases of XRootD in EPEL repos meant for
>>> released Fedora/RHEL - apparently not acceptable.
>>> 2) Always consult all the packages depending on XRootD when updating
>>> (painful,
>>> long, and probably very inaccurate)
>>> 3) Pull xrootd out from EPEL and have it managed externally or have a way to
>>> safely override EPEL provided XRootD with externally provided XRootD, so
>>> that
>>> the sites who don't care about every possible third party package that
>>> depends
>>> on EPEL still get what they want via external yum.
>>> 
>>>   Mattias, I would be very much interested in your thoughts about this.
>>> 
>>> Cheers,
>>>   Lukasz
>>> 
>>> On Tuesday, June 05, 2012 04:38:00 PM Ricardo Rocha wrote:
>>>> I cc Lukasz as he was mentioning he might work on providing such a
>>>> compat package.
>>>> 
>>>> I still think that getting in contact with every user - we know them
>>>> all - would be the simpler solution.
>>>> 
>>>> On Mon, Jun 4, 2012 at 7:55 PM, Ricardo Rocha <[log in to unmask]>
>>>> 
>>>> wrote:
>>>>> Hi Mattias.
>>>>> 
>>>>> Here's our issue... the dpm-xrootd component requires xrootd 3.2 or
>>>>> above.
>>>>> 
>>>>> I do not know the details of the incompatibility being introduced, i
>>>>> just know that we need this version. So for us 3.2 not getting in
>>>>> EPEL
>>>>> means dpm-xrootd will not be getting in EPEL either.
>>>>> 
>>>>> Which means we'll keep distributing this component in the EMI and
>>>>> UMD
>>>>> repositories, and need xrootd 3.2 in these externals.
>>>>> 
>>>>> I'll go and discuss with the xrootd guys in the meantime... but
>>>>> honestly i think the easiest and only solution is still to
>>>>> coordinate
>>>>> the introduction of this new version with all the dependencies - and
>>>>> try not to have this happening again in the future.
>>>>> 
>>>>> Thanks again,
>>>>> Ricardo
>>>>> 
>>>>> On Mon, Jun 4, 2012 at 7:43 PM, Mattias Ellert
>>>>> 
>>>>> <[log in to unmask]> wrote:
>>>>>> ons 2012-05-30 klockan 13:22 +0100 skrev Wahid Bhimji:
>>>>>>> Hi Mattias,
>>>>>>> 
>>>>>>> We are keen to test (and use) the new DPM xrootd server but
>>>>>>> apparently
>>>>>>> this requires xrootd 3.2 in epel .
>>>>>>> 
>>>>>>> I notice there are some builds but don't see the rpm in epel-6
>>>>>>> (or
>>>>>>> testing). Any idea when this might be available?
>>>>>>> 
>>>>>>> Many Thanks
>>>>>>> 
>>>>>>> Wahid
>>>>>>> 
>>>>>>> -----------------------------
>>>>>>> Dr Wahid Bhimji
>>>>>> 
>>>>>> Hi!
>>>>>> 
>>>>>> There are many things to consider here - in particular the
>>>>>> following:
>>>>>> 
>>>>>> Updating xrootd in EPEL would mean a backward incompatible update
>>>>>> with
>>>>>> soname bumps. The EPEL update guidelines says the following about
>>>>>> updates that changes the ABI of a package:
>>>>>> 
>>>>>> http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies
>>>>>> 
>>>>>> "this update should be avoided if possible at all. If there really
>>>>>> is
>>>>>> no
>>>>>> other way out to fix a serious bug then it rare cases it might be
>>>>>> acceptable to build the new version for the testing branch and
>>>>>> mention
>>>>>> the update and the needed adjustments in the release notes for the
>>>>>> next
>>>>>> update. An additional compat- packages with the old libs is
>>>>>> necessary
>>>>>> if
>>>>>> the ABI changed."
>>>>>> 
>>>>>> Making an xrootd-compat with the old version that works correctly
>>>>>> would
>>>>>> require a lot of work, since xrootd uses plugins loaded from the
>>>>>> default
>>>>>> library path, and the non-versioned library names for these would
>>>>>> conflict between the main xrootd package and the compat package in
>>>>>> that
>>>>>> case, unless a lot of plugin handling in xrootd was rewritten.
>>>>>> 
>>>>>> So if the package would be updated to version 3.2 it would have to
>>>>>> be
>>>>>> without adding a compat package, which would violate the
>>>>>> guidelines.
>>>>>> If
>>>>>> only the packages in Fedora and EPEL were concerned, the
>>>>>> coordination
>>>>>> would not be unmanageable -- not that many packages in Fedora
>>>>>> depend
>>>>>> on
>>>>>> xrootd. But this will potentially affect a lot of third party
>>>>>> software
>>>>>> repositories and privately compiled software, that would become
>>>>>> unusable
>>>>>> when the update is made. This would most likely have severe impact
>>>>>> on
>>>>>> sites running EMI and UMD software and could potentially cause
>>>>>> havoc
>>>>>> for
>>>>>> a lot of production systems.
>>>>>> 
>>>>>> These are the reasons I have not made updates that changes the
>>>>>> sonames
>>>>>> in released versions of Fedora and EPEL, and why F15, EPEL 5 and
>>>>>> EPEL
>>>>>> 6
>>>>>> has stayed at version 3.0.5, F16 and F17 has stayed at version
>>>>>> 3.1.1
>>>>>> and
>>>>>> only F18 has been updated to version 3.2.1.
>>>>>> 
>>>>>> If you rely on new functionality in the xrootd libraries that were
>>>>>> introduced after version 3.0.5, and want to use this in EPEL 5 and
>>>>>> 6,
>>>>>> another possibility would be to backport this new functionality to
>>>>>> the
>>>>>> 3.0.5 version, making sure that the existing ABI is preserved. I
>>>>>> know
>>>>>> that xrootd upstream only maintains their latest released version,
>>>>>> so
>>>>>> getting help from them in this effort is probably not possible.
>>>>>> How
>>>>>> much
>>>>>> work this is, or if it is even possible I don't know. I don't know
>>>>>> if
>>>>>> this is a small thing or if the changes you need are tightly
>>>>>> coupled
>>>>>> to
>>>>>> the changes in the ABI which would make backporting impossible.
>>>>>> 
>>>>>> Making the update to version 3.2 in EPEL is of course not entirely
>>>>>> ruled
>>>>>> out - guidelines are not laws after all. But any such suggestion
>>>>>> must
>>>>>> be
>>>>>> extremely well motivated, and in my mind only a non-backportable
>>>>>> security issue would really fly. If such an update would be
>>>>>> attempted
>>>>>> it
>>>>>> must be thoroughly coordinated with all known users of the xrootd
>>>>>> libraries - the EMI consortia, UMD release management, OSG
>>>>>> software
>>>>>> developers and who knows who else. As you can see this is not
>>>>>> something
>>>>>> that can be done easily.
>>>>>> 
>>>>>>       Mattias
>>> 
>>> -----------------------------------------
>>> 
>>> ########################################################################
>>> Use REPLY-ALL to reply to list
>>> 
>>> To unsubscribe from the XROOTD-DEV list, click the following link:
>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1
>> 
> 
> ########################################################################
> Use REPLY-ALL to reply to list
> 
> To unsubscribe from the XROOTD-DEV list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010

ATOM RSS1 RSS2



LISTSERV.SLAC.STANFORD.EDU

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager

Privacy Notice, Security Notice and Terms of Use