Bug #7534
vcsrepo: svn provider fails to checkout new repo when ensure=>latest
| Status: | Closed | Start date: | 05/16/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | - | Spent time: | - | |
| Target version: | - | |||
| Keywords: | vcsrepo svn | Branch: | ||
| Votes: | 0 |
Description
Given this simple manifest:
vcsrepo { "/tmp/vcsrepobug":
ensure => "latest",
provider => "svn",
source => "https://svn.github.com/puppetlabs/puppet-vcsrepo",
}
It appears the vcsrepo provider for svn is unable to checkout the repository:
/tmp/modules/vcsrepo/lib/puppet/provider/vcsrepo/../vcsrepo.rb:24:in `chdir'
/tmp/modules/vcsrepo/lib/puppet/provider/vcsrepo/../vcsrepo.rb:24:in `at_path'
/tmp/modules/vcsrepo/lib/puppet/provider/vcsrepo/svn.rb:51:in `revision'
/tmp/modules/vcsrepo/lib/puppet/type/vcsrepo.rb:35:in `insync?'
/home/marc/src/puppet/lib/puppet/property.rb:162:in `safe_insync?'
/home/marc/src/puppet/lib/puppet/transaction/resource_harness.rb:55:in `perform_changes'
/home/marc/src/puppet/lib/puppet/transaction/resource_harness.rb:133:in `evaluate'
/home/marc/src/puppet/lib/puppet/transaction.rb:48:in `apply'
/home/marc/src/puppet/lib/puppet/transaction.rb:113:in `eval_children_and_apply_resource'
/home/marc/src/puppet/lib/puppet/transaction.rb:91:in `eval_resource'
/home/marc/src/puppet/lib/puppet/transaction.rb:142:in `evaluate'
/home/marc/src/puppet/lib/puppet/util.rb:429:in `thinmark'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/home/marc/src/puppet/lib/puppet/util.rb:428:in `thinmark'
/home/marc/src/puppet/lib/puppet/transaction.rb:141:in `evaluate'
/home/marc/src/puppet/lib/puppet/transaction.rb:134:in `each'
/home/marc/src/puppet/lib/puppet/transaction.rb:134:in `evaluate'
/home/marc/src/puppet/lib/puppet/resource/catalog.rb:144:in `apply'
/home/marc/src/puppet/lib/puppet/configurer.rb:150:in `run'
/home/marc/src/puppet/lib/puppet/util.rb:193:in `benchmark'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/home/marc/src/puppet/lib/puppet/util.rb:192:in `benchmark'
/home/marc/src/puppet/lib/puppet/configurer.rb:149:in `run'
/home/marc/src/puppet/lib/puppet/application/apply.rb:126:in `main'
/home/marc/src/puppet/lib/puppet/application/apply.rb:35:in `run_command'
/home/marc/src/puppet/lib/puppet/application.rb:305:in `run'
/home/marc/src/puppet/lib/puppet/application.rb:420:in `hook'
/home/marc/src/puppet/lib/puppet/application.rb:305:in `run'
/home/marc/src/puppet/lib/puppet/application.rb:411:in `exit_on_fail'
/home/marc/src/puppet/lib/puppet/application.rb:305:in `run'
/home/marc/src/puppet/lib/puppet/util/command_line.rb:62:in `execute'
/home/marc/src/puppet/bin/puppet:4
err: /Stage[main]//Vcsrepo[/tmp/vcsrepobug]: Could not evaluate: No such file or directory - /tmp/vcsrepobug
A workaround is to change the manifest to “ensure=>present”, run puppet once, an then change it back to “ensure=>latest”.
History
Updated by Marc Fournier about 1 year ago
It appears the problem is caused by a debug message calling provider.revision before the repository exists. I pushed a patch here: https://github.com/mfournier/puppet-vcsrepo/tree/fix-issue-with-svn-latest
Updated by James Turnbull 12 months ago
- Status changed from Unreviewed to Accepted
- Assignee set to James Turnbull
Updated by James Turnbull 12 months ago
- Status changed from Accepted to Closed
Merged in commit:1dcf1647a70580e90bc9bd82f424e0b1ca0f6079 in master.