Re: Review Request 39445: GEODE-12/GEODE-304 Fix Pulse tests (WIP)

2015-10-27 Thread Tushar Khairnar

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



pulse/src/main/java/com/vmware/gemfire/tools/pulse/internal/data/JMXDataUpdater.java
 (line 2350)
<https://reviews.apache.org/r/39445/#comment162438>

We can Remove gemXD realated code completely from Geode



pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTests.java (line 
258)
<https://reviews.apache.org/r/39445/#comment162439>

Lot of test fail due to id/selection not found error mainly bcoz targeted 
elements are not visible or present in DOM. To avoid that test 
when checking for particular view should first navigate to that view by 
clicking some button or widget to make it visible.  PulseAutomatedTests have 
lot of navigatTo** methods. Optionally if you can separate out all tests inside 
PulseTests class and run as a separate test it would avoid issues where test is 
at different html page/html view/html widget. All tests in Pulsetests expect 
current page to be default dashboard which may not be the case bcoz tests in 
PulseAutomatedTests navigate to lot of differnt pages.



pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTests.java (line 
293)
<https://reviews.apache.org/r/39445/#comment162437>

We should remove GemXD realated tests completely


- Tushar Khairnar


On Oct. 19, 2015, 6:35 p.m., Nitin Lamba wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/39445/
> ---
> 
> (Updated Oct. 19, 2015, 6:35 p.m.)
> 
> 
> Review request for geode, Dick Cavender, Tushar Khairnar, and Dan Smith.
> 
> 
> Repository: geode
> 
> 
> Description
> ---
> 
> This includes several clean-ups for Pulse tests including:
> - Build gradle (to invoke the right set of tests)
> - Pulse JMX test beans update based on Geode JMX changes in recent releases
> - Test references (corrected or ignored)
> 
> Still a few more clean-ups pending. This is an WIP commit on feature/GEODE-12 
> branch.
> 
> 
> Diffs
> -
> 
>   pulse/build.gradle b2bd5fc 
>   
> pulse/src/main/java/com/vmware/gemfire/tools/pulse/internal/data/JMXDataUpdater.java
>  27aed67 
>   pulse/src/main/resources/pulse.properties 17299c2 
>   pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Member.java 
> 812e055 
>   
> pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseAutomatedTests.java
>  21c14d5 
>   pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestData.java 
> d1a92a2 
>   pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTests.java 
> b6dd7c6 
>   
> pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMember.java 
> 7402a8b 
>   pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObject.java 
> 97acac7 
>   
> pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObjectMBean.java
>  9487c0e 
>   pulse/src/test/resources/test.properties fabeea1 
> 
> Diff: https://reviews.apache.org/r/39445/diff/
> 
> 
> Testing
> ---
> 
> Tests done on local setup. A total of 4 tests are failing, down from 28 
> initially.
> 
> 
> Thanks,
> 
> Nitin Lamba
> 
>



Review Request 39585: Integrated Security DUnitTest

2015-10-23 Thread Tushar Khairnar

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

Review request for geode, Anthony Baker, Kirk Lund, and Dan Smith.


Repository: geode


Description
---

1. CommandTestBase - Base class for all the CLI/gfsh command dunit tests.
2. HeadlessGfsh - Gfsh as an API (and not a shell in terminal) which can be 
used to submit random commands and get command-result object, output string and 
errors
3. IntegratedSecDUnitTest - Tests gfsh data-commands, monitoring commands by 
granting/revoking different Roles - DATA_READ/DATA_WRITE/ADMIN/MONITOR, JMX as 
well as GemFire cache APIs
4. MBeanSecurityJUnitTest - Test all mbean operations by granting and revoking 
the access levels required for performing that operation
5. TestAccessControl & TestAuthenticator - In-memory implementation of GemFire 
Security Plging with verbose logging used for testing.


Diffs
-

  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/CommandTestBase.java
 PRE-CREATION 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/HeadlessGfsh.java
 PRE-CREATION 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/HeadlessGfshJUnitTest.java
 PRE-CREATION 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/IntegratedSecDUnitTest.java
 PRE-CREATION 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/MBeanSecurityJUnitTest.java
 PRE-CREATION 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/ResultHandler.java
 PRE-CREATION 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/TestAccessControl.java
 PRE-CREATION 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/TestAuthenticator.java
 PRE-CREATION 

Diff: https://reviews.apache.org/r/39585/diff/


Testing
---


File Attachments


Dunit Patch
  
https://reviews.apache.org/media/uploaded/files/2015/10/23/7e17def8-8451-459e-b5fe-56aa753fdc8e__int-sec-dunit.patch


Thanks,

Tushar Khairnar



Re: Review Request 37209: GEODE-17 : Integrated Security Code Merge

2015-08-14 Thread Tushar Khairnar
/EnvironmentVariablesHandlerInterceptor.java
 8ebed02 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/http/support/SimpleHttpRequester.java
 8bd9d37 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/AbstractHttpOperationInvoker.java
 dac1271 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/RestHttpOperationInvoker.java
 0dfbdbd 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/SimpleHttpOperationInvoker.java
 a122339 
  
gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/extension/mock/MockExtensionCommands.java
 89644f0 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/CommandManagerJUnitTest.java
 ab9333d 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/shell/GfshExecutionStrategyJUnitTest.java
 44aef44 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/JSONAuthCodeTest.java
 384493b 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/ResourceOperationJUnit.java
 f061240 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/AbstractBaseController.java
 feed8c7 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/BaseControllerAdvice.java
 5ae88bc 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/CommonCrudController.java
 ef52347 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/FunctionAccessController.java
 45d6f66 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/PdxBasedCrudController.java
 96551c6 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/QueryAccessController.java
 b20c849 
  gemfire-web-api/src/main/webapp/WEB-INF/web.xml 554ef4b 

Diff: https://reviews.apache.org/r/37209/diff/


Testing
---


Thanks,

Tushar Khairnar



Re: Dynamic classloading in Geode

2015-08-14 Thread Tushar Khairnar
Is this going to be implementation for deploy jars. If yes then GEODE-17
(integrated security) will subject it for authorization scrutiny.

On Fri, Aug 14, 2015 at 1:50 AM, Anthony Baker aba...@pivotal.io wrote:

 Thanks for the suggestions Mike.  At this point we are just exploring
 ideas and putting them out for discussion.  Regarding restricting access to
 this feature, we used the Geode Java client so standard security and
 authorizations would apply.

 Anthony

  On Aug 13, 2015, at 12:24 PM, Michael Stolz mst...@pivotal.io wrote:
 
  If this feature makes it into an actual release please make sure this
  option is not enabled by default and is securely turned off for
  environments where there are strong controls around releasing software
 into
  production.
  Also make sure that it is secured in terms of Authentication and
  Authorization via the Geode security framework when it is enabled, so
 that
  not just anyone can push code.
 
  --
  Mike Stolz
  Principal Technical Account Manager
  Mobile: 631-835-4771
 
  On Thu, Aug 13, 2015 at 1:57 PM, Anthony Baker aba...@pivotal.io
 mailto:aba...@pivotal.io wrote:
 
  Vito and I spent some time hacking up a prototype for dynamic and
  distributed classloading of Geode functions.  Currently a user has to
  compile a function into a jar and deploy it using gfsh before it can be
  executed.  If we could enable automatic deployment of functions across a
  running cluster it would speed up the development cycle for Geode
  applications and pave the way for other interesting features (like Java8
  lambdas).
 
  Here’s how it works:
 
  A function wrapper (DynamicFunction) serializes the original function
  object and captures dependent classes as byte arrays.  We generate an
 MD5
  hash over the bytecode and use that as the key for storing the bytecode
 in
  a replicated region (“hackday”) within the cache.  When the function is
  invoked, we call putIfAbsent() to distribute the byte code prior to
  executing the function across the cluster.  During execution, we extend
 the
  TCCL with a new class loader that loads classes from our region while
 the
  original function is being deserialized.  The original function is then
  executed in parallel on the cluster members.  This allows an application
  developer to iteratively modify and test function code without any
 manual
  steps to upload class files.
 
  Obviously, there is a lot more thinking and design work to do around
 these
  ideas.  Here’s our super-hacky code if you’re interested:
  https://gist.github.com/metatype/9b1f39a24e52f5c6f3e1 
  https://gist.github.com/metatype/9b1f39a24e52f5c6f3e1 
 https://gist.github.com/metatype/9b1f39a24e52f5c6f3e1
 
  Caveats:
 
  1) Currently we only capture static class dependencies.  Any class
  dependencies present during method invocations are ignored.  This could
 be
  addressed by doing byte code inspection (using ASM, javaassist, etc).
 
  2) The region we use to cache class byte code should be automatically
  recreated as a metadata region, similar to how we store pdx types.  We
 also
  need to configure eviction and expiration attributes to control resource
  usage and remove garbage.
 
  3) We only injected the byte code caching hack into the code path for
  FunctionService.onServers(pool).  Also, the putIfAbsent() call adds
 another
  network roundtrip.
 
 
  Anthony  Vito




Review Request 37209: GEODE-77 : Integrated Security Code Merge

2015-08-07 Thread Tushar Khairnar
/internal/security/AccessControlContext.java
 1926db5 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/AccessControlMXBean.java
 e217045 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/CLIOperationContext.java
 b0198e4 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/JMXOperationContext.java
 375cc27 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/JSONAuthorization.java
 d85ce65 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/MBeanServerWrapper.java
 50942c1 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ManagementInterceptor.java
 1851977 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/Resource.java
 4dc27e1 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ResourceConstants.java
 3f4d7cb 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ResourceOperation.java
 f149479 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/security/ResourceOperationContext.java
 aa1c38c 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/AbstractCommandsController.java
 73ce926 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/ConfigCommandsController.java
 517d942 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/DataCommandsController.java
 6767ec1 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/DiskStoreCommandsController.java
 2df3432 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/FunctionCommandsController.java
 de81543 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/MiscellaneousCommandsController.java
 66d344f 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/WanCommandsController.java
 1e22bd9 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/support/EnvironmentVariablesHandlerInterceptor.java
 8ebed02 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/http/support/SimpleHttpRequester.java
 8bd9d37 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/AbstractHttpOperationInvoker.java
 dac1271 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/RestHttpOperationInvoker.java
 0dfbdbd 
  
gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/web/shell/SimpleHttpOperationInvoker.java
 a122339 
  
gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/extension/mock/MockExtensionCommands.java
 89644f0 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/CommandManagerJUnitTest.java
 ab9333d 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/cli/shell/GfshExecutionStrategyJUnitTest.java
 44aef44 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/JSONAuthCodeTest.java
 384493b 
  
gemfire-core/src/test/java/com/gemstone/gemfire/management/internal/security/ResourceOperationJUnit.java
 f061240 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/AbstractBaseController.java
 feed8c7 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/BaseControllerAdvice.java
 5ae88bc 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/CommonCrudController.java
 ef52347 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/FunctionAccessController.java
 45d6f66 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/PdxBasedCrudController.java
 96551c6 
  
gemfire-web-api/src/main/java/com/gemstone/gemfire/rest/internal/web/controllers/QueryAccessController.java
 b20c849 
  gemfire-web-api/src/main/webapp/WEB-INF/web.xml 554ef4b 

Diff: https://reviews.apache.org/r/37209/diff/


Testing
---


Thanks,

Tushar Khairnar



Re: Functional spec review

2015-08-04 Thread Tushar Khairnar
Yes. I did not have required rights for editing jira. I will add the
reference.

regards,
Tushar

On Mon, Aug 3, 2015 at 10:18 PM, robert geiger rob...@ampool.io wrote:

 Minor nit: the spec should be referenced in the JIRA,
 Thanks,
 Bob




 On 8/3/15, 5:35 AM, Tushar Khairnar tkhair...@pivotal.io wrote:

 This is to address https://issues.apache.org/jira/browse/GEODE-17
 
 The functional spec is here:
 https://cwiki.apache.org/confluence/display/GEODE/Integrated+Security
 
 regards,
 Tushar



Functional spec review

2015-08-03 Thread Tushar Khairnar
This is to address https://issues.apache.org/jira/browse/GEODE-17

The functional spec is here:
https://cwiki.apache.org/confluence/display/GEODE/Integrated+Security

regards,
Tushar