[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