[Pulp-list] pulp-puppet theory of operation/use

Jay Dobies jason.dobies at redhat.com
Wed Jan 30 13:53:11 UTC 2013


I answered this in a similar thread but will add it here as well. We're 
working on that issue now. The 2.0 release used the modules.json API but 
not the releases.json API. It's being worked on right now and will be 
available in the 2.1 release in early April.

If you're interested, I can let you know when it makes it to an testing 
build. If everything continues the way it's been going, that should be 
either this Friday or the following Friday's testing build.


On 01/30/2013 08:32 AM, Peter Hehn wrote:
> Yes, you're right Steven.  Looking at the request / responses to a
> puppetforge query / installation / installation w specific module
> version it looks simple enough that I might have a go at hacking
> together a simple cgi to spew json responses from mongodb (just to prove
> the concept)...
>
> puppet module search tomcat....
>
> GET /modules.json?q=tomcat HTTP/1.1
> Host: forge.puppetlabs.com <http://forge.puppetlabs.com>
> Accept: */*
>
> HTTP/1.1 200 OK
> Server: nginx/1.2.1
> Date: Tue, 29 Jan 2013 11:50:18 GMT
> Content-Type: application/json
> Content-Length: 2116
> Connection: keep-alive
> Status: 200 OK
> X-Frame-Options: sameorigin
> X-XSS-Protection: 1; mode=block
> X-Node: forgeweb01
> X-Revision: fb00b97e9f189bebf0bdb5bb8c66012dcc5acdc9
>
> [{"author":"llehmijo","full_name":"llehmijo/tomcat7_rhel","name":"tomcat7_rhel","desc":"Tomcat
> 7 for RHEL
> 6","project_url":"https://github.com/laurilehmijoki/tomcat7_rhel","releases":[{"version":"1.4.0"},{"version":"1.3.0"},{"version":"1.2.0"},{"version":"1.1.1"},{"version":"1.1.0"},{"version":"1.0.0"},{"version":"0.3.3"},{"version":"0.3.2"},{"version":"0.3.1"},{"version":"0.3.0"},{"version":"0.2.0"},{"version":"0.1.2"},{"version":"0.1.1"},{"version":"0.1.0"}],"version":"1.4.0","tag_list":["rhel","centos","tomcat7","tomcat"]},{"author":"cloudfront","full_name":"cloudfront/tomcat","name":"tomcat","desc":"#
> Apache Tomcat Module
> #","project_url":"https://github.com/terrancesnyder/bigdata","releases":[{"version":"0.1.0"}],"version":"0.1.0","tag_list":["tomcat"]},{"author":"yguenane","full_name":"yguenane/tomcat6","name":"tomcat6","desc":"This
> module aims to install tomcat6 on EL/Debian platforms using their
> respective package managers and not by compiling the source
> code","project_url":"https://github.com/Spredzy/puppet-tomcat6","releases":[{"version":"0.0.5"},{"version":"0.0.3"},{"version":"0.0.1"}],"version":"0.0.5","tag_list":["tomcat","servlet","tomcat6"]},{"author":"multiverse","full_name":"multiverse/Tomcat","name":"Tomcat","desc":"Module
> for deploying applications to
> Tomcat.","project_url":"","releases":[{"version":"0.0.1"}],"version":"0.0.1","tag_list":["tomcat","deployment","wars","applications"]},{"author":"jeffmccune","full_name":"jeffmccune/tomcat","name":"tomcat","desc":"This
> puppet module manages the [Apache Tomcat](http://tomcat.apache.org/)
> Java Servlet
> implementation.","project_url":"http://github.com/puppetlabs/puppetlabs-tomcat","releases":[{"version":"1.0.1"},{"version":"1.0.0"}],"version":"1.0.1","tag_list":["web","java","jsp","webapp","tomcat","service","servlet","puppetlabs"]},{"author":"camptocamp","full_name":"camptocamp/tomcat","name":"tomcat","desc":"Tomcat
> Puppet
> module","project_url":"http://github.com/camptocamp/puppet-tomcat","releases":[{"version":"0.0.2"},{"version":"0.0.1"}],"version":"0.0.2","tag_list":["webservers","web","java","jsp","languages"]}]
>
>
> puppet module install cloudfront/tomcat...
>
> GET /api/v1/releases.json?module=cloudfront/tomcat HTTP/1.1
> Host: forge.puppetlabs.com <http://forge.puppetlabs.com>
> Accept: */*
>
> HTTP/1.1 200 OK
> Server: nginx/1.2.1
> Date: Tue, 29 Jan 2013 11:50:46 GMT
> Content-Type: application/json
> Content-Length: 131
> Connection: keep-alive
> Status: 200 OK
> X-Frame-Options: sameorigin
> X-XSS-Protection: 1; mode=block
> X-Node: forgeweb01
> X-Revision: fb00b97e9f189bebf0bdb5bb8c66012dcc5acdc9
>
> {"cloudfront/tomcat":[{"file":"/system/releases/c/cloudfront/cloudfront-tomcat-0.1.0.tar.gz","version":"0.1.0","dependencies":[]}]}
>
>
> puppet module install cloudfront/tomcat --version 0.1.0...
>
> GET /api/v1/releases.json?module=cloudfront/tomcat&version=0.1.0 HTTP/1.1
> Host: forge.puppetlabs.com <http://forge.puppetlabs.com>
> Accept: */*
>
> HTTP/1.1 200 OK
> Server: nginx/1.2.1
> Date: Tue, 29 Jan 2013 11:51:57 GMT
> Content-Type: application/json
> Content-Length: 131
> Connection: keep-alive
> Status: 200 OK
> X-Frame-Options: sameorigin
> X-XSS-Protection: 1; mode=block
> X-Node: forgeweb03
> X-Revision: fb00b97e9f189bebf0bdb5bb8c66012dcc5acdc9
>
> {"cloudfront/tomcat":[{"file":"/system/releases/c/cloudfront/cloudfront-tomcat-0.1.0.tar.gz","version":"0.1.0","dependencies":[]}]}
>
> On 30 January 2013 07:09, Steven Roberts <strobert at strobe.net
> <mailto:strobert at strobe.net>> wrote:
>
>     okay, I stand corrected on the content not being published, pulp_puppet
>     publishes into a different spot than pulp_rpm so couldn't find it at
>     first.  Did some more digging and found it at:
>
>     /var/www/pulp_puppet/http/repos/
>
>     after some more poking I also came across this blog post:
>     http://www.pulpproject.org/2012/08/29/mirroring-puppet-forge-with-pulp/
>
>     I think I am seeing what Peter is getting at now though.  the
>     'puppet module' tool looks like it is expecting some forge API foo
>
>     here is the bit from puppet's forge.rb:
>     response =
>     repository.make_http_request("/modules.json?q=#{URI.escape(term)}")
>
>     so looks like the puppet module tools are expecting some URL handling
>     in adiditon to the basic json content.
>
>     I am wondering if some of it is related to:
>     http://projects.puppetlabs.com/issues/5033
>
>     Steve
>
>     On Tue, Jan 29, 2013 at 09:25:21PM -0800, Steven Roberts wrote:
>      > On Fri, Jan 18, 2013 at 09:55:16AM -0500, Jay Dobies wrote:
>      > >
>      > > >so in 2.0 we've got the repo side going and in theory could then
>      > > >point "puppet module" at the pulp server and get modules installed
>      > > >and updated on the pupept master that way.
>      > > >
>      > > >Steve
>      > >
>      > > That's exactly right.
>      >
>      > On Wed, Jan 30, 2013 at 12:13:20AM +0000, Peter Hehn wrote:
>      > > Hello,
>      > >
>      > > I've only recently stumbled across Pulp, and I'm loving the
>     repository
>      > > syncing side of it, but I wonder if I'm missing a trick...  I'm
>     hoping
>      > > to
>      > > access those modules using "puppet module install / search" but
>     as far
>      > > as I
>      > > can tell the JSON API just isn't there.
>      > >
>      > > Have I missed something in the documentation?  I can lend a hand if
>      > > that
>      > > task's outstanding (just thought I'd check before I re-invent)
>      >
>      > Jay, I decided to try out the puppet module use to see if I can
>      > replicate what Peter is seeing.
>      >
>      > I made a repo, uploaded a module and ran the publish.  but I'm not
>      > seeing any files in the published dir.
>      >
>      > Running 2.1.0-0.1.alpha
>      >
>      > Steve
>      >
>      > _______________________________________________
>      > Pulp-list mailing list
>      > Pulp-list at redhat.com <mailto:Pulp-list at redhat.com>
>      > https://www.redhat.com/mailman/listinfo/pulp-list
>
>
>
> ------------------------------------------------------------------------
> 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.


-- 
Jay Dobies
Freenode: jdob @ #pulp
http://pulpproject.org




More information about the Pulp-list mailing list