Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Equinox » Server-side update of features
Server-side update of features [message #93889] Thu, 02 August 2007 13:25 Go to next message
Frank Gerhardt is currently offline Frank GerhardtFriend
Messages: 81
Registered: July 2009
Member
Hi,

maybe I'm missing something... I would like to update bundles deployed
in a OSGi server very much the same way the Update Manager does it in a
RCP application: based on features.
The web interface of my server would have two buttons, check for updates
and install updates -- enough for the casual server admin. ;-)

The Bundle>update() method does the job for a single bundle. I would
like to work with features because that covers also the deployment of
new bundles. And there is tooling for update sites.

Has anyone used the Update Manager in an equinox server? Is there
anything like this in the provisioning incubator? Is there code?

The answer might be, just use org.eclipse.update.core directly. Any
experiences or recommendations with this approach?

Frank.
Re: Server-side update of features [message #93979 is a reply to message #93889] Thu, 02 August 2007 21:19 Go to previous messageGo to next message
Simon Kaegi is currently offline Simon KaegiFriend
Messages: 381
Registered: July 2009
Senior Member
That's a great question and is what I've been working on lately.
(well... not a web UI, more just the underpinnings)

If you can offer any usecases or ideas on how you'd like to see this stuff
operate in a server environment I'd be very interested. I'm hoping there can
also be discussion for this stuff at the Equinox Summit in Ottawa at the end
of September or the European Summit(?).

For the simple server interface you describe you could build it on top of
the basic OSGi commands as you mention.
This works fine for doing simple bundle additions, updates, and removals.

As your update scenarios start to get either larger or more complex then
that's where the new provisioning work comes in.
I wrote a quickstart a little while ago here --
http://wiki.eclipse.org/Equinox_Provisioning_Webapp_QuickSta rt
This is very basic and really was exploratory for me as much as it is a
quickstart.
It's pure command console stuff.

We're finishing off our M1 milestone for provisioning right now. I'll see if
I can find some time to put together a Q&D web ui and update that quickstart
to the latest code. This will eventually be the basis for update however at
the moment requires some effort to follow along as the code is getting
modified a lot these days.

If you really can't wait for the provisioning work to mature a bit then you
could certainly build a web ui on top of the existing Update Manager install
features etc. I know of a few teams that have done just that. I'm not sure
if any have published either source code or their experience. I think any
effort to create an alternate update tool for RCP could be leveraged as well
as the existing update manager's use of update core. You might ask in the
"update" newsgroup.

-Simon


"Frank Gerhardt" <fg@frankgerhardt.com> wrote in message
news:f8slvv$bhb$1@build.eclipse.org...
> Hi,
>
> maybe I'm missing something... I would like to update bundles deployed
> in a OSGi server very much the same way the Update Manager does it in a
> RCP application: based on features.
> The web interface of my server would have two buttons, check for updates
> and install updates -- enough for the casual server admin. ;-)
>
> The Bundle>update() method does the job for a single bundle. I would
> like to work with features because that covers also the deployment of
> new bundles. And there is tooling for update sites.
>
> Has anyone used the Update Manager in an equinox server? Is there
> anything like this in the provisioning incubator? Is there code?
>
> The answer might be, just use org.eclipse.update.core directly. Any
> experiences or recommendations with this approach?
>
> Frank.
Re: Server-side update of features [message #94024 is a reply to message #93979] Fri, 03 August 2007 08:15 Go to previous message
Frank Gerhardt is currently offline Frank GerhardtFriend
Messages: 81
Registered: July 2009
Member
Simon Kaegi schrieb:
> If you can offer any usecases or ideas on how you'd like to see this stuff
> operate in a server environment I'd be very interested. I'm hoping there can

The basic use case is:
- define server application as a feature-based product, possibly complex
feature stucture (inclusions, dependencies)
- use product export for deployment
- initial install of product by hand (updating the startup files is not
a concern, I'll be glad to only update the features/bundles)
- create new versions of features and put them on an update site
- inside the server, check if updates are available at the update site
- download and install updates

Alternatively:
- install a generic Equinox server with some kind of UM
- add update site URL to UM, http://example.com/serverupdates
- list features from update site
- choose a feature to install, download it, start it

Later:
- revert to a previous configuration, in case anything went wrong,
similar to Manage Configuration in the UM GUI

> also be discussion for this stuff at the Equinox Summit in Ottawa at the end
> of September or the European Summit(?).

Yes, I'll be at the Summit.

> As your update scenarios start to get either larger or more complex then
> that's where the new provisioning work comes in.
> I wrote a quickstart a little while ago here --
> http://wiki.eclipse.org/Equinox_Provisioning_Webapp_QuickSta rt
> This is very basic and really was exploratory for me as much as it is a
> quickstart.
> It's pure command console stuff.

Console stuff is fine. At first, I just want to have two buttons (check
and update). Should be easy to wire them to console commands, well, the
code behind them.

I looked at the wiki page. My idea is maybe more simplistic. The
features have already update URLs, so I would not need to configure
anything else. My scenario would be

osgi > listfeatures
com.example.server_1.0.0
osgi > hasupdate com.example.server
true
osgi > update com.example.server
downloading com.example.server_1.0.1
restarting com.example.server

As I wrote this I noticed, that I would like to have the concept of
features available in the console. What do you think about this?

I'm not too much involved into the provisioning to see the need for the
metadata and artifact repository. What is needed in addition to what the
UM knows and stores about features and plug-ins already?

> We're finishing off our M1 milestone for provisioning right now. I'll see if
> I can find some time to put together a Q&D web ui and update that quickstart

I can write and contribute the web UI if I had an API for the commands
listed above.

> If you really can't wait for the provisioning work to mature a bit then you
> could certainly build a web ui on top of the existing Update Manager install
> features etc. I know of a few teams that have done just that.

Would be great, if anybody would have a link to a CVS or SVN repository ;-)

Frank.
Previous Topic:Config Admin
Next Topic:Problem with Declarative Service (DS)
Goto Forum:
  


Current Time: Tue Apr 23 08:02:12 GMT 2024

Powered by FUDForum. Page generated in 0.02727 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top