Example #1
0
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
Example #2
0
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)
Example #4
0
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