Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [buckminster-dev] Hudson plugin and provisioning

Hi Johannes,

On 03/21/2010 04:14 PM, Johannes Utzig wrote:
I'm uncertain what this means. What other installers can install
Buckminster? Can you please elaborate?


Hudson offers two generic installers:
1. Execute a shell script (pseudocode)
This can perfectly fine install buckminster.
wget director
extract director
director create buckminster product
buckminster install features

2.Download and extract an archive
An admin can prepare a prepackaged custom buckminster, deploy it on some
webserver and have the generic download installer extract that archive
on the build machine as needed.

OK, clear.

7. If install automatically gets unchecked, the installer section
disappears and gets replaced with a textfield to enter the buckminster
home location (this is how it's done in the current buckminster plugin)

How do we cover the case where the admin wants to install a custom
feature from some other repository?

Currently 4 possibilities:
1. manually specify a path to a custom buckminster installation
2. use the generic script based installer
3. use the generic download installer
4. create a 'configure buckminster' build job that doesn't really build
anything, but executes 'install' commands

It would also be possible I guess to add additional features +
repositories in the configuration of the custom installer, but I wasn't
able to do that just yet with the jelly script.

I think the four possibilities covers this :-) No need to dig deeper unless there's a real demand for it.

What happens when new versions of the features arrive in the appointed
repositories?


I was thinking about that too. There's two different scenarios:
1. The user activated the auto tool installation
In this case the tool installer would have a chance to perform an update
but that might be too expensive to do for every build run.

I agree. This should only happen when explicitly requested (vouches for better build stability).

What about an 'update' command for buckminster? How hard would that be
to implement?

What's needed is an 'update' command for the director I think. IIRC, there is a p2 bugzilla for that.

For now, I'm happy if the admin can just clean out what's current and reinstall.


I think it would be great if we could use an alternative json file for
specific hudson instances. On build.eclipse.org for instance, all
URL's pointing to http://download.eclipse.org/ can be replaced with
file:/home/data/httpd/download.eclipse.org/, a change that removes a
lot of load from the web server. That applies both to the director
download and the actual install.


I'm afraid this is not so easy. This information needs to be available
as soon as the manage hudson site is requested. Waiting for a server
reply would cause the site to hang if the server is not available for
some reason. As far as I understand the mechanics so far, this is
avoided in hudson by downloading the update files up front, store them
locally and update them once a day, or so.
I don't see a way how it would be possible to have the user enter a
different URL and process that at runtime, because I don't think it's
possible to update the web form once it has been created.

That said, a workaround of some sort should be possible of course.
The installer could for example look for a custom.json at a specific
place in the hudson dir, or look for a system property, or something
like that. If present, it overrides the remote file.

Yes, this was what I was thinking too. Something simple that can override. Doesn't need to be exposed in the UI.


2. Is it ok to use the direct download link from eclipse.org for the p2
director?

I don't think you need to. An external build can use this link:

http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/products/director_latest.zip&r=1


Note the r=1 parameter at the end. It causes a bypass of the selection
page so the download is immediate. The closest geographical mirror is
chosen.


I tried that, but it doesn't work. Looks like the redirect is causing
problems for the download logic (which is provided by Hudson)

OK, perhaps it does something with the parameters of the URL. In any case, I think it must be OK to download using a direct URL. The director is relatively small and this is not something that will happen on every run.

I can't really list the site features at the moment.

buckminser listsite
http://download.eclipse.org/tools/buckminster/headless-3.6/

gives me this (latest buckminster 3.6 headless):

java.lang.IllegalArgumentException: Cannot find a public member 'id' in
a org.eclipse.equinox.internal.p2.metadata.expression.Everything

Ouch! Would appreciate a bugzilla on that.

So every feature from eclipe.org und subclipse (no subversive) from
cloudsmith, right? What about the emma feature, or is that available
from the eclipse.org site?

Yes, nowadays emma is also included from Eclipse.

Regards,
Thomas Hallgren


Back to the top