diff --git a/manifests/api.pp b/manifests/api.pp index 9f3e50b..e509676 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -23,6 +23,9 @@ class refstack::api () { # Import parameters into local scope. $python_version = $::refstack::params::python_version $src_api_root = $::refstack::params::src_api_root + $install_api_root = $::refstack::params::install_api_root + $user = $::refstack::params::user + $group = $::refstack::params::group class { 'python': version => $python_version, @@ -48,4 +51,21 @@ class refstack::api () { require => Package['git'] } + # Create the install directory and virtual environment + file { $install_api_root: + ensure => directory, + owner => $user, + group => $group, + } + python::virtualenv { $install_api_root: + ensure => present, + version => $python_version, + owner => $user, + group => $group, + require => [ + File[$install_api_root], + Class['python::install'], + ], + systempkgs => false, + } } diff --git a/manifests/params.pp b/manifests/params.pp index 62c2443..134c8d5 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -31,4 +31,7 @@ class refstack::params ( if $::operatingsystem != 'Ubuntu' or $::operatingsystemrelease < 13.10 { fail("${::operatingsystem} ${::operatingsystemrelease} is not supported.") } + + # Create our install directory with a python-versioned name (because venv). + $install_api_root = "/var/lib/refstack-py${python_version}" }