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(-)
----------------------------------------------------------------------