[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