def _install_jenkins(service_name, client=None, security=None, **kwargs): """Install Jenkins service. Args: service_name: Service Name or Marathon ID (same thing) client: Marathon client connection external_volume: Enable external volumes """ def _wait_for_deployment(app_id, client): with LOCK: res = len(client.get_deployments(app_id)) == 0 return res try: if security == DCOS_SECURITY.strict: kwargs['strict_settings'] = { 'secret_name': ACCOUNTS[service_name]["sa_secret"], 'mesos_principal': ACCOUNTS[service_name]["sa_name"], } kwargs['service_user'] = '******' log.info("Installing jenkins '{}'".format(service_name)) jenkins.install(service_name, client, role=SHARED_ROLE, fn=_wait_for_deployment, **kwargs) except Exception as e: log.warning("Error encountered while installing Jenkins: {}".format(e)) raise e
def test_install_custom_name(): svc_name = 'jenkins-custom' test_job_name = get_test_job_name() sdk_install.uninstall(config.PACKAGE_NAME, svc_name) try: jenkins.install(svc_name) jenkins.create_job(svc_name, test_job_name) job = jenkins.get_job(svc_name, test_job_name) assert test_job_name == job['name'] finally: sdk_install.uninstall(config.PACKAGE_NAME, svc_name)
def test_install_custom_name(): svc_name = 'jenkins-custom' test_job_name = get_test_job_name() sdk_install.uninstall(config.PACKAGE_NAME, svc_name) try: client = shakedown.marathon.create_client() jenkins.install(svc_name, client) jenkins.create_job(svc_name, test_job_name) job = jenkins.get_job(svc_name, test_job_name) assert test_job_name == job['name'] finally: sdk_install.uninstall(config.PACKAGE_NAME, svc_name)
def _install_jenkins(service_name, mom=None, external_volume=None): """Install Jenkins service. Args: service_name: Service Name or Marathon ID (same thing) mom: Marathon on Marathon instance name external_volume: Enable external volumes """ log.info("Installing jenkins '{}'".format(service_name)) try: jenkins.install(service_name, role=SHARED_ROLE, mom=mom, external_volume=external_volume) except Exception as e: log.warning("Error encountered while installing Jenkins: {}".format(e)) raise e