Project

Profile

Help

Issue #3739

Updated by ttereshc over 6 years ago

To reproduce: remove all migrations from FS for core and plugins, do a fresh vagrant up. 

 Very long one-line error below but important last parts I put on new lines. 
 Notice there is no @pulp_app@ migration in the list of running migrations. I believe that's the source of the problem because @reset_db@ is done for every plugin. 
 "This role":https://github.com/pulp/devel/blob/master/ansible/roles/django_db/tasks/main.yml runs @reset_db@ for every "enabled plugin":https://github.com/pulp/devel/blob/master/ansible/pulp-from-source.yml#L23-L24. 
 <pre> 
 TASK [dev : Create and run migrations for {{ pulp_app }}] ********************** 

 TASK [django_db : Make migrations for pulp_app] ******************************** 
 changed: [pulp3_dev] 

 TASK [django_db : Run all migrations] ****************************************** 
 changed: [pulp3_dev] => (item=reset_db --noinput) 
 changed: [pulp3_dev] => (item=migrate auth --noinput) 
 changed: [pulp3_dev] => (item=migrate --noinput) 
 changed: [pulp3_dev] => (item=reset-admin-password --password admin) 

 TASK [plugin : Get information about /home/vagrant/devel/pulp_file] ************ 
 ok: [pulp3_dev] 

 TASK [plugin : debug] ********************************************************** 
 skipping: [pulp3_dev] 

 TASK [plugin : Install plugin packages into core Pulp Python environment] ****** 
 changed: [pulp3_dev] 

 TASK [plugin : Run migrations for pulp_file] *********************************** 

 TASK [django_db : Make migrations for pulp_file] ******************************* 
 changed: [pulp3_dev] 

 TASK [django_db : Run all migrations] ****************************************** 
 changed: [pulp3_dev] => (item=reset_db --noinput) 
 changed: [pulp3_dev] => (item=migrate auth --noinput) 
 failed: [pulp3_dev] (item=migrate --noinput) => {"changed": true, "cmd": ["/home/vagrant/.virtualenvs/pulp/bin/pulp-manager", "migrate", "--noinput"], "delta": "0:00:01.225138", "end": "2018-06-05 16:57:59.954349", "item": "migrate --noinput", "msg": "non-zero return code", "rc": 1, "start": "2018-06-05 16:57:58.729211", "stderr": "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use \"pip install psycopg2-binary\" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.\n    \"\"\")\nTraceback (most recent call last):\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 85, in _execute\n      return self.cursor.execute(sql, params)\npsycopg2.ProgrammingError: relation \"pulp_app_user\" does not exist\n\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n    File \"/home/vagrant/.virtualenvs/pulp/bin/pulp-manager\", line 11, in <module>\n      sys.exit(pulp_manager_entry_point())\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/pulpcore/app/entry_points.py\", line 9, in pulp_manager_entry_point\n      execute_from_command_line(sys.argv)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 371, in execute_from_command_line\n      utility.execute()\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 365, in execute\n      self.fetch_command(subcommand).run_from_argv(self.argv)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/base.py\", line 288, in run_from_argv\n      self.execute(*args, **cmd_options)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/base.py\", line 335, in execute\n      output = self.handle(*args, **options)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/commands/migrate.py\", line 200, in handle\n      fake_initial=fake_initial,\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/migrations/executor.py\", line 117, in migrate\n      state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/migrations/executor.py\", line 147, in _migrate_all_forwards\n      state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/migrations/executor.py\", line 244, in apply_migration\n      state = migration.apply(state, schema_editor)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/base/schema.py\", line 106, in __exit__\n      self.execute(sql)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/base/schema.py\", line 133, in execute\n      cursor.execute(sql, params)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 100, in execute\n      return super().execute(sql, params)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 68, in execute\n      return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 77, in _execute_with_wrappers\n      return executor(sql, params, many, context)\n    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 85, in _execute\n      return self.cursor.execute(sql, params)\n    File \"/home/vagrant/.virtualenvs/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 \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 85, in _execute\n      return self.cursor.execute(sql, params)\ndjango.db.utils.ProgrammingError: relation \"pulp_app_user\" does not exist", "stderr_lines": ["/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use \"pip install psycopg2-binary\" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>.", "    \"\"\")", "Traceback (most recent call last):", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 85, in _execute", "      return self.cursor.execute(sql, params)", "psycopg2.ProgrammingError: relation \"pulp_app_user\" does not exist", "", "", "The above exception was the direct cause of the following exception:", "", "Traceback (most recent call last):", "    File \"/home/vagrant/.virtualenvs/pulp/bin/pulp-manager\", line 11, in <module>", "      sys.exit(pulp_manager_entry_point())", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/pulpcore/app/entry_points.py\", line 9, in pulp_manager_entry_point", "      execute_from_command_line(sys.argv)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 371, in execute_from_command_line", "      utility.execute()", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/__init__.py\", line 365, in execute", "      self.fetch_command(subcommand).run_from_argv(self.argv)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/base.py\", line 288, in run_from_argv", "      self.execute(*args, **cmd_options)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/base.py\", line 335, in execute", "      output = self.handle(*args, **options)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/core/management/commands/migrate.py\", line 200, in handle", "      fake_initial=fake_initial,", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/migrations/executor.py\", line 117, in migrate", "      state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/migrations/executor.py\", line 147, in _migrate_all_forwards", "      state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/migrations/executor.py\", line 244, in apply_migration", "      state = migration.apply(state, schema_editor)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/base/schema.py\", line 106, in __exit__", "      self.execute(sql)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/base/schema.py\", line 133, in execute", "      cursor.execute(sql, params)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 100, in execute", "      return super().execute(sql, params)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 68, in execute", "      return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 77, in _execute_with_wrappers", "      return executor(sql, params, many, context)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 85, in _execute", "      return self.cursor.execute(sql, params)", "    File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/utils.py\", line 89, in __exit__", "      raise dj_exc_value.with_traceback(traceback) from exc_value", "  
 File \"/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/backends/utils.py\", line 85, in _execute", "      return self.cursor.execute(sql, params)", "django.db.utils.ProgrammingError: relation \"pulp_app_user\" does not exist"], "stdout": "Operations to perform:\n    Apply all migrations: admin, auth, contenttypes, pulp_file, sessions\nRunning migrations:\n   
 Applying admin.0001_initial...", "stdout_lines": ["Operations to perform:", "    Apply all migrations: admin, auth, contenttypes, pulp_file, sessions", "Running migrations:", "    Applying admin.0001_initial..."]} 
 </pre> 



 I don't think it matters but , FWIW, I have 4 plugins enabled: 
 <pre><code class="diff"> 
 diff --git a/ansible/pulp-from-source.yml b/ansible/pulp-from-source.yml 
 index 4eef989..fa22953 100644 
 --- a/ansible/pulp-from-source.yml 
 +++ b/ansible/pulp-from-source.yml 
 @@ -21,7 +21,9 @@ 
      - redis 
      - dev 
      - {role: plugin, plugin_name: 'pulp_file', app_label: 'pulp_file'} 
 -      # - {role: plugin, plugin_name: 'pulp_python', app_label: 'pulp_python'} 
 +      - {role: plugin, plugin_name: 'pulp_python', app_label: 'pulp_python'} 
 +      - {role: plugin, plugin_name: 'pulp_rpm', app_label: 'pulp_rpm'} 
 +      - {role: plugin, plugin_name: 'pulp_ansible', app_label: 'pulp_ansible'} 
      - systemd 
      - role: dev_tools 
        when: ansible_distribution == 'Fedora' 
 </code></pre> 

 Removing the @reset_db@ step helps but I don't think it's a solution. We'd better reset but one time at the beginning. Another question is why/how @pulp_app@ migrations disappear.

Back