[Pulp-list] unable to remove rpms

Martin Collins martin.collins at framestore.com
Fri Jun 6 21:41:25 UTC 2014


Are you running pulp-admin as the same user who uploaded it? It isn't just
from sync/user but also different users.

Easiest way I've looked is to (on the pulp master) when having this issue
myself was:

# mongo
> use pulp_database
switched to db pulp_database
> db.units_rpm.find({filename:"3proxy-0.6.1-10.el6.x86_64.rpm"})
{ "_id" : "4775db21-9421-4915-a318-4e2e88b199c9"

Then use the _id to look up which repo/who uploaded it

db.repo_content_units.find({"unit_id":
"4775db21-9421-4915-a318-4e2e88b199c9"}).forEach(printjson)

This will then show which repos the unit is associated with, what i tend to
see in this instance is the user logged in with pulp-admin isn't the same
as the one who uploaded it or it came from a sync (so it fails to
dissociate)

Just curious if it's that which is causing it, in the end I've just patched
our master to avoid it (2.3.1-1) so that when i unassociate it's a bit more
"just go and do it" and don't check owner_type or owner_id and delete all
reference (not sure if it has any negatives, but it works for me, ymmv)

Cheers,
Martin

As an FYI:

---
/usr/lib/python2.6/site-packages/pulp/server/managers/repo/unit_association.py.orig
2014-06-02 15:23:04.606161773 +0100
+++
/usr/lib/python2.6/site-packages/pulp/server/managers/repo/unit_association.py
     2014-06-02 15:23:19.350228458 +0100
@@ -113,9 +113,7 @@
         # If the association already exists, no need to do anything else
         spec = {'repo_id' : repo_id,
                 'unit_id' : unit_id,
-                'unit_type_id' : unit_type_id,
-                'owner_type' : owner_type,
-                'owner_id' : owner_id,}
+                'unit_type_id' : unit_type_id}
         existing_association =
RepoContentUnit.get_collection().find_one(spec)
         if existing_association is not None:
             return



On 6 June 2014 19:32, Ashby, Jason (IMS) <AshbyJ at imsweb.com> wrote:

> I tried deleting the link
> /var/lib/pulp/published/https/repos/Dev-FOO-Custom/php-foo-5.5.13-1.x86_64.rpm,
> but searching the repo with pulp-admin still shows it as being present.  I
> then republished the repo and the link returned (and is still present when
> searching).
>
> Anyone have a few commands for deleting it manually from mongo and the
> filesystem?  It would save me a few heartaches.  Or help me debug further?
>  Thanks all.
>
> -----Original Message-----
> From: Barnaby Court [mailto:bcourt at redhat.com]
> Sent: Friday, June 06, 2014 11:01 AM
> To: Ashby, Jason (IMS)
> Cc: pulp-list at redhat.com
> Subject: Re: [Pulp-list] unable to remove rpms
>
> Hi, You should never have to touch the /var/lib/pulp/content/ directory
> for RPMs that you uploaded yourself.  Worst case you should have to remove
> from the publish directory:
> /var/lib/pulp/published/https/repos/Dev-FOO-Custom/php-foo-5.5.13-1.x86_64.rpm.
>  Manually deleting from the /var/lib/pulp/content can cause painful side
> effects.
>
> To verify the contents of the repository you can query with "pulp-admin
> rpm repo content rpm --repo-id Dev-FOO-Custom --match
> 'filename=php-foo-5.5.13-1.x86_64.rpm'.
>
> -Barnaby
>
> ----- Original Message -----
> From: "Jason Ashby (IMS)" <AshbyJ at imsweb.com>
> To: "Barnaby Court" <bcourt at redhat.com>
> Cc: pulp-list at redhat.com
> Sent: Thursday, June 5, 2014 5:20:43 PM
> Subject: RE: [Pulp-list] unable to remove rpms
>
> Hi Barnaby,
> Thanks for the reply.  These are custom rpms that I uploaded with the
> uploads command:
>
>     pulp-admin rpm repo uploads rpm --repo-id=Dev-FOO-Custom
> --file=/tmp/php-foo-5.5.13-1.x86_64.rpm
>
> The rpms were packaged using fpm if that matters.
>
> So the following would solve it?:
>
>     pulp-admin rpm repo remove rpm --repo-id Dev-FOO-Custom --match
> 'filename=php-foo-5.5.13-1.x86_64.rpm'
>     rm -rf /var/lib/pulp/content/rpm/php-foo/5.5.13
>     rm -f
> /var/lib/pulp/published/https/repos/Dev-FOO-Custom/php-foo-5.5.13-1.x86_64.rpm
>
> I feel like I had major issues last time I tried removing a package this
> way.  How can I confirm that the package info is removed from the pulp DB
> as well?  I think the pulp DB and filesystem being out of sync was the
> issue I hit before.
>
> -----Original Message-----
> From: Barnaby Court [mailto:bcourt at redhat.com]
> Sent: Thursday, June 05, 2014 5:10 PM
> To: Ashby, Jason (IMS)
> Subject: Re: [Pulp-list] unable to remove rpms
>
> Hi, Are these custom rpms that you have uploaded manually or rpms that
> were pulled in via a sync from a feed?  If they came from a feed there is a
> behavior in pulp 2.3.x where they could not be deleted by a user.  This has
> been fixed in Pulp 2.4.  There were also issues with the publishing of rpms
> in 2.3 where old rpms may not be removed from the publish directory even if
> they were removed from the repo.  This has also been fixed in 2.4.  If the
> rpms were uploaded manually they can be removed from the filesystem on the
> server directly after they were removed from the repo with the delete
> command.  Based on the output you included it looks like it is an RPM that
> came from a feed and that is what is causing the trouble.  Regards,
>
> Barnaby
>
> ----- Original Message -----
> From: "Jason Ashby (IMS)" <AshbyJ at imsweb.com>
> To: pulp-list at redhat.com
> Sent: Thursday, June 5, 2014 4:14:17 PM
> Subject: [Pulp-list] unable to remove rpms
>
>
>
> Hi,
>
> I’m scratching my head on this one. I’m running pulp 2.3.1 on CentOS 6.5,
> and I’m trying to remove an rpm from a repository, but it’s just not
> happening.
>
>
>
>
>
>
>
> me at pulpserver:~> pulp-admin rpm repo remove rpm --repo-id Dev-FOO-Custom
> --match 'filename=php-foo-5.5.13-1.x86_64.rpm'
>
> This command may be exited via ctrl+c without affecting the request.
>
>
>
> [-]
>
> Waiting to begin...
>
>
>
> [-]
>
> Running...
>
>
>
> Units:
>
> php-foo-5.5.13-1-x86_64
>
>
>
>
>
> me at pulpserver:~> pulp-admin repo tasks list --repo-id Dev-FOO-Custom
>
> +----------------------------------------------------------------------+
>
> Tasks
>
> +----------------------------------------------------------------------+
>
>
>
> Operations: unassociate
>
> Resources: Dev-FOO-Custom (repository)
>
> State: Successful
>
> Start Time: 2014-06-05T19:56:10Z
>
> Finish Time: 2014-06-05T19:56:10Z
>
> Result:
>
> Type Id: rpm
>
> Unit Key:
>
> Arch: x86_64
>
> Checksum: c2ab8901adb1db8ad5d0798d1c65544151fe1133e1da918d830df95247b662
>
> 21
>
> Checksumtype: sha256
>
> Epoch: 0
>
> Name: php-foo
>
> Release: 1
>
> Version: 5.5.13
>
> Task Id: 03aa6208-2efd-4355-9eeb-ac87fc6473e2
>
>
>
>
>
> Looks successful, now let’s republish:
>
>
>
> me at pulpserver:~> pulp-admin rpm repo publish run --repo-id Dev-FOO-Custom
>
> +----------------------------------------------------------------------+
>
> Publishing Repository [Dev-FOO-Custom]
>
> +----------------------------------------------------------------------+
>
>
>
> This command may be exited by pressing ctrl+c without affecting the actual
>
> operation on the server.
>
>
>
> Publishing packages...
>
> [= ] 3%
>
> Packages: 4/106 items
>
> Publishing distributions...
>
> [==================================================] 100%
>
> Distributions: 0/0 items
>
> [==================================================] 100%
>
> Packages: 106/106 items
>
> ... completed
>
>
>
> Generating metadata
>
> [-]
>
> ... completed
>
>
>
> Publishing repository over HTTPS
>
> [-]
>
> ... completed
>
>
>
>
>
>
>
> But it’s still present in the repository
>
>
>
> me at pulpserver:~> pulp-admin rpm repo content rpm --repo-id Dev-FOO-Custom
> --match 'filename=php-foo-5.5.13-1.x86_64.rpm'
>
> Arch: x86_64
>
> Buildhost: fig
>
> Checksum: c2ab8901adb1db8ad5d0798d1c65544151fe1133e1da918d830df95247b66221
>
> Checksumtype: sha256
>
> Description: no description given
>
> Epoch: 0
>
> Filename: php-foo-5.5.13-1.x86_64.rpm
>
> License: unknown
>
> Name: php-foo
>
> Provides: php-foo = 5.5.13-1-0, php-foo(x86-64) = 5.5.13-1-0
>
> Release: 1
>
> Requires:
>
> Vendor: root at fig
>
> Version: 5.5.13
>
>
>
> and “yum list php-foo” on any host shows that specific package and version
> is available for install. I see no errors or clues in the logs in
> /var/log/pulp, ~/.pulp, or /var/log/gofer. I do see these coming up
> frequently in /etc/httpd/logs/error_log, but not sure if it’s helpful:
>
>
>
> [Thu Jun 05 15:58:55 2014] [error] Generating sqlite DBs
>
> [Thu Jun 05 15:58:55 2014] [error] Starting other db creation: Thu Jun 5
> 15:58:55 2014
>
> [Thu Jun 05 15:58:55 2014] [error] Ending other db creation: Thu Jun 5
> 15:58:55 2014
>
> [Thu Jun 05 15:58:56 2014] [error] Starting filelists db creation: Thu Jun
> 5 15:58:56 2014
>
> [Thu Jun 05 15:58:57 2014] [error] Ending filelists db creation: Thu Jun 5
> 15:58:57 2014
>
> [Thu Jun 05 15:58:57 2014] [error] Starting primary db creation: Thu Jun 5
> 15:58:57 2014
>
> [Thu Jun 05 15:58:57 2014] [error] Ending primary db creation: Thu Jun 5
> 15:58:57 2014
>
> [Thu Jun 05 15:58:57 2014] [error] Sqlite DBs complete
>
>
>
> I tried rebooting the pulp server, but no luck. I get the same result with
> trying to delete other rpms in this repository. I have not tried removing
> any from other repos. I do have a secondary pulp node that I sync content
> to, in case that is relevant.
>
>
>
> Any help would be greatly appreciated!
>
>
>
>
>
>
>
> Information in this e-mail may be confidential. It is intended only for
> the addressee(s) identified above. If you are not the addressee(s), or an
> employee or agent of the addressee(s), please note that any dissemination,
> distribution, or copying of this communication is strictly prohibited. If
> you have received this e-mail in error, please notify the sender of the
> error.
>
> _______________________________________________
> Pulp-list mailing list
> Pulp-list at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-list
>
> ________________________________
>
> Information in this e-mail may be confidential. It is intended only for
> the addressee(s) identified above. If you are not the addressee(s), or an
> employee or agent of the addressee(s), please note that any dissemination,
> distribution, or copying of this communication is strictly prohibited. If
> you have received this e-mail in error, please notify the sender of the
> error.
>
> ________________________________
>
> Information in this e-mail may be confidential. It is intended only for
> the addressee(s) identified above. If you are not the addressee(s), or an
> employee or agent of the addressee(s), please note that any dissemination,
> distribution, or copying of this communication is strictly prohibited. If
> you have received this e-mail in error, please notify the sender of the
> error.
>
> _______________________________________________
> Pulp-list mailing list
> Pulp-list at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20140606/06d62714/attachment.htm>


More information about the Pulp-list mailing list