Project

Profile

Help

Issue #1092

closed

pulp-manage-db throws exception during upgrade from Pulp 2.6.3 to 2.7.0

Added by dkliban@redhat.com almost 9 years ago. Updated almost 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
2.7.0 Beta
Platform Release:
2.7.0
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

1. Install Pulp 2.6.3 from [0]
2. Run pulp-manage-db.
3. Start all services.
4. Stop all services.
5. Install Pulp 2.7.0 from [1]
6. Run pulp-manage-db

Result:

# sudo -u apache pulp-manage-db
Mongo database for connection is version 2.6.9
Loading content types.
Loading type descriptors [python.json, iso_support.json, puppet.json, nodes.json, docker.json, rpm_support.json]
Parsing type descriptors
Validating type descriptor syntactic integrity
Validating type descriptor semantic integrity
Updating the database with types [python_package, iso, puppet_module, repository, node, docker_image, distribution, drpm, erratum, package_group, package_category, package_environment, rpm, srpm, yum_repo_metadata_file]
Content types loaded.
Ensuring the admin role and user are in place.
Admin role and user are in place.
Beginning database migrations.
Migration package pulp.server.db.migrations is up to date at version 18
Migration package pulp_puppet.plugins.migrations is up to date at version 2
Migration package pulp_rpm.plugins.migrations is up to date at version 21
Index with name: task_id_-1 already exists with different options
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 159, in main
    return _auto_manage_db(options)
  File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 220, in _auto_manage_db
    migrate_database(options)
  File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 104, in migrate_database
    ensure_database_indexes()
  File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 122, in ensure_database_indexes
    _ensure_indexes(model.TaskStatus)
  File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 140, in _ensure_indexes
    model_class.ensure_indexes()
  File "/usr/lib/python2.7/site-packages/mongoengine/document.py", line 549, in ensure_indexes
    collection = cls._get_collection()
  File "/usr/lib/python2.7/site-packages/mongoengine/document.py", line 177, in _get_collection
    cls.ensure_indexes()
  File "/usr/lib/python2.7/site-packages/mongoengine/document.py", line 567, in ensure_indexes
    drop_dups=drop_dups, **opts)
  File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 916, in ensure_index
    return self.create_index(key_or_list, cache_for, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 823, in create_index
    **self._get_wc_override()) 
  File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 357, in insert
    continue_on_error, self.__uuid_subtype), safe)
  File "/usr/lib64/python2.7/site-packages/pymongo/mongo_client.py", line 920, in _send_message
    rv = self.__check_response_to_last_error(response)
  File "/usr/lib64/python2.7/site-packages/pymongo/mongo_client.py", line 863, in __check_response_to_last_error
    raise OperationFailure(details["err"], details["code"])
OperationFailure: Index with name: task_id_-1 already exists with different options

Expected result:

All migrations finish without error.

[0] https://repos.fedorapeople.org/repos/pulp/pulp/testing/automation/2.6/testing/fedora-$releasever/$basearch/
[1] https://repos.fedorapeople.org/repos/pulp/pulp/testing/automation/2.7/testing/fedora-$releasever/$basearch/

Also available in: Atom PDF