UCSB-VRL/bisqueUCSB

TG Upgrade---TurboGears2==2.2.0

Closed this issue · 2 comments

TurboGears 2.2.0

As a first step in the upgrade process, we will shoot for incremental upgrades of TG2 and document any issues faced.

Current Version: TurboGears2==2.1.5
Upgrade Version: TurboGears2==2.2.0

Post Upgrade

Use this issue to document any issues you faced during the upgrade process. Log dumps can be thrown here as well. Try to use the code syntax for large blocks of code so we can easily read through it. Otherwise, go crazy.

  • What broke, if anything? Just a simple list will suffice.
  • Were there any files significantly changed or that requires significant attention?
  • Can we move forward to the next upgrade?
  • Any blockers now or that you foresee?

Attempt I

Upgrade Version: TurboGears2==2.2.0

I updated Turbogears --> 2.2 and held all other packages at the same version. I also modified bqcore/setup.py to reflect the updated TG2 version TurboGears2>=2.1.5, then built a new image. This was all done using the Python 2.7 version of BisQue to eliminate any issues related to the Python 3 upgrade. Everything built successfully, but now I think we need to update WebOB. Here are the attached logs.

amil@lambda-quad:~/module-dev-bisque$ docker run -it amilworks/bisque05-caffe-xenial:flour-tg2.2 
+ CMD=bootstrap
+ shift
+ INDEX=https://biodev.ece.ucsb.edu/py/bisque/xenial/+simple
+ CONFIG=./config/site.cfg
+ export PIP_INDEX_URL=https://biodev.ece.ucsb.edu/py/bisque/xenial/+simple
+ PIP_INDEX_URL=https://biodev.ece.ucsb.edu/py/bisque/xenial/+simple
++ pwd
+ reports=/source/reports/
+ BUILD=/builder/
+ BQHOME=/source/
+ VENV=/usr/lib/bisque
+ '[' '!' -d /source/reports/ ']'
++ pwd
+ echo 'In ' /source 'BISQUE in' /source/ 'Reports in' /source/reports/
In  /source BISQUE in /source/ Reports in /source/reports/
+ cd /source/
+ '[' bootstrap = build ']'
+ source /usr/lib/bisque/bin/activate
++ deactivate nondestructive
++ unset -f pydoc
++ '[' -z '' ']'
++ '[' -z '' ']'
++ '[' -n /bin/bash ']'
++ hash -r
++ '[' -z '' ']'
++ unset VIRTUAL_ENV
++ '[' '!' nondestructive = nondestructive ']'
++ VIRTUAL_ENV=/usr/lib/bisque
++ export VIRTUAL_ENV
++ _OLD_VIRTUAL_PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ PATH=/usr/lib/bisque/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ export PATH
++ '[' -z '' ']'
++ '[' -z '' ']'
++ _OLD_VIRTUAL_PS1=
++ '[' x '!=' x ']'
+++ basename /usr/lib/bisque
++ PS1='(bisque) '
++ export PS1
++ alias pydoc
++ '[' -n /bin/bash ']'
++ hash -r
+ '[' bootstrap = bootstrap ']'
+ echo BOOTSTRAPPING
BOOTSTRAPPING
+ umask 0002
+ ls -l
total 120
drwxrwxr-x  1 root root  4096 Oct 19 20:54 bqapi
drwxrwxr-x  1 root root  4096 Oct 19 20:54 bqcore
drwxrwxr-x  1 root root  4096 Oct 19 20:54 bqengine
drwxrwxr-x  1 root root  4096 Oct 19 20:55 bqfeature
drwxrwxr-x  1 root root  4096 Oct 19 20:55 bqserver
drwxrwxr-x  3 root root  4096 Sep 15 00:53 config-defaults
drwxrwxr-x 29 root root  4096 Sep 15 00:53 contrib
-rw-rw-r--  1 root root  3124 Sep 15 00:53 COPYRIGHT
-rw-rw-r--  1 root root  1957 Sep 15 00:53 LICENSE
drwxrwxr-x  3 root root  4096 Sep 15 00:53 migrations
drwxr-xr-x 43 root root  4096 Oct 19 20:55 modules
-rw-rw-r--  1 root root  9917 Sep 15 00:53 pavement.py
-rw-rw-r--  1 root root 43589 Sep 15 00:53 paver-minilib.zip
drwxrwxr-x  2 root root  4096 Sep 15 00:53 pytest-bisque
-rw-rw-r--  1 root root   187 Sep 15 00:53 pytest.ini
drwxr-xr-x  2 root root  4096 Oct 19 20:54 reports
-rw-rw-r--  1 root root  2686 Oct 19 20:50 requirements.txt
-rw-rw-r--  1 root root   225 Sep 15 00:53 setup.py
+ '[' -d /builder/boot-scripts.d ']'
+ ls -l /builder/boot-scripts.d
total 4
-rwxrwxr-x 1 root root 47 Sep 15 00:53 B10-fullconfig.sh
+ for f in '${BUILD}boot-scripts.d/B*.sh'
+ echo 'Executing **BOOT /builder/boot-scripts.d/B10-fullconfig.sh **'
Executing **BOOT /builder/boot-scripts.d/B10-fullconfig.sh **
+ '[' -f /builder/boot-scripts.d/B10-fullconfig.sh ']'
+ bash /builder/boot-scripts.d/B10-fullconfig.sh
+ bq-admin setup -y fullconfig
Traceback (most recent call last):
  File "/usr/lib/bisque/bin/bq-admin", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/bisque/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3036, in <module>
    @_call_aside
  File "/usr/lib/bisque/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3020, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/bisque/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3049, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/bisque/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 656, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/bisque/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 669, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/bisque/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (WebOb 1.0.8 (/usr/lib/bisque/lib/python2.7/site-packages), Requirement.parse('WebOb==1.1.1'), set(['TurboGears2']))
+ CMD=start
+ shift
+ '[' start = pylint ']'
+ '[' start = unit-tests ']'
+ '[' start = function-tests ']'
+ '[' start = start ']'
+ '[' '!' -f config/site.cfg ']'
+ echo 'Please run bootstrap first i.e. bootstrap start'
Please run bootstrap first i.e. bootstrap start
+ exit 1

Attempt 2

Upgraded Versions:

TurboGears2==2.2.0
WebOb==1.1.1

I updated Turbogears --> 2.2 and updated to the latest WebOb. That didn't work, so I went with what the requirement parser suggested, and that worked, unsurprisingly. I also modified bqcore/setup.py to reflect the updated TG2 version TurboGears2>=2.1.5 and WebOb==1.1.1, then built a new image. BisQue started up successfully, no issues.

Here is the tail of the logs.

-rwxrwxr-x 1 root root 78 Sep 15 00:53 R50-start-bisque.sh
+ for f in '${BUILD}start-scripts.d/R*.sh'
+ echo 'Executing ** START /builder/start-scripts.d/R50-start-bisque.sh **'
Executing ** START /builder/start-scripts.d/R50-start-bisque.sh **
+ '[' -f /builder/start-scripts.d/R50-start-bisque.sh ']'
+ bash /builder/start-scripts.d/R50-start-bisque.sh
starting h1
21:54:03,556 INFO  [bq.image_service.plugins] Available operation plugins: operations,roi,rearrange3d,brightnesscontrast,textureatlas,localpath,negative,threshold,meta,frames,resize3d,slice,cleancache,sampleframes,transform,tile,thumbnail,remap,format,histogram,dims,fuse,pixelcounter,intensityprojection,resize,rotate,depth,levels,formats,deinterlace,view
21:54:03,556 INFO  [bq.image_service.server] Setting OMP_NUM_THREADS = 4
21:54:03,556 INFO  [bq.usage] initialize /usage
21:54:03,563 INFO  [bq.table.plugins] Available import plugins: hdf,csv,excel
21:54:03,565 INFO  [bq.table.plugins] Available export plugins: xml,hdf,json,table,csv,extjs
21:54:03,566 INFO  [bq.table.plugins] Available operation plugins: filter,agg
21:54:03,566 INFO  [bq.table] Table service started...
21:54:03,566 INFO  [bq.features] initialize /features
21:54:03,566 INFO  [bq.config.middleware] Root-Controller: startup complete
serving on 0.0.0.0:8080 view at http://127.0.0.1:8080