[Pulp-list] pulp-cli migration plan create FAIL

Ben Stanley ben.stanley at gmail.com
Thu May 6 00:31:54 UTC 2021


I have changed my ~/.config/pulp/settings.toml file as follows:

Old: base_url = "http://honeybee"
New: base_url = "https://honeybee"

The old setting was created in accordance with instructions at 
https://github.com/pulp/pulp-cli/blob/develop/docs/install.md . The 
instructions need to be updated.

With the settings file updated, I have managed to create a migration plan:

[root at honeybee plans]# pulp -vvv --no-verify-ssl --username USERNAME 
--password PASSWORD migration plan create --plan='{"plugins": [{"type": 
"iso"}]}'
post https://honeybee/pulp/api/v3/migration-plans/
   Content-Type: application/json
   Content-Length: 48
b'{"plan": "{\\"plugins\\": [{\\"type\\": \\"iso\\"}]}"}'
Response: 201
{"pulp_href":"/pulp/api/v3/migration-plans/UUID/","pulp_created":"2021-05-05T23:54:28.456994Z","plan":{"plugins":[{"type":"iso"}]}}
{
   "pulp_href": "/pulp/api/v3/migration-plans/UUID/",
   "pulp_created": "2021-05-05T23:54:28.456994Z",
   "plan": {
     "plugins": [
       {
         "type": "iso"
       }
     ]
   }
}

[root at honeybee plans]#

After that I was able to reset the v3 repositories and run a migration.

Now, is there any way that I can simplify these commands? Can I run pulp 
commands without having to specify the username and password and 
--no-verify-ssl on every command line?

Also, I tried to load the URL https://honeybee/pulp/isos/ but the page 
timed out. Am I trying to load the correct URL for pulp3? I did not even 
get a https certificate error problem (I am using a self-signed 
certificate).

Thanks for the help!

Ben.

On 5/5/21 6:33 pm, Matthias Dellweg wrote:
> I think, you are hitting this error:
> https://github.com/pulp/pulp-cli/issues/221 
> <https://github.com/pulp/pulp-cli/issues/221>
>
> The problem is that Pulp adds a redirect from http to https, but 
> requests turns all POST requests into GET requests upon redirect. So 
> the server answers like you wanted to list the migration plans (http 
> 200) instead of creating a new one (http 202).
> To fix your specific problem, please point the base-address to 
> "https://" instead of "http://" in your CLI config file.
> We captured the problem earlier here:
> https://github.com/pulp/pulp-cli#known-issues 
> <https://github.com/pulp/pulp-cli#known-issues>
>
> And we will try to capture that case in the abovementioned issue and 
> create a better error message.
>
> Thank you so much for not giving up. Your feedback is really helpful 
> to us.
>
>   Matthias Dellweg
>
> On Wed, May 5, 2021 at 8:20 AM Ben Stanley <ben.stanley at gmail.com 
> <mailto:ben.stanley at gmail.com>> wrote:
>
>     Hello Matthias,
>
>     Regarding the software versions:
>
>     [root at honeybee plans]# /usr/local/lib/pulp/bin/pip list
>     Package                            Version
>     -------------------------------------------------------
>     pulp-2to3-migration       0.11.0
>     pulpcore                           3.12.0
>     pulp-cli                              0.7.0
>
>     Looks like I could do some upgrading. I tried to upgrade the
>     pulp.pulp_installer, but that bombed (see separate email).
>
>     Regarding the cached api-spec, I ran pulp status. There is no
>     mention of any api being outdated or refreshing (see attached
>     output 20210505_pulp_status.txt
>
>     I have also re-run the migration plan create with -vvv . The
>     output is attached as 20210505_pulp_migration_create_vvv.txt . I
>     hope it means more to you than it does to me.
>
>     Ben Stanley.
>
>     On 4/5/21 6:58 pm, Matthias Dellweg wrote:
>>     Hello again.
>>     The pulp cli is using requests to talk to your server. I seems
>>     like pointing the environment variable |REQUESTS_CA_BUNDLE| to
>>     the full path of a copy of the file you may find as
>>     '/etc/pulp/certs/root.crt' or '/etc/pulp/certs/ca.crt' tells
>>     requests to use the provided root certificate.
>>
>>     On Tue, May 4, 2021 at 10:28 AM Matthias Dellweg
>>     <mdellweg at redhat.com <mailto:mdellweg at redhat.com>> wrote:
>>
>>         Hello Stan,
>>         thank you for reporting this. First of all, you are right
>>         about the `--plan`. Are you willing to send a PR for that
>>         mistake?
>>         Let me first ask you the typical support questions: Which
>>         version of the migration plugin and the CLI is this?
>>         The error looks to me like the CLI get's an unexpected answer
>>         from the server, and that can have multiple reasons.
>>         1. the cached api-spec of the CLI is outdated. Please run
>>         `pulp <...> status` and look for "Notice: Cached api is
>>         outdated. Refreshing...". After that, try again.
>>         2. the server does not reply in the way, it's api-spec promises
>>         3. something in the reverse proxy garbles the result
>>         Can you please try to rerun your command with `pulp -vvv
>>         --no-verify-ssl --username USERNAME ...` to add some
>>         debugging output. It will show you the requests sent to the
>>         server as well as the responses. I hope this can give some
>>         insight.
>>
>>         On Tue, May 4, 2021 at 2:18 AM Ben Stanley
>>         <ben.stanley at gmail.com <mailto:ben.stanley at gmail.com>> wrote:
>>
>>             Hello pulp-list,
>>
>>             I am attempting to migrate my pulp2 to pulp3.
>>
>>             I seem to be facing difficulties at every step.
>>
>>             After overcoming the initial difficulties of
>>             installation, I am now up to trying to migrate the data.
>>             Looking at the migration documentation:
>>
>>             https://pulp-2to3-migration.readthedocs.io/en/latest/workflows.html
>>             <https://pulp-2to3-migration.readthedocs.io/en/latest/workflows.html>
>>
>>             I note that the command in the documentation is incorrect:
>>
>>             [root at honeybee plans]# *pulp --no-verify-ssl --username
>>             */*USERNAME*/*--password */*PASSWORD*/*migration plan
>>             create plan='{"plugins": [{"type": "iso"}]}'*
>>
>>             Usage: pulp migration plan create [OPTIONS]
>>
>>             Try 'pulp migration plan create --help' for help.
>>
>>
>>             Error: Missing option '--plan'.
>>
>>             [root at honeybee plans]#
>>
>>             The documentation should be corrected to use
>>             --plan=<stuff> instead of plan=<stuff> .
>>
>>             Even after I corrected the command to use --plan=<stuff>,
>>             I got a huge error message.
>>
>>             root at honeybee plans]# *pulp --no-verify-ssl --username
>>             */*USERNAME*/*--password */*PASSWORD*/*migration plan
>>             create --plan='{"plugins": [{"type": "iso"}]}'*
>>
>>             Traceback (most recent call last):
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/openapi.py",
>>             line 219, in parse_response
>>
>>             response_spec =
>>             method_spec["responses"][str(response.status_code)]
>>
>>             KeyError: '200'
>>
>>
>>             During handling of the above exception, another exception
>>             occurred:
>>
>>
>>             Traceback (most recent call last):
>>
>>             File "/usr/local/bin/pulp", line 8, in <module>
>>
>>             sys.exit(main())
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 829, in __call__
>>
>>             return self.main(*args, **kwargs)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 782, in main
>>
>>             rv = self.invoke(ctx)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 1259, in invoke
>>
>>             return _process_result(sub_ctx.command.invoke(sub_ctx))
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 1259, in invoke
>>
>>             return _process_result(sub_ctx.command.invoke(sub_ctx))
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 1259, in invoke
>>
>>             return _process_result(sub_ctx.command.invoke(sub_ctx))
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 1066, in invoke
>>
>>             return ctx.invoke(self.callback, **ctx.params)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 610, in invoke
>>
>>             return callback(*args, **kwargs)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/decorators.py",
>>             line 73, in new_func
>>
>>             return ctx.invoke(f, obj, *args, **kwargs)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 610, in invoke
>>
>>             return callback(*args, **kwargs)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/decorators.py",
>>             line 73, in new_func
>>
>>             return ctx.invoke(f, obj, *args, **kwargs)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py",
>>             line 610, in invoke
>>
>>             return callback(*args, **kwargs)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/generic.py",
>>             line 287, in callback
>>
>>             result = entity_ctx.create(body=body)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/context.py",
>>             line 364, in create
>>
>>             self.CREATE_ID, parameters=_parameters, body=body,
>>             non_blocking=non_blocking
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/context.py",
>>             line 129, in call
>>
>>             result = self.api.call(operation_id, *args, **kwargs)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/openapi.py",
>>             line 284, in call
>>
>>             return self.parse_response(method_spec, response)
>>
>>             File
>>             "/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/openapi.py",
>>             line 222, in parse_response
>>
>>             response_spec = method_spec["responses"][str(100 *
>>             int(response.status_code / 100))]
>>
>>             KeyError: '200'
>>
>>             [root at honeybee plans]#
>>
>>
>>
>>             What do I need to fix to proceed with my migration?
>>
>>             And I'd also like to know how I can get it to work
>>             without having to specify --no-verify-ssl . Note that I
>>             have a self-signed certificate. I don't mind pointing the
>>             pulp command to the self-signed certificate file so that
>>             it will accept it, but I don't know how to do that.
>>
>>             Thanks,
>>             Ben Stanley.
>>
>>
>>             _______________________________________________
>>             Pulp-list mailing list
>>             Pulp-list at redhat.com <mailto:Pulp-list at redhat.com>
>>             https://listman.redhat.com/mailman/listinfo/pulp-list
>>             <https://listman.redhat.com/mailman/listinfo/pulp-list>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20210506/052f07b9/attachment.htm>


More information about the Pulp-list mailing list