Tim Abbott
4d02c6efef
scripts: Purge old deployments on every upgrade.
...
Fixes : #554 .
2016-08-04 17:02:48 -07:00
Tim Abbott
51f069aa18
scripts: Refactor deployment-finished logging.
2016-08-04 17:02:48 -07:00
Tim Abbott
c4d482e722
upgrade-zulip-stage-2: chdir to deploy_path explicitly.
...
This makes rerunning this manually if it fails much more convenient.
2016-08-02 14:31:07 -07:00
Tim Abbott
fef32af28c
update-deployment: Switch to using update-zulip-part-2.
2016-08-02 14:31:07 -07:00
Tim Abbott
972b42ee7b
upgrade-zulip-stage-2: Only stop services early when needed.
2016-08-02 14:31:07 -07:00
Tim Abbott
5886d3eeec
upgrade-zulip-stage-2: Add --skip-migrations option.
2016-08-02 14:31:07 -07:00
Tim Abbott
759144232f
upgrade-zulip-stage-2: Add --skip-puppet option.
2016-08-02 14:31:07 -07:00
Tim Abbott
8ce55b9789
upgrade-zulip-stage-2: Use argparse for options.
2016-08-02 14:31:07 -07:00
Tim Abbott
084d504c39
install: Remove unnecessary cd command at end.
2016-07-31 19:24:38 -07:00
Tim Abbott
63c757eac3
puppet: add zulipconf function for reading settings from zulip.conf.
...
This makes it convenient for us to have optional user-defined settings
in the main Zulip puppet configuration.
2016-07-30 21:23:12 -07:00
Tim Abbott
af54edcaa7
scripts: Move apt repository setup to its own script.
2016-07-30 21:00:18 -07:00
Tim Abbott
d07bcf060e
install: Cleanup code for PPA setup.
2016-07-30 21:00:01 -07:00
Eklavya Sharma
51ea5c1602
scripts/: Make subprocess calls unicode-aware.
2016-07-26 12:06:41 -07:00
Alexander Trost
6e10236972
Disable auto-service-restart for docker installations.
2016-07-25 16:40:29 -07:00
Eklavya Sharma
baa157344c
Patch activate script only in development.
2016-07-21 14:11:41 -07:00
Eklavya Sharma
e7813094d7
Patch activate script to set VIRTUAL_ENV correctly.
...
Patch a virtualenv's activate script to not resolve symlinks when
setting the environment variable VIRTUAL_ENV.
Fixes #1190 .
2016-07-21 14:11:41 -07:00
Tim Abbott
dd6e92a714
setup_venv: Fix missing dependencies on image libraries.
2016-07-20 14:55:45 -07:00
Eklavya Sharma
576a090499
Add libpq-dev to VENV_DEPENDENCIES.
2016-07-20 22:15:06 +05:30
Tim Abbott
35339f5117
Rename local_settings_template to prod_settings_template.
2016-07-19 20:59:59 -07:00
Tim Abbott
19b860ceec
Rename local_settings.py symlink to prod_settings.py.
2016-07-19 20:59:59 -07:00
Tim Abbott
9c9b6176a9
install: Fix feature detection/set -e incompatibility.
...
Previously, the whole script would stop when a feature wasn't
available.
2016-07-19 20:12:27 -07:00
Tim Abbott
8eaa75b90f
setup_venv: Remove unnecessary postgresql-server-dev-all dependency.
...
This package is a dependency for building tsearch_extras, but isn't
needed for building a Zulip virtualenv.
2016-07-19 19:19:42 -07:00
Umair Khan
9f42fda7f4
Use stripped down version of Talon.
2016-07-13 11:24:18 -07:00
Umair Khan
395e053ce3
Revert "Revert "Extract reply from email.""
...
This reverts commit f1ba3ded42
.
2016-07-13 11:24:18 -07:00
Tim Abbott
883e991adf
install: Improve support for non-default puppet rules.
...
Previously, the install script would fail if you passed various
non-default puppet rules, since the code to configure and restart
services that runs later on in the install script largely ran
unconditionally, regardless of whether the relevant service was
actually installed on the target system.
This should make the main install script reusable for installing
e.g. a dedicated Postgres server for use with Zulip.
2016-07-12 14:12:09 -07:00
Tim Abbott
80bf7e32a4
Add option to not create a virtualenv.
2016-07-12 14:12:05 -07:00
Eklavya Sharma
f1ba3ded42
Revert "Extract reply from email."
...
This reverts commit f1f48f305e
.
The use of sklearn unfortunately caused a substantial slowdown to the
Zulip provisioning process, which didn't seem worth it for a
relatively minor feature.
2016-07-10 11:30:30 -07:00
Umair Khan
f1f48f305e
Extract reply from email.
2016-07-08 10:58:25 -07:00
Eklavya Sharma
7e020e3dae
scripts/lib/setup_venv.py: Use universal_newlines=True.
...
In python 3, subprocess uses bytes for input and output if
universal_newlines=False (the default). It uses str for input and
output if universal_newlines=True.
Since we're dealing with strings here, add universal_newlines=True
to subprocess.check_output calls.
2016-07-06 13:50:55 -07:00
Eklavya Sharma
f1b72c5f41
Upgrade wheel before installing venv requirements.
...
This is required because an older wheel version causes problems
when building wheels on python 3.
2016-07-02 11:53:26 -07:00
Eklavya Sharma
0b714ea6c6
Use python2-specific requirements files.
2016-07-02 11:53:26 -07:00
Tim Abbott
f094123fd3
install: Add support for installing Xenial systems.
...
This isn't fully supported yet, but merging this makes it more
convenient to test Zulip on Ubuntu Xenial.
2016-06-28 23:05:38 -07:00
Tim Abbott
4aae4de294
Properly cache production virtualenvs in Travis CI.
...
Previously, the --travis argument wasn't available to the `setup_venv`
code when creating the production virtualenv.
2016-06-28 12:04:11 -07:00
Tim Abbott
7ed0ab8c4a
Ensure Zulip virtualenvs are world-readable.
...
This is important for both ensuring the Nagios checks work correctly
in production, as well as making sure the `zulip` user can access the
virtualenv (owned by the `travis` user) in Travis CI.
2016-06-28 12:03:01 -07:00
Tim Abbott
4a7913bc22
setup_venv: Use correct VENV_CACHE_PATH for production suite.
2016-06-27 21:16:22 -07:00
Eklavya Sharma
a9835c0ab2
Activate virtualenv in production Python code.
...
The manage.py change effectively switches the Zulip production server
to use the virtualenv, since all of our supervisord commands for the
various Python services go through manage.py.
Additionally, this migrates the production scripts and Nagios plugins
to use the virtualenv as well.
2016-06-27 19:55:35 -07:00
Eklavya Sharma
64affb83f9
Create a virtualenv when installing/upgrading production instances.
2016-06-27 19:55:11 -07:00
Tim Abbott
dfd8fede4a
setup_venv: Add missing build essential dependencies.
...
Apparently, c74a74dc74
introduced a bug
where we are no longer correctly depending on build-essential as part
of the Zulip development environment installation process.
Fixes #1111 .
2016-06-24 09:11:10 -07:00
Eklavya Sharma
9482cdccf4
scripts/lib/setup-venv.py: Accept None as target_venv_path.
...
If target_venv_path in setup_virtualenv is None, create a virtualenv
named 'venv' but don't make a symlink to it. Also return
cached_venv_path.
2016-06-23 14:17:17 -07:00
Eklavya Sharma
0365a4a9f2
Factor out apt dependencies for setting up virtualenv.
...
Move apt dependencies for creating a virtualenv from provision.py
to scripts/lib/setup_venv.py.
2016-06-23 14:17:17 -07:00
Tim Abbott
d3f3046629
Add python-six to early installer dependencies.
...
Since we're now using python-six in zulip-puppet-apply, we need to
install python-six before calling into zulip-puppet-apply.
2016-06-22 08:11:34 -07:00
Eklavya Sharma
121a5f26fb
Move hash_reqs.py from tools/ to scripts/lib/.
...
This is needed because hash_reqs.py is used to create a virtualenv.
Currently we only use virtualenv in development, but we will soon
start using it in production. Scripts used in production should be
put in scripts/.
2016-06-22 18:12:08 +05:30
Eklavya Sharma
fc8d4f9ef5
Factor out venv-creating code from provision.py.
...
Move setup_virtualenv and do_setup_virtualenv from provision.py to
scripts/lib/setup_venv.py.
2016-06-21 11:25:41 -07:00
Eklavya Sharma
149938d468
Change shebangs from python2.7 to python.
2016-05-29 05:03:08 -07:00
Tim Abbott
a315849a9e
Move bin/log-management-command to scripts/lib/.
...
We're in the process of eliminating the bin/ subdirectory in favor of
the scripts/ tree, and this one isn't user-facing.
2016-05-07 19:37:06 -07:00
Tim Abbott
52c1e8ac7d
Run a local camo server in voyager production environments.
...
Camo is a caching image proxy, used in Zulip to avoid mixed-content
warnings by proxying HTTP image content over HTTPS. We've been using
it in zulip.com production for years; this change makes it available
in standalone Zulip deployments.
2016-05-02 17:21:31 -07:00
Tim Abbott
dc772518e7
Don't chown supervisor socket if it doesn't exist.
2016-04-26 15:27:35 -07:00
Tim Abbott
6a3c775842
install: Ensure prod-static/serve is created.
2016-04-26 15:27:35 -07:00
Tim Abbott
bb25b6060e
install: Avoid unnecessarily storing apt key under /root.
2016-04-26 15:07:53 -07:00
Tim Abbott
e9416a9fb2
install: Add PUPPET_CLASSES variable.
2016-04-26 15:06:37 -07:00