Issue #916
closedpulp-manage-db raising stack trace
Description
On EL6 and EL7, when running pulp-manage-db the following stack trace happens:
sudo -u apache /usr/bin/pulp-manage-db
Migration package pulp.server.db.migrations is up to date at version 16
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
type object 'RepositoryContentUnit' has no attribute 'ensure_indexes'
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 134, in main
return _auto_manage_db(options)
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 195, in _auto_manage_db
migrate_database(options)
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 103, in migrate_database
ensure_database_indexes()
File "/usr/lib/python2.7/site-packages/pulp/server/db/manage.py", line 117, in ensure_database_indexes
model.RepositoryContentUnit.ensure_indexes()
AttributeError: type object 'RepositoryContentUnit' has no attribute 'ensure_indexes
I am running the 0.7.10 version of mongoengine.
$ rpm -qa|grep mongoe
python-mongoengine-0.7.10-2.el7.noarch
And here are my packages:
[lib]$ rpm -qa|grep pulp
pulp-puppet-handlers-2.7.0-0.2.alpha.git.3.bf0e19d.el7.noarch
pulp-nodes-common-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
python-kombu-3.0.24-7.pulp.git.270.985c711.el7.noarch
pulp-puppet-admin-extensions-2.7.0-0.2.alpha.git.3.bf0e19d.el7.noarch
pulp-docker-admin-extensions-1.1.0-0.1.alpha.git.6.2cbd4f5.el7.noarch
python-pulp-puppet-common-2.7.0-0.2.alpha.git.3.bf0e19d.el7.noarch
pulp-puppet-plugins-2.7.0-0.2.alpha.git.3.bf0e19d.el7.noarch
pulp-consumer-client-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
pulp-puppet-tools-2.7.0-0.2.alpha.git.3.bf0e19d.el7.noarch
python-pulp-bindings-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
pulp-admin-client-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
python-pulp-repoauth-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
python-isodate-0.5.0-4.pulp.el7.noarch
python-pulp-rpm-common-2.7.0-0.2.alpha.git.24.a708668.el7.noarch
pulp-puppet-consumer-extensions-2.7.0-0.2.alpha.git.3.bf0e19d.el7.noarch
pulp-server-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
python-pulp-client-lib-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
pulp-docker-plugins-1.1.0-0.1.alpha.git.6.2cbd4f5.el7.noarch
pulp-selinux-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
python-pulp-ostree-common-1.0.0-0.1.alpha.el7.noarch
pulp-ostree-plugins-1.0.0-0.1.alpha.el7.noarch
pulp-rpm-plugins-2.7.0-0.2.alpha.git.24.a708668.el7.noarch
python-pulp-common-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
pulp-nodes-parent-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
pulp-ostree-admin-extensions-1.0.0-0.1.alpha.el7.noarch
pulp-katello-0.4-1.el7.noarch
python-pulp-agent-lib-2.7.0-0.2.alpha.git.112.d2a2776.el7.noarch
python-pulp-docker-common-1.1.0-0.1.alpha.git.6.2cbd4f5.el7.noarc
Related issues
Updated by bmbouter over 9 years ago
- Description updated (diff)
- Priority changed from Normal to High
- Severity changed from 2. Medium to 3. High
- Platform Release set to 2.7.0
Updated by bmbouter over 9 years ago
The 0.7.10 version of mongoengine does not support the ensure_indexes call. ensure_indexes was added in a newer version of mongoengine.
One way we could fix this is by reverting commit d4ecfd33ab2ed564ac606a84c235c9575bb8ea78. That would let mongoengine just handle it for us, but would have the downside of and indexes that need to get created happen at runtime instead of pulp-manage-db time.
Another way we can fix this by attempting to call ensure_indexes, and if it creates the exception shown in the traceback, we should call the ensure_index that is available in mongoengine 0.7.10 on the queryset. We can probably do that in a generalized way.
I do not think we should start delivering a newer version of mongoengine just for this issue. We also cannot have just one implementation of this that will work in all versions because in the newer version, ensure_index on the queryset is deprecated
Updated by bcourt over 9 years ago
If there is a way to make the call and fail back to the older version on the queryset in 0.7.10 I would go with that.
Updated by bmbouter over 9 years ago
- Has duplicate Issue #900: unable to run pulp-manage-db on 2.7.0 alpha 2 on RHEL6 added
Updated by bmbouter over 9 years ago
I notice this issue is at post, but there is no link to the PR in it.
Added by bcourt over 9 years ago
Added by bcourt over 9 years ago
Revision 62c7b605 | View on GitHub
Ensure_indexes on both old & new style mongoengine
fixes #916
Updated by bcourt over 9 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulp|62c7b6059cb99e2aeef6a3450fb8fdfa02c46063.
Updated by dkliban@redhat.com over 9 years ago
- Status changed from MODIFIED to 5
Updated by igulina@redhat.com over 9 years ago
on RH7:
>> rpm -qa pulp-server
pulp-server-2.7.0-0.3.beta.el7.noarch
>> rpm -qa|grep mongoe
python-mongoengine-0.8.4-3.el7.noarch
>> sudo -u apache /usr/bin/pulp-manage-db
Mongo database for connection is version 2.6.9
Loading content types.
Loading type descriptors [iso_support.json, rpm_support.json, puppet.json, docker.json]
Parsing type descriptors
Validating type descriptor syntactic integrity
Validating type descriptor semantic integrity
Updating the database with types [iso, distribution, drpm, erratum, package_group, package_category, package_environment, rpm, srpm, yum_repo_metadata_file, puppet_module, docker_image]
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
Database migrations complete.
SO far there is no traceback on RH6, but check one more time after #1065 fix, just to be sure.
Updated by amacdona@redhat.com about 9 years ago
- Status changed from 6 to CLOSED - CURRENTRELEASE
Ensure_indexes on both old & new style mongoengine
fixes #916