[opensuse-buildservice] enabling networking for workers
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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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: adrian@suse.de 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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Mon, Mar 10, 2014 at 2:57 PM, Adrian Schröter <adrian@suse.de> 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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Montag, 10. März 2014, 16:39:56 wrote Darin Perusich:
On Mon, Mar 10, 2014 at 2:57 PM, Adrian Schröter <adrian@suse.de> 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: adrian@suse.de 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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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: schneemann@b1-systems.de 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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dez 19 2017, Jan Engelhardt <jengelh@inai.de> wrote:
(*) Provided you patch osc to do just that.
It's the build package that implements the details. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Tue, Dec 19, 2017 at 02:54:43PM +0100, Andreas Schwab wrote:
On Dez 19 2017, Jan Engelhardt <jengelh@inai.de> 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 mls@suse.de SUSE LINUX GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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 <jengelh@inai.de> 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: schneemann@b1-systems.de 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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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 <jengelh@inai.de> 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: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
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.
participants (8)
-
Adrian Schröter
-
Andreas Schwab
-
Christian Schneemann
-
Darin Perusich
-
Jan Engelhardt
-
Marcus Hüwe
-
Michael Schroeder
-
Rolf Krahl