Ask Your Question

I want to copy the latest commited war file from svn using puppet

asked 2015-01-15 11:36:30 -0600

singaravelan gravatar image

updated 2015-01-17 00:38:40 -0600

GregLarkin gravatar image

I want to copy the latest commited war file from svn using puppet.

for this i am using VCSrepo module and created init.pp as below , but it doesn't work and gives an error

[vcsrepo]# cat init.pp
vcsrepo { '/tmp/devops':
  ensure        => latest,
  provider      =>  svn,
  owner         => 'ec2-user',
  group         => 'ec2-user',
  user          => 'ec2-user',
  source        => 'svn+ssh_user_devops://localsvn/svn/devops',
  configuration => '/home/ec2-user/.subversion/config',

error msg i when i test it :

Notice: Compiled catalog for local in environment production in 0.27 seconds
Error: /Vcsrepo[/tmp/vcstest-svn-server]: Provider svn is not functional on this host

your help much appreciated !!!

edit retag flag offensive close merge delete


What command did you use to test/run it?

JamesHailey gravatar imageJamesHailey ( 2016-03-09 10:04:40 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2015-01-18 12:31:54 -0600

hesco gravatar image

Stephan nailed root cause for the error message you are looking at. But a more fundamental question is why you are using svn (a code repository suitable for plain text files) as a source for a compiled binary like a war file. You would likely do well to look at a dedicated artifacts repository for that purpose. Your CI server can pull from a code repo to build the binary, then commit to a successful build to an artifacts repo, from which your node builds would want to pull the war file. svn can obviously be pressed into service for this purpose. But it is not the ideal tool for the job.

edit flag offensive delete link more

answered 2015-01-18 19:43:49 -0600

singaravelan gravatar image

thanks for you response steve. I had installed svn software on puppet master then i was able to connect the svn server. My actual is issue , i want to copy the latest or new war files placed in PE master particular location (ex /opt/staging/deploy. The latest files(war files ) identified and then pushed to puppet nodes deploy location (ex /opt/wso2/webapps/deploy). I tried with file resource but the problem is , war filename is undefined . Can you help me on this ?

edit flag offensive delete link more


how did you install the svn software on puppet master?

JamesHailey gravatar imageJamesHailey ( 2016-03-10 10:00:50 -0600 )edit

answered 2015-01-17 05:56:35 -0600

Stefan gravatar image

The vcsrepo type has different providers like git, svn, cvs, etc. If you get the message

Provider svn is not functional on this host

this will mean that your system does not meet the constraints for the svn provider to run properly. The most likely issue is that certain binaries are missing. The svn provider requires svn, svnadmin and svnlook to be available in $PATH of the user that runs the puppet agent (most likely root). Can you please verify that.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2015-01-15 11:36:30 -0600

Seen: 1,092 times

Last updated: Jan 18 '15