You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Peter Tran (JIRA)" <ji...@apache.org> on 2019/03/13 20:26:00 UTC
[jira] [Created] (GEODE-6523) Disable new REST and Java API behind
feature flag
Peter Tran created GEODE-6523:
---------------------------------
Summary: 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
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
(v7.6.3#76005)