Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2021-05-24T02:20:41ZPulp
Planio Pulp - Issue #8796 (CLOSED - WORKSFORME): `pulpcore-manager` failed for AttributeError: 'Settings...https://pulp.plan.io/issues/87962021-05-24T02:20:41Zxzhang1
<a name="sudo-docker-pull-pulppulp"></a>
<h1 >sudo docker pull pulp/pulp<a href="#sudo-docker-pull-pulppulp" class="wiki-anchor">¶</a></h1>
<a name="sudo-docker-run-detach-publish-809080-name-pulp-volume-pwdsettingsetcpulp-volume-pwdpulp_storagevarlibpulp-volume-pwdpgsqlvarlibpgsql-volume-pwdcontainersvarlibcontainers-device-devfuse-pulppulp"></a>
<h1 >sudo docker run --detach --publish 8090:80 --name pulp --volume "$(pwd)/settings":/etc/pulp --volume "$(pwd)/pulp_storage":/var/lib/pulp --volume "$(pwd)/pgsql":/var/lib/pgsql --volume "$(pwd)/containers":/var/lib/containers --device /dev/fuse pulp/pulp<a href="#sudo-docker-run-detach-publish-809080-name-pulp-volume-pwdsettingsetcpulp-volume-pwdpulp_storagevarlibpulp-volume-pwdpgsqlvarlibpgsql-volume-pwdcontainersvarlibcontainers-device-devfuse-pulppulp" class="wiki-anchor">¶</a></h1>
<a name="sudo-docker-exec-pulp-bash-c-pulpcore-manager-reset-admin-password-p-admin"></a>
<h1 >sudo docker exec pulp bash -c 'pulpcore-manager reset-admin-password -p admin'<a href="#sudo-docker-exec-pulp-bash-c-pulpcore-manager-reset-admin-password-p-admin" class="wiki-anchor">¶</a></h1>
<p>Traceback (most recent call last):
File "/usr/local/bin/pulpcore-manager", line 8, in
...
File "/usr/local/lib/python3.6/site-packages/pulp_ansible/app/settings.py", line 24, in
ANSIBLE_CONTENT_HOSTNAME = settings.CONTENT_ORIGIN + "/pulp/content"
File "/usr/local/lib/python3.6/site-packages/dynaconf/base.py", line 168, in <strong>getattr</strong>
value = getattr(self._wrapped, name)
File "/usr/local/lib/python3.6/site-packages/dynaconf/base.py", line 301, in <strong>getattribute</strong>
return super().<strong>getattribute</strong>(name)
AttributeError: 'Settings' object has no attribute 'CONTENT_ORIGIN'</p> Pulp - Issue #8781 (CLOSED - WORKSFORME): /pulp/api/v3/ throws a 500https://pulp.plan.io/issues/87812021-05-19T14:46:19Znewswangerd
<p>It seems like this should be a 404, instead of creating a stack trace.</p>
<pre><code>api_1 | KeyError: 'base_path'
api_1 | pulp [None]: django.request:ERROR: Internal Server Error: /pulp/api/v3/
api_1 | Traceback (most recent call last):
api_1 | File "/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
api_1 | response = get_response(request)
api_1 | File "/venv/lib64/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
api_1 | response = self.process_exception_by_middleware(e, request)
api_1 | File "/venv/lib64/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
api_1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
api_1 | File "/venv/lib64/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
api_1 | return view_func(*args, **kwargs)
api_1 | File "/venv/lib64/python3.6/site-packages/django/views/generic/base.py", line 71, in view
api_1 | return self.dispatch(request, *args, **kwargs)
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 509, in dispatch
api_1 | response = self.handle_exception(exc)
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/schemas/views.py", line 48, in handle_exception
api_1 | return super().handle_exception(exc)
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 469, in handle_exception
api_1 | self.raise_uncaught_exception(exc)
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
api_1 | raise exc
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 506, in dispatch
api_1 | response = handler(request, *args, **kwargs)
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/schemas/views.py", line 37, in get
api_1 | schema = self.schema_generator.get_schema(request, self.public)
api_1 | File "/venv/lib64/python3.6/site-packages/pulpcore/openapi/__init__.py", line 438, in get_schema
api_1 | paths=self.parse(request, public),
api_1 | File "/venv/lib64/python3.6/site-packages/pulpcore/openapi/__init__.py", line 377, in parse
api_1 | if not self.has_view_permissions(path, method, view):
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/schemas/generators.py", line 236, in has_view_permissions
api_1 | view.check_permissions(view.request)
api_1 | File "/venv/lib64/python3.6/site-packages/rest_framework/views.py", line 332, in check_permissions
api_1 | if not permission.has_permission(request, self):
api_1 | File "/venv/lib64/python3.6/site-packages/rest_access_policy/access_policy.py", line 26, in has_permission
api_1 | return self._evaluate_statements(statements, request, view, action)
api_1 | File "/venv/lib64/python3.6/site-packages/rest_access_policy/access_policy.py", line 63, in _evaluate_statements
api_1 | request, view, action, matched
api_1 | File "/venv/lib64/python3.6/site-packages/rest_access_policy/access_policy.py", line 177, in _get_statements_matching_context_conditions
api_1 | passed = bool(boolExpr.parseString(condition)[0])
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1943, in parseString
api_1 | loc, tokens = self._parse(instring, 0)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1683, in _parseNoCache
api_1 | loc, tokens = self.parseImpl(instring, preloc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 4462, in parseImpl
api_1 | return self.expr._parse(instring, loc, doActions, callPreParse=False)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1683, in _parseNoCache
api_1 | loc, tokens = self.parseImpl(instring, preloc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 4462, in parseImpl
api_1 | return self.expr._parse(instring, loc, doActions, callPreParse=False)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1683, in _parseNoCache
api_1 | loc, tokens = self.parseImpl(instring, preloc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 4254, in parseImpl
api_1 | ret = e._parse(instring, loc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1683, in _parseNoCache
api_1 | loc, tokens = self.parseImpl(instring, preloc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 4462, in parseImpl
api_1 | return self.expr._parse(instring, loc, doActions, callPreParse=False)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1683, in _parseNoCache
api_1 | loc, tokens = self.parseImpl(instring, preloc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 4254, in parseImpl
api_1 | ret = e._parse(instring, loc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1683, in _parseNoCache
api_1 | loc, tokens = self.parseImpl(instring, preloc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 4462, in parseImpl
api_1 | return self.expr._parse(instring, loc, doActions, callPreParse=False)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1683, in _parseNoCache
api_1 | loc, tokens = self.parseImpl(instring, preloc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 4254, in parseImpl
api_1 | ret = e._parse(instring, loc, doActions)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1716, in _parseNoCache
api_1 | tokens = fn(instring, tokensStart, retTokens)
api_1 | File "/venv/lib64/python3.6/site-packages/pyparsing.py", line 1316, in wrapper
api_1 | ret = func(*args[limit[0]:])
api_1 | File "/venv/lib64/python3.6/site-packages/rest_access_policy/parsing.py", line 13, in __init__
api_1 | self.value = self.check_condition_fn(t[0])
api_1 | File "/venv/lib64/python3.6/site-packages/rest_access_policy/access_policy.py", line 164, in <lambda>
api_1 | cond, request, view, action
api_1 | File "/venv/lib64/python3.6/site-packages/rest_access_policy/access_policy.py", line 201, in _check_condition
api_1 | result = method(request, view, action, arg)
api_1 | File "/src/galaxy_ng/galaxy_ng/app/access_control/access_policy.py", line 155, in has_container_namespace_perms
api_1 | readme = view.get_object()
api_1 | File "/src/galaxy_ng/galaxy_ng/app/api/ui/viewsets/execution_environment.py", line 211, in get_object
api_1 | distro = self.get_distro()
api_1 | File "/src/galaxy_ng/galaxy_ng/app/api/ui/viewsets/execution_environment.py", line 97, in get_distro
api_1 | models.ContainerDistribution, base_path=self.kwargs["base_path"])
api_1 | KeyError: 'base_path'
</code></pre> RPM Support - Issue #8492 (CLOSED - WORKSFORME): Alma 8 repositories cannot be synced without err...https://pulp.plan.io/issues/84922021-04-01T10:06:43Zbrimioulle
<p>When syncing Alma 8 AppStream, BaseOS and Kickstart repositories on a foreman/katello the packages are downloaded but in the end following error is thrown:</p>
<p>"AttributeError: 'Repository' object has no attribute 'repo_id'\n",</p>
<p>Exception:
Katello::Errors::PulpError: PLP0000: 'Repository' object has no attribute 'repo_id'</p> Pulp - Issue #8460 (CLOSED - WORKSFORME): As a developer, `pstop` and `pstart` only work with two...https://pulp.plan.io/issues/84602021-03-28T15:37:09Zbmbouterbmbouter@redhat.com
<p>In my dev system I can use the ansible variable <code>pulp_workers: 10</code> to start ten workers instead of the default two.</p>
<p>On that system when I run <code>pstop</code> or <code>pstart</code> I see that performs:</p>
<p><code>systemctl stop pulpcore-content pulpcore-worker@1 pulpcore-worker@2 pulpcore-resource-manager pulpcore-api</code></p>
<p>What I expected that to perform was to start and stop all 10 workers, but it's hard coded to two.</p> Pulp - Issue #7857 (CLOSED - WORKSFORME): 502 proxy error when trying to yum install a packagehttps://pulp.plan.io/issues/78572020-11-18T21:49:20Zjsherril@redhat.comjsherril@redhat.com
<p>A couple of katello users have reported this so far. After syncing a repository and trying to yum update/install a package, they are getting:</p>
<p><a href="https://puppetmaster/pulp/repos/Organization" class="external">https://puppetmaster/pulp/repos/Organization</a> /Library/RHEL6-ESAI-Default/custom/Duo_Security/Duo-SecurityRHEL6/Packages/d/duo_unix-1.11.4-0.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 502 Proxy Error"</p>
<p>Looking at the logs they will get: No such file or directory: '/var/lib/pulp/media/artifact/18/93706bc682c268d7235939ccc0e20a925e35a23df7f182c906d2f78e556574'</p>
<p>and indeed that file doesn't exist. Running the checksum verify/repair action against the repo seems to resolve it.</p>
<p>Notes:</p>
<ul>
<li>Both users were running HDDs and not SSDs</li>
<li>It seemed to happen for both on_demand and immediate repos (although it wasn't entirely clear)</li>
<li>both users were running pulp/pulp_rpm 3.6</li>
</ul> Migration Plugin - Issue #7719 (CLOSED - WORKSFORME): 'Directory not empty' error in publishinghttps://pulp.plan.io/issues/77192020-10-17T17:54:57Zadam.winberg@smhi.se
<p>Running a pulp2 migration always results in an error when the migration runs the publishing jobs:</p>
<pre><code> "error": {
"description": "[Errno 39] Directory not empty: '/var/lib/pulp/tmp/2287063@lxserv2285.smhi.se/7b022048-0d39-4d6d-a278-91ecb3c4779c'",
"traceback": " File \"/usr/lib/python3.6/site-packages/rq/worker.py\", line 936, in perform_job\n rv = job.perform()\n File \"/usr/lib/python3.6/site-packages/rq/job.py\", line 684, in perform\n self._result = self._execute()\n File \"/usr/lib/python3.6/site-packages/rq/job.py\", line 690, in _execute\n return self.func(*self.args, **self.kwargs)\n File \"/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/tasks/migrate.py\", line 142, in migrate_from_pulp2\n create_repoversions_publications_distributions(plan)\n File \"/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/migration.py\", line 293, in create_repoversions_publications_distributions\n task_func(*task_args)\n File \"/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/migration.py\", line 187, in simple_plugin_migration\n migrate_repo_distributor(dist_migrator, progress_dist, pulp2_dist)\n File \"/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/migration.py\", line 391, in migrate_repo_distributor\n pulp2dist, repo_version)\n File \"/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/plugin/rpm/repository.py\", line 74, in migrate_to_pulp3\n publish(repo_version.pk, checksum_types=checksum_types)\n File \"/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/publishing.py\", line 300, in publish\n metadata_signing_service=metadata_signing_service\n File \"/usr/lib/python3.6/site-packages/pulpcore/tasking/services/storage.py\", line 178, in __exit__\n self.delete()\n File \"/usr/lib/python3.6/site-packages/pulpcore/tasking/services/storage.py\", line 80, in delete\n self._delete()\n File \"/usr/lib/python3.6/site-packages/pulpcore/tasking/services/storage.py\", line 90, in _delete\n shutil.rmtree(self.path)\n File \"/usr/lib64/python3.6/shutil.py\", line 490, in rmtree\n onerror(os.rmdir, path, sys.exc_info())\n File \"/usr/lib64/python3.6/shutil.py\", line 488, in rmtree\n os.rmdir(path)\n"
},
</code></pre>
<p>/var/lib/pulp/ is a NFS share. Checking the directory in the error message shows that it is empty. Maybe an issue with NFS lock files?</p>
<p>This is on an rpm based installation on RHEL8:</p>
<pre><code>python3-pulpcore-3.7.1-3.el8.noarch
python3-pulp-rpm-3.7.0-1.el8.noarch
python3-pulp-2to3-migration-0.4.0-1.el8.noarch
</code></pre> Migration Plugin - Issue #6531 (CLOSED - WORKSFORME): Advisory conflict happens when syncing a mi...https://pulp.plan.io/issues/65312020-04-20T17:20:48Zipanova@redhat.comipanova@redhat.com
<p>I have migrated a repo from pulp2 that initially got synced from <a href="https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-references-updateinfo/" class="external">https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-references-updateinfo/</a></p>
<p>Then i tried to used the migrated repo's importer aka remote and sync failed</p>
<pre><code>$ http GET $BASE_ADDR/pulp/api/v3/tasks/e3fc9b56-0c3d-4b86-9fca-7f2a8909cc6a/
HTTP/1.1 200 OK
Allow: GET, PATCH, DELETE, HEAD, OPTIONS
Connection: close
Content-Length: 2824
Content-Type: application/json
Date: Mon, 20 Apr 2020 17:06:15 GMT
Server: gunicorn/20.0.4
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
{
"child_tasks": [],
"created_resources": [],
"error": {
"description": "Incoming and existing advisories have the same id and timestamp but different and intersecting package lists. At least one of them is wrong. Advisory id: RHEA-2012:0056",
"traceback": " File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/worker.py\", line 886, in perform_job\n rv = job.perform()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 664, in perform\n self._result = self._execute()\n File \"/usr/local/lib/pulp/lib64/python3.6/site-packages/rq/job.py\", line 670, in _execute\n return self.func(*self.args, **self.kwargs)\n File \"/home/vagrant/devel/pulp_rpm/pulp_rpm/app/tasks/synchronizing.py\", line 167, in synchronize\n dv.create()\n File \"/home/vagrant/devel/pulpcore/pulpcore/plugin/stages/declarative_version.py\", line 149, in create\n loop.run_until_complete(pipeline)\n File \"/home/vagrant/devel/pulpcore/pulpcore/app/models/repository.py\", line 767, in __exit__\n repository.finalize_new_version(self)\n File \"/home/vagrant/devel/pulp_rpm/pulp_rpm/app/models/repository.py\", line 139, in finalize_new_version\n resolve_advisories(new_version, previous_version)\n File \"/home/vagrant/devel/pulp_rpm/pulp_rpm/app/advisory.py\", line 66, in resolve_advisories\n previous_advisory, added_advisory\n File \"/home/vagrant/devel/pulp_rpm/pulp_rpm/app/advisory.py\", line 139, in resolve_advisory_conflict\n raise AdvisoryConflict(_('Incoming and existing advisories have the same id and '\n"
},
"finished_at": "2020-04-20T17:06:13.537381Z",
"name": "pulp_rpm.app.tasks.synchronizing.synchronize",
"parent_task": null,
"progress_reports": [
{
"code": "parsing.comps",
"done": 3,
"message": "Parsed Comps",
"state": "completed",
"suffix": null,
"total": 3
},
{
"code": "parsing.advisories",
"done": 4,
"message": "Parsed Advisories",
"state": "completed",
"suffix": null,
"total": 4
},
{
"code": "parsing.packages",
"done": 35,
"message": "Parsed Packages",
"state": "completed",
"suffix": null,
"total": 35
},
{
"code": "downloading.metadata",
"done": 5,
"message": "Downloading Metadata Files",
"state": "completed",
"suffix": null,
"total": null
},
{
"code": "downloading.artifacts",
"done": 0,
"message": "Downloading Artifacts",
"state": "completed",
"suffix": null,
"total": null
},
{
"code": "associating.content",
"done": 4,
"message": "Associating Content",
"state": "completed",
"suffix": null,
"total": null
}
],
"pulp_created": "2020-04-20T17:06:09.040275Z",
"pulp_href": "/pulp/api/v3/tasks/e3fc9b56-0c3d-4b86-9fca-7f2a8909cc6a/",
"reserved_resources_record": [
"/pulp/api/v3/repositories/rpm/rpm/574e3ae3-079d-41f9-9b63-e71f01ff6420/",
"/pulp/api/v3/remotes/rpm/rpm/c2d1df25-2f09-4fe1-8a7f-ce768d540e67/"
],
"started_at": "2020-04-20T17:06:09.152171Z",
"state": "failed",
"task_group": null,
"worker": "/pulp/api/v3/workers/4e91fcc4-cc02-482b-8998-6d9d1c45e5bc/"
}
</code></pre> Ansible Plugin - Issue #5905 (CLOSED - WORKSFORME): ansible-galaxy collection publish failshttps://pulp.plan.io/issues/59052019-12-19T19:06:37Zbmbouterbmbouter@redhat.com
<p>In a correctly configured pulp_ansible environment I try to upload a collection via ansible-galaxy (also correctly configured) and it fails.</p>
<p>1. Make a repository, e.g. http POST :80/pulp/api/v3/repositories/ansible/ansible/ name=foo<br>
2. Make a distribution for that repository, e.g. http POST :80/pulp/api/v3/distributions/ansible/ansible/ name='baz' base_path='foo' repository=/pulp/api/v3/repositories/ansible/ansible/53025e9e-9f30-4086-8214-8811028a396f/<br>
3. Try to upload:</p>
<pre><code>(pulp) [vagrant@pulp3-source-fedora31 ~]$ ansible-galaxy collection publish bmbouter-testing-1.0.0.tar.gz -vvvv
ansible-galaxy 2.9.2
config file = /home/vagrant/.ansible.cfg
configured module search path = ['/home/vagrant/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/pulp/lib64/python3.7/site-packages/ansible
executable location = /usr/local/lib/pulp/bin/ansible-galaxy
python version = 3.7.4 (default, Aug 12 2019, 14:45:07) [GCC 9.1.1 20190605 (Red Hat 9.1.1-2)]
Using /home/vagrant/.ansible.cfg as config file
Initial connection to galaxy_server: http://localhost:24817/pulp_ansible/galaxy/foo
Opened /home/vagrant/.ansible/galaxy_token
Calling Galaxy at http://localhost:24817/pulp_ansible/galaxy/foo
Opened /home/vagrant/.ansible/galaxy_token
Calling Galaxy at http://localhost:24817/pulp_ansible/galaxy/foo/api
Found API version 'v1, v2' with Galaxy server default (http://localhost:24817/pulp_ansible/galaxy/foo/api)
Publishing collection artifact '/home/vagrant/bmbouter-testing-1.0.0.tar.gz' to default http://localhost:24817/pulp_ansible/galaxy/foo/api
Opened /home/vagrant/.ansible/galaxy_token
Calling Galaxy at http://localhost:24817/pulp_ansible/galaxy/foo/api/v2/collections/
ERROR! Error when publishing collection to default (http://localhost:24817/pulp_ansible/galaxy/foo/api) (HTTP Code: 400, Message: Bad Request Code: Unknown)
</code></pre> Ansible Plugin - Issue #5155 (CLOSED - WORKSFORME): Ansible Collection Is Installed With Wrong Ve...https://pulp.plan.io/issues/51552019-07-18T17:36:24Zompragash
<p><strong>OS / ENVIRONMENT</strong></p>
<p>- Fedora release 30 (Thirty)<br>
- Ansible == 2.8.1<br>
- pulpcore == 3.0.0rc3<br>
- pulpcore-plugin == 0.1.0rc3<br>
- pulp_ansible == 0.2.0b1</p>
<p><strong>STEPS TO REPRODUCE</strong></p>
<p>- Deploy pulp_ansible</p>
<p>- Create a Repo, Sync/Upload Ansible collection</p>
<p>- Publish the uploaded Collection</p>
<p>- In my case I have uploaded three different collection each with different version as you can see below:</p>
<p>testing.ansible_testing_content,4.0.6<br>
ompragash.collections,1.0.12<br>
greetings_namespace.hello,11.11.11</p>
<p>- Also uploaded collection_list.txt which has the API output of `/pulp/api/v3/content/ansible/collections/` endpoint.</p>
<p>- Install mazer and configure ~/.ansible/mazer.yml file</p>
<p>server:<br>
ignore_certs: false<br>
url: <a href="http://localhost:24817/pulp_ansible/galaxy/galaxy_base" class="external">http://localhost:24817/pulp_ansible/galaxy/galaxy_base</a></p>
<p>- Now run `mazer install NAMESPACE_name.COLLECTION_name` to install uploaded collections from pulp_ansible</p>
<p><strong>EXPECTED RESULTS</strong></p>
<p>- Collection should be installed and if no version is specified `mazer` should install the latest available version and if version is specified it should install the required version.</p>
<p><strong>ACTUAL RESULTS</strong></p>
<p>- Collection is installed with the wrong version i.e. with the version of another collection</p>
<p>- As you can see I have three collections and when I try to install `ompragash.collections` or `greetings_namespace.hello` it is always installed with version 4.0.6.</p>
<p><strong>Observations:</strong></p>
<p>- Trying to install an collection with the specific version but got the below error:</p>
<p>~~~<br>
[<a href="mailto:root@X.X.X.X" class="email">root@X.X.X.X</a> ~]# mazer install ompragash.collections,1.0.12</p>
<p>Collection specs to install:<br>
ompragash.collections,==1.0.12</p>
<p>Installing spec: ompragash.collections,==1.0.12<br>
Unable to find a collection that matches the spec: ompragash.collections,==1.0.12:<br>
- you can use --ignore-errors to skip failed collections and finish processing the list.<br>
~~~</p>
<p>- When I only call the collection name like below:</p>
<p>~~~<br>
[<a href="mailto:root@X.X.X.X" class="email">root@X.X.X.X</a> ~]# mazer install ompragash.collections</p>
<p>Collection specs to install:<br>
ompragash.collections,*</p>
<p>Installing spec: ompragash.collections,*<br>
Found: ompragash.collections,4.0.6 (for spec ompragash.collections,*)<br>
Installed: ompragash.collections,4.0.6 (to /root/.ansible/collections/ansible_collections/ompragash/collections)<br>
~~~</p>
<p>here^ if you see `ompragash.collections` is installed with version 4.0.6 which is the version of another collection (i.e. testing.ansible_testing_content)</p> Pulp - Issue #4399 (CLOSED - WORKSFORME): 'on_demand' policy does not create an Artifact for requ...https://pulp.plan.io/issues/43992019-02-07T22:23:44Zdkliban@redhat.com
<p>I noticed that every time I request a file from a repository version created with a remote that has 'on_demand' policy, the file is always streamed from the remote. Pulp doesn't seem to store the artifact.</p>
<p>1. Create a repository.<br>
2. Create a file remote with 'on_demand' policy<br>
3. Sync the remote with repository created in 1.<br>
4. Create file publisher.<br>
5. Publish using the publisher and create a publication from repository created in 1.<br>
6. Create a distribution that uses the publication created in 5.<br>
7. Request a file from the pulp_content_app that is served by distribution created in 6.<br>
8. Check the REST API or the database to see if any new artifacts got created.</p> RPM Support - Issue #3682 (CLOSED - WORKSFORME): 'on_demand' download policy not working for SUSE...https://pulp.plan.io/issues/36822018-05-18T12:37:01Zdkliban@redhat.com
<p>A pulp-smash that tests errata for SUSE repos tries to sync a repository using the 'on_demand' policy[0]. However, it seems like this is not working[1] and all the packages are being downloaded during the test.</p>
<p>[0] <a href="https://github.com/PulpQE/pulp-smash/blob/master/pulp_smash/tests/pulp2/rpm/api_v2/test_updateinfo.py#L609" class="external">https://github.com/PulpQE/pulp-smash/blob/master/pulp_smash/tests/pulp2/rpm/api_v2/test_updateinfo.py#L609</a><br>
[1] <a href="https://github.com/pulp/pulp_rpm/pull/1107#pullrequestreview-121264455" class="external">https://github.com/pulp/pulp_rpm/pull/1107#pullrequestreview-121264455</a></p> RPM Support - Issue #2793 (CLOSED - WORKSFORME): applicable rpms only show up if at least one err...https://pulp.plan.io/issues/27932017-06-05T19:56:19Zjsherril@redhat.comjsherril@redhat.com
<p>Steps to reproduce:</p>
<p>1) Register a consumer<br>
2) create and sync a yum repository without errata (such as centos7 updates <a href="http://mirror.centos.org/centos/7/updates/x86_64/" class="external">http://mirror.centos.org/centos/7/updates/x86_64/</a>)<br>
3) bind the consumer to repo 2)<br>
4) ensure that at least one package is older than is available (such as running 'yum downgrade screen')<br>
5) generate repo applicability using the call:</p>
<p>POST /pulp/api/v2/consumers/actions/content/regenerate_applicability/ with body:</p>
<pre><code>{ 'consumer_criteria' : { 'filters' : { 'id' : { '$in' : [UUID] } } } }
</code></pre>
<p>6) fetch applicable rpm ids:<br>
/consumers/content/applicability/</p>
<pre><code>{
'criteria' : { 'filters' : { 'id' : { '$in' : [UUID] } } },
'content_types' : ['rpm']
}
</code></pre>
<p>The list will be empty. However if you then</p>
<p>7) create a new repo with errata (<a href="https://jlsherrill.fedorapeople.org/fake-repos/needed-errata/" class="external">https://jlsherrill.fedorapeople.org/fake-repos/needed-errata/</a>), sync it<br>
8) bind that repo to the consumer<br>
9) install the older version of walrus (0.71)<br>
10) trigger applicability generation in the same way<br>
11) fetch applicable rpm ids again</p>
<p>you'll see that now walrus AND the needed centos rpms are showing as applicable. The rpms applicable from the 2nd repo have nothing to do with the first repo. It seems like maybe pulp is ignoring all applicable rpms if no errata are applicable.</p> RPM Support - Issue #2427 (CLOSED - WORKSFORME): Apache's XSendFile directive causes 404 errors w...https://pulp.plan.io/issues/24272016-11-17T18:53:20Zalanoealanoe@linux.vnet.ibm.com
<p>arch: ppc64<br>
Apache: 2.4.6-40<br>
xsendfile module: 0.12-10</p>
<p>I am able to browse /pulp/repos/ and /pulp/content/var/www/pub/yum/http/repos/ paths via HTTP; however, when I click in a RPM package, Apache does not find it and I get a 404 status code in the HTTP response. Disabling xsendfile module by commenting the corresponding lines in /etc/httpd/conf.d/pulp_content.conf fixes the problem.</p> Pulp - Issue #2423 (CLOSED - WORKSFORME): As a user, I want pulp_celerybeat to survive a brief da...https://pulp.plan.io/issues/24232016-11-14T22:55:37ZdaviddavisPulp - Issue #748 (CLOSED - WORKSFORME): Apache httpd getattr denial on RHEL7 after restart of Pulphttps://pulp.plan.io/issues/7482015-03-11T09:57:30Zlzap@redhat.com
<p>We see denial during pulp restart on RHEL7. It looks like wsgi files are not given correct file contexts.</p>
<p>RHEL7:</p>
<pre><code>[root@dell-per905-01 ~]# ausearch -m AVC
----
time->Tue Mar 10 22:03:22 2015
type=SYSCALL msg=audit(1426039402.284:509): arch=c000003e syscall=6 success=no exit=-13 a0=7f1c6c0d1478 a1=7fffc7451ac0 a2=7fffc7451ac0 a3=0 items=0 ppid=2534 pid=2616 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1426039402.284:509): avc: denied { getattr } for pid=2616 comm="httpd" path="/srv/pulp/webservices.wsgi" dev="dm-1" ino=1965416 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:var_t:s0 tclass=file
[root@dell-per905-01 ~]# ll /srv/pulp -Z
-rw-r--r--. root root system_u:object_r:var_t:s0 puppet_forge_post33_api.wsgi
-rw-r--r--. root root system_u:object_r:var_t:s0 puppet_forge_pre33_api.wsgi
-rw-r--r--. root root system_u:object_r:var_t:s0 repo_auth.wsgi
-rw-r--r--. root root system_u:object_r:var_t:s0 webservices.wsgi
[root@dell-per905-01 ~]# rpm -qa | grep pulp-selinux
pulp-selinux-2.6.0-0.7.beta.1.el7sat.noarch
No problems on RHEL6:
[root@sgi-xe320-01 ~]# ausearch -m AVC
<no matches>
[root@sgi-xe320-01 ~]# ll /srv/pulp -Z
-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 puppet_forge_post33_api.wsgi
-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 puppet_forge_pre33_api.wsgi
-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 repo_auth.wsgi
-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 webservices.wsgi
[root@sgi-xe320-01 ~]# rpm -qa | grep pulp-selinux
pulp-selinux-2.6.0-0.7.beta.1.el6_6sat.noarch
</code></pre>
<p>Cloned from <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1200722" class="external">https://bugzilla.redhat.com/show_bug.cgi?id=1200722</a></p>