You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2013/10/18 02:25:38 UTC

[16/30] AMBARI-3266. Contribute Ambari-SCOM. (Tom Beerbower via mahadev)

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Shared Scripts/RestApi.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Shared Scripts/RestApi.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Shared Scripts/RestApi.ps1
new file mode 100644
index 0000000..5e85905
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Shared Scripts/RestApi.ps1	
@@ -0,0 +1,61 @@
+## 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.
+
+$UserAgent = $("{0} (PowerShell {1}; .NET CLR {2}; {3})" -f "SCOM MP",
+                $(if ($Host.Version) { $Host.Version } else { "1.0" }),
+                [Environment]::Version,
+                [Environment]::OSVersion.ToString().Replace("Microsoft Windows ", "Win"))
+
+function InvokeRestAPI($uri, [string]$username, [string]$password, [string]$method = 'GET', [string]$requestBody = $null) {
+	# TODO: Remove prior to release!
+    #TraceTaskExecution "$method $uri $requestBody"
+    $request = [System.Net.HttpWebRequest]::Create($uri)
+    $request.Method = $method
+    $request.UserAgent = $UserAgent
+    $request.Timeout = 30000
+
+    $credentials = [Convert]::ToBase64String([Text.Encoding]::Default.GetBytes($username + ':' + $password));
+    $request.Headers.Add('Authorization', "Basic $credentials")
+    
+    if ($requestBody) {
+        $requestData = [Text.Encoding]::UTF8.GetBytes($requestBody)
+        $request.ContentLength = $requestData.Length
+        $requestStream = $request.GetRequestStream()
+        $requestStream.Write($requestData, 0, $requestData.Length)
+        $requestStream.Close()
+    }
+
+    $response = $request.GetResponse()
+    if ([int]$response.StatusCode -lt 200 -or [int]$response.StatusCode -ge 300) {
+        throw "Ambari API response status is $($response.StatusCode) : $($response.StatusDescription)."
+    }
+    $reader = [IO.StreamReader] $response.GetResponseStream()
+    $jsonString = $reader.ReadToEnd()
+    $reader.Close()
+    $response.Close()
+
+    if ($jsonString) {
+        @{ StatusCode = [int]$response.StatusCode;
+           Body = ParseJsonString $jsonString }
+    } else {
+        @{ StatusCode = $response.StatusCode }
+    }
+}
+
+function JoinUri([string]$baseUri, [string]$segment) {
+    $baseUri.TrimEnd('/') + '/' + $segment.TrimStart('/')
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StartClusterService.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StartClusterService.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StartClusterService.mpx
new file mode 100644
index 0000000..890d241
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StartClusterService.mpx
@@ -0,0 +1,45 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Monitoring>
+    <Tasks>
+      <Task ID="Ambari.SCOM.Management.Task.ClusterService.Start"
+            Target="HDLibrary!Ambari.SCOM.ClusterService"
+            Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+        <Category>Maintenance</Category>
+        <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeClusterServiceStateWriteAction">
+          <TimeoutSeconds>900</TimeoutSeconds>
+          <TargetState>STARTED</TargetState>
+          <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+          <OperationFriendlyName>Start $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+        </WriteAction>
+      </Task>
+    </Tasks>
+  </Monitoring>
+
+  <LanguagePacks>
+    <LanguagePack ID="ENU" IsDefault="true">
+      <DisplayStrings>
+        <DisplayString ElementID="Ambari.SCOM.Management.Task.ClusterService.Start">
+          <Name>Start Hadoop Cluster Service</Name>
+          <Description>Start all components participating in Cluster Service.</Description>
+        </DisplayString>
+      </DisplayStrings>
+    </LanguagePack>
+  </LanguagePacks>
+</ManagementPackFragment>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StopClusterService.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StopClusterService.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StopClusterService.mpx
new file mode 100644
index 0000000..854e33c
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/ClusterService/StopClusterService.mpx
@@ -0,0 +1,45 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Monitoring>
+    <Tasks>
+      <Task ID="Ambari.SCOM.Management.Task.ClusterService.Stop"
+            Target="HDLibrary!Ambari.SCOM.ClusterService"
+            Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+        <Category>Maintenance</Category>
+        <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeClusterServiceStateWriteAction">
+          <TimeoutSeconds>900</TimeoutSeconds>
+          <TargetState>INSTALLED</TargetState>
+          <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+          <OperationFriendlyName>Stop $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+        </WriteAction>
+      </Task>
+    </Tasks>
+  </Monitoring>
+
+  <LanguagePacks>
+    <LanguagePack ID="ENU" IsDefault="true">
+      <DisplayStrings>
+        <DisplayString ElementID="Ambari.SCOM.Management.Task.ClusterService.Stop">
+          <Name>Stop Hadoop Cluster Service</Name>
+          <Description>Stop all components participating in Cluster Service.</Description>
+        </DisplayString>
+      </DisplayStrings>
+    </LanguagePack>
+  </LanguagePacks>
+</ManagementPackFragment>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx
new file mode 100644
index 0000000..9d134a4
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StartHostComponent.mpx
@@ -0,0 +1,45 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Monitoring>
+    <Tasks>
+      <Task ID="Ambari.SCOM.Management.Task.HostComponent.Start"
+            Target="HDLibrary!Ambari.SCOM.ActiveHostComponent"
+            Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+        <Category>Maintenance</Category>
+        <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeHostComponentStateWriteAction">
+          <TimeoutSeconds>900</TimeoutSeconds>
+          <TargetState>STARTED</TargetState>
+          <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+          <OperationFriendlyName>Start $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+        </WriteAction>
+      </Task>
+    </Tasks>
+  </Monitoring>
+  
+  <LanguagePacks>
+    <LanguagePack ID="ENU" IsDefault="true">
+      <DisplayStrings>
+        <DisplayString ElementID="Ambari.SCOM.Management.Task.HostComponent.Start">
+          <Name>Start Hadoop Host Component</Name>
+          <Description>Start component service on the Host.</Description>
+        </DisplayString>
+      </DisplayStrings>
+    </LanguagePack>
+  </LanguagePacks>
+</ManagementPackFragment>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx
new file mode 100644
index 0000000..b2e5d77
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/ManagementMp/Tasks/HostComponent/StopHostComponent.mpx
@@ -0,0 +1,45 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Monitoring>
+    <Tasks>
+      <Task ID="Ambari.SCOM.Management.Task.HostComponent.Stop"
+            Target="HDLibrary!Ambari.SCOM.ActiveHostComponent"
+            Accessibility="Internal" Enabled="true" Timeout="900" Remotable="false">
+        <Category>Maintenance</Category>
+        <WriteAction ID="WA" TypeID="Ambari.SCOM.Management.Module.ChangeHostComponentStateWriteAction">
+          <TimeoutSeconds>900</TimeoutSeconds>
+          <TargetState>INSTALLED</TargetState>
+          <StatusPollingIntervalSeconds>10</StatusPollingIntervalSeconds>
+          <OperationFriendlyName>Start $Target/Property[Type="System!System.Entity"]/DisplayName$</OperationFriendlyName>
+        </WriteAction>
+      </Task>
+    </Tasks>
+  </Monitoring>
+
+  <LanguagePacks>
+    <LanguagePack ID="ENU" IsDefault="true">
+      <DisplayStrings>
+        <DisplayString ElementID="Ambari.SCOM.Management.Task.HostComponent.Stop">
+          <Name>Stop Hadoop Host Component</Name>
+          <Description>Stop component service on the Host.</Description>
+        </DisplayString>
+      </DisplayStrings>
+    </LanguagePack>
+  </LanguagePacks>
+</ManagementPackFragment>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Modules.csproj
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Modules.csproj b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Modules.csproj
new file mode 100644
index 0000000..42eb858
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Modules.csproj
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--## 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.-->
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{AEAA0FB0-D274-491A-BEB5-5354584F1400}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Ambari.SCOM.Modules</RootNamespace>
+    <AssemblyName>Ambari.SCOM.Modules</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SccProjectName>SAK</SccProjectName>
+    <SccLocalPath>SAK</SccLocalPath>
+    <SccAuxPath>SAK</SccAuxPath>
+    <SccProvider>SAK</SccProvider>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.EnterpriseManagement.HealthService">
+      <HintPath>..\Items\Libs\SCOM2012\Microsoft.EnterpriseManagement.HealthService.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Mom.Modules.DataTypes">
+      <HintPath>..\Items\Libs\SCOM2012\Microsoft.Mom.Modules.DataTypes.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="PropertyBagMultiplePerformanceDataMapperConfiguration.cs" />
+    <Compile Include="PropertyBagMultiplePerformanceDataMapper.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Properties/AssemblyInfo.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..434edd6
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/Properties/AssemblyInfo.cs
@@ -0,0 +1,53 @@
+// 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.
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Modules")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Apache Ambari")]
+[assembly: AssemblyProduct("Modules")]
+[assembly: AssemblyCopyright("Copyright © Apache Ambari 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("82f64081-c600-4cf3-be87-80362636e15a")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs
new file mode 100644
index 0000000..2de73c5
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapper.cs
@@ -0,0 +1,134 @@
+// 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.
+
+using System;
+using System.Linq;
+using System.Collections.Generic;
+using System.Xml;
+using System.Xml.Serialization;
+using Microsoft.EnterpriseManagement.HealthService;
+using Microsoft.EnterpriseManagement.Mom.Modules.DataItems;
+using Microsoft.EnterpriseManagement.Mom.Modules.DataItems.Performance;
+
+namespace Ambari.SCOM.Modules {
+    [MonitoringModule(ModuleType.Condition), ModuleOutput(true)]
+    public class PropertyBagMultiplePerformanceDataMapper : ModuleBase<MOMPerfDataItem> {
+        private readonly object shutdownLock;
+        private bool shutdown;
+
+        private PropertyBagMultiplePerformanceDataMapperConfiguration config;
+
+        public PropertyBagMultiplePerformanceDataMapper(ModuleHost<MOMPerfDataItem> moduleHost, XmlReader configuration, byte[] previousState)
+            : base(moduleHost) {
+            if (moduleHost == null)
+                throw new ArgumentNullException("moduleHost");
+
+            if (configuration == null)
+                throw new ArgumentNullException("configuration");
+
+            if (previousState != null) {
+                // Since this module never calls SaveState this value should be null.
+                throw new ArgumentOutOfRangeException("previousState");
+            }
+
+            shutdownLock = new object();
+
+            LoadConfiguration(configuration);
+        }
+
+        private void LoadConfiguration(XmlReader configuration) {
+            try {
+                config = (PropertyBagMultiplePerformanceDataMapperConfiguration)new XmlSerializer(typeof(PropertyBagMultiplePerformanceDataMapperConfiguration)).Deserialize(configuration);
+            } catch (InvalidOperationException xe) {
+                throw new ModuleException("Invalid module configuration.", xe);
+            }
+        }
+
+        [InputStream(0)]
+        public void OnNewDataItems(DataItemBase[] dataItems, bool logicalSet,
+                                   DataItemAcknowledgementCallback acknowledgedCallback, object acknowledgedState,
+                                   DataItemProcessingCompleteCallback completionCallback, object completionState) {
+            // Either both delegates are null or neither should be.
+            if ((acknowledgedCallback == null && completionCallback != null) ||
+                (acknowledgedCallback != null && completionCallback == null)) {
+                throw new ArgumentOutOfRangeException("acknowledgedCallback, completionCallback");
+            }
+
+            var ackNeeded = acknowledgedCallback != null;
+
+            lock (shutdownLock) {
+                if (shutdown) return;
+
+                var outputDataItems = new List<MOMPerfDataItem>();
+                var timeStamp = DateTime.UtcNow;
+                foreach (var dataItem in dataItems) {
+                    var bag = dataItem is PropertyBagDataItem ? (PropertyBagDataItem)dataItem
+                                : new PropertyBagDataItem(dataItem.GetItemXml());
+                    foreach (var collection in bag.Collections) {
+                        foreach (var record in collection.Value) {
+                            double value;
+                            if (record.Value == null ||
+                                !double.TryParse(record.Value.ToString(), out value)) continue;
+
+                            var mapping = config.Mappings.FirstOrDefault(m => m.PropertyName.Equals(record.Key, StringComparison.InvariantCultureIgnoreCase));
+                            if (mapping == null) continue;
+
+                            var perfDataItem = new MOMPerfDataItem(
+                                timeStamp,
+                                mapping.ObjectName, mapping.CounterName, mapping.InstanceName, 
+                                false, value,
+                                config.ManagedEntityId, config.RuleId);
+
+                            outputDataItems.Add(perfDataItem);
+                        }
+                    }
+                }
+
+                // Handle output
+                if (outputDataItems == null || outputDataItems.Count == 0) return;
+                if (ackNeeded) {
+                    DataItemAcknowledgementCallback ackDelegate = delegate(object ackState) {
+                        lock (shutdownLock) {
+                            if (shutdown) return;
+                            acknowledgedCallback(acknowledgedState);
+                            completionCallback(completionState);
+                            ModuleHost.RequestNextDataItem();
+                        }
+                    };
+
+                    ModuleHost.PostOutputDataItems(outputDataItems.ToArray(), true/*logicalSet*/, ackDelegate, null);
+                } else {
+                    ModuleHost.PostOutputDataItems(outputDataItems.ToArray(), true/*logicalSet*/);
+                    ModuleHost.RequestNextDataItem();
+                }
+            }
+        }
+
+        public override void Shutdown() {
+            lock (shutdownLock) {
+                shutdown = true;
+            }
+        }
+
+        public override void Start() {
+            lock (shutdownLock) {
+                if (shutdown) return;
+                ModuleHost.RequestNextDataItem();
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs
new file mode 100644
index 0000000..618491d
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/Modules/PropertyBagMultiplePerformanceDataMapperConfiguration.cs
@@ -0,0 +1,38 @@
+// 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.
+
+using System;
+using System.Xml.Serialization;
+
+namespace Ambari.SCOM.Modules {
+    [Serializable, XmlRoot("Configuration")]
+    public class PropertyBagMultiplePerformanceDataMapperConfiguration {
+        [XmlArray("Mappings")]
+        [XmlArrayItem("Mapping")]
+        public MappingElement[] Mappings { get; set; }
+        public string RuleId { get; set; }
+        public string ManagedEntityId { get; set; }
+    }
+
+    [Serializable]
+    public class MappingElement {
+        public string PropertyName { get; set; }
+        public string ObjectName { get; set; }
+        public string CounterName { get; set; }
+        public string InstanceName { get; set; }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx
new file mode 100644
index 0000000..ae1be35
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/AssemblyResources.mpx
@@ -0,0 +1,40 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Categories>
+    <Category ID="Ambari.SCOM.Presentation.Assembly.WidgetsWpf.Category"
+              Target="Ambari.SCOM.Presentation.Assembly.WidgetsWpf"
+              Value="Visualization!Microsoft.SystemCenter.Visualization.WpfComponentAssembly" />
+    
+    <Category ID="Ambari.SCOM.Presentation.Assembly.WidgetsSilverlight.Category"
+              Target="Ambari.SCOM.Presentation.Assembly.WidgetsSilverlight"
+              Value="Visualization!Microsoft.SystemCenter.Visualization.SilverlightComponentAssembly" />
+  </Categories>
+  
+  <Resources>
+    <Assembly ID="Ambari.SCOM.Presentation.Assembly.WidgetsWpf"
+              QualifiedName="Ambari.SCOM.Widgets.Wpf, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
+              FileName="Ambari.SCOM.Widgets.Wpf.dll"
+              Accessibility="Internal" HasNullStream="false" />
+    
+    <Assembly ID="Ambari.SCOM.Presentation.Assembly.WidgetsSilverlight"
+              QualifiedName="Ambari.SCOM.Widgets.Silverlight, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
+              FileName="Ambari.SCOM.Widgets.Silverlight.dll"
+              Accessibility="Internal" HasNullStream="false" />
+  </Resources>
+</ManagementPackFragment>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx
new file mode 100644
index 0000000..f659d7a
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundDateTimeAxis.mpx
@@ -0,0 +1,31 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.DataToForegroundDateTimeAxisConverterImplementation"
+                               TypeId="Visualization!Microsoft.SystemCenter.Visualization.DataToAxisConverter"
+                               Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/ForegroundDateTimeAxis"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Ambari.SCOM.Widgets.Charting.Axes.ForegroundDateTimeDataToAxisConverter</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx
new file mode 100644
index 0000000..ff075b6
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Axes/ForegroundLinearAxis.mpx
@@ -0,0 +1,31 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.DataToForegroundLinearAxisConverterImplementation"
+                               TypeId="Visualization!Microsoft.SystemCenter.Visualization.DataToAxisConverter"
+                               Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/ForegroundLinearAxis"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Ambari.SCOM.Widgets.Charting.Axes.ForegroundLinearDataToAxisConverter</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx
new file mode 100644
index 0000000..909b27e
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/ChartDataTypes.mpx
@@ -0,0 +1,140 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <TypeDefinitions>
+    <SchemaTypes>
+      <SchemaType ID="Ambari.SCOM.Presentation.Schema.ChartDataTypes" Accessibility="Internal">
+        <!-- Copy-paste all base schema elements since they cannot be used from Visualization library -->
+        <xs:complexType name="SeriesConfiguration" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+          <xs:sequence minOccurs="0" maxOccurs="1">
+            <xs:element name="DataKey" type="xs:string" minOccurs="0" maxOccurs="1" />
+            <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1" />
+            <xs:element name="Color" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/Color" minOccurs="0" maxOccurs="1" />
+            <xs:element name="IsVisible" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+            <xs:element name="TooltipComponentTypeName" type="xs:string" minOccurs="0" maxOccurs="1" />
+          </xs:sequence>
+        </xs:complexType>
+
+        <xs:complexType name="StackableSeriesConfiguration" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+          <xs:complexContent>
+            <xs:extension base="SeriesConfiguration">
+              <xs:sequence minOccurs="0" maxOccurs="1">
+                <xs:element name="StackedSeriesType" type="xs:string" />
+                <xs:element name="Order" type="xs:int" />
+                <xs:element name="StackSize" type="xs:int" />
+              </xs:sequence>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+
+        <xs:complexType name="Series" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+          <xs:sequence minOccurs="1" maxOccurs="1">
+            <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1" />
+            <xs:element name="Color" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/Color" minOccurs="0" maxOccurs="1" />
+            <xs:element name="IsVisible" type="xs:boolean" minOccurs="0" maxOccurs="1" />
+            <xs:element name="TooltipComponentTypeName" type="xs:string" minOccurs="0" maxOccurs="1" />
+          </xs:sequence>
+        </xs:complexType>
+
+        <xs:complexType name="Series2D" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+          <xs:complexContent>
+            <xs:extension base="Series">
+              <xs:sequence minOccurs="1" maxOccurs="1">
+                <xs:element name="Data" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/Point2D" minOccurs="0" maxOccurs="unbounded" />
+              </xs:sequence>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+
+        <!-- Series that can be stacked -->
+        <xs:complexType name="StackableSeries" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+          <xs:complexContent>
+            <xs:extension base="Series2D" />
+          </xs:complexContent>
+        </xs:complexType>
+
+        <!-- Series that contains stackable series -->
+        <xs:complexType name="StackedSeries" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+          <xs:complexContent>
+            <xs:extension base="Series">
+              <xs:sequence minOccurs="1" maxOccurs="1">
+                <!-- Use Data property because Chart control is hardcoded to use this one as data points for DataToSeriesConverter -->
+                <xs:element name="Data" type="StackableSeries" minOccurs="0" maxOccurs="unbounded" />
+              </xs:sequence>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+
+        <xs:complexType name="StackedAreaSeries" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+          <xs:complexContent>
+            <xs:extension base="StackedSeries" />
+          </xs:complexContent>
+        </xs:complexType>
+
+        <!-- Axes -->
+        <xs:complexType name="Axis" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+          <xs:sequence minOccurs="0" maxOccurs="1">
+            <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1" />
+            <xs:element name="Orientation" type="xs:string" minOccurs="1" maxOccurs="1" />
+          </xs:sequence>
+        </xs:complexType>
+
+        <xs:complexType name="LinearAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+          <xs:complexContent>
+            <xs:extension base="Axis">
+              <xs:sequence minOccurs="0" maxOccurs="1">
+                <xs:element name="Minimum" type="xs:integer" minOccurs="1" maxOccurs="1" />
+                <xs:element name="Maximum" type="xs:integer" minOccurs="1" maxOccurs="1" />
+                <xs:element name="Interval" type="xs:integer" minOccurs="1" maxOccurs="1" />
+                <xs:element name="AutoCalculate" type="xs:boolean" minOccurs="1" maxOccurs="1" />
+              </xs:sequence>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+        <xsd:complexType name="ForegroundLinearAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+          <xs:complexContent>
+            <xs:extension base="LinearAxis" />
+          </xs:complexContent>
+        </xsd:complexType>
+
+        <xs:complexType name="DateTimeAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+          <xs:complexContent>
+            <xs:extension base="Axis">
+              <xs:sequence minOccurs="0" maxOccurs="1">
+                <xs:element name="Minimum" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
+                <xs:element name="Maximum" type="xs:dateTime" minOccurs="1" maxOccurs="1" />
+                <xs:element name="Interval" type="xs:integer" minOccurs="1" maxOccurs="1" />
+                <xs:element name="DateTimeIntervalType" type="xs:anyType" sc:type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ChartDataTypes/DateTimeIntervalType" minOccurs="1" maxOccurs="1" />
+                <xs:element name="AutoCalculate" type="xs:boolean" minOccurs="1" maxOccurs="1" />
+              </xs:sequence>
+            </xs:extension>
+          </xs:complexContent>
+        </xs:complexType>
+        <xsd:complexType name="ForegroundDateTimeAxis" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sc="http://schemas.microsoft.com/SystemCenter/Common/TypeExtensions">
+          <xs:complexContent>
+            <xs:extension base="DateTimeAxis">
+              <xs:sequence minOccurs="0" maxOccurs="1">
+                <xs:element name="GridLinesHexColor" type="xs:string" minOccurs="0" maxOccurs="1" />
+              </xs:sequence>
+            </xs:extension>
+          </xs:complexContent>
+        </xsd:complexType>
+      </SchemaType>
+    </SchemaTypes>
+  </TypeDefinitions>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx
new file mode 100644
index 0000000..dfca405
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/Series/StackableSeries.mpx
@@ -0,0 +1,40 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.StackableSeriesFactoryImplementation"
+                               TypeId="Visualization!Microsoft.SystemCenter.Visualization.SeriesFactory"
+                               Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/StackableSeriesConfiguration"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Ambari.SCOM.Widgets.Charting.SeriesFactories.StackableSeriesFactory</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.DataToStackedAreaSeriesConverterImplementation"
+                               TypeId="Visualization!Microsoft.SystemCenter.Visualization.DataToSeriesConverter"
+                               Target="xsd://Ambari.SCOM.Presentation!Ambari.SCOM.Presentation.Schema.ChartDataTypes/StackedAreaSeries"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Ambari.SCOM.Widgets.Charting.DataSeriesConverters.StackedAreaDataToSeriesConverter</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>  
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx
new file mode 100644
index 0000000..a72b9a3
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Charting/SeriesStacker.mpx
@@ -0,0 +1,37 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.Charting.SeriesStacker" Accessibility="Internal">
+        <Property Name="Input" Type="BaseDataType[]" BindingDirection="In" />
+        <Property Name="Output" Type="BaseDataType[]" BindingDirection="Out" />
+      </ComponentType>
+    </ComponentTypes>
+
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.Charting.SeriesStackerImplementation"
+                               TypeId="Ambari.SCOM.Presentation.Component.Charting.SeriesStacker"
+                               Accessibility="Internal" Platform="Wpf, Silverlight">
+        <Unit>
+          <ContractFactory>Ambari.SCOM.Widgets.Charting.SeriesStacker</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx
new file mode 100644
index 0000000..40dd555
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/CollectionElementAccessor.mpx
@@ -0,0 +1,38 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.CollectionElementAccessor" Accessibility="Internal">
+        <Property Name="Collection" Type="xsd://anyType[]" BindingDirection="In" />
+        <Property Name="ElementIndex" Type="xsd://int" BindingDirection="In" />
+        <Property Name="Element" Type="xsd://anyType" BindingDirection="Out" />
+      </ComponentType>
+    </ComponentTypes>
+
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.CollectionElementAccessorImplementation"
+                               TypeId="Ambari.SCOM.Presentation.Component.CollectionElementAccessor"
+                               Accessibility="Internal" Platform="Wpf, Silverlight">
+        <Unit>
+          <ContractFactory>Ambari.SCOM.Widgets.Components.CollectionElementAccessor</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx
new file mode 100644
index 0000000..48a9510
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/EntitiesToInstancesWithRecursionLevelConverter.mpx
@@ -0,0 +1,38 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.EntitiesToInstancesWithRecursionLevelConverter" Accessibility="Internal">
+        <Property Name="Entities" Type="mpinstance://System.Library!System.Entity[]" BindingDirection="In" />
+        <Property Name="RecursionLevel" Type="xsd://int" BindingDirection="In" />
+        <Property Name="InstancesWithRecursionLevel" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataProvider/MPInstanceWithRecursionLevel[]" BindingDirection="Out" />
+      </ComponentType>
+    </ComponentTypes>
+
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.EntitiesToInstancesWithRecursionLevelConverterImplementation"
+                               TypeId="Ambari.SCOM.Presentation.Component.EntitiesToInstancesWithRecursionLevelConverter"
+                               Accessibility="Internal" Platform="Wpf, Silverlight">
+        <Unit>
+          <ContractFactory>Ambari.SCOM.Widgets.Components.EntitiesToInstancesWithRecursionLevelConverter</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx
new file mode 100644
index 0000000..773c62c
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopConfig.mpx
@@ -0,0 +1,116 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="GridLayout05CellWideTopConfig" Accessibility="Internal"
+                     Base="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutConfigBase" />
+    </ComponentTypes>
+
+    <ComponentImplementations>
+      <ComponentImplementation ID="GridLayout05CellWideTopConfigImplementation"
+                               TypeId="GridLayout05CellWideTopConfig" Platform="All" Accessibility="Internal">
+        <Composite>
+          <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutGenericConfig">
+            <Binding PropertyId="CellDefinitions">
+              <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition[]">
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                </ComplexValue>
+
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="3" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="3" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+              </ComplexValueCollection>
+            </Binding>
+            <Binding PropertyId="RowMinHeight">
+              <SimpleValue Type="xsd://int" Value="150" />
+            </Binding>
+            <Binding PropertyId="ColumnMinWidth">
+              <SimpleValue Type="xsd://int" Value="200" />
+            </Binding>
+          </Component>
+        </Composite>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
new file mode 100644
index 0000000..64ed050
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/GridLayouts/GridLayout05CellWideTopSmallTopLeftConfig.mpx
@@ -0,0 +1,116 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="GridLayout05CellWideTopSmallTopLeftConfig" Accessibility="Internal"
+                     Base="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutConfigBase" />
+    </ComponentTypes>
+
+    <ComponentImplementations>
+      <ComponentImplementation ID="GridLayout05CellWideTopSmallTopLeftConfigImplementation"
+                               TypeId="GridLayout05CellWideTopSmallTopLeftConfig" Platform="All" Accessibility="Internal">
+        <Composite>
+          <Component TypeId="Visualization!Microsoft.SystemCenter.Visualization.GridLayoutGenericConfig">
+            <Binding PropertyId="CellDefinitions">
+              <ComplexValueCollection Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition[]">
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                </ComplexValue>
+
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="3" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="0" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+                <ComplexValue Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.LayoutConfig/CellDefinition">
+                  <Binding PropertyId="Row">
+                    <SimpleValue Type="xsd://int" Value="3" />
+                  </Binding>
+                  <Binding PropertyId="RowSpan">
+                    <SimpleValue Type="xsd://int" Value="2" />
+                  </Binding>
+                  <Binding PropertyId="Column">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                  <Binding PropertyId="ColumnSpan">
+                    <SimpleValue Type="xsd://int" Value="1" />
+                  </Binding>
+                </ComplexValue>
+              </ComplexValueCollection>
+            </Binding>
+            <Binding PropertyId="RowMinHeight">
+              <SimpleValue Type="xsd://int" Value="150" />
+            </Binding>
+            <Binding PropertyId="ColumnMinWidth">
+              <SimpleValue Type="xsd://int" Value="200" />
+            </Binding>
+          </Component>
+        </Composite>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CollectionDiplexer.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CollectionDiplexer.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CollectionDiplexer.mpx
new file mode 100644
index 0000000..539b100
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CollectionDiplexer.mpx
@@ -0,0 +1,38 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.CollectionDiplexer" Accessibility="Internal">
+        <Property Name="Input1" Type="BaseDataType[]" BindingDirection="In" />
+        <Property Name="Input2" Type="BaseDataType[]" BindingDirection="In" />
+        <Property Name="Output" Type="BaseDataType[]" BindingDirection="Out" />
+      </ComponentType>
+    </ComponentTypes>
+    
+    <ComponentImplementations>
+      <ComponentImplementation ID="Microsoft.SystemCenter.Visualization.CollectionDiplexerImplementation"
+                               TypeId="Ambari.SCOM.Presentation.Component.CollectionDiplexer"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Microsoft.EnterpriseManagement.Presentation.Controls.CommonComponents.CollectionDiplexer</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx
new file mode 100644
index 0000000..1958b0b
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/ColumnsToQueryConfigurationMapper.mpx
@@ -0,0 +1,51 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.ColumnsToQueryConfigurationMapper" Accessibility="Internal">
+        <Property Name="PropertyList" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/ColumnBase[]" BindingDirection="In" />
+        <Property Name="SortPropertyList" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/SortColumnBase[]" BindingDirection="In" />
+        <Property Name="PropertyCollections" Type="BaseDataType" BindingDirection="Out" />
+        <Property Name="SortPropertyCollections" Type="BaseDataType" BindingDirection="Out" />
+      </ComponentType>
+    </ComponentTypes>
+    
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.ColumnsToQueryConfigurationMapperImplementation"
+                               TypeId="Ambari.SCOM.Presentation.Component.ColumnsToQueryConfigurationMapper"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Microsoft.EnterpriseManagement.Monitoring.UnitComponents.Data.ColumnsToQueryConfigurationMapper</ContractFactory>
+          <Property Name="PropertyList" Direction="In">
+            <Reference>$Property/PropertyList$</Reference>
+          </Property>
+          <Property Name="SortPropertyList" Direction="In">
+            <Reference>$Property/SortPropertyList$</Reference>
+          </Property>
+          <Property Name="PropertyCollections" Direction="Out">
+            <Reference>$Property/PropertyCollections$</Reference>
+          </Property>
+          <Property Name="SortPropertyCollections" Direction="Out">
+            <Reference>$Property/SortPropertyCollections$</Reference>
+          </Property>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx
new file mode 100644
index 0000000..c1267b4
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/CommonDataSourceInterface.mpx
@@ -0,0 +1,34 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.CommonDataSourceInterface" Accessibility="Internal">
+        <Property Name="Properties" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/ValueDefinition[]" BindingDirection="In" />
+        <Property Name="DataSourceIncludeProperties" Type="xsd://string" BindingDirection="In" />
+        <Property Name="Output" Type="BaseDataType[]" BindingDirection="Out" />
+        <Property Name="OutputItem" Type="BaseDataType" BindingDirection="Out" />
+        <Property Name="DisplayStrings" Type="BaseDataType" BindingDirection="Out" />
+        <Property Name="Refresh" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ActionTypes/RefreshAction" BindingDirection="In" />
+        <Property Name="ConnectionSessionTicket" Type="xsd://string" BindingDirection="In" />
+        <Property Name="IsBusy" Type="BaseDataType" BindingDirection="Out" />
+        <Property Name="LastError" Type="BaseDataType" BindingDirection="Out" />
+      </ComponentType>
+    </ComponentTypes>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx
new file mode 100644
index 0000000..fcb8af8
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/DataGridSortColumnsToSortColumnBaseCollection.mpx
@@ -0,0 +1,38 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.DataGridSortColumnsToSortColumnBaseCollection" Accessibility="Internal">
+        <Property Name="GroupedColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/SortColumnBase[]" BindingDirection="In" />
+        <Property Name="SortedColumns" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.ColumnType/SortColumnBase[]" BindingDirection="In" />
+        <Property Name="SortColumnBaseCollection" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/SortColumnBase[]" BindingDirection="Out" />
+      </ComponentType>
+    </ComponentTypes>
+
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.DataGridSortColumnsToSortColumnBaseCollectionImplementation"
+                               TypeId="Ambari.SCOM.Presentation.Component.DataGridSortColumnsToSortColumnBaseCollection"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Microsoft.EnterpriseManagement.Presentation.Controls.CommonComponents.DataGridSortColumnsToSortColumnBaseCollection</ContractFactory>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/873b3502/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx
new file mode 100644
index 0000000..1b3b13b
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/PresentationMp/Components/Standard/GetManagedEntitiesDataSource.mpx
@@ -0,0 +1,87 @@
+<!--## 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.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Presentation>
+    <ComponentTypes>
+      <ComponentType ID="Ambari.SCOM.Presentation.Component.GetManagedEntitiesDataSource"
+                     Base="Ambari.SCOM.Presentation.Component.CommonDataSourceInterface" Accessibility="Internal">
+        <Property Name="CriteriaString" Type="xsd://string" BindingDirection="In" />
+        <Property Name="BaseTypeNames" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]" BindingDirection="In" />
+        <Property Name="MaxEntities" Type="xsd://int" BindingDirection="In" />
+        <Property Name="TargetEntities" Type="mpinstance://System.Library!System.Entity[]" BindingDirection="In" />
+        <Property Name="RecursionTypeNames" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.OperationalDataTypes/BaseManagementPackType[]" BindingDirection="In" />
+        <Property Name="SortProperties" Type="xsd://Microsoft.SystemCenter.Visualization.Library!Microsoft.SystemCenter.Visualization.DataSourceTypes/SortValueDefinition[]" BindingDirection="In" />
+      </ComponentType>
+    </ComponentTypes>
+
+    <ComponentImplementations>
+      <ComponentImplementation ID="Ambari.SCOM.Presentation.Component.GetManagedEntitiesDataSourceImplementation"
+                               TypeId="Ambari.SCOM.Presentation.Component.GetManagedEntitiesDataSource"
+                               Platform="Wpf, Silverlight" Accessibility="Internal">
+        <Unit>
+          <ContractFactory>Microsoft.EnterpriseManagement.Monitoring.UnitComponents.Data.GetManagedEntitiesDataSource</ContractFactory>
+          <Property Name="ConnectionSessionTicket" Direction="In">
+            <Reference>$Service/ConnectionSessionTicket$</Reference>
+          </Property>
+          <Property Name="IsBusy" Direction="Out">
+            <Reference>$Service/IsBusy$</Reference>
+          </Property>
+          <Property Name="LastError" Direction="Out">
+            <Reference>$Service/LastError$</Reference>
+          </Property>
+          <Property Name="Refresh" Direction="In">
+            <Reference>$Property/Refresh$</Reference>
+          </Property>
+          <Property Name="Properties" Direction="In">
+            <Reference>$Property/Properties$</Reference>
+          </Property>
+          <Property Name="DataSourceIncludeProperties" Direction="In">
+            <Reference>$Property/DataSourceIncludeProperties$</Reference>
+          </Property>
+          <Property Name="Output" Direction="Out">
+            <Reference>$Property/Output$</Reference>
+          </Property>
+          <Property Name="OutputItem" Direction="Out">
+            <Reference>$Property/OutputItem$</Reference>
+          </Property>
+          <Property Name="DisplayStrings" Direction="Out">
+            <Reference>$Property/DisplayStrings$</Reference>
+          </Property>
+          <Property Name="CriteriaString" Direction="In">
+            <Reference>$Property/CriteriaString$</Reference>
+          </Property>
+          <Property Name="BaseTypeNames" Direction="In">
+            <Reference>$Property/BaseTypeNames$</Reference>
+          </Property>
+          <Property Name="MaxEntities" Direction="In">
+            <Reference>$Property/MaxEntities$</Reference>
+          </Property>
+          <Property Name="TargetEntities" Direction="In">
+            <Reference>$Property/TargetEntities$</Reference>
+          </Property>
+          <Property Name="RecursionTypeNames" Direction="In">
+            <Reference>$Property/RecursionTypeNames$</Reference>
+          </Property>
+          <Property Name="SortProperties" Direction="In">
+            <Reference>$Property/SortProperties$</Reference>
+          </Property>
+        </Unit>
+      </ComponentImplementation>
+    </ComponentImplementations>
+  </Presentation>
+</ManagementPackFragment>