You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by dr...@apache.org on 2017/02/07 14:44:52 UTC

[1/2] brooklyn-server git commit: Prefer centos 7

Repository: brooklyn-server
Updated Branches:
  refs/heads/master 3f54a04ad -> 4c63794b6


Prefer centos 7


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

Branch: refs/heads/master
Commit: 3b74ed7a78da82db35c04f1775c5d64fa377d41f
Parents: 0745ab3
Author: Duncan Grant <du...@cloudsoftcorp.com>
Authored: Tue Jan 31 10:52:49 2017 +0000
Committer: Duncan Grant <du...@cloudsoftcorp.com>
Committed: Tue Feb 7 13:17:22 2017 +0000

----------------------------------------------------------------------
 .../location/jclouds/BrooklynImageChooser.java  |  11 +-
 .../jclouds/BrooklynImageChooserTest.java       | 167 +++++++++++++++++++
 .../JcloudsAwsImageChoiceStubbedLiveTest.java   |   2 +-
 3 files changed, 175 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3b74ed7a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooser.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooser.java b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooser.java
index f8d47ea..e00c41a 100644
--- a/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooser.java
+++ b/locations/jclouds/src/main/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooser.java
@@ -73,7 +73,7 @@ public class BrooklynImageChooser implements Cloneable {
         return img.getName().toLowerCase().matches("(.*[^a-z])?"+pattern.toLowerCase()+"([^a-z].*)?");
     }
     
-    public double punishmentForOldOsVersions(Image img, OsFamily family, double minVersion) {
+    protected double punishmentForOldOsVersions(Image img, OsFamily family, double minVersion) {
         OperatingSystem os = img.getOperatingSystem();
         if (os!=null && family.equals(os.getFamily())) {
             String v = os.getVersion();
@@ -128,15 +128,18 @@ public class BrooklynImageChooser implements Cloneable {
 
     
         // prefer these guys, in stock brooklyn provisioning
-        score += punishmentForOldOsVersions(img, OsFamily.UBUNTU, 11);
-        score += punishmentForOldOsVersions(img, OsFamily.CENTOS, 6);
 
         OperatingSystem os = img.getOperatingSystem();
         if (os!=null) {
             if (os.getFamily()!=null) {
                 // preference for these open, popular OS (but only wrt versions above) 
-                if (os.getFamily().equals(OsFamily.CENTOS)) score += 2;
+                if (os.getFamily().equals(OsFamily.CENTOS)) {
+                    score += punishmentForOldOsVersions(img, OsFamily.CENTOS, 7);
+                    score += 3;
+
+                }
                 else if (os.getFamily().equals(OsFamily.UBUNTU)) {
+                    score += punishmentForOldOsVersions(img, OsFamily.UBUNTU, 12);
                     score += 2;
 
                     // prefer these LTS releases slightly above others (including above CentOS)

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3b74ed7a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooserTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooserTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooserTest.java
new file mode 100644
index 0000000..f207c35
--- /dev/null
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/BrooklynImageChooserTest.java
@@ -0,0 +1,167 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.location.jclouds;
+
+import java.net.URI;
+import java.util.Map;
+import java.util.Set;
+
+import org.jclouds.compute.domain.ComputeType;
+import org.jclouds.compute.domain.Image;
+import org.jclouds.compute.domain.OperatingSystem;
+import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.domain.Location;
+import org.jclouds.domain.LoginCredentials;
+import org.jclouds.domain.ResourceMetadata;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Ordering;
+
+public class BrooklynImageChooserTest {
+
+    private BrooklynImageChooser brooklynImageChooser;
+
+    @BeforeMethod(alwaysRun = true)
+    public void setup() {
+        brooklynImageChooser = new BrooklynImageChooser();
+    }
+
+    @Test
+    public void testCentosOverUbuntu() {
+        assertOrderOfPreference(
+                getScore(OsFamily.CENTOS, "7.0"),
+                getScore(OsFamily.UBUNTU, "14.04"));
+    }
+
+    @Test
+    public void testCentos7then6then5() {
+        assertOrderOfPreference(
+                getScore(OsFamily.CENTOS, "7.0"),
+                getScore(OsFamily.CENTOS, "6.6"),
+                getScore(OsFamily.CENTOS, "5.4"));
+    }
+
+    @Test
+    public void testUbuntu14then12then11() {
+        assertOrderOfPreference(
+                getScore(OsFamily.UBUNTU, "14.04"),
+                getScore(OsFamily.UBUNTU, "12.04"),
+                getScore(OsFamily.UBUNTU, "11.04"));
+    }
+
+    @Test
+    public void testCentosUbuntuRHEL() {
+        assertOrderOfPreference(
+                getScore(OsFamily.CENTOS, "7.0"),
+                getScore(OsFamily.UBUNTU, "14.04"),
+                getScore(OsFamily.RHEL, "7.0"));
+    }
+
+    double getScore(OsFamily centos, String version) {
+        return brooklynImageChooser.score(getImg(centos, version));
+    }
+
+    void assertOrderOfPreference(Double... scores) {
+        Assert.assertTrue(Ordering.natural().reverse().isStrictlyOrdered(ImmutableList.copyOf(scores)), "Images not ordered in correct preference " + Joiner.on(",").join(scores));
+    }
+
+    Image getImg(final OsFamily osFamily, final String version) {
+        return new Image() {
+            @Override
+            public OperatingSystem getOperatingSystem() {
+                return new OperatingSystem(osFamily, "", version, "", "", true);
+            }
+
+            @Override
+            public String getVersion() {
+                return version;
+            }
+
+            @Override
+            public String getDescription() {
+                return null;
+            }
+
+            @Override
+            public LoginCredentials getDefaultCredentials() {
+                return null;
+            }
+
+            @Override
+            public Status getStatus() {
+                return null;
+            }
+
+            @Override
+            public String getBackendStatus() {
+                return null;
+            }
+
+            @Override
+            public ComputeType getType() {
+                return null;
+            }
+
+            @Override
+            public String getProviderId() {
+                return null;
+            }
+
+            @Override
+            public String getName() {
+                return null;
+            }
+
+            @Override
+            public String getId() {
+                return null;
+            }
+
+            @Override
+            public Set<String> getTags() {
+                return null;
+            }
+
+            @Override
+            public Location getLocation() {
+                return null;
+            }
+
+            @Override
+            public URI getUri() {
+                return null;
+            }
+
+            @Override
+            public Map<String, String> getUserMetadata() {
+                return ImmutableMap.of();
+            }
+
+            @Override
+            public int compareTo(ResourceMetadata<ComputeType> o) {
+                return 0;
+            }
+        };
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3b74ed7a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAwsImageChoiceStubbedLiveTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAwsImageChoiceStubbedLiveTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAwsImageChoiceStubbedLiveTest.java
index 8d75598..8ab4665 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAwsImageChoiceStubbedLiveTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/location/jclouds/JcloudsAwsImageChoiceStubbedLiveTest.java
@@ -79,7 +79,7 @@ public class JcloudsAwsImageChoiceStubbedLiveTest extends AbstractJcloudsStubbed
         Image image = template.getImage();
 
         LOG.info("default="+image);
-        assertUbuntu(image, "14.04");
+        assertCentos(image, "7.0");
     }
     
     // See testUbuntu14Image


[2/2] brooklyn-server git commit: This closes #544

Posted by dr...@apache.org.
This closes #544


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

Branch: refs/heads/master
Commit: 4c63794b64f0626ba3a5151f8c3df3e524f2cdfd
Parents: 3f54a04 3b74ed7
Author: Duncan Godwin <dr...@googlemail.com>
Authored: Tue Feb 7 14:44:06 2017 +0000
Committer: Duncan Godwin <dr...@googlemail.com>
Committed: Tue Feb 7 14:44:06 2017 +0000

----------------------------------------------------------------------
 .../location/jclouds/BrooklynImageChooser.java  |  11 +-
 .../jclouds/BrooklynImageChooserTest.java       | 167 +++++++++++++++++++
 .../JcloudsAwsImageChoiceStubbedLiveTest.java   |   2 +-
 3 files changed, 175 insertions(+), 5 deletions(-)
----------------------------------------------------------------------