From f9562a910934a6c9f220a465dd7176b735596474 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Mon, 18 Dec 2023 23:51:39 +1100 Subject: [PATCH] fix: check for python3_version - check for python3 version before attempting to setup node_lookup --- .../profiles/manifests/helpers/node_lookup.pp | 83 ++++++++++--------- 1 file changed, 46 insertions(+), 37 deletions(-) diff --git a/site/profiles/manifests/helpers/node_lookup.pp b/site/profiles/manifests/helpers/node_lookup.pp index b155f6c..4e6ee01 100644 --- a/site/profiles/manifests/helpers/node_lookup.pp +++ b/site/profiles/manifests/helpers/node_lookup.pp @@ -12,45 +12,54 @@ class profiles::helpers::node_lookup ( Array[String[1]] $packages = ['requests'], ){ - # ensure the base_path exists - file { $base_path: - ensure => directory, - mode => '0755', - owner => $owner, - group => $group, - } - # create a venv - python::pyvenv { $venv_path : - ensure => present, - version => $version, - systempkgs => $systempkgs, - venv_dir => $venv_path, - owner => $owner, - group => $group, - require => File[$base_path], - } + if $::facts['python3_version'] { - # install the required pip packages - $packages.each |String $package| { - python::pip { "${venv_path}_${package}": + $python_version = $version ? { + 'system' => $::facts['python3_version'], + default => $version, + } + + # ensure the base_path exists + file { $base_path: + ensure => directory, + mode => '0755', + owner => $owner, + group => $group, + } + + # create a venv + python::pyvenv { $venv_path : ensure => present, - pkgname => $package, - virtualenv => $venv_path, + version => $python_version, + systempkgs => $systempkgs, + venv_dir => $venv_path, + owner => $owner, + group => $group, + require => File[$base_path], + } + + # install the required pip packages + $packages.each |String $package| { + python::pip { "${venv_path}_${package}": + ensure => present, + pkgname => $package, + virtualenv => $venv_path, + } + } + + # create the script from a template + file { "${base_path}/${script_name}": + ensure => file, + mode => '0755', + content => template("profiles/helpers/${script_name}.erb"), + require => Python::Pyvenv[$venv_path], + } + + # create symbolic link in $PATH + file { "/usr/local/bin/${script_name}": + ensure => 'link', + target => "${base_path}/${script_name}", + require => File["${base_path}/${script_name}"], } } - - # create the script from a template - file { "${base_path}/${script_name}": - ensure => file, - mode => '0755', - content => template("profiles/helpers/${script_name}.erb"), - require => Python::Pyvenv[$venv_path], - } - - # create symbolic link in $PATH - file { "/usr/local/bin/${script_name}": - ensure => 'link', - target => "${base_path}/${script_name}", - require => File["${base_path}/${script_name}"], - } }