> probably because we never ask to wipe out the database for upgrades.

My reason for doing a 'flush' was to rerun my pulp2 migration from scratch, so 
not really because of the upgrade. But with the background provided by you, 
issue https://pulp.plan.io/issues/6963 now makes more sense to me. I guess I 
should preferably use the 'teardown' util mentioned there instead? It is 
however unclear to me how to use that.


The 'reset_db' won't work for me since we have a centralized postgres 
infrastructure where I don't have permissions to drop/create db's (I had to get 
the help of a DBMS to drop my pulp-db).


@Brian Bouterse  - thanks for creating the issue!


//Adam




________________________________
From: Brian Bouterse <[email protected]>
Sent: 14 October 2020 18:17
To: Tatiana Tereshchenko
Cc: Winberg Adam; [email protected]
Subject: Re: [Pulp-list] pulp2 migration: AccessPolicy matching query does not 
exist

I've filed this issue tracking the improvement which would allow users to run 
`flush` and not experience this problem.

https://pulp.plan.io/issues/7710

On Wed, Oct 14, 2020 at 12:14 PM Tatiana Tereshchenko 
<[email protected]<mailto:[email protected]>> wrote:
Adam,
I agree we lack documentation on resetting the environment and the database, 
probably because we never ask to wipe out the database for upgrades.
The instructions are usually provided with release and ask you basically to run 
the latest pulp_installer.

There is some data which is provided with migrations and which has to be 
present in the database, that's why dropping the database and applying 
migrations work and `flush` does not.
`flush` just removes data and keeps all the tables in place, so migrations are 
not re-applied.
So for now, please do not use `flush` if you want to start using pulp 3 db from 
scratch. We potentially can provide a separate command or find some other way 
to fill in the essential data back.
Please file an issue in our tracker if such feature/command is helpful for you. 
https://pulp.plan.io/projects/pulp/issues/new

As a side note, if you are interested, reset_db command drops database. It's 
provided as a part of django-extensions package 
https://django-extensions.readthedocs.io/en/latest/command_extensions.html

I'm glad that the migration  runs for you now,
Tanya


On Wed, Oct 14, 2020 at 3:52 PM Winberg Adam 
<[email protected]<mailto:[email protected]>> wrote:

Thanks for the reply!


I use 'flush' to clear the db, I don't have a 'reset_db' command. Otherwise 
that's pretty much my process.


The migrate command returns 'No migrations to apply'.

Running 'pulpcore-manager show-migrations' shows that all migrations, including 
'guardian.0001/guardian.0002' has checkmarks ([X]).

guardian
 [X] 0001_initial
 [X] 0002_generic_permissions_index

The creation of the migration plan works so I assume my admin user is ok.


I am using an rpm based installation on RHEL8, with

python3-pulp-2to3-migration-0.4.0-1.el8.noarch
python3-pulp-rpm-3.7.0-1.el8.noarch
python3-pulpcore-3.7.1-3.el8.noarch


I don't know what went wrong, but I surrendered and dropped my DB and redid the 
migrations from scratch - and now it works.
Is there a documented instruction on upgrading existing installations?

//Adam



________________________________
From: Tatiana Tereshchenko <[email protected]<mailto:[email protected]>>
Sent: 14 October 2020 14:15
To: Winberg Adam
Cc: [email protected]<mailto:[email protected]>
Subject: Re: [Pulp-list] pulp2 migration: AccessPolicy matching query does not 
exist



On Wed, Oct 14, 2020 at 2:12 PM Tatiana Tereshchenko 
<[email protected]<mailto:[email protected]>> wrote:
Hi Adam,

My understanding is that you did the following:
 * stop pulp services
 * pulpcore-manager (or django-admin) reset_db
 * pulpcore-manager migrate
 * pulpcore-manager reset-admin-password --password password
 * start services
 * http POST :/pulp/api/v3/migration-plans/ < your_migraiton_plan.json
 * http POST 
:/pulp/api/v3/migration-plans/48d03a72-96a1-4d36-9f8b-9a57e97846ef/run/

Sent too early :)
I can't reproduce it so far, so any hints about what can be special about your 
environment or installation would be appreciated.
Make sure that you have at least one user which has admin privileges and that 
the guardian migrations ran indeed.
  Applying guardian.0001_initial... OK
  Applying guardian.0002_generic_permissions_index... OK

Tanya






On Wed, Oct 14, 2020 at 8:02 AM Winberg Adam 
<[email protected]<mailto:[email protected]>> wrote:

Hello,


so I updated my pulp3 installation from 3.4 to 3.7 and tried to rerun my pulp2 
migration - but it errors out with "AccessPolicy matching query does not 
exist". Anyone know why?


I flushed my db, reran the 'migrate' job, created a pulp2migration plan (which 
worked fine) and then tried to run it. Here's the complete error:


Oct 14 05:43:26  gunicorn[2150852]: pulp: django.request:ERROR: Internal Server 
Error: /pulp/api/v3/migration-plans/48d03a72-96a1-4d36-9f8b-9a57e97846ef/run/
Oct 14 05:43:26  gunicorn[2150852]: Traceback (most recent call last):
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, 
in inner
Oct 14 05:43:26  gunicorn[2150852]:     response = get_response(request)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in 
_get_response
Oct 14 05:43:26  gunicorn[2150852]:     response = 
self.process_exception_by_middleware(e, request)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in 
_get_response
Oct 14 05:43:26  gunicorn[2150852]:     response = wrapped_callback(request, 
*callback_args, **callback_kwargs)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in 
wrapped_view
Oct 14 05:43:26  gunicorn[2150852]:     return view_func(*args, **kwargs)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view
Oct 14 05:43:26  gunicorn[2150852]:     return self.dispatch(request, *args, 
**kwargs)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/rest_framework/views.py", line 505, in 
dispatch
Oct 14 05:43:26  gunicorn[2150852]:     response = self.handle_exception(exc)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/rest_framework/views.py", line 465, in 
handle_exception
Oct 14 05:43:26  gunicorn[2150852]:     self.raise_uncaught_exception(exc)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/rest_framework/views.py", line 476, in 
raise_uncaught_exception
Oct 14 05:43:26  gunicorn[2150852]:     raise exc
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/rest_framework/views.py", line 502, in 
dispatch
Oct 14 05:43:26  gunicorn[2150852]:     response = handler(request, *args, 
**kwargs)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/pulp_2to3_migration/app/viewsets.py", line 
85, in run
Oct 14 05:43:26  gunicorn[2150852]:     'dry_run': dry_run
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/pulpcore/tasking/tasks.py", line 236, in 
enqueue_with_reservation
Oct 14 05:43:26  gunicorn[2150852]:     **parent_kwarg,
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in 
manager_method
Oct 14 05:43:26  gunicorn[2150852]:     return getattr(self.get_queryset(), 
name)(*args, **kwargs)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/db/models/query.py", line 422, in 
create
Oct 14 05:43:26  gunicorn[2150852]:     obj.save(force_insert=True, 
using=self.db)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django_lifecycle/mixins.py", line 132, in save
Oct 14 05:43:26  gunicorn[2150852]:     self._run_hooked_methods(AFTER_CREATE)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django_lifecycle/mixins.py", line 207, in 
_run_hooked_methods
Oct 14 05:43:26  gunicorn[2150852]:     method()
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django_lifecycle/decorators.py", line 69, in 
func
Oct 14 05:43:26  gunicorn[2150852]:     hooked_method(*args, **kwargs)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/pulpcore/app/models/access_policy.py", line 
60, in add_perms
Oct 14 05:43:26  gunicorn[2150852]:     access_policy = 
AccessPolicy.objects.get(viewset_name=self.ACCESS_POLICY_VIEWSET_NAME)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in 
manager_method
Oct 14 05:43:26  gunicorn[2150852]:     return getattr(self.get_queryset(), 
name)(*args, **kwargs)
Oct 14 05:43:26  gunicorn[2150852]:   File 
"/usr/lib/python3.6/site-packages/django/db/models/query.py", line 408, in get
Oct 14 05:43:26  gunicorn[2150852]:     self.model._meta.object_name
Oct 14 05:43:26  gunicorn[2150852]: 
pulpcore.app.models.access_policy.AccessPolicy.DoesNotExist: AccessPolicy 
matching query does not exist.



Regards

//Adam

_______________________________________________
Pulp-list mailing list
[email protected]<mailto:[email protected]>
https://www.redhat.com/mailman/listinfo/pulp-list
_______________________________________________
Pulp-list mailing list
[email protected]<mailto:[email protected]>
https://www.redhat.com/mailman/listinfo/pulp-list
_______________________________________________
Pulp-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/pulp-list

Reply via email to