[
https://issues.apache.org/jira/browse/GEODE-6523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dick Cavender closed GEODE-6523.
--------------------------------
> Disable new REST and Java API behind feature flag
> -------------------------------------------------
>
> Key: GEODE-6523
> URL: https://issues.apache.org/jira/browse/GEODE-6523
> Project: Geode
> Issue Type: Improvement
> Components: management
> Reporter: Peter Tran
> Priority: Major
> Fix For: 1.10.0
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> Discuss: Do we want our new functionality to be disabled by default until
> such time as we are happy to make it publicly available? Other features -
> e.g. protobuf currently do this.
> If we do this, please use a feature-flag system property of the form:
> `geode.feature-cluster-management-service` for consistency with other feature
> flags.
> * consider tests
> * GFSH start option to switch it on
> * Augment Experimental (don't turn off experimental with addition)
> * What happens with Experimental later, leave it on until we are solid on the
> External/public API.
> * Feature flag = MVP adding value, Experimental = public API is solid
> there is one flag to control this feature as Java Runtime properties "--J-D":
> - enable-experimental-cluster-management-service: for features, which is
> just an experimental, just want to get some feedback from early birds.
> ### Why
> We want users to not have access to Experimental API by default because it
> could be in a state that is insecure/incomplete/could cause corruption of a
> system. We need to turn this off by default so that users can opt into this
> functionality.
> ### Acceptance Criteria
> ```gherkin
> Scenario: System doesn't see this flag
> Given geode is unpacked in a directory
> When the system cannot find a flag of
> 'enable-experimental-cluster-management-service' in Java Runtime properties.
> Then the REST API v2 will not be available to the user on any port of the
> locator
> AND a info level log would be added to locator log: "CMS is turned off ,
> because value the experimental flag:
> enable-experimental-cluster-management-service is false."
> ```
> ```gherkin
> Scenario: User default false for opt-in on experimental
> Given the user does not change this flag
> 'enable-experimental-cluster-management-service' and its default value.
> When the user starts a locator
> Then the REST API v2 will not be available to the user on any port of the
> locator
> AND a info level log would be added to locator log: "CMS is turned off ,
> because value the experimental flag:
> enable-experimental-cluster-management-service is false."
> ```
> ```gherkin
> Scenario: User default incorrectly specified flag value
> Given geode is unpacked in a directory
> When the user specifies an incorrect value for this flag:
> 'enable-experimental-cluster-management-service' by Java Runtime properties
> "--J-D"
> Then the REST API v2 will not be available to the user on any port of the
> locator
> AND a info level log would be added to locator log: "CMS is turned off ,
> because value the experimental flag:
> enable-experimental-cluster-management-service is false."
> ```
> ```gherkin
> Scenario: User opts into the experimental flag
> Given geode is unpacked in a directory
> When the user enables this flag:
> 'enable-experimental-cluster-management-service' by Java Runtime properties
> "--J-D"
> Then the REST API v2 will be available to the user at the standard port of
> 7070 or whatever port the user has specified.
> AND a info level log would be added to locator log: "CMS is turned on ,
> because value the experimental flag:
> enable-experimental-cluster-management-service is true."
> ```
> **Notes:**
--
This message was sent by Atlassian Jira
(v8.3.4#803005)