[Pulp-list] Some puppet plugin issues

Michael Hrivnak mhrivnak at redhat.com
Tue Apr 23 14:46:05 UTC 2013


Thanks! I'm glad you're enjoying the new puppet features.

1) As for implementing the "forge-like" search API, we don't have plans to do that in the near future. As you noted, it's a real pain that the puppet tool expects to hit that API at the root of the web server. In part, I think we've been waiting to see if there is actually much demand for the search API. So given that, it would be interesting to hear your thoughts on how valuable that would be to you.

There is a new version of the forge API in development by Puppet Labs, so it would likely be cleaner and easier to implement the search features once that is available, if we can wait that long.

2) Can you provide more detail so I can try to reproduce this error? I just did a sync against puppet forge, then created a new repo and synced it against my local mirror of PF, and I didn't see any problems.

3) I can't seem to reproduce this either. Is this using content from puppet forge? Or are these custom in-house modules? Is it possible their metadata is different somehow?

For both of these cases, could you create bug reports at the link below? It would be helpful to have as much detail as possible on how to reproduce these problems with puppet modules I have access to.

https://bugzilla.redhat.com/enter_bug.cgi?product=Pulp

Thanks,
Michael Hrivnak



----- Original Message -----
From: "Peter Hehn" <peter.hehn at ft.com>
To: pulp-list at redhat.com
Sent: Monday, April 22, 2013 7:40:56 AM
Subject: [Pulp-list] Some puppet plugin issues

Hi Folks, 

Congratulations on 2.1! Very, very nice :) 

I've been using Pulp since 2.08's as a private puppetforge, with some nasty perl hacks to cobble together the json responses expected by a puppet client. I'm glad to see a fully functioning releases.json API in 2.1, so I'm glad to loose one of my two hacks - how's the work on modules.json going? 

1) Since 2.1 introduced support for multiple Puppet repositories using the password field to identify "repo-id", the Puppet client expects modules.json in the docroot. I had in mind setting up an apache rewriterule to select the corresponding modules.json based on repo-id but that would only partially work for "puppet module search" which expects the api to filter results for the "q=<string>" argument. 

2) If I fix issue 1 with a symlink, syncing Puppet modules between two Pulp servers is broken; if I set up repo a to sync from a puppetforge feed then set repo b to do the same from repo a, repo b produces errors when the "repo sync run" command is issued (name-version-author appears to be re-arranged)... 

pulp-admin puppet repo sync run --repo-id=repo1 
+----------------------------------------------------------------------+ 
Synchronizing Repository [repo1] 
+----------------------------------------------------------------------+ 

This command may be exited by pressing ctrl+c without affecting the actual 
operation on the server. 

Downloading metadata... 
[==================================================] 100% 
Metadata Query: 1/1 items 
... completed 

Downloading new modules... 
[==================================================] 100% 
Module: 22/22 items 
... completed 

Could not import the following modules: 

innotop-0.0.1-thomasvandoren 
mysql-0.1.0-rocha 
innodb_buffer_pool_size-0.0.1-dhgwilliam 
mysql-0.6.1-puppetlabs 
mysql-1.0.2-ghoneycutt 
mysql-1.1.0-DavidSchmitt 
wordpress-0.0.4-jonhadfield 
mysql_yum-1.0.0-mstanislav 
automysqlbackup-0.1.3-nextrevision 
php-0.2.1-nodes 
mysql-2.0.8-example42 
mysql_proxy-0.0.1-bartavelle 
hiera_mysql-0.2.0-crayfishx 
mysqlexec-1.0.2-runthebusiness 
mylvmbackup-1.1.0-ghoneycutt 
wackopicko-0.0.1-garethr 
ezpublish-0.0.2-brucem 
mysql-0.0.1-rcoleman 
mysqlproxy-0.0.1-rgevaert 
ec2_mysql-0.0.1-gastownlabs 

Publishing modules... 
[==================================================] 100% 
Module: 0/0 items 
... completed 


3) Using the sort option when searching for Puppet modules causes an error. For example... 

pulp-admin puppet repo modules --str-eq "name=wibble" --sort="version" --repo-id=repo1 

...causes an unexpected error; if I look in ~/.pulp/admin.log... 

2013-04-22 12:22:15,450 - ERROR - Client-side exception occurred 
Traceback (most recent call last): 
File "/usr/lib/python2.6/site-packages/pulp/client/extensions/core.py", line 478, in run 
exit_code = Cli.run(self, args) 
File "/usr/lib/python2.6/site-packages/okaara/cli.py", line 966, in run 
exit_code = command_or_section.execute(self.prompt, remaining_args) 
File "/usr/lib/python2.6/site-packages/pulp/client/extensions/extensions.py", line 224, in execute 
return self.method(*arg_list, **clean_kwargs) 
File "/usr/lib/python2.6/site-packages/pulp_puppet/extensions/admin/repo/modules.py", line 46, in run 
map(lambda x : x['metadata'].pop('checksums', None), modules) 
File "/usr/lib/python2.6/site-packages/pulp_puppet/extensions/admin/repo/modules.py", line 46, in <lambda> 
map(lambda x : x['metadata'].pop('checksums', None), modules) 
AttributeError: 'NoneType' object has no attribute 'pop' 


I appreciate some of these issues are due to a lack of spec from puppetlabs wrt the puppet client / puppetforge, so I just wanted to bring them to your attention in case you're not already aware. 


Regards, 

Peter Hehn 



This email was sent by a company owned by Pearson plc, registered office at 80 Strand, London WC2R 0RL. Registered in England and Wales with company number 53723. 

_______________________________________________
Pulp-list mailing list
Pulp-list at redhat.com
https://www.redhat.com/mailman/listinfo/pulp-list




More information about the Pulp-list mailing list