Skip to content

Commit 9dcd35b

Browse files
authored
Merge pull request #619 from acullenn/requirements_subscribe_fix
If user declares their requirements.txt in Puppet, don't skip pip installation in python::requirements
2 parents e15cfa7 + fa9cbc4 commit 9dcd35b

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

REFERENCE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,7 @@ Alias of `Enum['debug', 'info', 'warning', 'error', 'critical']`
11631163

11641164
Match all valid package ensures for python
11651165

1166-
Alias of `Enum['absent', 'present', 'latest']`
1166+
Alias of `Enum['absent', 'present', 'installed', 'latest']`
11671167

11681168
### <a name="Python--Provider"></a>`Python::Provider`
11691169

manifests/requirements.pp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@
8989
content => '# Puppet will install and/or update pip packages listed here',
9090
}
9191

92+
$local_subscribe = File[$requirements]
93+
} elsif File[$requirements] and $manage_requirements == true {
9294
$local_subscribe = File[$requirements]
9395
} else {
9496
$local_subscribe = undef
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# frozen_string_literal: true
2+
3+
require 'spec_helper_acceptance'
4+
5+
describe 'requirements' do
6+
it 'checks declared requirements file is installed to venv' do
7+
pp = <<-EOS
8+
file { '/tmp/requirements.txt':
9+
ensure => 'present',
10+
content => 'requests',
11+
}
12+
13+
python::pyvenv { '/tmp/pyvenv':
14+
ensure => 'present',
15+
}
16+
17+
python::requirements { '/tmp/requirements.txt':
18+
virtualenv => '/tmp/pyvenv'
19+
}
20+
EOS
21+
22+
apply_manifest(pp, catch_failures: true)
23+
24+
expect(shell('/tmp/pyvenv/bin/pip3 list --no-index | grep requests').stdout).to match(%r{requests +\d+.\d+.\d+})
25+
end
26+
end

types/package/ensure.pp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# @summary Match all valid package ensures for python
22
#
3-
type Python::Package::Ensure = Enum['absent', 'present', 'latest']
3+
type Python::Package::Ensure = Enum['absent', 'present', 'installed', 'latest']

0 commit comments

Comments
 (0)