Review Board upgrade from 2.5.17 to 3.0.19

74 views
Skip to first unread message

Saurabh Kumar

unread,
Jan 13, 2021, 11:29:04 AM1/13/21
to Review Board Community
Hi,

We tried to upgrade our existing set Review Board set up. Used the easy_install -U ReviewBoard command.

There were a few packages mismatch which were resolved.

# easy_install -U ReviewBoard
WARNING: The easy_install command is deprecated and will be removed in a future version.
Searching for ReviewBoard
Best match: ReviewBoard 3.0.19
Processing ReviewBoard-3.0.19-py2-none-any.whl
removing '/usr/lib/python2.7/site-packages/ReviewBoard-3.0.19-py2.7.egg' (and everything under it)
Installing ReviewBoard-3.0.19-py2-none-any.whl to /usr/lib/python2.7/site-packages
ReviewBoard 3.0.19 is already the active version in easy-install.pth
Installing rbext script to /usr/bin
Installing rbssh script to /usr/bin
Installing rb-site script to /usr/bin

Installed /usr/lib/python2.7/site-packages/ReviewBoard-3.0.19-py2.7.egg
Processing dependencies for ReviewBoard
Finished processing dependencies for ReviewBoard

# rb-site --version
rb-site 3.0.19
Python 2.7.5 (default, Nov 16 2020, 22:23:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
Installed to /usr/lib/python2.7/site-packages/ReviewBoard-3.0.19-py2.7.egg/reviewboard

Post this tried the upgrade site command which failed -

# rb-site upgrade /var/www/<site_folder>
WARNING:py.warnings:/usr/lib/python2.7/site-packages/paramiko/transport.py:33: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography.hazmat.backends import default_backend

Rebuilding directory structure
Upgrading site settings_local.py
Updating database. This may take a while.

The log output below, including warnings and errors,
can be ignored unless upgrade fails.

------------------ <begin log output> ------------------

[!] Unable to execute the manager command syncdb: No module named
    parse
INFO:root:Using reviewboard.scmtools.svn.pysvn backend for SVN
ERROR:root:Unexpected error: 'privacy'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 76, in handle
    self.evolve(*app_labels, **options)
  File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 140, in evolve
    app_sql = self.evolve_app(app)
  File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 185, in evolve_app
    app_mutator.run_mutations(mutations)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 279, in run_mutations
    self.run_mutation(mutation)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 268, in run_mutation
    model_mutator.run_mutation(mutation)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 165, in run_mutation
    mutation.mutate(self, self.create_model())
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 66, in create_model
    self.model_sig, db_name=self.database)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 56, in model_sig
    return self.proj_sig[self.app_label][self.model_name]
KeyError: 'privacy'
Traceback (most recent call last):
  File "/usr/bin/rb-site", line 11, in <module>
    load_entry_point('ReviewBoard==3.0.19', 'console_scripts', 'rb-site')()
  File "/usr/lib/python2.7/site-packages/ReviewBoard-3.0.19-py2.7.egg/reviewboard/cmdline/rbsite.py", line 1972, in main
    command.run()
  File "/usr/lib/python2.7/site-packages/ReviewBoard-3.0.19-py2.7.egg/reviewboard/cmdline/rbsite.py", line 1764, in run
    site.migrate_database()
  File "/usr/lib/python2.7/site-packages/ReviewBoard-3.0.19-py2.7.egg/reviewboard/cmdline/rbsite.py", line 475, in migrate_database
    self.run_manage_command("evolve", ["--noinput", "--execute"])
  File "/usr/lib/python2.7/site-packages/ReviewBoard-3.0.19-py2.7.egg/reviewboard/cmdline/rbsite.py", line 715, in run_manage_command
    execute_from_command_line([__file__, cmd] + params)
  File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 76, in handle
    self.evolve(*app_labels, **options)
  File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 140, in evolve
    app_sql = self.evolve_app(app)
  File "/usr/lib/python2.7/site-packages/django_evolution/management/commands/evolve.py", line 185, in evolve_app
    app_mutator.run_mutations(mutations)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 279, in run_mutations
    self.run_mutation(mutation)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 268, in run_mutation
    model_mutator.run_mutation(mutation)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 165, in run_mutation
    mutation.mutate(self, self.create_model())
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 66, in create_model
    self.model_sig, db_name=self.database)
  File "/usr/lib/python2.7/site-packages/django_evolution/mutators.py", line 56, in model_sig
    return self.proj_sig[self.app_label][self.model_name]
KeyError: 'privacy'

Any pointers on this would be helpful. 

Regards,
Saurabh

Christian Hammond

unread,
Jan 13, 2021, 3:29:46 PM1/13/21
to revie...@googlegroups.com
Can you give me details in the packages that you had to manually resolve? It looks like you may have had some bad versions at the end that led to this, given the errors.

Was this on your production server? Do you have a backup! If not, you might need to schedule a database repair with us.

Christian

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "Review Board Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/reviewboard/bcd7e4aa-899b-4580-82cd-88fdd59c6598n%40googlegroups.com.
--
--
Christian Hammond
President/CEO of Beanbag
Makers of Review Board

Saurabh Kumar

unread,
Jan 14, 2021, 12:32:39 AM1/14/21
to Review Board Community
Hi Chris,

Thanks for the quick reply. We are trying this in dev/trial server so we didn't bother about db backup.

There were 3 packages that complained -
1. cyptography complained about required ciff version 
     Installed distribution cffi 1.6.0 conflicts with requirement cffi>=1.12
     We upgraded  (pip install --upgrade cffi) cffi version manually and got version 1.14.4 installed
2. Review Board update automatically selected Pillow latest version 8.0 during upgrade however  it gave the below error
    Pillow {PILLOW_VERSION} does not support Python "
    On checking the Pillow docs we identified that version 8.0 only supports Python 3.0 and above. So we manually upgraded  Pillow and got version 6.2.2
3. Upgraded python set up tools
4. Upgraded six to version 1.15.0 as there was a conflict with installed version.

We are on Python version 2.7.5

After all these again ran  easy_install -U ReviewBoard .

Regards,
Saurabh 

Christian Hammond

unread,
Jan 14, 2021, 8:04:04 PM1/14/21
to revie...@googlegroups.com
We have a 3.0.20 release in the works, and I can verify the dependencies to see which we may now need to cap. Your Python is definitely quite old (within the 2.7.x series).

I'm surprised by some of the dependency issues. What Linux distro and version are you using, to verify?

The database error you're hitting is caused by:

"[!] Unable to execute the manager command syncdb: No module named parse"

This isn't normal, and suggests there's something broken with the set of packages on your system. Can you show me the results of `pip list`?

Christian

Saurabh Kumar

unread,
Jan 15, 2021, 6:01:54 AM1/15/21
to Review Board Community
Hi Chris,

We wanted to install and try out PowerPack , so we removed the old Review Board version (2.5 ) and installed 3.0 fresh. We were able to proceed with our PowerPack installation. 

I also suspected that something's broken in our installed packages, but at least it allows us to try the PowerPack plugin.

We are using CentOS Linux release 7.6.1810 (Core).

Thanks for your support.  
Saurabh

Christian Hammond

unread,
Jan 20, 2021, 4:05:03 PM1/20/21
to revie...@googlegroups.com
Hi Saurabh,

We just released 3.0.20, which tightens up some of these dependencies, and should hopefully fix up the install on your system . You'd want a fresh new copy of the database. If you're using a VM or something, it'll be good to start the server over just to ensure there aren't any bad dependencies on there.

Christian

Reply all
Reply to author
Forward
0 new messages