Whirr
  1. Whirr
  2. WHIRR-239

Support local standalone deployment

    Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 0.9.0
    • Component/s: None
    • Labels:
      None

      Description

      It would be useful for Whirr to launch services on the local machine in "standalone" or "pseudo distributed" mode. Combined with WHIRR-220 such a feature would make it easy to deploy a development tarball to the local machine for testing, etc.

      1. WHIRR-239.patch
        19 kB
        Tom White
      2. WHIRR-239.patch
        18 kB
        Tom White

        Issue Links

          Activity

          Andrei Savu made changes -
          Fix Version/s 0.9.0 [ 12319840 ]
          Fix Version/s 0.8.0 [ 12318880 ]
          Andrei Savu made changes -
          Fix Version/s 0.8.0 [ 12318880 ]
          Hide
          Andrei Savu added a comment -

          It should be possible to tackle this one in 0.8.0 as we improve the scripts (start, stop, cleanup events). A bonus point is that we now have the ability to deploy Hadoop & HBase on a single VM.

          Show
          Andrei Savu added a comment - It should be possible to tackle this one in 0.8.0 as we improve the scripts (start, stop, cleanup events). A bonus point is that we now have the ability to deploy Hadoop & HBase on a single VM.
          Hide
          Andrei Savu added a comment -

          We need WHIRR-266 for this to implement destroy in terms of cleanup.

          Show
          Andrei Savu added a comment - We need WHIRR-266 for this to implement destroy in terms of cleanup.
          Andrei Savu made changes -
          Link This issue requires WHIRR-266 [ WHIRR-266 ]
          Tom White made changes -
          Link This issue relates to WHIRR-285 [ WHIRR-285 ]
          Tom White made changes -
          Attachment WHIRR-239.patch [ 12471212 ]
          Hide
          Tom White added a comment -

          Thanks Adrian - somehow I had missed that BYON is in beta-9. That's great! So I've updated the patch to use it for the local machine case, which simplifies things. Run it with

          mvn verify -Pintegration -DargLine="-Dwhirr.test.provider=local -Dwhirr.test.identity=root -Dwhirr.test.credential=<root-password>"
          

          You also need to ensure that your public key is in the local authorized_keys:

          cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
          
          Show
          Tom White added a comment - Thanks Adrian - somehow I had missed that BYON is in beta-9. That's great! So I've updated the patch to use it for the local machine case, which simplifies things. Run it with mvn verify -Pintegration -DargLine= "-Dwhirr.test.provider=local -Dwhirr.test.identity=root -Dwhirr.test.credential=<root-password>" You also need to ensure that your public key is in the local authorized_keys: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
          Show
          Adrian Cole added a comment - here's a hint that should help get started: https://github.com/jclouds/jclouds/blob/master/apis/byon/src/test/java/org/jclouds/byon/BYONComputeServiceLiveTest.java
          Hide
          Adrian Cole added a comment -

          byon is already out, and in the beta-9 version of jclouds already a dependency in whirr.

          https://github.com/jclouds/jclouds/tree/master/apis/byon

          Since byon was made specifically for the whirr use case, we should probably give it a try.

          Show
          Adrian Cole added a comment - byon is already out, and in the beta-9 version of jclouds already a dependency in whirr. https://github.com/jclouds/jclouds/tree/master/apis/byon Since byon was made specifically for the whirr use case, we should probably give it a try.
          Tom White made changes -
          Field Original Value New Value
          Attachment WHIRR-239.patch [ 12471156 ]
          Hide
          Tom White added a comment -

          Here's a patch for discussion. It's incomplete, but shows the basic idea.

          The LocalService class is an implementation of Service that bypasses jclouds and implements launch and destroy for a local machine. It might be possible to use the forthcoming BYON code for this at some point.

          There is a new destroy-zookeeper script to tear down a local installation (this is not needed in the cloud since the instances are simply destroyed).

          Run it using

          mvn verify -Pintegration -DargLine="-Dwhirr.test.provider=local"
          

          You can also specify an identity of "root" and the root password as the credential to avoid having to enter them interactively.

          I got the integration test passing on a Mac, and there are a few changes to make the script work there (there are still some spurious changes that still need fixing though).

          Show
          Tom White added a comment - Here's a patch for discussion. It's incomplete, but shows the basic idea. The LocalService class is an implementation of Service that bypasses jclouds and implements launch and destroy for a local machine. It might be possible to use the forthcoming BYON code for this at some point. There is a new destroy-zookeeper script to tear down a local installation (this is not needed in the cloud since the instances are simply destroyed). Run it using mvn verify -Pintegration -DargLine= "-Dwhirr.test.provider=local" You can also specify an identity of "root" and the root password as the credential to avoid having to enter them interactively. I got the integration test passing on a Mac, and there are a few changes to make the script work there (there are still some spurious changes that still need fixing though).
          Tom White created issue -

            People

            • Assignee:
              Tom White
              Reporter:
              Tom White
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Development