Bug #7534

vcsrepo: svn provider fails to checkout new repo when ensure=>latest

Added by Marc Fournier about 1 year ago. Updated 12 months ago.

Status:Closed Start date:05/16/2011
Priority:Normal Due date:
Assignee:James Turnbull % 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.

Also available in: Atom PDF