You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2016/09/14 09:55:54 UTC

[1/3] ambari git commit: Revert "AMBARI-18324: Externalize skip repo url check to ambari.properties instead of hardcoding it in Ambari Java code (dili)"

Repository: ambari
Updated Branches:
  refs/heads/trunk 580a35139 -> 02256c3ff


Revert "AMBARI-18324: Externalize skip repo url check to ambari.properties instead of hardcoding it in Ambari Java code (dili)"

This reverts commit 623c36d2e0832d9a0bc60bc9ff19b302d5e3cefa.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/962e06ac
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/962e06ac
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/962e06ac

Branch: refs/heads/trunk
Commit: 962e06aca097ec02ee52f2284fb804c0c60425ad
Parents: 580a351
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Wed Sep 14 12:53:59 2016 +0300
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Wed Sep 14 12:53:59 2016 +0300

----------------------------------------------------------------------
 .../server/configuration/Configuration.java     | 25 +-------------------
 .../RepositoryVersionResourceProvider.java      | 15 +-----------
 .../server/configuration/ConfigurationTest.java | 20 ----------------
 3 files changed, 2 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/962e06ac/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index ee73b8d..0690ca8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -2300,14 +2300,6 @@ public class Configuration {
   public static final ConfigurationProperty<Integer> TASK_ID_LIST_LIMIT = new ConfigurationProperty<>(
       "task.query.parameterlist.size", 999);
 
-  /**
-   * A comma separated list of repo ids to skip the repo url check when registering a repo for the stack
-   * @return
-   */
-  @Markdown(description = "The list of repo ids to skip the repo url check when registering a repo for the stack.")
-  public static final ConfigurationProperty<String> SKIP_REPO_URL_EXISTENCE_VALIDATION_LIST = new ConfigurationProperty<>(
-      "no.repo.existence.validation.list", "HDP-UTILS");
-
   private static final Logger LOG = LoggerFactory.getLogger(
     Configuration.class);
 
@@ -4833,22 +4825,6 @@ public class Configuration {
   }
 
   /**
-   * Default to HDP-UTILS
-   * */
-  public List<String> getSkipRepoUrlExistenceValidationList(){
-    List<String> list = new ArrayList<String>();
-    String propValue = getProperty(SKIP_REPO_URL_EXISTENCE_VALIDATION_LIST);
-    for (String repo: propValue.split(",")) {
-      repo = repo.trim();
-      if (!repo.isEmpty()) {
-        list.add(repo);
-      }
-    }
-    LOG.debug("Skip Repo URL Existence Validation on :" + list);
-    return list;
-  }
-
-  /**
    * Generates a markdown table which includes:
    * <ul>
    * <li>Property key name</li>
@@ -5211,4 +5187,5 @@ public class Configuration {
     ClusterSizeType clusterSize();
     String value();
   }
+
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/962e06ac/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
index cd440f3..e440460 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
@@ -32,7 +32,6 @@ import org.apache.ambari.server.ObjectNotFoundException;
 import org.apache.ambari.server.api.resources.OperatingSystemResourceDefinition;
 import org.apache.ambari.server.api.resources.RepositoryResourceDefinition;
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
-import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.controller.spi.NoSuchParentResourceException;
 import org.apache.ambari.server.controller.spi.NoSuchResourceException;
 import org.apache.ambari.server.controller.spi.Predicate;
@@ -458,14 +457,11 @@ public class RepositoryVersionResourceProvider extends AbstractAuthorizedResourc
 
     // List of all repo urls that are already added at stack
     Set<String> existingRepoUrls = new HashSet<String>();
-    Configuration configuration = new Configuration();
-    List<String> skipRepos = configuration.getSkipRepoUrlExistenceValidationList();
     List<RepositoryVersionEntity> existingRepoVersions = dao.findByStack(requiredStack);
     for (RepositoryVersionEntity existingRepoVersion : existingRepoVersions) {
       for (OperatingSystemEntity operatingSystemEntity : existingRepoVersion.getOperatingSystems()) {
         for (RepositoryEntity repositoryEntity : operatingSystemEntity.getRepositories()) {
-          boolean toSkipRepo = isToSkip(repositoryEntity.getRepositoryId(), skipRepos);
-          if (! toSkipRepo && // HDP-UTILS is shared between repo versions
+          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());
           }
@@ -552,13 +548,4 @@ public class RepositoryVersionResourceProvider extends AbstractAuthorizedResourc
     // This information is not associated with any particular resource
     return null;
   }
-
-  private static boolean isToSkip(String repoId, List<String> skipRepos){
-    for(String repo: skipRepos){
-      if (repoId.startsWith(repo)){
-        return true;
-      }
-    }
-    return false;
-  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/962e06ac/ambari-server/src/test/java/org/apache/ambari/server/configuration/ConfigurationTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/configuration/ConfigurationTest.java b/ambari-server/src/test/java/org/apache/ambari/server/configuration/ConfigurationTest.java
index f429a36..f9b76f8 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/configuration/ConfigurationTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/configuration/ConfigurationTest.java
@@ -30,7 +30,6 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
-import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
@@ -921,23 +920,4 @@ public class ConfigurationTest {
           StringUtils.isEmpty(markdown.description()));
     }
   }
-
-  /**
-   * Tests the default values for the {@link MetricsRetrievalService}.
-   *
-   * @throws Exception
-   */
-  @Test
-  public void testGetSkipRepoUrlExistenceValidationListDefaults() throws Exception {
-
-    final Properties ambariProperties = new Properties();
-    final Configuration configuration = new Configuration(ambariProperties);
-
-    List<String> skipRepos = configuration.getSkipRepoUrlExistenceValidationList();
-
-    // test defaults
-    Assert.assertEquals(skipRepos.size(), 1);
-    String hdpUtils = skipRepos.get(0);
-    Assert.assertTrue("HDP-UTILS".equals(hdpUtils));
-  }
 }


[3/3] ambari git commit: AMBARI-18350. Declare URL uniqueness in repoinfo.xml (dlysnichenko)

Posted by dm...@apache.org.
AMBARI-18350. Declare URL uniqueness in repoinfo.xml (dlysnichenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/02256c3f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/02256c3f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/02256c3f

Branch: refs/heads/trunk
Commit: 02256c3ff80a40440f06247732fbad70afe8e2eb
Parents: 962e06a
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Wed Sep 14 12:54:10 2016 +0300
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Wed Sep 14 12:54:10 2016 +0300

----------------------------------------------------------------------
 .../resources/stacks/HDP/0.1/repos/repoinfo.xml |  6 ++++++
 .../resources/stacks/HDP/0.2/repos/repoinfo.xml |  6 ++++++
 .../stacks/HDP/1.2.0/repos/repoinfo.xml         | 16 ++++++++++++++
 .../stacks/HDP/1.3.0/repos/repoinfo.xml         | 14 +++++++++++++
 .../stacks/HDP/1.3.1/repos/repoinfo.xml         | 12 +++++++++++
 .../stacks/HDP/2.0.1/repos/repoinfo.xml         |  8 +++++++
 .../stacks/HDP/2.0.5/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.0.6.1/repos/repoinfo.xml       |  6 ++++++
 .../stacks/HDP/2.0.6/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.0.7/repos/repoinfo.xml         |  6 ++++++
 .../HDP/2.0.7/services/HBASE/metainfo.xml       |  1 +
 .../stacks/HDP/2.0.8/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.1.1/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.2.0.ECS/repos/repoinfo.xml     |  6 ++++++
 .../stacks/HDP/2.2.0/repos/repoinfo.xml         |  6 ++++++
 .../stacks/OTHER/1.0/repos/repoinfo.xml         |  6 ++++++
 .../stacks/OTHER/2.0/repos/repoinfo.xml         |  6 ++++++
 .../server/controller/RepositoryResponse.java   |  8 +++++++
 .../internal/RepositoryResourceProvider.java    |  3 +++
 .../RepositoryVersionResourceProvider.java      |  3 +--
 .../server/orm/entities/RepositoryEntity.java   |  9 ++++++++
 .../ambari/server/state/RepositoryInfo.java     | 17 +++++++++++++++
 .../server/state/stack/RepositoryXml.java       | 14 +++++++++++++
 .../stack/upgrade/RepositoryVersionHelper.java  |  4 ++++
 .../stacks/BIGTOP/0.8/repos/repoinfo.xml        |  2 ++
 .../HDP/2.0.6.GlusterFS/repos/repoinfo.xml      | 10 +++++++++
 .../stacks/HDP/2.0.6/repos/repoinfo.xml         |  4 ++++
 .../resources/stacks/HDP/2.0/repos/repoinfo.xml |  4 ++++
 .../stacks/HDP/2.1.GlusterFS/repos/repoinfo.xml |  6 ++++++
 .../resources/stacks/HDP/2.1/repos/repoinfo.xml |  6 ++++++
 .../resources/stacks/HDP/2.2/repos/repoinfo.xml |  6 ++++++
 .../stacks/HDP/2.3.ECS/repos/repoinfo.xml       | 18 ++++++++++++++++
 .../stacks/HDP/2.3.GlusterFS/repos/repoinfo.xml | 10 +++++++++
 .../resources/stacks/HDP/2.3/repos/repoinfo.xml | 12 +++++++++++
 .../resources/stacks/HDP/2.4/repos/repoinfo.xml | 12 +++++++++++
 .../resources/stacks/HDP/2.5/repos/repoinfo.xml | 16 ++++++++++++++
 .../stacks/HDPWIN/2.1/repos/repoinfo.xml        |  1 +
 .../stacks/HDPWIN/2.2/repos/repoinfo.xml        |  1 +
 .../stacks/HDPWIN/2.3/repos/repoinfo.xml        |  1 +
 .../src/main/resources/version_definition.xsd   |  1 +
 .../RepositoryVersionResourceProviderTest.java  | 22 ++++++++++----------
 .../upgrade/RepositoryVersionHelperTest.java    |  3 ++-
 .../bad-stacks/HDP/0.1/repos/repoinfo.xml       |  1 +
 .../src/test/resources/hbase_version_test.xml   |  2 ++
 .../resources/stacks/HDP/0.1/repos/repoinfo.xml |  6 ++++++
 .../resources/stacks/HDP/0.2/repos/repoinfo.xml |  6 ++++++
 .../stacks/HDP/1.2.0/repos/repoinfo.xml         | 16 ++++++++++++++
 .../stacks/HDP/1.3.0/repos/repoinfo.xml         | 14 +++++++++++++
 .../stacks/HDP/1.3.1/repos/repoinfo.xml         | 12 +++++++++++
 .../stacks/HDP/2.0.1/repos/repoinfo.xml         |  8 +++++++
 .../stacks/HDP/2.0.5/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.0.6.1/repos/repoinfo.xml       |  6 ++++++
 .../stacks/HDP/2.0.6/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.0.7/repos/repoinfo.xml         |  6 ++++++
 .../HDP/2.0.7/services/HBASE/metainfo.xml       |  1 +
 .../stacks/HDP/2.0.8/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.1.1/repos/repoinfo.xml         |  6 ++++++
 .../stacks/HDP/2.2.0.ECS/repos/repoinfo.xml     |  6 ++++++
 .../stacks/HDP/2.2.0/repos/repoinfo.xml         |  2 ++
 .../HDP/2.2.0/repos/version-2.2.0.4-123.xml     |  2 ++
 .../2.2.0/repos/version-2.2.0.4-124-suse11.xml  |  2 ++
 .../stacks/OTHER/1.0/repos/repoinfo.xml         |  6 ++++++
 .../stacks/OTHER/2.0/repos/repoinfo.xml         |  6 ++++++
 .../HDP/0.1/repos/repoinfo.xml                  |  6 ++++++
 .../HDP/0.2/repos/repoinfo.xml                  |  6 ++++++
 .../OTHER/1.0/repos/repoinfo.xml                |  6 ++++++
 .../OTHER/2.0/repos/repoinfo.xml                |  6 ++++++
 .../stack1/1.0/repos/repoinfo.xml               |  6 ++++++
 .../stack2/1.0/repos/repoinfo.xml               |  6 ++++++
 .../stack3/1.0/repos/repoinfo.xml               |  6 ++++++
 .../HDP/0.1/repos/repoinfo.xml                  |  6 ++++++
 .../HDP/0.2/repos/repoinfo.xml                  |  6 ++++++
 .../HDP/2.2.0/repos/repoinfo.xml                |  2 ++
 .../HDP/2.2.0/repos/version-2.2.0.4-123.xml     |  2 ++
 .../version_definition_resource_provider.xml    |  3 +++
 .../test/resources/version_definition_test.xml  |  4 ++++
 .../version_definition_test_all_services.xml    |  4 ++++
 77 files changed, 497 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
index 1ea1809..b38d463 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
index c0095b5..9b3b1c7 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
index 04613ad..a9e1b3c 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos6</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos5</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -47,11 +51,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos6</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -60,11 +66,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos5</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -73,11 +81,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos6</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -86,11 +96,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos5</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -99,11 +111,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/suse11</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>
@@ -112,11 +126,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/suse11</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
index ec0be8f..71d2157 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos6</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -34,11 +36,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos5</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -47,11 +51,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos6</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -60,11 +66,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos5</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -73,11 +81,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos6</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -86,11 +96,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos5</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -99,6 +111,7 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/suse11</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
     <os family="sles11">
@@ -106,6 +119,7 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/suse11</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
index ed1aed8..a1f2a17 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -47,11 +51,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -60,11 +66,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -73,11 +81,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>
@@ -86,11 +96,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
index eb026a7..f123a6c 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos6</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos5</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos6</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos5</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 <!--
@@ -50,11 +54,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.1/repos/suse11</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>
@@ -63,11 +69,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.1/repos/suse11</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
index 91f0f02..25b2880 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos6</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos5</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos6</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos5</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/suse11</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/suse11</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
index 2739c5c..924e0e7 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
index 2739c5c..924e0e7 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
index 8ebea21..41417d4 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
index e3ebea1..acd3556 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
@@ -92,6 +92,7 @@
             <baseurl>http://something.com/centos6/2.x/updates/1</baseurl>
             <repoid>Custom-repo-1</repoid>
             <reponame>Custom-repo</reponame>
+            <unique>true</unique>
           </repo>
           <packages>
             <package>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
index f8542d0..1669253 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
index 6c2f99a..1e4f244 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="any">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo.emc.com/ECS/2.2/updates/2.2.0.0</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
index 2a939f1..64d4899 100644
--- a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
index 30bd0db..0735e27 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/RepositoryResponse.java
@@ -32,6 +32,7 @@ public class RepositoryResponse {
   private Long repositoryVersionId;
   private String versionDefinitionId;
   private Long clusterVersionId;
+  private boolean unique;
 
   public RepositoryResponse(String baseUrl, String osType, String repoId,
       String repoName, String mirrorsList, String defaultBaseUrl, String latestBaseUrl) {
@@ -158,4 +159,11 @@ public class RepositoryResponse {
     return clusterVersionId;
   }
 
+  public boolean isUnique() {
+    return unique;
+  }
+
+  public void setUnique(boolean unique) {
+    this.unique = unique;
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/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 3203539..5f3607a 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
@@ -59,6 +59,7 @@ public class RepositoryResourceProvider extends AbstractControllerResourceProvid
   public static final String REPOSITORY_LATEST_BASE_URL_PROPERTY_ID       = PropertyHelper.getPropertyId("Repositories", "latest_base_url");
   public static final String REPOSITORY_REPOSITORY_VERSION_ID_PROPERTY_ID = PropertyHelper.getPropertyId("Repositories", "repository_version_id");
   public static final String REPOSITORY_VERSION_DEFINITION_ID_PROPERTY_ID = PropertyHelper.getPropertyId("Repositories", "version_definition_id");
+  public static final String REPOSITORY_UNIQUE_PROPERTY_ID                = PropertyHelper.getPropertyId("Repositories", "unique");
 
   @SuppressWarnings("serial")
   private static Set<String> pkPropertyIds = new HashSet<String>() {
@@ -86,6 +87,7 @@ public class RepositoryResourceProvider extends AbstractControllerResourceProvid
       add(REPOSITORY_REPOSITORY_VERSION_ID_PROPERTY_ID);
       add(REPOSITORY_VERSION_DEFINITION_ID_PROPERTY_ID);
       add(REPOSITORY_CLUSTER_STACK_VERSION_PROPERTY_ID);
+      add(REPOSITORY_UNIQUE_PROPERTY_ID);
     }
   };
 
@@ -168,6 +170,7 @@ public class RepositoryResourceProvider extends AbstractControllerResourceProvid
         setResourceProperty(resource, REPOSITORY_MIRRORS_LIST_PROPERTY_ID, response.getMirrorsList(), requestedIds);
         setResourceProperty(resource, REPOSITORY_DEFAULT_BASE_URL_PROPERTY_ID, response.getDefaultBaseUrl(), requestedIds);
         setResourceProperty(resource, REPOSITORY_LATEST_BASE_URL_PROPERTY_ID, response.getLatestBaseUrl(), requestedIds);
+        setResourceProperty(resource, REPOSITORY_UNIQUE_PROPERTY_ID, response.isUnique(), requestedIds);
         if (null != response.getClusterVersionId()) {
           setResourceProperty(resource, REPOSITORY_CLUSTER_STACK_VERSION_PROPERTY_ID, response.getClusterVersionId(), requestedIds);
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
index e440460..83edd73 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java
@@ -461,8 +461,7 @@ public class RepositoryVersionResourceProvider extends AbstractAuthorizedResourc
     for (RepositoryVersionEntity existingRepoVersion : existingRepoVersions) {
       for (OperatingSystemEntity operatingSystemEntity : existingRepoVersion.getOperatingSystems()) {
         for (RepositoryEntity repositoryEntity : operatingSystemEntity.getRepositories()) {
-          if (! repositoryEntity.getRepositoryId().startsWith("HDP-UTILS") &&  // HDP-UTILS is shared between repo versions
-                  ! existingRepoVersion.getId().equals(repositoryVersion.getId())) { // Allow modifying already defined repo version
+          if (repositoryEntity.isUnique() && !existingRepoVersion.getId().equals(repositoryVersion.getId())) { // Allow modifying already defined repo version
             existingRepoUrls.add(repositoryEntity.getBaseUrl());
           }
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryEntity.java
index 8dc2ec9..c91feab 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryEntity.java
@@ -26,6 +26,7 @@ public class RepositoryEntity {
   private String baseUrl;
   private String repositoryId;
   private String mirrorsList;
+  private boolean unique;
 
   public String getName() {
     return name;
@@ -80,4 +81,12 @@ public class RepositoryEntity {
   public void setMirrorsList(String mirrorsList) {
     this.mirrorsList = mirrorsList;
   }
+
+  public boolean isUnique() {
+    return unique;
+  }
+
+  public void setUnique(boolean unique) {
+    this.unique = unique;
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryInfo.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryInfo.java
index 811113a..6e9867c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryInfo.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryInfo.java
@@ -29,6 +29,7 @@ public class RepositoryInfo {
   private String defaultBaseUrl;
   private String latestBaseUrl;
   private boolean repoSaved = false;
+  private boolean unique = false;
 
   /**
    * @return the baseUrl
@@ -150,6 +151,7 @@ public class RepositoryInfo {
         + ", baseUrl=" + baseUrl
         + ", repoName=" + repoName
         + ", mirrorsList=" + mirrorsList
+        + ", unique=" + unique
         + " ]";
   }
 
@@ -159,4 +161,19 @@ public class RepositoryInfo {
     return new RepositoryResponse(getBaseUrl(), getOsType(), getRepoId(),
         getRepoName(), getMirrorsList(), getDefaultBaseUrl(), getLatestBaseUrl());
   }
+
+
+  /**
+   * @return true if version of HDP that change with each release
+   */
+  public boolean isUnique() {
+    return unique;
+  }
+
+  /**
+   * @param unique set is version of HDP that change with each release
+   */
+  public void setUnique(boolean unique) {
+    this.unique = unique;
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/java/org/apache/ambari/server/state/stack/RepositoryXml.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/RepositoryXml.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/RepositoryXml.java
index 4a0ae3b..17ded10 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/RepositoryXml.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/RepositoryXml.java
@@ -147,6 +147,7 @@ public class RepositoryXml implements Validable{
     private String repoid = null;
     private String reponame = null;
     private String latest = null;
+    private boolean unique = false;
 
     private Repo() {
     }
@@ -183,7 +184,19 @@ public class RepositoryXml implements Validable{
       return latest;
     }
 
+    /**
+     * @return true if version of HDP that change with each release
+     */
+    public boolean isUnique() {
+      return unique;
+    }
 
+    /**
+     * @param unique set is version of HDP that change with each release
+     */
+    public void setUnique(boolean unique) {
+      this.unique = unique;
+    }
   }
 
   /**
@@ -205,6 +218,7 @@ public class RepositoryXml implements Validable{
           ri.setRepoId(r.getRepoId());
           ri.setRepoName(r.getRepoName());
           ri.setLatestBaseUrl(r.getBaseUrl());
+          ri.setUnique(r.isUnique());
 
           repos.add(ri);
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelper.java
index d26b834..b6b2cf8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelper.java
@@ -108,6 +108,9 @@ public class RepositoryVersionHelper {
         if (repositoryJson.getAsJsonObject().get(RepositoryResourceProvider.REPOSITORY_MIRRORS_LIST_PROPERTY_ID) != null) {
           repositoryEntity.setMirrorsList(repositoryJson.getAsJsonObject().get(RepositoryResourceProvider.REPOSITORY_MIRRORS_LIST_PROPERTY_ID).getAsString());
         }
+        if (repositoryJson.getAsJsonObject().get(RepositoryResourceProvider.REPOSITORY_UNIQUE_PROPERTY_ID) != null) {
+          repositoryEntity.setUnique(repositoryJson.getAsJsonObject().get(RepositoryResourceProvider.REPOSITORY_UNIQUE_PROPERTY_ID).getAsBoolean());
+        }
         operatingSystemEntity.getRepositories().add(repositoryEntity);
       }
       operatingSystems.add(operatingSystemEntity);
@@ -156,6 +159,7 @@ public class RepositoryVersionHelper {
         repositoryJson.addProperty(RepositoryResourceProvider.REPOSITORY_REPO_NAME_PROPERTY_ID, repository.getRepoName());
         repositoryJson.addProperty(RepositoryResourceProvider.REPOSITORY_REPO_ID_PROPERTY_ID, repository.getRepoId());
         repositoryJson.addProperty(RepositoryResourceProvider.REPOSITORY_MIRRORS_LIST_PROPERTY_ID, repository.getMirrorsList());
+        repositoryJson.addProperty(RepositoryResourceProvider.REPOSITORY_UNIQUE_PROPERTY_ID, repository.isUnique());
         repositoriesJson.add(repositoryJson);
       }
       operatingSystemJson.add(RepositoryVersionResourceProvider.SUBRESOURCE_REPOSITORIES_PROPERTY_ID, repositoriesJson);

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/BIGTOP/0.8/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/BIGTOP/0.8/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/BIGTOP/0.8/repos/repoinfo.xml
index 6a385c4..992ce3f 100644
--- a/ambari-server/src/main/resources/stacks/BIGTOP/0.8/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/BIGTOP/0.8/repos/repoinfo.xml
@@ -24,12 +24,14 @@
       <baseurl>http://bigtop.s3.amazonaws.com/releases/0.8.0/redhat/6/x86_64</baseurl>
       <repoid>BIGTOP-0.8</repoid>
       <reponame>BIGTOP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
   	  <!-- TODO build and host our own utils -->
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.19/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.19</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.0.6.GlusterFS/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6.GlusterFS/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6.GlusterFS/repos/repoinfo.xml
index 9b62568..458ba4e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6.GlusterFS/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6.GlusterFS/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6.GlusterFS</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>    
   </os>
   <os family="centos5">
@@ -33,11 +35,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6.GlusterFS</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>    
   </os>
   <os family="redhat6">
@@ -45,11 +49,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6.GlusterFS</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>     
   </os>
   <os family="redhat5">
@@ -57,11 +63,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6.GlusterFS</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>     
   </os>
   <os family="suse11">
@@ -69,10 +77,12 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6.GlusterFS</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/suse11</baseurl>
         <repoid>HDP-UTILS-1.1.0.17</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>      
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
index 9855074..614c751 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.1</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -33,10 +35,12 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.1</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/suse11</baseurl>
         <repoid>HDP-UTILS-1.1.0.17</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.0/repos/repoinfo.xml
index a5d8a51..bdd72de 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0/repos/repoinfo.xml
@@ -22,11 +22,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.10.0</baseurl>
       <repoid>HDP-2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.10.0</baseurl>
       <repoid>HDP-2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/repos/repoinfo.xml
index cfee6f5..86a5427 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/repos/repoinfo.xml
@@ -23,11 +23,13 @@
       <baseurl>REPLACE_WITH_CENTOS6_URL</baseurl>
       <repoid>HDP-2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -35,11 +37,13 @@
       <baseurl>REPLACE_WITH_CENTOS5_URL</baseurl>      
       <repoid>HDP-2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -47,11 +51,13 @@
       <baseurl>REPLACE_WITH_SUSE11_URL</baseurl>      
       <repoid>HDP-2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.17/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.17</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/repos/repoinfo.xml
index 938f627..cb142d5 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/repos/repoinfo.xml
@@ -22,11 +22,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.1.15.0</baseurl>
       <repoid>HDP-2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.19/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.19</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11sp3/2.x/updates/2.1.15.0</baseurl>
       <repoid>HDP-2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.19/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.19</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu12">
@@ -46,11 +50,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu12/2.x/updates/2.1.15.0</baseurl>
       <repoid>HDP-2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.19/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.19</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.2/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.2/repos/repoinfo.xml
index dbf8506..d312e63 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/repos/repoinfo.xml
@@ -22,11 +22,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.6.0</baseurl>
       <repoid>HDP-2.2</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11sp3/2.x/updates/2.2.6.0</baseurl>
       <repoid>HDP-2.2</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu12">
@@ -46,11 +50,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu12/2.x/updates/2.2.6.0</baseurl>
       <repoid>HDP-2.2</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.3.ECS/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3.ECS/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.3.ECS/repos/repoinfo.xml
index b44cca5..329539e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3.ECS/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3.ECS/repos/repoinfo.xml
@@ -22,16 +22,19 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
     <repo>
       <baseurl>http://ECS_CLIENT_REPO/</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat7">
@@ -39,16 +42,19 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
     <repo>
       <baseurl>http://ECS_CLIENT_REPO/</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -56,16 +62,19 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11sp3/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
     <repo>
       <baseurl>http://ECS_CLIENT_REPO/</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="ubuntu12">
@@ -73,16 +82,19 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu12/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
     <repo>
       <baseurl>http://ECS_CLIENT_REPO/</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="debian7">
@@ -90,16 +102,19 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/debian7/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
     <repo>
       <baseurl>http://ECS_CLIENT_REPO/</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="ubuntu14">
@@ -107,16 +122,19 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
     <repo>
       <baseurl>http://ECS_CLIENT_REPO/</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/repos/repoinfo.xml
index 24b05b0..ad79215 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3.GlusterFS/repos/repoinfo.xml
@@ -23,11 +23,13 @@
       <baseurl>REPLACE_WITH_CENTOS6_URL</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -35,11 +37,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos5/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -47,11 +51,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP/suse11sp3/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu12">
@@ -59,11 +65,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP/ubuntu12/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu7">
@@ -71,11 +79,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP/debian6/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
index ec9fba0..69d1356 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/repos/repoinfo.xml
@@ -22,11 +22,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="redhat7">
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -46,11 +50,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11sp3/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu12">
@@ -58,11 +64,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu12/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="debian7">
@@ -70,11 +78,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/debian7/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu14">
@@ -82,11 +92,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.3.0.0</baseurl>
       <repoid>HDP-2.3</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.4/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.4/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.4/repos/repoinfo.xml
index 1087d9c..8210514 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.4/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.4/repos/repoinfo.xml
@@ -22,11 +22,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.4.0.0</baseurl>
       <repoid>HDP-2.4</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="redhat7">
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.0.0</baseurl>
       <repoid>HDP-2.4</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -46,11 +50,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11sp3/2.x/updates/2.4.0.0</baseurl>
       <repoid>HDP-2.4</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu12">
@@ -58,11 +64,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu12/2.x/updates/2.4.0.0</baseurl>
       <repoid>HDP-2.4</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="debian7">
@@ -70,11 +78,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/debian7/2.x/updates/2.4.0.0</baseurl>
       <repoid>HDP-2.4</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/debian6</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu14">
@@ -82,11 +92,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.4.0.0</baseurl>
       <repoid>HDP-2.4</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.20</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDP/2.5/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.5/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDP/2.5/repos/repoinfo.xml
index 8657d91..dfa7742 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.5/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.5/repos/repoinfo.xml
@@ -22,11 +22,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="redhat7">
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -46,11 +50,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11sp3/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="suse12">
@@ -58,11 +64,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/sles12/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/suse11sp3</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu12">
@@ -70,11 +78,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu12/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="debian7">
@@ -82,11 +92,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/debian7/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/debian6</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu14">
@@ -94,11 +106,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
   <os family="ubuntu16">
@@ -106,11 +120,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/ubuntu14/2.x/updates/2.5.0.0</baseurl>
       <repoid>HDP-2.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/ubuntu12</baseurl>
       <repoid>HDP-UTILS-1.1.0.21</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDPWIN/2.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/repos/repoinfo.xml
index 7f9e075..c1f610a 100644
--- a/ambari-server/src/main/resources/stacks/HDPWIN/2.1/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDPWIN/2.1/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://dummy_repo</baseurl>
       <repoid>HDPWIN-2.1</repoid>
       <reponame>HDPWIN</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>


[2/3] ambari git commit: AMBARI-18350. Declare URL uniqueness in repoinfo.xml (dlysnichenko)

Posted by dm...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDPWIN/2.2/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDPWIN/2.2/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDPWIN/2.2/repos/repoinfo.xml
index e429adb..d996dfc 100644
--- a/ambari-server/src/main/resources/stacks/HDPWIN/2.2/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDPWIN/2.2/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://dummy_repo</baseurl>
       <repoid>HDPWIN-2.2</repoid>
       <reponame>HDPWIN</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/stacks/HDPWIN/2.3/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDPWIN/2.3/repos/repoinfo.xml b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/repos/repoinfo.xml
index 54a0bf0..5aeb7cf 100644
--- a/ambari-server/src/main/resources/stacks/HDPWIN/2.3/repos/repoinfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDPWIN/2.3/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://dummy_repo</baseurl>
       <repoid>HDPWIN-2.3</repoid>
       <reponame>HDPWIN</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/main/resources/version_definition.xsd
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/version_definition.xsd b/ambari-server/src/main/resources/version_definition.xsd
index bd49028..35deb6e 100644
--- a/ambari-server/src/main/resources/version_definition.xsd
+++ b/ambari-server/src/main/resources/version_definition.xsd
@@ -122,6 +122,7 @@
                   <xs:element name="baseurl" type="xs:string" />
                   <xs:element name="repoid" type="xs:string" />
                   <xs:element name="reponame" type="xs:string" />
+                  <xs:element name="unique" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
                 </xs:sequence>
               </xs:complexType>
             </xs:element>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
index 8ba141b..a43a1dc 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
@@ -258,7 +258,7 @@ public class RepositoryVersionResourceProviderTest {
     final Set<Map<String, Object>> propertySet = new LinkedHashSet<Map<String, Object>>();
     final Map<String, Object> properties = new LinkedHashMap<String, Object>();
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, "name");
-    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"1\"}]}]", Object.class));
+    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"1\",\"Repositories/unique\":\"true\"}]}]", Object.class));
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_NAME_PROPERTY_ID, "HDP");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID, "1.1");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID, "1.1.1.1");
@@ -325,7 +325,7 @@ public class RepositoryVersionResourceProviderTest {
     entity.setDisplayName("name");
     entity.setStack(stackEntity);
     entity.setVersion("1.1");
-    entity.setOperatingSystems("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]");
+    entity.setOperatingSystems("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]");
 
     final RepositoryVersionDAO repositoryVersionDAO = injector.getInstance(RepositoryVersionDAO.class);
     AmbariMetaInfo info = injector.getInstance(AmbariMetaInfo.class);
@@ -369,7 +369,7 @@ public class RepositoryVersionResourceProviderTest {
     entity.setDisplayName("name");
     entity.setStack(stackEntity);
     entity.setVersion("1.1");
-    entity.setOperatingSystems("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]");
+    entity.setOperatingSystems("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]");
     repositoryVersionDAO.create(entity);
 
     final RepositoryVersionEntity entity2 = new RepositoryVersionEntity();
@@ -377,7 +377,7 @@ public class RepositoryVersionResourceProviderTest {
     entity2.setDisplayName("name2");
     entity2.setStack(stackEntity);
     entity2.setVersion("1.2");
-    entity2.setOperatingSystems("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]");
+    entity2.setOperatingSystems("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]");
 
     try {
       RepositoryVersionResourceProvider.validateRepositoryVersion(repositoryVersionDAO, info, entity2);
@@ -390,7 +390,7 @@ public class RepositoryVersionResourceProviderTest {
     entity3.setDisplayName("name2");
     entity3.setStack(stackEntity);
     entity3.setVersion("1.1");
-    entity3.setOperatingSystems("[{\"OperatingSystems/ambari_managed_repositories\": true, \"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]");
+    entity3.setOperatingSystems("[{\"OperatingSystems/ambari_managed_repositories\": true, \"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]");
 
     try {
       RepositoryVersionResourceProvider.validateRepositoryVersion(repositoryVersionDAO, info, entity3);
@@ -399,7 +399,7 @@ public class RepositoryVersionResourceProviderTest {
       // expected
     }
 
-    entity3.setOperatingSystems("[{\"OperatingSystems/ambari_managed_repositories\": false, \"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]");
+    entity3.setOperatingSystems("[{\"OperatingSystems/ambari_managed_repositories\": false, \"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]");
     RepositoryVersionResourceProvider.validateRepositoryVersion(repositoryVersionDAO, info, entity3);
 
   }
@@ -422,7 +422,7 @@ public class RepositoryVersionResourceProviderTest {
     final Set<Map<String, Object>> propertySet = new LinkedHashSet<Map<String, Object>>();
     final Map<String, Object> properties = new LinkedHashMap<String, Object>();
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, "name");
-    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"1\"}]}]", Object.class));
+    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"1\",\"Repositories/unique\":\"true\"}]}]", Object.class));
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_NAME_PROPERTY_ID, "HDP");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID, "1.1");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID, "1.1.1.2");
@@ -470,7 +470,7 @@ public class RepositoryVersionResourceProviderTest {
     final Set<Map<String, Object>> propertySet = new LinkedHashSet<Map<String, Object>>();
     final Map<String, Object> properties = new LinkedHashMap<String, Object>();
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, "name");
-    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]", Object.class));
+    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]", Object.class));
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_NAME_PROPERTY_ID, "HDP");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID, "1.1");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID, "1.1.1.1");
@@ -517,7 +517,7 @@ public class RepositoryVersionResourceProviderTest {
       }
     }
 
-    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"2\",\"Repositories/repo_name\":\"2\",\"Repositories/base_url\":\"2\"}]}]", Object.class));
+    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"2\",\"Repositories/repo_name\":\"2\",\"Repositories/base_url\":\"2\",\"Repositories/unique\":\"true\"}]}]", Object.class));
     provider.updateResources(updateRequest, new AndPredicate(predicateStackName, predicateStackVersion));
     // Now, insert a cluster version whose state is INSTALL_FAILED, so the operation will not be permitted.
     Mockito.when(clusterVersionDAO.findByStackAndVersion(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenAnswer(
@@ -554,7 +554,7 @@ public class RepositoryVersionResourceProviderTest {
     final Set<Map<String, Object>> propertySet = new LinkedHashSet<Map<String, Object>>();
     final Map<String, Object> properties = new LinkedHashMap<String, Object>();
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, "name");
-    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]", Object.class));
+    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]", Object.class));
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_NAME_PROPERTY_ID, "HDP");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_STACK_VERSION_PROPERTY_ID, "1.1");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_REPOSITORY_VERSION_PROPERTY_ID, "1.1.1.1");
@@ -575,7 +575,7 @@ public class RepositoryVersionResourceProviderTest {
 
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_ID_PROPERTY_ID, "1");
     properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, "name2");
-    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/ambari_managed_repositories\":false, \"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\"}]}]", Object.class));
+    properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/ambari_managed_repositories\":false, \"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"1\",\"Repositories/repo_name\":\"1\",\"Repositories/base_url\":\"http://example.com/repo1\",\"Repositories/unique\":\"true\"}]}]", Object.class));
     final Request updateRequest = PropertyHelper.getUpdateRequest(properties, null);
     provider.updateResources(updateRequest, new AndPredicate(predicateStackName, predicateStackVersion));
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelperTest.java
index 8d82d09..437cc42 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/stack/upgrade/RepositoryVersionHelperTest.java
@@ -57,9 +57,10 @@ public class RepositoryVersionHelperTest {
     repository.setBaseUrl("baseurl");
     repository.setOsType("os");
     repository.setRepoId("repoId");
+    repository.setUnique(true);
     repositories.add(repository);
 
     final String serialized = helper.serializeOperatingSystems(repositories);
-    Assert.assertEquals("[{\"repositories\":[{\"Repositories/base_url\":\"baseurl\",\"Repositories/repo_id\":\"repoId\"}],\"OperatingSystems/os_type\":\"os\"}]", serialized);
+    Assert.assertEquals("[{\"repositories\":[{\"Repositories/base_url\":\"baseurl\",\"Repositories/repo_id\":\"repoId\",\"Repositories/unique\":true}],\"OperatingSystems/os_type\":\"os\"}]", serialized);
   }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/bad-stacks/HDP/0.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/bad-stacks/HDP/0.1/repos/repoinfo.xml b/ambari-server/src/test/resources/bad-stacks/HDP/0.1/repos/repoinfo.xml
index 6948ae7..f21b027 100644
--- a/ambari-server/src/test/resources/bad-stacks/HDP/0.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/bad-stacks/HDP/0.1/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/hbase_version_test.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/hbase_version_test.xml b/ambari-server/src/test/resources/hbase_version_test.xml
index ca8018b..58c8701 100644
--- a/ambari-server/src/test/resources/hbase_version_test.xml
+++ b/ambari-server/src/test/resources/hbase_version_test.xml
@@ -43,11 +43,13 @@
         <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.4.0</baseurl>
         <repoid>HDP-2.3</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
   </repository-info>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
index 1ea1809..b38d463 100644
--- a/ambari-server/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/0.1/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
index c0095b5..9b3b1c7 100644
--- a/ambari-server/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/0.2/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
index 04613ad..a9e1b3c 100644
--- a/ambari-server/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/1.2.0/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos6</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos5</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -47,11 +51,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos6</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -60,11 +66,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos5</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -73,11 +81,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos6</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -86,11 +96,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/centos5</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -99,11 +111,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/suse11</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>
@@ -112,11 +126,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.2.0/repos/suse11</baseurl>
       <repoid>HDP-1.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
index ec0be8f..71d2157 100644
--- a/ambari-server/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/1.3.0/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos6</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -34,11 +36,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos5</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -47,11 +51,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos6</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -60,11 +66,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos5</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -73,11 +81,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos6</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -86,11 +96,13 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/centos5</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -99,6 +111,7 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/suse11</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
     <os family="sles11">
@@ -106,6 +119,7 @@
       <baseurl>http://s3.amazonaws.com/dev.hortonworks.com/HDP-1.3.0/repos/suse11</baseurl>
       <repoid>HDP-1.3.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
index ed1aed8..a1f2a17 100644
--- a/ambari-server/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/1.3.1/repos/repoinfo.xml
@@ -21,11 +21,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -34,11 +36,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -47,11 +51,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -60,11 +66,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>HDP-epel</repoid>
       <reponame>HDP-epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -73,11 +81,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>
@@ -86,11 +96,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/1.x/updates/1.2.1</baseurl>
       <repoid>HDP-1.2.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
index eb026a7..f123a6c 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.0.1/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos6</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos5</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos6</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.0.2/repos/centos5</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 <!--
@@ -50,11 +54,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.1/repos/suse11</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>
@@ -63,11 +69,13 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-2.0.1/repos/suse11</baseurl>
       <repoid>HDP-2.0.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/suse11</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
index 91f0f02..25b2880 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.0.5/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos6</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos5</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos6</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/centos5</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/suse11</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://dev.hortonworks.com.s3.amazonaws.com/HDP-2.0.5.0/repos/suse11</baseurl>
       <repoid>HDP-2.0.5</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
index 2739c5c..924e0e7 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.0.6.1/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
index 2739c5c..924e0e7 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.0.6/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.6</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
index 8ebea21..41417d4 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.7</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
index e3ebea1..acd3556 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
@@ -92,6 +92,7 @@
             <baseurl>http://something.com/centos6/2.x/updates/1</baseurl>
             <repoid>Custom-repo-1</repoid>
             <reponame>Custom-repo</reponame>
+            <unique>true</unique>
           </repo>
           <packages>
             <package>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
index f8542d0..1669253 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.0.8/repos/repoinfo.xml
@@ -21,6 +21,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -28,6 +29,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -35,6 +37,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -42,6 +45,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -49,6 +53,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -56,6 +61,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.0.8</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.1.1/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
index 6c2f99a..1e4f244 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.2.0.ECS/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="any">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo.emc.com/ECS/2.2/updates/2.2.0.0</baseurl>
       <repoid>ECS-2.2.0.0</repoid>
       <reponame>ECS</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
index 207d258..031f5fd 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-123.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-123.xml b/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-123.xml
index 0b027ee..34d208d 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-123.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-123.xml
@@ -38,11 +38,13 @@
         <baseurl>http://baseurl1</baseurl>
         <repoid>HDP-2.4</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://baseurl2</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
   </repository-info>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-124-suse11.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-124-suse11.xml b/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-124-suse11.xml
index 68d811a..d4c96b3 100644
--- a/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-124-suse11.xml
+++ b/ambari-server/src/test/resources/stacks/HDP/2.2.0/repos/version-2.2.0.4-124-suse11.xml
@@ -38,11 +38,13 @@
         <baseurl>http://baseurl3</baseurl>
         <repoid>HDP-2.4</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://baseurl4</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/OTHER/1.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.1/repos/repoinfo.xml
index 1ea1809..b38d463 100644
--- a/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.1/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.2/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.2/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.2/repos/repoinfo.xml
index c0095b5..9b3b1c7 100644
--- a/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.2/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_common_services/HDP/0.2/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_cycle/OTHER/1.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_cycle/OTHER/1.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_cycle/OTHER/1.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks_with_cycle/OTHER/1.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_cycle/OTHER/1.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_cycle/OTHER/2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_cycle/OTHER/2.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_cycle/OTHER/2.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks_with_cycle/OTHER/2.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_cycle/OTHER/2.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_cycle2/stack1/1.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_cycle2/stack1/1.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_cycle2/stack1/1.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks_with_cycle2/stack1/1.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_cycle2/stack1/1.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_cycle2/stack2/1.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_cycle2/stack2/1.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_cycle2/stack2/1.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks_with_cycle2/stack2/1.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_cycle2/stack2/1.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_cycle2/stack3/1.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_cycle2/stack3/1.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_cycle2/stack3/1.0/repos/repoinfo.xml
index 9d8a232..5345c20 100644
--- a/ambari-server/src/test/resources/stacks_with_cycle2/stack3/1.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_cycle2/stack3/1.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="centos5">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat6">
@@ -36,6 +38,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="redhat5">
@@ -43,6 +46,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos5/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -50,6 +54,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="sles11">
@@ -57,6 +62,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.0.6.0</baseurl>
       <repoid>HDP-2.1.1</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml
index 1ea1809..b38d463 100644
--- a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.1/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml
index c0095b5..9b3b1c7 100644
--- a/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_extensions/HDP/0.2/repos/repoinfo.xml
@@ -21,17 +21,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos6</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch]]></mirrorslist>
     </repo>
   </os>
@@ -40,17 +43,20 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP-1.1.1.16/repos/centos5</baseurl>
       <repoid>HDP-1.1.1.16</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
     <repo>
       <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.15/repos/centos5</baseurl>
       <repoid>HDP-UTILS-1.1.0.15</repoid>
       <reponame>HDP-UTILS</reponame>
+      <unique>false</unique>
       <mirrorslist></mirrorslist>
     </repo>
     <repo>
       <baseurl></baseurl>
       <repoid>epel</repoid>
       <reponame>epel</reponame>
+      <unique>true</unique>
       <mirrorslist><![CDATA[https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch]]></mirrorslist>
     </repo>
   </os>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/repoinfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/repoinfo.xml b/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/repoinfo.xml
index 207d258..031f5fd 100644
--- a/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/repoinfo.xml
+++ b/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/repoinfo.xml
@@ -22,6 +22,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
   <os family="suse11">
@@ -29,6 +30,7 @@
       <baseurl>http://public-repo-1.hortonworks.com/HDP/suse11/2.x/updates/2.2.0.0</baseurl>
       <repoid>HDP-2.2.0</repoid>
       <reponame>HDP</reponame>
+      <unique>true</unique>
     </repo>
   </os>
 </reposinfo>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/version-2.2.0.4-123.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/version-2.2.0.4-123.xml b/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/version-2.2.0.4-123.xml
index 0b027ee..34d208d 100644
--- a/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/version-2.2.0.4-123.xml
+++ b/ambari-server/src/test/resources/stacks_with_upgrade_cycle/HDP/2.2.0/repos/version-2.2.0.4-123.xml
@@ -38,11 +38,13 @@
         <baseurl>http://baseurl1</baseurl>
         <repoid>HDP-2.4</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://baseurl2</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
   </repository-info>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/version_definition_resource_provider.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/version_definition_resource_provider.xml b/ambari-server/src/test/resources/version_definition_resource_provider.xml
index 55cd1c1..eda0134 100644
--- a/ambari-server/src/test/resources/version_definition_resource_provider.xml
+++ b/ambari-server/src/test/resources/version_definition_resource_provider.xml
@@ -47,11 +47,13 @@
         <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0</baseurl>
         <repoid>HDP-2.3</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
     <os family="suse11">
@@ -59,6 +61,7 @@
         <baseurl>http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.3.0.0</baseurl>
         <repoid>HDP-2.3</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
     </os>
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/version_definition_test.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/version_definition_test.xml b/ambari-server/src/test/resources/version_definition_test.xml
index 1520774..069ac4a 100644
--- a/ambari-server/src/test/resources/version_definition_test.xml
+++ b/ambari-server/src/test/resources/version_definition_test.xml
@@ -49,11 +49,13 @@
         <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0</baseurl>
         <repoid>HDP-2.3</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
     <os family="redhat7">
@@ -61,11 +63,13 @@
         <baseurl>http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.3.0.0</baseurl>
         <repoid>HDP-2.3</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/02256c3f/ambari-server/src/test/resources/version_definition_test_all_services.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/version_definition_test_all_services.xml b/ambari-server/src/test/resources/version_definition_test_all_services.xml
index 7557f7a..ecbd378 100644
--- a/ambari-server/src/test/resources/version_definition_test_all_services.xml
+++ b/ambari-server/src/test/resources/version_definition_test_all_services.xml
@@ -43,11 +43,13 @@
         <baseurl>http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0</baseurl>
         <repoid>HDP-2.3</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>
     <os family="redhat7">
@@ -55,11 +57,13 @@
         <baseurl>http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.3.0.0</baseurl>
         <repoid>HDP-2.3</repoid>
         <reponame>HDP</reponame>
+        <unique>true</unique>
       </repo>
       <repo>
         <baseurl>http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7</baseurl>
         <repoid>HDP-UTILS-1.1.0.20</repoid>
         <reponame>HDP-UTILS</reponame>
+        <unique>false</unique>
       </repo>
     </os>