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

Ben Stanley ben.stanley at gmail.com
Wed May 12 07:43:41 UTC 2021


Please see responses inline.

On 6/5/21 8:15 pm, Matthias Dellweg wrote:
>
>
> On Thu, May 6, 2021 at 2:32 AM Ben Stanley <ben.stanley at gmail.com 
> <mailto:ben.stanley at gmail.com>> wrote:
>
>     I have changed my ~/.config/pulp/settings.toml file as follows:
>
>     Old: base_url = "http://honeybee" <http://honeybee>
>     New: base_url = "https://honeybee" <https://honeybee>
>
>     The old setting was created in accordance with instructions at
>     https://github.com/pulp/pulp-cli/blob/develop/docs/install.md
>     <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/
>     <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.
>
> That sounds great!
>
>     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?
>
> Yes there is. You can add these parameters to the config file. See 
> https://github.com/pulp/pulp-cli/blob/develop/docs/install.md#configuration 
> <https://github.com/pulp/pulp-cli/blob/develop/docs/install.md#configuration>
> You should be able to perform a "pulp status" command without errors.
Thank you for this I can indeed to a "pulp status" and obtain sensible 
output now, without needing all the extra flags.
>
>     Also, I tried to load the URL https://honeybee/pulp/isos/
>     <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).
>
> That looks to me like a Pulp2 address. I think, all Pulp3 content will 
> be served at https://honeybee/pulp/content/ 
> <https://honeybee/pulp/content/> . Also note, that "iso" content will 
> be migrated into the pulp_file plugin.
I have migrated the iso content using the 3 steps outlined at 
https://pulp-2to3-migration.readthedocs.io/en/latest/workflows.html . 
However, https://honeybee/pulp/content/ loads an empty page. Is there 
some secret path from that point, or do I have to publish all of the 
migrated repositories?
>
>     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/20210512/a93d8981/attachment.htm>


More information about the Pulp-list mailing list