mozreview: upgrade to RB 2.5.2 (
Bug 1231159). r?gps
Due to changes in Review Board's static media packaging code we now run
with DEBUG=False. This is required for Review Board to gather the
static media from our extensions. We also switch to using supported
means for installing and loading static media which may be slower but
works and should continue to work with future versions.
--- a/ansible/roles/docker-rbweb/files/install-reviewboard
+++ b/ansible/roles/docker-rbweb/files/install-reviewboard
@@ -19,17 +19,17 @@ with open('%s/conf/settings_local.py' %
# isn't allowing us to set a string value to a None type. Derp.
log_directory_found = False
for line in lines:
if line.startswith(b'ALLOWED_HOSTS'):
line = b'ALLOWED_HOSTS = ["*"]\n'
elif line.startswith(b'PRODUCTION'):
line = b'PRODUCTION = False\n'
elif line.startswith(b'DEBUG ='):
- line = b'DEBUG = True\n'
+ line = b'DEBUG = False\n'
elif line.startswith(b'LOGGING_DIRECTORY'):
line = b'LOGGING_DIRECTORY = "%s/logs"\n' % ROOT
log_directory_found = True
fh.write(line)
if not log_directory_found:
fh.write('LOGGING_DIRECTORY = "%s/logs"\n' % ROOT)
@@ -38,18 +38,16 @@ from reviewboard.cmdline.rbsite import S
cc = subprocess.check_call
class FakeOptions(object):
copy_media = False
site = Site(ROOT, FakeOptions())
-site.rebuild_site_directory()
-
site.run_manage_command('syncdb', ['--noinput'])
site.setup_settings()
from reviewboard import initialize
initialize()
# We need to toggle disable/enable state to get first run code to run.
# We should *not* carry this pattern forward to production, because it may
@@ -65,18 +63,16 @@ site.run_manage_command('disable-extensi
site.run_manage_command('disable-extension',
['rbmotd.extension.MotdExtension'])
print('enabling extensions')
site.run_manage_command('enable-extension', ['mozreview.extension.MozReviewExtension'])
site.run_manage_command('enable-extension', ['rbbz.extension.BugzillaExtension'])
site.run_manage_command('enable-extension', ['rbmotd.extension.MotdExtension'])
-print('generating static assets')
-site.run_manage_command('collectstatic', ['--noinput'])
# Hook up Bugzilla authentication.
site.run_manage_command('set-siteconfig', ['--key=auth_backend',
'--value=bugzilla'])
site.run_manage_command('set-siteconfig', ['--key=logging_enabled',
'--value=1'])
--- a/ansible/roles/docker-rbweb/files/refresh
+++ b/ansible/roles/docker-rbweb/files/refresh
@@ -4,17 +4,15 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
set -e
/usr/bin/rsync -a --delete-after $1 /vct/
chown -R root:root /vct
/usr/bin/rsync -rlpt /vct/ /version-control-tools/
-cp /version-control-tools/ansible/roles/docker-rbweb/files/install-reviewboard /install-reviewboard
-chown reviewboard:reviewboard /install-reviewboard
-
-/install-reviewboard
+cd /version-control-tools/ansible && /usr/bin/python -u \
+ /usr/bin/ansible-playbook docker-rbweb.yml -c local -t docker-refresh
# Need to kill WSGI processes to ensure Python code is current.
/kill-wsgi-procs
echo 'refreshed rbweb container successfully'
--- a/ansible/roles/docker-rbweb/tasks/main.yml
+++ b/ansible/roles/docker-rbweb/tasks/main.yml
@@ -11,22 +11,45 @@
pip: virtualenv=/venv
name=psutil
version=2.2.1
- name: Synchronize version-control-tools
synchronize: src={{ vct }}/ dest=/version-control-tools/ recursive=yes delete=yes
- name: Install python libraries
- command: /venv/bin/python setup.py develop chdir=/version-control-tools/pylib/{{ item }}
+ command: /venv/bin/python setup.py install chdir=/version-control-tools/pylib/{{ item }}
with_items:
- mozautomation
- - mozreview
+
+- name: Build mozreview extension
+ command: /venv/bin/python setup.py bdist_egg chdir=/version-control-tools/pylib/mozreview
+ tags:
+ - docker-refresh
+
+- name: Install mozreview extension
+ shell: /venv/bin/easy_install -U dist/*.egg chdir=/version-control-tools/pylib/mozreview
+ tags:
+ - docker-refresh
+
+- name: Build other extension
+ command: /venv/bin/python setup.py bdist_egg chdir=/version-control-tools/pylib/{{ item }}
+ with_items:
- rbbz
- rbmotd
+ tags:
+ - docker-refresh
+
+- name: Install other extensions
+ shell: /venv/bin/easy_install -U dist/*.egg chdir=/version-control-tools/pylib/{{ item }}
+ with_items:
+ - rbbz
+ - rbmotd
+ tags:
+ - docker-refresh
- name: Remove default httpd configs
file: path={{ item }} state=absent
with_items:
- /etc/httpd/conf.d/welcome.conf
- /etc/httpd/conf.d/README
- name: Install httpd vhost config
@@ -35,16 +58,23 @@
- name: Install Review Board
command: /venv/bin/rb-site install --noinput --opt-out-support-data --domain-name=example.com --admin-user=admin+1 --admin-password=password --admin-email=admin@example.com --db-type=sqlite3 --db-name=/reviewboard/data/reviewboard.db --cache-type=memcached --cache-info=localhost:11211 --web-server-type=apache --python-loader=wsgi /reviewboard creates=/reviewboard
- name: Install Review Board installation script
copy: src=install-reviewboard dest=/install-reviewboard owner=reviewboard group=reviewboard mode=0755
- name: Configure Review Board
command: /install-reviewboard
+ tags:
+ - docker-refresh
+
+- name: Install extension media
+ command: /venv/bin/rb-site manage /reviewboard install-extension-media -- --force
+ tags:
+ - docker-refresh
- name: Install support scripts
copy: src={{ item }} dest=/{{ item }} owner=reviewboard group=reviewboard mode=0755
with_items:
- create-local-user
- dump-profile
- grant-permission
- kill-wsgi-procs
--- a/ansible/roles/mozreview-virtualenv/files/requirements.txt
+++ b/ansible/roles/mozreview-virtualenv/files/requirements.txt
@@ -1,37 +1,40 @@
--find-links http://downloads.reviewboard.org/releases/Django/1.6/
--find-links http://downloads.reviewboard.org/releases/django-evolution/0.7/
---find-links http://downloads.reviewboard.org/releases/Djblets/0.8/
+--find-links http://downloads.reviewboard.org/releases/Djblets/0.9/
--find-links http://downloads.reviewboard.org/releases/RBTools/0.6/
---find-links http://downloads.reviewboard.org/releases/ReviewBoard/2.0/
+--find-links http://downloads.reviewboard.org/releases/ReviewBoard/2.5/
# sha256: lNKmgifnmEvUD19xxoOXMGIq_4pGM_Ke3h_90NJAeV4
amqp==1.4.8
# sha256: N4Ethjya0-NcBzTELgvwMgzow77YLNIK1UyzTRWBV7o
anyjson==0.3.3
# sha256: 0Bl46ajFHqezTscfP87RMmQ3zTZrnC4ZJlrOBQkk4OI
argparse==1.3.0
# sha256: TCDbOsB6WpISkrIjFzQQitt5kjxtBmGWGVwPAsAxltM
Django==1.6.11.2
# sha256: ca3Sb2gsLnZSxD0Bq2rBscaT2Gn2YxQvX3w3sAeI0WI
django-pipeline==1.3.27
-# sha256: Nv3kS62iU_XEYsDkRT4Da80w0qK3JvdoxOiiJs8MwRM
-django-evolution==0.7.5
+# sha256: WChUkMgGmM9kL_3RXyheU4UDgJKJw8i3sLwUu9bt990
+django-evolution==0.7.6
# sha256: ow34iO4NoyxIN8Mo7PhZ6ZLtttGF76fUk0HMGUnbsk0
django-haystack==2.3.1
-# sha256: 3s51UxD-KLkPiZpQ7iSJ5CqotLhBGShfB6T8IW7FbEM
-Djblets==0.8.22
+# sha256: O36VAyPUd-QGYNc3v3l3fZEiw5YqVa9b1ggZ5ARy_Gw
+django-multiselectfield==0.1.3
+
+# sha256: mB1aH66OqVReFq96EIDemGr5lIxjdf-A_ez8m6Js4WM
+Djblets==0.9
# sha256: x9txeBCraWX2bIzwOYqYydjfmC2jm0zX8WKRHriVlvo
docutils==0.12
# sha256: QNACzzYNDgNc8suYXhMI1BqqCHy_wTWy3C2EQpbqVGw
ecdsa==0.13
# sha256: f2UH1ADQft_R6oIF2jaAgAmwxTn1uKbgq1Qze5VebcM
@@ -92,16 +95,16 @@ recaptcha-client==1.0.6
Whoosh==2.6.0
# sha256: 8s4emJsnLPy2d2FnY-Ci5-xlnv-meoiqkrOmVSj2Cjw
pycrypto==2.6.1
# sha256: SFxYdfcE05QYN1gC0971KqEk7KP85BG_dgBMsBBodzU
RBTools==0.6.1
-# sha256: X2xQ4h9WvqrQBtn1zW97NwLuDRDBnNhI0l114UqVmcE
-ReviewBoard==2.0.20
+# sha256: xEzBQPEqEq0pduwgBSqSc5LJ9UnX0Z-E5ioj9vSFjMw
+ReviewBoard==2.5.2
# sha256: EkiQ9BcjyFqoLf4IB0Mq6kbSSusNr840CWnSCJVIwsM
requests==2.4.3
# sha256: QYqTw5en7asj5ViNvAZ6x0pyPts9VBvUk295R252Rdo
six==1.9.0
--- a/pylib/mozreview/mozreview/static/mozreview/css/commits.less
+++ b/pylib/mozreview/mozreview/static/mozreview/css/commits.less
@@ -87,17 +87,17 @@
td,
th {
padding: 5px;
border-left: 1px solid #C1C1C1;
border-bottom: 1px solid #C1C1C1;
}
& > thead > tr {
- background: transparent url("/static/mozreview/header_bg.png") repeat-x scroll left bottom;
+ background: transparent url("../header_bg.png") repeat-x scroll left bottom;
}
& > tbody td > a.commit_sha {
font-family: monospace
}
/* This was copied from the rb dashboard less file.*/
.approval,
@@ -146,17 +146,17 @@
display: inline-block;
padding: 0 3px 0 1px;
text-align: center;
font-weight: bold
}
}
.shipit-count {
- background-image: url("/static/mozreview/shipit_bg.png");
+ background-image: url("../shipit_bg.png");
background-position: top left;
background-repeat: repeat-x;
background-color: #6bc810;
border: 1px #478a06 solid;
color: #205003;
}
}
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -1,28 +1,30 @@
--find-links https://downloads.reviewboard.org/releases/Django/1.6/
---find-links https://downloads.reviewboard.org/releases/Djblets/0.8/
+--find-links https://downloads.reviewboard.org/releases/Djblets/0.9/
--find-links https://downloads.reviewboard.org/releases/django-evolution/0.7/
--find-links https://downloads.reviewboard.org/releases/RBTools/0.6/
---find-links https://downloads.reviewboard.org/releases/ReviewBoard/2.0/
+--find-links https://downloads.reviewboard.org/releases/ReviewBoard/2.5/
alabaster==0.7.3
amqp==1.4.8
ansible==1.9.0.1
anyjson==0.3.3
Babel==1.3
backports.ssl-match-hostname==3.4.0.2
beautifulsoup4==4.3.2
blessings==1.6
cffi==1.3.1
coverage==3.7.1
cryptography==1.1.2
Django==1.6.11.2
-django-evolution==0.7.5
+django-evolution==0.7.6
django-haystack==2.3.1
+django-multiselectfield==0.1.3
django-pipeline==1.3.27
+Djblets==0.9
docker-py==1.6.0
docutils==0.12
ecdsa==0.13
enum34==1.1.1
flake8==2.4.1
feedparser==5.1.3
jsmin==2.1.1
futures==2.2.0
@@ -63,17 +65,17 @@ python-hglib==1.7
python-ldap==2.4.19
python-memcached==1.54
pytz==2015.7
PyYAML==3.11
RBTools==0.6.1
recaptcha-client==1.0.6
requests==2.7.0
responses==0.3.0
-ReviewBoard==2.0.20
+ReviewBoard==2.5.2
selenium==2.48.0
setuptools==18.8.1
six==1.10.0
snowballstemmer==1.2.0
Sphinx==1.3.3
sphinx-rtd-theme==0.1.9
websocket-client==0.34.0
Whoosh==2.6.0