<div dir="ltr"><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 16, 2019 at 10:47 AM Juan Cabrera <<a href="mailto:juan.cabrera@unamur.be">juan.cabrera@unamur.be</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 bgcolor="#FFFFFF">
<p>Hi again,</p>
<p>I made a script for the work flow: create repo - create remote -
synchronize - create publisher - create publication - create
distribution, that works well.</p>
<p>Now I try using a repo with local rpm. I can not create a
publication I get <tt>duplicate key value violates unique
constraint </tt><br>
</p>
<p>I use this versions:</p>
<p>pulp_source_dir:
<a class="gmail-m_-5700604426949457445moz-txt-link-rfc2396E" href="mailto:git+https://github.com/pulp/pulpcore.git@3.0.0rc1" target="_blank">"git+https://github.com/pulp/pulpcore.git@3.0.0rc1"</a><br>
pulp_plugin_source_dir:
<a class="gmail-m_-5700604426949457445moz-txt-link-rfc2396E" href="mailto:git+https://github.com/pulp/pulpcore-plugin.git@0.1.0rc1" target="_blank">"git+https://github.com/pulp/pulpcore-plugin.git@0.1.0rc1"</a><br>
pulp_install_plugins:<br>
pulp-rpm:<br>
app_label: "rpm"<br>
source_dir: <a class="gmail-m_-5700604426949457445moz-txt-link-rfc2396E" href="mailto:git+https://github.com/pulp/pulp_rpm.git@3.0.0b2" target="_blank">"git+https://github.com/pulp/pulp_rpm.git@3.0.0b2"</a><br>
</p>
<p>This is what I do:</p>
<p><tt>sudo yum install yum-utils<br>
PORT=:24817<br>
# get somme rpm <br>
yumdownloader --resolve --destdir=mypackages/ httpd<br>
# create a repo<br>
export REPO_HREF=$(http POST $PORT/pulp/api/v3/repositories/
name=local_repo | jq -r '._href')<br>
<br>
# add rpm packages<br>
for p in `ls mypackages`; do<br>
export ARTIFACT_REF=$(http --form POST
$PORT/pulp/api/v3/artifacts/ <a class="gmail-m_-5700604426949457445moz-txt-link-abbreviated" href="mailto:file@./mypackages/$p" target="_blank">file@./mypackages/$p</a> | jq -r
'._href')<br>
export CONTENT_HREF=$(http POST
$PORT/pulp/api/v3/content/rpm/packages/
_artifact="$ARTIFACT_REF" filename="$p" | jq -r '._href')<br></tt></p></div></blockquote><div>You need to specify 'relative_path' when creating an rpm package content unit. This should be the file name. Our REST API docs[0] don't specify that this is requiered, but it is. I'll file an issue. <br></div><div><br></div><div>[0] <a href="https://pulp-rpm.readthedocs.io/en/latest/restapi.html#operation/content_rpm_packages_create">https://pulp-rpm.readthedocs.io/en/latest/restapi.html#operation/content_rpm_packages_create</a><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div bgcolor="#FFFFFF"><p><tt>
http POST $PORT${REPO_HREF}versions/
add_content_units:="[\"$CONTENT_HREF\"]"<br>
done<br>
<br>
# Create publisher<br>
export PUBLISHER_HREF=$(http POST
$PORT/pulp/api/v3/publishers/rpm/rpm/ name=ptci | jq -r
'._href')<br>
# Create publication<br>
export TASK=$(http POST $PORT${PUBLISHER_HREF}publish/
repository=$REPO_HREF | jq -r '.task')<br>
<br>
http $PORT$TASK<br>
</tt></p>
<p><tt>HTTP/1.1 200 OK</tt><tt><br>
</tt><tt>Allow: GET, DELETE, HEAD, OPTIONS</tt><tt><br>
</tt><tt>Connection: close</tt><tt><br>
</tt><tt>Content-Length: 3416</tt><tt><br>
</tt><tt>Content-Type: application/json</tt><tt><br>
</tt><tt>Date: Thu, 16 May 2019 14:30:27 GMT</tt><tt><br>
</tt><tt>Server: gunicorn/19.9.0</tt><tt><br>
</tt><tt>Vary: Accept, Cookie</tt><tt><br>
</tt><tt>X-Frame-Options: SAMEORIGIN</tt><tt><br>
</tt><tt><br>
</tt><tt>{</tt><tt><br>
</tt><tt> "_created": "2019-05-16T14:15:55.721616Z", </tt><tt><br>
</tt><tt> "_href":
"/pulp/api/v3/tasks/799ba82c-b289-4054-aca3-2c35eab208ff/", </tt><tt><br>
</tt><tt> "created_resources": [], </tt><tt><br>
</tt><tt> "error": {</tt><tt><br>
</tt><tt> "code": null, </tt><tt><br>
</tt><tt> "description": "<b>duplicate key value violates
unique constraint</b>
\"core_publishedartifact_publication_id_relative__97f785f4_uniq\"\nDETAIL:
Key (publication_id,
relative_path)=(f76de19c-22a6-485f-93bd-3e3578de9405, ) already
exists.\n", </tt><tt><br>
</tt><tt> "traceback": " File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py\",
line 799, in perform_job\n rv = job.perform()\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\",
line 600, in perform\n self._result = self._execute()\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\",
line 606, in _execute\n return self.func(*self.args,
**self.kwargs)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_rpm/app/tasks/publishing.py\",
line 104, in publish\n populate(publication)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/pulp_rpm/app/tasks/publishing.py\",
line 217, in populate\n published_artifact.save()\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\",
line 741, in save\n force_update=force_update,
update_fields=update_fields)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\",
line 779, in save_base\n force_update, using,
update_fields,\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\",
line 870, in _save_table\n result =
self._do_insert(cls._base_manager, using, fields, update_pk,
raw)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/base.py\",
line 908, in _do_insert\n using=using, raw=raw)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/manager.py\",
line 82, in manager_method\n return
getattr(self.get_queryset(), name)(*args, **kwargs)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/query.py\",
line 1186, in _insert\n return
query.get_compiler(using=using).execute_sql(return_id)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/models/sql/compiler.py\",
line 1335, in execute_sql\n cursor.execute(sql, params)\n
File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\",
line 67, in execute\n return self._execute_with_wrappers(sql,
params, many=False, executor=self._execute)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\",
line 76, in _execute_with_wrappers\n return executor(sql,
params, many, context)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\",
line 84, in _execute\n return self.cursor.execute(sql,
params)\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/utils.py\",
line 89, in __exit__\n raise
dj_exc_value.with_traceback(traceback) from exc_value\n File
\"/usr/local/lib/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\",
line 84, in _execute\n return self.cursor.execute(sql,
params)\n"</tt><tt><br>
</tt><tt> }, </tt><tt><br>
</tt><tt> "finished_at": "2019-05-16T14:15:55.807566Z", </tt><tt><br>
</tt><tt> "name": "pulp_rpm.app.tasks.publishing.publish", </tt><tt><br>
</tt><tt> "non_fatal_errors": [], </tt><tt><br>
</tt><tt> "parent": null, </tt><tt><br>
</tt><tt> "progress_reports": [], </tt><tt><br>
</tt><tt> "spawned_tasks": [], </tt><tt><br>
</tt><tt> "started_at": "2019-05-16T14:15:55.773242Z", </tt><tt><br>
</tt><tt> "state": "failed", </tt><tt><br>
</tt><tt> "worker":
"/pulp/api/v3/workers/a9f1e265-fd17-467b-afd5-58af626dab1d/"</tt><tt><br>
</tt><tt>}</tt><br>
<br>
</p>
<div class="gmail-m_-5700604426949457445moz-signature">I do not know were this duplicate key
comes. I use a clean Vagran VM. And there is no publications</div>
<div class="gmail-m_-5700604426949457445moz-signature"><br>
</div>
<div class="gmail-m_-5700604426949457445moz-signature"><br>
</div>
<div class="gmail-m_-5700604426949457445moz-signature"><tt>http $PORT/pulp/api/v3/publications/</tt></div>
<div class="gmail-m_-5700604426949457445moz-signature"><tt><br>
</tt></div>
<div class="gmail-m_-5700604426949457445moz-signature"><tt></tt><tt>HTTP/1.1 200 OK</tt><tt><br>
</tt><tt>Allow: GET, HEAD, OPTIONS</tt><tt><br>
</tt><tt>Connection: close</tt><tt><br>
</tt><tt>Content-Length: 52</tt><tt><br>
</tt><tt>Content-Type: application/json</tt><tt><br>
</tt><tt>Date: Thu, 16 May 2019 14:42:40 GMT</tt><tt><br>
</tt><tt>Server: gunicorn/19.9.0</tt><tt><br>
</tt><tt>Vary: Accept, Cookie</tt><tt><br>
</tt><tt>X-Frame-Options: SAMEORIGIN</tt><tt><br>
</tt><tt><br>
</tt><tt>{</tt><tt><br>
</tt><tt> "count": 0, </tt><tt><br>
</tt><tt> "next": null, </tt><tt><br>
</tt><tt> "previous": null, </tt><tt><br>
</tt><tt> "results": []</tt><tt><br>
</tt><tt>}</tt><br>
<br>
</div>
<div class="gmail-m_-5700604426949457445moz-signature">I did something wrong ?<br>
</div>
<div class="gmail-m_-5700604426949457445moz-signature"><br>
</div>
<div class="gmail-m_-5700604426949457445moz-signature">Juan</div>
<div class="gmail-m_-5700604426949457445moz-signature"><br>
</div>
<div class="gmail-m_-5700604426949457445moz-signature">-- <br>
<div style="font-family:Verdana,Helvetica,Arial,sans-serif;font-size:8pt;font-weight:normal;color:rgb(97,99,101)"> <img src="cid:16ac17b415094a6a8871" style="display: block; margin: 1em 0em;">
<p style="margin:1em"> <span style="font-weight:bold">Juan
CABRERA</span><br>
<span style="color:rgb(105,190,40)">Correspondant informatique</span><br>
<span>Département de Mathématiques</span> </p>
<p style="margin:1em">
<span style="font-weight:bold">T.</span> 081724919<br>
<a style="color:rgb(105,190,40)" href="mailto:juan.cabrera@unamur.be" target="_blank">juan.cabrera@unamur.be</a><br>
<a style="color:rgb(105,190,40)" href="http://staff.unamur.be/jbcabrer" target="_blank">http://staff.unamur.be/jbcabrer</a>
</p>
<p style="margin:1em"> <span style="font-weight:bold;font-size:8pt">Université de Namur ASBL</span><br>
<span>Rue de Bruxelles 61 - 5000 Namur</span><br>
<span>Belgique</span><br>
</p>
<p style="margin:1em;font-size:6pt;color:rgb(105,190,40)"> <span>Let’s
respect the environment together.</span><br>
<span style="font-weight:bold">Only print this message if
necessary!</span><br>
</p>
</div>
</div>
</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://www.redhat.com/mailman/listinfo/pulp-list" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-list</a></blockquote></div></div></div>