<div dir="ltr"><div>I think, you are hitting this error:</div><div><a href="https://github.com/pulp/pulp-cli/issues/221">https://github.com/pulp/pulp-cli/issues/221</a></div><div><br></div><div>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).</div><div>To fix your specific problem, please point the base-address to "https://" instead of "http://" in your CLI config file.</div><div>We captured the problem earlier here:<br></div><div><a href="https://github.com/pulp/pulp-cli#known-issues">https://github.com/pulp/pulp-cli#known-issues</a></div><div><br></div><div>And we will try to capture that case in the abovementioned issue and create a better error message.</div><div><br></div><div>Thank you so much for not giving up. Your feedback is really helpful to us.</div><div><br></div><div> Matthias Dellweg<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 5, 2021 at 8:20 AM Ben Stanley <<a href="mailto:ben.stanley@gmail.com">ben.stanley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello Matthias,</p>
<p>Regarding the software versions:</p>
<p>[root@honeybee plans]# /usr/local/lib/pulp/bin/pip list<br>
Package Version<br>
-------------------------------------------------------<br>
pulp-2to3-migration 0.11.0<br>
pulpcore 3.12.0<br>
pulp-cli 0.7.0<br>
</p>
<p>Looks like I could do some upgrading. I tried to upgrade the
pulp.pulp_installer, but that bombed (see separate email).</p>
<p>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<br>
</p>
<p>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.</p>
<p>Ben Stanley.<br>
</p>
<div>On 4/5/21 6:58 pm, Matthias Dellweg
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hello again.</div>
<div>The pulp cli is using requests to talk to your server. I
seems like pointing the environment variable <code>REQUESTS_CA_BUNDLE</code>
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.<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, May 4, 2021 at 10:28
AM Matthias Dellweg <<a href="mailto:mdellweg@redhat.com" target="_blank">mdellweg@redhat.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Hello Stan,</div>
<div>thank you for reporting this. First of all, you are
right about the `--plan`. Are you willing to send a PR for
that mistake?</div>
<div>Let me first ask you the typical support questions:
Which version of the migration plugin and the CLI is this?</div>
<div>The error looks to me like the CLI get's an unexpected
answer from the server, and that can have multiple
reasons.</div>
<div>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.<br>
</div>
<div>2. the server does not reply in the way, it's api-spec
promises</div>
<div>3. something in the reverse proxy garbles the result</div>
<div>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.<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, May 4, 2021 at
2:18 AM Ben Stanley <<a href="mailto:ben.stanley@gmail.com" target="_blank">ben.stanley@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello pulp-list,</p>
<p>I am attempting to migrate my pulp2 to pulp3.</p>
<p>I seem to be facing difficulties at every step.</p>
<p>After overcoming the initial difficulties of
installation, I am now up to trying to migrate the
data. Looking at the migration documentation:</p>
<p> </p>
<p><a href="https://pulp-2to3-migration.readthedocs.io/en/latest/workflows.html" target="_blank">https://pulp-2to3-migration.readthedocs.io/en/latest/workflows.html</a></p>
<p>I note that the command in the documentation is
incorrect:</p>
<p> </p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">[root@honeybee
plans]# <b>pulp --no-verify-ssl --username </b><font face="Liberation Mono, monospace"><i><b>USERNAME</b></i></font><b>
--password </b><font face="Liberation Mono,
monospace"><i><b>PASSWORD</b></i></font><b>
migration plan create plan='{"plugins": [{"type":
"iso"}]}'</b></font></p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">Usage: pulp
migration plan create [OPTIONS]</font></p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">Try 'pulp
migration plan create --help' for help.</font></p>
<p style="margin-bottom:0cm;line-height:100%"><br>
</p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace"><span style="background:rgb(255,255,0) none repeat scroll 0% 0%">Error: Missing option '--plan'.</span></font></p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">[root@honeybee
plans]# </font> </p>
<p>The documentation should be corrected to use
--plan=<stuff> instead of plan=<stuff> .<br>
<br>
</p>
<p> Even after I corrected the command to use
--plan=<stuff>, I got a huge error message.</p>
<p> </p>
<p style="margin-bottom:0cm;line-height:100%">
root@honeybee plans]# <b>pulp --no-verify-ssl
--username </b><i><b>USERNAME</b></i><b> --password
</b><i><b>PASSWORD</b></i><b> migration plan create
--plan='{"plugins": [{"type": "iso"}]}'</b></p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">Traceback (most
recent call last):</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/openapi.py",
line 219, in parse_response</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">response_spec =
method_spec["responses"][str(response.status_code)]</font></p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">KeyError: '200'</font></p>
<p style="margin-bottom:0cm;line-height:100%"><br>
</p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">During handling of
the above exception, another exception occurred:</font></p>
<p style="margin-bottom:0cm;line-height:100%"><br>
</p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">Traceback (most
recent call last):</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/bin/pulp", line 8, in <module></font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">sys.exit(main())</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
829, in __call__</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
self.main(*args, **kwargs)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
782, in main</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">rv =
self.invoke(ctx)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
1259, in invoke</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
_process_result(sub_ctx.command.invoke(sub_ctx))</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
1259, in invoke</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
_process_result(sub_ctx.command.invoke(sub_ctx))</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
1259, in invoke</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
_process_result(sub_ctx.command.invoke(sub_ctx))</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
1066, in invoke</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
ctx.invoke(self.callback, **ctx.params)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
610, in invoke</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
callback(*args, **kwargs)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/decorators.py",
line 73, in new_func</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
ctx.invoke(f, obj, *args, **kwargs)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
610, in invoke</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
callback(*args, **kwargs)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/decorators.py",
line 73, in new_func</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
ctx.invoke(f, obj, *args, **kwargs)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/click/core.py", line
610, in invoke</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
callback(*args, **kwargs)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/generic.py",
line 287, in callback</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">result =
entity_ctx.create(body=body)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/context.py",
line 364, in create</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">self.CREATE_ID,
parameters=_parameters, body=body,
non_blocking=non_blocking</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/context.py",
line 129, in call</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">result =
self.api.call(operation_id, *args, **kwargs)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/openapi.py",
line 284, in call</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">return
self.parse_response(method_spec, response)</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">File
"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulpcore/cli/common/openapi.py",
line 222, in parse_response</font></p>
<p style="margin-bottom:0cm;line-height:100%"> <font face="Liberation Mono, monospace">response_spec =
method_spec["responses"][str(100 *
int(response.status_code / 100))]</font></p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">KeyError: '200'</font></p>
<p style="margin-bottom:0cm;line-height:100%"><font face="Liberation Mono, monospace">[root@honeybee
plans]# </font> </p>
<p><br>
<br>
</p>
<p>What do I need to fix to proceed with my migration?</p>
<p>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.<br>
</p>
<p>Thanks,<br>
Ben Stanley.</p>
<p><br>
</p>
<p> </p>
<p> </p>
<p> </p>
</div>
_______________________________________________<br>
Pulp-list mailing list<br>
<a href="mailto:Pulp-list@redhat.com" target="_blank">Pulp-list@redhat.com</a><br>
<a href="https://listman.redhat.com/mailman/listinfo/pulp-list" rel="noreferrer" target="_blank">https://listman.redhat.com/mailman/listinfo/pulp-list</a></blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote></div>