This is an automated email from the ASF dual-hosted git repository.

brahma pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 39bda71b43 AMBARI-26014: Ambari Functional test execution is failing. 
(#3761)
39bda71b43 is described below

commit 39bda71b43c5572f057fd6c3cb6cbd91fcefa698
Author: Mohammad Arshad <ars...@apache.org>
AuthorDate: Sat Nov 18 22:17:45 2023 +0530

    AMBARI-26014: Ambari Functional test execution is failing. (#3761)
    
    Signed-off-by: Mohammad Arshad <ars...@apache.org>
---
 ambari-funtest/pom.xml                             |    2 +-
 .../ambari/funtest/server/tests/GetStacksTest.java |    2 -
 .../tests/RoleBasedAccessControlBasicTest.java     |    2 -
 .../funtest/server/tests/ServerTestBase.java       |   38 +-
 .../src/test/resources/ambari.properties           |   32 +
 .../src/test/resources/metrics.properties          |   23 +
 ambari-funtest/src/test/resources/os_family.json   |  129 +-
 .../HDP/2.1.1/upgrades/upgrade_bucket_test.xml     |    2 +
 .../HDP/2.1.1/upgrades/upgrade_direction.xml       |    3 +
 .../upgrades/upgrade_nonrolling_new_stack.xml      |    3 +
 .../stacks/HDP/2.1.1/upgrades/upgrade_test.xml     |    7 +
 .../HDP/2.1.1/upgrades/upgrade_test_checks.xml     |    6 +
 .../HDP/2.1.1/upgrades/upgrade_to_new_stack.xml    |    7 +
 .../stacks/HDP/2.2.0/upgrades/upgrade_test.xml     |    7 +
 .../HDP/2.2.0/upgrades/upgrade_test_checks.xml     |    6 +
 .../2.2.0/upgrades/upgrade_test_skip_failures.xml  |    2 +
 ambari-funtest/src/test/resources/version          |    2 +-
 ambari-project/pom.xml                             |    1 +
 .../checks/DatabaseConsistencyCheckHelper.java     |    3 +
 .../src/main/resources/Ambari-DDL-H2-CREATE.sql    | 1690 ++++++++++++++++++++
 20 files changed, 1913 insertions(+), 54 deletions(-)

diff --git a/ambari-funtest/pom.xml b/ambari-funtest/pom.xml
index 06e12340f8..c4e44b42e2 100644
--- a/ambari-funtest/pom.xml
+++ b/ambari-funtest/pom.xml
@@ -74,7 +74,7 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
-          <skip>true</skip>
+          <skip>${skipFunctionalTests}</skip>
         </configuration>
       </plugin>
       <plugin>
diff --git 
a/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/GetStacksTest.java
 
b/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/GetStacksTest.java
index 49cecdba27..a87807df42 100644
--- 
a/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/GetStacksTest.java
+++ 
b/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/GetStacksTest.java
@@ -31,7 +31,6 @@ import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.google.gson.JsonArray;
@@ -43,7 +42,6 @@ import com.google.gson.stream.JsonReader;
 /**
  * Simple test to get the list of stacks. Does not touch the DB.
  */
-@Ignore
 public class GetStacksTest extends ServerTestBase {
   /**
    * Waits for the ambari server to startup and then checks it's
diff --git 
a/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/RoleBasedAccessControlBasicTest.java
 
b/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/RoleBasedAccessControlBasicTest.java
index 0109f0cfde..62d0e8a6e4 100644
--- 
a/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/RoleBasedAccessControlBasicTest.java
+++ 
b/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/RoleBasedAccessControlBasicTest.java
@@ -39,7 +39,6 @@ import org.apache.ambari.funtest.server.utils.RestApiUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.http.HttpStatus;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.google.gson.JsonElement;
@@ -47,7 +46,6 @@ import com.google.gson.JsonElement;
 /**
  * Tests operations with users with different levels of privileges
  */
-@Ignore
 public class RoleBasedAccessControlBasicTest extends ServerTestBase {
 
     private String clusterName = "c1";
diff --git 
a/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/ServerTestBase.java
 
b/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/ServerTestBase.java
index a1d672eccb..aaec57c3b2 100644
--- 
a/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/ServerTestBase.java
+++ 
b/ambari-funtest/src/test/java/org/apache/ambari/funtest/server/tests/ServerTestBase.java
@@ -19,15 +19,21 @@
 package org.apache.ambari.funtest.server.tests;
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.sql.DriverManager;
 import java.sql.SQLException;
 import java.sql.SQLNonTransientConnectionException;
 import java.util.Properties;
 
+import com.google.common.base.Charsets;
 import org.apache.ambari.funtest.server.LocalAmbariServer;
+import org.apache.ambari.server.audit.AuditLoggerModule;
 import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.controller.ControllerModule;
+import org.apache.ambari.server.ldap.LdapModule;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.logging.Log;
@@ -96,14 +102,11 @@ public class ServerTestBase {
     @BeforeClass
     public static void setupTest() throws Exception {
         if (!isInitialized) {
-            Properties properties = new Properties();
+            Properties properties = readConfigFile();
             
properties.setProperty(Configuration.SERVER_PERSISTENCE_TYPE.getKey(), 
"remote");
             properties.setProperty(Configuration.SERVER_JDBC_URL.getKey(), 
Configuration.JDBC_IN_MEMORY_URL);
             properties.setProperty(Configuration.SERVER_JDBC_DRIVER.getKey(), 
Configuration.JDBC_IN_MEMORY_DRIVER);
-            properties.setProperty(Configuration.METADATA_DIR_PATH.getKey(), 
"src/test/resources/stacks");
-            properties.setProperty(Configuration.SERVER_VERSION_FILE.getKey(), 
"src/test/resources/version");
-            properties.setProperty(Configuration.OS_VERSION.getKey(), 
"centos6");
-            
properties.setProperty(Configuration.SHARED_RESOURCES_DIR.getKey(), 
"src/test/resources/");
+            properties.setProperty(Configuration.OS_VERSION.getKey(), 
"centos7");
 
             properties.setProperty(Configuration.AGENT_USE_SSL.getKey(), 
"false");
             properties.setProperty(Configuration.CLIENT_API_PORT.getKey(), 
Integer.toString(serverPort));
@@ -113,7 +116,7 @@ public class ServerTestBase {
 
             ControllerModule testModule = new ControllerModule(properties);
 
-            injector = Guice.createInjector(testModule);
+            injector = Guice.createInjector(testModule, new 
AuditLoggerModule(), new LdapModule());
             injector.getInstance(PersistService.class).start();
             initDB();
 
@@ -174,7 +177,7 @@ public class ServerTestBase {
     private static void createSourceDatabase() throws IOException, 
SQLException {
         //create database
         File projectDir = new File(System.getProperty("user.dir"));
-        File ddlFile = new File(projectDir.getParentFile(), 
"ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql");
+        File ddlFile = new File(projectDir.getParentFile(), 
"ambari-server/src/main/resources/Ambari-DDL-H2-CREATE.sql");
         String ddlFilename = ddlFile.getPath();
         DBAccessor dbAccessor = injector.getInstance(DBAccessor.class);
         dbAccessor.executeScript(ddlFilename);
@@ -263,4 +266,25 @@ public class ServerTestBase {
     @After
     public void teardown() throws Exception {
     }
+
+    private static Properties readConfigFile() {
+        Properties properties = new Properties();
+        String configFileName = "ambari.properties";
+        //Get property file stream from classpath
+        InputStream inputStream = 
Configuration.class.getClassLoader().getResourceAsStream(configFileName);
+        if (inputStream == null) {
+            throw new RuntimeException(configFileName + " not found in 
classpath");
+        }
+        // load the properties
+        try {
+            properties.load(new InputStreamReader(inputStream, 
Charsets.UTF_8));
+            inputStream.close();
+        } catch (FileNotFoundException fnf) {
+            LOG.info("No configuration file " + configFileName + " found in 
classpath.", fnf);
+        } catch (IOException ie) {
+            throw new IllegalArgumentException("Can't read configuration file 
" +
+                    configFileName, ie);
+        }
+        return properties;
+    }
 }
diff --git a/ambari-funtest/src/test/resources/ambari.properties 
b/ambari-funtest/src/test/resources/ambari.properties
new file mode 100644
index 0000000000..beb5168b91
--- /dev/null
+++ b/ambari-funtest/src/test/resources/ambari.properties
@@ -0,0 +1,32 @@
+# Copyright 2011 The Apache Software Foundation
+#
+# 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.
+
+resources.dir=src/test/resources
+mpacks-v2.staging.path=../ambari-server/src/main/resources/mpacks-v2
+metadata.path=src/test/resources/stacks
+server.version.file=src/test/resources/version
+shared.resources.dir=src/test/resources
+views.dir=src/test/resources/views
+webapp.dir=../../ambari-web/public
+common.services.path=../ambari-server/src/main/resources/common-services
+extensions.path=../ambari-server/src/main/resources/extensions
+views.directory.watcher.disable=true
+
+server.python.log.name=ambari-server-command.log
+# server.pyton.log.level=(INFO/DEBUG)
+server.python.log.level=INFO
diff --git a/ambari-funtest/src/test/resources/metrics.properties 
b/ambari-funtest/src/test/resources/metrics.properties
new file mode 100644
index 0000000000..6433295913
--- /dev/null
+++ b/ambari-funtest/src/test/resources/metrics.properties
@@ -0,0 +1,23 @@
+# Copyright 2011 The Apache Software Foundation
+#
+# 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.
+
+
+#### Source Configs #####
+# Source interval determines how often the metric is sent to sink. Its unit is 
in seconds
+metric.sources=jvm
+source.jvm.class=org.apache.ambari.server.metrics.system.impl.JvmMetricsSource
diff --git a/ambari-funtest/src/test/resources/os_family.json 
b/ambari-funtest/src/test/resources/os_family.json
index df55b61dc1..8be9e865b0 100644
--- a/ambari-funtest/src/test/resources/os_family.json
+++ b/ambari-funtest/src/test/resources/os_family.json
@@ -1,45 +1,92 @@
 {
-  "redhat": {
-    "distro": [
-      "redhat",
-      "fedora",
-      "centos",
-      "oraclelinux"
-    ],
-    "versions": [
-      5,
-      6
-    ]
+  "mapping": {
+    "redhat": {
+      "distro": [
+        "redhat",
+        "fedora",
+        "centos",
+        "oraclelinux",
+        "ascendos",
+        "xenserver",
+        "oel",
+        "ovs",
+        "cloudlinux",
+        "slc",
+        "scientific",
+        "psbm",
+        "centos linux"
+      ],
+      "versions": [
+        6,
+        7
+      ]
+    },
+    "redhat-ppc": {
+      "extends" : "redhat",
+      "distro": [
+        "redhat-ppc",
+        "centos-ppc"
+      ],
+      "versions": [
+        6,
+        7
+      ]
+    },
+    "amazonlinux": {
+      "extends" : "redhat",
+      "distro": [
+        "amazonlinux"
+      ],
+      "versions": [
+        2
+      ]
+    },
+    "debian": {
+      "extends" : "ubuntu",
+      "distro": [
+        "debian"
+      ],
+      "versions": [
+        7,
+        9
+      ]
+    },
+    "ubuntu": {
+      "distro": [
+        "ubuntu"
+      ],
+      "versions": [
+        12,
+        14,
+        16,
+        18
+      ]
+    },
+    "suse": {
+      "distro": [
+        "sles",
+        "sled",
+        "opensuse",
+        "suse"
+      ],
+      "versions": [
+        11,
+        12
+      ]
+    },
+    "winsrv": {
+      "distro": [
+        "win2008server",
+        "win2008serverr2",
+        "win2012server",
+        "win2012serverr2"
+      ],
+      "versions": [
+        6
+      ]
+    }
   },
-  "ubuntu": {
-    "distro": [
-      "ubuntu",
-      "debian"
-    ],
-    "versions": [
-      12
-    ]
-  },
-  "suse": {
-    "distro": [
-      "sles",
-      "sled",
-      "opensuse",
-      "suse"
-    ],
-    "versions": [
-      11
-    ]
-  },
-  "winsrv": {
-    "distro": [
-      "win2008server",
-      "win2008serverr2",
-      "win2012server",
-      "win2012serverr2"
-    ],
-    "versions": [
-      6
-    ]
+  "aliases": {
+    "suse11sp3": "suse11"
   }
 }
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml
 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml
index 0e6d9148d6..ba08d4b592 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_bucket_test.xml
@@ -56,6 +56,7 @@
           </task>
           
         </pre-upgrade>
+        <pre-downgrade/>
         
         <post-upgrade>
           <task xsi:type="execute">
@@ -79,6 +80,7 @@
           </task>
           
         </post-upgrade>
+        <post-downgrade/>
         
         
       </component>
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml
 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml
index 76e42d7788..dde2ae3719 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_direction.xml
@@ -88,12 +88,15 @@
             <message>This is a manual task with a placeholder of 
{{foo/bar}}</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade />
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
         <post-upgrade>
           <task xsi:type="configure" />
         </post-upgrade>
+        <post-downgrade/>
+
       </component>
     </service>
   </processing>
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_nonrolling_new_stack.xml
 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_nonrolling_new_stack.xml
index a44759e68b..d9508d57a9 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_nonrolling_new_stack.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_nonrolling_new_stack.xml
@@ -929,6 +929,7 @@
             <function>delete_storm_local_data</function>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
 
         <upgrade>
           <task xsi:type="restart-task"/>
@@ -942,6 +943,7 @@
             <function>delete_storm_local_data</function>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
 
         <upgrade>
           <task xsi:type="restart-task"/>
@@ -952,6 +954,7 @@
             <message>Please rebuild your topology using the new Storm version 
dependencies and resubmit it using the newly created jar.</message>
           </task>
         </post-upgrade>
+        <post-downgrade/>
       </component>
     </service>
 
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml
index 4f71b4ae8f..dad3e0f95e 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml
@@ -132,12 +132,14 @@
             <message>This is a manual task with a placeholder of 
{{foo/bar}}</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
         <post-upgrade>
           <task xsi:type="configure" id="2.2.0" />
         </post-upgrade>
+        <post-downgrade/>
       </component>
     </service>
     
@@ -152,6 +154,7 @@
             <message>{{direction.verb.proper}} your database</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
@@ -160,6 +163,7 @@
             <command>ls</command>
           </task>
         </post-upgrade>
+        <post-downgrade/>
       </component>
       <component name="DATANODE">
         <pre-downgrade />
@@ -181,6 +185,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
       <component name="NODEMANAGER">
         <pre-upgrade>
@@ -189,6 +194,7 @@
           </task>
           <task xsi:type="configure" id="hdp_2_1_1_nm_pre_upgrade"/>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
     </service>
     
@@ -205,6 +211,7 @@
           <task xsi:type="configure" id="hdp_2_1_1_hive_server_foo"/>
 
         </pre-upgrade>
+        <pre-downgrade/>
        </component>
      </service>    
   </processing>
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml
 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml
index 85736e1096..4e510e5b1b 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_checks.xml
@@ -143,12 +143,14 @@
             <message>This is a manual task with a placeholder of 
{{foo/bar}}</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
         <post-upgrade>
           <task xsi:type="configure" id="hdp_2_1_1_zk_post_upgrade"/>
         </post-upgrade>
+        <post-downgrade/>
       </component>
     </service>
     <service name="HDFS">
@@ -162,6 +164,7 @@
             <message>Update your database</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
@@ -170,6 +173,7 @@
             <command>ls</command>
           </task>
         </post-upgrade>
+        <post-downgrade/>
       </component>
       <component name="DATANODE">
         <pre-downgrade />
@@ -190,6 +194,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
       <component name="NODEMANAGER">
         <pre-upgrade>
@@ -197,6 +202,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
     </service>
   </processing>
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml
 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml
index bfd994ee11..0b59477ab8 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_to_new_stack.xml
@@ -139,11 +139,13 @@
             <message>This is a manual task with a placeholder of 
{{foo/bar}}</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
         <post-upgrade>
         </post-upgrade>
+        <post-downgrade/>
       </component>
     </service>
     
@@ -158,6 +160,7 @@
             <message>{{direction.verb.proper}} your database</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
@@ -166,6 +169,7 @@
             <command>ls</command>
           </task>
         </post-upgrade>
+        <post-downgrade/>
       </component>
       <component name="DATANODE">
         <pre-downgrade />
@@ -187,6 +191,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
       <component name="NODEMANAGER">
         <pre-upgrade>
@@ -194,6 +199,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
     </service>
     
@@ -207,6 +213,7 @@
 
           <task xsi:type="configure" id="hdp_2_1_1_test_properties"/>
         </pre-upgrade>
+        <pre-downgrade/>
        </component>
      </service>    
   </processing>
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml 
b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml
index 5d41754a93..a1c98213ec 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test.xml
@@ -132,12 +132,14 @@
             <message>This is a manual task with a placeholder of 
{{foo/bar}}</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
         <post-upgrade>
           <task xsi:type="configure" />
         </post-upgrade>
+        <post-downgrade/>
       </component>
     </service>
     
@@ -155,6 +157,7 @@
             <message>{{direction.verb.proper}} your database</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
@@ -163,6 +166,7 @@
             <command>ls</command>
           </task>
         </post-upgrade>
+        <post-downgrade/>
       </component>
       <component name="DATANODE">
         <pre-downgrade />
@@ -184,6 +188,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
       <component name="NODEMANAGER">
         <pre-upgrade>
@@ -191,6 +196,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
     </service>
     
@@ -215,6 +221,7 @@
             </condition>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
        </component>
      </service>    
   </processing>
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml
 
b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml
index fb03cb36e7..592089e649 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_checks.xml
@@ -148,12 +148,14 @@
             <message>This is a manual task with a placeholder of 
{{foo/bar}}</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
         <post-upgrade>
           <task xsi:type="configure" id="hdp_2_2_0_zk_post_upgrade"/>
         </post-upgrade>
+        <post-downgrade/>
       </component>
     </service>
     <service name="HDFS">
@@ -167,6 +169,7 @@
             <message>Update your database</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task" />
         </upgrade>
@@ -175,6 +178,7 @@
             <command>ls</command>
           </task>
         </post-upgrade>
+        <post-downgrade/>
       </component>
       <component name="DATANODE">
         <pre-downgrade />
@@ -195,6 +199,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
       <component name="NODEMANAGER">
         <pre-upgrade>
@@ -202,6 +207,7 @@
             <command>ls</command>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
       </component>
     </service>
   </processing>
diff --git 
a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_skip_failures.xml
 
b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_skip_failures.xml
index b2c4b9398c..abbec263b6 100644
--- 
a/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_skip_failures.xml
+++ 
b/ambari-funtest/src/test/resources/stacks/HDP/2.2.0/upgrades/upgrade_test_skip_failures.xml
@@ -63,12 +63,14 @@
             <message>This is a manual task with a placeholder of 
{{foo/bar}}</message>
           </task>
         </pre-upgrade>
+        <pre-downgrade/>
         <upgrade>
           <task xsi:type="restart-task"/>
         </upgrade>
         <post-upgrade>
           <task xsi:type="configure"/>
         </post-upgrade>
+        <post-downgrade/>
       </component>
     </service>
   </processing>
diff --git a/ambari-funtest/src/test/resources/version 
b/ambari-funtest/src/test/resources/version
index 359a5b952d..56fea8a08d 100644
--- a/ambari-funtest/src/test/resources/version
+++ b/ambari-funtest/src/test/resources/version
@@ -1 +1 @@
-2.0.0
\ No newline at end of file
+3.0.0
\ No newline at end of file
diff --git a/ambari-project/pom.xml b/ambari-project/pom.xml
index ef82f615ea..4e40110db3 100644
--- a/ambari-project/pom.xml
+++ b/ambari-project/pom.xml
@@ -27,6 +27,7 @@
   <packaging>pom</packaging>
   <properties>
     <skipPythonTests>false</skipPythonTests>
+    <skipFunctionalTests>true</skipFunctionalTests>
     <solr.version>5.5.2</solr.version>
     <ambari.dir>${project.parent.basedir}</ambari.dir>
     <powermock.version>1.6.3</powermock.version>
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
index 3d8b4e9019..df5482d2d7 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
@@ -264,6 +264,9 @@ public class DatabaseConsistencyCheckHelper {
    */
   static void checkForLargeTables() {
     LOG.info("Checking for tables with large physical size");
+    if (dbAccessor.getDbType() == DBAccessor.DbType.H2) {
+      return;
+    }
 
     ensureConnection();
 
diff --git a/ambari-server/src/main/resources/Ambari-DDL-H2-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-H2-CREATE.sql
new file mode 100644
index 0000000000..9b3b871779
--- /dev/null
+++ b/ambari-server/src/main/resources/Ambari-DDL-H2-CREATE.sql
@@ -0,0 +1,1690 @@
+--
+-- 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.
+--
+
+------create tables and grant privileges to db user---------
+CREATE TABLE registries(
+ id BIGINT NOT NULL,
+ registy_name VARCHAR(255) NOT NULL,
+ registry_type VARCHAR(255) NOT NULL,
+ registry_uri VARCHAR(255) NOT NULL,
+ CONSTRAINT PK_registries PRIMARY KEY (id));
+
+CREATE TABLE mpacks(
+ id BIGINT NOT NULL,
+ mpack_name VARCHAR(255) NOT NULL,
+ mpack_version VARCHAR(255) NOT NULL,
+ mpack_uri VARCHAR(255),
+ registry_id BIGINT,
+ CONSTRAINT PK_mpacks PRIMARY KEY (id),
+ CONSTRAINT FK_registries FOREIGN KEY (registry_id) REFERENCES registries(id),
+ CONSTRAINT uni_mpack_name_version UNIQUE(mpack_name, mpack_version));
+
+CREATE TABLE stack(
+  stack_id BIGINT NOT NULL,
+  stack_name VARCHAR(255) NOT NULL,
+  stack_version VARCHAR(255) NOT NULL,
+  mpack_id BIGINT,
+  CONSTRAINT PK_stack PRIMARY KEY (stack_id),
+  CONSTRAINT FK_mpacks FOREIGN KEY (mpack_id) REFERENCES mpacks(id),
+  CONSTRAINT UQ_stack UNIQUE (stack_name, stack_version));
+
+CREATE TABLE extension(
+  extension_id BIGINT NOT NULL,
+  extension_name VARCHAR(255) NOT NULL,
+  extension_version VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_extension PRIMARY KEY (extension_id),
+  CONSTRAINT UQ_extension UNIQUE(extension_name, extension_version));
+
+CREATE TABLE extensionlink(
+  link_id BIGINT NOT NULL,
+  stack_id BIGINT NOT NULL,
+  extension_id BIGINT NOT NULL,
+  CONSTRAINT PK_extensionlink PRIMARY KEY (link_id),
+  CONSTRAINT FK_extensionlink_stack_id FOREIGN KEY (stack_id) REFERENCES 
stack(stack_id),
+  CONSTRAINT FK_extensionlink_extension_id FOREIGN KEY (extension_id) 
REFERENCES extension(extension_id),
+  CONSTRAINT UQ_extension_link UNIQUE(stack_id, extension_id));
+
+CREATE TABLE adminresourcetype (
+  resource_type_id INTEGER NOT NULL,
+  resource_type_name VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_adminresourcetype PRIMARY KEY (resource_type_id));
+
+CREATE TABLE adminresource (
+  resource_id BIGINT NOT NULL,
+  resource_type_id INTEGER NOT NULL,
+  CONSTRAINT PK_adminresource PRIMARY KEY (resource_id),
+  CONSTRAINT FK_resource_resource_type_id FOREIGN KEY (resource_type_id) 
REFERENCES adminresourcetype(resource_type_id));
+
+CREATE TABLE clusters (
+  cluster_id BIGINT NOT NULL,
+  resource_id BIGINT NOT NULL,
+  upgrade_id BIGINT,
+  cluster_info VARCHAR(255) NOT NULL,
+  cluster_name VARCHAR(100) NOT NULL UNIQUE,
+  provisioning_state VARCHAR(255) NOT NULL DEFAULT 'INIT',
+  security_type VARCHAR(32) NOT NULL DEFAULT 'NONE',
+  desired_cluster_state VARCHAR(255) NOT NULL,
+  desired_stack_id BIGINT NOT NULL,
+  CONSTRAINT PK_clusters PRIMARY KEY (cluster_id),
+  CONSTRAINT FK_clusters_desired_stack_id FOREIGN KEY (desired_stack_id) 
REFERENCES stack(stack_id),
+  CONSTRAINT FK_clusters_resource_id FOREIGN KEY (resource_id) REFERENCES 
adminresource(resource_id));
+
+CREATE TABLE clusterconfig (
+  config_id BIGINT NOT NULL,
+  version_tag VARCHAR(255) NOT NULL,
+  version BIGINT NOT NULL,
+  type_name VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  stack_id BIGINT NOT NULL,
+  selected SMALLINT NOT NULL DEFAULT 0,
+  config_data VARCHAR(3000) NOT NULL,
+  config_attributes VARCHAR(3000),
+  create_timestamp BIGINT NOT NULL,
+  unmapped SMALLINT NOT NULL DEFAULT 0,
+  selected_timestamp BIGINT NOT NULL DEFAULT 0,
+  CONSTRAINT PK_clusterconfig PRIMARY KEY (config_id),
+  CONSTRAINT FK_clusterconfig_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id),
+  CONSTRAINT FK_clusterconfig_stack_id FOREIGN KEY (stack_id) REFERENCES 
stack(stack_id),
+  CONSTRAINT UQ_config_type_tag UNIQUE (version_tag, type_name, cluster_id),
+  CONSTRAINT UQ_config_type_version UNIQUE (cluster_id, type_name, version));
+
+CREATE TABLE ambari_configuration (
+  category_name VARCHAR(100) NOT NULL,
+  property_name VARCHAR(100) NOT NULL,
+  property_value VARCHAR(4000) NOT NULL,
+  CONSTRAINT PK_ambari_configuration PRIMARY KEY (category_name, 
property_name));
+
+CREATE TABLE serviceconfig (
+  service_config_id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  version BIGINT NOT NULL,
+  create_timestamp BIGINT NOT NULL,
+  stack_id BIGINT NOT NULL,
+  user_name VARCHAR(255) NOT NULL DEFAULT '_db',
+  group_id BIGINT,
+  note VARCHAR(3000),
+  CONSTRAINT PK_serviceconfig PRIMARY KEY (service_config_id),
+  CONSTRAINT FK_serviceconfig_stack_id FOREIGN KEY (stack_id) REFERENCES 
stack(stack_id),
+  CONSTRAINT UQ_scv_service_version UNIQUE (cluster_id, service_name, 
version));
+
+CREATE TABLE hosts (
+  host_id BIGINT NOT NULL,
+  host_name VARCHAR(255) NOT NULL,
+  cpu_count INTEGER NOT NULL,
+  ph_cpu_count INTEGER,
+  cpu_info VARCHAR(255) NOT NULL,
+  discovery_status VARCHAR(2000) NOT NULL,
+  host_attributes VARCHAR(20000) NOT NULL,
+  ipv4 VARCHAR(255),
+  ipv6 VARCHAR(255),
+  public_host_name VARCHAR(255),
+  last_registration_time BIGINT NOT NULL,
+  os_arch VARCHAR(255) NOT NULL,
+  os_info VARCHAR(1000) NOT NULL,
+  os_type VARCHAR(255) NOT NULL,
+  rack_info VARCHAR(255) NOT NULL,
+  total_mem BIGINT NOT NULL,
+  CONSTRAINT PK_hosts PRIMARY KEY (host_id),
+  CONSTRAINT UQ_hosts_host_name UNIQUE (host_name));
+
+CREATE TABLE serviceconfighosts (
+  service_config_id BIGINT NOT NULL,
+  host_id BIGINT NOT NULL,
+  CONSTRAINT PK_serviceconfighosts PRIMARY KEY (service_config_id, host_id),
+  CONSTRAINT FK_scvhosts_host_id FOREIGN KEY (host_id) REFERENCES 
hosts(host_id),
+  CONSTRAINT FK_scvhosts_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
+
+CREATE TABLE serviceconfigmapping (
+  service_config_id BIGINT NOT NULL,
+  config_id BIGINT NOT NULL,
+  CONSTRAINT PK_serviceconfigmapping PRIMARY KEY (service_config_id, 
config_id),
+  CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES 
clusterconfig(config_id),
+  CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES 
serviceconfig(service_config_id));
+
+CREATE TABLE clusterservices (
+  service_name VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  service_enabled INTEGER NOT NULL,
+  CONSTRAINT PK_clusterservices PRIMARY KEY (service_name, cluster_id),
+  CONSTRAINT FK_clusterservices_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
+CREATE TABLE clusterstate (
+  cluster_id BIGINT NOT NULL,
+  current_cluster_state VARCHAR(255) NOT NULL,
+  current_stack_id BIGINT NOT NULL,
+  CONSTRAINT PK_clusterstate PRIMARY KEY (cluster_id),
+  CONSTRAINT FK_clusterstate_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id),
+  CONSTRAINT FK_cs_current_stack_id FOREIGN KEY (current_stack_id) REFERENCES 
stack(stack_id));
+
+CREATE TABLE repo_version (
+  repo_version_id BIGINT NOT NULL,
+  stack_id BIGINT NOT NULL,
+  version VARCHAR(255) NOT NULL,
+  display_name VARCHAR(128) NOT NULL,
+  repo_type VARCHAR(255) DEFAULT 'STANDARD' NOT NULL,
+  hidden SMALLINT NOT NULL DEFAULT 0,
+  resolved SMALLINT NOT NULL DEFAULT 0,
+  legacy SMALLINT NOT NULL DEFAULT 0,
+  version_url VARCHAR(1024),
+  version_xml CLOB,
+  version_xsd VARCHAR(512),
+  parent_id BIGINT,
+  CONSTRAINT PK_repo_version PRIMARY KEY (repo_version_id),
+  CONSTRAINT FK_repoversion_stack_id FOREIGN KEY (stack_id) REFERENCES 
stack(stack_id),
+  CONSTRAINT UQ_repo_version_display_name UNIQUE (display_name),
+  CONSTRAINT UQ_repo_version_stack_id UNIQUE (stack_id, version));
+
+CREATE TABLE repo_os (
+  id BIGINT NOT NULL,
+  repo_version_id BIGINT NOT NULL,
+  family VARCHAR(255) NOT NULL DEFAULT '',
+  ambari_managed SMALLINT DEFAULT 1,
+  CONSTRAINT PK_repo_os_id PRIMARY KEY (id),
+  CONSTRAINT FK_repo_os_id_repo_version_id FOREIGN KEY (repo_version_id) 
REFERENCES repo_version (repo_version_id));
+
+CREATE TABLE repo_definition (
+  id BIGINT NOT NULL,
+  repo_os_id BIGINT,
+  repo_name VARCHAR(255) NOT NULL,
+  repo_id VARCHAR(255) NOT NULL,
+  base_url VARCHAR(2048) NOT NULL,
+  distribution VARCHAR(2048),
+  components VARCHAR(2048),
+  unique_repo SMALLINT DEFAULT 1,
+  mirrors VARCHAR(2048),
+  CONSTRAINT PK_repo_definition_id PRIMARY KEY (id),
+  CONSTRAINT FK_repo_definition_repo_os_id FOREIGN KEY (repo_os_id) REFERENCES 
repo_os (id));
+
+CREATE TABLE repo_tags (
+  repo_definition_id BIGINT NOT NULL,
+  tag VARCHAR(255) NOT NULL,
+  CONSTRAINT FK_repo_tag_definition_id FOREIGN KEY (repo_definition_id) 
REFERENCES repo_definition (id));
+
+CREATE TABLE repo_applicable_services (
+  repo_definition_id BIGINT NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  CONSTRAINT FK_repo_app_service_def_id FOREIGN KEY (repo_definition_id) 
REFERENCES repo_definition (id));
+
+CREATE TABLE servicecomponentdesiredstate (
+  id BIGINT NOT NULL,
+  component_name VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  desired_repo_version_id BIGINT NOT NULL,
+  desired_state VARCHAR(255) NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  recovery_enabled SMALLINT NOT NULL DEFAULT 0,
+  repo_state VARCHAR(255) NOT NULL DEFAULT 'NOT_REQUIRED',
+  CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id),
+  CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, 
cluster_id),
+  CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) 
REFERENCES repo_version (repo_version_id),
+  CONSTRAINT srvccmponentdesiredstatesrvcnm FOREIGN KEY (service_name, 
cluster_id) REFERENCES clusterservices (service_name, cluster_id));
+
+CREATE TABLE hostcomponentdesiredstate (
+  id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  component_name VARCHAR(255) NOT NULL,
+  desired_state VARCHAR(255) NOT NULL,
+  host_id BIGINT NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  admin_state VARCHAR(32),
+  maintenance_state VARCHAR(32) NOT NULL,
+  blueprint_provisioning_state VARCHAR(255) DEFAULT 'NONE',
+  restart_required SMALLINT NOT NULL DEFAULT 0,
+  CONSTRAINT PK_hostcomponentdesiredstate PRIMARY KEY (id),
+  CONSTRAINT UQ_hcdesiredstate_name UNIQUE (component_name, service_name, 
host_id, cluster_id),
+  CONSTRAINT FK_hcdesiredstate_host_id FOREIGN KEY (host_id) REFERENCES hosts 
(host_id),
+  CONSTRAINT hstcmpnntdesiredstatecmpnntnme FOREIGN KEY (component_name, 
service_name, cluster_id) REFERENCES servicecomponentdesiredstate 
(component_name, service_name, cluster_id));
+
+
+CREATE TABLE hostcomponentstate (
+  id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  component_name VARCHAR(255) NOT NULL,
+  version VARCHAR(32) NOT NULL DEFAULT 'UNKNOWN',
+  current_state VARCHAR(255) NOT NULL,
+  last_live_state VARCHAR(255) NOT NULL DEFAULT 'UNKNOWN',
+  host_id BIGINT NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  upgrade_state VARCHAR(32) NOT NULL DEFAULT 'NONE',
+  CONSTRAINT pk_hostcomponentstate PRIMARY KEY (id),
+  CONSTRAINT FK_hostcomponentstate_host_id FOREIGN KEY (host_id) REFERENCES 
hosts (host_id),
+  CONSTRAINT hstcomponentstatecomponentname FOREIGN KEY (component_name, 
service_name, cluster_id) REFERENCES servicecomponentdesiredstate 
(component_name, service_name, cluster_id));
+
+CREATE INDEX idx_host_component_state on hostcomponentstate(host_id, 
component_name, service_name, cluster_id);
+
+CREATE TABLE hoststate (
+  agent_version VARCHAR(255) NOT NULL,
+  available_mem BIGINT NOT NULL,
+  current_state VARCHAR(255) NOT NULL,
+  health_status VARCHAR(255),
+  host_id BIGINT NOT NULL,
+  time_in_state BIGINT NOT NULL,
+  maintenance_state VARCHAR(512),
+  CONSTRAINT PK_hoststate PRIMARY KEY (host_id),
+  CONSTRAINT FK_hoststate_host_id FOREIGN KEY (host_id) REFERENCES hosts 
(host_id));
+
+CREATE TABLE host_version (
+  id BIGINT NOT NULL,
+  repo_version_id BIGINT NOT NULL,
+  host_id BIGINT NOT NULL,
+  state VARCHAR(32) NOT NULL,
+  CONSTRAINT PK_host_version PRIMARY KEY (id),
+  CONSTRAINT FK_host_version_host_id FOREIGN KEY (host_id) REFERENCES hosts 
(host_id),
+  CONSTRAINT FK_host_version_repovers_id FOREIGN KEY (repo_version_id) 
REFERENCES repo_version (repo_version_id),
+  CONSTRAINT UQ_host_repo UNIQUE(host_id, repo_version_id));
+
+CREATE TABLE servicedesiredstate (
+  cluster_id BIGINT NOT NULL,
+  desired_host_role_mapping INTEGER NOT NULL,
+  desired_repo_version_id BIGINT NOT NULL,
+  desired_state VARCHAR(255) NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  maintenance_state VARCHAR(32) NOT NULL,
+  credential_store_enabled SMALLINT NOT NULL DEFAULT 0,
+  CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name),
+  CONSTRAINT FK_repo_version_id FOREIGN KEY (desired_repo_version_id) 
REFERENCES repo_version (repo_version_id),
+  CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, 
cluster_id) REFERENCES clusterservices (service_name, cluster_id));
+
+CREATE TABLE adminprincipaltype (
+  principal_type_id INTEGER NOT NULL,
+  principal_type_name VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_adminprincipaltype PRIMARY KEY (principal_type_id));
+
+CREATE TABLE adminprincipal (
+  principal_id BIGINT NOT NULL,
+  principal_type_id INTEGER NOT NULL,
+  CONSTRAINT PK_adminprincipal PRIMARY KEY (principal_id),
+  CONSTRAINT FK_principal_principal_type_id FOREIGN KEY (principal_type_id) 
REFERENCES adminprincipaltype(principal_type_id));
+
+CREATE TABLE users (
+  user_id INTEGER,
+  principal_id BIGINT NOT NULL,
+  user_name VARCHAR(255) NOT NULL,
+  active INTEGER NOT NULL DEFAULT 1,
+  consecutive_failures INTEGER NOT NULL DEFAULT 0,
+  active_widget_layouts VARCHAR(1024) DEFAULT NULL,
+  display_name VARCHAR(255) NOT NULL,
+  local_username VARCHAR(255) NOT NULL,
+  create_time BIGINT NOT NULL,
+  version BIGINT NOT NULL DEFAULT 0,
+  CONSTRAINT PK_users PRIMARY KEY (user_id),
+  CONSTRAINT FK_users_principal_id FOREIGN KEY (principal_id) REFERENCES 
adminprincipal(principal_id),
+  CONSTRAINT UNQ_users_0 UNIQUE (user_name));
+
+CREATE TABLE user_authentication (
+  user_authentication_id INTEGER,
+  user_id INTEGER NOT NULL,
+  authentication_type VARCHAR(50) NOT NULL,
+  authentication_key VARCHAR(2048),
+  create_time BIGINT NOT NULL,
+  update_time BIGINT NOT NULL,
+  CONSTRAINT PK_user_authentication PRIMARY KEY (user_authentication_id),
+  CONSTRAINT FK_user_authentication_users FOREIGN KEY (user_id) REFERENCES 
users (user_id));
+
+CREATE TABLE groups (
+  group_id INTEGER,
+  principal_id BIGINT NOT NULL,
+  group_name VARCHAR(255) NOT NULL,
+  ldap_group INTEGER NOT NULL DEFAULT 0,
+  group_type VARCHAR(255) NOT NULL DEFAULT 'LOCAL',
+  CONSTRAINT PK_groups PRIMARY KEY (group_id),
+  UNIQUE (ldap_group, group_name),
+  CONSTRAINT FK_groups_principal_id FOREIGN KEY (principal_id) REFERENCES 
adminprincipal(principal_id));
+
+CREATE TABLE members (
+  member_id INTEGER,
+  group_id INTEGER NOT NULL,
+  user_id INTEGER NOT NULL,
+  CONSTRAINT PK_members PRIMARY KEY (member_id),
+  UNIQUE(group_id, user_id),
+  CONSTRAINT FK_members_group_id FOREIGN KEY (group_id) REFERENCES groups 
(group_id),
+  CONSTRAINT FK_members_user_id FOREIGN KEY (user_id) REFERENCES users 
(user_id));
+
+CREATE TABLE requestschedule (
+  schedule_id bigint,
+  cluster_id bigint NOT NULL,
+  description varchar(255),
+  status varchar(255),
+  batch_separation_seconds smallint,
+  batch_toleration_limit smallint,
+  batch_toleration_limit_per_batch smallint,
+  pause_after_first_batch BOOLEAN,
+  authenticated_user_id INTEGER,
+  create_user varchar(255),
+  create_timestamp bigint,
+  update_user varchar(255),
+  update_timestamp bigint,
+  minutes varchar(10),
+  hours varchar(10),
+  days_of_month varchar(10),
+  month varchar(10),
+  day_of_week varchar(10),
+  yearToSchedule varchar(10),
+  startTime varchar(50),
+  endTime varchar(50),
+  last_execution_status varchar(255),
+  CONSTRAINT PK_requestschedule PRIMARY KEY (schedule_id));
+
+CREATE TABLE request (
+  request_id BIGINT NOT NULL,
+  cluster_id BIGINT,
+  command_name VARCHAR(255),
+  create_time BIGINT NOT NULL,
+  end_time BIGINT NOT NULL,
+  exclusive_execution SMALLINT NOT NULL DEFAULT 0,
+  inputs BLOB,
+  request_context VARCHAR(255),
+  request_type VARCHAR(255),
+  request_schedule_id BIGINT,
+  start_time BIGINT NOT NULL,
+  status VARCHAR(255) NOT NULL DEFAULT 'PENDING',
+  display_status VARCHAR(255) NOT NULL DEFAULT 'PENDING',
+  cluster_host_info BLOB NOT NULL,
+  user_name VARCHAR(255),
+  CONSTRAINT PK_request PRIMARY KEY (request_id),
+  CONSTRAINT FK_request_schedule_id FOREIGN KEY (request_schedule_id) 
REFERENCES requestschedule (schedule_id));
+
+CREATE TABLE stage (
+  stage_id BIGINT NOT NULL,
+  request_id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  skippable SMALLINT DEFAULT 0 NOT NULL,
+  supports_auto_skip_failure SMALLINT DEFAULT 0 NOT NULL,
+  log_info VARCHAR(255) NOT NULL,
+  request_context VARCHAR(255),
+  command_params BLOB,
+  host_params BLOB,
+  command_execution_type VARCHAR(32) NOT NULL DEFAULT 'STAGE',
+  status VARCHAR(255) NOT NULL DEFAULT 'PENDING',
+  display_status VARCHAR(255) NOT NULL DEFAULT 'PENDING',
+  CONSTRAINT PK_stage PRIMARY KEY (stage_id, request_id),
+  CONSTRAINT FK_stage_request_id FOREIGN KEY (request_id) REFERENCES request 
(request_id));
+
+CREATE TABLE host_role_command (
+  task_id BIGINT NOT NULL,
+  attempt_count SMALLINT NOT NULL,
+  retry_allowed SMALLINT DEFAULT 0 NOT NULL,
+  event VARCHAR(32000) NOT NULL,
+  exitcode INTEGER NOT NULL,
+  host_id BIGINT,
+  last_attempt_time BIGINT NOT NULL,
+  request_id BIGINT NOT NULL,
+  role VARCHAR(255),
+  stage_id BIGINT NOT NULL,
+  start_time BIGINT NOT NULL,
+  original_start_time BIGINT NOT NULL,
+  end_time BIGINT,
+  status VARCHAR(255) NOT NULL DEFAULT 'PENDING',
+  auto_skip_on_failure SMALLINT DEFAULT 0 NOT NULL,
+  std_error BLOB,
+  std_out BLOB,
+  output_log VARCHAR(255),
+  error_log VARCHAR(255),
+  structured_out BLOB,
+  role_command VARCHAR(255),
+  command_detail VARCHAR(255),
+  custom_command_name VARCHAR(255),
+  ops_display_name VARCHAR(255),
+  is_background SMALLINT DEFAULT 0 NOT NULL,
+  CONSTRAINT PK_host_role_command PRIMARY KEY (task_id),
+  CONSTRAINT FK_host_role_command_host_id FOREIGN KEY (host_id) REFERENCES 
hosts (host_id),
+  CONSTRAINT FK_host_role_command_stage_id FOREIGN KEY (stage_id, request_id) 
REFERENCES stage (stage_id, request_id));
+
+CREATE TABLE execution_command (
+  command BLOB,
+  task_id BIGINT NOT NULL,
+  CONSTRAINT PK_execution_command PRIMARY KEY (task_id),
+  CONSTRAINT FK_execution_command_task_id FOREIGN KEY (task_id) REFERENCES 
host_role_command (task_id));
+
+CREATE TABLE role_success_criteria (
+  role VARCHAR(255) NOT NULL,
+  request_id BIGINT NOT NULL,
+  stage_id BIGINT NOT NULL,
+  success_factor FLOAT NOT NULL,
+  CONSTRAINT PK_role_success_criteria PRIMARY KEY (role, request_id, stage_id),
+  CONSTRAINT role_success_criteria_stage_id FOREIGN KEY (stage_id, request_id) 
REFERENCES stage (stage_id, request_id));
+
+CREATE TABLE requestresourcefilter (
+  filter_id BIGINT NOT NULL,
+  request_id BIGINT NOT NULL,
+  service_name VARCHAR(255),
+  component_name VARCHAR(255),
+  hosts BLOB,
+  CONSTRAINT PK_requestresourcefilter PRIMARY KEY (filter_id),
+  CONSTRAINT FK_reqresfilter_req_id FOREIGN KEY (request_id) REFERENCES 
request (request_id));
+
+CREATE TABLE requestoperationlevel (
+  operation_level_id BIGINT NOT NULL,
+  request_id BIGINT NOT NULL,
+  level_name VARCHAR(255),
+  cluster_name VARCHAR(255),
+  service_name VARCHAR(255),
+  host_component_name VARCHAR(255),
+  host_id BIGINT DEFAULT 0,
+  CONSTRAINT PK_requestoperationlevel PRIMARY KEY (operation_level_id),
+  CONSTRAINT FK_req_op_level_req_id FOREIGN KEY (request_id) REFERENCES 
request (request_id));
+
+CREATE TABLE ClusterHostMapping (
+  cluster_id BIGINT NOT NULL,
+  host_id BIGINT NOT NULL,
+  CONSTRAINT PK_ClusterHostMapping PRIMARY KEY (cluster_id, host_id),
+  CONSTRAINT FK_clhostmapping_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id),
+  CONSTRAINT FK_clusterhostmapping_host_id FOREIGN KEY (host_id) REFERENCES 
hosts (host_id));
+
+CREATE TABLE key_value_store (
+  "key" VARCHAR(255),
+  "value" VARCHAR(20000),
+  CONSTRAINT PK_key_value_store PRIMARY KEY ("key"));
+
+CREATE TABLE hostconfigmapping (
+  cluster_id BIGINT NOT NULL,
+  host_id BIGINT NOT NULL,
+  type_name VARCHAR(255) NOT NULL,
+  version_tag VARCHAR(255) NOT NULL,
+  service_name VARCHAR(255),
+  create_timestamp BIGINT NOT NULL,
+  selected INTEGER NOT NULL DEFAULT 0,
+  user_name VARCHAR(255) NOT NULL DEFAULT '_db',
+  CONSTRAINT PK_hostconfigmapping PRIMARY KEY (cluster_id, host_id, type_name, 
create_timestamp),
+  CONSTRAINT FK_hostconfmapping_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id),
+  CONSTRAINT FK_hostconfmapping_host_id FOREIGN KEY (host_id) REFERENCES hosts 
(host_id));
+
+CREATE TABLE metainfo (
+  "metainfo_key" VARCHAR(255),
+  "metainfo_value" VARCHAR(20000),
+  CONSTRAINT PK_metainfo PRIMARY KEY ("metainfo_key"));
+
+CREATE TABLE ambari_sequences (
+  sequence_name VARCHAR(255),
+  sequence_value BIGINT NOT NULL,
+  CONSTRAINT PK_ambari_sequences PRIMARY KEY (sequence_name));
+
+
+CREATE TABLE configgroup (
+  group_id BIGINT,
+  cluster_id BIGINT NOT NULL,
+  group_name VARCHAR(255) NOT NULL,
+  tag VARCHAR(1024) NOT NULL,
+  description VARCHAR(1024),
+  create_timestamp BIGINT NOT NULL,
+  service_name VARCHAR(255),
+  CONSTRAINT PK_configgroup PRIMARY KEY (group_id),
+  CONSTRAINT FK_configgroup_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
clusters (cluster_id));
+
+CREATE TABLE confgroupclusterconfigmapping (
+  config_group_id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  config_type VARCHAR(255) NOT NULL,
+  version_tag VARCHAR(255) NOT NULL,
+  user_name VARCHAR(255) DEFAULT '_db',
+  create_timestamp BIGINT NOT NULL,
+  CONSTRAINT PK_confgroupclustercfgmapping PRIMARY KEY (config_group_id, 
cluster_id, config_type),
+  CONSTRAINT FK_cgccm_gid FOREIGN KEY (config_group_id) REFERENCES configgroup 
(group_id),
+  CONSTRAINT FK_confg FOREIGN KEY (version_tag, config_type, cluster_id) 
REFERENCES clusterconfig (version_tag, type_name, cluster_id));
+
+CREATE TABLE configgrouphostmapping (
+  config_group_id BIGINT NOT NULL,
+  host_id BIGINT NOT NULL,
+  CONSTRAINT PK_configgrouphostmapping PRIMARY KEY (config_group_id, host_id),
+  CONSTRAINT FK_cghm_cgid FOREIGN KEY (config_group_id) REFERENCES configgroup 
(group_id),
+  CONSTRAINT FK_cghm_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id));
+
+CREATE TABLE requestschedulebatchrequest (
+  schedule_id bigint,
+  batch_id bigint,
+  request_id bigint,
+  request_type varchar(255),
+  request_uri varchar(1024),
+  request_body BLOB,
+  request_status varchar(255),
+  return_code smallint,
+  return_message varchar(20000),
+  CONSTRAINT PK_requestschedulebatchrequest PRIMARY KEY (schedule_id, 
batch_id),
+  CONSTRAINT FK_rsbatchrequest_schedule_id FOREIGN KEY (schedule_id) 
REFERENCES requestschedule (schedule_id));
+
+CREATE TABLE blueprint (
+  blueprint_name VARCHAR(255) NOT NULL,
+  security_type VARCHAR(32) NOT NULL DEFAULT 'NONE',
+  security_descriptor_reference VARCHAR(255),
+  stack_id BIGINT NOT NULL,
+  CONSTRAINT PK_blueprint PRIMARY KEY (blueprint_name),
+  CONSTRAINT FK_blueprint_stack_id FOREIGN KEY (stack_id) REFERENCES 
stack(stack_id));
+
+CREATE TABLE hostgroup (
+  blueprint_name VARCHAR(255) NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  cardinality VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_hostgroup PRIMARY KEY (blueprint_name, name),
+  CONSTRAINT FK_hg_blueprint_name FOREIGN KEY (blueprint_name) REFERENCES 
blueprint(blueprint_name));
+
+CREATE TABLE hostgroup_component (
+  blueprint_name VARCHAR(255) NOT NULL,
+  hostgroup_name VARCHAR(255) NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  provision_action VARCHAR(255),
+  CONSTRAINT PK_hostgroup_component PRIMARY KEY (blueprint_name, 
hostgroup_name, name),
+  CONSTRAINT FK_hgc_blueprint_name FOREIGN KEY (blueprint_name, 
hostgroup_name) REFERENCES hostgroup (blueprint_name, name));
+
+CREATE TABLE blueprint_configuration (
+  blueprint_name varchar(255) NOT NULL,
+  type_name varchar(255) NOT NULL,
+  config_data VARCHAR(3000) NOT NULL,
+  config_attributes VARCHAR(3000),
+  CONSTRAINT PK_blueprint_configuration PRIMARY KEY (blueprint_name, 
type_name),
+  CONSTRAINT FK_cfg_blueprint_name FOREIGN KEY (blueprint_name) REFERENCES 
blueprint(blueprint_name));
+
+CREATE TABLE blueprint_setting (
+  id BIGINT NOT NULL,
+  blueprint_name varchar(255) NOT NULL,
+  setting_name varchar(255) NOT NULL,
+  setting_data CLOB NOT NULL,
+  CONSTRAINT PK_blueprint_setting PRIMARY KEY (id),
+  CONSTRAINT UQ_blueprint_setting_name UNIQUE(blueprint_name,setting_name),
+  CONSTRAINT FK_blueprint_setting_name FOREIGN KEY (blueprint_name) REFERENCES 
blueprint(blueprint_name));
+
+CREATE TABLE hostgroup_configuration (
+  blueprint_name VARCHAR(255) NOT NULL,
+  hostgroup_name VARCHAR(255) NOT NULL,
+  type_name VARCHAR(255) NOT NULL,
+  config_data VARCHAR(3000) NOT NULL,
+  config_attributes VARCHAR(3000),
+  CONSTRAINT PK_hostgroup_configuration PRIMARY KEY (blueprint_name, 
hostgroup_name, type_name),
+  CONSTRAINT FK_hg_cfg_bp_hg_name FOREIGN KEY (blueprint_name, hostgroup_name) 
REFERENCES hostgroup (blueprint_name, name));
+
+CREATE TABLE viewmain (
+  view_name VARCHAR(255) NOT NULL,
+  label VARCHAR(255),
+  description VARCHAR(2048),
+  version VARCHAR(255),
+  build VARCHAR(128),
+  resource_type_id INTEGER NOT NULL,
+  icon VARCHAR(255),
+  icon64 VARCHAR(255),
+  archive VARCHAR(255),
+  mask VARCHAR(255),
+  system_view SMALLINT NOT NULL DEFAULT 0,
+  CONSTRAINT PK_viewmain PRIMARY KEY (view_name),
+  CONSTRAINT FK_view_resource_type_id FOREIGN KEY (resource_type_id) 
REFERENCES adminresourcetype(resource_type_id));
+
+
+CREATE table viewurl(
+  url_id BIGINT ,
+  url_name VARCHAR(255) NOT NULL ,
+  url_suffix VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_viewurl PRIMARY KEY(url_id)
+);
+
+
+CREATE TABLE viewinstance (
+  view_instance_id BIGINT,
+  resource_id BIGINT NOT NULL,
+  view_name VARCHAR(255) NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  label VARCHAR(255),
+  description VARCHAR(2048),
+  visible CHAR(1),
+  icon VARCHAR(255),
+  icon64 VARCHAR(255),
+  xml_driven CHAR(1),
+  alter_names SMALLINT NOT NULL DEFAULT 1,
+  cluster_handle BIGINT,
+  cluster_type VARCHAR(100) NOT NULL DEFAULT 'LOCAL_AMBARI',
+  short_url BIGINT,
+  CONSTRAINT PK_viewinstance PRIMARY KEY (view_instance_id),
+  CONSTRAINT FK_instance_url_id FOREIGN KEY (short_url) REFERENCES 
viewurl(url_id),
+  CONSTRAINT FK_viewinst_view_name FOREIGN KEY (view_name) REFERENCES 
viewmain(view_name),
+  CONSTRAINT FK_viewinstance_resource_id FOREIGN KEY (resource_id) REFERENCES 
adminresource(resource_id),
+  CONSTRAINT UQ_viewinstance_name UNIQUE (view_name, name),
+  CONSTRAINT UQ_viewinstance_name_id UNIQUE (view_instance_id, view_name, 
name));
+
+CREATE TABLE viewinstancedata (
+  view_instance_id BIGINT,
+  view_name VARCHAR(255) NOT NULL,
+  view_instance_name VARCHAR(255) NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  user_name VARCHAR(255) NOT NULL,
+  value VARCHAR(2000),
+  CONSTRAINT PK_viewinstancedata PRIMARY KEY (view_instance_id, name, 
user_name),
+  CONSTRAINT FK_viewinstdata_view_name FOREIGN KEY (view_instance_id, 
view_name, view_instance_name) REFERENCES viewinstance(view_instance_id, 
view_name, name));
+
+
+CREATE TABLE viewinstanceproperty (
+  view_name VARCHAR(255) NOT NULL,
+  view_instance_name VARCHAR(255) NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  value VARCHAR(2000),
+  CONSTRAINT PK_viewinstanceproperty PRIMARY KEY (view_name, 
view_instance_name, name),
+  CONSTRAINT FK_viewinstprop_view_name FOREIGN KEY (view_name, 
view_instance_name) REFERENCES viewinstance(view_name, name));
+
+CREATE TABLE viewparameter (
+  view_name VARCHAR(255) NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  description VARCHAR(2048),
+  label VARCHAR(255),
+  placeholder VARCHAR(255),
+  default_value VARCHAR(2000),
+  cluster_config VARCHAR(255) ,
+  required CHAR(1),
+  masked CHAR(1),
+  CONSTRAINT PK_viewparameter PRIMARY KEY (view_name, name),
+  CONSTRAINT FK_viewparam_view_name FOREIGN KEY (view_name) REFERENCES 
viewmain(view_name));
+
+CREATE TABLE viewresource (
+  view_name VARCHAR(255) NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  plural_name VARCHAR(255),
+  id_property VARCHAR(255),
+  subResource_names VARCHAR(255),
+  provider VARCHAR(255),
+  service VARCHAR(255),
+  resource VARCHAR(255),
+  CONSTRAINT PK_viewresource PRIMARY KEY (view_name, name),
+  CONSTRAINT FK_viewres_view_name FOREIGN KEY (view_name) REFERENCES 
viewmain(view_name));
+
+CREATE TABLE viewentity (
+  id BIGINT NOT NULL,
+  view_name VARCHAR(255) NOT NULL,
+  view_instance_name VARCHAR(255) NOT NULL,
+  class_name VARCHAR(255) NOT NULL,
+  id_property VARCHAR(255),
+  CONSTRAINT PK_viewentity PRIMARY KEY (id),
+  CONSTRAINT FK_viewentity_view_name FOREIGN KEY (view_name, 
view_instance_name) REFERENCES viewinstance(view_name, name));
+
+CREATE TABLE adminpermission (
+  permission_id BIGINT NOT NULL,
+  permission_name VARCHAR(255) NOT NULL,
+  resource_type_id INTEGER NOT NULL,
+  permission_label VARCHAR(255),
+  principal_id BIGINT NOT NULL,
+  sort_order SMALLINT NOT NULL DEFAULT 1,
+  CONSTRAINT PK_adminpermission PRIMARY KEY (permission_id),
+  CONSTRAINT FK_permission_resource_type_id FOREIGN KEY (resource_type_id) 
REFERENCES adminresourcetype(resource_type_id),
+  CONSTRAINT FK_permission_principal_id FOREIGN KEY (principal_id) REFERENCES 
adminprincipal(principal_id),
+  CONSTRAINT UQ_perm_name_resource_type_id UNIQUE (permission_name, 
resource_type_id));
+
+CREATE TABLE roleauthorization (
+  authorization_id VARCHAR(100) NOT NULL,
+  authorization_name VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_roleauthorization PRIMARY KEY (authorization_id));
+
+CREATE TABLE permission_roleauthorization (
+  permission_id BIGINT NOT NULL,
+  authorization_id VARCHAR(100) NOT NULL,
+  CONSTRAINT PK_permsn_roleauthorization PRIMARY KEY (permission_id, 
authorization_id),
+  CONSTRAINT FK_permission_roleauth_aid FOREIGN KEY (authorization_id) 
REFERENCES roleauthorization(authorization_id),
+  CONSTRAINT FK_permission_roleauth_pid FOREIGN KEY (permission_id) REFERENCES 
adminpermission(permission_id));
+
+CREATE TABLE adminprivilege (
+  privilege_id BIGINT,
+  permission_id BIGINT NOT NULL,
+  resource_id BIGINT NOT NULL,
+  principal_id BIGINT NOT NULL,
+  CONSTRAINT PK_adminprivilege PRIMARY KEY (privilege_id),
+  CONSTRAINT FK_privilege_permission_id FOREIGN KEY (permission_id) REFERENCES 
adminpermission(permission_id),
+  CONSTRAINT FK_privilege_principal_id FOREIGN KEY (principal_id) REFERENCES 
adminprincipal(principal_id),
+  CONSTRAINT FK_privilege_resource_id FOREIGN KEY (resource_id) REFERENCES 
adminresource(resource_id));
+
+CREATE TABLE widget (
+  id BIGINT NOT NULL,
+  widget_name VARCHAR(255) NOT NULL,
+  widget_type VARCHAR(255) NOT NULL,
+  metrics VARCHAR(3000),
+  time_created BIGINT NOT NULL,
+  author VARCHAR(255),
+  description VARCHAR(2048),
+  default_section_name VARCHAR(255),
+  scope VARCHAR(255),
+  widget_values VARCHAR(3000),
+  properties VARCHAR(3000),
+  cluster_id BIGINT NOT NULL,
+  tag VARCHAR(255),
+  CONSTRAINT PK_widget PRIMARY KEY (id)
+);
+
+CREATE TABLE widget_layout (
+  id BIGINT NOT NULL,
+  layout_name VARCHAR(255) NOT NULL,
+  section_name VARCHAR(255) NOT NULL,
+  scope VARCHAR(255) NOT NULL,
+  user_name VARCHAR(255) NOT NULL,
+  display_name VARCHAR(255),
+  cluster_id BIGINT NOT NULL,
+  CONSTRAINT PK_widget_layout PRIMARY KEY (id)
+);
+
+CREATE TABLE widget_layout_user_widget (
+  widget_layout_id BIGINT NOT NULL,
+  widget_id BIGINT NOT NULL,
+  widget_order smallint,
+  CONSTRAINT PK_widget_layout_user_widget PRIMARY KEY (widget_layout_id, 
widget_id),
+  CONSTRAINT FK_widget_id FOREIGN KEY (widget_id) REFERENCES widget(id),
+  CONSTRAINT FK_widget_layout_id FOREIGN KEY (widget_layout_id) REFERENCES 
widget_layout(id));
+
+CREATE TABLE artifact (
+  artifact_name VARCHAR(255) NOT NULL,
+  artifact_data VARCHAR(3000) NOT NULL,
+  foreign_keys VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_artifact PRIMARY KEY (artifact_name, foreign_keys));
+
+CREATE TABLE topology_request (
+  id BIGINT NOT NULL,
+  action VARCHAR(255) NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  bp_name VARCHAR(100) NOT NULL,
+  cluster_properties VARCHAR(3000),
+  cluster_attributes VARCHAR(3000),
+  description VARCHAR(1024),
+  provision_action VARCHAR(255),
+  CONSTRAINT PK_topology_request PRIMARY KEY (id),
+  CONSTRAINT FK_topology_request_cluster_id FOREIGN KEY (cluster_id) 
REFERENCES clusters(cluster_id));
+
+CREATE TABLE topology_hostgroup (
+  id BIGINT NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  group_properties VARCHAR(3000),
+  group_attributes VARCHAR(3000),
+  request_id BIGINT NOT NULL,
+  CONSTRAINT PK_topology_hostgroup PRIMARY KEY (id),
+  CONSTRAINT FK_hostgroup_req_id FOREIGN KEY (request_id) REFERENCES 
topology_request(id));
+
+CREATE TABLE topology_host_info (
+  id BIGINT NOT NULL,
+  group_id BIGINT NOT NULL,
+  fqdn VARCHAR(255),
+  host_count INTEGER,
+  host_id BIGINT,
+  predicate VARCHAR(2048),
+  rack_info VARCHAR(255),
+  CONSTRAINT PK_topology_host_info PRIMARY KEY (id),
+  CONSTRAINT FK_hostinfo_group_id FOREIGN KEY (group_id) REFERENCES 
topology_hostgroup(id),
+  CONSTRAINT FK_hostinfo_host_id FOREIGN KEY (host_id) REFERENCES 
hosts(host_id));
+
+CREATE TABLE topology_logical_request (
+  id BIGINT NOT NULL,
+  request_id BIGINT NOT NULL,
+  description VARCHAR(1024),
+  CONSTRAINT PK_topology_logical_request PRIMARY KEY (id),
+  CONSTRAINT FK_logicalreq_req_id FOREIGN KEY (request_id) REFERENCES 
topology_request(id));
+
+CREATE TABLE topology_host_request (
+  id BIGINT NOT NULL,
+  logical_request_id BIGINT NOT NULL,
+  group_id BIGINT NOT NULL,
+  stage_id BIGINT NOT NULL,
+  host_name VARCHAR(255),
+  status VARCHAR(255),
+  status_message VARCHAR(1024),
+  CONSTRAINT PK_topology_host_request PRIMARY KEY (id),
+  CONSTRAINT FK_hostreq_group_id FOREIGN KEY (group_id) REFERENCES 
topology_hostgroup(id),
+  CONSTRAINT FK_hostreq_logicalreq_id FOREIGN KEY (logical_request_id) 
REFERENCES topology_logical_request(id));
+
+CREATE TABLE topology_host_task (
+  id BIGINT NOT NULL,
+  host_request_id BIGINT NOT NULL,
+  type VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_topology_host_task PRIMARY KEY (id),
+  CONSTRAINT FK_hosttask_req_id FOREIGN KEY (host_request_id) REFERENCES 
topology_host_request (id));
+
+CREATE TABLE topology_logical_task (
+  id BIGINT NOT NULL,
+  host_task_id BIGINT NOT NULL,
+  physical_task_id BIGINT,
+  component VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_topology_logical_task PRIMARY KEY (id),
+  CONSTRAINT FK_ltask_hosttask_id FOREIGN KEY (host_task_id) REFERENCES 
topology_host_task (id),
+  CONSTRAINT FK_ltask_hrc_id FOREIGN KEY (physical_task_id) REFERENCES 
host_role_command (task_id));
+
+CREATE TABLE setting (
+  id BIGINT NOT NULL,
+  name VARCHAR(255) NOT NULL UNIQUE,
+  setting_type VARCHAR(255) NOT NULL,
+  content VARCHAR(3000) NOT NULL,
+  updated_by VARCHAR(255) NOT NULL DEFAULT '_db',
+  update_timestamp BIGINT NOT NULL,
+  CONSTRAINT PK_setting PRIMARY KEY (id)
+);
+
+-- Remote Cluster table
+
+CREATE TABLE remoteambaricluster(
+  cluster_id BIGINT NOT NULL,
+  name VARCHAR(255) NOT NULL,
+  username VARCHAR(255) NOT NULL,
+  url VARCHAR(255) NOT NULL,
+  password VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_remote_ambari_cluster PRIMARY KEY (cluster_id),
+  CONSTRAINT UQ_remote_ambari_cluster UNIQUE (name));
+
+CREATE TABLE remoteambariclusterservice(
+  id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_remote_ambari_service PRIMARY KEY (id),
+  CONSTRAINT FK_remote_ambari_cluster_id FOREIGN KEY (cluster_id) REFERENCES 
remoteambaricluster(cluster_id)
+);
+
+-- Remote Cluster table ends
+
+-- upgrade tables
+CREATE TABLE upgrade (
+  upgrade_id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  request_id BIGINT NOT NULL,
+  direction VARCHAR(255) DEFAULT 'UPGRADE' NOT NULL,
+  orchestration VARCHAR(255) DEFAULT 'STANDARD' NOT NULL,
+  upgrade_package VARCHAR(255) NOT NULL,
+  upgrade_package_stack VARCHAR(255) NOT NULL,
+  upgrade_type VARCHAR(32) NOT NULL,
+  repo_version_id BIGINT NOT NULL,
+  skip_failures SMALLINT DEFAULT 0 NOT NULL,
+  skip_sc_failures SMALLINT DEFAULT 0 NOT NULL,
+  downgrade_allowed SMALLINT DEFAULT 1 NOT NULL,
+  revert_allowed SMALLINT DEFAULT 0 NOT NULL,
+  suspended SMALLINT DEFAULT 0 NOT NULL,
+  CONSTRAINT PK_upgrade PRIMARY KEY (upgrade_id),
+  FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id),
+  FOREIGN KEY (request_id) REFERENCES request(request_id),
+  FOREIGN KEY (repo_version_id) REFERENCES repo_version(repo_version_id)
+);
+
+CREATE TABLE upgrade_group (
+  upgrade_group_id BIGINT NOT NULL,
+  upgrade_id BIGINT NOT NULL,
+  group_name VARCHAR(255) DEFAULT '' NOT NULL,
+  group_title VARCHAR(1024) DEFAULT '' NOT NULL,
+  CONSTRAINT PK_upgrade_group PRIMARY KEY (upgrade_group_id),
+  FOREIGN KEY (upgrade_id) REFERENCES upgrade(upgrade_id)
+);
+
+CREATE TABLE upgrade_item (
+  upgrade_item_id BIGINT NOT NULL,
+  upgrade_group_id BIGINT NOT NULL,
+  stage_id BIGINT NOT NULL,
+  state VARCHAR(255) DEFAULT 'NONE' NOT NULL,
+  hosts VARCHAR(3000),
+  tasks VARCHAR(3000),
+  item_text VARCHAR(3000),
+  CONSTRAINT PK_upgrade_item PRIMARY KEY (upgrade_item_id),
+  FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id)
+);
+
+CREATE TABLE upgrade_history(
+  id BIGINT NOT NULL,
+  upgrade_id BIGINT NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  component_name VARCHAR(255) NOT NULL,
+  from_repo_version_id BIGINT NOT NULL,
+  target_repo_version_id BIGINT NOT NULL,
+  CONSTRAINT PK_upgrade_hist PRIMARY KEY (id),
+  CONSTRAINT FK_upgrade_hist_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES 
upgrade (upgrade_id),
+  CONSTRAINT FK_upgrade_hist_from_repo FOREIGN KEY (from_repo_version_id) 
REFERENCES repo_version (repo_version_id),
+  CONSTRAINT FK_upgrade_hist_target_repo FOREIGN KEY (target_repo_version_id) 
REFERENCES repo_version (repo_version_id),
+  CONSTRAINT UQ_upgrade_hist UNIQUE (upgrade_id, component_name, service_name)
+);
+
+CREATE TABLE servicecomponent_version(
+  id BIGINT NOT NULL,
+  component_id BIGINT NOT NULL,
+  repo_version_id BIGINT NOT NULL,
+  state VARCHAR(32) NOT NULL,
+  user_name VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_sc_version PRIMARY KEY (id),
+  CONSTRAINT FK_scv_component_id FOREIGN KEY (component_id) REFERENCES 
servicecomponentdesiredstate (id),
+  CONSTRAINT FK_scv_repo_version_id FOREIGN KEY (repo_version_id) REFERENCES 
repo_version (repo_version_id)
+);
+
+CREATE TABLE ambari_operation_history(
+  id BIGINT NOT NULL,
+  from_version VARCHAR(255) NOT NULL,
+  to_version VARCHAR(255) NOT NULL,
+  start_time BIGINT NOT NULL,
+  end_time BIGINT,
+  operation_type VARCHAR(255) NOT NULL,
+  comments CLOB,
+  CONSTRAINT PK_ambari_operation_history PRIMARY KEY (id)
+);
+
+-- tasks indices --
+CREATE INDEX idx_stage_request_id ON stage (request_id);
+CREATE INDEX idx_hrc_request_id ON host_role_command (request_id);
+CREATE INDEX idx_rsc_request_id ON role_success_criteria (request_id);
+
+-------- altering tables by creating foreign keys ----------
+-- #1: This should always be an exceptional case. FK constraints should be 
inlined in table definitions when possible
+--     (reorder table definitions if necessary).
+-- #2: Oracle has a limitation of 30 chars in the constraint names name, and 
we should use the same constraint names in all DB types.
+ALTER TABLE clusters ADD CONSTRAINT FK_clusters_upgrade_id FOREIGN KEY 
(upgrade_id) REFERENCES upgrade (upgrade_id);
+
+-- Kerberos
+CREATE TABLE kerberos_principal (
+  principal_name VARCHAR(255) NOT NULL,
+  is_service SMALLINT NOT NULL DEFAULT 1,
+  cached_keytab_path VARCHAR(255),
+  CONSTRAINT PK_kerberos_principal PRIMARY KEY (principal_name)
+);
+
+CREATE TABLE kerberos_keytab (
+  keytab_path VARCHAR(255) NOT NULL,
+  owner_name VARCHAR(255),
+  owner_access VARCHAR(255),
+  group_name VARCHAR(255),
+  group_access VARCHAR(255),
+  is_ambari_keytab SMALLINT NOT NULL DEFAULT 0,
+  write_ambari_jaas SMALLINT NOT NULL DEFAULT 0,
+  CONSTRAINT PK_kerberos_keytab PRIMARY KEY (keytab_path)
+);
+
+CREATE TABLE kerberos_keytab_principal (
+  kkp_id BIGINT NOT NULL DEFAULT 0,
+  keytab_path VARCHAR(255) NOT NULL,
+  principal_name VARCHAR(255) NOT NULL,
+  host_id BIGINT,
+  is_distributed SMALLINT NOT NULL DEFAULT 0,
+  CONSTRAINT PK_kkp PRIMARY KEY (kkp_id),
+  CONSTRAINT FK_kkp_keytab_path FOREIGN KEY (keytab_path) REFERENCES 
kerberos_keytab (keytab_path),
+  CONSTRAINT FK_kkp_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id),
+  CONSTRAINT FK_kkp_principal_name FOREIGN KEY (principal_name) REFERENCES 
kerberos_principal (principal_name),
+  CONSTRAINT UNI_kkp UNIQUE(keytab_path, principal_name, host_id)
+);
+
+CREATE TABLE kkp_mapping_service (
+  kkp_id BIGINT NOT NULL DEFAULT 0,
+  service_name VARCHAR(255) NOT NULL,
+  component_name VARCHAR(255) NOT NULL,
+  CONSTRAINT PK_kkp_mapping_service PRIMARY KEY (kkp_id, service_name, 
component_name),
+  CONSTRAINT FK_kkp_service_principal FOREIGN KEY (kkp_id) REFERENCES 
kerberos_keytab_principal (kkp_id)
+);
+
+CREATE TABLE kerberos_descriptor
+(
+   kerberos_descriptor_name   VARCHAR(255) NOT NULL,
+   kerberos_descriptor        VARCHAR(3000) NOT NULL,
+   CONSTRAINT PK_kerberos_descriptor PRIMARY KEY (kerberos_descriptor_name)
+);
+
+-- Kerberos (end)
+
+-- Alerting Framework
+CREATE TABLE alert_definition (
+  definition_id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  definition_name VARCHAR(255) NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  component_name VARCHAR(255),
+  scope VARCHAR(255) DEFAULT 'ANY' NOT NULL,
+  label VARCHAR(255),
+  help_url VARCHAR(512),
+  description VARCHAR(3000),
+  enabled SMALLINT DEFAULT 1 NOT NULL,
+  schedule_interval INTEGER NOT NULL,
+  source_type VARCHAR(255) NOT NULL,
+  alert_source VARCHAR(3000) NOT NULL,
+  hash VARCHAR(64) NOT NULL,
+  ignore_host SMALLINT DEFAULT 0 NOT NULL,
+  repeat_tolerance INTEGER DEFAULT 1 NOT NULL,
+  repeat_tolerance_enabled SMALLINT DEFAULT 0 NOT NULL,
+  CONSTRAINT PK_alert_definition PRIMARY KEY (definition_id),
+  FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id),
+  CONSTRAINT uni_alert_def_name UNIQUE(cluster_id,definition_name)
+);
+
+CREATE TABLE alert_history (
+  alert_id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  alert_definition_id BIGINT NOT NULL,
+  service_name VARCHAR(255) NOT NULL,
+  component_name VARCHAR(255),
+  host_name VARCHAR(255),
+  alert_instance VARCHAR(255),
+  alert_timestamp BIGINT NOT NULL,
+  alert_label VARCHAR(1024),
+  alert_state VARCHAR(255) NOT NULL,
+  alert_text VARCHAR(3000),
+  CONSTRAINT PK_alert_history PRIMARY KEY (alert_id),
+  FOREIGN KEY (alert_definition_id) REFERENCES alert_definition(definition_id),
+  FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id)
+);
+
+CREATE TABLE alert_current (
+  alert_id BIGINT NOT NULL,
+  definition_id BIGINT NOT NULL,
+  history_id BIGINT NOT NULL UNIQUE,
+  maintenance_state VARCHAR(255) NOT NULL,
+  original_timestamp BIGINT NOT NULL,
+  latest_timestamp BIGINT NOT NULL,
+  latest_text VARCHAR(3000),
+  occurrences BIGINT NOT NULL DEFAULT 1,
+  firmness VARCHAR(255) NOT NULL DEFAULT 'HARD',
+  CONSTRAINT PK_alert_current PRIMARY KEY (alert_id),
+  FOREIGN KEY (definition_id) REFERENCES alert_definition(definition_id),
+  FOREIGN KEY (history_id) REFERENCES alert_history(alert_id)
+);
+
+CREATE TABLE alert_group (
+  group_id BIGINT NOT NULL,
+  cluster_id BIGINT NOT NULL,
+  group_name VARCHAR(255) NOT NULL,
+  is_default SMALLINT NOT NULL DEFAULT 0,
+  service_name VARCHAR(255),
+  CONSTRAINT PK_alert_group PRIMARY KEY (group_id),
+  CONSTRAINT uni_alert_group_name UNIQUE(cluster_id,group_name)
+);
+
+CREATE TABLE alert_target (
+  target_id BIGINT NOT NULL,
+  target_name VARCHAR(255) NOT NULL UNIQUE,
+  notification_type VARCHAR(64) NOT NULL,
+  properties VARCHAR(3000),
+  description VARCHAR(1024),
+  is_global SMALLINT NOT NULL DEFAULT 0,
+  is_enabled SMALLINT NOT NULL DEFAULT 1,
+  CONSTRAINT PK_alert_target PRIMARY KEY (target_id)
+);
+
+CREATE TABLE alert_target_states (
+  target_id BIGINT NOT NULL,
+  alert_state VARCHAR(255) NOT NULL,
+  FOREIGN KEY (target_id) REFERENCES alert_target(target_id)
+);
+
+CREATE TABLE alert_group_target (
+  group_id BIGINT NOT NULL,
+  target_id BIGINT NOT NULL,
+  CONSTRAINT PK_alert_group_target PRIMARY KEY (group_id, target_id),
+  FOREIGN KEY (group_id) REFERENCES alert_group(group_id),
+  FOREIGN KEY (target_id) REFERENCES alert_target(target_id)
+);
+
+CREATE TABLE alert_grouping (
+  definition_id BIGINT NOT NULL,
+  group_id BIGINT NOT NULL,
+  CONSTRAINT PK_alert_grouping PRIMARY KEY (group_id, definition_id),
+  FOREIGN KEY (definition_id) REFERENCES alert_definition(definition_id),
+  FOREIGN KEY (group_id) REFERENCES alert_group(group_id)
+);
+
+CREATE TABLE alert_notice (
+  notification_id BIGINT NOT NULL,
+  target_id BIGINT NOT NULL,
+  history_id BIGINT NOT NULL,
+  notify_state VARCHAR(255) NOT NULL,
+  uuid VARCHAR(64) NOT NULL UNIQUE,
+  CONSTRAINT PK_alert_notice PRIMARY KEY (notification_id),
+  FOREIGN KEY (target_id) REFERENCES alert_target(target_id),
+  FOREIGN KEY (history_id) REFERENCES alert_history(alert_id)
+);
+
+CREATE INDEX idx_alert_history_def_id on alert_history(alert_definition_id);
+CREATE INDEX idx_alert_history_service on alert_history(service_name);
+CREATE INDEX idx_alert_history_host on alert_history(host_name);
+CREATE INDEX idx_alert_history_time on alert_history(alert_timestamp);
+CREATE INDEX idx_alert_history_state on alert_history(alert_state);
+CREATE INDEX idx_alert_group_name on alert_group(group_name);
+CREATE INDEX idx_alert_notice_state on alert_notice(notify_state);
+
+---------inserting some data-----------
+-- In order for the first ID to be 1, must initialize the ambari_sequences 
table with a sequence_value of 0.
+-- BEGIN;
+INSERT INTO ambari_sequences (sequence_name, sequence_value) VALUES
+  ('kkp_id_seq', 0),
+  ('cluster_id_seq', 1),
+  ('host_id_seq', 0),
+  ('host_role_command_id_seq', 1),
+  ('user_id_seq', 2),
+  ('user_authentication_id_seq', 2),
+  ('group_id_seq', 1),
+  ('member_id_seq', 1),
+  ('configgroup_id_seq', 1),
+  ('requestschedule_id_seq', 1),
+  ('resourcefilter_id_seq', 1),
+  ('viewentity_id_seq', 0),
+  ('operation_level_id_seq', 1),
+  ('view_instance_id_seq', 1),
+  ('resource_type_id_seq', 4),
+  ('resource_id_seq', 2),
+  ('principal_type_id_seq', 8),
+  ('principal_id_seq', 13),
+  ('permission_id_seq', 7),
+  ('privilege_id_seq', 1),
+  ('config_id_seq', 1),
+  ('host_version_id_seq', 0),
+  ('service_config_id_seq', 1),
+  ('alert_definition_id_seq', 0),
+  ('alert_group_id_seq', 0),
+  ('alert_target_id_seq', 0),
+  ('alert_history_id_seq', 0),
+  ('alert_notice_id_seq', 0),
+  ('alert_current_id_seq', 0),
+  ('repo_version_id_seq', 0),
+  ('repo_os_id_seq', 0),
+  ('repo_definition_id_seq', 0),
+  ('upgrade_id_seq', 0),
+  ('upgrade_group_id_seq', 0),
+  ('upgrade_item_id_seq', 0),
+  ('stack_id_seq', 0),
+  ('mpack_id_seq', 0),
+  ('extension_id_seq', 0),
+  ('link_id_seq', 0),
+  ('widget_id_seq', 0),
+  ('widget_layout_id_seq', 0),
+  ('topology_host_info_id_seq', 0),
+  ('topology_host_request_id_seq', 0),
+  ('topology_host_task_id_seq', 0),
+  ('topology_logical_request_id_seq', 0),
+  ('topology_logical_task_id_seq', 0),
+  ('topology_request_id_seq', 0),
+  ('topology_host_group_id_seq', 0),
+  ('setting_id_seq', 0),
+  ('hostcomponentstate_id_seq', 0),
+  ('servicecomponentdesiredstate_id_seq', 0),
+  ('upgrade_history_id_seq', 0),
+  ('blueprint_setting_id_seq', 0),
+  ('ambari_operation_history_id_seq', 0),
+  ('remote_cluster_id_seq', 0),
+  ('remote_cluster_service_id_seq', 0),
+  ('servicecomponent_version_id_seq', 0),
+  ('hostcomponentdesiredstate_id_seq', 0);
+
+
+INSERT INTO adminresourcetype (resource_type_id, resource_type_name) VALUES
+  (1, 'AMBARI'),
+  (2, 'CLUSTER'),
+  (3, 'VIEW');
+
+INSERT INTO adminresource (resource_id, resource_type_id) VALUES
+  (1, 1);
+
+INSERT INTO adminprincipaltype (principal_type_id, principal_type_name) VALUES
+  (1, 'USER'),
+  (2, 'GROUP'),
+  (8, 'ROLE');
+
+INSERT INTO adminprincipal (principal_id, principal_type_id) VALUES
+  (1, 1),
+  (7, 8),
+  (8, 8),
+  (9, 8),
+  (10, 8),
+  (11, 8),
+  (12, 8),
+  (13, 8);
+
+-- Insert the default administrator user.
+insert into users(user_id, principal_id, user_name, display_name, 
local_username, create_time) VALUES
+   (1, 1, 'admin', 'Administrator', 'admin', 0);
+
+-- Insert the LOCAL authentication data for the default administrator user.
+-- The authentication_key value is the salted digest of the password: admin
+insert into user_authentication(user_authentication_id, user_id, 
authentication_type, authentication_key, create_time, update_time) VALUES
+  (1, 1, 'LOCAL', 
'538916f8943ec225d97a9a86a2c6ec0818c1cd400e09e03b660fdaaec4af29ddbb6f2b1033b81b00',
 0, 0);
+
+insert into adminpermission(permission_id, permission_name, resource_type_id, 
permission_label, principal_id, sort_order) VALUES
+  (1, 'AMBARI.ADMINISTRATOR', 1, 'Ambari Administrator', 7, 1),
+  (2, 'CLUSTER.USER', 2, 'Cluster User', 8, 6),
+  (3, 'CLUSTER.ADMINISTRATOR', 2, 'Cluster Administrator', 9, 2),
+  (4, 'VIEW.USER', 3, 'View User', 10, 7),
+  (5, 'CLUSTER.OPERATOR', 2, 'Cluster Operator', 11, 3),
+  (6, 'SERVICE.ADMINISTRATOR', 2, 'Service Administrator', 12, 4),
+  (7, 'SERVICE.OPERATOR', 2, 'Service Operator', 13, 5);
+
+INSERT INTO roleauthorization(authorization_id, authorization_name) VALUES
+  ('VIEW.USE', 'Use View'),
+  ('SERVICE.VIEW_METRICS', 'View metrics'),
+  ('SERVICE.VIEW_STATUS_INFO', 'View status information'),
+  ('SERVICE.VIEW_CONFIGS', 'View configurations'),
+  ('SERVICE.COMPARE_CONFIGS', 'Compare configurations'),
+  ('SERVICE.VIEW_ALERTS', 'View service-level alerts'),
+  ('SERVICE.START_STOP', 'Start/Stop/Restart Service'),
+  ('SERVICE.DECOMMISSION_RECOMMISSION', 'Decommission/recommission'),
+  ('SERVICE.RUN_SERVICE_CHECK', 'Run service checks'),
+  ('SERVICE.TOGGLE_MAINTENANCE', 'Turn on/off maintenance mode'),
+  ('SERVICE.RUN_CUSTOM_COMMAND', 'Perform service-specific tasks'),
+  ('SERVICE.MODIFY_CONFIGS', 'Modify configurations'),
+  ('SERVICE.MANAGE_CONFIG_GROUPS', 'Manage configuration groups'),
+  ('SERVICE.MANAGE_ALERTS', 'Manage service-level alerts'),
+  ('SERVICE.MOVE', 'Move to another host'),
+  ('SERVICE.ENABLE_HA', 'Enable HA'),
+  ('SERVICE.TOGGLE_ALERTS', 'Enable/disable service-level alerts'),
+  ('SERVICE.ADD_DELETE_SERVICES', 'Add/delete services'),
+  ('SERVICE.VIEW_OPERATIONAL_LOGS', 'View service operational logs'),
+  ('SERVICE.SET_SERVICE_USERS_GROUPS', 'Set service users and groups'),
+  ('SERVICE.MANAGE_AUTO_START', 'Manage service auto-start'),
+  ('HOST.VIEW_METRICS', 'View metrics'),
+  ('HOST.VIEW_STATUS_INFO', 'View status information'),
+  ('HOST.VIEW_CONFIGS', 'View configuration'),
+  ('HOST.TOGGLE_MAINTENANCE', 'Turn on/off maintenance mode'),
+  ('HOST.ADD_DELETE_COMPONENTS', 'Install components'),
+  ('HOST.ADD_DELETE_HOSTS', 'Add/Delete hosts'),
+  ('CLUSTER.VIEW_METRICS', 'View metrics'),
+  ('CLUSTER.VIEW_STATUS_INFO', 'View status information'),
+  ('CLUSTER.VIEW_CONFIGS', 'View configuration'),
+  ('CLUSTER.VIEW_STACK_DETAILS', 'View stack version details'),
+  ('CLUSTER.VIEW_ALERTS', 'View cluster-level alerts'),
+  ('CLUSTER.MANAGE_CREDENTIALS', 'Manage external credentials'),
+  ('CLUSTER.MODIFY_CONFIGS', 'Modify cluster configurations'),
+  ('CLUSTER.MANAGE_CONFIG_GROUPS', 'Manage cluster config groups'),
+  ('CLUSTER.MANAGE_ALERTS', 'Manage cluster-level alerts'),
+  ('CLUSTER.MANAGE_USER_PERSISTED_DATA', 'Manage cluster-level user persisted 
data'),
+  ('CLUSTER.TOGGLE_ALERTS', 'Enable/disable cluster-level alerts'),
+  ('CLUSTER.TOGGLE_KERBEROS', 'Enable/disable Kerberos'),
+  ('CLUSTER.UPGRADE_DOWNGRADE_STACK', 'Upgrade/downgrade stack'),
+  ('CLUSTER.RUN_CUSTOM_COMMAND', 'Perform custom cluster-level actions'),
+  ('CLUSTER.MANAGE_AUTO_START', 'Manage service auto-start configuration'),
+  ('CLUSTER.MANAGE_ALERT_NOTIFICATIONS', 'Manage alert notifications 
configuration'),
+  ('CLUSTER.MANAGE_WIDGETS', 'Manage widgets'),
+  ('AMBARI.ADD_DELETE_CLUSTERS', 'Create new clusters'),
+  ('AMBARI.RENAME_CLUSTER', 'Rename clusters'),
+  ('AMBARI.MANAGE_SETTINGS', 'Manage administrative settings'),
+  ('AMBARI.MANAGE_CONFIGURATION', 'Manage ambari configuration'),
+  ('AMBARI.MANAGE_USERS', 'Manage users'),
+  ('AMBARI.MANAGE_GROUPS', 'Manage groups'),
+  ('AMBARI.MANAGE_VIEWS', 'Manage Ambari Views'),
+  ('AMBARI.ASSIGN_ROLES', 'Assign roles'),
+  ('AMBARI.MANAGE_STACK_VERSIONS', 'Manage stack versions'),
+  ('AMBARI.EDIT_STACK_REPOS', 'Edit stack repository URLs'),
+  ('AMBARI.VIEW_STATUS_INFO', 'View status information'),
+  ('AMBARI.RUN_CUSTOM_COMMAND', 'Perform custom administrative actions');
+
+-- Set authorizations for View User role
+INSERT INTO permission_roleauthorization(permission_id, authorization_id)
+  SELECT permission_id, 'VIEW.USE' FROM adminpermission WHERE 
permission_name='VIEW.USER';
+
+-- Set authorizations for Cluster User role
+INSERT INTO permission_roleauthorization(permission_id, authorization_id)
+  SELECT permission_id, 'SERVICE.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'SERVICE.COMPARE_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STACK_DETAILS' FROM adminpermission 
WHERE permission_name='CLUSTER.USER'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.USER' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM 
adminpermission WHERE permission_name='CLUSTER.USER';
+
+-- Set authorizations for Service Operator role
+INSERT INTO permission_roleauthorization(permission_id, authorization_id)
+  SELECT permission_id, 'SERVICE.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.COMPARE_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.START_STOP' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.DECOMMISSION_RECOMMISSION' FROM 
adminpermission WHERE permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_SERVICE_CHECK' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.TOGGLE_MAINTENANCE' FROM adminpermission 
WHERE permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_CUSTOM_COMMAND' FROM adminpermission 
WHERE permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STACK_DETAILS' FROM adminpermission 
WHERE permission_name='SERVICE.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='SERVICE.OPERATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM 
adminpermission WHERE permission_name='SERVICE.OPERATOR';
+
+-- Set authorizations for Service Administrator role
+INSERT INTO permission_roleauthorization(permission_id, authorization_id)
+  SELECT permission_id, 'SERVICE.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.COMPARE_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.START_STOP' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.DECOMMISSION_RECOMMISSION' FROM 
adminpermission WHERE permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_SERVICE_CHECK' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.TOGGLE_MAINTENANCE' FROM adminpermission 
WHERE permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_CUSTOM_COMMAND' FROM adminpermission 
WHERE permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MODIFY_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_OPERATIONAL_LOGS' FROM adminpermission 
WHERE permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_AUTO_START' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STACK_DETAILS' FROM adminpermission 
WHERE permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='SERVICE.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM 
adminpermission WHERE permission_name='SERVICE.ADMINISTRATOR';
+
+-- Set authorizations for Cluster Operator role
+INSERT INTO permission_roleauthorization(permission_id, authorization_id)
+  SELECT permission_id, 'SERVICE.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.COMPARE_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.START_STOP' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.DECOMMISSION_RECOMMISSION' FROM 
adminpermission WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_SERVICE_CHECK' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.TOGGLE_MAINTENANCE' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_CUSTOM_COMMAND' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MODIFY_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MOVE' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.ENABLE_HA' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_OPERATIONAL_LOGS' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_AUTO_START' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.TOGGLE_MAINTENANCE' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.ADD_DELETE_COMPONENTS' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'HOST.ADD_DELETE_HOSTS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STACK_DETAILS' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_CREDENTIALS' FROM adminpermission 
WHERE permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_AUTO_START' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_WIDGETS' FROM adminpermission WHERE 
permission_name='CLUSTER.OPERATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM 
adminpermission WHERE permission_name='CLUSTER.OPERATOR';
+
+-- Set authorizations for Cluster Administrator role
+INSERT INTO permission_roleauthorization(permission_id, authorization_id)
+  SELECT permission_id, 'SERVICE.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.COMPARE_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.START_STOP' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.DECOMMISSION_RECOMMISSION' FROM 
adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_SERVICE_CHECK' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.TOGGLE_MAINTENANCE' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_CUSTOM_COMMAND' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MODIFY_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'SERVICE.MOVE' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.ENABLE_HA' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.TOGGLE_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.ADD_DELETE_SERVICES' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_OPERATIONAL_LOGS' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.SET_SERVICE_USERS_GROUPS' FROM 
adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_AUTO_START' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.TOGGLE_MAINTENANCE' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.ADD_DELETE_COMPONENTS' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.ADD_DELETE_HOSTS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STACK_DETAILS' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_CREDENTIALS' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MODIFY_CONFIGS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.TOGGLE_ALERTS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.TOGGLE_KERBEROS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.UPGRADE_DOWNGRADE_STACK' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM 
adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_AUTO_START' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_ALERT_NOTIFICATIONS' FROM 
adminpermission WHERE permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_WIDGETS' FROM adminpermission WHERE 
permission_name='CLUSTER.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.RUN_CUSTOM_COMMAND' FROM adminpermission 
WHERE permission_name='CLUSTER.ADMINISTRATOR';
+
+-- Set authorizations for Administrator role
+INSERT INTO permission_roleauthorization(permission_id, authorization_id)
+  SELECT permission_id, 'VIEW.USE' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.COMPARE_CONFIGS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.START_STOP' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.DECOMMISSION_RECOMMISSION' FROM 
adminpermission WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_SERVICE_CHECK' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.TOGGLE_MAINTENANCE' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.RUN_CUSTOM_COMMAND' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MODIFY_CONFIGS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_ALERTS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'SERVICE.MOVE' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.ENABLE_HA' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.TOGGLE_ALERTS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.ADD_DELETE_SERVICES' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.VIEW_OPERATIONAL_LOGS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.SET_SERVICE_USERS_GROUPS' FROM 
adminpermission WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'SERVICE.MANAGE_AUTO_START' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.TOGGLE_MAINTENANCE' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.ADD_DELETE_COMPONENTS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'HOST.ADD_DELETE_HOSTS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_METRICS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_CONFIGS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_STACK_DETAILS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.VIEW_ALERTS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_CREDENTIALS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MODIFY_CONFIGS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_CONFIG_GROUPS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR'  UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_ALERTS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.TOGGLE_ALERTS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.TOGGLE_KERBEROS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.UPGRADE_DOWNGRADE_STACK' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_USER_PERSISTED_DATA' FROM 
adminpermission WHERE permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_AUTO_START' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_ALERT_NOTIFICATIONS' FROM 
adminpermission WHERE permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.MANAGE_WIDGETS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'CLUSTER.RUN_CUSTOM_COMMAND' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.ADD_DELETE_CLUSTERS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.RENAME_CLUSTER' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.MANAGE_SETTINGS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.MANAGE_CONFIGURATION' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.MANAGE_USERS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.MANAGE_GROUPS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.MANAGE_VIEWS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.ASSIGN_ROLES' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.MANAGE_STACK_VERSIONS' FROM adminpermission 
WHERE permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.EDIT_STACK_REPOS' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.VIEW_STATUS_INFO' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR' UNION ALL
+  SELECT permission_id, 'AMBARI.RUN_CUSTOM_COMMAND' FROM adminpermission WHERE 
permission_name='AMBARI.ADMINISTRATOR';
+
+INSERT INTO adminprivilege (privilege_id, permission_id, resource_id, 
principal_id) VALUES
+  (1, 1, 1, 1) ;
+
+INSERT INTO metainfo ("metainfo_key", "metainfo_value") VALUES
+  ('version', '3.0.0');
+--COMMIT;
+
+-- Quartz tables
+
+CREATE TABLE qrtz_job_details
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  JOB_NAME  VARCHAR(200) NOT NULL,
+  JOB_GROUP VARCHAR(200) NOT NULL,
+  DESCRIPTION VARCHAR(250) DEFAULT NULL,
+  JOB_CLASS_NAME   VARCHAR(250) NOT NULL,
+  IS_DURABLE BOOLEAN NOT NULL,
+  IS_NONCONCURRENT BOOLEAN NOT NULL,
+  IS_UPDATE_DATA BOOLEAN NOT NULL,
+  REQUESTS_RECOVERY BOOLEAN NOT NULL,
+  JOB_DATA BLOB,
+  PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_triggers
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  TRIGGER_NAME VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  JOB_NAME  VARCHAR(200) NOT NULL,
+  JOB_GROUP VARCHAR(200) NOT NULL,
+  DESCRIPTION VARCHAR(250),
+  NEXT_FIRE_TIME BIGINT,
+  PREV_FIRE_TIME BIGINT,
+  PRIORITY INTEGER,
+  TRIGGER_STATE VARCHAR(16) NOT NULL,
+  TRIGGER_TYPE VARCHAR(8) NOT NULL,
+  START_TIME BIGINT NOT NULL,
+  END_TIME BIGINT,
+  CALENDAR_NAME VARCHAR(200),
+  MISFIRE_INSTR SMALLINT,
+  JOB_DATA BLOB DEFAULT NULL,
+  PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+  REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_simple_triggers
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  TRIGGER_NAME VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  REPEAT_COUNT BIGINT NOT NULL,
+  REPEAT_INTERVAL BIGINT NOT NULL,
+  TIMES_TRIGGERED BIGINT NOT NULL,
+  PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+  REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_cron_triggers
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  TRIGGER_NAME VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  CRON_EXPRESSION VARCHAR(120) NOT NULL,
+  TIME_ZONE_ID VARCHAR(80),
+  PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+  REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_simprop_triggers
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  TRIGGER_NAME VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  STR_PROP_1 VARCHAR(512),
+  STR_PROP_2 VARCHAR(512),
+  STR_PROP_3 VARCHAR(512),
+  INT_PROP_1 INT,
+  INT_PROP_2 INT,
+  LONG_PROP_1 BIGINT,
+  LONG_PROP_2 BIGINT,
+  DEC_PROP_1 NUMERIC(13,4),
+  DEC_PROP_2 NUMERIC(13,4),
+  BOOL_PROP_1 BOOLEAN,
+  BOOL_PROP_2 BOOLEAN,
+  PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+  REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_blob_triggers
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  TRIGGER_NAME VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  BLOB_DATA BLOB,
+  PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+  REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_calendars
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  CALENDAR_NAME  VARCHAR(200) NOT NULL,
+  CALENDAR BLOB NOT NULL,
+  PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
+);
+
+
+CREATE TABLE qrtz_paused_trigger_grps
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  TRIGGER_GROUP  VARCHAR(200) NOT NULL,
+  PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_fired_triggers
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  ENTRY_ID VARCHAR(95) NOT NULL,
+  TRIGGER_NAME VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  INSTANCE_NAME VARCHAR(200) NOT NULL,
+  FIRED_TIME BIGINT NOT NULL,
+  SCHED_TIME BIGINT NOT NULL,
+  PRIORITY INTEGER NOT NULL,
+  STATE VARCHAR(16) NOT NULL,
+  JOB_NAME VARCHAR(200) DEFAULT NULL,
+  JOB_GROUP VARCHAR(200) DEFAULT NULL,
+  IS_NONCONCURRENT BOOLEAN,
+  REQUESTS_RECOVERY BOOLEAN,
+  PRIMARY KEY (SCHED_NAME,ENTRY_ID)
+);
+
+CREATE TABLE qrtz_scheduler_state
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  INSTANCE_NAME VARCHAR(200) NOT NULL,
+  LAST_CHECKIN_TIME BIGINT NOT NULL,
+  CHECKIN_INTERVAL BIGINT NOT NULL,
+  PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
+);
+
+CREATE TABLE qrtz_locks
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  LOCK_NAME  VARCHAR(40) NOT NULL,
+  PRIMARY KEY (SCHED_NAME,LOCK_NAME)
+);
+
+create index idx_qrtz_j_req_recovery on 
qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
+
+create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
+create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
+create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
+create index idx_qrtz_t_n_state on 
qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_n_g_state on 
qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_next_fire_time on 
qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st on 
qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_misfire on 
qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st_misfire on 
qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
+create index idx_qrtz_t_nft_st_misfire_grp on 
qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
+
+create index idx_qrtz_ft_trig_inst_name on 
qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
+create index idx_qrtz_ft_inst_job_req_rcvry on 
qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_ft_j_g on 
qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_ft_t_g on 
qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
+create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
+select * from metainfo;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@ambari.apache.org
For additional commands, e-mail: commits-h...@ambari.apache.org

Reply via email to