Hello! With existing binary archive, user can move directories from apache-ignite-fabric/libs/optional to apache-ignite-fabric/libs to activate them.
But with RPM, user should not contemplate moving directories from /usr/lib/apache-ignite/optional to /usr/lib/apache-ignite. User lacks permissions for that operation and it would defeat the purpose of having a RPM (imagine trying to upgrade Ignite RPM version with a setup like that). "Turning distribution into Slackware" should not be an offering. How it could work: Imagine we create /var/lib/ignite, use it as IGNITE_HOME, add symlinks from files in /usr/lib to /var/lib/ignite. This way, we can add and remove symlinks to modules in optional/, and thus enable and disable them as user sees fit. This also answers the problem of "what's IGNITE_HOME for visor launched from /usr/bin" But obviously this will require dedication and effort. -- Ilya Kasnacheev 2018-04-14 8:03 GMT+03:00 Peter Ivanov <mr.wei...@gmail.com>: > Current packages design (after installation) does not differ from binary > archive - everything works (except necessity to run service instead > ignite.sh) just the same way, including libs/optional. > > Also, there can be issues with system JDK version by default, but every > problem will be in journalctl and/or /var/log, and package has strong > dependency on any implementation of JDK 1.8. > > > I am lacking enough feedback about Apache Ignite from packages from real > users, don’t know real use cases so still "moving in the dark". > > > On Fri, 13 Apr 2018 at 22:18, Denis Magda <dma...@apache.org> wrote: > > > Ilya, > > > > Thanks for your inputs. The reason why we decided to split Ignite into > > several packages mimics the reason why Java community introduced modular > > subsystem for JDK. That's all about size. Ignite distribution is too big, > > and we're trying to separate it into several components so that people > can > > install only the features they need. > > > > The point of a package is to ship something into root file system that > can > > > be used from root file system. If cpp files require compilation we > should > > > not ship them, or ship them to 'examples'. Ditto with benchmarks. If > > > there's no mechanism to add optional libs to Ignite classpath, we > should > > > not ship optional libs. Moreover, some of 'optional' modules such as > yarn > > > don't make sense here because they're not supposed to be used with > > > standalone Ignite. > > > > > > Agree that we need to ship the code that is ready to be run. As for the > > classpath thing, if an optional package is installed into the root (core) > > package directory, then its jars have to be added to "ignite/libs" > folder. > > After that, the one needs to restart a cluster node, nd it will add the > > just installed optional libs to the classpath. *Petr*, does it work this > > way or can be implemented this way to address Ilya's concerns? > > > > -- > > Denis > > > > On Fri, Apr 13, 2018 at 7:00 AM, Ilya Kasnacheev < > > ilya.kasnach...@gmail.com> > > wrote: > > > > > 2018-04-13 7:42 GMT+03:00 Peter Ivanov <mr.wei...@gmail.com>: > > > > > > > On Thu, 12 Apr 2018 at 20:04, Ilya Kasnacheev < > > ilya.kasnach...@gmail.com > > > > > > > > wrote: > > > > > > > > > > > > > > Moreover I did not find a way to start service if default installed > > JVM > > > > is > > > > > Java 7 :( I understand it's EOL, still this is something that hit > me. > > > > > > > > > > > > Apache Ignite >=2.4 does not support Java 7 - it is said in > > > documentation, > > > > DEVNOTES and even in startup scripts. > > > > > > > > I have Java 8 too, but I could not get service from package to start > > > Ignite since there's nowhere to put JAVA_HOME (or JVM_ARGS for that > > > matter). Is it possible to specify it while running packaged Ignite? > > > > > > > > > > > > > > > > > > > > apache-ignite-libs is a totally unexpected package name. > > apache-ignite > > > > core > > > > > doesn't depend on it. It doesn't enable anything out of the box. > The > > > > > package is huge. > > > > > > > > ‘apache-ignite-libs’ is an aggregation package (for now) for all > > optional > > > > libs we are delivering. Possibly later they will be split more > granular > > > or > > > > even package per lib (like php, perl, python, etc. do for their > libs). > > > > This package dependency on ‘apache-ignite-core’ may seem confusing > > > though, > > > > I will try to explain it in IEP at least for current iteration. > > > > > > > > > > Okay, but how do you add optional libs to be included into Ignite > > classpath > > > while being launched by service? Is it even possible? If it isn't, I > > think > > > it doesn't make sense to ship apache-ignite-libs at all. > > > > > > > > > > > > > > Further naming may become clear when we’ll start initiative on > > including > > > > packages to popular Linux distributions and theirs community will > join > > > > naming discussions. > > > > > > > Renaming packages once they're deployed widely will be a pain point to > > out > > > users. Some things should probably be thought out in advance. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Frankly speaking, I'm not sure that improvements over Stage I are > > > enough > > > > as > > > > > of now. For demo-like activity, we can probably go with one package > > > fits > > > > > all. > > > > > > > > > > > > > The process of finding the best package architecture is iterative, > but > > > > previously community agreed in split design proposed for 2.5 release. > > > > > > > > Also, split architecture is half of proposed improvements. The other > > > half - > > > > new process for deploying packages to Bintray (with virtually > > indefinite > > > > storage capabilities). > > > > > > > I think we could drop the split for now, or at least drop > > > apache-ignite-libs package at all. Probably also drop apache-ignite-cpp > > > package and maybe apache-ignite-benchmarks. > > > > > > The point of a package is to ship something into root file system that > > can > > > be used from root file system. If cpp files require compilation we > should > > > not ship them, or ship them to 'examples'. Ditto with benchmarks. If > > > there's no mechanism to add optional libs to Ignite classpath, we > should > > > not ship optional libs. Moreover, some of 'optional' modules such as > yarn > > > don't make sense here because they're not supposed to be used with > > > standalone Ignite. > > > > > > IMO it is not right to try and shove every file from Ignite > distribution > > > into some package. We should only put in packages things that can be > > used. > > > If something can't be used without copying it to a different FS > location, > > > it should be in examples or not packaged at all. > > > > > > In my opinion, it doesn't make sense to implement an underwhelming > > package > > > split right now just because we have agreed to have *some* package > split > > in > > > 2.5. Let's aim for happiness. > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Ilya Kasnacheev > > > > > > > > > > > > > > > > > > > > > > > 2018-04-12 19:10 GMT+03:00 Petr Ivanov <mr.wei...@gmail.com>: > > > > > > > > > > > If someone from PMCы or Committers still sees necessity about > > > including > > > > > > these tasks into Apache Ignite 2.5 release, this is the last > chance > > > to > > > > do > > > > > > so. > > > > > > Otherwise this task will be moved to at 2.6 release at least, or > > even > > > > > > moved to backlog indefinitely. > > > > > > > > > > > > > > > > > > > > > > > > > On 9 Apr 2018, at 19:08, Petr Ivanov <mr.wei...@gmail.com> > > wrote: > > > > > > > > > > > > > > To top new RPM architecture off, update to release process is > > > > > introduced > > > > > > — [1] [2]. > > > > > > > > > > > > > > Both tasks (this one and IGNITE-7647) are ready for review and > > > should > > > > > be > > > > > > merged simultaneously. > > > > > > > > > > > > > > > > > > > > > [1] https://issues.apache.org/jira/browse/IGNITE-8172 > > > > > > > [2] https://github.com/apache/ignite-release/pull/1 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> On 2 Apr 2018, at 18:22, Ilya Kasnacheev < > > > ilya.kasnach...@gmail.com > > > > > > > > > > > wrote: > > > > > > >> > > > > > > >> Hello! > > > > > > >> > > > > > > >> Let me share my idea of how this shoud work. Splitting package > > > into > > > > > > >> sub-packages should be dependency-driven. > > > > > > >> > > > > > > >> It means that all Ignite modules without dependencies or with > > > small > > > > > > >> dependencies (such as ignite-log4j) should be included in > > > > ignite-core. > > > > > > It > > > > > > >> doesn't make sense to make a zillion RPM packages. > > > > > > >> > > > > > > >> Critical things like ignite-spring and ignite-indexing should > be > > > in > > > > > > >> ignite-core of course, even if they have dependencies. > > Ignite-core > > > > > > should > > > > > > >> be fully self-sufficient and feature-complete. > > > > > > >> > > > > > > >> However, e.g. .net API should probably be in a separate > package, > > > > > > because it > > > > > > >> should depend on mono | net-core. We may also have > ignite-devel > > > > > package > > > > > > >> which should include all modules which only make sense for > > > > developers > > > > > > who > > > > > > >> write code. Such as hibernate integration. > > > > > > >> > > > > > > >> I'm not sure about MR modules. The main question should be, > does > > > it > > > > > have > > > > > > >> dependencies? Can it run stand-alone without writing code? > > > > > > >> > > > > > > >> Hope this helps, > > > > > > >> > > > > > > >> -- > > > > > > >> Ilya Kasnacheev > > > > > > >> > > > > > > >> 2018-03-27 15:10 GMT+03:00 Petr Ivanov <mr.wei...@gmail.com>: > > > > > > >> > > > > > > >>> Hi, Igniters! > > > > > > >>> > > > > > > >>> > > > > > > >>> Here are some news on our RPM packages initiative. > > > > > > >>> > > > > > > >>> 1. I’ve finished preliminary developing of Stage II version > of > > > RPM > > > > > > >>> packages [1]. Main “new feature” is — split design. Also I’ve > > > added > > > > > > >>> package.sh script for automating package building process > which > > > > will > > > > > > help > > > > > > >>> organise corresponding builds in TC as well as simplify > process > > > for > > > > > > >>> developers who wishes to have custom packages. > > > > > > >>> PR#3703 [2] is ready for review. Denis, in order to catch up > > with > > > > > > Apache > > > > > > >>> Ignite 2.5 release, I’d greatly appreciate your help in > finding > > > > > > reviewer. > > > > > > >>> 2. With the help of ASF INFRA team, we now have RPM [3] and > DEB > > > [4] > > > > > > >>> repositories on Apache Bintray. Though they are already > > prepared > > > > for > > > > > > >>> hosting RPM and DEB packages respectively, and there is a way > > of > > > > > > linking > > > > > > >>> them to apache.org/dist/ignite page, there is possible > > > alternative > > > > > in > > > > > > >>> storing there only plain directory layout corresponding to > each > > > > > > repository > > > > > > >>> type (RPM and DEB) and manage this layout (repodata, > > > distributions, > > > > > > >>> versions, etc.) by ourselves, having more control over > > > repositories > > > > > but > > > > > > >>> lacking some simplicity of deploying new releases. WDYT? > Should > > > we > > > > > try > > > > > > >>> Cassandra approach? They are storing their DEB packages as I > > > > > described > > > > > > >>> above [5]. > > > > > > >>> > > > > > > >>> Also — a question arose while I was working on this issue: > > which > > > > OSes > > > > > > (and > > > > > > >>> which versions of each) are we going to support (if we are > > going) > > > > in > > > > > > terms > > > > > > >>> of step-by-step list? Currently RPM packages are tested only > > with > > > > > > latest > > > > > > >>> CentOS (and, respectively — RHEL), but there are a lot more > > > > RPM-based > > > > > > >>> distributives [6] some of which are more o less popular among > > OS > > > > > > community > > > > > > >>> (ALT, Fedora, openSUSE, etc.). > > > > > > >>> > > > > > > >>> > > > > > > >>> [1] https://issues.apache.org/jira/browse/IGNITE-7647 > > > > > > >>> [2] https://github.com/apache/ignite/pull/3703 > > > > > > >>> [3] https://bintray.com/apache/ignite-rpm > > > > > > >>> [4] https://bintray.com/apache/ignite-deb > > > > > > >>> [5] https://bintray.com/apache/cassandra/debian#files/ > > > > > > >>> [6] https://en.wikipedia.org/wiki/Category:RPM-based_Linux_ > > > > > > distributions > > > > > > >>> > > > > > > >>> > > > > > > >>> > > > > > > >>> > > > > > > >>>> On 15 Mar 2018, at 22:15, Petr Ivanov <mr.wei...@gmail.com> > > > > wrote: > > > > > > >>>> > > > > > > >>>> I suppose that most everything if not all from libs/options > > will > > > > go > > > > > to > > > > > > >>> OPTIONAL (I’d call it simply ‘apache-ignite-libs'). > > > > > > >>>> More precise lib selection (if something from optional would > > > > better > > > > > to > > > > > > >>> have in core package) will be discussed right after > preliminary > > > > split > > > > > > >>> architecture agreement. > > > > > > >>>> > > > > > > >>>> > > > > > > >>>> > > > > > > >>>>> On 15 Mar 2018, at 22:11, Dmitry Pavlov < > > dpavlov....@gmail.com > > > > > > > > > > wrote: > > > > > > >>>>> > > > > > > >>>>> I like idea of keeping simple system of modules, so +1 from > > me. > > > > > > >>>>> > > > > > > >>>>> Where optional libs (e.g Direct IO plugin) would be > included, > > > > would > > > > > > it > > > > > > >>> be > > > > > > >>>>> core or optional? > > > > > > >>>>> > > > > > > >>>>> чт, 15 мар. 2018 г. в 22:09, Denis Magda < > dma...@apache.org > > >: > > > > > > >>>>> > > > > > > >>>>>>> > > > > > > >>>>>>>> > > > > > > >>>>>>>> How big would be a final core module? > > > > > > >>>>>>> Around 30M. Can be shrinked to ~15M if separate Visor and > > > > create > > > > > > it’s > > > > > > >>> own > > > > > > >>>>>>> package. > > > > > > >>>>>> > > > > > > >>>>>> > > > > > > >>>>>> Guys, 30 vs 280M is a huuuuge difference. I would agree > > with > > > > Petr > > > > > > and > > > > > > >>>>>> propose the simplest modular system: > > > > > > >>>>>> > > > > > > >>>>>> - core module that includes basic Ignite capabilities > > > including > > > > > SQL, > > > > > > >>>>>> compute grid, service grid, k/v > > > > > > >>>>>> - optional module hosts the rest - ML, streamers > integration > > > > > (kafka, > > > > > > >>>>>> flink), kubernetes, etc. > > > > > > >>>>>> > > > > > > >>>>>> What do you think? > > > > > > >>>>>> > > > > > > >>>>>> -- > > > > > > >>>>>> Denis > > > > > > >>>>>> > > > > > > >>>>>> On Thu, Mar 15, 2018 at 12:36 AM, Petr Ivanov < > > > > > mr.wei...@gmail.com> > > > > > > >>> wrote: > > > > > > >>>>>> > > > > > > >>>>>>> *DEB package > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>>>> On 15 Mar 2018, at 10:35, Petr Ivanov < > > mr.wei...@gmail.com> > > > > > > wrote: > > > > > > >>>>>>>> > > > > > > >>>>>>>> Considering that DEV package for now is almost platform > > > > > > independent > > > > > > >>>>>> (its > > > > > > >>>>>>> a java application more or less), that package will work > > > almost > > > > > on > > > > > > any > > > > > > >>>>>>> DEB-based linux, including but not limited to Ubuntu, > > Debian, > > > > > etc. > > > > > > >>>>>>>> The only restriction is existence of systemctl (systemd) > > > > service > > > > > > >>>>>> manager > > > > > > >>>>>>> — we are dependent on it. > > > > > > >>>>>>>> > > > > > > >>>>>>>> Thats why, for instance, our RPM repository is called > > simply > > > > > ‘rpm’ > > > > > > >>> and > > > > > > >>>>>>> package has no arch or dist suffix — it will work on > > CentOS, > > > > > RHEL, > > > > > > >>>>>> Fedora, > > > > > > >>>>>>> etc. with presence of aforementioned systemd. > > > > > > >>>>>>>> > > > > > > >>>>>>>> > > > > > > >>>>>>>> > > > > > > >>>>>>>>> On 15 Mar 2018, at 07:57, Dmitriy Setrakyan < > > > > > > dsetrak...@apache.org> > > > > > > >>>>>>> wrote: > > > > > > >>>>>>>>> > > > > > > >>>>>>>>> Will Debian package work for Ubuntu? > > > > > > >>>>>>>>> > > > > > > >>>>>>>>> D. > > > > > > >>>>>>>>> > > > > > > >>>>>>>>> On Wed, Mar 14, 2018 at 9:52 PM, Petr Ivanov < > > > > > > mr.wei...@gmail.com> > > > > > > >>>>>>> wrote: > > > > > > >>>>>>>>> > > > > > > >>>>>>>>>> Not a problem, rather nuisance. Also, when we will > move > > to > > > > > > official > > > > > > >>>>>>>>>> repositories, there can be a problem from OS > community. > > > > > > >>>>>>>>>> > > > > > > >>>>>>>>>> Concerning DEB packages — I plan to use RPM as base > for > > > DEB > > > > > > package > > > > > > >>>>>>> build > > > > > > >>>>>>>>>> (package layout / install scripts) for speeding up > > things > > > > and > > > > > > >>>>>> excluding > > > > > > >>>>>>>>>> possible duplication and desynchronisation, so its a > > > matter > > > > of > > > > > > ’sit > > > > > > >>>>>>> and do’ > > > > > > >>>>>>>>>> rather then some technical research. Thats why I rose > > > > > discussion > > > > > > >>>>>> about > > > > > > >>>>>>>>>> future package architecture, so that after agreement > I'm > > > be > > > > > > able to > > > > > > >>>>>>> pack > > > > > > >>>>>>>>>> both RPM and DEB identically. > > > > > > >>>>>>>>>> > > > > > > >>>>>>>>>> Yet, if you insist, I can create DEB package according > > to > > > > > > current > > > > > > >>> RPM > > > > > > >>>>>>>>>> layout in no time. > > > > > > >>>>>>>>>> > > > > > > >>>>>>>>>> > > > > > > >>>>>>>>>> > > > > > > >>>>>>>>>>> On 15 Mar 2018, at 04:53, Dmitriy Setrakyan < > > > > > > >>> dsetrak...@apache.org> > > > > > > >>>>>>>>>> wrote: > > > > > > >>>>>>>>>>> > > > > > > >>>>>>>>>>> Peter, > > > > > > >>>>>>>>>>> > > > > > > >>>>>>>>>>> I don't think the package size of 280M is going to > be a > > > > > > problem at > > > > > > >>>>>>> all, > > > > > > >>>>>>>>>> but > > > > > > >>>>>>>>>>> what you are suggesting can be an improvement down > the > > > > road. > > > > > > >>>>>>>>>>> > > > > > > >>>>>>>>>>> In the mean time, I think our top priority should be > to > > > > > provide > > > > > > >>>>>>> packages > > > > > > >>>>>>>>>>> for Debian and Ubuntu. Having only RPMs is not nearly > > > > enough. > > > > > > >>>>>>>>>>> > > > > > > >>>>>>>>>>> Agree? > > > > > > >>>>>>>>>>> > > > > > > >>>>>>>>>>> D. > > > > > > >>>>>>>>>>> > > > > > > >>>>>>>>>>> On Wed, Mar 14, 2018 at 5:36 AM, vveider < > > > > > mr.wei...@gmail.com> > > > > > > >>>>>> wrote: > > > > > > >>>>>>>>>>> > > > > > > >>>>>>>>>>>> Hi, Igniters! > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> Release 2.4 is almost there, at least binary part of > > it, > > > > so > > > > > > I'd > > > > > > >>>>>> like > > > > > > >>>>>>> to > > > > > > >>>>>>>>>>>> move > > > > > > >>>>>>>>>>>> forward to further improve and widen AI delivery > > through > > > > > > >>> packages. > > > > > > >>>>>>>>>>>> As of now, Apache Ignite ships in RPM package > weighing > > > > about > > > > > > >>> 280M+ > > > > > > >>>>>>> and, > > > > > > >>>>>>>>>> to > > > > > > >>>>>>>>>>>> improve usability and significantly reduce required > > > > download > > > > > > >>>>>> sizes, I > > > > > > >>>>>>>>>>>> purpose that in 2.5 release we introduce splitted > > > delivery > > > > > as > > > > > > >>>>>>> follows: > > > > > > >>>>>>>>>>>> - CORE > > > > > > >>>>>>>>>>>> - bin > > > > > > >>>>>>>>>>>> - config > > > > > > >>>>>>>>>>>> - libs (!optional) > > > > > > >>>>>>>>>>>> - OPTIONAL LIBS > > > > > > >>>>>>>>>>>> - BENCHMARKS > > > > > > >>>>>>>>>>>> - DOCS (?) > > > > > > >>>>>>>>>>>> - EXAMPLES > > > > > > >>>>>>>>>>>> - .NET PLATFORM FILES > > > > > > >>>>>>>>>>>> - C++ PLATFORM FILES > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> This architecture, as I assume, will add flexibility > > (no > > > > > > reason > > > > > > >>> to > > > > > > >>>>>>>>>> download > > > > > > >>>>>>>>>>>> all 280M+ of binaries where you are to run only core > > > node > > > > > > >>>>>>> functionality) > > > > > > >>>>>>>>>>>> and > > > > > > >>>>>>>>>>>> maintainability (you are in full control of what is > > > > > installed > > > > > > on > > > > > > >>>>>> your > > > > > > >>>>>>>>>>>> system). > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> After successful architecture choice, same scheme > are > > > > > planned > > > > > > to > > > > > > >>> be > > > > > > >>>>>>>>>> used in > > > > > > >>>>>>>>>>>> DEB packages as well. > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> WDYT? > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>>>> -- > > > > > > >>>>>>>>>>>> Sent from: > > > > > http://apache-ignite-developers.2346864.n4.nabble. > > > > > > >>> com/ > > > > > > >>>>>>>>>>>> > > > > > > >>>>>>>>>> > > > > > > >>>>>>>>>> > > > > > > >>>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>> > > > > > > >>>> > > > > > > >>> > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >