[Pulp-list] pulp-cli migration plan create FAIL
Ben Stanley
ben.stanley at gmail.com
Thu May 13 03:06:32 UTC 2021
Matthias,
Thank you for this information. The output from those commands allowed
me to identify where the file repositories are published.
https://honeybee/pulp/content/file-repository-name/
Using that information, I was able to load the repository page and see
the contents in my web browser (provided I knew the repository name from
the pulp file distribution list command).
However, pulp2 allowed me to browse the list of published repositories
directly. Can I do that with pulp3?
Should I be using Katello as a front end to provide some kind of user
interface for pulp3? This seems very hard, even by pulp2 standards.
Ben.
On 12/5/21 6:36 pm, Matthias Dellweg wrote:
> Can you try to see, whether any of the following commands show the
> expected entities?
> pulp file remote list
> pulp file repository list
> pulp file publication list
> pulp file distribution list
> pulp migration pulp2 repository list
>
> On Wed, May 12, 2021 at 9:43 AM Ben Stanley <ben.stanley at gmail.com
> <mailto:ben.stanley at gmail.com>> wrote:
>
> 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
> <https://pulp-2to3-migration.readthedocs.io/en/latest/workflows.html>
> . However, https://honeybee/pulp/content/
> <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/20210513/e797070c/attachment.htm>
More information about the Pulp-list
mailing list