You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ambari.apache.org by Christopher Jackson <ja...@gmail.com> on 2015/06/02 00:44:49 UTC

Upgrade process for custom services?

Hello all,

What did you guys have in mind (if anything) for being able to upgrade a custom service? Let’s say a cluster has my custom service installed and I release a new version by distributing an updated service definition and update the RPMs needed by my service. Is there an upgrade mechanism for an individual service in Ambari? I tried simply removing the service from Ambari by using the Ambari API and then attempted to install the updated service. But it skips over installing the RPM because it knows its already installed (even though its a different version). I don’t want to remove the old version first then install the new version as there are some things I would like to migrate from the old to new install. 

Perhaps I’m not hosting my local RPM repository correctly? Or something else I’m missing? Any guidance would be appreciated.

Regards,

Christopher Jackson

Re: Upgrade process for custom services?

Posted by Sumit Mohanty <sm...@hortonworks.com>.
In general, if you removed the service and re-add it ambari will call the install command. If yum (assuming you are on rhel/centos) is refusing to upgrade then likely it is not finding the new package or expecting an "yum upgrade" call. In that case, you have to manually upgrade the package.

While not a lot of thought has been given (read it as there are no open tasks discussing the designs) the general approach for upgrading a custom service is as follows:

* Stop the service
* Upgrade the service binaries on all host where its components are deployed
* Modify the service definition within the stack definition on the ambari-server host
* Restart ambari-server
* Start the service using Ambari (ambari-agents download the modified service definitions when you issue svc mgmt commands)

In addition, depending on what the new version of the service needs, you may have one or more of the following:
* Modify the service config if some old config properties are not valid or some new configs do not have valid default
* Restart other services if they need to react to the new service or the new config

-Sumit


________________________________________
From: Christopher Jackson <ja...@gmail.com>
Sent: Monday, June 01, 2015 3:44 PM
To: user@ambari.apache.org
Subject: Upgrade process for custom services?

Hello all,

What did you guys have in mind (if anything) for being able to upgrade a custom service? Let’s say a cluster has my custom service installed and I release a new version by distributing an updated service definition and update the RPMs needed by my service. Is there an upgrade mechanism for an individual service in Ambari? I tried simply removing the service from Ambari by using the Ambari API and then attempted to install the updated service. But it skips over installing the RPM because it knows its already installed (even though its a different version). I don’t want to remove the old version first then install the new version as there are some things I would like to migrate from the old to new install.

Perhaps I’m not hosting my local RPM repository correctly? Or something else I’m missing? Any guidance would be appreciated.

Regards,

Christopher Jackson