Beispiel #1
0
def test_job_factory_skip(mock_job_init):
    service_config = Mock()
    job_config = {'cloud': None}

    mock_job_init.return_value = None

    job_factory = BaseJobFactory(
        service_name='test',
        job_types={'gce': GCETestJob},
        can_skip=True
    )

    job = job_factory.create_job(job_config, service_config)
    assert isinstance(job, NoOpJob)
Beispiel #2
0
def main():
    """
    mash - publish service application entry point
    """
    try:
        logging.basicConfig()
        log = logging.getLogger('MashService')
        log.setLevel(logging.DEBUG)

        service_name = 'publish'

        # Create job factory
        job_factory = BaseJobFactory(service_name=service_name,
                                     job_types={
                                         'azure': AzurePublishJob,
                                         'ec2': EC2PublishJob,
                                         'gce': NoOpJob,
                                         'oci': NoOpJob,
                                         'aliyun': AliyunPublishJob
                                     })

        config = BaseConfig()

        # run service, enter main loop
        ListenerService(service_exchange=service_name,
                        config=config,
                        custom_args={
                            'job_factory':
                            job_factory,
                            'thread_pool_count':
                            config.get_publish_thread_pool_count()
                        })
    except MashException as e:
        # known exception
        log.error('{0}: {1}'.format(type(e).__name__, format(e)))
        traceback.print_exc()
        sys.exit(1)
    except KeyboardInterrupt:
        sys.exit(0)
    except SystemExit:
        # user exception, program aborted by user
        sys.exit(0)
    except Exception as e:
        # exception we did no expect, show python backtrace
        log.error('Unexpected error: {0}'.format(e))
        traceback.print_exc()
        sys.exit(1)
Beispiel #3
0
def main():
    """
    mash - replicate service application entry point
    """
    try:
        logging.basicConfig()
        log = logging.getLogger('MashService')
        log.setLevel(logging.INFO)

        service_name = 'replicate'

        # Create job factory
        job_factory = BaseJobFactory(
            service_name=service_name,
            job_types={
                'azure': NoOpJob,
                'ec2': EC2ReplicateJob,
                'gce': NoOpJob,
                'oci': NoOpJob,
                'aliyun': AliyunReplicateJob
            }
        )

        # run service, enter main loop
        ListenerService(
            service_exchange=service_name,
            config=BaseConfig(),
            custom_args={
                'job_factory': job_factory
            }
        )
    except MashException as e:
        # known exception
        log.error('%s: %s', type(e).__name__, format(e))
        traceback.print_exc()
        sys.exit(1)
    except KeyboardInterrupt:
        sys.exit(0)
    except SystemExit as e:
        # user exception, program aborted by user
        sys.exit(e)
    except Exception as e:
        # exception we did no expect, show python backtrace
        log.error('Unexpected error: {0}'.format(e))
        traceback.print_exc()
        sys.exit(1)
Beispiel #4
0
def main():
    """
    mash - raw image upload service application entry point
    """
    try:
        logging.basicConfig()
        log = logging.getLogger('MashService')
        log.setLevel(logging.DEBUG)

        service_name = 'raw_image_upload'

        # Create job factory
        job_factory = BaseJobFactory(
            service_name=service_name,
            job_types={
                'azure_sas': AzureSASUploadJob,
                's3bucket': S3BucketUploadJob
            },
            job_type_key='raw_image_upload_type',
            can_skip=True
        )

        # run service, enter main loop
        ListenerService(
            service_exchange=service_name,
            config=UploadConfig(),
            custom_args={
                'job_factory': job_factory
            }
        )
    except MashException as e:
        # known exception
        log.error('{0}: {1}'.format(type(e).__name__, format(e)))
        traceback.print_exc()
        sys.exit(1)
    except KeyboardInterrupt:
        sys.exit(0)
    except SystemExit:
        # user exception, program aborted by user
        sys.exit(0)
    except Exception as e:
        # exception we did no expect, show python backtrace
        log.error('Unexpected error: {0}'.format(e))
        traceback.print_exc()
        sys.exit(1)