osdir.com

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build depends on Docker


I've made a start on a PR for this, will try to get something out soonish,
but can't do more on it tonight - off to a Christmas party!

G

On Sat, 15 Dec 2018 at 16:24 Geoff Macartney <geoff.macartney@xxxxxxxxx>
wrote:

> I'll go out on a limb here and suggest we disable it by default - let's go
> with Alex's suggestion of a profile to build the image, with the default
> build being NOT to build with that profile, so you would have to do
> something like
>
> mvn clean install  -DdockerImage
>
> to build the image.
>
> any +1s?
>
>
> On Sat, 15 Dec 2018 at 10:33 Thomas Bouron <thomas.bouron@xxxxxxxxxxxx>
> wrote:
>
>> Hi Geoff, all.
>>
>> To recap what this is doing: it builds a docker image that launches
>> Brooklyn. It actually wraps the RPM that maven builds, and packages that
>> as
>> a Docker image.
>> Now, I merged this and when testing, I noticed[1] that the plugin used to
>> build the docker image can be disabled with one of their own flag[2],
>> namely `-DskipDocker`. This is why I didn't ask the contributor for a
>> maven
>> profile.
>>
>> If you think that is not enough, we could definitely disable this by
>> default. But I think this is useful, and a much easier way for new people
>> to get started with Brooklyn (instead of vagrant).
>>
>> Best.
>>
>> [1]
>> https://github.com/apache/brooklyn-dist/pull/118#issuecomment-435649038
>> [2]
>>
>> https://github.com/spotify/docker-maven-plugin#bind-docker-commands-to-maven-phases
>>
>> On Sat, 15 Dec 2018 at 08:55 Alex Heneveld <
>> alex.heneveld@xxxxxxxxxxxxxxxxx>
>> wrote:
>>
>> > It should have a mvn profile like rpm and the go cli IMO. The README in
>> the
>> > master project describes these.
>> >
>> > Best
>> > Alex
>> >
>> > On Fri, 14 Dec 2018, 22:51 Geoff Macartney <geoff.macartney@xxxxxxxxx
>> > wrote:
>> >
>> > > We added this in https://github.com/apache/brooklyn-dist/pull/118,
>> but I
>> > > do
>> > > dislike having to have Docker to build Brooklyn.  IMHO anyone should
>> be
>> > > able to build and use Brooklyn without knowing anything about Docker.
>> > Could
>> > > we remove the image build from the mvn install and have a separate
>> shell
>> > > script that you would run manually to build the image? And yes it
>> should
>> > > use the karaf distro, didn't realise it doesn't.
>> > >
>> > > Geoff
>> > >
>> > >
>> > > On Wed, 12 Dec 2018 at 16:58 Richard Downer <richard@xxxxxxxxxx>
>> wrote:
>> > >
>> > > > All,
>> > > >
>> > > > The Apache Brooklyn build depends on having a working Docker
>> instance.
>> > > This
>> > > > I did not know.
>> > > >
>> > > > The build failure happens in the `brooklyn-dist` project, which
>> > > > incorporates into execution `dockerfile-maven-plugin` which invokes
>> > > Docker
>> > > > during the build phase. If Docker is not running, it tries to
>> connect
>> > to
>> > > a
>> > > > non-existent UNIX socket and the build fails.
>> > > >
>> > > > This presents a few discussion points...
>> > > >
>> > > > What exactly is it building? There's a Dockerfile there and it seems
>> > that
>> > > > it builds an image which contains the Brooklyn distribution and
>> starts
>> > > > Brooklyn. I don't know much about Docker, what happens to that
>> image?
>> > Is
>> > > it
>> > > > local to my computer?
>> > > >
>> > > > Is it necessary to have the build depend on Docker? To me this seems
>> > > > unreasonable. Docker has a large footprint and I don't think it's
>> > > > reasonable to require it for a normal, local build of Brooklyn.
>> > > >
>> > > > We're not releasing Docker images. Should we be? Should we not be?
>> Is
>> > it
>> > > > even possible for us to do that in Apache?
>> > > >
>> > > > Why haven't I seen this before? The changes to add this to
>> > brooklyn-dist
>> > > > were made in 2017. I've performed release builds on clean EC2
>> instances
>> > > and
>> > > > never seen this. Was this dormant, and has something changed which
>> has
>> > > > kicked this into life?
>> > > >
>> > > > brooklyn-dist is obsolete now. If the Docker build is still
>> something
>> > > > important, then firstly it needs moved to another project (hopefully
>> > one
>> > > > exclusive to that task) and secondly it needs to use the Karaf
>> > > > distribution.
>> > > >
>> > > > Can anyone shed some light on this?
>> > > >
>> > > > Thanks!
>> > > >
>> > > > Richard.
>> > > >
>> > >
>> >
>> --
>> Thomas Bouron
>> Senior Software Engineer
>>
>> *Cloudsoft <https://cloudsoft.io/> *| Bringing Business to the Cloud
>>
>> GitHub: https://github.com/tbouron
>> Twitter: https://twitter.com/eltibouron
>>
>> Need a hand with AWS? Get a Free Consultation.
>>
>