Issue #20123 has been updated by Josh Cooper.

Status changed from In Topic Branch Pending Review to Accepted
Assignee deleted (Josh Cooper)
Target version changed from 3.x to 3.2.0

Thanks Eman, I am able to reproduce the problem. It's very strange though. I 
added this line to `indirection.rb`:

<pre>
Puppet.debug(dest_terminus.class.instance_methods(false))
</pre>

I started a puppetmaster and agent on the same host with different certnames:

<pre>
$ puppet master --no-daemonize --trace --autosign=true --debug 
--confdir=/tmp/testing \
 --vardir=/tmp/testing --certname puppetmaster --dns_alt_names sirrus.local 
--autosign true
</pre>

And then:
<pre>
$ puppet filebucket backup /etc/passwd --debug --trace --server sirrus.local
</pre>

On the master, I see the following:

<pre>
Debug: Using terminus Puppet::FileBucketFile::File for request 
md5/70c18e9eb8bd801c191dfcb6fcbe7ec1/private/etc/passwd
Debug: save head find
Error: Instance name "md5/70c18e9eb8bd801c191dfcb6fcbe7ec1" does not match 
requested key "md5/70c18e9eb8bd801c191dfcb6fcbe7ec1/private/etc/passwd"
/Users/josh/work/puppet/lib/puppet/indirector/terminus.rb:156:in `validate_key'
/Users/josh/work/puppet/lib/puppet/indirector/terminus.rb:150:in `validate'
/Users/josh/work/puppet/lib/puppet/indirector/indirection.rb:321:in `prepare'
/Users/josh/work/puppet/lib/puppet/indirector/indirection.rb:277:in `save'
/Users/josh/work/puppet/lib/puppet/network/http/handler.rb:191:in `do_save'
/Users/josh/work/puppet/lib/puppet/network/http/handler.rb:88:in `send'
/Users/josh/work/puppet/lib/puppet/network/http/handler.rb:88:in `process'
/Users/josh/work/puppet/lib/puppet/util/profiler/none.rb:6:in `profile'
/Users/josh/work/puppet/lib/puppet/util/profiler.rb:26:in `profile'
/Users/josh/work/puppet/lib/puppet/network/http/handler.rb:82:in `process'
</pre>

Note that the dest_terminus class has overridden the save, head, and find 
methods, but not validate_key, even though that method is present in 
`file_bucket_file/file.rb`:

<pre>
$ ruby -rpuppet -e "require 'puppet/indirector/file_bucket_file/file'; puts 
Puppet::FileBucketFile::File.instance_methods(false)"
save
head
validate_key
find
</pre>

----------------------------------------
Bug #20123: Error: Could not back up path-to-file: Instance name "md5/..." does 
not match requested key "md5/.......//path-to-file"
https://projects.puppetlabs.com/issues/20123#change-89251

* Author: Eman Salah
* Status: Accepted
* Priority: Normal
* Assignee: 
* Category: error reporting
* Target version: 3.2.0
* Affected Puppet version: 3.1.1
* Keywords: 
* Branch: 
----------------------------------------
Operating System: CentOS 6.3 (Virtual machine on VirtualBox Ubuntu Desktop)
Puppet Version: 3.1.1
Ruby Version:  1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
Gem Version: 1.8.10

I'm running currently the Puppet Master and client on the same Machine for 
testing Purposes, every time I try the filebucket backup command: "puppet 
filebucket backup path-to-file" I get the following error:
Error: Could not back up path-to-file: Instance name "md5/..." does not match 
requested key "md5/.......//path-to-file"

===> Note I tried downgrading to puppet 2.7.19 on an Identical VM having the 
same problem and everything worked OK

Please Advice 





-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to