You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mp...@apache.org on 2017/11/30 20:36:44 UTC
[2/2] ambari git commit: AMBARI-22565. Repository validation fails
for HDP-GPL. (mpapirkovskyy)
AMBARI-22565. Repository validation fails for HDP-GPL. (mpapirkovskyy)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/58868f7f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/58868f7f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/58868f7f
Branch: refs/heads/trunk
Commit: 58868f7f3352b501466c8087c68cfd420bf83abf
Parents: 195195f
Author: Myroslav Papirkovskyi <mp...@hortonworks.com>
Authored: Thu Nov 30 17:51:00 2017 +0200
Committer: Myroslav Papirkovskyi <mp...@hortonworks.com>
Committed: Thu Nov 30 22:35:35 2017 +0200
----------------------------------------------------------------------
.../AmbariManagementControllerImpl.java | 6 ++++--
.../server/controller/RepositoryRequest.java | 22 ++++++++++++++++++--
.../internal/RepositoryResourceProvider.java | 3 ++-
.../AmbariManagementControllerImplTest.java | 7 +------
.../AmbariManagementControllerTest.java | 7 ++++---
5 files changed, 31 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/58868f7f/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 455814a..da206c6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -4522,8 +4522,10 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
URLStreamProvider usp = new URLStreamProvider(REPO_URL_CONNECT_TIMEOUT, REPO_URL_READ_TIMEOUT, null, null, null);
usp.setSetupTruststoreForHttps(false);
- RepositoryInfo repositoryInfo = ambariMetaInfo.getRepository(request.getStackName(), request.getStackVersion(), request.getOsType(), request.getRepoId());
- String repoName = repositoryInfo.getRepoName();
+ String repoName = request.getRepoName();
+ if (StringUtils.isEmpty(repoName)) {
+ throw new IllegalArgumentException("repo_name is required to verify repository");
+ }
String errorMessage = null;
Exception e = null;
http://git-wip-us.apache.org/repos/asf/ambari/blob/58868f7f/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryRequest.java
index 30790ab..1f6ab5b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryRequest.java
@@ -25,10 +25,12 @@ public class RepositoryRequest extends OperatingSystemRequest {
private String mirrorsList;
private boolean verify = true;
private Long clusterVersionId = null;
+ private String repoName = null;
- public RepositoryRequest(String stackName, String stackVersion, String osType, String repoId) {
+ public RepositoryRequest(String stackName, String stackVersion, String osType, String repoId, String repoName) {
super(stackName, stackVersion, osType);
setRepoId(repoId);
+ setRepoName(repoName);
}
public String getRepoId() {
@@ -85,15 +87,31 @@ public class RepositoryRequest extends OperatingSystemRequest {
return clusterVersionId;
}
+ /**
+ * @return name of the repository (without version identifier)
+ */
+ public String getRepoName() {
+ return repoName;
+ }
+
+ /**
+ * @param repoName name of the repository (without version identifier)
+ */
+ public void setRepoName(String repoName) {
+ this.repoName = repoName;
+ }
+
@Override
public String toString() {
return "RepositoryRequest [repoId=" + repoId + ", baseUrl=" + baseUrl
+ ", verify=" + verify + ", getOsType()=" + getOsType()
+ ", getRepositoryVersionId()=" + getRepositoryVersionId()
+ ", getStackVersion()=" + getStackVersion() + ", getStackName()="
- + getStackName() + "]";
+ + getStackName() + ", getRepoName()=" + getRepoName() + "]";
}
+
+
/**
* Gets the mirrors list for the repo.
*
http://git-wip-us.apache.org/repos/asf/ambari/blob/58868f7f/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
index a2c3c49..edec1ee 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
@@ -226,7 +226,8 @@ public class RepositoryResourceProvider extends AbstractControllerResourceProvid
(String) properties.get(REPOSITORY_STACK_NAME_PROPERTY_ID),
(String) properties.get(REPOSITORY_STACK_VERSION_PROPERTY_ID),
(String) properties.get(REPOSITORY_OS_TYPE_PROPERTY_ID),
- (String) properties.get(REPOSITORY_REPO_ID_PROPERTY_ID));
+ (String) properties.get(REPOSITORY_REPO_ID_PROPERTY_ID),
+ (String) properties.get(REPOSITORY_REPO_NAME_PROPERTY_ID));
if (properties.containsKey(REPOSITORY_REPOSITORY_VERSION_ID_PROPERTY_ID)) {
request.setRepositoryVersionId(Long.parseLong(properties.get(REPOSITORY_REPOSITORY_VERSION_ID_PROPERTY_ID).toString()));
http://git-wip-us.apache.org/repos/asf/ambari/blob/58868f7f/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
index b774436..d1f235f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
@@ -2253,11 +2253,6 @@ public class AmbariManagementControllerImplTest {
expect(injector.getInstance(MaintenanceStateHelper.class)).andReturn(null);
expect(injector.getInstance(KerberosHelper.class)).andReturn(createNiceMock(KerberosHelper.class));
- RepositoryInfo dummyRepoInfo = new RepositoryInfo();
- dummyRepoInfo.setRepoName("repo_name");
-
- expect(ambariMetaInfo.getRepository("stackName", "stackVersion", "redhat6", "repoId")).andReturn(dummyRepoInfo);
-
Configuration configuration = createNiceMock(Configuration.class);
String[] suffices = {"/repodata/repomd.xml"};
expect(configuration.getRepoValidationSuffixes("redhat6")).andReturn(suffices);
@@ -2276,7 +2271,7 @@ public class AmbariManagementControllerImplTest {
f.set(controller, configuration);
Set<RepositoryRequest> requests = new HashSet<>();
- RepositoryRequest request = new RepositoryRequest("stackName", "stackVersion", "redhat6", "repoId");
+ RepositoryRequest request = new RepositoryRequest("stackName", "stackVersion", "redhat6", "repoId", "repo_name");
request.setBaseUrl("file:///some/repo");
requests.add(request);
http://git-wip-us.apache.org/repos/asf/ambari/blob/58868f7f/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
index e76ecb9..a1f28f1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
@@ -189,6 +189,7 @@ public class AmbariManagementControllerTest {
private static final String NEW_STACK_VERSION = "2.0.6";
private static final String OS_TYPE = "centos5";
private static final String REPO_ID = "HDP-1.1.1.16";
+ private static final String REPO_NAME = "HDP";
private static final String PROPERTY_NAME = "hbase.regionserver.msginterval";
private static final String SERVICE_NAME = "HDFS";
private static final String FAKE_SERVICE_NAME = "FAKENAGIOS";
@@ -7002,11 +7003,11 @@ public class AmbariManagementControllerTest {
@Test
public void testGetRepositories() throws Exception {
- RepositoryRequest request = new RepositoryRequest(STACK_NAME, STACK_VERSION, OS_TYPE, null);
+ RepositoryRequest request = new RepositoryRequest(STACK_NAME, STACK_VERSION, OS_TYPE, null, REPO_NAME);
Set<RepositoryResponse> responses = controller.getRepositories(Collections.singleton(request));
Assert.assertEquals(REPOS_CNT, responses.size());
- RepositoryRequest requestWithParams = new RepositoryRequest(STACK_NAME, STACK_VERSION, OS_TYPE, REPO_ID);
+ RepositoryRequest requestWithParams = new RepositoryRequest(STACK_NAME, STACK_VERSION, OS_TYPE, REPO_ID, REPO_NAME);
requestWithParams.setClusterVersionId(525L);
Set<RepositoryResponse> responsesWithParams = controller.getRepositories(Collections.singleton(requestWithParams));
Assert.assertEquals(1, responsesWithParams.size());
@@ -7015,7 +7016,7 @@ public class AmbariManagementControllerTest {
Assert.assertEquals(525L, responseWithParams.getClusterVersionId().longValue());
}
- RepositoryRequest invalidRequest = new RepositoryRequest(STACK_NAME, STACK_VERSION, OS_TYPE, NON_EXT_VALUE);
+ RepositoryRequest invalidRequest = new RepositoryRequest(STACK_NAME, STACK_VERSION, OS_TYPE, NON_EXT_VALUE, REPO_NAME);
try {
controller.getRepositories(Collections.singleton(invalidRequest));
} catch (StackAccessException e) {