[jira] [Created] (HBASE-24620) Add a ClusterManager which submits command to ZooKeeper and its Agent which picks and execute those Commands.

2020-06-23 Thread Lokesh Khurana (Jira)
Lokesh Khurana created HBASE-24620:
--

 Summary: Add a ClusterManager which submits command to ZooKeeper 
and its Agent which picks and execute those Commands.
 Key: HBASE-24620
 URL: https://issues.apache.org/jira/browse/HBASE-24620
 Project: HBase
  Issue Type: New Feature
  Components: integration tests
Reporter: Lokesh Khurana
Assignee: Lokesh Khurana


Right now all the destructive actions are done through ssh, I have been working 
on Cluster Manager which submits tasks(commands) through ZooKeeper and an Agent 
which picks those tasks and executes them blindly. With this method we can use 
any destructive action that is present in hbase-it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-24193) BackPort (ChaosMonkeyRunner expose the chaos monkey runner it creates

2020-04-15 Thread Lokesh Khurana (Jira)
Lokesh Khurana created HBASE-24193:
--

 Summary: BackPort (ChaosMonkeyRunner expose the chaos monkey 
runner it creates
 Key: HBASE-24193
 URL: https://issues.apache.org/jira/browse/HBASE-24193
 Project: HBase
  Issue Type: Improvement
Reporter: Lokesh Khurana
Assignee: Lokesh Khurana


Backport Jira : [HBASE-18651|https://issues.apache.org/jira/browse/HBASE-18651] 
to branch-1

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-24192) Let ChaosMonkeyRunner expose the chaos monkey runner it creates for branch-1

2020-04-15 Thread Lokesh Khurana (Jira)
Lokesh Khurana created HBASE-24192:
--

 Summary: Let ChaosMonkeyRunner expose the chaos monkey runner it 
creates for branch-1
 Key: HBASE-24192
 URL: https://issues.apache.org/jira/browse/HBASE-24192
 Project: HBase
  Issue Type: Improvement
Reporter: Lokesh Khurana






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


Make ClusterManager interface and it's implementations as Consumable Public API

2020-01-07 Thread Lokesh Khurana
Hi HBase Devs,

Currently, Chaos Monkey does all the destructive actions by using
passwordless-ssh with the help of HbaseClusterManager Class.
This class uses RemoteShell and CommandProvider classes to perform
these actions.

In our test framework,we are trying to bypass passwordless-ssh to perform
destructive actions of Chaos Monkey.
For these, we want to extend HBaseClusterManager Class (or ClusterManager
interface) so we can create task in ZooKeeper,
which will be executed by our framework as local action for intended hosts.

Here ClusterManager Interface and its implementation HBaseClusterManager
class are InterfaceAudience.Private, so they are not visible outside
package level access.
Also any implementation of ClusterManager needs to be merged with hbase-it
package.
CommandProvider Class, which creates commands for ssh based actions, has
access type default in HBaseClusterManager class, because of that we can
not re-use CommandProvider class.

To have our own implementation outside hbase-testing-util, we wanted to
make this classes InterfaceAudience.Public. As discussed on HBASE-23640
, it would be an
anti-pattern to expose these API directly.
Currently We have thought of below improvements to do in hbase-it package
to achieve our goal :-

1. Move ClusterManager interface and its implementation out of hbase-it
package and create a separate artifact (Exposing them directly won't be a
right approach)
2. Make ClusterManager interface as well as it's implementation public so
it can be extended with minimum effort.
3. Separate out CommandProvider Class

Currently we have filled two JIRAs :- HBASE-23639
 HBASE-23640


It would be helpful to get more suggestions for theses changes and how to
implement them like weather we need to move this into separate
hbase-package.

-- 
Thanks,
Lokesh