https://pulp.plan.io/https://pulp.plan.io/favicon.ico2020-03-17T14:32:44ZPulpPulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=540992020-03-17T14:32:44Zfao89
<ul><li><strong>Triaged</strong> changed from <i>No</i> to <i>Yes</i></li><li><strong>Sprint</strong> set to <i>Sprint 68</i></li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=541702020-03-19T15:30:27Zfao89
<ul><li><strong>Status</strong> changed from <i>NEW</i> to <i>ASSIGNED</i></li><li><strong>Assignee</strong> set to <i>fao89</i></li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=541822020-03-19T18:40:27Zfao89
<ul></ul><p>They do not appear because they are write_only:
<a href="https://github.com/pulp/pulpcore/pull/361/files" class="external">https://github.com/pulp/pulpcore/pull/361/files</a>
it is a drf_yasg limitation:
<a href="https://github.com/axnsan12/drf-yasg/issues/70#issuecomment-368233077" class="external">https://github.com/axnsan12/drf-yasg/issues/70#issuecomment-368233077</a>
For fixing this, we would have to apply this patch:
<a href="https://github.com/axnsan12/drf-yasg/issues/70#issuecomment-485050813" class="external">https://github.com/axnsan12/drf-yasg/issues/70#issuecomment-485050813</a>
Which would change our bindings</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=542452020-03-20T15:21:56Zrchan
<ul><li><strong>Sprint</strong> changed from <i>Sprint 68</i> to <i>Sprint 69</i></li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=542652020-03-20T21:21:28Zfao89
<ul><li><strong>Status</strong> changed from <i>ASSIGNED</i> to <i>POST</i></li></ul><p><a href="https://github.com/pulp/pulpcore/pull/600" class="external">https://github.com/pulp/pulpcore/pull/600</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544512020-03-25T13:15:06Zpulpbot
<ul></ul><p>PR: <a href="https://github.com/pulp/pulpcore/pull/600" class="external">https://github.com/pulp/pulpcore/pull/600</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544532020-03-25T13:58:37Zdaviddavis
<ul></ul><p>After a discussion on IRC with @dkliban, <a class="user active" href="https://pulp.plan.io/users/14917">fao89</a>, and <a class="user active" href="https://pulp.plan.io/users/1">bmbouter</a>, we decided that pulp should use SecretCharFields for write-only data and to either document (or validate) that serializers shouldn't use the write_only option on fields.</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544542020-03-25T14:12:16Zbmbouterbmbouter@redhat.com
<ul></ul><p>I'm +1 on using SecretCharField. What would happen with a bindings user:</p>
<ol>
<li>Use the bindings to read() the an endpoint whose serializer is using SecretCharField, say as field <code>password</code>
</li>
<li>Call an update() on the bindings object to update another attribute <code>asdf</code>
</li>
</ol>
<p>Is there any possibility that while setting <code>asdf</code> the value of <code>password</code> is also changed? Or does it require an explicit update of the <code>password</code> field itself? What about PUT versus PATCH calls?</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544602020-03-25T17:16:02Zdkliban@redhat.com
<ul></ul><p>It looks like if you take the FileRemote object returned by the read() or create() method and pass it to the update() method, the client_cert field gets updated to a new value. This will be true for any SecretCharField.</p>
<pre>
(Pdb) file_remote
{'ca_cert': None,
'client_cert': 'b3226466e6d9c43c7058f69e1ff41daaf688cd223c084faa3e28202813ecff28',
'client_key': None,
'download_concurrency': 20,
'name': 'bar25',
'policy': 'immediate',
'proxy_url': None,
'pulp_created': datetime.datetime(2020, 3, 25, 17, 9, 13, 631685, tzinfo=tzlocal()),
'pulp_href': '/pulp/api/v3/remotes/file/file/e42eea0d-e583-45ce-bdca-342169385cb2/',
'pulp_last_updated': datetime.datetime(2020, 3, 25, 17, 9, 13, 631703, tzinfo=tzlocal()),
'tls_validation': True,
'url': 'https://repos.fedorapeople.org/pulp/pulp/demo_repos/test_file_repo/PULP_MANIFEST'}
(Pdb) fileremotes.update(file_remote.pulp_href, file_remote)
{'task': '/pulp/api/v3/tasks/ec6a2bb6-4ce4-4a0e-ab1c-62d37aecfd27/'}
(Pdb) file_updated_remote = fileremotes.read(file_remote.pulp_href)
(Pdb) file_updated_remote
{'ca_cert': None,
'client_cert': '7fc2a6b69d81c4581eac98454217b173a8b23256eefad0bb9eaabe199d8baae8',
'client_key': None,
'download_concurrency': 20,
'name': 'bar25',
'policy': 'immediate',
'proxy_url': None,
'pulp_created': datetime.datetime(2020, 3, 25, 17, 9, 13, 631685, tzinfo=tzlocal()),
'pulp_href': '/pulp/api/v3/remotes/file/file/e42eea0d-e583-45ce-bdca-342169385cb2/',
'pulp_last_updated': datetime.datetime(2020, 3, 25, 17, 10, 37, 747011, tzinfo=tzlocal()),
'tls_validation': True,
'url': 'https://repos.fedorapeople.org/pulp/pulp/demo_repos/test_file_repo/PULP_MANIFEST'}
</pre> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544752020-03-25T21:34:12Zfao89
<ul></ul><p>write_only=True</p>
<p>pulp-2to3-migration:</p>
<pre><code class="python syntaxhl" data-language="python"> <span class="n">validate</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">BooleanField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">'If ``True``, migration cannot happen without successful validation '</span>
<span class="s">'of the Migration Plan'</span><span class="p">),</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span>
<span class="p">)</span>
<span class="n">dry_run</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">BooleanField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">'If ``True``, performs validation of a Migration Plan only, no migration is '</span>
<span class="s">'run.'</span><span class="p">),</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">default</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span>
<span class="p">)</span>
</code></pre>
<p>pulp-certguard:</p>
<pre><code class="python syntaxhl" data-language="python"> <span class="n">ca_certificate</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">FileField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">"The Certificate Authority certificate."</span><span class="p">),</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span>
<span class="p">)</span>
</code></pre>
<p>pulp_container:</p>
<pre><code class="python syntaxhl" data-language="python"> <span class="n">content_units</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">ListField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">'A list of content units to operate on.'</span><span class="p">),</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span>
<span class="p">)</span>
<span class="n">source_repository</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">HyperlinkedRelatedField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">'A URI of the repository to copy content from.'</span><span class="p">),</span>
<span class="n">queryset</span><span class="o">=</span><span class="n">models</span><span class="p">.</span><span class="n">ContainerRepository</span><span class="p">.</span><span class="n">objects</span><span class="p">.</span><span class="nb">all</span><span class="p">(),</span>
<span class="n">view_name</span><span class="o">=</span><span class="s">'repositories-container/container-detail'</span><span class="p">,</span>
<span class="n">label</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">'Repository'</span><span class="p">),</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">source_repository_version</span> <span class="o">=</span> <span class="n">NestedRelatedField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">'A URI of the repository version to copy content from.'</span><span class="p">),</span>
<span class="n">view_name</span><span class="o">=</span><span class="s">'versions-detail'</span><span class="p">,</span>
<span class="n">lookup_field</span><span class="o">=</span><span class="s">'number'</span><span class="p">,</span>
<span class="n">parent_lookup_kwargs</span><span class="o">=</span><span class="p">{</span><span class="s">'repository_pk'</span><span class="p">:</span> <span class="s">'repository__pk'</span><span class="p">},</span>
<span class="n">queryset</span><span class="o">=</span><span class="n">RepositoryVersion</span><span class="p">.</span><span class="n">objects</span><span class="p">.</span><span class="nb">all</span><span class="p">(),</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">containerfile</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">FileField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span>
<span class="s">"An uploaded Containerfile that should be used to run buildah."</span>
<span class="p">),</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
</code></pre>
<p>pulpcore:</p>
<pre><code class="python syntaxhl" data-language="python"> <span class="n">relative_path</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">CharField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">"Path where the artifact is located relative to distributions base_path"</span><span class="p">),</span>
<span class="n">validators</span><span class="o">=</span><span class="p">[</span><span class="n">fields</span><span class="p">.</span><span class="n">relative_path_validator</span><span class="p">],</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">username</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">CharField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="s">'The username to be used for authentication when syncing.'</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">allow_null</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">password</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">CharField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="s">'The password to be used for authentication when syncing.'</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">allow_null</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">add_content_units</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">ListField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">'A list of content units to add to a new repository version. This content is '</span>
<span class="s">'added after remove_content_units are removed.'</span><span class="p">),</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span>
<span class="p">)</span>
<span class="n">remove_content_units</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">ListField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">"A list of content units to remove from the latest repository version. "</span>
<span class="s">"You may also specify '*' as an entry to remove all content. This content is "</span>
<span class="s">"removed before add_content_units are added."</span><span class="p">),</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span>
<span class="p">)</span>
<span class="nb">file</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">FileField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">"A chunk of the uploaded file."</span><span class="p">),</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">sha256</span> <span class="o">=</span> <span class="n">serializers</span><span class="p">.</span><span class="n">CharField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span><span class="s">"The SHA-256 checksum of the chunk if available."</span><span class="p">),</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">allow_null</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="nb">file</span> <span class="o">=</span> <span class="n">FileField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span>
<span class="s">"An uploaded file that should be turned into the artifact of the content unit."</span>
<span class="p">),</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="n">repository</span> <span class="o">=</span> <span class="n">DetailRelatedField</span><span class="p">(</span>
<span class="n">help_text</span><span class="o">=</span><span class="n">_</span><span class="p">(</span>
<span class="s">"A URI of a repository the new content unit should be associated with."</span>
<span class="p">),</span>
<span class="n">required</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
<span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
<span class="n">queryset</span><span class="o">=</span><span class="n">Repository</span><span class="p">.</span><span class="n">objects</span><span class="p">.</span><span class="nb">all</span><span class="p">(),</span>
<span class="p">)</span>
</code></pre> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544882020-03-26T14:20:39Zbmbouterbmbouter@redhat.com
<ul></ul><p>I see the <code>write_only</code> usage falling into two categories.</p>
<a name="write_only-for-secrecy"></a>
<h3 >write_only for secrecy<a href="#write_only-for-secrecy" class="wiki-anchor">¶</a></h3>
<p>These are fields that are unsafe to be re-shown to the user. These are the ones that should have a solution similar to <code>SecretCharField</code> that shows you the sha256 when viewed, and refuses to overwrite data if you're submitting the sha256 of the data already stored.</p>
<p>The only ones I think that fall in this category are: <code>Remote.username</code>, <code>Remote.password</code></p>
<a name="write_only-for-correctness"></a>
<h3 >write_only for correctness<a href="#write_only-for-correctness" class="wiki-anchor">¶</a></h3>
<p>These are all the others, and I think these should be viewable but only allowed to set once. These would be all other fields.</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544892020-03-26T14:30:16Zdaviddavis
<ul></ul><p>I think there's also a third category: a field that is not actually stored in the database. The fields on MigrationPlanRunSerializer[0] are an example.</p>
<p>In such cases, perhaps we just roll a write only serializer to be used for POST/PUT/PATCH (but not GET) and not set the write_only option on these fields.</p>
<p>[0] <a href="https://git.io/Jv9EU" class="external">https://git.io/Jv9EU</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544912020-03-26T14:37:26Zbmbouterbmbouter@redhat.com
<ul></ul><p>daviddavis wrote:</p>
<blockquote>
<p>I think there's also a third category: a field that is not actually stored in the database. The fields on MigrationPlanRunSerializer[0] are an example.</p>
<p>In such cases, perhaps we just roll a write only serializer to be used for POST/PUT/PATCH (but not GET) and not set the write_only option on these fields.</p>
<p>[0] <a href="https://git.io/Jv9EU" class="external">https://git.io/Jv9EU</a></p>
</blockquote>
<p>Agreed, sounds great.</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544922020-03-26T15:13:13Zpulpbot
<ul></ul><p>PR: <a href="https://github.com/pulp/pulpcore/pull/611" class="external">https://github.com/pulp/pulpcore/pull/611</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544952020-03-26T17:48:30Zpulpbot
<ul></ul><p>PR: <a href="https://github.com/pulp/pulpcore/pull/612" class="external">https://github.com/pulp/pulpcore/pull/612</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=544972020-03-26T18:23:22Zpulpbot
<ul></ul><p>PR: <a href="https://github.com/pulp/pulpcore/pull/613" class="external">https://github.com/pulp/pulpcore/pull/613</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=545042020-03-26T20:48:25Zfao89
<ul></ul><p>how about the initial issue that made me hide write_only fields? <a href="https://pulp.plan.io/issues/5622" class="external">https://pulp.plan.io/issues/5622</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=545262020-03-27T17:57:39Zfao89
<ul></ul><p>Two options:</p>
<p>1 - <a href="https://github.com/pulp/pulpcore/pull/600" class="external">https://github.com/pulp/pulpcore/pull/600</a></p>
<ul>
<li>write_only fields do not show up in the docs</li>
<li>username and password are not write_only anymore</li>
<li>browsable API response == httpie response == Rest API docs response</li>
</ul>
<p>2- <a href="https://github.com/pulp/pulpcore/pull/613" class="external">https://github.com/pulp/pulpcore/pull/613</a></p>
<ul>
<li>write_only fields show up in the docs</li>
<li>(browsable API response == httpie response) != Rest API docs response</li>
</ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=545932020-03-31T17:28:30Zdaviddavis
<ul><li><strong>Blocked by</strong> <i><a class="issue tracker-2 status-13 priority-6 priority-default closed" href="/issues/6421">Task #6421</a>: Review of write_only fields in pulp and plugins</i> added</li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=547302020-04-03T16:13:58Zrchan
<ul><li><strong>Sprint</strong> changed from <i>Sprint 69</i> to <i>Sprint 70</i></li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=551192020-04-20T12:37:58Zrchan
<ul><li><strong>Sprint</strong> changed from <i>Sprint 70</i> to <i>Sprint 71</i></li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=557132020-05-01T16:03:29Zrchan
<ul><li><strong>Sprint</strong> changed from <i>Sprint 71</i> to <i>Sprint 72</i></li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=561442020-05-08T20:20:21Zpulpbot
<ul></ul><p>PR: <a href="https://github.com/pulp/pulpcore/pull/695" class="external">https://github.com/pulp/pulpcore/pull/695</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=562042020-05-11T19:06:32ZAnonymous
<ul><li><strong>Status</strong> changed from <i>POST</i> to <i>MODIFIED</i></li></ul><p>Applied in changeset <a class="changeset" title="Return username & password when requesting Remote https://pulp.plan.io/issues/6346 closes #6346" href="https://pulp.plan.io/projects/pulp/repository/pulpcore/revisions/5688324ff35fb67776f7f0630275cfbfc84ea163">pulpcore|5688324ff35fb67776f7f0630275cfbfc84ea163</a>.</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=565622020-05-15T05:40:12ZAnonymous
<ul></ul><p>Looks like a fix has landed in master, could we get it pushed to stable please?</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=566912020-05-18T12:45:30Zdaviddavis
<ul></ul><p>@snecklifter, we have a 3.4 release planned for next week. Would that work for you?</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=567682020-05-19T18:34:52Zpulpbot
<ul></ul><p>PR: <a href="https://github.com/pulp/pulpcore/pull/707" class="external">https://github.com/pulp/pulpcore/pull/707</a></p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=567972020-05-20T11:40:23ZAnonymous
<ul></ul><p>@daviddavis yes, thanks</p> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=571012020-05-27T19:28:24Zdkliban@redhat.com
<ul><li><strong>Sprint/Milestone</strong> set to <i>3.4.0</i></li></ul> Pulp - Issue #6346: Remote fields username and password not showing up in REST docshttps://pulp.plan.io/issues/6346?journal_id=572072020-05-28T17:00:11Zdkliban@redhat.com
<ul><li><strong>Status</strong> changed from <i>MODIFIED</i> to <i>CLOSED - CURRENTRELEASE</i></li></ul>