File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55 Class[' python::install' ] -> Python::Virtualenv <| |>
66
77 Python::Virtualenv <| |> -> Python::Pip <| |>
8- Python::Virtualenv <| |> -> Python::Requirements <| |>
98
109 if $python::gunicorn {
1110 Class[' python::install' ] -> Python::Gunicorn <| |>
Original file line number Diff line number Diff line change 44#
55# === Parameters
66#
7+ # [*requirements*]
8+ # Path to the requirements file. Defaults to the resource name
9+ #
710# [*virtualenv*]
811# virtualenv to run pip in. Default: system-wide
912#
2326# Ashley Penney
2427#
2528define python::requirements (
26- $virtualenv = ' system' ,
27- $proxy = false
29+ $requirements = $name,
30+ $virtualenv = ' system' ,
31+ $proxy = false
2832) {
2933
30- $requirements = $name
31-
3234 $pip_env = $virtualenv ? {
3335 ' system' => ' `which pip`' ,
3436 default => " ${virtualenv} /bin/pip" ,
4143
4244 $req_crc = " ${requirements} .sha1"
4345
44- file { $requirements:
45- ensure => present ,
46- mode => ' 0644' ,
47- owner => ' root' ,
48- group => ' root' ,
49- replace => false ,
50- content => ' # Puppet will install and/or update pip packages listed here' ,
46+ # This will ensure multiple python::virtualenv definitions can share the
47+ # the same requirements file.
48+ if !defined (File [$requirements ]) {
49+ file { $requirements:
50+ ensure => present ,
51+ mode => ' 0644' ,
52+ owner => ' root' ,
53+ group => ' root' ,
54+ replace => false ,
55+ content => ' # Puppet will install and/or update pip packages listed here' ,
56+ }
5157 }
5258
5359 # SHA1 checksum to detect changes
Original file line number Diff line number Diff line change 7676 }
7777
7878 if $requirements {
79- Exec[" python_virtualenv_${venv_dir} " ]
80- -> Python::Requirements[$requirements ]
79+ exec { "python_requirements_initial_install_${requirements}_${venv_dir}" :
80+ command => " ${venv_dir} /bin/pip install ${proxy_flag} --requirement ${requirements} " ,
81+ refreshonly => true ,
82+ timeout => 1800,
83+ subscribe => Exec[" python_virtualenv_${venv_dir} " ],
84+ }
8185
82- python::requirements { $requirements:
83- virtualenv => $venv_dir ,
84- proxy => $proxy ,
86+ python::requirements { "${requirements}_${venv_dir}" :
87+ requirements => $requirements ,
88+ virtualenv => $venv_dir ,
89+ proxy => $proxy ,
90+ require => Exec[" python_virtualenv_${venv_dir} " ],
8591 }
8692 }
8793
You can’t perform that action at this time.
0 commit comments