Index: puppet-module-tempest/manifests/init.pp
===================================================================
--- puppet-module-tempest.orig/manifests/init.pp
+++ puppet-module-tempest/manifests/init.pp
@@ -16,6 +16,8 @@
 #   Defaults to true
 #  [*tempest_repo_uri*]
 #   Defaults to 'https://opendev.org/openstack/tempest'
+#  [*tempest_config_file*]
+#   Defaults to undef
 #  [*tempest_repo_revision*]
 #   Defaults to undef
 #  [*tempest_clone_path*]
@@ -309,6 +311,8 @@
 # DEPREACTED PARAMETERS
 #  [*glance_v2*]
 #   Defaults to true
+#  [*tempest_config_file*]
+#   Defaults to undef
 #  [*identity_uri*]
 #   Defaults to undef
 #  [*keystone_v3*]
@@ -321,6 +325,7 @@
   Stdlib::Absolutepath $tempest_workspace   = '/var/lib/tempest',
   Boolean $install_from_source              = true,
   Boolean $git_clone                        = true,
+  Stdlib::Absolutepath $tempest_config_file = '/var/lib/tempest/etc/tempest.conf',
 
   # Clone config
   #
@@ -583,13 +588,23 @@
     }
 
     $tempest_conf = "${tempest_clone_path}/etc/tempest.conf"
-  } else {
 
+    Tempest_config {
+      path    => $tempest_conf,
+    }
+  } else {
+    Tempest_config {
+      path => $tempest_config_file,
+    }
+  }
+ 
+  if ! $install_from_source {
     package { 'tempest':
       ensure => $package_ensure,
       name   => $::tempest::params::package_name,
       tag    => ['openstack', 'tempest-package'],
     }
+    $tempest_conf = $tempest_config_file
 
     # Create tempest workspace by running tempest init.
     # It will generate etc/tempest.conf, logs and tempest_lock folder
@@ -603,11 +618,6 @@
     Package<| tag == 'tempest-package' |> -> Exec['tempest-workspace']
     Exec['tempest-workspace'] -> Tempest_config<||>
 
-    $tempest_conf = "${tempest_workspace}/etc/tempest.conf"
-  }
-
-  Tempest_config {
-    path => $tempest_conf,
   }
 
   tempest_config {
