You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/02/09 11:47:31 UTC

[1/2] incubator-brooklyn git commit: Fixes RabbitMQ installation on Centos 6 and 7

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master 21d9a91fc -> bf1801253


Fixes RabbitMQ installation on Centos 6 and 7


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/2ae2e4d5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/2ae2e4d5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/2ae2e4d5

Branch: refs/heads/master
Commit: 2ae2e4d5ed5f10e338248326027c9fd111610d51
Parents: 41b2805
Author: Martin Harris <gi...@nakomis.com>
Authored: Mon Feb 9 10:45:07 2015 +0000
Committer: Martin Harris <gi...@nakomis.com>
Committed: Mon Feb 9 10:45:07 2015 +0000

----------------------------------------------------------------------
 .../messaging/rabbit/RabbitSshDriver.java       | 27 ++++++++++++++++++++
 .../messaging/rabbit/RabbitEc2LiveTest.java     | 13 +++++++++-
 2 files changed, 39 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2ae2e4d5/software/messaging/src/main/java/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/main/java/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java b/software/messaging/src/main/java/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
index bb8d4e2..3219a06 100644
--- a/software/messaging/src/main/java/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
+++ b/software/messaging/src/main/java/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java
@@ -24,6 +24,7 @@ import static java.lang.String.format;
 import java.util.List;
 import java.util.Map;
 
+import com.google.common.base.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -44,6 +45,13 @@ import com.google.common.collect.ImmutableMap;
 public class RabbitSshDriver extends AbstractSoftwareProcessSshDriver implements RabbitDriver {
 
     private static final Logger log = LoggerFactory.getLogger(RabbitSshDriver.class);
+
+    // See http://fedoraproject.org/wiki/EPEL/FAQ#howtouse
+    private static final Map<String, String> CENTOS_VERSION_TO_EPEL_VERSION = ImmutableMap.of(
+        "5", "5-4",
+        "6", "6-8",
+        "7", "7-5"
+    );
     
     public RabbitSshDriver(RabbitBrokerImpl entity, SshMachineLocation machine) {
         super(entity, machine);
@@ -72,8 +80,27 @@ public class RabbitSshDriver extends AbstractSoftwareProcessSshDriver implements
     public void install() {
         List<String> urls = resolver.getTargets();
         String saveAs = resolver.getFilename();
+        // Version and architecture are only required for download of epel package on RHEL/Centos systems so pick sensible
+        // defaults if unavailable
+        String osMajorVersion = getMachine().getOsDetails().getVersion();
+        if (Strings.isNullOrEmpty(osMajorVersion)) {
+            osMajorVersion = "7";
+        } else {
+            osMajorVersion = osMajorVersion.indexOf(".") > 0 ? osMajorVersion.substring(0, osMajorVersion.indexOf('.')) : osMajorVersion;
+            if (!CENTOS_VERSION_TO_EPEL_VERSION.keySet().contains(osMajorVersion)) {
+                osMajorVersion = "7";
+            }
+        }
+        String epelVersion = CENTOS_VERSION_TO_EPEL_VERSION.get(osMajorVersion);
+        String osArchitecture = getMachine().getOsDetails().getArch();
+        if (Strings.isNullOrEmpty(osArchitecture)) {
+            osArchitecture = "x86_64";
+        }
 
         List<String> commands = ImmutableList.<String>builder()
+                // EPEL repository for erlang install required on some Centos distributions
+                .add(chainGroup("which yum", sudo("yum -y update ca-certificates"), sudo("rpm -Uvh " +
+                        format("http://download.fedoraproject.org/pub/epel/%s/%s/epel-release-%s.noarch.rpm", osMajorVersion, osArchitecture, epelVersion))))
                 .add(ifExecutableElse0("zypper", chainGroup(
                         ok(sudo("zypper --non-interactive addrepo http://download.opensuse.org/repositories/devel:/languages:/erlang/SLE_11_SP3 erlang_sles_11")),
                         ok(sudo("zypper --non-interactive addrepo http://download.opensuse.org/repositories/devel:/languages:/erlang/openSUSE_11.4 erlang_suse_11")),

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2ae2e4d5/software/messaging/src/test/java/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java
----------------------------------------------------------------------
diff --git a/software/messaging/src/test/java/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java b/software/messaging/src/test/java/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java
index dc500f4..59ef9db 100644
--- a/software/messaging/src/test/java/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java
+++ b/software/messaging/src/test/java/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java
@@ -22,6 +22,7 @@ import static org.testng.Assert.assertEquals;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.testng.SkipException;
 import org.testng.annotations.Test;
 
 import brooklyn.entity.AbstractEc2LiveTest;
@@ -81,7 +82,17 @@ public class RabbitEc2LiveTest extends AbstractEc2LiveTest {
         Channel channel = conn.createChannel();
         return channel;
     }
-    
+
+    @Override
+    public void test_CentOS_5_6() throws SkipException {
+        // Not supported. The EPEL repository described here at [1] does not contain erlang, and the
+        // Erlang repository at [1] requires old versions of rpmlib. Additionally, [2] suggests that
+        // Centos 5 is not supported
+        // [1]:http://www.rabbitmq.com/install-rpm.html
+        // [2]: https://www.erlang-solutions.com/downloads/download-erlang-otp
+        throw new SkipException("Centos 5 is not supported");
+    }
+
     @Test(enabled=false)
     public void testDummy() {} // Convince testng IDE integration that this really does have test methods  
 }


[2/2] incubator-brooklyn git commit: This closes #503

Posted by al...@apache.org.
This closes #503


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/bf180125
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/bf180125
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/bf180125

Branch: refs/heads/master
Commit: bf1801253476691edbe552b60a99fe703358046b
Parents: 21d9a91 2ae2e4d
Author: Aled Sage <al...@gmail.com>
Authored: Mon Feb 9 10:47:27 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Feb 9 10:47:27 2015 +0000

----------------------------------------------------------------------
 .../messaging/rabbit/RabbitSshDriver.java       | 27 ++++++++++++++++++++
 .../messaging/rabbit/RabbitEc2LiveTest.java     | 13 +++++++++-
 2 files changed, 39 insertions(+), 1 deletion(-)
----------------------------------------------------------------------