В унаследованном мной сценарии puppet есть класс pyenv для установки pyenv
class pyenv(
include ::pyenv
$ensure_repo = 'present',
$repo_location = '/usr/local/pyenv',
$repo_revision = 'v0.4.0-20140404',
$symlink_pyenv = true,
$symlink_path = '/usr/local/bin',
$manage_packages = true,
$ensure_packages = 'latest',
$python_build_packages = $::pyenv::params::python_build_packages,
)
Он не работает должным образом.Итак, я изменил установку на обычную установку сценария pyenv и хотел бы исключить вызов этого класса в следующем классе python.
Во-первых, я исключил его, просто закомментировав:
class python {
# class { '::pyenv': } ->
# pyenv_python { '2.7.9': }
# exec { 'set-python-global':
# command => '/usr/local/bin/pyenv global 2.7.9',
# user => root,
# require => Class['::pyenv'],
# } ->
exec { 'install-boto':
command => '/root/.pyenv/shims/pip install boto',
user => 'root',
unless => '/root/.pyenv/shims/pip freeze | grep boto',
} ->
Есть ли более разумный способ исключения?Я думаю, что если pyenv уже установлен и установка глобальной версии pyenv прошла успешно, не называйте класс pyenv?Обратите внимание, что pyenv сейчас отсутствует в / usr / local / bin, хотя я могу создать символическую ссылку.