From fc08beb8f52870d9e0b77a2869815118fb746932 Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Thu, 29 Jul 2021 21:41:24 +0200 Subject: Treat epoch (none) as 0 --- .../com/yahoo/vespa/hosted/node/admin/task/util/yum/YumCommand.java | 2 ++ .../yahoo/vespa/hosted/node/admin/task/util/yum/YumPackageName.java | 6 ++++++ .../com/yahoo/vespa/hosted/node/admin/task/util/yum/YumTest.java | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumCommand.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumCommand.java index 1d105057e02..1530b3c72f0 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumCommand.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumCommand.java @@ -260,6 +260,8 @@ public abstract class YumCommand> { if (lines.size() > builders.size()) throw new IllegalArgumentException("Found multiple installed packages for '" + packageName + "'. Version is required to match package exactly"); IntStream.range(0, builders.size()).forEach(i -> lines.get(i).ifPresent(builders.get(i)::apply)); + if (builder.epoch().isEmpty()) builder.setEpoch("0"); + return Optional.of(builder.build()); } } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumPackageName.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumPackageName.java index 5b32f50ad49..a1b89900ac2 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumPackageName.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumPackageName.java @@ -80,6 +80,12 @@ public class YumPackageName { public Builder setRelease(String release) { this.release = Optional.of(release); return this; } public Builder setArchitecture(String architecture) { this.architecture = Optional.of(architecture); return this; } + public Optional epoch() { return epoch; } + public String name() { return name; } + public Optional version() { return version; } + public Optional release() { return release; } + public Optional architecture() { return architecture; } + public YumPackageName build() { return new YumPackageName(epoch, name, version, release, architecture); } } diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumTest.java index 2c8a2535676..d36c1704515 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/task/util/yum/YumTest.java @@ -58,7 +58,7 @@ public class YumTest { assertTrue(installed.isPresent()); assertEquals("vespa-node-admin", installed.get().getName()); - assertFalse(installed.get().getEpoch().isPresent()); + assertEquals("0", installed.get().getEpoch().get()); assertEquals("6.283.62", installed.get().getVersion().get()); assertEquals("1.el7", installed.get().getRelease().get()); assertEquals("noarch", installed.get().getArchitecture().get()); -- cgit v1.2.3