1
0
mirror of https://github.com/linkedin/oncall.git synced 2025-12-01 23:51:36 +02:00
Go to file
Diego Cepeda af327b4e4a Py3 (#290)
* Py3 migration

* Update to Python 3 for CircleCI

* Fix auth bugs for python 3

Also fix notifier bug to check for active users

* Update notifier exception handling

Ignore role:target lookup failures from Iris, since these don't represent
problems with the underlying system, just that people have inactive users
on-call in the future.

* Add get_id param option (#246)

* add get_id param option

* removed superfluous select and simplified logic

* Flake8 typo (#247)

* Hide confusing team settings in an advanced dropdown

* Fix test fixtures

* Add "allow duplicate" scheduler in UI

Already in backend, so enable in FE too

* Add Dockerfile to run oncall in a container

* Move deps into a virtualenv.
Run app not as super user.
Mimick prod setup by using uwsgi

* Fix issue with Dockerfile not having MANIFEST.in and wrong passwords in (#257)

config

* Update to ubuntu:18.04 and python3 packages and executables

* Open config file as utf8

The default configuration file has utf8 characters, and python3
attempts to open the file as ASCII unless an alternate encoding
is specified

* Switch to the python3 uwsgi plugin

* Update print and os.execv statements for python3

Python3 throws an exception when the first argument to os.execv is empty:
ValueError: execv() arg 2 first element cannot be empty

The module documentation suggests that the first element should be the
name of the executed program:
https://docs.python.org/3.7/library/os.html#os.execv

* Map config.docker.yaml in to the container as a volume

./ops/entrypoint.py has the start of environment variable support
to specify a configuration file, but it is incomplete until we
update ./ops/daemons/uwsgi-docker.yaml or add environment support
to oncall-notifier and oncall-scheduler.

This commit allows users to map a specific configuration file in
to their container and have it used by all oncall programs.

* Convert line endings to match the rest of the project.

* Add mysql port to docker configuration

* Assume localhost mysql for default config.yaml

* Update python-dev package and MySQL root password

* Use password when configuring mysql

The project has started using a password on the mysql instance.
Once password auth is consistently working we can consider extracting
the hardcoded password into an env file that is optionally randomly
generated on initial startup.

* Fix preview for round-robin (#269)

* #275 fix for Python3 and Gunicorn load config

* Fixed E303 flake8

* Change encoding & collation + test  unicode name

Co-authored-by: Daniel Wang <dwang159@gmail.com>
Co-authored-by: ahm3djafri <42748963+ahm3djafri@users.noreply.github.com>
Co-authored-by: TK <tkahnoski+github@gmail.com>
Co-authored-by: Tim Freund <tim@freunds.net>
Co-authored-by: Rafał Zawadzki <bluszcz@bluszcz.net>
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2017-05-02 15:57:25 -07:00
2017-05-02 15:57:25 -07:00
2017-05-02 15:57:25 -07:00
2020-01-15 15:38:25 -08:00
2020-01-15 15:38:25 -08:00
2017-05-02 15:57:25 -07:00
2020-01-15 15:38:25 -08:00
2017-05-02 15:57:25 -07:00
2017-05-20 10:57:17 -07:00
2018-01-24 16:19:44 -08:00
2020-01-15 15:38:25 -08:00
2018-10-25 13:27:51 -07:00

Oncall Gitter chat Build Status

See admin docs for information on how to run and manage Oncall.

Development setup

Prerequisites

  • Debian/Ubuntu - sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev python-pip python-setuptools mysql-server mysql-client

Install

python setup.py develop
pip install -e '.[dev]'

Setup mysql schema:

mysql -u root -p < ./db/schema.v0.sql

Setup app config by editing configs/config.yaml.

Optionally, you can import dummy data for testing:

mysql -u root -p -o oncall < ./db/dummy_data.sql

Run

One of the following commands:

  • goreman start
  • procman start
  • make serve
  • oncall-dev ./configs/config.yaml

Test

make test

Check out https://github.com/linkedin/oncall/issues for a list of outstanding issues, and tackle any one that catches your interest. Contributions are expected to be tested thoroughly and submitted with unit/end-to-end tests; look in the e2e directory for our suite of end-to-end tests.

Description
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.
Readme BSD-2-Clause 7.3 MiB
Languages
Python 44.9%
JavaScript 39.9%
HTML 9.8%
CSS 5.1%
Shell 0.1%
Other 0.1%