Whirr
  1. Whirr
  2. WHIRR-214 Add/Remove nodes to/from running clusters
  3. WHIRR-421

Handle more role / service lifecycle events as part of the core functionality

    Details

    • Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8.0
    • Component/s: core
    • Labels:
      None

      Description

      Right now each role can define event handlers for bootstrap and configure. I suggest that the Whirr core should be aware of more service lifecycle events like: start, stop & cleanup. This semantic improvement should allow us to add more features like: cluster reconfiguration (e.g. update Hadoop settings and restart all the nodes - rolling restart), add / remove nodes etc.

      1. WHIRR-421.patch
        69 kB
        Andrei Savu
      2. WHIRR-421.patch
        43 kB
        Andrei Savu
      3. WHIRR-421-missing-nodemetadata.patch
        7 kB
        Andrei Savu

        Issue Links

          Activity

          Hide
          Andrei Savu added a comment -

          This is a first iteration on this: added start, stop & cleanup as events + tested with ZooKeeper on EC2.

          Show
          Andrei Savu added a comment - This is a first iteration on this: added start, stop & cleanup as events + tested with ZooKeeper on EC2.
          Hide
          Tom White added a comment -

          Looks good to me. +1

          It would be handy to add some docs somewhere to explain the different actions - e.g. the difference between cleanup and destroy.

          Show
          Tom White added a comment - Looks good to me. +1 It would be handy to add some docs somewhere to explain the different actions - e.g. the difference between cleanup and destroy.
          Hide
          Andrei Savu added a comment -

          Thanks Tom! I will submit an updated version tomorrow.

          Show
          Andrei Savu added a comment - Thanks Tom! I will submit an updated version tomorrow.
          Hide
          Andrei Savu added a comment -

          Updated for Cassandra & elasticsearch. I think we should commit this if it looks good to you and we can handle the rest of the services in different JIRAs.

          Show
          Andrei Savu added a comment - Updated for Cassandra & elasticsearch. I think we should commit this if it looks good to you and we can handle the rest of the services in different JIRAs.
          Hide
          Andrei Savu added a comment -

          Tom let me know what you think. I can commit tonight and move on to other JIRAs.

          Show
          Andrei Savu added a comment - Tom let me know what you think. I can commit tonight and move on to other JIRAs.
          Hide
          Tom White added a comment -

          +1

          Show
          Tom White added a comment - +1
          Hide
          Andrei Savu added a comment -

          Committed. Thanks for reviewing!

          Show
          Andrei Savu added a comment - Committed. Thanks for reviewing!
          Hide
          Andrei Savu added a comment -

          Reopening because the Hadoop integration test fails with NullPointerException due to missing NodeMetadata.

          Show
          Andrei Savu added a comment - Reopening because the Hadoop integration test fails with NullPointerException due to missing NodeMetadata.
          Hide
          Andrei Savu added a comment -

          I have created WHIRR-466 to address the NodeMetadata persistence issue.

          Show
          Andrei Savu added a comment - I have created WHIRR-466 to address the NodeMetadata persistence issue.
          Hide
          Andrei Savu added a comment -

          Attached patch that addresses the missing NodeMetadata problem. Integration tests for Hadoop & ZooKeeper are passing on aws-ec2/us-east & cloudservers-uk.

          Show
          Andrei Savu added a comment - Attached patch that addresses the missing NodeMetadata problem. Integration tests for Hadoop & ZooKeeper are passing on aws-ec2/us-east & cloudservers-uk.
          Hide
          Adrian Cole added a comment -

          +1 side note is that we need to establish a way to test ClusterController outside integration tests

          Show
          Adrian Cole added a comment - +1 side note is that we need to establish a way to test ClusterController outside integration tests
          Hide
          Akash Ashok added a comment -

          I am not able to test this one because of

          [INFO] ------------------------------------------------------------------------
          [ERROR] BUILD FAILURE
          [INFO] ------------------------------------------------------------------------
          [INFO] Too many unapproved licenses: 1
          [INFO] ------------------------------------------------------------------------
          [INFO] For more information, run Maven with the -e switch
          [INFO] ------------------------------------------------------------------------
          [INFO] Total time: 23 seconds
          [INFO] Finished at: Thu Jan 05 23:36:16 IST 2012
          [INFO] Final Memory: 59M/255M
          [INFO] ------------------------------------------------------------------------

          Show
          Akash Ashok added a comment - I am not able to test this one because of [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Too many unapproved licenses: 1 [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 23 seconds [INFO] Finished at: Thu Jan 05 23:36:16 IST 2012 [INFO] Final Memory: 59M/255M [INFO] ------------------------------------------------------------------------
          Hide
          Andrei Savu added a comment -

          side note is that we need to establish a way to test ClusterController outside integration tests

          We should be able to do this using the "stub" provider. I will open a JIRA.

          Show
          Andrei Savu added a comment - side note is that we need to establish a way to test ClusterController outside integration tests We should be able to do this using the "stub" provider. I will open a JIRA.
          Hide
          Andrei Savu added a comment -

          @Akash I guess you have the .patch file in your tree.

          Show
          Andrei Savu added a comment - @Akash I guess you have the .patch file in your tree.
          Hide
          Andrei Savu added a comment -

          Committed the second patch to trunk. Thanks Adrian for reviewing.

          Show
          Andrei Savu added a comment - Committed the second patch to trunk. Thanks Adrian for reviewing.
          Hide
          Akash Ashok added a comment -

          Thanks this is working

          Show
          Akash Ashok added a comment - Thanks this is working

            People

            • Assignee:
              Andrei Savu
              Reporter:
              Andrei Savu
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development