John Speidel created AMBARI-6135:
------------------------------------

             Summary: Blueprint validation fails when dependency is deployed to 
multiple host groups
                 Key: AMBARI-6135
                 URL: https://issues.apache.org/jira/browse/AMBARI-6135
             Project: Ambari
          Issue Type: Bug
            Reporter: John Speidel
            Assignee: John Speidel
             Fix For: 1.6.1


When a component has a specified dependency and the number of instances of the 
component in the blueprint > 1, validation fails.  An example of this is 
multiple ZK server instances and any component such as Nimbus being deployed 
which have a dependency on ZOOKEEPER_SERVER.  Because there are 3 ZK server 
instances, the dependency should be satisfied but validation fails.

An example BP:
{code}
{
  "host_groups": [
      {
        "name": "host1",
        "cardinality": "1",
        "components": [
          {
            "name": "NAMENODE"
          },
          {
            "name": "SECONDARY_NAMENODE"
          },
          {
            "name": "ZOOKEEPER_SERVER"
          },
          {
            "name": "RESOURCEMANAGER"
          },
          {
            "name": "HISTORYSERVER"
          },
          {
            "name": "HBASE_MASTER"
          },
          {
            "name": "NAGIOS_SERVER"
          },
          {
            "name": "DATANODE"
          },
          {
            "name": "NODEMANAGER"
          },
          {
            "name": "HBASE_REGIONSERVER"
          },
          {
            "name": "GANGLIA_MONITOR"
          },
          {
            "name": "SUPERVISOR"
          },
          {
            "name": "HDFS_CLIENT"
          },
          {
            "name": "YARN_CLIENT"
          },
          {
            "name": "MAPREDUCE2_CLIENT"
          },
          {
            "name": "TEZ_CLIENT"
          },
          {
            "name": "HBASE_CLIENT"
          },
          {
            "name": "ZOOKEEPER_CLIENT"
          }
        ]
      },
      {
        "name": "host2",
        "cardinality": "1",
        "components": [
          {
            "name": "ZOOKEEPER_SERVER"
          },
          {
            "name": "GANGLIA_SERVER"
          },
          {
            "name": "NIMBUS"
          },
          {
            "name": "DRPC_SERVER"
          },
          {
            "name": "STORM_UI_SERVER"
          },
          {
            "name": "STORM_REST_API"
          },
          {
            "name": "DATANODE"
          },
          {
            "name": "NODEMANAGER"
          },
          {
            "name": "HBASE_REGIONSERVER"
          },
          {
            "name": "GANGLIA_MONITOR"
          },
          {
            "name": "SUPERVISOR"
          },
          {
            "name": "HDFS_CLIENT"
          },
          {
            "name": "YARN_CLIENT"
          },
          {
            "name": "MAPREDUCE2_CLIENT"
          },
          {
            "name": "TEZ_CLIENT"
          },
          {
            "name": "HBASE_CLIENT"
          },
          {
            "name": "ZOOKEEPER_CLIENT"
          }
        ]
      },
      {
        "name": "other_hosts",
        "cardinality": "1",
        "components": [
          {
            "name": "ZOOKEEPER_SERVER"
          },
          {
            "name": "DATANODE"
          },
          {
            "name": "NODEMANAGER"
          },
          {
            "name": "HBASE_REGIONSERVER"
          },
          {
            "name": "GANGLIA_MONITOR"
          },
          {
            "name": "SUPERVISOR"
          },
          {
            "name": "HDFS_CLIENT"
          },
          {
            "name": "YARN_CLIENT"
          },
          {
            "name": "MAPREDUCE2_CLIENT"
          },
          {
            "name": "TEZ_CLIENT"
          },
          {
            "name": "HBASE_CLIENT"
          },
          {
            "name": "ZOOKEEPER_CLIENT"
          }
        ]
      }
    ],
    "Blueprints": {
      "stack_name": "HDP",
      "stack_version": "2.1"
    }
}
{code}

Attempting to register this blueprint results in:
{code}
{
  "status" : 400,
  "message" : "Cluster Topology validation failed.  Unresolved component 
dependencies: {host2={NIMBUS=[DependencyInfo[name=ZOOKEEPER/ZOOKEEPER_SERVER, 
scope=cluster, auto-deploy=true]]}}.  To disable topology validation and create 
the blueprint, add the following to the end of the url: 
'?validate_topology=false'"
}
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to