Bug 753912

Summary: pulp-migrate on empty db fails
Product: [Retired] Pulp Reporter: Jason Connor <jconnor>
Component: z_otherAssignee: Jason Connor <jconnor>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.0.0CC: mmccune
Target Milestone: ---Keywords: Triaged
Target Release: Sprint 30   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-24 20:11:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jason Connor 2011-11-14 20:47:06 UTC
Steps to Reproduce:
1. fresh install of pulp
2. drop all pulp_* databases
3. start mongod.server
4. run pulp-migrate
  
Actual results:
traceback

Expected results:
database marked at latest version

Additional info:
# pulp-migrate 
Traceback (most recent call last):
  File "/usr/bin/pulp-migrate", line 7, in <module>
    execfile(__file__)
  File "/home/jconnor/Workspace/pulp/bin/pulp-migrate", line 23, in <module>
    sys.exit(script.main())
  File "/home/jconnor/Workspace/pulp/src/pulp/server/db/migrate/script.py", line 125, in main
    ret = datamodel_migration(options)
  File "/home/jconnor/Workspace/pulp/src/pulp/server/db/migrate/script.py", line 73, in datamodel_migration
    for mod in get_migration_modules():
  File "/home/jconnor/Workspace/pulp/src/pulp/server/db/migrate/versions/__init__.py", line 50, in get_migration_modules
    mod = _import_module(name)
  File "/home/jconnor/Workspace/pulp/src/pulp/server/db/migrate/versions/__init__.py", line 22, in _import_module
    mod = __import__(name)
  File "/home/jconnor/Workspace/pulp/src/pulp/server/db/migrate/versions/twentyfour.py", line 18, in <module>
    from pulp.server.api.synchronizers import parse_treeinfo
  File "/home/jconnor/Workspace/pulp/src/pulp/server/api/synchronizers.py", line 43, in <module>
    from pulp.server.api.distribution import DistributionApi
  File "/home/jconnor/Workspace/pulp/src/pulp/server/api/distribution.py", line 28, in <module>
    distribution_fields = model.Distribution(None, None, None, None, None, None, None, [], None).keys()
  File "/home/jconnor/Workspace/pulp/src/pulp/server/db/model/resource.py", line 90, in __init__
    self.timestamp = dateutils.format_iso8601_datetime(datetime.datetime.now(dateutils.local_tz()))
  File "/home/jconnor/Workspace/pulp/src/pulp/common/dateutils.py", line 257, in format_iso8601_datetime
    return isodate.strftime(dt, isodate.DT_EXT_COMPLETE)
  File "/usr/lib/python2.7/site-packages/isodate/isostrf.py", line 207, in strftime
    return _strfdt(tdt, format, yeardigits)
  File "/usr/lib/python2.7/site-packages/isodate/isostrf.py", line 182, in _strfdt
    format)
  File "/usr/lib64/python2.7/re.py", line 151, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "/usr/lib/python2.7/site-packages/isodate/isostrf.py", line 179, in repl
    return STRF_DT_MAP[match.group(0)](tdt, yeardigits)
  File "/usr/lib/python2.7/site-packages/isodate/isostrf.py", line 101, in <lambda>
    '%Z': lambda tdt, yds: tz_isoformat(tdt.tzinfo, '%Z'),
  File "/usr/lib/python2.7/site-packages/isodate/isotzinfo.py", line 90, in tz_isoformat
    if (tzinfo is None) or (tzinfo.utcoffset(None) is None):
  File "/usr/lib/python2.7/site-packages/isodate/tzinfo.py", line 104, in utcoffset
    if self._isdst(dt):
  File "/usr/lib/python2.7/site-packages/isodate/tzinfo.py", line 129, in _isdst
    tt = (dt.year, dt.month, dt.day,
AttributeError: 'NoneType' object has no attribute 'year

Comment 1 Jason Connor 2011-11-14 20:48:20 UTC
start mongod.service not .server

Comment 2 Jason Connor 2011-12-16 16:38:13 UTC
this is an isodate bug, it is fixed by using our patched version of isodate

Comment 3 Jeff Ortel 2012-01-04 21:48:38 UTC
build: 0.256

Comment 4 Preethi Thomas 2012-01-05 14:36:43 UTC
verified
[root@katello-test ~]# rpm -q pulp
pulp-0.0.256-1.el6.noarch
[root@katello-test ~]# 

[root@katello-test ~]# yum install pulp pulp-admin --disablerepo=* --enablerepo=testing-rhel-pulp  --enablerepo=epel
Loaded plugins: product-id, rhnplugin, subscription-manager
Updating Red Hat repositories.
testing-rhel-pulp                                        | 1.3 kB     00:00     
testing-rhel-pulp/primary                                | 6.4 kB     00:00     
testing-rhel-pulp                                                         20/20
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package pulp.noarch 0:0.0.255-1.el6 will be updated
---> Package pulp.noarch 0:0.0.256-1.el6 will be an update
--> Processing Dependency: pulp-common = 0.0.256 for package: pulp-0.0.256-1.el6.noarch
--> Processing Dependency: pulp-selinux-server = 0.0.256 for package: pulp-0.0.256-1.el6.noarch
--> Processing Dependency: grinder >= 0.0.136 for package: pulp-0.0.256-1.el6.noarch
---> Package pulp-admin.noarch 0:0.0.255-1.el6 will be updated
---> Package pulp-admin.noarch 0:0.0.256-1.el6 will be an update
--> Processing Dependency: pulp-client-lib = 0.0.256 for package: pulp-admin-0.0.256-1.el6.noarch
--> Running transaction check
---> Package grinder.noarch 0:0.0.134-1.el6 will be updated
---> Package grinder.noarch 0:0.0.136-1.el6 will be an update
---> Package pulp-client-lib.noarch 0:0.0.255-1.el6 will be updated
---> Package pulp-client-lib.noarch 0:0.0.256-1.el6 will be an update
---> Package pulp-common.noarch 0:0.0.255-1.el6 will be updated
---> Package pulp-common.noarch 0:0.0.256-1.el6 will be an update
---> Package pulp-selinux-server.noarch 0:0.0.255-1.el6 will be updated
---> Package pulp-selinux-server.noarch 0:0.0.256-1.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch      Version            Repository            Size
================================================================================
Updating:
 pulp                   noarch    0.0.256-1.el6      testing-rhel-pulp    780 k
 pulp-admin             noarch    0.0.256-1.el6      testing-rhel-pulp    218 k
Updating for dependencies:
 grinder                noarch    0.0.136-1.el6      testing-rhel-pulp    135 k
 pulp-client-lib        noarch    0.0.256-1.el6      testing-rhel-pulp    192 k
 pulp-common            noarch    0.0.256-1.el6      testing-rhel-pulp    124 k
 pulp-selinux-server    noarch    0.0.256-1.el6      testing-rhel-pulp    122 k

Transaction Summary
================================================================================
Upgrade       6 Package(s)

Total download size: 1.5 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): grinder-0.0.136-1.el6.noarch.rpm                  | 135 kB     00:00     
(2/6): pulp-0.0.256-1.el6.noarch.rpm                     | 780 kB     00:01     
(3/6): pulp-admin-0.0.256-1.el6.noarch.rpm               | 218 kB     00:00     
(4/6): pulp-client-lib-0.0.256-1.el6.noarch.rpm          | 192 kB     00:00     
(5/6): pulp-common-0.0.256-1.el6.noarch.rpm              | 124 kB     00:00     
(6/6): pulp-selinux-server-0.0.256-1.el6.noarch.rpm      | 122 kB     00:00     
--------------------------------------------------------------------------------
Total                                           246 kB/s | 1.5 MB     00:06     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : pulp-common-0.0.256-1.el6.noarch                            1/12 
  Updating   : pulp-client-lib-0.0.256-1.el6.noarch                        2/12 
  Updating   : grinder-0.0.136-1.el6.noarch                                3/12 
  Updating   : pulp-selinux-server-0.0.256-1.el6.noarch                    4/12 
  Updating   : pulp-0.0.256-1.el6.noarch                                   5/12 
  Updating   : pulp-admin-0.0.256-1.el6.noarch                             6/12 
  Cleanup    : pulp-0.0.255-1.el6.noarch                                   7/12 
  Cleanup    : pulp-admin-0.0.255-1.el6.noarch                             8/12 
  Cleanup    : pulp-client-lib-0.0.255-1.el6.noarch                        9/12 
  Cleanup    : pulp-common-0.0.255-1.el6.noarch                           10/12 
  Cleanup    : grinder-0.0.134-1.el6.noarch                               11/12 
  Cleanup    : pulp-selinux-server-0.0.255-1.el6.noarch                   12/12 
duration: 107(ms)
Installed products updated.

Updated:
  pulp.noarch 0:0.0.256-1.el6         pulp-admin.noarch 0:0.0.256-1.el6        

Dependency Updated:
  grinder.noarch 0:0.0.136-1.el6     pulp-client-lib.noarch 0:0.0.256-1.el6    
  pulp-common.noarch 0:0.0.256-1.el6 pulp-selinux-server.noarch 0:0.0.256-1.el6

Complete!
[root@katello-test ~]# mongo
MongoDB shell version: 1.8.2
connecting to: test
> use pulp_database
switched to db pulp_database
> db.dropDatabase()
{ "dropped" : "pulp_database", "ok" : 1 }
> exit
bye
[root@katello-test ~]# pulp-migrate
database migration to version 35 complete
[root@katello-test ~]# 
[root@katello-test ~]# service pulp-server restart
Stopping httpd:                                            [  OK  ]
Stopping Qpid AMQP daemon:                                 [  OK  ]
Stopping mongod:                                           [  OK  ]
Starting mongod:                                           [  OK  ]
Starting Qpid AMQP daemon:                                 [  OK  ]
Starting httpd:                                            [  OK  ]
[root@katello-test ~]# pulp-admin repo list
error:  error: operation failed: sslv3 alert certificate expired
[root@katello-test ~]# pulp-admin -u admin -p admin repo list
No repositories available to list
[root@katello-test ~]#

Comment 5 Preethi Thomas 2012-02-24 20:11:19 UTC
Pulp v1.0 is released
Closed Current Release.