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