<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I have changed my ~/.config/pulp/settings.toml file as follows:</p>
    <p>Old: base_url = <a class="moz-txt-link-rfc2396E" href="http://honeybee">"http://honeybee"</a><br>
      New: base_url = <a class="moz-txt-link-rfc2396E" href="https://honeybee">"https://honeybee"</a></p>
    <p>The old setting was created in accordance with instructions at
      <a class="moz-txt-link-freetext" href="https://github.com/pulp/pulp-cli/blob/develop/docs/install.md">https://github.com/pulp/pulp-cli/blob/develop/docs/install.md</a> .
      The instructions need to be updated.</p>
    <p>With the settings file updated, I have managed to create a
      migration plan:</p>
    <p>[root@honeybee plans]# pulp -vvv --no-verify-ssl --username
      USERNAME --password PASSWORD migration plan create
      --plan='{"plugins": [{"type": "iso"}]}'<br>
      post <a class="moz-txt-link-freetext" href="https://honeybee/pulp/api/v3/migration-plans/">https://honeybee/pulp/api/v3/migration-plans/</a><br>
        Content-Type: application/json<br>
        Content-Length: 48<br>
      b'{"plan": "{\\"plugins\\": [{\\"type\\": \\"iso\\"}]}"}'<br>
      Response: 201<br>
{"pulp_href":"/pulp/api/v3/migration-plans/UUID/","pulp_created":"2021-05-05T23:54:28.456994Z","plan":{"plugins":[{"type":"iso"}]}}<br>
      {<br>
        "pulp_href": "/pulp/api/v3/migration-plans/UUID/",<br>
        "pulp_created": "2021-05-05T23:54:28.456994Z",<br>
        "plan": {<br>
          "plugins": [<br>
            {<br>
              "type": "iso"<br>
            }<br>
          ]<br>
        }<br>
      }<br>
      <br>
      [root@honeybee plans]# <br>
    </p>
    <p>After that I was able to reset the v3 repositories and run a
      migration.</p>
    <p>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?</p>
    <p>Also, I tried to load the URL <a class="moz-txt-link-freetext" href="https://honeybee/pulp/isos/">https://honeybee/pulp/isos/</a> 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).<br>
    </p>
    <p>Thanks for the help!</p>
    <p>Ben.<br>
    </p>
    <div class="moz-cite-prefix">On 5/5/21 6:33 pm, Matthias Dellweg
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAG+ryNwdW9k912+g8bAZPCGZyh1=-HG_SVkBwmZkhqd7rzPvWw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>I think, you are hitting this error:</div>
        <div><a href="https://github.com/pulp/pulp-cli/issues/221"
            moz-do-not-send="true">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"
            moz-do-not-send="true">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"
            moz-do-not-send="true">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"
                    moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">Pulp-list@redhat.com</a><br>
                      <a
                        href="https://listman.redhat.com/mailman/listinfo/pulp-list"
                        rel="noreferrer" target="_blank"
                        moz-do-not-send="true">https://listman.redhat.com/mailman/listinfo/pulp-list</a></blockquote>
                  </div>
                </blockquote>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>