I mean, that we should fix this issue, not just throw away zookeeper
discovery.

чт, 17 сент. 2020 г. в 16:44, Ivan Daschinsky <ivanda...@gmail.com>:

> I suggested to move TcpDiscoveryZookeeperIpFinder to ignite-extension.
> This tiny recipe-like class brings tons of dependency and has nothing
> common with ZookeeperDiscovery, except it name.
>
> ZookeeperDiscoveryImpl depends only on zookeeper-3.5.5.jar and
> zookeeper-jute-3.5.5.jar.
>
>
>
>
> чт, 17 сент. 2020 г. в 15:07, Ilya Kasnacheev <ilya.kasnach...@gmail.com>:
>
>> Hello!
>>
>> The situation as follows:
>> libs/optional/ignite-kubernetes:
>> ignite-kubernetes-2.8.1.jar  jackson-annotations-2.9.10.jar
>>  jackson-core-2.9.10.jar  jackson-databind-2.9.10.jar
>>
>> libs/optional/ignite-zookeeper:
>> curator-client-4.2.0.jar     curator-x-discovery-4.2.0.jar
>>  jackson-core-asl-1.9.13.jar    log4j-1.2.17.jar
>>     slf4j-log4j12-1.7.7.jar
>> curator-framework-4.2.0.jar  guava-16.0.1.jar
>>               jackson-mapper-asl-1.9.13.jar  zookeeper-3.5.5.jar
>> curator-recipes-4.2.0.jar    ignite-zookeeper-2.8.1.jar
>>  slf4j-api-1.7.7.jar
>>  zookeeper-jute-3.5.5.jar
>>
>> ignite-zookeeper just has way more dependencies than ignite-kubernetes,
>> and
>> their size is 5-fold.
>>
>> These dependencies are not just weight but also vulnerability surface.
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> чт, 17 сент. 2020 г. в 13:55, Ivan Daschinsky <ivanda...@gmail.com>:
>>
>> > Hi! I recently found that in slim binary release (at least in nightly
>> build
>> > of 2.9.0) there is no ignite-zookeeper module.
>> > But, for example, ignite-kubernetes is in.
>> > Petr, could you please clarify why this decision was made?
>> > We currently have only two discovery implementation in project and leave
>> > only one alternative looks not obvious for me.
>> >
>> > ср, 16 сент. 2020 г. в 17:04, Alexei Scherbakov <
>> > alexey.scherbak...@gmail.com>:
>> >
>> > > Downloading additional jars will not 100% work in private networks,
>> so we
>> > > must provide full distro anyway.
>> > >
>> > > Also, I do not see any problems in downloading all dependencies,
>> because
>> > > their summary size is not too big.
>> > >
>> > > I suggest, in addition to tgz archive for manual deployment, provide
>> > Ignite
>> > > distribution as RPM (or other package manager(s)) for Linux (MSI for
>> > > Windows) to automate distribution upgrades, instead of reinventing the
>> > > wheel.
>> > >
>> > > пн, 31 авг. 2020 г. в 10:09, Valentin Kulichenko <
>> > > valentin.kuliche...@gmail.com>:
>> > >
>> > > > Hi Nikolay,
>> > > >
>> > > > Thanks for your feedback! Absolutely, the IEP is currently in the
>> draft
>> > > > mode - we will be adding more details going forward. Also, Petr
>> > mentioned
>> > > > that he wants to create a prototype which I think will make things
>> > > clearer
>> > > > for all of us.
>> > > >
>> > > > As for "download jars from the Internet on a production server",
>> that's
>> > > not
>> > > > necessarily what we propose. In case of Maven, artifacts are
>> downloaded
>> > > > from a specified repository, which doesn't have to be on the
>> Internet.
>> > > > Companies that have security concerns typically have a mirror/proxy
>> > > > containing approved artifacts only, already checked for viruses,
>> etc.
>> > > > Production servers use the proxy rather than public repositories.
>> > > >
>> > > > The concerns that you brought up are certainly valid. However, I
>> > believe
>> > > > that using Maven actually addresses them, because Maven (as any
>> other
>> > > > package/dependency manager for that matter) provides the
>> corresponding
>> > > > functionality out of the box.
>> > > >
>> > > > On the contrary, users who currently download our ZIP package are
>> > > *forced*
>> > > > to download modules and dependencies that they do not even need and
>> > will
>> > > > not use. In my experience, this is actually a bigger source of
>> concern.
>> > > >
>> > > > Anyway, let us add more details to the IEP, and we will go from
>> there.
>> > > >
>> > > > P.S. I'm also not sure I agree with your assessment of the embedded
>> > mode
>> > > > and thick clients, but that's probably a different discussion.
>> Please
>> > > feel
>> > > > free to create a new thread if you would like to discuss this.
>> > > >
>> > > > -Val
>> > > >
>> > > > On Sat, Aug 29, 2020 at 1:46 AM Nikolay Izhikov <
>> nizhi...@apache.org>
>> > > > wrote:
>> > > >
>> > > > > Also, guys.
>> > > > >
>> > > > > Can we make one step back and add some requirements to the IEP.
>> > > > > How we want to install and upgrade Ignite?
>> > > > > What specific issues we want to solve?
>> > > > >
>> > > > > With this input we can be on the same page during solution
>> > discussion.
>> > > > >
>> > > > > > 29 авг. 2020 г., в 11:41, Nikolay Izhikov <
>> nizhikov....@gmail.com>
>> > > > > написал(а):
>> > > > > >
>> > > > > > Hello, Val.
>> > > > > >
>> > > > > > Sorry, but I sill don’t understand how «download jars from the
>> > > internet
>> > > > > on production server» approach helps us to solve the issues you
>> > > describe.
>> > > > > >
>> > > > > > Moreover, with this enhancement you want to add more
>> dependencies
>> > to
>> > > > > Ignite and create some security vulnerabilities:
>> > > > > >       * Maven tool - new dependency. I doubt that and of the
>> > > production
>> > > > > server have it
>> > > > > >       * Internet maven repository - many production servers
>> > restrict
>> > > > > outgoing internet connection to any addresses.
>> > > > > >               It’s hard to understand why distributed DB should
>> > have
>> > > > the
>> > > > > ability to connect to some kind of address on the Internet.
>> > > > > >       * All Ignite distributions can be compromised with the
>> hack
>> > of
>> > > > > some random maven repo or with the malicious proxy.
>> > > > > >       * Note, that Ignite installation or upgrade procedure can
>> > > become
>> > > > > dead just because of some Maven repo down.
>> > > > > >
>> > > > > >
>> > > > > > I have 2 concerns:
>> > > > > >
>> > > > > > 1. We shouldn’t download any jars from the internet during
>> > production
>> > > > > deployment or upgrade procedure.
>> > > > > > 2. The IEP description, for now, is quite small for such
>> important
>> > > > > things as a way we distribute and upgrade Ignite.
>> > > > > >       Petr, can you, please, make IEP more specific.
>> > > > > >       I think we should add the following details:
>> > > > > >               * Description of the typical Ignite deployment
>> > > procedure
>> > > > > including folder structure(config, persistence, .m2 and other
>> > folders)
>> > > > > >                       * This also should include examples of the
>> > bash
>> > > > > commands if any required.
>> > > > > >               * Description of the typical upgrade(downgrade?)
>> > > > procedure
>> > > > > >                       * This also should include examples of the
>> > bash
>> > > > > commands if any required.
>> > > > > >               * Description of «single tool responsible for all
>> > > > > operations».
>> > > > > >                       * all commands
>> > > > > >                       * all operations
>> > > > > >                       * all parameters
>> > > > > >
>> > > > > >> 1. Most paths are resolved relative to IGNITE_HOME, which
>> > > effectively
>> > > > > forces (or at least motivates) users to put everything related to
>> > > Ignite
>> > > > > under IGNITE_HOME (configs, additional JARs, etc.).
>> > > > > >
>> > > > > > AFAIU this issue doesn’t relate to the way Ignite distributed.
>> > > > > > We can and should fix this outside of this IEP.
>> > > > > >
>> > > > > >> 2. Modules are enabled/disabled manually by moving folders
>> around…
>> > > > this
>> > > > > is error-prone,
>> > > > > >
>> > > > > > Makes sense.
>> > > > > > Let’s fix this without «download jar from the internet»?
>> > > > > > We can have some kind of config with the enabled modules.
>> > > > > >
>> > > > > >> 3. Standalone nodes use JARs prepackaged in the ZIP file.
>> However,
>> > > if
>> > > > > you look at how this ZIP is built, you will notice that we don't
>> > > actually
>> > > > > include all transitive dependencies,
>> > > > > >
>> > > > > > We need to fix this.
>> > > > > > Let’s include all the required JARs to the distribution.
>> > > > > >
>> > > > > >> which means that an embedded node that uses Maven can have a
>> > > different
>> > > > > classpath.
>> > > > > >
>> > > > > > Embedded Ignite node is an error-prone design decision in the
>> first
>> > > > > place.
>> > > > > > We can’t fix it with the «download jars from the internet»
>> > approach.
>> > > > > > We should eliminate the client node as a thing and use a thin
>> > clients
>> > > > > instead of it.
>> > > > > >
>> > > > > >> 4. ignite.sh allows manual modifications (there are several
>> > > "Uncomment
>> > > > > this to..." lines). This complicates upgrades as well.
>> > > > > >
>> > > > > > Makes sense.
>> > > > > > Let’s fix this.
>> > > > > >
>> > > > > >> The whole purpose of the IEP is to fix the above, automate and
>> > > > simplify
>> > > > > operations for the users. The general idea is to create a single
>> tool
>> > > > > responsible for all those operations and use Maven under the hood
>> to
>> > > > > include/exclude modules.
>> > > > > >
>> > > > > > For now, IEP lacks the description of this tool.
>> > > > > >
>> > > > > >> 28 авг. 2020 г., в 22:35, Valentin Kulichenko <
>> > > > > valentin.kuliche...@gmail.com> написал(а):
>> > > > > >>
>> > > > > >> Hi Nikolay,
>> > > > > >>
>> > > > > >> Here are some of the issues that I see with the current binary
>> ZIP
>> > > > > package
>> > > > > >> that we create for every release.
>> > > > > >>
>> > > > > >> 1. Most paths are resolved relative to IGNITE_HOME, which
>> > > effectively
>> > > > > >> forces (or at least motivates) users to put everything related
>> to
>> > > > Ignite
>> > > > > >> under IGNITE_HOME (configs, additional JARs, etc.). Now, when a
>> > user
>> > > > > >> downloads and unzips a new version, they have to somehow merge
>> the
>> > > > > content
>> > > > > >> together - that's poor upgradability.
>> > > > > >> 2. Modules are enabled/disabled manually by moving folders
>> around.
>> > > Not
>> > > > > only
>> > > > > >> this is error-prone, but it also adds more issues to
>> > upgradability -
>> > > > you
>> > > > > >> have to apply these steps for every version you download.
>> > > > > >> 3. Standalone nodes use JARs prepackaged in the ZIP file.
>> However,
>> > > if
>> > > > > you
>> > > > > >> look at how this ZIP is built, you will notice that we don't
>> > > actually
>> > > > > >> include all transitive dependencies, which means that an
>> embedded
>> > > node
>> > > > > that
>> > > > > >> uses Maven can have a different classpath. It seems that we've
>> > been
>> > > > > lucky
>> > > > > >> so far as this hasn't caused any issues, but I still think the
>> > > > approach
>> > > > > is
>> > > > > >> wrong. The behavior should be consistent.
>> > > > > >> 4. ignite.sh allows manual modifications (there are several
>> > > "Uncomment
>> > > > > this
>> > > > > >> to..." lines). This complicates upgrades as well.
>> > > > > >>
>> > > > > >> The whole purpose of the IEP is to fix the above, automate and
>> > > > > >> simplify operations for the users. The general idea is to
>> create a
>> > > > > single
>> > > > > >> tool responsible for all those operations and use Maven under
>> the
>> > > hood
>> > > > > to
>> > > > > >> include/exclude modules.
>> > > > > >>
>> > > > > >> Exact commands and steps are still under discussion though. It
>> > looks
>> > > > > like
>> > > > > >> Petr is going to create a prototype that can be used as a
>> starting
>> > > > > point,
>> > > > > >> but if you have any suggestions or ideas in the meantime,
>> please
>> > > share
>> > > > > them
>> > > > > >> with us.
>> > > > > >>
>> > > > > >> -Val
>> > > > > >>
>> > > > > >> On Fri, Aug 28, 2020 at 12:31 AM Nikolay Izhikov <
>> > > nizhi...@apache.org
>> > > > >
>> > > > > >> wrote:
>> > > > > >>
>> > > > > >>> Hello, Igniters.
>> > > > > >>>
>> > > > > >>> Not sure if I understand the essence of the proposal at the
>> > moment.
>> > > > > >>> Can you, please, describe the advantages of the proposed way
>> from
>> > > the
>> > > > > user
>> > > > > >>> perspective?
>> > > > > >>>
>> > > > > >>> How the typical DevOps pipeline should look like with this
>> > > > enhancement?
>> > > > > >>>
>> > > > > >>> How I as a user can create a fully functional installation
>> > package
>> > > of
>> > > > > the
>> > > > > >>> Ignite?
>> > > > > >>> AFAIK downloading some artifacts from the internet straight to
>> > the
>> > > > > >>> production server is a security anti-pattern.
>> > > > > >>>
>> > > > > >>>
>> > > > > >>>> 28 авг. 2020 г., в 01:59, Denis Magda <dma...@apache.org>
>> > > > написал(а):
>> > > > > >>>>
>> > > > > >>>> Petr, thanks,
>> > > > > >>>>
>> > > > > >>>> There is also a collection of modules located in our
>> extensions
>> > > > > >>> repository:
>> > > > > >>>> https://github.com/apache/ignite-extensions
>> > > > > >>>>
>> > > > > >>>> @Saikat Maitra <saikat.mai...@gmail.com> is migrating all
>> our
>> > > > > existing
>> > > > > >>>> integrations to that repository and, once this is done, the
>> > > > extensions
>> > > > > >>> will
>> > > > > >>>> be released to Maven separately. Is it reasonable to expand
>> the
>> > > > scope
>> > > > > of
>> > > > > >>>> the IEP-52 and contemplate on how to install those
>> extensions?
>> > > > > >>>>
>> > > > > >>>> -
>> > > > > >>>> Denis
>> > > > > >>>>
>> > > > > >>>>
>> > > > > >>>> On Thu, Aug 27, 2020 at 3:40 PM Valentin Kulichenko <
>> > > > > >>>> valentin.kuliche...@gmail.com> wrote:
>> > > > > >>>>
>> > > > > >>>>> Hi Petr,
>> > > > > >>>>>
>> > > > > >>>>> The proposal makes sense to me - thanks for starting the
>> > > > discussion.
>> > > > > >>>>> Current installation and upgrade procedures involve a lot of
>> > > manual
>> > > > > >>> steps
>> > > > > >>>>> and quite error-prone, we need to automate and simplify
>> them as
>> > > > much
>> > > > > as
>> > > > > >>>>> possible.
>> > > > > >>>>>
>> > > > > >>>>> I believe we eventually should end up with a unified
>> > command-line
>> > > > > tool
>> > > > > >>>>> (ignitectl?) that will incorporate all the operations
>> > > > (enable/disable
>> > > > > >>>>> modules, start/stop, configuration updates, activation,
>> > baseline,
>> > > > > etc.).
>> > > > > >>>>> This IEP is a step in this direction.
>> > > > > >>>>>
>> > > > > >>>>> Looking forward to testing a prototype :)
>> > > > > >>>>>
>> > > > > >>>>> -Val
>> > > > > >>>>>
>> > > > > >>>>> On Thu, Aug 27, 2020 at 2:17 AM Petr Ivanov <
>> > mr.wei...@gmail.com
>> > > >
>> > > > > >>> wrote:
>> > > > > >>>>>
>> > > > > >>>>>> Hi, Igniters!
>> > > > > >>>>>>
>> > > > > >>>>>>
>> > > > > >>>>>> For Apache Ignite 3.0 I would like to propose vision of
>> > enhanced
>> > > > > >>> delivery
>> > > > > >>>>>> and upgrade processes [1].
>> > > > > >>>>>> The key idea is to make main binary as slim as possible
>> > > > (delivering
>> > > > > >>> every
>> > > > > >>>>>> optional component by demand only) while providing way to
>> run
>> > > each
>> > > > > new
>> > > > > >>>>>> version seamlessly without much of the efforts migrating
>> data
>> > > and
>> > > > > >>>>>> configuration between upgrades.
>> > > > > >>>>>>
>> > > > > >>>>>> I plan to create prototype based on current release of
>> Apache
>> > > > Ignite
>> > > > > >>>>>> (2.8.1 or 2.9.0 if it will be released soon) later in
>> > September.
>> > > > > >>>>>>
>> > > > > >>>>>>
>> > > > > >>>>>>
>> > > > > >>>>>> [1]
>> > > > > >>>>>>
>> > > > > >>>>>
>> > > > > >>>
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=158873958
>> > > > > >>>>>>
>> > > > > >>>>>>
>> > > > > >>>>>
>> > > > > >>>
>> > > > > >>>
>> > > > > >
>> > > > >
>> > > > >
>> > > >
>> > >
>> > >
>> > > --
>> > >
>> > > Best regards,
>> > > Alexei Scherbakov
>> > >
>> >
>> >
>> > --
>> > Sincerely yours, Ivan Daschinskiy
>> >
>>
>
>
> --
> Sincerely yours, Ivan Daschinskiy
>


-- 
Sincerely yours, Ivan Daschinskiy

Reply via email to