def deploy_compute_worker(label): ''' Deploy/update compute workers. For monitoring make sure the azure instance has the port 8000 forwarded :param label: Either test or prod ''' env.deploy_codalab_dir = 'codalab-competitions' # Create .codalabconfig within home directory env.label = label cfg = DeploymentConfig( env.label, env.cfg_path if hasattr(env, 'cfg_path') else '.codalabconfig') dep = Deployment(cfg) buf = StringIO() buf.write(dep.get_compute_workers_file_content()) settings_file = os.path.join('~', '.codalabconfig') put(buf, settings_file) env.git_codalab_tag = cfg.getGitTag() env.logs_password = cfg.get_compute_worker_logs_password() # Initial setup with cd(env.deploy_codalab_dir): run('git checkout %s' % env.git_codalab_tag) run('git pull') run('source /home/azureuser/codalab-competitions/venv/bin/activate && pip install -r /home/azureuser/codalab-competitions/codalab/requirements/dev_azure.txt' ) # run('./dev_setup.sh') # run("source /home/azureuser/codalab-competitions/venv/bin/activate && pip install bottle==0.12.8") current_directory = os.path.dirname(os.path.realpath(__file__)) put(local_path='{}/configs/upstart/codalab-compute-worker.conf'.format( current_directory), remote_path='/etc/init/codalab-compute-worker.conf', use_sudo=True) put(local_path='{}/configs/upstart/codalab-monitor.conf'.format( current_directory), remote_path='/etc/init/codalab-monitor.conf', use_sudo=True) # run("echo %s > /home/azureuser/codalab-competitions/codalab/codalabtools/compute/password.txt" % env.logs_password) with settings(warn_only=True): sudo("stop codalab-compute-worker") sudo("stop codalab-monitor") sudo("start codalab-compute-worker") sudo("start codalab-monitor")
def deploy_compute_worker(label): ''' Deploy/update compute workers. For monitoring make sure the azure instance has the port 8000 forwarded :param label: Either test or prod ''' env.deploy_codalab_dir = 'codalab-competitions' # Create .codalabconfig within home directory env.label = label cfg = DeploymentConfig(env.label, env.cfg_path if hasattr(env, 'cfg_path') else '.codalabconfig') dep = Deployment(cfg) buf = StringIO() buf.write(dep.get_compute_workers_file_content()) settings_file = os.path.join('~', '.codalabconfig') put(buf, settings_file) env.git_codalab_tag = cfg.getGitTag() env.logs_password = cfg.get_compute_worker_logs_password() # Initial setup with cd(env.deploy_codalab_dir): run('git checkout %s' % env.git_codalab_tag) run('git pull') run('source /home/azureuser/codalab-competitions/venv/bin/activate && pip install -r /home/azureuser/codalab-competitions/codalab/requirements/dev_azure.txt') # run('./dev_setup.sh') # run("source /home/azureuser/codalab-competitions/venv/bin/activate && pip install bottle==0.12.8") current_directory = os.path.dirname(os.path.realpath(__file__)) put( local_path='{}/configs/upstart/codalab-compute-worker.conf'.format(current_directory), remote_path='/etc/init/codalab-compute-worker.conf', use_sudo=True ) put( local_path='{}/configs/upstart/codalab-monitor.conf'.format(current_directory), remote_path='/etc/init/codalab-monitor.conf', use_sudo=True ) # run("echo %s > /home/azureuser/codalab-competitions/codalab/codalabtools/compute/password.txt" % env.logs_password) with settings(warn_only=True): sudo("stop codalab-compute-worker") sudo("stop codalab-monitor") sudo("start codalab-compute-worker") sudo("start codalab-monitor")
def deploy_compute_worker(label): ''' Deploy/update compute workers. For monitoring make sure the azure instance has the port 8000 forwarded :param label: Either test or prod ''' env.deploy_codalab_dir = 'codalab-competitions' # Create .codalabconfig within home directory env.label = label cfg = DeploymentConfig( env.label, env.cfg_path if hasattr(env, 'cfg_path') else '.codalabconfig') dep = Deployment(cfg) buf = StringIO() buf.write(dep.get_compute_workers_file_content()) settings_file = os.path.join('~', '.codalabconfig') put(buf, settings_file) env.git_codalab_tag = cfg.getGitTag() env.logs_password = cfg.get_compute_worker_logs_password() # Initial setup with cd(env.deploy_codalab_dir): run('git checkout %s' % env.git_codalab_tag) run('git pull') # make sure we remove old version, added 2/20/17 can remove a while after that run('source /home/azureuser/codalab-competitions/venv/bin/activate && pip uninstall django-storages && pip uninstall django-storages-redux', warn_only=True) run('source /home/azureuser/codalab-competitions/venv/bin/activate && pip install --upgrade pip && pip install -r /home/azureuser/codalab-competitions/codalab/requirements/dev_azure.txt' ) # run('./dev_setup.sh') # run("source /home/azureuser/codalab-competitions/venv/bin/activate && pip install bottle==0.12.8") current_directory = os.path.dirname(os.path.realpath(__file__)) # Adding compute worker upstart config broker_url = cfg.get_broker_url() compute_worker_conf_template = open( '{}/configs/upstart/codalab-compute-worker.conf'.format( current_directory)).read() compute_worker_conf = compute_worker_conf_template.format( broker_url=broker_url) compute_worker_conf_buf = StringIO() compute_worker_conf_buf.write(compute_worker_conf) put( local_path= compute_worker_conf_buf, # Path can be a file-like object, in this case our processed template remote_path='/etc/init/codalab-compute-worker.conf', use_sudo=True) # Adding codalab monitor upstart config ### No longer needed! # put( # local_path='{}/configs/upstart/codalab-monitor.conf'.format(current_directory), # remote_path='/etc/init/codalab-monitor.conf', # use_sudo=True # ) # run("echo %s > /home/azureuser/codalab-competitions/codalab/codalabtools/compute/password.txt" % env.logs_password) with settings(warn_only=True): sudo("stop codalab-compute-worker") sudo("stop codalab-monitor" ) # just in case it's left from a previous install sudo("start codalab-compute-worker")