You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Robert Nettleton <rn...@hortonworks.com> on 2015/09/15 17:09:29 UTC

Re: Review Request 37715: Add Visibility Attributes to Services


> On Aug. 25, 2015, 8:54 p.m., Robert Nettleton wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java, line 226
> > <https://reviews.apache.org/r/37715/diff/1/?file=1048227#file1048227line226>
> >
> >     Why would this map need to be evaluated more than once?  
> >     
> >     I would expect that this list of properties is always statically-defined in the XML definitions of a stack service.
> 
> Sebastian Toader wrote:
>     The list of properties may change during the startup as when service deifinition inheritence is resolved. In most of the cases by the time the service property map is requested the for the first time the list of properties is resolved already and thus the reconstruction of the map is not needed. I added this just as a safety measure for potential future changes that may incur rebuilding of the properties list.

Thanks for explaining this.  I'll drop this issue.


- Robert


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37715/#review96410
-----------------------------------------------------------


On Aug. 28, 2015, 1:09 p.m., Sebastian Toader wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37715/
> -----------------------------------------------------------
> 
> (Updated Aug. 28, 2015, 1:09 p.m.)
> 
> 
> Review request for Ambari, John Speidel, Robert Levas, and Robert Nettleton.
> 
> 
> Bugs: AMBARI-7469
>     https://issues.apache.org/jira/browse/AMBARI-7469
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Problem
> In a stack there may be one or more services that should not be installable, configurable, or managed via the Ambari web-based interface. Such a service may need to be installed via some Ambari API call or manually. There is no way to specify these “visibility” attributes within a service’s definition; thus to “hide” a service, one-off code needs to be added to the different Ambari facilities.
> 
> Solution
> Add visibility attributes to service definitions to describe how Ambari should expose services via front-end facilities. The following Boolean attributes should be settable by services:
> - installable: indicates if Ambari can install the service - if not installable, the service should be hidden from “add service” features of Ambari
> - managed: indicates if Ambari can start and stop the service - if not managed, the service should be hidden from all views where management operations can occur
> - monitored: indicates if Ambari can monitor the service - if not monitored, status information should not be displayed
> 
> 
> These attributes are assumed to be trueif not specified in the service’s metainfo.xml file, else
> they are declared the a propertiesblock as follows:
> <metainfo>
> …
> <services>
> <service>
> …
> <properties>
> <property>
> <name>installable</name>
> <value>false</name>
> </property>
> <property>
> <name>managed</name>
> <value>true</name>
> </property>
> </properties>
> …
> </service>
> </services>
> </metainfo>
> 
> 
> Diffs
> -----
> 
>   ambari-server/pom.xml 01301da 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java d17fc32 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java 130129a 
>   ambari-server/src/main/java/org/apache/ambari/server/stack/ServiceModule.java e51eb21 
>   ambari-server/src/main/java/org/apache/ambari/server/state/DuplicateServicePropertyException.java PRE-CREATION 
>   ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java b476f0e 
>   ambari-server/src/main/java/org/apache/ambari/server/state/ServicePropertyInfo.java PRE-CREATION 
>   ambari-server/src/main/resources/properties.json 2dc1af5 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/StackServiceResponseTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackServiceResourceProviderTest.java PRE-CREATION 
>   ambari-server/src/test/java/org/apache/ambari/server/stack/ServiceModuleTest.java 2737695 
>   ambari-server/src/test/java/org/apache/ambari/server/state/ServiceInfoTest.java df22acc 
>   ambari-server/src/test/java/org/apache/ambari/server/state/ServicePropertyInfoTest.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/37715/diff/
> 
> 
> Testing
> -------
> 
> Manual tested on trunk:
> - all three attributes with default value "true" are returned in case these are not dedined in metainfo.xml
> - merging between stack service and common services for these new attributes
> 
> Local test results:
> 
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 1:11.974s
> [INFO] Finished at: Mon Aug 24 15:18:11 CEST 2015
> [INFO] Final Memory: 59M/994M
> [INFO] ------------------------------------------------------------------------
> 
> 
> Thanks,
> 
> Sebastian Toader
> 
>