Project

Profile

Help

Issue #1738

closed

migration failure on upgrade from 2.7 -> 2.8

Added by pthomas@redhat.com about 8 years ago. Updated about 5 years ago.

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

Description

pulp-manage-db failed on upgrading 2.7 -> 2.8 on El6

[root@ibm-x3550m3-09 ~]# rpm -qa |grep pulp
python-pulp-bindings-2.8.0-0.6.beta.el6.noarch
pulp-admin-client-2.8.0-0.6.beta.el6.noarch
pulp-rpm-plugins-2.8.0-0.5.beta.el6.noarch
pulp-rpm-handlers-2.8.0-0.5.beta.el6.noarch
python-pulp-repoauth-2.8.0-0.6.beta.el6.noarch
pulp-server-2.8.0-0.6.beta.el6.noarch
pulp-rpm-admin-extensions-2.8.0-0.5.beta.el6.noarch
python-pulp-agent-lib-2.8.0-0.6.beta.el6.noarch
python-pulp-docker-common-2.0.0-0.6.beta.el6.noarch
pulp-docker-plugins-2.0.0-0.6.beta.el6.noarch
pulp-agent-2.8.0-0.6.beta.el6.noarch
pulp-docker-admin-extensions-2.0.0-0.6.beta.el6.noarch
python-isodate-0.5.0-4.pulp.el6.noarch
mod_wsgi-3.4-2.pulp.el6.x86_64
python-pulp-common-2.8.0-0.6.beta.el6.noarch
python-pulp-rpm-common-2.8.0-0.5.beta.el6.noarch
python-pulp-client-lib-2.8.0-0.6.beta.el6.noarch
python-pulp-oid_validation-2.8.0-0.6.beta.el6.noarch
pulp-puppet-plugins-2.8.0-0.6.beta.el6.noarch
pulp-puppet-consumer-extensions-2.8.0-0.6.beta.el6.noarch
pulp-puppet-admin-extensions-2.8.0-0.6.beta.el6.noarch
pulp-rpm-yumplugins-2.8.0-0.5.beta.el6.noarch
python-pulp-puppet-common-2.8.0-0.6.beta.el6.noarch
pulp-rpm-consumer-extensions-2.8.0-0.5.beta.el6.noarch
pulp-selinux-2.8.0-0.6.beta.el6.noarch
pulp-consumer-client-2.8.0-0.6.beta.el6.noarch
python-kombu-3.0.33-4.pulp.el6.noarch
pulp-puppet-handlers-2.8.0-0.6.beta.el6.noarch

Steps
1. Start with a 2.7 pulp
2. Make sure you have a lot of data
3. Run yum update to upgrade to 2.8
4. Run sudo -u apache pulp-manage-db

[root@ibm-x3550m3-09 ~]# sudo -u apache pulp-manage-db
Attempting to connect to localhost:27017
Attempting to connect to localhost:27017
Write concern for Mongo connection: {}
/usr/lib/python2.6/site-packages/pulp/server/db/connection.py:159: DeprecationWarning: add_son_manipulator is deprecated
  _DATABASE.add_son_manipulator(NamespaceInjector())
Loading content types.
Loading type descriptors []
Parsing type descriptors
Validating type descriptor syntactic integrity
Validating type descriptor semantic integrity
Loading unit model: puppet_module = pulp_puppet.plugins.db.models:Module
Loading unit model: docker_blob = pulp_docker.plugins.models:Blob
Loading unit model: docker_manifest = pulp_docker.plugins.models:Manifest
Loading unit model: docker_image = pulp_docker.plugins.models:Image
Loading unit model: docker_tag = pulp_docker.plugins.models:Tag
Loading unit model: erratum = pulp_rpm.plugins.db.models:Errata
Loading unit model: distribution = pulp_rpm.plugins.db.models:Distribution
Loading unit model: package_group = pulp_rpm.plugins.db.models:PackageGroup
Loading unit model: package_category = pulp_rpm.plugins.db.models:PackageCategory
Loading unit model: iso = pulp_rpm.plugins.db.models:ISO
Loading unit model: package_environment = pulp_rpm.plugins.db.models:PackageEnvironment
Loading unit model: drpm = pulp_rpm.plugins.db.models:DRPM
Loading unit model: srpm = pulp_rpm.plugins.db.models:SRPM
Loading unit model: rpm = pulp_rpm.plugins.db.models:RPM
Loading unit model: yum_repo_metadata_file = pulp_rpm.plugins.db.models:YumMetadataFile
Updating the database with types [puppet_module, drpm, erratum, docker_blob, docker_manifest, yum_repo_metadata_file, package_group, package_category, iso, package_environment, docker_tag, distribution, rpm, srpm, docker_image]
/usr/lib/python2.6/site-packages/pulp/server/db/model/base.py:96: DeprecationWarning: ensure_index is deprecated. Use create_index instead.
  unique=unique, background=True)
/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py:273: DeprecationWarning: save is deprecated. Use insert_one or replace_one instead
  content_type_collection.save(content_type)
/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py:302: DeprecationWarning: ensure_index is deprecated. Use create_index instead.
  index_name = collection.ensure_index(mongo_index, unique=unique)
Exception updating unit key for type [erratum]
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 105, in update_database
    _update_unit_key(type_def)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 311, in _update_unit_key
    _update_indexes(type_def, True)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 302, in _update_indexes
    index_name = collection.ensure_index(mongo_index, unique=unique)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 1407, in ensure_index
    self.__create_index(keys, kwargs)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 1297, in __create_index
    sock_info, index, True, False, False, wcn)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 530, in _insert
    check_keys, manipulate, write_concern, op_id, bypass_doc_val)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 519, in _insert_one
    check_keys, acknowledged, concern, False, self.codec_options)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 458, in _legacy_write
    rqst_id, msg, max_size, acknowledged)
  File "/usr/lib64/python2.6/site-packages/pymongo/pool.py", line 264, in legacy_write
    return helpers._check_gle_response(response)
  File "/usr/lib64/python2.6/site-packages/pymongo/helpers.py", line 235, in _check_gle_response
    raise DuplicateKeyError(details["err"], code, result)
DuplicateKeyError: E11000 duplicate key error index: pulp_database.units_erratum.$errata_id_1  dup key: { : null }
Exception updating unit key for type [package_group]
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 105, in update_database
    _update_unit_key(type_def)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 311, in _update_unit_key
    _update_indexes(type_def, True)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 302, in _update_indexes
    index_name = collection.ensure_index(mongo_index, unique=unique)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 1407, in ensure_index
    self.__create_index(keys, kwargs)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 1297, in __create_index
    sock_info, index, True, False, False, wcn)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 530, in _insert
    check_keys, manipulate, write_concern, op_id, bypass_doc_val)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 519, in _insert_one
    check_keys, acknowledged, concern, False, self.codec_options)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 458, in _legacy_write
    rqst_id, msg, max_size, acknowledged)
  File "/usr/lib64/python2.6/site-packages/pymongo/pool.py", line 264, in legacy_write
    return helpers._check_gle_response(response)
  File "/usr/lib64/python2.6/site-packages/pymongo/helpers.py", line 235, in _check_gle_response
    raise DuplicateKeyError(details["err"], code, result)
DuplicateKeyError: E11000 duplicate key error index: pulp_database.units_package_group.$package_group_id_1_repo_id_1  dup key: { : null, : "centos5" }
Exception updating unit key for type [package_category]
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 105, in update_database
    _update_unit_key(type_def)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 311, in _update_unit_key
    _update_indexes(type_def, True)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 302, in _update_indexes
    index_name = collection.ensure_index(mongo_index, unique=unique)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 1407, in ensure_index
    self.__create_index(keys, kwargs)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 1297, in __create_index
    sock_info, index, True, False, False, wcn)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 530, in _insert
    check_keys, manipulate, write_concern, op_id, bypass_doc_val)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 519, in _insert_one
    check_keys, acknowledged, concern, False, self.codec_options)
  File "/usr/lib64/python2.6/site-packages/pymongo/collection.py", line 458, in _legacy_write
    rqst_id, msg, max_size, acknowledged)
  File "/usr/lib64/python2.6/site-packages/pymongo/pool.py", line 264, in legacy_write
    return helpers._check_gle_response(response)
  File "/usr/lib64/python2.6/site-packages/pymongo/helpers.py", line 235, in _check_gle_response
    raise DuplicateKeyError(details["err"], code, result)
DuplicateKeyError: E11000 duplicate key error index: pulp_database.units_package_category.$package_category_id_1_repo_id_1  dup key: { : null, : "centos5" }
UpdateFailed [erratum, package_group, package_category]
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/pulp/server/db/manage.py", line 193, in main
    return _auto_manage_db(options)
  File "/usr/lib/python2.6/site-packages/pulp/server/db/manage.py", line 220, in _auto_manage_db
    old_content_types = load_content_types(dry_run=options.dry_run)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/loader/api.py", line 443, in load_content_types
    database.update_database(definitions, drop_indices=drop_indices)
  File "/usr/lib/python2.6/site-packages/pulp/plugins/types/database.py", line 119, in update_database
    raise UpdateFailed(error_defs)
UpdateFailed: UpdateFailed [erratum, package_group, package_category]

Also available in: Atom PDF