Thanks a lot Michael.
I'd never heard of condrestart before and your other suggestions also
seem to be more than worth checking out.
If I understood you correctly though, the advice you are giving me is
geared towards updating services and in the process
starting/stopping/restarting them based on conditions (I'll be looking
into the links you provided to verify whether this is right). The
conundrum I'm facing is that this is a desktop app, picture ooffice as
an example, and I can't restart it while the users are logged in it.
The hosts were this app will be running will be dedicated, so I'm
leaning towards the idea of hacking the spacewalk client as I mentioned
before (so it won't install the updates until told to) and periodically
install downloaded rpms either at boot time or whenever I can ensure
that no users are logged into this app. Do you consider this a terrible
solution? Am I trying to defeat RPM with this? Is there a better
alternative?
Thanks.
Adrián.
Michael DeHaan escribió:
[EMAIL PROTECTED] wrote:
Hi Adrián,
The question is probably more suitable on a rpm list.
We don't distribute our jar's with rpm but I appreciate your dillema.
I don't personnally think that for such complex applications, rpm is
the right way to upgrade with. I see rpm has a way to distribute
"core" stuff, and not suitable for distributing weird and wonderfull
applications that requires restarts and database upgrades etc. There
is application servers and frameworks that is better suited for this
type of thing and that sits on a logically higher level. JBoss,
Wesphere and I think even tomcat has some basic stuff build in.
Regards
This is generally true only for applications that are packaged
/poorly/. Properly packaged RPMs can be configured to do
"condrestart" as needed.
If you need something more advanced, this is typically where you would
want to look at something like puppet/cfengine/bcfg2 where you can
describe the state you want your services to be (and remain) in.
Also you may be interested in a simple tool such as Func
(http://fedorahosted.org/func) for restarting services remotely. It
is in many ways easier to deploy than SSH and also provides you a way
of defining arbitrary groups of systems to send commands to.
--Michael
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Adrián Márques
Sent: 06 October 2008 18:45
To: [email protected]
Subject: [Spacewalk-list] How to update running applications?
Dear all,
I'm having a difficult time in finding the correct forum to pose
this question since I guess it's part spacewalk, part RPM, part
basic aplication design.
Being an RPM end-user for years I had always assumed that updating
running apps was a piece of cake with RPM. After all, I always did
it and the most I got were occasional messages such as "Firefox
restart required", never encountering other side-effects.
However, after reading through the RPM guide, getting my hands dirty
trying to package an app, scouring the internet for info and asking
around in the RPM mailing list, I'm still not sure how to write my
RPM so updating won't be an issue.
The scenario is the following: I'd like to use spacewalk to
distribute a custom desktop app. Hence, it's unavoidable that some
users will be working at the time of an update. So far I've
identified two problems with this, 1) If I have to modify the app's
database schema as part of the update, the running app might break
down if it's not aware of the change 2) This happens to be a java
app, so in case a jar gets updated a class might get loaded that is
not compatible with those already loaded by the running app.
I understand that what I've explained so far might be outside of the
scope of the subjects treated in this mailing list, if so, please
just treat it as a detailed background problem description.
What I would like to know from you guys is whether you've had any
problems when updating apps through Satellite/Spacewalk due to them
being running at the time or what precautions (if any) you take when
doing so.
Finally, I suppose that as a last resort I could hack the spacewalk
client to only download updates and not install them until it is
told to do so from the command line. Is this already possible? If
not, where's the place to start with hacking this?
I thank you all for your time and attention. It'd be amazing if you
had any comments regarding my background issue, but I'll be more
than satisfied and grateful if you could just provide any feedback
on those questions strictly spacewalk-related.
Thanks.
Adrián.
_______________________________________________
Spacewalk-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-list