You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2019/01/24 12:48:42 UTC
[brooklyn-server] branch master updated (070d362 -> 27f1160)
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git.
from 070d362 Merge pull request #1028 from duncangrant/add-cxf-commands-dep
new 524106b BROOKLYN-607: prefer vanilla CentOS image on azure
new 1964e02 Image choice: prefer ubuntu most recent LTS
new 4548f99 This closes #1030
new 27f1160 add comments for choosing images
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../location/jclouds/BrooklynImageChooser.java | 32 ++++++++++++--
.../location/jclouds/BrooklynImageChooserTest.java | 51 +++++++++++++++++++++-
2 files changed, 78 insertions(+), 5 deletions(-)
[brooklyn-server] 03/04: This closes #1030
Posted by he...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 4548f9947e1999011b2ae9c92802926e35df00b8
Merge: 070d362 1964e02
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Thu Jan 24 12:45:58 2019 +0000
This closes #1030
.../location/jclouds/BrooklynImageChooser.java | 25 ++++++++++-
.../location/jclouds/BrooklynImageChooserTest.java | 51 +++++++++++++++++++++-
2 files changed, 72 insertions(+), 4 deletions(-)
[brooklyn-server] 04/04: add comments for choosing images
Posted by he...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 27f11605f54e492f015692d4c1f054d7b0174aeb
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Thu Jan 24 12:47:49 2019 +0000
add comments for choosing images
---
.../org/apache/brooklyn/location/jclouds/BrooklynImageChooser.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
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 4433e81..0a21a19 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
@@ -341,7 +341,12 @@ public class BrooklynImageChooser implements Cloneable {
return ComparisonChain.start()
.compare(left, right, primaryOrdering)
// fall back to default strategy otherwise, except preferring *non*-null values
- // TODO use AlphaNum string comparator
+ // TODO suggest to use NaturalOrderComparator (so 10>9) then order by:
+ // 1) `name.replaceAll("([^0-9]+)", " ")`
+ // 2) shortest non-empty name
+ // 3) version (NaturalOrderComparator, prefer last)
+ // 4) name (NaturalOrderComparator, prefer last)
+ // 5) other fields (NaturalOrderComparator, prefer last)
.compare(left.getName(), right.getName(), Ordering.<String> natural().nullsFirst())
.compare(left.getVersion(), right.getVersion(), Ordering.<String> natural().nullsFirst())
.compare(left.getDescription(), right.getDescription(), Ordering.<String> natural().nullsFirst())
[brooklyn-server] 01/04: BROOKLYN-607: prefer vanilla CentOS image
on azure
Posted by he...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 524106bef020dcf25f82c304ba02a9c6f20f6abe
Author: Aled Sage <al...@gmail.com>
AuthorDate: Thu Jan 24 12:28:29 2019 +0000
BROOKLYN-607: prefer vanilla CentOS image on azure
---
.../location/jclouds/BrooklynImageChooser.java | 19 +++++++++
.../location/jclouds/BrooklynImageChooserTest.java | 45 ++++++++++++++++++++++
2 files changed, 64 insertions(+)
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 701528a..53102b8 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
@@ -167,8 +167,27 @@ public class BrooklynImageChooser implements Cloneable {
score += 0.5;
}
}
+
// prefer 64-bit
if (os.is64Bit()) score += 0.5;
+
+ // prefer 'normal' releases of the OS, especially on Azure for 'OpenLogic' images.
+ // See https://issues.apache.org/jira/browse/BROOKLYN-607
+ // e.g. {id=northeurope/OpenLogic/CentOS-HPC/7.4, providerId=OpenLogic, name=CentOS-HPC, location={scope=REGION, id=northeurope, description=North Europe, parent=azurecompute-arm, iso3166Codes=[IE]}, os={family=centos, version=7.4, description=7.4, is64Bit=true}, description=7.4, version=7.4, status=AVAILABLE, loginUser=jclouds}
+ // {id=northeurope/OpenLogic/CentOS-SRIOV/7.3-SRIOV, providerId=OpenLogic, name=CentOS-SRIOV, location={scope=REGION, id=northeurope, description=North Europe, parent=azurecompute-arm, iso3166Codes=[IE]}, os={family=centos, version=7.3-SRIOV, description=7.3-SRIOV, is64Bit=true}, description=7.3-SRIOV, version=7.3-SRIOV, status=AVAILABLE, loginUser=jclouds}
+ // {id=northeurope/OpenLogic/CentOS/7.6, providerId=OpenLogic, name=CentOS, location={scope=REGION, id=northeurope, description=North Europe, parent=azurecompute-arm, iso3166Codes=[IE]}, os={family=centos, version=7.6, description=7.6, is64Bit=true}, description=7.6, version=7.6, status=AVAILABLE, loginUser=jclouds}
+ if (img.getName() != null) {
+ String name = img.getName();
+ if (name.contains("-SRIOV")) {
+ score -= 0.05;
+ } else if (name.contains("-CI")) {
+ score -= 0.05;
+ } else if (name.contains("-HPC")) {
+ score -= 0.05;
+ } else if (name.contains("-LVM")) {
+ score -= 0.05;
+ }
+ }
}
// TODO prefer known providerIds
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
index f207c35..fbb488a 100644
--- 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
@@ -24,6 +24,8 @@ import java.util.Set;
import org.jclouds.compute.domain.ComputeType;
import org.jclouds.compute.domain.Image;
+import org.jclouds.compute.domain.Image.Status;
+import org.jclouds.compute.domain.ImageBuilder;
import org.jclouds.compute.domain.OperatingSystem;
import org.jclouds.compute.domain.OsFamily;
import org.jclouds.domain.Location;
@@ -33,6 +35,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -48,6 +51,48 @@ public class BrooklynImageChooserTest {
}
@Test
+ public void testPrefersAzureVanillaCentos() {
+ // See https://issues.apache.org/jira/browse/BROOKLYN-607
+
+ // {id=northeurope/OpenLogic/CentOS/7.6, providerId=OpenLogic, name=CentOS, location={scope=REGION, id=northeurope, description=North Europe, parent=azurecompute-arm, iso3166Codes=[IE]}, os={family=centos, version=7.6, description=7.6, is64Bit=true}, description=7.6, version=7.6, status=AVAILABLE, loginUser=jclouds}
+ Image img1 = new ImageBuilder()
+ .id("northeurope/OpenLogic/CentOS/7.6")
+ .providerId("OpenLogic")
+ .name("CentOS")
+ .description("7.6")
+ .version("7.6")
+ .status(Status.AVAILABLE)
+ .operatingSystem(OperatingSystem.builder()
+ .family(OsFamily.CENTOS)
+ .version("7.6")
+ .description("7.6")
+ .is64Bit(true)
+ .build())
+ .build();
+
+ // {id=northeurope/OpenLogic/CentOS-SRIOV/7.3-SRIOV, providerId=OpenLogic, name=CentOS-SRIOV, location={scope=REGION, id=northeurope, description=North Europe, parent=azurecompute-arm, iso3166Codes=[IE]}, os={family=centos, version=7.3-SRIOV, description=7.3-SRIOV, is64Bit=true}, description=7.3-SRIOV, version=7.3-SRIOV, status=AVAILABLE, loginUser=jclouds}
+ Image img2 = new ImageBuilder()
+ .id("northeurope/OpenLogic/CentOS-SRIOV/7.3-SRIOV")
+ .providerId("OpenLogic")
+ .name("CentOS-SRIOV")
+ .description("7.3-SRIOV")
+ .version("7.3-SRIOV")
+ .status(Status.AVAILABLE)
+ .operatingSystem(OperatingSystem.builder()
+ .family(OsFamily.CENTOS)
+ .version("7.3-SRIOV")
+ .description("7.3-SRIOV")
+ .is64Bit(true)
+ .build())
+ .build();
+
+ Function<Iterable<? extends Image>, Image> func = brooklynImageChooser.chooser();
+ Image choice = func.apply(ImmutableList.of(img1, img2));
+
+ Assert.assertEquals(choice, img1);
+ }
+
+ @Test
public void testCentosOverUbuntu() {
assertOrderOfPreference(
getScore(OsFamily.CENTOS, "7.0"),
[brooklyn-server] 02/04: Image choice: prefer ubuntu most recent LTS
Posted by he...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 1964e026f95fa2ebc85caa99b912b3c586641f92
Author: Aled Sage <al...@gmail.com>
AuthorDate: Thu Jan 24 12:29:09 2019 +0000
Image choice: prefer ubuntu most recent LTS
---
.../org/apache/brooklyn/location/jclouds/BrooklynImageChooser.java | 6 ++++--
.../apache/brooklyn/location/jclouds/BrooklynImageChooserTest.java | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
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 53102b8..4433e81 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
@@ -142,9 +142,11 @@ public class BrooklynImageChooser implements Cloneable {
score += punishmentForOldOsVersions(img, OsFamily.UBUNTU, 12);
score += 2;
- // prefer these LTS releases slightly above others (including above CentOS)
+ // prefer these LTS releases slightly above others
// (but note in AWS Virginia, at least, version is empty for the 14.04 images for some reason, as of Aug 2014)
- if ("14.04".equals(os.getVersion())) score += 0.2;
+ if ("18.04".equals(os.getVersion())) score += 0.4;
+ else if ("16.04".equals(os.getVersion())) score += 0.3;
+ else if ("14.04".equals(os.getVersion())) score += 0.2;
else if ("12.04".equals(os.getVersion())) score += 0.1;
// NB some 13.10 images take 20m+ before they are sshable on AWS
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
index fbb488a..b30d34e 100644
--- 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
@@ -108,11 +108,13 @@ public class BrooklynImageChooserTest {
}
@Test
- public void testUbuntu14then12then11() {
+ public void testUbuntuLts() {
assertOrderOfPreference(
+ getScore(OsFamily.UBUNTU, "18.04"),
+ getScore(OsFamily.UBUNTU, "16.04"),
getScore(OsFamily.UBUNTU, "14.04"),
getScore(OsFamily.UBUNTU, "12.04"),
- getScore(OsFamily.UBUNTU, "11.04"));
+ getScore(OsFamily.UBUNTU, "18.10"));
}
@Test