-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/51762/
-----------------------------------------------------------

Review request for Ambari, Jonathan Hurley and Nate Cole.


Bugs: AMBARI-18350
    https://issues.apache.org/jira/browse/AMBARI-18350


Repository: ambari


Description
-------

Repository info for a stack can contain any number of repo definitions.  For 
HDP, there are two repos used (HDP and HDP-UTILS).  When checking repositories 
for duplicate URL, the code does this:
{noformat}
if (! repositoryEntity.getRepositoryId().startsWith("HDP-UTILS") &&  // 
HDP-UTILS is shared between repo versions
! existingRepoVersion.getId().equals(repositoryVersion.getId())) { // Allow 
modifying already defined repo version
existingRepoUrls.add(repositoryEntity.getBaseUrl());
}
{noformat}

We should make the unique declaration directly for the repository so authors 
don't have to guess.  This entails:
* Change {{repoinfo.xml}} to support a {{<unique>}} element within {{<repo>}}
* {{<unique>}} should apply to, say, versions of HDP that change with each 
release.  Absence of said element implies {{false}} for backward compatibility.
* Change {{RepositoryVersionResourceProvider.validateRepositoryVersion(...)}} 
to use this boolean for uniqueness check.
* Update the {{version_definition.xsd}} to include this new element.


Diffs
-----

  ambari-funtest/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml 1ea1809 
  ambari-funtest/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml c0095b5 
  ambari-funtest/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml 04613ad 
  ambari-funtest/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml ec0be8f 
  ambari-funtest/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml ed1aed8 
  ambari-funtest/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml eb026a7 
  ambari-funtest/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml 91f0f02 
  ambari-funtest/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml 
2739c5c 
  ambari-funtest/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml 2739c5c 
  ambari-funtest/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml 8ebea21 
  
ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml 
e3ebea1 
  ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml f8542d0 
  ambari-funtest/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml 9d8a232 
  ambari-funtest/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml 
6c2f99a 
  ambari-funtest/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml 2a939f1 
  ambari-funtest/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml 9d8a232 
  ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml 9d8a232 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
 30bd0db 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryResourceProvider.java
 3203539 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
 e440460 
  
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryEntity.java
 8dc2ec9 
  
ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryInfo.java 
811113a 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/RepositoryXml.java
 4a0ae3b 
  
ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelper.java
 d26b834 
  ambari-server/src/main/resources/stacks/BIGTOP/0.8/repos/repoinfo.xml 6a385c4 
  
ambari-server/src/main/resources/stacks/HDP/2.0.6.GlusterFS/repos/repoinfo.xml 
9b62568 
  ambari-server/src/main/resources/stacks/HDP/2.0.6/repos/repoinfo.xml 9855074 
  ambari-server/src/main/resources/stacks/HDP/2.0/repos/repoinfo.xml a5d8a51 
  ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/repos/repoinfo.xml 
cfee6f5 
  ambari-server/src/main/resources/stacks/HDP/2.1/repos/repoinfo.xml 938f627 
  ambari-server/src/main/resources/stacks/HDP/2.2/repos/repoinfo.xml dbf8506 
  ambari-server/src/main/resources/stacks/HDP/2.3.ECS/repos/repoinfo.xml 
b44cca5 
  ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/repos/repoinfo.xml 
24b05b0 
  ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml ec9fba0 
  ambari-server/src/main/resources/stacks/HDP/2.4/repos/repoinfo.xml 1087d9c 
  ambari-server/src/main/resources/stacks/HDP/2.5/repos/repoinfo.xml 8657d91 
  ambari-server/src/main/resources/stacks/HDPWIN/2.1/repos/repoinfo.xml 7f9e075 
  ambari-server/src/main/resources/stacks/HDPWIN/2.2/repos/repoinfo.xml e429adb 
  ambari-server/src/main/resources/stacks/HDPWIN/2.3/repos/repoinfo.xml 54a0bf0 
  ambari-server/src/main/resources/version_definition.xsd bd49028 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
 8ba141b 
  
ambari-server/src/test/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelperTest.java
 8d82d09 
  ambari-server/src/test/resources/bad-stacks/HDP/0.1/repos/repoinfo.xml 
6948ae7 
  ambari-server/src/test/resources/hbase_version_test.xml ca8018b 
  ambari-server/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml 1ea1809 
  ambari-server/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml c0095b5 
  ambari-server/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml 04613ad 
  ambari-server/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml ec0be8f 
  ambari-server/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml ed1aed8 
  ambari-server/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml eb026a7 
  ambari-server/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml 91f0f02 
  ambari-server/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml 
2739c5c 
  ambari-server/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml 2739c5c 
  ambari-server/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml 8ebea21 
  ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml 
e3ebea1 
  ambari-server/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml f8542d0 
  ambari-server/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml 9d8a232 
  ambari-server/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml 
6c2f99a 
  ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml 207d258 
  
ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-123.xml 
0b027ee 
  
ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-124-suse11.xml
 68d811a 
  ambari-server/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml 9d8a232 
  ambari-server/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml 9d8a232 
  
ambari-server/src/test/resources/stacks_with_common_services/HDP/0.1/repos/repoinfo.xml
 1ea1809 
  
ambari-server/src/test/resources/stacks_with_common_services/HDP/0.2/repos/repoinfo.xml
 c0095b5 
  
ambari-server/src/test/resources/stacks_with_cycle/OTHER/1.0/repos/repoinfo.xml 
9d8a232 
  
ambari-server/src/test/resources/stacks_with_cycle/OTHER/2.0/repos/repoinfo.xml 
9d8a232 
  
ambari-server/src/test/resources/stacks_with_cycle2/stack1/1.0/repos/repoinfo.xml
 9d8a232 
  
ambari-server/src/test/resources/stacks_with_cycle2/stack2/1.0/repos/repoinfo.xml
 9d8a232 
  
ambari-server/src/test/resources/stacks_with_cycle2/stack3/1.0/repos/repoinfo.xml
 9d8a232 
  
ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml
 1ea1809 
  
ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml
 c0095b5 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/repoinfo.xml
 207d258 
  
ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/version-2.2.0.4-123.xml
 0b027ee 
  ambari-server/src/test/resources/version_definition_resource_provider.xml 
55cd1c1 
  ambari-server/src/test/resources/version_definition_test.xml 1520774 
  ambari-server/src/test/resources/version_definition_test_all_services.xml 
7557f7a 

Diff: https://reviews.apache.org/r/51762/diff/


Testing
-------

mvn clean test


Thanks,

Dmitro Lisnichenko

Reply via email to