Details

    • Type: Sub-task Sub-task
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 0.9.0
    • Component/s: new service
    • Labels:
      None
    1. WHIRR-516.patch
      16 kB
      Tom White
    2. WHIRR-516.patch
      16 kB
      Tom White

      Activity

      Tom White made changes -
      Attachment WHIRR-516.patch [ 12551266 ]
      Show
      Tom White added a comment - Moved patch from WHIRR-443 . See https://issues.apache.org/jira/browse/WHIRR-443?focusedCommentId=13421133&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13421133
      Tom White made changes -
      Summary Create ZooKeeper service that uses Bigtop Puppet scripts Create Whirr services that uses Bigtop Puppet scripts
      Component/s new service [ 12314368 ]
      Component/s service/zookeeper [ 12313613 ]
      Tom White made changes -
      Attachment WHIRR-516.patch [ 12517253 ]
      Hide
      Tom White added a comment -

      Attaching the work I did on this. Not ready for commit.

      Show
      Tom White added a comment - Attaching the work I did on this. Not ready for commit.
      Hide
      Tom White added a comment -

      The way CreateSitePpAndApplyRoles works is by building a site.pp file, and it's not clear if it can access environment variables. So I was thinking of a solution that writes per-instance site.pp files for ZK. But it would be nice if there was a simpler way...

      Show
      Tom White added a comment - The way CreateSitePpAndApplyRoles works is by building a site.pp file, and it's not clear if it can access environment variables. So I was thinking of a solution that writes per-instance site.pp files for ZK. But it would be nice if there was a simpler way...
      Hide
      Andrei Savu added a comment -

      We can already have per-instance environment variables. Why not use that for myid?

      Show
      Andrei Savu added a comment - We can already have per-instance environment variables. Why not use that for myid?
      Hide
      Tom White added a comment -

      In addition to 3, we need a way to generate ZK's myid in Whirr and push it out to the Puppet manifests. This could be achieved by having a per-instance statement:

      public interface PerInstanceStatement extends Statement {
        String render(OsFamily family, Instance instance);
      }
      

      Then the StatementBuilder would pass the instance to the render method and allow the statement to use the instance object to work out its index-based ID.

      Show
      Tom White added a comment - In addition to 3, we need a way to generate ZK's myid in Whirr and push it out to the Puppet manifests. This could be achieved by having a per-instance statement: public interface PerInstanceStatement extends Statement { String render(OsFamily family, Instance instance); } Then the StatementBuilder would pass the instance to the render method and allow the statement to use the instance object to work out its index-based ID.
      Hide
      Tom White added a comment -

      A few things are needed to get this working.

      1. To use the Bigtop Puppet scripts in http://svn.apache.org/repos/asf/incubator/bigtop/trunk/bigtop-deploy/puppet/ we can clone them from git://github.com/apache/bigtop.git using the existing mechanism in Whirr. However, the directory structure isn't quite right, so we'd need to set --modulepath when calling puppet. A workaround is to create a local tarball and specify it using a file:// URL.

      2. We need to add the Bigtop repo, either using yumrepo or something like https://github.com/plathrop/puppet-module-apt or https://github.com/lelutin/puppet-apt for apt.

      3. We need to pass the servers in the ZK ensemble dynamically, so we need a way of hooking in some ZK-specific code to run in the ClusterActionHandler. Not sure the cleanest way to do this.

      Show
      Tom White added a comment - A few things are needed to get this working. 1. To use the Bigtop Puppet scripts in http://svn.apache.org/repos/asf/incubator/bigtop/trunk/bigtop-deploy/puppet/ we can clone them from git://github.com/apache/bigtop.git using the existing mechanism in Whirr. However, the directory structure isn't quite right, so we'd need to set --modulepath when calling puppet. A workaround is to create a local tarball and specify it using a file:// URL. 2. We need to add the Bigtop repo, either using yumrepo or something like https://github.com/plathrop/puppet-module-apt or https://github.com/lelutin/puppet-apt for apt. 3. We need to pass the servers in the ZK ensemble dynamically, so we need a way of hooking in some ZK-specific code to run in the ClusterActionHandler. Not sure the cleanest way to do this.
      Tom White made changes -
      Field Original Value New Value
      Fix Version/s 0.9.0 [ 12319840 ]
      Tom White created issue -

        People

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

          Dates

          • Created:
            Updated:

            Development