diff --git a/README.md b/README.md
index e6fd4efe1..b5b3a53ee 100644
--- a/README.md
+++ b/README.md
@@ -56,6 +56,7 @@ scenario](#all-in-one).
 | ironic     |             |       X     |             |              |
 | zaqar      |             |       X     |             |              |
 | barbican   |             |       X     |             |              |
+| murano     |             |             |       X     |              |
 | ceph       |      X      |             |             |              |
 | mongodb    |             |       X     |             |              |
 
diff --git a/fixtures/scenario003.pp b/fixtures/scenario003.pp
index f3ef6fc97..8c35de38f 100644
--- a/fixtures/scenario003.pp
+++ b/fixtures/scenario003.pp
@@ -19,11 +19,14 @@ case $::osfamily {
     $ipv6            = false
     # mistral is not packaged on Ubuntu Trusty
     $mistral_enabled = false
+    # murano package should be fixed on Ubuntu Xenial
+    $murano_enabled  = false
   }
   'RedHat': {
     $ipv6            = true
     # enable when we figure why mistral tempest tests are so unstable
     $mistral_enabled = false
+    $murano_enabled  = true
   }
   default: {
     fail("Unsupported osfamily (${::osfamily})")
@@ -71,6 +74,9 @@ include ::openstack_integration::sahara
 if $designate_enabled {
   include ::openstack_integration::designate
 }
+if $murano_enabled {
+  include ::openstack_integration::murano
+}
 include ::openstack_integration::provision
 
 class { '::openstack_integration::tempest':
@@ -79,5 +85,6 @@ class { '::openstack_integration::tempest':
   mistral   => $mistral_enabled,
   sahara    => true,
   horizon   => true,
+  murano    => $murano_enabled,
   heat      => true,
 }
diff --git a/manifests/murano.pp b/manifests/murano.pp
new file mode 100644
index 000000000..a74341c9a
--- /dev/null
+++ b/manifests/murano.pp
@@ -0,0 +1,80 @@
+class openstack_integration::murano {
+
+  include ::openstack_integration::config
+  include ::openstack_integration::params
+
+  rabbitmq_user { ['murano', 'murano_private']:
+    admin    => true,
+    password => 'an_even_bigger_secret',
+    provider => 'rabbitmqctl',
+    require  => Class['::rabbitmq'],
+  }
+
+  rabbitmq_vhost { '/murano':
+    provider => 'rabbitmqctl',
+    require  => Class['rabbitmq'],
+  }
+
+  rabbitmq_user_permissions { ['murano@/', 'murano_private@/murano']:
+    configure_permission => '.*',
+    write_permission     => '.*',
+    read_permission      => '.*',
+    provider             => 'rabbitmqctl',
+    require              => [ Class['::rabbitmq'], Rabbitmq_vhost['/murano'] ],
+  }
+
+  if $::openstack_integration::config::ssl {
+    openstack_integration::ssl_key { 'murano':
+      require => Package['murano-common'],
+    }
+    $key_file = "/etc/murano/ssl/private/${::fqdn}.pem"
+    $crt_file = $::openstack_integration::params::cert_path
+    File[$key_file] ~> Service<| tag == 'murano-service' |>
+    Exec['update-ca-certificates'] ~> Service<| tag == 'murano-service' |>
+  } else {
+    $key_file = undef
+    $crt_file = undef
+  }
+
+  class { '::murano::db::mysql':
+    password => 'a_big_secret',
+  }
+
+  class { '::murano':
+    admin_password      => 'a_big_secret',
+    rabbit_os_user      => 'murano',
+    rabbit_os_password  => 'an_even_bigger_secret',
+    rabbit_os_host      => $::openstack_integration::config::ip_for_url,
+    rabbit_os_use_ssl   => $::openstack_integration::config::ssl,
+    rabbit_os_port      => $::openstack_integration::config::rabbit_port,
+    rabbit_own_user     => 'murano_private',
+    rabbit_own_password => 'an_even_bigger_secret',
+    rabbit_own_vhost    => '/murano',
+    rabbit_own_host     => $::openstack_integration::config::ip_for_url,
+    rabbit_own_port     => $::openstack_integration::config::rabbit_port,
+    rabbit_own_use_ssl  => $::openstack_integration::config::ssl,
+    database_connection => 'mysql://murano:a_big_secret@127.0.0.1/murano?charset=utf8',
+    identity_uri        => $::openstack_integration::config::keystone_admin_uri,
+    auth_uri            => $::openstack_integration::config::keystone_auth_uri,
+    use_ssl             => $::openstack_integration::config::ssl,
+    service_host        => $::openstack_integration::config::ip_for_url,
+    cert_file           => $crt_file,
+    key_file            => $key_file,
+    debug               => true,
+  }
+
+  class { '::murano::api':
+    host => $::openstack_integration::config::host,
+  }
+
+  class { '::murano::engine': }
+
+  class { '::murano::keystone::auth':
+    password     => 'a_big_secret',
+    public_url   => "${::openstack_integration::config::base_url}:8082",
+    internal_url => "${::openstack_integration::config::base_url}:8082",
+    admin_url    => "${::openstack_integration::config::base_url}:8082",
+  } ->
+
+  murano::application { 'io.murano': }
+}
diff --git a/manifests/tempest.pp b/manifests/tempest.pp
index 03ab0349f..12e1c6a1b 100644
--- a/manifests/tempest.pp
+++ b/manifests/tempest.pp
@@ -60,6 +60,10 @@
 #   (optional) Define if Sahara needs to be tested.
 #   Default to false.
 #
+# [*murano*]
+#   (optional) Define if Murano needs to be tested.
+#   Default to false.
+#
 # [*swift*]
 #   (optional) Define if Swift needs to be tested.
 #   Default to false.
@@ -89,6 +93,7 @@ class openstack_integration::tempest (
   $horizon                 = false,
   $ironic                  = false,
   $mistral                 = false,
+  $murano                  = false,
   $neutron                 = true,
   $nova                    = true,
   $sahara                  = false,
@@ -162,6 +167,7 @@ class openstack_integration::tempest (
     ca_certificates_file    => $::openstack_integration::params::ca_bundle_cert_path,
     manage_tests_packages   => true,
     attach_encrypted_volume => $attach_encrypted_volume,
+    murano_available        => $murano,
     # TODO(emilien) optimization by 1/ using Hiera to configure Glance image source
     # and 2/ if running in the gate, use /home/jenkins/cache/files/ cirros image.
     # img_dir               => '/home/jenkins/cache/files',
diff --git a/run_tests.sh b/run_tests.sh
index 09d5455d1..9d3be1af5 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -218,6 +218,9 @@ echo "VolumesBackupsAdminV2Test" >> /tmp/openstack/tempest/test-whitelist.txt
 # Cinder encrypted volumes
 echo "TestEncryptedCinderVolumes" >> /tmp/openstack/tempest/test-whitelist.txt
 
+# Murano
+TESTS="${TESTS} application_catalog"
+
 print_header 'Running Tempest'
 cd /tmp/openstack/tempest