I have resolved my own issue.

I appears that the problem is with puppet, and not with pulp.

In my last upgrade, when puppet was also upgraded, my /etc/puppet/puppet.conf 
file had some configuration reverted to the old environment settings.
regarding the [production] and [development] sections, the one that causes the 
following warning message:
-
Warning: Sections other than main, master, agent, user are deprecated in 
puppet.conf. Please use the directory environments feature to specify 
environments. (See 
http://docs.puppetlabs.com/puppet/latest/reference/environments.html)
   (at /usr/lib/ruby/site_ruby/1.8/puppet/settings/config_file.rb:82:in 
`unique_sections_in')
-

I went back and fixed the configuration to support the newer expected 
configuration for environments, setting environmentpath and basemodulepath 
variables in [main], and now I am no longer getting 400 BAD REQUEST. The 
modules install successfully.

This is really odd though. It makes me think their is some underlying 
compatibility issue when either handling this case specifically, or when 
handling some kind of regression in the request.

-RG


----- Original Message -----
From: "Russell E. Glaue" <[email protected]>
To: "pulp-list" <[email protected]>
Sent: Friday, August 26, 2016 5:45:04 PM
Subject: [Pulp-list] puppet_forge on Pulp 2.9.2 400 BAD REQUEST

I upgraded pulp from 2.7 to 2.8 to 2.9.2, and now am getting an error when 
performing a "puppet module upgrade" on a puppet server that obtains the puppet 
module from a pulp_puppet repository.

I am using the new syntax, as documented in the source code 
(/usr/lib/python2.7/site-packages/pulp_puppet/forge/views/releases.py)
-
    def get(self, request, resource_type=None, resource=None):
        """
        Credentials here are not actually used for authorization, but instead
        are used to identify:

            consumer ID in the username field
            repository ID in the password field

        This is to work around the fact that the "puppet module install"
        command has hard-coded absolute paths, so we cannot put consumer or
        repository IDs in the URL's path.
        """
-


Previously with Pulp 2.7 puppet_forge, to upgrade a puppet module I would do 
this successfully.
-
puppet module upgrade org-server_user_mgmt --environment production 
--module_repository 
http://pulp.example.com/pulp_puppet/forge/repository/puppet-org-modules 
--verbose
-
However, in Pulp 2.9.2, I get a "401 UNAUTHORIZED"


So, hence I use the new syntax, as follows, but getting a 400 error:
-
puppet module upgrade org-server_user_mgmt --environment production 
--module_repository 
http://.:[email protected]/pulp_puppet/forge/repository/puppet-org-modules
 --verbose
Notice: Preparing to upgrade 'org-server_user_mgmt' ...
Notice: Found 'org-server_user_mgmt' (v1.0.3) in 
/etc/puppet/environments/production/modules ...
Error: Request to Puppet Forge failed.
  The server being queried was 
http://.:[email protected]/v3/releases?limit=20&module=org%2Fserver_user_mgmt&offset=20
  The HTTP response we received was '400 BAD REQUEST'
-

However, if I curl that URL, I get a 200 OK
-
curl -v 
'http://.:[email protected]/v3/releases?limit=20&module=org%2Fserver_user_mgmt&offset=20'
...
< HTTP/1.1 200 OK
...
{"pagination": {"total": 23, "next": null, "current": 
"/v3/releases?limit=20&module=org%2Fserver_user_mgmt&offset=20", "limit": 20, 
"offset": 20, "first": 
"/v3/releases?limit=20&module=org%2Fserver_user_mgmt&offset=0", "previous": 
"/v3/releases?limit=20&module=org%2Fserver_user_mgmt&offset=0"}, "results": 
[{"file_uri": 
"/pulp/puppet/puppet-org-modules/system/releases/c/org/org-server_user_mgmt-0.9.1.tar.gz",
 "file_md5": "dfae4f555897b6d267ea9bbe0730676a", "metadata": {"version": 
"0.9.1", "name": "org/server_user_mgmt", "dependencies": [{"name": 
"puppetlabs-stdlib", "version_requirement": ">= 0.0.0"}]}}, {"file_uri": 
"/pulp/puppet/puppet-org-modules/system/releases/c/org/org-server_user_mgmt-0.9.5.tar.gz",
 "file_md5": "64828c52d568f03f77f2a1de969debdb", "metadata": {"version": 
"0.9.5", "name": "org/server_user_mgmt", "dependencies": [{"name": 
"puppetlabs-stdlib", "version_requirement": ">= 0.0.0"}]}}, {"file_uri": 
"/pulp/puppet/puppet-org-modules/system/releases/c/org/org-ser!
 ver_user_mgmt-0.9.20.tar.gz", "file_md5": "8d5c2a3b0c7a79f6d9403bfc38d5765a", 
"metadata": {"version": "0.9.20", "name": "org/server_user_mgmt", 
"dependencies": [{"name": "puppetlabs-stdlib", "version_requirement": ">= 
0.0.0"}]}}]}
-


What is more, this module (org-server_user_mgmt) is currently on version 1.0.4 
(the 23rd version; first release is 0.9.1)


What should I do to make `puppet module upgrade` work, with Pulp 2.9.2 
puppet_forge?

-RG








_______________________________________________
Pulp-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/pulp-list

_______________________________________________
Pulp-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/pulp-list

Reply via email to