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@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@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.stan...@gmail.com <mailto:ben.stan...@gmail.com>> wrote:

    Hello Matthias,

    Regarding the software versions:

    [root@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
    <mdell...@redhat.com <mailto:mdell...@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.stan...@gmail.com <mailto:ben.stan...@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@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@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@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@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@redhat.com <mailto:Pulp-list@redhat.com>
            https://listman.redhat.com/mailman/listinfo/pulp-list
            <https://listman.redhat.com/mailman/listinfo/pulp-list>

_______________________________________________
Pulp-list mailing list
Pulp-list@redhat.com
https://listman.redhat.com/mailman/listinfo/pulp-list

Reply via email to