Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cs filter #74

Merged
merged 4 commits into from
Nov 12, 2015
Merged

Cs filter #74

merged 4 commits into from
Nov 12, 2015

Conversation

cseed
Copy link
Collaborator

@cseed cseed commented Nov 12, 2015

No description provided.

cseed added a commit that referenced this pull request Nov 12, 2015
@cseed cseed merged commit f5e9396 into master Nov 12, 2015
@cseed cseed deleted the cs_filter branch November 12, 2015 20:33
danking added a commit to danking/hail that referenced this pull request Sep 24, 2018
* stop using git sha

* also deploy
danking added a commit that referenced this pull request Sep 24, 2018
* initial commit

* approved check seems to work

* add environment

* readme with helpful tips

* more developer info

* better error message when oauth-token is missing

* more dev hints

* abstract over repo

* add git ignore

* make amenable to packaging

* add design doc

* bunch of changes

* fixes

* note about secret

* add test

* document envs

* update design doc

* a bunch of fixes

* notes about service account iam

* update hashes to facilitate a test

* pull batch server url into a const

* fake pr build script

* setup for secrets

* fix pr-build-script

* document new batch volumes

* some halfway working setup

* wip

* refactor to state manipulate + heal model

* a variety of bugs and a couple todos

* i think this actually sets the metadata?

* bunch of fixes, introduce polling thread

* locks and fix github state check

* no threading, restore popped status

* done?

* real build script

* fix message about all prs being tested or running

* first attempt at dockerfile

* env variables, move secrets, fix invalidated prs logic

* get docker file working mostly

* fix pr-build-script

* two little fixes

* update dockerignore

* expose port 5000

* expose to the world

* be resilient to bad or out of date job ids

* reduce cpu request

* first pass on deployment

* add info about external ips

* fix pycache ignore

* fix test report url

* refresh from batch, catch cancel fails, slow down refresh interval

* logging

* fix dockerignore

* give user ownership of current directory as well

* a little clean up and better logic for refreshing batch state

* fix bad variable reference in job cancellation during github state refresh

* do not blow away review state on push

* note which target we are talking about when all prs are tested or running

* be resilient to jobs not existing

* more logging in test_pr

* convert to a format string

* start publishing bundles

* Revert "start publishing bundles"

This reverts commit 63b2036.

* watched repos is customizable

* fixes

* shit in an attempt to use docker but ugh

* note firewalls rules thing

* fix url to repo RE also ignore unwatched repos

* a few fixes

* ignore pycache

* add makefile

* ignore more stuff

* new tests

* fix bad variable reference

* note buildable repos

* work to generalize from just the hail repo

* fix buildable repos

* better debugging into when test fails

* fix tests

* fix build script, TARGET_BRANCH might be ambiguous

* be robust to missing artifacts

* properly log exception

* use copy, drop job_id when cancelled job

* quietly throw away orphan heads

* tag images with git sha

* cancel jobs on push, fix copy, and give merge a message

* fix build script oop

* add test with master change

* add test for approved prs

* add dependency on pytest

* clear job id when setting state to pending

* fix deployment.yaml env var

* need to re-fetch origin as well

* better assertion failure messages for dict subset

* add description of github-tokens directory

* ignore temporary git directory created by tests

* ignore the testing oauth tokens

* ignore gcloud token as well

* sort .gitignore

* also ignore .cache and .pytest_cache

* many improvements and fixes to tests

* god, SHUT up!

* fix new token system

* fixes and add failing test for mergedness

* clean up get/post logic

* lots of fixes

* self. on every field

* add more sophisticated matching

* merged_and_old wrong identation

* fix a couple bugs in new match stuff

* fix match again

* add json_response to *_repo

* add json_response

* ad dlog, fix gc syntax errors

* work towards fixing push test since branch is protected now

* more info on testing

* better error messages and fix bug

* bunch of fixes

* add fixme

* fixes

* fix

* mor elogging around github state refresh

* a couple fixes to the tests

* more logging, less logging, use VERSION_FOR_TYPE

VERSION_FOR_TYPE is used to version the pod type attribute so other
CI instances dont stomp on my pods

* add gc field to Status.to_json

* clean up PRs for targets with no PRs in GH

* better logging, fix dead targets logic

* fix confusing double definition

* fix syntax

* rely on finally so we dont have so many errors

* fix make file for docker tag

* add auto merge flag and dont blow away merged statuses after push

* remove nesting level in artifacts copy

* fix misspelled variable name

* try to hide git output from log

* actually sleep inbetween polls

* warn is deprecated

* remove VERSION_FOR_TYPE

* update deployment for latest CI image

* stop spamming the log with job logs

* update deployment

* do not hide git stdout and stderr

* configure username and email before merge

* update deployment

* be resilient to merge conflicts in the docker_image

* update deployment

* bugssss

* update deployment

* use merge instead of rebase to avoid issues

* update dployment

* fix deployment

I accidentally used an old commit hash

* also update docker_image on force_retest

* update deployment

* more status logging

* update deployment

* fix missing parens

* update deployment

* more logging and fix reading status in GH refresh

* update deployment

* also check for file not found error

* update deployment

* do not allow max statuses to break batch_state_refresh

* update deployment

* avoid failing when 422 is received

* update deployment

* kind of handle the too many statuses situation?

* update CONTEXT to avoid status limits

* update deployment

* add timeouts to all requests

* add assertion about attributes and target_url

* update deployment

* implement pagination

* update deployment

* do not log link headers, longer timeouts on self check

* update deployment.yaml

* be robust to changes in job attribute schema

* update deployment

* add hail-is/batch to watched repos (#25)

* add healthcheck

* add livenessprobe

* fix bug in forgetting of old PRs

* update deployment

* fix port

* build should fail if artifacts exist but are not copied (#32)

* Cleanup (#35)

* abstraciton!

* wip

wip

remove old ci

remove old tests

rename newci to ci

remove unused funciton

add heal

fixes

rename http

wip

take oldest PR, I think

i think no more caching

there are two different github urls

fixes

fixxxxxes

non global creds setting

fixes

fixes

two tiny fixes

bunch of fixes

run formatter

run formatter

formatting

fix PR.from_json

formatting, PEP8

formatting and fixes

fixes

lots of fixes

never return none

relax and strengthen assertions

fixes

thread json_response throug http_helper

get oauth tokens right

fix user

fix token

fixes

passes tests

naming

deploying

fixes

deploy script

more deploy things

add healthcheck

add liveness probe to deployment

sleep before checking for artifact

deployability is configurable

also fix pr build script in new branch

rename constants and real_constants

variety of cleanups to get test-locally.sh working again

bugs

fix bug: GitHubPR has no .target

* try to spam the log less

* aggressively use short_str in log statements

* trailing semi-colons visually distinguish the end

* unify logging a bit

* make jobs logging nicer

* fix parse error

* do not duplicate messages

* forgot to include json

* few more logging fixups

* a little more context for PR and GHPR

* fix bug: eagerly update build status

If the PR is found during review update before a pull_request push
request is received, we will wait until the next heal to build. Instead,
we should eagerly build now (the later pull_request webhook will not build
because the shas are up to date).
]

* dont deploy non deployable refs also default to SHA_LENGTH

* few more logging cleanups

* move tests to another folder

* update deployment

* also copy in pr-deploy-script (#36)

* update deployment.yaml (#37)

* fix ham finger (#38)

* update deployment (#39)

* Fix NoImage constructor (#40)

* update deployment

* fix NoImage constructor

* update deployment for real (#41)

* more logging around dead prs (#42)

* more logging around dead prs

* update deployment.yaml

* filter by target repo (#44)

* update deployment (#45)

* useful shell functions (#46)

* Fix JSON Parsing & Target SHA Refresh (#49)

* fix json parsing in force endpoints

* fix target sha updating too

* update deployment

* relax build transition assertion (#50)

* relax build transition assertion

* update deployment

* update deployment

* fix target sha update to hail-ci-build-image (#51)

* Fix build state again (#53)

* ands and ors

* update deployment

* enable deployment of master (#55)

* Deploy Index Missing (#57)

* fix dockerfile to include deploy-index

* update deployment

* fix type error (#58)

* d is already json

* update deployment

* Redeploy takes a SHA not a Ref (#60)

* redeploy takes a sha

* update deployment

* Fix PR Dismissal (#61)

* fix pr dismissal

* update deployment

* fix type error (#62)

* fix type error

* update deployment

* disable deployment on master (#63)

* deploy better (#64)

* deploy better

* also print latest_deployed in status

* update deployment

* fix bug (#66)

* deploy master

* sometimes attributes is missing

* update deployment

* Update deployment.yaml

* update deployment

* Configurable deploying (#67)

* add set_deployable and fix bug in deploy_build_finished

* fix

* update deployment

* Eagerly merge reviewed prs (#52)

* eagerly heal if review change makes pr mergeable

* update deployment

* heal each repo once (#68)

* repos might be duplicated, so use a set

* update deployment

* only log when there is something to forget

* deploy master (#65)

* delete jobs after refreshing so we can run new ones (#69)

* delete jobs after refreshing so we can run new ones

* update deployment

* fix refresh (#70)

* only delete if completed or cancelled

* update deployment

* mount docker sock in deploy job (#71)

* clean up deletion logic (#73)

* fix artifacts location and merge syntax (#72)

* add static ip (#75)

* add static ip

* global addresses apparently dont work

* stop using git sha (#74)

* stop using git sha

* also deploy

* ci cloudtools (#76)

* Generalize deploy and fixes (#77)

* fix deletion logic

* generalize deploy secrets

* add cloudtools

* update deployment

* print the ref name when describing prs to build next (#78)

* fix big error (#79)

* update deployment (#80)

* add bgen-changes non-deploy, set 0.1 to deploy (#81)

* more logging (#84)

* more logging

* update deployment

* deploy cloudtools (#82)

* deploy cloudtools

* Update deployment.yaml

* capitalization on Nealelab (#86)

* update deployment (#87)

* heal watched refs, not just those with active PRs (#85)

In particular, try to deploy any watched ref

* fix image (#88)

* Fix and add test for review condensation (#89)

In particular, we incorrectly let COMMENTED overwrite an APPROVE
simply because it was more recent.

* added gcr-push secret for hail-is/batch (#93)

* added gcr-push secret for hail-is/batch

* make batch deployable

* update deployment (#95)

update Dockerfile to handle new batch file structure

* Quiet down gsutil copies at the end of build logs (#98)

* add index (#100)

* add CORS (#99)

- fix the Makefile
 - add CORS package dependency
 - add CORS to all endpoints

The CI does not serve secret information so accessing it from
arbitrary domains is not a problem.

* Generate temporary repos to test against (#97)

* wip

* a little closer

* bugs & posix

* fixes

* setup endpoints

* give notice of setup-endpoints.sh`

* wait more than one minute

when there are no k8s nodes available it takes about 60 seconds to start one

* bad rebase, should have deleted this line

* pretty sure ssl is not supported in ci2

* stop using ci-test repo and use better temp dir

* hide token in test-locally

* be professional

* address a few comments

* hide TOKEN

* move to subdir (#105)

* move to subdir

* last few things moved
tpoterba pushed a commit to tpoterba/hail that referenced this pull request Feb 12, 2019
danking pushed a commit that referenced this pull request May 8, 2019
* update

* update

* update

* updatE

* Create README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* update

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* update

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* added default Spark configs to init_notebook.py

* updatE

* update

* update

* add time delay to allow Jupyter to start

* add time delay to allow Jupyter to start

* revert log change

* update

* updatE

* updated README

* set maxResultSize property to unlimited

* changed default worker to n1-standard-8

* merged init_default.py functionality into init_notebook.py

* merged init_default.py functionality into init_notebook.py

* updated README

* updated README

* updated README

* updated README

* updated README

* updated README

* updated README

* updated README

* updated README

* updated README

* updated README

* fixed order of code in init script

* fixed ports argument in start-up script

* moved waiting for Jupyter code to init script

* updated alias code block

* fixed init script filename

* Google Chrome check needs to be fixed

* added gitignore

* highmem worker by default with --vep.

* added --hash option to start_cluster.py to reference older Hail builds

* Merge pull request #5 from Nealelab/dev

added --hash option to start_cluster.py to reference older Hail builds

* decoupled default conf in Jupyter notebook Spark from /etc/spark/conf/spark-defaults.conf

* typo in submit_cluster

* modified init_notebook script

* Update stop_cluster.py

* Now passes extra properties to gcloud

* added ability to specifiy custom Hail jar and zip for Jupyter notebook on startup

* Some tightening of options

* Moving into main

* Removed duplicate keyword argument

* remove duplicate argument

* Added diagnose_cluster.py

Compiles log files for a cluster to a local directory or a google bucket

```
python diagnose_cluster.py -n my-cluster -d my-cluster-diagnose/
python diagnose_cluster.py -n my-cluster -d gs://my-bucket/my-cluster-diagnose/
```

```
usage: diagnose_cluster.py [-h] --name NAME --dest DEST [--hail-log HAIL_LOG]
                           [--overwrite] [--no-diagnose] [--compress]
                           [--workers [WORKERS [WORKERS ...]]] [--take TAKE]

optional arguments:
  -h, --help            show this help message and exit
  --name NAME, -n NAME  Cluster name
  --dest DEST, -d DEST  Directory for diagnose output -- must be local
  --hail-log HAIL_LOG, -l HAIL_LOG
                        Path for hail.log file
  --overwrite           Delete dest directory before adding new files
  --no-diagnose         Do not run gcloud dataproc clusters diagnose
  --compress, -z        GZIP all files
  --workers [WORKERS [WORKERS ...]]
                        Specific workers to get log files from
  --take TAKE           Only download logs from the first N workers
```

- Runs `gcloud dataproc clusters diagnose`
- Grabs following log files from master node

```
/var/log/hive/hive-*
/var/log/google-dataproc-agent.0.log
/var/log/dataproc-initialization-script-0.log
/var/log/hadoop-mapreduce/mapred-mapred-historyserver*
/var/log/hadoop-hdfs/*-m.*
/var/log/hadoop-yarn/yarn-yarn-resourcemanager-*-m.*
/home/hail/hail.log # can be modified with command line argument
```

- Grabs following log files from workers

```
/var/log/hadoop-hdfs/hadoop-hdfs-datanode-*.*
/var/log/dataproc-startup-script.log
/var/log/hadoop-yarn/yarn-yarn-nodemanager-*.*
/var/log/hadoop-yarn/userlogs/*
```

Output directory has following structure:

```
diagnostic.tar
master/my-cluster-m/...
workers/my-cluster-w-*/...
hadoop-yarn/userlogs/application*/container*
```

* sec worker fix

* Break apart ssh options.

Saw failures with some version of gcloud/ssh.

* Exposed --metadata and fixed problem with creating directory

* Recapitulating subprocess fixes of PR #11

* Fix typo in README

* Added executable

* Updates to support multiple Hail versions and new deployment locations.

 - init_notebook is now versioned for compatibility. This commit uses
   version 2, which I've uploaded to gs://hail-common/init_notebook-2.py.
 - Hail now deploys both 0.1 and devel versions, so I added an argument to
   allow either to be used. The stable version should of course be used by
   default.
 - The init arg is now empty by default, because the init_notebook script
   should always be run (and requires the compatibility version to decide
   the correct path). It is still possible to use additional init actions.

* small fix in init_notebook; updated submit script to reflect new Hail deployment

* packaged commands under umbrella 'cluster' module

* updated diagnose

* updated readme; added --quiet flag to stop command

* updated readme with optional arguments

* Update LICENSE.txt

* make notebook default for cluster connect

* Overhaul CLI using argparse subparsers; interface change

 - More informative help messages
 - Added default args to --help output
 - Interface change: module comes before name

* Fixed HAIL_VERSION metadata variable.

* updated setup.py to reflect v1.1

* changed some instances of check_call to call to avoid redundant errors

* Remove zsh artifacts from README

* added --args option to submit script to allow passing arguments to submitted Hail scripts

* incremented to v1.1.2

* Update README.md

* Remove sleep

* removed Anaconda from notebook init; added --pkgs option to cluster start

* Fix deployment issues by bumping compatibility version

* fixed jar distribution issues

* forgot something

* Updating spark version to dataproc 1.2

* a few fixes for 2.2.0

* COMPAT version changes

* Made the os.mkdir statements safer and free from race conditions

* Fix cloudtools to work with Hail devel / 0.2 (#47)

* Update README.md (#48)

* Unify hail 0.1 and 0.2 again, fix submit (#49)

* Unify hail 0.1 and 0.2 again, fix submit

* Fixed submit help message

* Bump version

* Update init_notebook.py (#51)

* Add parsimonious (#52)

* Parameterize master memory fraction (#53)

* Parameterize master memory fraction

* Parameterize master memory fraction

* Parameterize master memory fraction

* add bokeh to imports (#54)

* Use specific version of decorator (#56)

* Update README.md (#57)

* add modify jar and zip (#59)

* * Fixed zip copying (#60)

* Added gs:// support

* rolling back google-cloud version (#62)

* moved up package installation in init script (#63)

* use beta for max-idle option (#61)

* use beta for max-idle option

* bug fix

* added Intel MKL to init script (#64)

* added Intel MKL to init script

* fix

* another fix

* Update default version to devel / spark 2.2.0; update README (#65)

* Update default version to devel / spark 2.2.0; update README

* fix

* Added initialization time-out option. (#71)

* add async option to stop (#73)

* check for errors in start, stop, submit, and list (#74)

* update version to 1.14 (#75)

* Syntax error (#76)

* fix syntax error

* bump versino

* add a bucket parameter (#78)

* add a bucket parameter

* also document deployment

* use config files to set some default properties (#77)

* do... something

* set image based on spark version

* tweak to run using paths that deploy will spit out

* fix

* fix rebase

* Set up Continuous Integration (#80)

* wip hail ci

* fix formatting

* ignore emacs temp files

* add cluster sanity checks

* Update setup.py

* Update cluster-sanity-check-0.2.py

* Fix CI Build (#81)

* Update hail-ci-build.sh

* Update hail-ci-build.sh

* add more necessary things

* fix build image and update file

* fix build image maybe

* use python2

* fix image

* Update hail-ci-build.sh

* Update hail-ci-build.sh

* Continuous Deployment (#82)

* add deploy script

* document deployment secret creation

* fix readme

* fix if check

* ensure twine is in build image

* kick ci

* set required property? apparently?

* bump to 0.2 (#79)

* add make to image (#85)

* fix deploy (#86)

* copy some lessons from hail (#84)

copying some ideas from the discussion at #4241

* Update hail-ci-deploy.sh (#87)

* fix (#88)

* fix cloudtools published check (#89)

* add warning, versioned hash lookup (#90)

* fix deploy script version checking (#92)

* Test python 3.6 and fix python 3.7 incompatibility (#91)

* test python3

* also fix async is reserved word

* checked in bad build file

* unneeded var

* shush pip

* kick ci

* update build hash

* Ignore INT and TERM in shutdown_cluster

* parse init script list (#94)

* parse init script list

* Update __init__.py

* switched devel vep to use docker init (#96)

* bump version for vep init (#98)

* deploy python2 and python3 to pypi (#93)

* Update start.py (#99)

* Update start.py

* Update start.py

* Update __init__.py (#100)

* fix python3 deploy (#101)

* Fix pkgs logic (#102)

* Adding more options to modify (#67)

* Added options to modify clusters

* Update modify.py

* Add a max-idle 40m to test clusters (#103)

* Add a max-idle 40m to test clusters

* need gcloud beta components

* Pin dependency versions (#105)

* pin dependency versions

* update the version of cloudtools

* install all packages together to ensure dependencies are calculated together

* fail when subprocess fails

* fix conda invocation

* compatibility with python2

* Revert "fail when subprocess fails"

This reverts commit 25e7c0a524823d91894b538427f179611e79f271.

* blah

* wtf

* if was backwards

* restart tests

* Improve Error Messages when Subprocesses Fail (#111)

* add and use safe_call

* fail when subprocess fails

* use safe_call

* use safe_call extensively

* simplify and make correct safe_call

* fix splat

* fix

* foo

* update verison (#113)

* Added describe to get Hail file info/schema (#112)

* Added describe to get Hail file info/schema

* f -> format

* Update setup.py

* Update __init__.py (#115)

* Fix cloudtools (#116)

* fix

* bump version

* fix (#117)

* bump ver (#118)

* fixed describe ordering for python2 (#119)

* devel => 0.2 (#121)

* add latest (#120)

* added --max-age option. (#123)

* added --max-age option.

* bump version

* update to 3.0.0 (#122)

* update to 3.0.0

* bump

* bump

* s/devel/0.2

* Fix packages again (#124)

* Fix packages again

* fix

* Add 'modify' and 'list' command docs (#125)

* Update connect.py (#126)

* Rollout fix for chrome 72 (#130)

* Add python files or folders from environment variable; zip files together (#127)

* Add python files or folders from environment variable; zip files together

* bumping version

* files -> pyfiles

* missed one

* overloaded variable

* updating VEP init script (#129)

* updating VEP init script

* Update __init__.py

* files -> pyfiles once more (#131)

* fix for jupyter/tornado incompatibility (#133)

* Adding project flag (#134)

* Adding project flag

* Adding configuration option as well

* Adding support for GRCh38 VEP (#135)

* Adding support for GRCh38 VEP

* version bump

* Fixing VEP version for 38 (#136)

* Adding support for GRCh38 VEP

* version bump

* fix for 38 VEP version

* Update __init__.py

* Disable stackdriver on cloudtools clusters (#138)

* Update default spark version (#139)

* Update default spark version

* Clean up imports

* allowing pass-through args for submit (#140)

* allowing pass-through args for submit

* bump version

* moar version

* moved cloudtools to subdirectory project for inclusion in monorepo

* moved .gitignore

* bump

* bump
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant