enabling networking for workers

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

enabling networking for workers

Darin Perusich-3
Hello All,

I'm running a private instance and I'd like to enable networking on my
workers so they can build some java apps, via maven, which need to
download pom's/war's from the net. I ask google but he wasn't much
help so I'm hoping someone here can help;-)

How can I go about doing this?

--
Later,
Darin
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Adrian Schröter
On Montag, 10. März 2014, 14:33:21 wrote Darin Perusich:
> Hello All,
>
> I'm running a private instance and I'd like to enable networking on my
> workers so they can build some java apps, via maven, which need to
> download pom's/war's from the net. I ask google but he wasn't much
> help so I'm hoping someone here can help;-)
>
> How can I go about doing this?

you can build inside of chroot. Of course you will get unreproducable
build results, random build failures and all used packages can get
root permissions on this system.

--

Adrian Schroeter
email: [hidden email]

SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg)
Maxfeldstraße 5                        
90409 Nürnberg
Germany



--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Rolf Krahl
In reply to this post by Darin Perusich-3
Am Montag, 10. März 2014, 14:33:21 schrieb Darin Perusich:
>
> I'm running a private instance and I'd like to enable networking on my
> workers so they can build some java apps, via maven, which need to
> download pom's/war's from the net. I ask google but he wasn't much
> help so I'm hoping someone here can help;-)

Adrian already gave the technical answer to your question.

Since I had (and still have) the same problem, here my personal two
cents worth of consideration:

Maven has its own concept of package and package management.  It
assumes that packages are built once by the original author
independently from the target platform and are distributed in binary
form only.  Each package has its own online repository created by
Maven and the Maven build process downloads packages as Java binary
from this repository whenever it needs them for building other
packages.  Maven itself heavily relies on this concept as almost
everything in Maven is controlled by plugins which again are packages
in this sense.

This concept works if you follow it.  But it is quite hermetic in the
sense that nothing works well, when you (need to) deviate from the
Maven concept in any way.  And it is fundamentally incompatible with
the concept of a package in the sense of a native platform package
manager such as RPM.

My personal conclusion was that you essentially have two options:

1. Forget about OBS and RPM, just do everything the way Maven wants
you to do it.  The disadvantage is that you loose all the benefits
from the native package management such as package database
(dependencies, which file belongs to which package), reproducible
builds, version management, inherent documentation of the build
process and so on.  The advantage is that it works and you don't have
too much hassle with it.  This is my personal short term solution.

2. Transmogrify everything towards RPM style package management.  It
requires creating a large number of RPMs, one for Maven itself, one
for each Maven plugin and one for each package that you need as a
dependency for the package you want to build.  All these RPMs will
have a devel subpackage that installs the necessary stuff in a local
Maven file repository.  The Maven RPM will configure the build process
to disable download of packages and use the local file repository
instead.  (There is a switch in Maven for this.)  It's a huge amount
of work to do it this way, but it will give you all the benefits of
the RPM package management back to Maven packages.  This is my
personal long term solution on my TODO list, but I didn't got around
to it yet.


I believe that anything between these two extreme options will only
bring you much work and hassle without giving you any real benefits.

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Darin Perusich-3
In reply to this post by Adrian Schröter
On Mon, Mar 10, 2014 at 2:57 PM, Adrian Schröter <[hidden email]> wrote:

> On Montag, 10. März 2014, 14:33:21 wrote Darin Perusich:
>> Hello All,
>>
>> I'm running a private instance and I'd like to enable networking on my
>> workers so they can build some java apps, via maven, which need to
>> download pom's/war's from the net. I ask google but he wasn't much
>> help so I'm hoping someone here can help;-)
>>
>> How can I go about doing this?
>
> you can build inside of chroot. Of course you will get unreproducable
> build results, random build failures and all used packages can get
> root permissions on this system.
>

So does this mean I need to log into my OBS server, it's a vmware
system w/a worker on each virtual cpu,  and 'sudo chroot
/var/cache/obs/worker/root_1/' and run rpmbuild manually? If that's
the case it kinda defeats the purpose of dispatching them to my OBS
server to build to build across the various distro's I have enabled.
If you could point me at some documentation which details how to build
in a chroot i'd appreciate it.

I'm aware the results may not be reproducible, etc and I'm fine with
this and accept the risk, I'm running private instance and not asking
for this on public system.
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Adrian Schröter
On Montag, 10. März 2014, 16:39:56 wrote Darin Perusich:

> On Mon, Mar 10, 2014 at 2:57 PM, Adrian Schröter <[hidden email]> wrote:
> > On Montag, 10. März 2014, 14:33:21 wrote Darin Perusich:
> >> Hello All,
> >>
> >> I'm running a private instance and I'd like to enable networking on my
> >> workers so they can build some java apps, via maven, which need to
> >> download pom's/war's from the net. I ask google but he wasn't much
> >> help so I'm hoping someone here can help;-)
> >>
> >> How can I go about doing this?
> >
> > you can build inside of chroot. Of course you will get unreproducable
> > build results, random build failures and all used packages can get
> > root permissions on this system.
> >
>
> So does this mean I need to log into my OBS server, it's a vmware
> system w/a worker on each virtual cpu,  and 'sudo chroot
> /var/cache/obs/worker/root_1/' and run rpmbuild manually? If that's
> the case it kinda defeats the purpose of dispatching them to my OBS
> server to build to build across the various distro's I have enabled.
> If you could point me at some documentation which details how to build
> in a chroot i'd appreciate it.

You need to set

OBS_VM_TYPE="none"

in  /etc/sysconfig/obs-server on all systems which run a worker. So in
your case just the vmware system.  It may use chroot actually already,
if no kvm support got detected.

> I'm aware the results may not be reproducible, etc and I'm fine with
> this and accept the risk, I'm running private instance and not asking
> for this on public system.
>

--

Adrian Schroeter
email: [hidden email]

SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg)
Maxfeldstraße 5                        
90409 Nürnberg
Germany



--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Christian Schneemann-2
In reply to this post by Adrian Schröter
Hi,

On 03/10/2014 07:57 PM, Adrian Schröter wrote:

> On Montag, 10. März 2014, 14:33:21 wrote Darin Perusich:
>> Hello All,
>>
>> I'm running a private instance and I'd like to enable networking on my
>> workers so they can build some java apps, via maven, which need to
>> download pom's/war's from the net. I ask google but he wasn't much
>> help so I'm hoping someone here can help;-)
>>
>> How can I go about doing this?
>
> you can build inside of chroot. Of course you will get unreproducable
> build results, random build failures and all used packages can get
> root permissions on this system.
>

is building in chroot still the only possibility to get network access
during build?

Regards,
 Christian


--
Christian Schneemann
System Management & Monitoring Architect
Tel.: +49-175-7250665
Mail: [hidden email]

B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537

--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Jan Engelhardt-4

On Tuesday 2017-12-19 14:27, Christian Schneemann wrote:

>On 03/10/2014 07:57 PM, Adrian Schröter wrote:
>> On Montag, 10. März 2014, 14:33:21 wrote Darin Perusich:
>>> Hello All,
>>>
>>> I'm running a private instance and I'd like to enable networking on my
>>> workers so they can build some java apps, via maven, which need to
>>> download pom's/war's from the net. I ask google but he wasn't much
>>> help so I'm hoping someone here can help;-)
>>>
>>> How can I go about doing this?
>>
>> you can build inside of chroot. Of course you will get unreproducable
>> build results, random build failures and all used packages can get
>> root permissions on this system.
>
>is building in chroot still the only possibility to get network access
>during build?

You could start qemu with a network card(*).


(*) Provided you patch osc to do just that.
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Andreas Schwab-2
On Dez 19 2017, Jan Engelhardt <[hidden email]> wrote:

> (*) Provided you patch osc to do just that.

It's the build package that implements the details.

Andreas.

--
Andreas Schwab, SUSE Labs, [hidden email]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Michael Schroeder-4
On Tue, Dec 19, 2017 at 02:54:43PM +0100, Andreas Schwab wrote:
> On Dez 19 2017, Jan Engelhardt <[hidden email]> wrote:
>
> > (*) Provided you patch osc to do just that.
>
> It's the build package that implements the details.

The build package supports the --vm-net and --vm-netdev options.

Cheers,
  Michael.

--
Michael Schroeder                                   [hidden email]
SUSE LINUX GmbH,           GF Jeff Hawn, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Christian Schneemann-2
Hi Michael,


On 12/19/2017 02:56 PM, Michael Schroeder wrote:
> On Tue, Dec 19, 2017 at 02:54:43PM +0100, Andreas Schwab wrote:
>> On Dez 19 2017, Jan Engelhardt <[hidden email]> wrote:
>>
>>> (*) Provided you patch osc to do just that.
>>
>> It's the build package that implements the details.
>
> The build package supports the --vm-net and --vm-netdev options.

I had a look into the bs_worker code to find the parameters that are
given to build. But I did not find anything with --vm-net. I've looked
in the dobuild subfunction, wrong place?


Where/how can we influence this parameters?


Regards,
 Christian

>
> Cheers,
>   Michael.
>


--
Christian Schneemann
System Management & Monitoring Architect
Tel.: +49-175-7250665
Mail: [hidden email]

B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537

--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: enabling networking for workers

Marcus Hüwe
On 2017-12-19 15:34:43 +0100, Christian Schneemann wrote:

> On 12/19/2017 02:56 PM, Michael Schroeder wrote:
> > On Tue, Dec 19, 2017 at 02:54:43PM +0100, Andreas Schwab wrote:
> >> On Dez 19 2017, Jan Engelhardt <[hidden email]> wrote:
> >>
> >>> (*) Provided you patch osc to do just that.
> >>
> >> It's the build package that implements the details.
> >
> > The build package supports the --vm-net and --vm-netdev options.
>
> I had a look into the bs_worker code to find the parameters that are
> given to build. But I did not find anything with --vm-net. I've looked
> in the dobuild subfunction, wrong place?
>
That's correct. These options are not (directly) exposed via the
bs_worker script.

>
> Where/how can we influence this parameters?
>
You can try to work around it by passing a corresponding
--vm-custom-option "<VM specific net options>" option to the bs_worker
(this option can be configured in /etc/sysconfig/obs-server).


Marcus
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]