[
https://issues.apache.org/jira/browse/AMBARI-3489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mahadev konar updated AMBARI-3489:
----------------------------------
Fix Version/s: 1.4.2
> Unable to reconfigure services with client only components
> ----------------------------------------------------------
>
> Key: AMBARI-3489
> URL: https://issues.apache.org/jira/browse/AMBARI-3489
> Project: Ambari
> Issue Type: Bug
> Components: controller
> Affects Versions: 1.3.0
> Reporter: Adamos Loizou
> Fix For: 1.4.2
>
> Attachments: client_components_reinstall.patch, Re_ Reconfiguring
> services with client only components.rtf
>
>
> We use a custom service in our Ambari instance that comprises only of client
> components (i.e. no daemons).
> We used to control its reconfiguration by:
> 1. Stopping the service by changing the service state to {{INSTALLED}}
> 2. Changing the cluster configuration with a {{PUT}} in e.g.
> {{http://localhost:8080/api/v1/clusters/mycluster}} with the following body:
> {code:javascript}
> {
> "Clusters": {
> "desired_configs": {
> "type": "your_custom_service_type",
> "tag": "your_new_version",
> "properties": { }# properties here
> }
> }
> }
> {code}
> 3. "Starting" the service by changed the state to {{STARTED}}. Even though
> the service would always remain in {{INSTALLED}} state (as being with
> client-only components) it had the effect of applying the changed
> configuration.
> We've recently synced our Ambari version with the latest from trunk and we no
> longer see that behaviour (the configuration is not applied).
> After some debugging on the Ambari side, the behaviour change comes from
> {{AmbariManagementControllerImpl.addClientSchForReinstall(...)}}
> The latest version of the method's signature has had the {{changedServices}}
> parameter removed and only relies on the {{changedScHosts}} parameter to
> proceed with installing client components.
> In this scenario, it is precisely {{changedServices}} that registers a change
> while {{changedScHosts}} remains empty, probably explaining why the client
> components are never re-installed.
> The way we solved it was to reintroduce the {{changedServices}} parameter and
> the code fragment that handled it.
> A patch is provided with the fix.
--
This message was sent by Atlassian JIRA
(v6.1#6144)