{"id":27954440,"url":"https://github.com/ebu/throwbox","last_synced_at":"2025-05-07T17:29:33.621Z","repository":{"id":9608440,"uuid":"11532016","full_name":"ebu/ThrowBox","owner":"ebu","description":"A vm test runner and integration system, based on shell script","archived":false,"fork":false,"pushed_at":"2013-10-15T12:17:46.000Z","size":390,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-13T22:26:56.687Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ebu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-19T16:23:20.000Z","updated_at":"2018-01-31T12:22:36.000Z","dependencies_parsed_at":"2022-08-31T22:41:19.543Z","dependency_job_id":null,"html_url":"https://github.com/ebu/ThrowBox","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2FThrowBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2FThrowBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2FThrowBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebu%2FThrowBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebu","download_url":"https://codeload.github.com/ebu/ThrowBox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252926207,"owners_count":21826266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-07T17:29:32.829Z","updated_at":"2025-05-07T17:29:33.593Z","avatar_url":"https://github.com/ebu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"A distributed, virtualized, shell script runner. Has the side effect to be a test_runner.\nIt will spawn a vm, run shell script, return the result of the run, and destroy the vm, so \nyou have time to do something else in the meantime.\nIt can also use amazon or amazon compatible api to spawn the vm.\nThis software is in dev status.\n\n\nDependencies\n============\n* [python-vagrant](https://github.com/todddeluca/python-vagrant)\n    Used to start vm, querying the host and the port of the vm\n\n* [boto](https://github.com/boto/boto)\n    Used to start a ec2 instance and manage it.\n    \n* [celery](https://github.com/celery/celery)\n    Used to remotely start a job\n\n* [fabric](https://github.com/fabric/fabric)\n    Used to launch scripts on the vm\n\nInstall\n=======\nSetup on linux\n==============\nYou can install the whole script using setuptool. If you don't have it already, you can install it. It is available in you repository :\n\n    sudo apt-get install python-distribute\n\nor using pip.\n\n    pip install distribute\n\nThen you will need vagrant to be installed, it should be in your repository for example if you use debian:\n\n    sudo apt-get install vagrant\n\nIf it's not in your repository, you can use the windows url.\n\nSetup on windows\n================\nif you are using windows, you can install the lastest version using this url:\n\n    http://downloads.vagrantup.com/\n\nYou will also need virtualbox installed. You can find virtualbox at this url:\n\n    https://www.virtualbox.org/wiki/Downloads\n\nSetup the configuration\n=======================\nYou can now edit the config.py to the the values you may want to use.Those entries are document in the default config.py shipped with the software.\nYou will need a Vagrantfile. A default one is also shipped with the software in base_template/ubuntu-12.04, so you can simply change the config.py VAGRANT_TEMPLATE_DIR to this repository\n\nUsage\n=====\nLocal\n=====\nYou can use the tester locally by using the test_box api. You need first to setup the place \nwhere the vagrant configurations are stored. This key is hosted in the config.py directory.\n\nFonctionement\n========\n\nBasically the two way to call the script is either on the cli, or by starting the service\nif you start the tasks, it will start a celery worker sending the test job to the GenericBox install.\nSo we have the following project.\n\n    celery_client\n        |\n        |\n        |\n        | Rabbitmq broker\n        |\n        |\n        |\n        ˅\n    celery_server\n        |\n        |\n        |\n        | Python call\n        |\n        |\n        |\n        ˅\n    GenericBox\n        |\n        |\n        |\n        | Python call\n        |\n        |\n        |\n        ˅\n    Vagrant\n        |\n        |\n        |\n        | Shell call\n        |\n        |\n        |\n        ˅\n    VirtualBox\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febu%2Fthrowbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febu%2Fthrowbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febu%2Fthrowbox/lists"}