-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37715/
-----------------------------------------------------------
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 2e16a59
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