Bug 1133953 - Pulp should fail to start if the Mongo Connection doesn't meet the minimum version requirement
Summary: Pulp should fail to start if the Mongo Connection doesn't meet the minimum ve...
Alias: None
Product: Pulp
Classification: Retired
Component: API/integration
Version: 2.4.0
Hardware: All
OS: Linux
Target Milestone: ---
: 2.6.0
Assignee: Chris Duryee
QA Contact: Preethi Thomas
Depends On:
TreeView+ depends on / blocked
Reported: 2014-08-26 14:07 UTC by Randy Barlow
Modified: 2015-02-28 22:16 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-02-28 22:16:47 UTC

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Pulp Redmine 501 0 None None None Never

Description Randy Barlow 2014-08-26 14:07:31 UTC
Description of problem:
We have a current Mongo requirement of 2.4.0 or greater. Nothing in Pulp currently validates that the Mongo version is 2.4.0. It would be good for us to check the Mongo version upon connecting, raising a meaningful error in the logs if the version doesn't meet our requirements.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Configure Pulp to use a Mongo server < 2.4.0
2. Start Pulp

Actual results:
Observe that most operations will work, but when you hit one that doesn't, it's a doozy!

Expected results:
Pulp should refuse to connect to a Mongo that doesn't meet our requirements.

Additional info:
Here is how to check the Mongo version:

In [5]: pymongo.Connection('limeade.usersys.redhat.com').server_info()['versionArray']
Out[5]: [2, 4, 6, 0]

There is also a 'version' key that looks like '2.4.6'.

Comment 1 Barnaby Court 2014-08-26 14:11:53 UTC
The pulp-manage-db migration script should also check the mongo version.

Comment 2 Chris Duryee 2014-08-28 13:56:14 UTC
Is it possible to check that the mongo connection has correct privileges on pulp_database during startup? This would also be helpful, especially when connecting as non-admin users.

Comment 3 Chris Duryee 2014-09-08 18:37:42 UTC

Comment 4 Chris Duryee 2014-09-18 20:38:13 UTC
merged to 2.5-dev and master

Comment 5 Chris Duryee 2014-12-23 20:52:28 UTC
fixed in pulp 2.6.0-0.2.beta

Comment 6 Preethi Thomas 2015-02-04 13:34:59 UTC
[root@ibm-x3550m3-07 ~]# rpm -qa pulp-server
[root@ibm-x3550m3-07 ~]# 

Mongo version is getting checked while running pulp-manage-db

[root@ibm-x3550m3-07 ~]# sudo -u apache pulp-manage-db
Mongo database for connection is version 2.4.12
Loading content types.
Loading type descriptors [iso_support.json, nodes.json, rpm_support.json]
Parsing type descriptors
Validating type descriptor syntactic integrity
Validating type descriptor semantic integrity
Updating the database with types [iso, repository, node, distribution, drpm, erratum, package_group, package_category, package_environment, rpm, srpm, yum_repo_metadata_file]
Found the following type definitions that were not present in the update collection [puppet_module]
/usr/lib/python2.6/site-packages/pulp/server/db/connection.py:162: DeprecationWarning: The safe parameter is deprecated. Please use write concern options instead.
  return method(*args, **kwargs)
Content types loaded.
Ensuring the admin role and user are in place.
Mongo database for connection is version 2.4.12
Admin role and user are in place.
Beginning database migrations.
Migration package pulp.server.db.migrations is up to date at version 12
Migration package pulp_rpm.plugins.migrations is up to date at version 18
Database migrations complete.

Comment 7 Brian Bouterse 2015-02-28 22:16:47 UTC
Moved to https://pulp.plan.io/issues/501

Note You need to log in before you can comment on or make changes to this bug.