You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sm...@apache.org on 2015/12/15 07:02:00 UTC
[03/31] ambari git commit: AMBARI-14370. Move functional tests from
ambari-server project to a separate project ambari-funtest (Nahappan
Somasundaram via smohanty)
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/HDFS/package/dummy-script.py
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/HDFS/package/dummy-script.py b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/HDFS/package/dummy-script.py
new file mode 100644
index 0000000..35de4bb
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/HDFS/package/dummy-script.py
@@ -0,0 +1,20 @@
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Ambari Agent
+
+"""
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/SQOOP2/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/SQOOP2/metainfo.xml b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/SQOOP2/metainfo.xml
new file mode 100644
index 0000000..55323d3
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/SQOOP2/metainfo.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<metainfo>
+ <schemaVersion>2.0</schemaVersion>
+ <services>
+ <service>
+ <name>SQOOP2</name>
+ <displayName>Sqoop</displayName>
+ <comment>Extended SQOOP</comment>
+ <version>Extended Version</version>
+ <extends>HDP/2.1.1/SQOOP</extends>
+ </service>
+ </services>
+
+</metainfo>
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/configuration/placeholder.txt
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/configuration/placeholder.txt b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/configuration/placeholder.txt
new file mode 100644
index 0000000..e2479f3
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/configuration/placeholder.txt
@@ -0,0 +1,17 @@
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Ambari Agent
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metainfo.xml b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metainfo.xml
new file mode 100644
index 0000000..86ec307
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metainfo.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<metainfo>
+ <schemaVersion>2.0</schemaVersion>
+ <services>
+ <service>
+ <name>STORM</name>
+ <comment>Apache Hadoop Stream processing framework (Extended)</comment>
+ <version>New version</version>
+ <extends>HDP/2.1.1/STORM</extends>
+ </service>
+ </services>
+</metainfo>
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metrics.json
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metrics.json b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metrics.json
new file mode 100644
index 0000000..bd82446
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/metrics.json
@@ -0,0 +1,103 @@
+{
+ "STORM_REST_API": {
+ "Component": [
+ {
+ "type": "jmx",
+ "metrics": {
+ "default": {
+ "metrics/api/cluster/summary/tasks.total": {
+ "metric": "tasks.total",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/slots.total": {
+ "metric": "slots.total",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/slots.free": {
+ "metric": "slots.free",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/supervisors": {
+ "metric": "supervisors",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/executors.total": {
+ "metric": "executors.total",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/slots.used": {
+ "metric": "slots.used",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/topologies": {
+ "metric": "topologies",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/nimbus.uptime": {
+ "metric": "nimbus.uptime",
+ "pointInTime": true,
+ "temporal": false
+ }
+ }
+ }
+ }
+ ],
+ "HostComponent": [
+ {
+ "type": "jmx",
+ "metrics": {
+ "default": {
+ "metrics/api/cluster/summary/tasks.total": {
+ "metric": "tasks.total",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/slots.total": {
+ "metric": "slots.total",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/slots.free": {
+ "metric": "slots.free",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/supervisors": {
+ "metric": "supervisors",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/executors.total": {
+ "metric": "executors.total",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/slots.used": {
+ "metric": "slots.used",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/topologies": {
+ "metric": "topologies",
+ "pointInTime": true,
+ "temporal": false
+ },
+ "metrics/api/cluster/summary/nimbus.uptime": {
+ "metric": "nimbus.uptime",
+ "pointInTime": true,
+ "temporal": false
+ }
+ }
+ }
+ }
+
+ ]
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/package/placeholder.txt
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/package/placeholder.txt b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/package/placeholder.txt
new file mode 100644
index 0000000..e2479f3
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/1.0/services/STORM/package/placeholder.txt
@@ -0,0 +1,17 @@
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Ambari Agent
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/2.0/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/2.0/metainfo.xml b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/metainfo.xml
new file mode 100644
index 0000000..716972f
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/metainfo.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<metainfo>
+ <versions>
+ <active>true</active>
+ </versions>
+ <extends>1.0</extends>
+</metainfo>
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/hdp.json
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/hdp.json b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/hdp.json
new file mode 100644
index 0000000..fc51627
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/hdp.json
@@ -0,0 +1,10 @@
+{
+ "HDP-2.1.1": {
+ "latest": {
+ "centos6": "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.1.1.0-118",
+ "redhat6": "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.1.1.0-118",
+ "oraclelinux6": "http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.1.1.0-118",
+ "suse11": "http://s3.amazonaws.com/dev.hortonworks.com/HDP/suse11/2.x/BUILDS/2.1.1.0-118/hdp.repo"
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/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
new file mode 100644
index 0000000..9d8a232
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/repos/repoinfo.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<reposinfo>
+ <latest>./hdp.json</latest>
+ <os family="centos6">
+ <repo>
+ <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>
+ </repo>
+ </os>
+ <os family="centos5">
+ <repo>
+ <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>
+ </repo>
+ </os>
+ <os family="redhat6">
+ <repo>
+ <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>
+ </repo>
+ </os>
+ <os family="redhat5">
+ <repo>
+ <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>
+ </repo>
+ </os>
+ <os family="suse11">
+ <repo>
+ <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>
+ </repo>
+ </os>
+ <os family="sles11">
+ <repo>
+ <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>
+ </repo>
+ </os>
+</reposinfo>
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/metainfo.xml b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/metainfo.xml
new file mode 100644
index 0000000..b20aa6a
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/metainfo.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<metainfo>
+ <schemaVersion>2.0</schemaVersion>
+ <services>
+ <service>
+ <name>HBASE</name>
+ <displayName>HBASE</displayName>
+ <comment>Inherited from HDP stack</comment>
+ <version>other-2.0-version</version>
+ <extends>HDP/2.0.8/HBASE</extends>
+ <excluded-config-types>
+ <config-type>hbase-policy</config-type>
+ </excluded-config-types>
+ </service>
+ </services>
+</metainfo>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/widgets.json
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/widgets.json b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/widgets.json
new file mode 100644
index 0000000..70a7fa0
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/HBASE/widgets.json
@@ -0,0 +1,190 @@
+{
+ "layouts": [
+ {
+ "layout_name": "default_hbase_layout",
+ "section_name": "HBASE_SUMMARY",
+ "widgetLayoutInfo": [
+ {
+ "widget_name": "RS_READS_WRITES",
+ "description": "This widget shows all the read requests and write requests on all regions for a RegionServer",
+ "widget_type": "GRAPH",
+ "is_visible": true,
+ "metrics": [
+ {
+ "name": "regionserver.Server.Get_num_ops",
+ "ambari_id": "metrics/hbase/regionserver/Server/Get_num_ops",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER",
+ "host_component_criteria": "isActive=true"
+ },
+ {
+ "name": "regionserver.Server.Scan_num_ops",
+ "ambari_id": "metrics/hbase/regionserver/Server/Scan_num_ops",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ },
+ {
+ "name": "regionserver.Server.Append_num_ops",
+ "ambari_id": "metrics/hbase/regionserver/Server/Append_num_ops",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ },
+ {
+ "name": "regionserver.Server.Delete_num_ops",
+ "ambari_id": "metrics/hbase/regionserver/Server/Delete_num_ops",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ },
+ {
+ "name": "regionserver.Server.Increment_num_ops",
+ "ambari_id": "metrics/hbase/regionserver/Server/Increment_num_ops",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ },
+ {
+ "name": "regionserver.Server.Mutate_num_ops",
+ "ambari_id": "metrics/hbase/regionserver/Server/Mutate_num_ops",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ }
+ ],
+ "values": [
+ {
+ "name": "Read Requests",
+ "value": "`${regionserver.Server.Get_num_ops + regionserver.Server.Scan_num_ops}`"
+ },
+ {
+ "name": "Write Requests",
+ "value": "`${metrics.hbase.regionserver.Server.Append_num_ops + metrics.hbase.regionserver.Server.Delete_num_ops + metrics.hbase.regionserver.Server.Increment_num_ops + metrics.hbase.regionserver.Server.Mutate_num_ops}`"
+ }
+ ],
+ "properties": {
+ "display_unit": "Requests",
+ "graph_type": "LINE",
+ "time_ranger": "1 week"
+ }
+ },
+ {
+ "widget_name": "OPEN_CONNECTIONS",
+ "description": "This widget shows number of current open connections",
+ "widget_type": "GRAPH",
+ "is_visible": true,
+ "metrics": [
+ {
+ "name": "ipc.IPC.numOpenConnections",
+ "ambari_id": "metrics/hbase/ipc/IPC/numOpenConnections",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ }
+ ],
+ "values": [
+ {
+ "name": "Open Connections",
+ "value": "`${ipc.IPC.numOpenConnections}`"
+ }
+ ],
+ "properties": {
+ "display_unit": "Connections",
+ "graph_type": "STACK",
+ "time_ranger": "1 hour"
+ }
+ },
+ {
+ "widget_name": "ACTIVE_HANDLER",
+ "default_section_name": "HBASE_SUMMARY",
+ "widget_type": "GRAPH",
+ "is_visible": false,
+ "metrics": [
+ {
+ "name": "ipc.IPC.numOpenConnections",
+ "ambari_id": "metrics/hbase/ipc/IPC/numOpenConnections",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ },
+ {
+ "name": "ipc.IPC.numCallsInGeneralQueue",
+ "ambari_id": "metrics/hbase/ipc/IPC/numOpenConnections",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ }
+ ],
+ "values": [
+ {
+ "name": "Active Handlers",
+ "value": "`${ipc.IPC.numActiveHandler}`"
+ },
+ {
+ "name": "Calls in General Queue",
+ "value": "`${ipc.IPC.numCallsInGeneralQueue}`"
+ }
+ ],
+ "properties": {
+ "graph_type": "LINE",
+ "time_ranger": "1 hour"
+ }
+ },
+ {
+ "widget_name": "FILES_LOCAL",
+ "default_section_name": "HBASE_SUMMARY",
+ "description": "This widget shows percentage of files local.",
+ "widget_type": "NUMBER",
+ "is_visible": true,
+ "metrics": [
+ {
+ "name": "regionserver.Server.percentFilesLocal",
+ "ambari_id": "metrics/hbase/regionserver/percentFilesLocal",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ }
+ ],
+ "values": [
+ {
+ "name": "Files Local",
+ "value": "`${regionserver.Server.percentFilesLocal}`"
+ }
+ ],
+ "properties": {
+ "display_unit": "%"
+ }
+ },
+ {
+ "widget_name": "UPDATED_BLOCKED_TIME",
+ "default_section_name": "HBASE_SUMMARY",
+ "description": "",
+ "widget_type": "GRAPH",
+ "is_visible": true,
+ "metrics": [
+ {
+ "name": "regionserver.Server.updatesBlockedTime",
+ "ambari_id": "metrics/hbase/regionserver/Server/updatesBlockedTime",
+ "category": "",
+ "service_name": "HBASE",
+ "component_name": "HBASE_REGIONSERVER"
+ }
+ ],
+ "values": [
+ {
+ "name": "Updated Blocked Time",
+ "value": "`${regionserver.Server.updatesBlockedTime}`"
+ }
+ ],
+ "properties": {
+ "display_unit": "seconds",
+ "graph_type": "LINE",
+ "time_ranger": "1 day"
+ }
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/SQOOP2/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/SQOOP2/metainfo.xml b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/SQOOP2/metainfo.xml
new file mode 100644
index 0000000..b90f143
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/OTHER/2.0/services/SQOOP2/metainfo.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<metainfo>
+ <schemaVersion>2.0</schemaVersion>
+ <services>
+ <service>
+ <name>SQOOP2</name>
+ <displayName>Sqoop</displayName>
+ <comment>Inherited from parent</comment>
+ <version>Extended from parent version</version>
+ </service>
+ </services>
+</metainfo>
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/XYZ/1.0.0/services/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/XYZ/1.0.0/services/stack_advisor.py b/ambari-funtest/src/test/resources/stacks/XYZ/1.0.0/services/stack_advisor.py
new file mode 100644
index 0000000..ba140bb
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/XYZ/1.0.0/services/stack_advisor.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env ambari-python-wrap
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+from stack_advisor import StackAdvisor
+
+class XYZ100StackAdvisor(StackAdvisor):
+
+ def recommendConfigurations(self, services, hosts):
+ stackName = services["Versions"]["stack_name"]
+ stackVersion = services["Versions"]["stack_version"]
+ hostsList = [host["Hosts"]["host_name"] for host in hosts["items"]]
+ servicesList = [service["StackServices"]["service_name"] for service in services["services"]]
+
+ recommendations = {
+ "Versions": {"stack_name": stackName, "stack_version": stackVersion},
+ "hosts": hostsList,
+ "services": servicesList,
+ "recommendations": {
+ "blueprint": {
+ "configurations": {},
+ "host_groups": []
+ },
+ "blueprint_cluster_binding": {
+ "host_groups": []
+ }
+ }
+ }
+
+ configurations = recommendations["recommendations"]["blueprint"]["configurations"]
+ for service in servicesList:
+ calculation = self.recommendServiceConfigurations(service)
+ if calculation is not None:
+ calculation(configurations)
+
+ return recommendations
+
+ def recommendServiceConfigurations(self, service):
+ return {
+ "YARN": self.recommendYARNConfigurations,
+ }.get(service, None)
+
+ def putProperty(self, config, configType):
+ config[configType] = {"properties": {}}
+ def appendProperty(key, value):
+ config[configType]["properties"][key] = str(value)
+ return appendProperty
+
+ def recommendYARNConfigurations(self, configurations):
+ putYarnProperty = self.putProperty(configurations, "yarn-site")
+ putYarnProperty('yarn.nodemanager.resource.memory-mb', "-Xmx100m")
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/stacks/XYZ/1.0.1/services/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/stacks/XYZ/1.0.1/services/stack_advisor.py b/ambari-funtest/src/test/resources/stacks/XYZ/1.0.1/services/stack_advisor.py
new file mode 100644
index 0000000..74a4b31
--- /dev/null
+++ b/ambari-funtest/src/test/resources/stacks/XYZ/1.0.1/services/stack_advisor.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env ambari-python-wrap
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+
+import re
+import socket
+import sys
+
+from stack_advisor import StackAdvisor
+
+class XYZ101StackAdvisor(XYZ100StackAdvisor):
+
+ def recommendYARNConfigurations(self, configurations):
+ putYarnProperty = self.putProperty(configurations, "yarn-site")
+ putYarnProperty('yarn.nodemanager.resource.memory-mb', "-Xmx101m")
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-funtest/src/test/resources/version
----------------------------------------------------------------------
diff --git a/ambari-funtest/src/test/resources/version b/ambari-funtest/src/test/resources/version
new file mode 100644
index 0000000..359a5b9
--- /dev/null
+++ b/ambari-funtest/src/test/resources/version
@@ -0,0 +1 @@
+2.0.0
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/AmbariHttpWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/AmbariHttpWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/AmbariHttpWebRequest.java
deleted file mode 100644
index d8075b2..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/AmbariHttpWebRequest.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api;
-
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.google.gson.stream.JsonReader;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-
-import org.apache.commons.codec.binary.Base64;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.Map;
-
-
-/**
- * REST API Client that performs various operations on the Ambari Server
- * using Http.
- */
-public class AmbariHttpWebRequest extends WebRequest {
- private static final Log LOG = LogFactory.getLog(AmbariHttpWebRequest.class);
- private static String SERVER_URL_FORMAT = "http://%s:%d";
- private static String SERVER_SSL_URL_FORMAT = "https://%s:%d";
-
- private String content;
-
- private String serverName;
- private int serverApiPort;
- private int serverAgentPort;
- private WebResponse response;
- private String curlApi;
-
- /**
- * Constructor to set the REST API URL, Server API port, Server Agent API port, user id and password.
- *
- * @param params
- */
- public AmbariHttpWebRequest(ConnectionParams params) {
- setServerName(params.getServerName());
- setServerApiPort(params.getServerApiPort());
- setServerAgentPort(params.getServerAgentPort());
- setUserName(params.getUserName());
- setPassword(params.getPassword());
- addHeader("X-Requested-By", "ambari");
- if (getUserName() != null) {
- addHeader("Authorization", getBasicAuthentication());
- }
- }
-
- /**
- * Sends the request to the Ambari server and returns the response.
- *
- * @return - Response from the Ambari server.
- * @throws IOException
- */
- @Override
- public WebResponse getResponse() throws IOException {
- if (response == null) {
- LOG.info(getCurlApi());
- response = executeRequest();
- }
-
- return response;
- }
-
- /**
- * Gets the full URI
- *
- * @return - Full path to the URI
- */
- @Override
- public String getUrl() {
- return getServerApiUrl() + getApiPath();
- }
-
- /**
- * Gets the JSON content (request data).
- *
- * @return - JSON content.
- */
- @Override
- public String getContent() {
- if (content == null) {
- content = getRequestData();
- }
-
- return content;
- }
-
- /**
- * Gets the content encoding.
- *
- * @return - Content encoding.
- */
- @Override
- public String getContentEncoding() { return "UTF-8"; }
-
- /**
- * Gets the content type, like application/json, application/text, etc.
- *
- * @return - Content type.
- */
- @Override
- public String getContentType() { return "application/json"; }
-
- /**
- * Gets the curl command line call for this request. Useful for
- * debugging.
- *
- * @return - Curl command line call.
- */
- public String getCurlApi() {
- if (curlApi == null) {
- StringBuilder sb = new StringBuilder();
- sb.append("curl");
- if (getUserName() != null) {
- sb.append(String.format(" -u %s", getUserName()));
- if (getPassword() != null) {
- sb.append(String.format(":%s", getPassword()));
- }
- }
- sb.append(String.format(" -H \"%s\"", "X-Requested-By: ambari"));
- sb.append(String.format(" -X %s", getHttpMethod()));
- if (getHttpMethod().equals("PUT") || getHttpMethod().equals("POST")) {
- if (getContent() != null) {
- sb.append(String.format(" -d '%s'", getContent()));
- }
- }
- sb.append(String.format(" %s", getUrl()));
- curlApi = sb.toString();
- }
-
- return curlApi;
- }
-
- /**
- * Sets the REST API URL for the Ambari Server
- *
- * @param serverName - REST API URL
- */
- public void setServerName(String serverName) { this.serverName = serverName; }
-
- /**
- * Gets the REST API URL for the Ambari Server
- *
- * @return - REST API URL
- */
- public String getServerName() { return this.serverName; }
-
- /**
- * Gets the port number for the REST API used by the web clients.
- *
- * @return - Server API port number.
- */
- public int getServerApiPort() { return this.serverApiPort; }
-
- /**
- * Sets the port number for the REST API used by the web clients.
- *
- * @param serverApiPort - Server API port.
- */
- public void setServerApiPort(int serverApiPort) { this.serverApiPort = serverApiPort; }
-
- /**
- * Gets the port number for the REST API used by the agent.
- *
- * @return - Agent API port number.
- */
- public int getServerAgentPort() { return this.serverAgentPort; }
-
- /**
- * Sets the port number for the REST API used by the agent.
- *
- * @param serverAgentPort - Agent API port number.
- */
- public void setServerAgentPort(int serverAgentPort) { this.serverAgentPort = serverAgentPort; }
-
- /**
- * Gets the REST API path fragment.
- *
- * @return - REST API path.
- */
- protected String getApiPath() { return ""; }
-
- /**
- * Gets the request data used in POST and PUT requests.
- *
- * @return - Request data.
- */
- protected String getRequestData() { return ""; }
-
- /**
- * Gets the basic authentication string to be used for the Authorization header.
- *
- * @return - Base-64 encoded authentication string.
- */
- protected String getBasicAuthentication() {
- String authString = getUserName() + ":" + getPassword();
- byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
- String authStringEnc = new String(authEncBytes);
-
- return "Basic " + authStringEnc;
- }
-
- /**
- * Gets URL for the Ambari Server (without the API path)
- *
- * @return - Ambari server URL.
- */
- protected String getServerApiUrl() {
- return String.format(SERVER_URL_FORMAT, getServerName(), getServerApiPort());
- }
-
- /**
- * Gets URL for the Agent Server (without the API path)
- *
- * @return - Agent server URL.
- */
- protected String getServerAgentUrl() {
- return String.format(SERVER_URL_FORMAT, getServerName(), getServerAgentPort());
- }
-
- /**
- * Helper method to create simple Json objects.
- *
- * @param name - Name
- * @param value - Value
- * @return - A JsonObject {name: value}
- */
- protected static JsonObject createJsonObject(String name, String value) {
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty(name, value);
- return jsonObject;
- }
-
- /**
- * Helper method to create simple Json objects.
- *
- * @param name - Name
- * @param jsonElement - Json object.
- * @return - A JsonObject {name: jsonElement }
- */
- protected static JsonObject createJsonObject(String name, JsonElement jsonElement) {
- JsonObject jsonObject = new JsonObject();
- jsonObject.add(name, jsonElement);
- return jsonObject;
- }
-
- /**
- * Executes the current request by using HttpClient methods and returns the response.
- *
- * @return - Response from the Ambari server/Agent server.
- * @throws IOException
- */
- private WebResponse executeRequest() throws IOException {
- HttpMethodBase methodBase = null;
- String httpMethod;
-
- httpMethod = getHttpMethod();
-
- if (httpMethod.equals("GET")) {
- methodBase = getGetMethod();
- } else if (httpMethod.equals("POST")) {
- methodBase = getPostMethod();
- } else if (httpMethod.equals("PUT")) {
- methodBase = getPutMethod();
- } else if (httpMethod.equals("DELETE")) {
- methodBase = getDeleteMethod();
- } else {
- new RuntimeException(String.format("Unsupported HTTP method: %s", httpMethod));
- }
-
- WebResponse response = new WebResponse();
- HttpClient httpClient = new HttpClient();
- Map<String, String> headers = getHeaders();
-
- for (Map.Entry<String, String> header : headers.entrySet()) {
- methodBase.addRequestHeader(header.getKey(), header.getValue());
- }
-
- methodBase.setQueryString(getQueryString());
-
- try {
- int statusCode = httpClient.executeMethod(methodBase);
- response.setStatusCode(statusCode);
- response.setContent(methodBase.getResponseBodyAsString());
- } finally {
- methodBase.releaseConnection();
- }
-
- return response;
- }
-
- /**
- * Constructs a GetMethod instance.
- *
- * @return - GetMethod.
- */
- private GetMethod getGetMethod() {
- return new GetMethod(getUrl());
- }
-
- /**
- * Constructs a PutMethod instance and sets the request data on it.
- *
- * @return - PutMethod.
- */
- @SuppressWarnings("deprecation")
- private PutMethod getPutMethod() {
- PutMethod putMethod = new PutMethod(getUrl());
-
- putMethod.setRequestBody(getContent());
-
- return putMethod;
- }
-
- /**
- * Constructs a PostMethod and sets the request data on it.
- *
- * @return - PostMethod.
- */
- @SuppressWarnings("deprecation")
- private PostMethod getPostMethod() {
- PostMethod postMethod = new PostMethod(getUrl());
-
- /*
- RequestEntity requestEntity = new StringRequestEntity(
- request.getContent(),
- request.getContentType(),
- request.getContentEncoding());
-
- postMethod.setRequestEntity(requestEntity);
- */
-
- postMethod.setRequestBody(getContent());
-
- return postMethod;
- }
-
- /**
- * Constructs a DeleteMethod.
- *
- * @return - DeleteMethod.
- */
- private DeleteMethod getDeleteMethod() {
- return new DeleteMethod(getUrl());
- }
-
- @SuppressWarnings("deprecation")
- private RuntimeException createRuntimeException(HttpException httpException) {
- String message = httpException.getMessage();
- try {
- JsonElement jsonElement = new JsonParser().parse(new JsonReader(new StringReader(httpException.getMessage())));
- if (jsonElement != null && jsonElement.getAsJsonObject().has("message")) {
- message = jsonElement.getAsJsonObject().get("message").getAsString();
- }
- } catch (Throwable t) {
- }
- if (httpException.getReasonCode() != HttpStatus.SC_OK) {
- message = httpException.getReasonCode() + " " + httpException.getReason() + ": " + message;
- }
- return new RuntimeException(message, httpException);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ClusterConfigParams.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ClusterConfigParams.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ClusterConfigParams.java
deleted file mode 100644
index 7efe3f5..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ClusterConfigParams.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api;
-
-import java.util.Map;
-
-/**
- * Configurations in Ambari are distinguished using type and tag.
- * Once a configuration is created, it can be applied to a service,
- * specifying the type and tag for the configuration.
- *
- * Example:
- * curl -i -X POST -d '{"type": "core-site", "tag": "version1363902625", "properties" : { "fs.default.name" : "localhost:8020"}}'
- * http://<cluster-name>:8080/api/v1/clusters/c1/configurations
- */
-public class ClusterConfigParams {
- /**
- * Name of the cluster
- */
- private String clusterName;
-
- /**
- * Configuration tag
- */
- private String configTag;
-
- /**
- * Configuration type
- */
- private String configType;
-
- /**
- * Configuration properties
- */
- private Map<String, String> properties;
-
- public Map<String, String> getProperties() {
- return properties;
- }
-
- public void setProperties(Map<String, String> properties) {
- this.properties = properties;
- }
-
- public String getConfigType() {
- return configType;
- }
-
- public void setConfigType(String configType) {
- this.configType = configType;
- }
-
- public String getConfigTag() {
- return configTag;
- }
-
- public void setConfigTag(String configTag) {
- this.configTag = configTag;
- }
-
- public String getClusterName() {
- return clusterName;
- }
-
- public void setClusterName(String clusterName) {
- this.clusterName = clusterName;
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ConnectionParams.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ConnectionParams.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ConnectionParams.java
deleted file mode 100644
index 3d0ef7c..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/ConnectionParams.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api;
-
-/**
- * Ambari server connection parameters
- */
-public class ConnectionParams {
- /**
- * Server name
- */
- private String serverName;
-
- /**
- * Server port
- */
- private int serverApiPort;
-
- /**
- * Agent server port
- */
- private int serverAgentPort;
-
- /**
- * User name
- */
- private String userName;
-
- /**
- * Password
- */
- private String password;
-
- public String getServerName() {
- return serverName;
- }
-
- public void setServerName(String serverName) {
- this.serverName = serverName;
- }
-
- public int getServerApiPort() {
- return serverApiPort;
- }
-
- public void setServerApiPort(int serverApiPort) {
- this.serverApiPort = serverApiPort;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public int getServerAgentPort() {
- return serverAgentPort;
- }
-
- public void setServerAgentPort(int serverAgentPort) {
- this.serverAgentPort = serverAgentPort;
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebRequest.java
deleted file mode 100644
index 46dc634..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebRequest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * Makes a request to a URL.
- */
-public class WebRequest {
- private String httpMethod;
- private String url;
- private String queryString;
- private String content;
- private String contentType;
- private String contentEncoding;
- private String userName;
- private String password;
-
- private Map<String, String> headers = new HashMap<>();
-
- public WebRequest() {}
-
- public WebResponse getResponse() throws Exception {
- return null;
- }
-
- /**
- * Gets the HTTP Method (POST, GET, PUT, DELETE)
- *
- * @return - HTTP Method
- */
- public String getHttpMethod() { return this.httpMethod; }
-
- /**
- * Sets the HTTP Method to use.
- *
- * @param httpMethod
- */
- public void setHttpMethod(String httpMethod) { this.httpMethod = httpMethod; }
-
- /**
- * Gets the full URL to the request.
- *
- * @return
- */
- public String getUrl() { return this.url; }
-
- /**
- * Sets the full URL to the request.
- *
- * @param url
- */
- public void setUrl(String url) { this.url = url; }
-
- /**
- * Gets the query string (name1=value1?name2=value2)
- *
- * @return
- */
- public String getQueryString() { return this.queryString; }
-
- /**
- * Sets the query string
- *
- * @param queryString
- */
- public void setQueryString(String queryString) { this.queryString = queryString; }
-
- /**
- * Gets the request data.
- *
- * @return
- */
- public String getContent() { return this.content; }
-
- /**
- * Sets the request data.
- *
- * @param content
- */
- public void setContent(String content) { this.content = content; }
-
- /**
- * Gets the content type (application/json, application/text)
- *
- * @return
- */
- public String getContentType() { return this.contentType; }
-
- /**
- * Sets the content type.
- *
- * @param contentType
- */
- public void setContentType(String contentType) { this.contentType = contentType; }
-
- /**
- * Gets the content encoding (UTF-8)
- *
- * @return
- */
- public String getContentEncoding() { return this.contentEncoding; }
-
- /**
- * Sets the content encoding
- *
- * @param contentEncoding
- */
- public void setContentEncoding(String contentEncoding) { this.contentEncoding = contentEncoding; }
-
- /**
- * Gets the request headers.
- *
- * @return - A read-only collection of headers.
- */
- public Map<String, String> getHeaders() {
- return Collections.unmodifiableMap(this.headers);
- }
-
- /**
- * Clear the request headers.
- */
- public void clearHeaders() { this.headers.clear(); }
-
- /**
- * Add a collection of request headers.
- *
- * @param headers
- */
- public void addHeaders(Map<String, String> headers) {
- for (Map.Entry<String, String> entry : headers.entrySet()) {
- addHeader(entry.getKey(), entry.getValue());
- }
- }
-
- /**
- * Add a name-value pair to the request headers.
- *
- * @param name
- * @param value
- */
- public void addHeader(String name, String value) {
- this.headers.put(name, value);
- }
-
- /**
- * Sets the user id for the REST API URL
- *
- * @param userName
- */
- public void setUserName(String userName) { this.userName = userName; }
-
- /**
- * Gets the user name
- *
- * @return - User name
- */
- public String getUserName() { return this.userName; }
-
- /**
- * Sets the password
- *
- * @param password - Password
- */
- public void setPassword(String password) { this.password = password; }
-
- /**
- * Gets the password
- *
- * @return - Password
- */
- public String getPassword() { return this.password; }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebResponse.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebResponse.java
deleted file mode 100644
index b3deae6..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/WebResponse.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api;
-
-/**
- * Gets a response from a URL.
- */
-public class WebResponse {
- private String content;
- private int statusCode;
-
- public WebResponse() {}
-
- /**
- * Gets the response content.
- *
- * @return - Response content.
- */
- public String getContent() { return this.content; }
-
- /**
- * Sets the response content.
- *
- * @param content - Response content.
- */
- public void setContent(String content) { this.content = content; }
-
- /**
- * Gets the response status code.
- *
- * @return - Response status code.
- */
- public int getStatusCode() { return this.statusCode; }
-
- /**
- * Sets the response status code.
- *
- * @param statusCode - Response status code.
- */
- public void setStatusCode(int statusCode) { this.statusCode = statusCode;}
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/AddDesiredConfigurationWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/AddDesiredConfigurationWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/AddDesiredConfigurationWebRequest.java
deleted file mode 100644
index 7cb893a..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/AddDesiredConfigurationWebRequest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.cluster;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-import org.apache.ambari.server.functionaltests.api.ClusterConfigParams;
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-
-/**
- * Adds an existing configuration, identified by it's type and tag, to a cluster.
- */
-public class AddDesiredConfigurationWebRequest extends AmbariHttpWebRequest {
- private String clusterName;
- private String configType;
- private String configTag;
- private static String pathFormat = "/api/v1/clusters/%s";
-
- /**
- *
- * @param serverParams - Ambari server connection information
- * @param configParams - Cluster configuration parameters
- */
- public AddDesiredConfigurationWebRequest(ConnectionParams serverParams, ClusterConfigParams configParams) {
- super(serverParams);
- this.clusterName = configParams.getClusterName();
- this.configType = configParams.getConfigType();
- this.configTag = configParams.getConfigTag();
- }
-
- /**
- * Gets the cluster name.
- *
- * @return - Cluster name.
- */
- public String getClusterName() { return this.clusterName; }
-
- /**
- * Gets the configuration type.
- *
- * @return - Configuration type.
- */
- public String getConfigType() { return this.configType; }
-
- /**
- * Gets the configuration tag.
- *
- * @return - Configuration tag.
- */
- public String getConfigTag() { return this.configTag; }
-
- /**
- * Gets the REST API method.
- *
- * @return - PUT.
- */
- @Override
- public String getHttpMethod() {
- return "PUT";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return String.format(pathFormat, clusterName);
- }
-
- /**
- * Gets the request data.
- *
- * @return - Request data.
- */
- @Override
- protected String getRequestData() {
- /**
- * { "Clusters" : {"desired_configs": {"type": "test-site", "tag" : "version1" }}}
- */
- JsonObject jsonObject;
- JsonObject jsonDesiredConfigs = new JsonObject();
-
- jsonDesiredConfigs.addProperty("type", configType);
- jsonDesiredConfigs.addProperty("tag", configTag);
- jsonObject = createJsonObject("Clusters", createJsonObject("desired_configs", jsonDesiredConfigs));
- Gson gson = new Gson();
- return gson.toJson(jsonObject);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateClusterWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateClusterWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateClusterWebRequest.java
deleted file mode 100644
index 6c8c31e..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateClusterWebRequest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.cluster;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-
-/**
- * Creates a new cluster.
- */
-public class CreateClusterWebRequest extends AmbariHttpWebRequest {
- private String clusterName;
- private String clusterVersion;
- private static String pathFormat = "/api/v1/clusters/%s";
-
- /**
- * Creates a new cluster with the specified name and version.
- *
- * @param params - Ambari server connection information.
- * @param clusterName - Cluster name, like "test-cluster"
- * @param clusterVersion - Cluster version, like "HDP-2.2.0"
- */
- public CreateClusterWebRequest(ConnectionParams params, String clusterName, String clusterVersion) {
- super(params);
- this.clusterName = clusterName;
- this.clusterVersion = clusterVersion;
- }
-
- /**
- * Gets the cluster name.
- *
- * @return - Cluster name.
- */
- public String getClusterName() { return this.clusterName; }
-
- /**
- * Gets the cluster version.
- *
- * @return - Cluster version.
- */
- public String getClusterVersion() { return this.clusterVersion; }
-
- @Override
- public String getHttpMethod() {
- return "POST";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return String.format(pathFormat, clusterName);
- }
-
- /**
- * Gets the request data.
- *
- * @return - Request data.
- */
- @Override
- protected String getRequestData() {
- JsonObject jsonClustersObj = new JsonObject();
- jsonClustersObj.add("Clusters", createJsonObject("version", getClusterVersion()));
- Gson gson = new Gson();
- return gson.toJson(jsonClustersObj);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateConfigurationWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateConfigurationWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateConfigurationWebRequest.java
deleted file mode 100644
index 8e6f972..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/CreateConfigurationWebRequest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.cluster;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-import org.apache.ambari.server.functionaltests.api.ClusterConfigParams;
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class CreateConfigurationWebRequest extends AmbariHttpWebRequest {
- private String clusterName;
- private String configType;
- private String configTag;
- private Map<String, String> properties;
- private static String pathFormat = "/api/v1/clusters/%s/configurations";
-
- public CreateConfigurationWebRequest(ConnectionParams serverParams, ClusterConfigParams configParams) {
- super(serverParams);
- this.clusterName = configParams.getClusterName();
- this.configType = configParams.getConfigType();
- this.configTag = configParams.getConfigTag();
- this.properties = new HashMap<>(configParams.getProperties());
- }
-
- public String getClusterName() { return this.clusterName; }
-
- public String getConfigType() { return this.configType; }
-
- public String getConfigTag() { return this.configTag; }
-
- @Override
- public String getHttpMethod() {
- return "POST";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return String.format(pathFormat, clusterName);
- }
-
- /**
- * Gets the request data.
- *
- * @return - Request data.
- */
- @Override
- protected String getRequestData() {
- /**
- * {"type": "core-site", "tag": "version1363902625", "properties" : { "fs.default.name" : "localhost:8020"}}
- */
- JsonObject jsonPropertiesObj = new JsonObject();
- for (Map.Entry<String, String> property : properties.entrySet()) {
- jsonPropertiesObj.addProperty(property.getKey(), property.getValue());
- }
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("type", configType);
- jsonObject.addProperty("tag", configTag);
- jsonObject.add("properties", jsonPropertiesObj);
- Gson gson = new Gson();
- return gson.toJson(jsonObject);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetAllClustersWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetAllClustersWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetAllClustersWebRequest.java
deleted file mode 100644
index 3a0aaf5..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetAllClustersWebRequest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.cluster;
-
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-
-/**
- * Gets all the clusters.
- */
-public class GetAllClustersWebRequest extends AmbariHttpWebRequest {
- private static String pathFormat = "/api/v1/clusters";
-
- public GetAllClustersWebRequest(ConnectionParams params) {
- super(params);
- }
-
- /**
- * Gets the REST API method.
- *
- * @return - GET.
- */
- @Override
- public String getHttpMethod() {
- return "GET";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return pathFormat;
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetClusterWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetClusterWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetClusterWebRequest.java
deleted file mode 100644
index 39b933c..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetClusterWebRequest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.cluster;
-
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-
-public class GetClusterWebRequest extends AmbariHttpWebRequest {
- private String clusterName;
- private static String pathFormat = "/api/v1/clusters/%s";
-
- public GetClusterWebRequest(ConnectionParams params, String clusterName) {
- super(params);
- this.clusterName = clusterName;
- }
-
- public String getClusterName() { return this.clusterName; }
-
- @Override
- public String getHttpMethod() {
- return "GET";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return String.format(pathFormat, clusterName);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetRequestStatusWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetRequestStatusWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetRequestStatusWebRequest.java
deleted file mode 100644
index 7ac1898..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/cluster/GetRequestStatusWebRequest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.cluster;
-
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-
-/**
- * Gets the status of a request by request id. For example:
- * curl --user admin:admin -i -X GET http://AMBARI_SERVER_HOST:8080/api/v1/clusters/CLUSTER_NAME/requests/9
- * curl --user admin:admin -i -X GET http://AMBARI_SERVER_HOST:8080/api/v1/clusters/CLUSTER_NAME/requests/9/tasks/101
- *
- * Response:
- * {
- * "href" : "http://AMBARI_SERVER_HOST:8080/api/v1/clusters/CLUSTER_NAME/requests/9/tasks/101",
- * "Tasks" : {
- * ...
- * "status" : "COMPLETED",
- * ...
- * }
- * }
- */
-public class GetRequestStatusWebRequest extends AmbariHttpWebRequest {
- private String clusterName;
- private int requestId;
- private int taskId;
- private static String pathFormat = "/api/v1/clusters/%s/requests/%d";
- private static String pathFormatWithTask = "/api/v1/clusters/%s/requests/%d/tasks/%d";
-
- public GetRequestStatusWebRequest(ConnectionParams params, String clusterName, int requestId) {
- this(params, clusterName, requestId, -1);
- }
-
- public GetRequestStatusWebRequest(ConnectionParams params, String clusterName, int requestId, int taskId) {
- super(params);
- this.clusterName = clusterName;
- this.requestId = requestId;
- this.taskId = taskId;
- }
-
- public String getClusterName() { return this.clusterName; }
-
- public int getRequestId() { return this.requestId; }
-
- @Override
- public String getHttpMethod() {
- return "GET";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- if (taskId != -1)
- return String.format(pathFormatWithTask, clusterName, requestId, taskId);
-
- return String.format(pathFormat, clusterName, requestId);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/AddHostWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/AddHostWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/AddHostWebRequest.java
deleted file mode 100644
index 429e03c..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/AddHostWebRequest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.host;
-
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-
-/**
- * Adds a host to an existing cluster.
- */
-public class AddHostWebRequest extends AmbariHttpWebRequest {
- private String clusterName = null;
- private String hostName = null;
- private static String pathFormat = "/api/v1/clusters/%s/hosts/%s";
-
- /**
- * Adds the specified host to an existing cluster.
- *
- * @param params - Ambari connection information.
- * @param clusterName - Existing cluster name.
- * @param hostName - New host name. Host must have been registered previously using RegisterHostWebRequest.
- */
- public AddHostWebRequest(ConnectionParams params, String clusterName, String hostName) {
- super(params);
- this.clusterName = clusterName;
- this.hostName = hostName;
- }
-
- public String getClusterName() { return this.clusterName; }
-
- public String getHostName() { return this.hostName; }
-
- @Override
- public String getHttpMethod() {
- return "POST";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return String.format(pathFormat, clusterName, hostName);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetHostWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetHostWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetHostWebRequest.java
deleted file mode 100644
index 6760640..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetHostWebRequest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.host;
-
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-
-/**
- * Gets the host identitied by the cluster name and host name.
- */
-public class GetHostWebRequest extends AmbariHttpWebRequest {
- private String clusterName = null;
- private String hostName = null;
- private static String pathFormat = "/api/v1/clusters/%s/hosts/%s";
-
- public GetHostWebRequest(ConnectionParams params, String clusterName, String hostName) {
- super(params);
- this.clusterName = clusterName;
- this.hostName = hostName;
- }
-
- public String getClusterName() { return this.clusterName; }
-
- public String getHostName() { return this.hostName; }
-
- @Override
- public String getHttpMethod() {
- return "GET";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return String.format(pathFormat, clusterName, hostName);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/ffb4d3b8/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetRegisteredHostWebRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetRegisteredHostWebRequest.java b/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetRegisteredHostWebRequest.java
deleted file mode 100644
index f4776d9..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/functionaltests/api/host/GetRegisteredHostWebRequest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.functionaltests.api.host;
-
-import org.apache.ambari.server.functionaltests.api.ConnectionParams;
-import org.apache.ambari.server.functionaltests.api.AmbariHttpWebRequest;
-
-/**
- * Gets a host that was previously registered with Ambari. Use this
- * method to verify if a host was registered.
- */
-public class GetRegisteredHostWebRequest extends AmbariHttpWebRequest {
- private String hostName = null;
- private static String pathFormat = "/api/v1/hosts/%s";
-
- /**
- * Gets the host information for a registered host.
- *
- * @param params - Ambari server connection information.
- * @param hostName - Name of the registered host.
- */
- public GetRegisteredHostWebRequest(ConnectionParams params, String hostName) {
- super(params);
- this.hostName = hostName;
- }
-
- public String getHostName() { return this.hostName; }
-
- @Override
- public String getHttpMethod() {
- return "GET";
- }
-
- /**
- * Get REST API path fragment for construction full URI.
- *
- * @return - REST API path
- */
- @Override
- protected String getApiPath() {
- return String.format(pathFormat, hostName);
- }
-}