Note that I cleaned up the ansible scripts that install C++ 11 in my latest
PR <https://github.com/apache/metron/pull/847/files>, but it's not super
relevant to this conversation.

Jon

On Mon, Nov 27, 2017 at 10:42 AM zeo...@gmail.com <zeo...@gmail.com> wrote:

> That was also required for bro 2.5.2, so I did that here
> <https://github.com/apache/metron/commit/59fe1b453279bf5c7df627ea656c762b3a98e777>.
> Feel free to reuse the approach elsewhere
>
> Jon
>
> On Mon, Nov 27, 2017 at 10:03 AM Otto Fowler <ottobackwa...@gmail.com>
> wrote:
>
>> First issue is that we need c++ 11 on centos 6.8
>>
>>
>>
>> On November 27, 2017 at 09:53:55, Simon Elliston Ball (
>> si...@simonellistonball.com) wrote:
>>
>> Well, that’s good news on that issue. Reproducing the problem is half way
>> to solving it, right?
>>
>> I would still say there are some systemic things going on that have
>> manifested in a variety of ways on both the users and dev list, so it’s
>> worth us having a good look at a more robust approach to node dependencies
>> (both npm ones, and the native ones)
>>
>> Simon
>>
>> On 27 Nov 2017, at 13:30, Otto Fowler <ottobackwa...@gmail.com> wrote:
>>
>> I can reproduce the failure in out ansible docker build container, which
>> is
>> also centos.
>> The issue is building our node on centos in all these cases.
>>
>>
>>
>> On November 27, 2017 at 07:02:51, Simon Elliston Ball (
>> si...@simonellistonball.com) wrote:
>>
>> Thinking about this, doesn’t our build plugin explicitly install it’s own
>> node? So actually all the node version things may be a red herring, since
>> this is under our control through the pom. Not sure if we actually
>> exercising this control. It seems that some of the errors people report
>> are
>> more to do with compilation failures for native node modules, which is
>> doesn’t pin (i.e. things like system library dependencies). I’m not sure
>> what we have in the dependency tree that requires complex native
>> dependencies, but this might just be one of those node things we could doc
>> around.
>>
>> This scenario would be fixed by standardising the build container.
>>
>> Yarn’s big thing is that it enables faster dependency resolution and local
>> caching, right? It does not seem to address any of the problems we see,
>> but
>> sure, it’s the shiny new dependency system for node modules, which might
>> make npm less horrible to deal with, so worth looking into.
>>
>> The other issue that I’ve seen people run into a lot is flat out download
>> errors. This could be helped by finding our versions, maybe with yarn, but
>> let’s face it, package-lock.json could also do that with npm, albeit with
>> a
>> slightly slower algorithm. However, short of bundling and hosting deps
>> ourselves, I suspect the download errors are beyond our control, and
>> certainly beyond the scope of this project (fix maven, fix npm, fix all
>> the
>> node hosting servers…)
>>
>> Simon
>>
>>
>> > On 27 Nov 2017, at 07:28, RaghuMitra Kandikonda <
>> raghumitra....@gmail.com>
>> wrote:
>> >
>> > Looking at some of the build failure emails and past experience i
>> > would suggest having a node & npm version check in our build scripts
>> > and moving dependency management to yarn.
>> >
>> > We need not restrict the build to a specific version of node & npm but
>> > we can surely suggest a min version required to build UI successfully.
>> >
>> > -Raghu
>> >
>> >
>> >
>> > On Fri, Nov 24, 2017 at 10:21 PM, Simon Elliston Ball
>> > <si...@simonellistonball.com> wrote:
>> >> Agreeing with Nick, it seems like the main reason people are building
>> themselves, and hitting all these environmental issues, is that we do not
>> as a project produce binary release artefacts (the rpms which users could
>> just install) and instead leave that for the commercial distributors to
>> do.
>> >>
>> >> Yarn may help with some of the dependency version issues we’re having,
>> but not afaik with the core missing library headers / build tools / node
>> and npm version issue, those would seem to fit a documentation fix and
>> improvements to platform-info to flag the problems, so this can then be a
>> pre-flight check tool as well as a diagnostic tool.
>> >>
>> >> Another option I would put on the table is to standardise our build
>> environment, so that the non-java bits are run in a standard docker image
>> or something fo the sort, that way we can take control of all the
>> environmental and OS dependent pieces, much as we do right now with the
>> rpm
>> build sections of the mpack build.
>> >>
>> >> The challenge here will be adding the relevant maven support. At the
>> moment we’re relying on the maven npm and node build plugins, this would
>> likely need replacing with something custom and a challenge to support to
>> go dow this route.
>> >>
>> >> Perhaps the real answer here is to push people who are just kicking the
>> tyres towards a binary distribution, or at least rpm artefacts as part of
>> the Apache release to give them a head start for a happy path on a known
>> good OS environment.
>> >>
>> >> Simon
>> >>
>> >>> On 24 Nov 2017, at 16:01, Nick Allen <n...@nickallen.org> wrote:
>> >>>
>> >>> Yes, it is a problem. I think you've identified a couple important
>> things
>> >>> that we could address in parallel. I see these as challenges we need
>> to
>> >>> solve for the dev community.
>> >>>
>> >>> (1) NPM is causing us some major headaches. Which version do we
>> require?
>>
>> >>> How do I install that version (on Mac, Windows, Linux)? Does YARN help
>> >>> here at all?
>> >>>
>> >>> (2) Can we automate the prerequisite checks that we currently do
>> manually
>> >>> with `platform-info.sh`? An automated check could run and fail as part
>> of
>> >>> the build or deployment process.
>> >>>
>> >>>
>> >>>
>> >>> More importantly though is that users should not have to build Metron
>> at
>>
>> >>> all. They should not have to worry about installing NPM and the rest
>> of
>> >>> the development tooling. Here are some options that are not mutually
>> >>> exclusive.
>> >>>
>> >>>
>> >>> (1) Create an image in Atlas that has Metron fully installed. A new
>> user
>>
>> >>> could run single node Metron on their laptop with a single command and
>> the
>> >>> only prereqs would be Vagrant and Virtualbox. We could cut new images
>> for
>> >>> each Metron release. Or selectively cut new dev images from master as
>> we
>>
>> >>> see fit.
>> >>>
>> >>> (2) Distribute the Metron RPMs (and the MPack tarball?) so that users
>> can
>> >>> install Metron on a cluster without having to build it.
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> On Fri, Nov 24, 2017 at 10:11 AM, Otto Fowler <
>> ottobackwa...@gmail.com>
>> >>> wrote:
>> >>>
>> >>>> It seems like it is getting *very* common for people to have trouble
>> >>>> building recently. Errors with NPM and Node seen common, with fixes
>> ranging
>> >>>> from updating c/c++ libs to the version of npm/node.
>> >>>>
>> >>>> There has to be a better way to do this.
>> >>>>
>> >>>> -
>> >>>>
>> >>>> Are we out of date or missing requirements in our documentation?
>> >>>> -
>> >>>>
>> >>>> Does our documentation need to be updated for building?
>> >>>> -
>> >>>>
>> >>>> Is there a better way in maven to check the versions required for
>> some
>> >>>> of these things and fail faster with a better message?
>> >>>> -
>> >>>>
>> >>>> Are we building correctly or are we asking for trouble?
>> >>>>
>> >>>> The ability to build metron is pretty important, and it seems that
>> people
>> >>>> are having a lot of trouble related to the new technologies in alerts
>> and
>> >>>> config ui.
>> >>>>
>> >>
>>
> --
>
> Jon
>
-- 

Jon

Reply via email to