https://pulp.plan.io/
https://pulp.plan.io/favicon.ico
2021-07-13T15:00:45Z
Pulp
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=73124
2021-07-13T15:00:45Z
dkliban@redhat.com
<ul><li><strong>Triaged</strong> changed from <i>No</i> to <i>Yes</i></li><li><strong>Sprint</strong> set to <i>Sprint 100</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=73317
2021-07-15T21:08:33Z
rchan
<ul><li><strong>Sprint</strong> changed from <i>Sprint 100</i> to <i>Sprint 101</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74063
2021-08-02T17:43:52Z
ipanova@redhat.com
ipanova@redhat.com
<ul><li><strong>Sprint</strong> changed from <i>Sprint 101</i> to <i>Sprint 102</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74483
2021-08-12T15:23:55Z
rchan
<ul><li><strong>Sprint</strong> changed from <i>Sprint 102</i> to <i>Sprint 103</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74567
2021-08-18T19:46:41Z
dalley
dalley@redhat.com
<ul><li><strong>Priority</strong> changed from <i>Normal</i> to <i>High</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74619
2021-08-20T15:22:22Z
fao89
<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 #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74621
2021-08-20T17:43:58Z
fao89
<ul></ul><p>The issue happens with fields with choices that are nullable</p>
<pre><code class="python syntaxhl" data-language="python"><span class="n">metadata_checksum_type</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">null</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">CHECKSUM_CHOICES</span><span class="p">,</span> <span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
<span class="n">package_checksum_type</span> <span class="o">=</span> <span class="n">models</span><span class="p">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">null</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">CHECKSUM_CHOICES</span><span class="p">,</span> <span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
</code></pre>
<p>drf_spectacular uses oneOf to distinguish the options null/choice</p>
<pre><code class="json syntaxhl" data-language="json"><span class="nl">"metadata_checksum_type"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"nullable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"The checksum type for metadata."</span><span class="p">,</span><span class="w">
</span><span class="nl">"oneOf"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"$ref"</span><span class="p">:</span><span class="w"> </span><span class="s2">"#/components/schemas/MetadataChecksumTypeEnum"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"$ref"</span><span class="p">:</span><span class="w"> </span><span class="s2">"#/components/schemas/NullEnum"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="err">,</span><span class="w">
</span><span class="nl">"package_checksum_type"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="nl">"nullable"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nl">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"The checksum type for packages."</span><span class="p">,</span><span class="w">
</span><span class="nl">"oneOf"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"$ref"</span><span class="p">:</span><span class="w"> </span><span class="s2">"#/components/schemas/PackageChecksumTypeEnum"</span><span class="w">
</span><span class="p">},</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nl">"$ref"</span><span class="p">:</span><span class="w"> </span><span class="s2">"#/components/schemas/NullEnum"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="err">,</span><span class="w">
</span></code></pre>
<p>pulp-openapi-generator creates these models:</p>
<pre><code class="python syntaxhl" data-language="python"><span class="n">MetadataChecksumTypeEnum</span><span class="p">,</span> <span class="n">PackageChecksumTypeEnum</span> <span class="ow">and</span> <span class="n">NullEnum</span>
</code></pre>
<p>The issue happens when declaring the types:</p>
<pre><code class="python syntaxhl" data-language="python"><span class="n">openapi_types</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">'pulp_labels'</span><span class="p">:</span> <span class="s">'object'</span><span class="p">,</span>
<span class="s">'name'</span><span class="p">:</span> <span class="s">'str'</span><span class="p">,</span>
<span class="s">'description'</span><span class="p">:</span> <span class="s">'str'</span><span class="p">,</span>
<span class="s">'retain_repo_versions'</span><span class="p">:</span> <span class="s">'int'</span><span class="p">,</span>
<span class="s">'remote'</span><span class="p">:</span> <span class="s">'str'</span><span class="p">,</span>
<span class="s">'autopublish'</span><span class="p">:</span> <span class="s">'bool'</span><span class="p">,</span>
<span class="s">'metadata_signing_service'</span><span class="p">:</span> <span class="s">'str'</span><span class="p">,</span>
<span class="s">'retain_package_versions'</span><span class="p">:</span> <span class="s">'int'</span><span class="p">,</span>
<span class="s">'metadata_checksum_type'</span><span class="p">:</span> <span class="s">'OneOfMetadataChecksumTypeEnumNullEnum'</span><span class="p">,</span>
<span class="s">'package_checksum_type'</span><span class="p">:</span> <span class="s">'OneOfPackageChecksumTypeEnumNullEnum'</span><span class="p">,</span>
<span class="s">'gpgcheck'</span><span class="p">:</span> <span class="s">'int'</span><span class="p">,</span>
<span class="s">'repo_gpgcheck'</span><span class="p">:</span> <span class="s">'int'</span><span class="p">,</span>
<span class="s">'sqlite_metadata'</span><span class="p">:</span> <span class="s">'bool'</span>
<span class="p">}</span>
</code></pre>
<p>what would be type PackageChecksumTypeEnum or NullEnum is declared as OneOfPackageChecksumTypeEnumNullEnum</p>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74622
2021-08-20T18:21:01Z
fao89
<ul><li><strong>Project</strong> changed from <i>Pulp</i> to <i>RPM Support</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74623
2021-08-20T18:36:33Z
fao89
<ul><li><strong>Project</strong> changed from <i>RPM Support</i> to <i>Pulp</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74624
2021-08-20T18:39:09Z
pulpbot
<ul><li><strong>Status</strong> changed from <i>ASSIGNED</i> to <i>POST</i></li></ul><p>PR: <a href="https://github.com/pulp/pulp_rpm/pull/2085" class="external">https://github.com/pulp/pulp_rpm/pull/2085</a></p>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74625
2021-08-20T19:17:01Z
pulpbot
<ul></ul><p>PR: <a href="https://github.com/pulp/pulpcore/pull/1561" class="external">https://github.com/pulp/pulpcore/pull/1561</a></p>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74639
2021-08-20T20:34:04Z
dalley
dalley@redhat.com
<ul><li><strong>Sprint/Milestone</strong> set to <i>3.15.0</i></li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74640
2021-08-20T20:34:58Z
dalley
dalley@redhat.com
<ul><li><strong>Copied to</strong> <i><a class="issue tracker-7 status-11 priority-7 priority-high2 closed" href="/issues/9265">Backport #9265</a>: Backport #9056 "ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum" to 3.14.z</i> added</li></ul>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74644
2021-08-20T20:59:54Z
Anonymous
<ul><li><strong>Status</strong> changed from <i>POST</i> to <i>MODIFIED</i></li></ul><p>Applied in changeset <a class="changeset" title="Removing OpenAPI blank enums closes #9056" href="https://pulp.plan.io/projects/pulp/repository/pulpcore/revisions/eab862a60094f2c38622435196c28ff800700d15">pulpcore|eab862a60094f2c38622435196c28ff800700d15</a>.</p>
Pulp - Issue #9056: ruby and python bindings missing enums OneOfPackageChecksumTypeEnumNullEnum & OneOfMetadataChecksumTypeEnumNullEnum
https://pulp.plan.io/issues/9056?journal_id=74877
2021-08-26T12:35:59Z
pulpbot
<ul><li><strong>Status</strong> changed from <i>MODIFIED</i> to <i>CLOSED - CURRENTRELEASE</i></li></ul>