Exemplo n.º 1
0
def _add_default_user_and_tenant(amqp_manager, script_config):
    print 'Creating bootstrap admin, default tenant and security roles'
    create_default_user_tenant_and_roles(
        admin_username=script_config['admin_username'],
        admin_password=script_config['admin_password'],
        amqp_manager=amqp_manager,
        authorization_file_path=script_config['authorization_file_path'])
Exemplo n.º 2
0
def _add_default_user_and_tenant(amqp_manager, script_config):
    logger.info('Creating bootstrap admin, default tenant and security roles')
    storage_utils.create_default_user_tenant_and_roles(
        admin_username=script_config['admin_username'],
        admin_password=script_config['admin_password'],
        amqp_manager=amqp_manager
    )
def _add_default_user_and_tenant(config, amqp_manager):
    print 'Creating bootstrap admin, default tenant and security roles'
    create_default_user_tenant_and_roles(
        admin_username=config['admin_username'],
        admin_password=config['admin_password'],
        amqp_manager=amqp_manager
    )
Exemplo n.º 4
0
def _add_defaults(app, amqp_manager, script_config):
    """Add default tenant, admin user and provider context to the DB
    """
    # Add the default network to the provider context
    context = script_config['provider_context']
    networks = context['cloudify']['cloudify_agent']['networks']
    networks['default'] = script_config['ip']

    provider_context = models.ProviderContext(
        id=PROVIDER_CONTEXT_ID,
        name=PROVIDER_NAME,
        context=context
    )
    db.session.add(provider_context)

    default_tenant = create_default_user_tenant_and_roles(
        admin_username=script_config['username'],
        admin_password=script_config['password'],
        amqp_manager=amqp_manager,
        authorization_file_path=script_config['config']['authorization']
    )
    for scope, configs in script_config['manager_config'].items():
        for name, value in configs.items():
            item = (
                db.session.query(models.Config)
                .filter_by(scope=scope, name=name).one()
            )
            item.value = value
            db.session.add(item)
    db.session.commit()
    app.config[CURRENT_TENANT_CONFIG] = default_tenant
    return default_tenant
def _create_db_and_defaults(config):
    print 'Setting up a Flask app'
    setup_flask_app(
        manager_ip=config['postgresql_host'],
        hash_salt=config['hash_salt'],
        secret_key=config['secret_key']
    )

    print 'Creating tables in the DB'
    db.create_all()

    print 'Creating bootstrap admin, default tenant and security roles'
    create_default_user_tenant_and_roles(
        admin_username=config['admin_username'],
        admin_password=config['admin_password'],
    )
Exemplo n.º 6
0
 def _handle_default_db_config(self, server):
     server.db.create_all()
     admin_user = get_admin_user()
     default_tenant = create_default_user_tenant_and_roles(
         admin_username=admin_user['username'],
         admin_password=admin_user['password'],
     )
     server.app.config[constants.CURRENT_TENANT_CONFIG] = default_tenant
Exemplo n.º 7
0
    def _handle_default_db_config(server):
        server.db.create_all()
        admin_user = get_admin_user()

        # We're mocking the AMQPManager, as we aren't really using Rabbit here
        default_tenant = create_default_user_tenant_and_roles(
            admin_username=admin_user['username'],
            admin_password=admin_user['password'],
            amqp_manager=MagicMock())
        server.app.config[constants.CURRENT_TENANT_CONFIG] = default_tenant
Exemplo n.º 8
0
    def _handle_default_db_config():
        Migrate(app=server.app, db=server.db)
        try:
            upgrade(directory=MIGRATION_DIR)
        except sqlalchemy.exc.OperationalError:
            logger = logging.getLogger()
            logger.error("Could not connect to the database - is a "
                         "postgresql server running on localhost?")
            logger.error("HINT: Create a docker container running postgresql "
                         "by doing `docker run --name cloudify-db-unit-test "
                         "-e POSTGRES_PASSWORD=cloudify -e POSTGRES_USER="******"cloudify -e POSTGRES_DB=cloudify_db -p 5432:5432 "
                         "-d postgres`")
            raise
        admin_user = get_admin_user()

        fd, temp_auth_file = tempfile.mkstemp()
        os.close(fd)
        with open(temp_auth_file, 'w') as f:
            yaml.dump(auth_dict, f)

        try:
            # We're mocking the AMQPManager, we aren't really using Rabbit here
            default_tenant = create_default_user_tenant_and_roles(
                admin_username=admin_user['username'],
                admin_password=admin_user['password'],
                amqp_manager=MagicMock(),
                authorization_file_path=temp_auth_file
            )
            default_tenant.rabbitmq_username = \
                'rabbitmq_username_default_tenant'
            default_tenant.rabbitmq_vhost = \
                'rabbitmq_vhost_defualt_tenant'
            default_tenant.rabbitmq_password = \
                'gAAAAABb9p7U_Lnlmg7vyijjoxovyg215ThYi-VCTCzVYa1p-vpzi31WGko' \
                'KD_hK1mQyKgjRss_Nz-3m-cgHpZChnVT4bxZIjnOnL6sF8RtozvlRoGHtnF' \
                'G6jxqQDeEf5Heos0ia4Q5H  '

            for reporter in get_status_reporters():
                create_status_reporter_user_and_assign_role(
                    reporter['username'],
                    reporter['password'],
                    reporter['role'],
                    reporter['id']
                )
            if premium_enabled:
                # License is required only when working with Cloudify Premium
                upload_mock_cloudify_license(get_storage_manager())

        finally:
            os.remove(temp_auth_file)

        utils.set_current_tenant(default_tenant)
Exemplo n.º 9
0
def _add_defaults(app):
    """Add default tenant, admin user and provider context to the DB
    """
    provider_context = models.ProviderContext(id=PROVIDER_CONTEXT_ID,
                                              name=PROVIDER_NAME,
                                              context=PROVIDER_CONTEXT)
    db.session.add(provider_context)

    default_tenant = create_default_user_tenant_and_roles(
        admin_username=utils.get_manager_username(),
        admin_password=utils.get_manager_password(),
    )
    app.config[CURRENT_TENANT_CONFIG] = default_tenant
Exemplo n.º 10
0
def _add_defaults(app, amqp_manager, script_config):
    """Add default tenant and admin user to the DB"""
    default_tenant = create_default_user_tenant_and_roles(
        admin_username='******',
        admin_password=None,
        password_hash=script_config['password_hash'],
        amqp_manager=amqp_manager)
    for scope, configs in script_config['manager_config'].items():
        for name, value in configs.items():
            item = (db.session.query(models.Config).filter_by(scope=scope,
                                                              name=name).one())
            item.value = value
            db.session.add(item)
    db.session.commit()
    app.config[CURRENT_TENANT_CONFIG] = default_tenant
    return default_tenant
Exemplo n.º 11
0
    def _handle_default_db_config():
        Migrate(app=server.app, db=server.db)
        try:
            upgrade(directory=MIGRATION_DIR)
        except sqlalchemy.exc.OperationalError:
            logger = logging.getLogger()
            logger.error("Could not connect to the database - is a "
                         "postgresql server running on localhost?")
            logger.error("HINT: Create a docker container running postgresql "
                         "by doing `docker run --name cloudify-db-unit-test "
                         "-e POSTGRES_PASSWORD=cloudify -e POSTGRES_USER="******"cloudify -e POSTGRES_DB=cloudify_db -p 5432:5432 "
                         "-d postgres`")
            raise
        admin_user = get_admin_user()

        fd, temp_auth_file = tempfile.mkstemp()
        os.close(fd)
        with open(temp_auth_file, 'w') as f:
            yaml.dump(auth_dict, f)

        try:
            # We're mocking the AMQPManager, we aren't really using Rabbit here
            default_tenant = create_default_user_tenant_and_roles(
                admin_username=admin_user['username'],
                admin_password=admin_user['password'],
                amqp_manager=MagicMock(),
                authorization_file_path=temp_auth_file
            )
            default_tenant.rabbitmq_password = \
                'gAAAAABb9p7U_Lnlmg7vyijjoxovyg215ThYi-VCTCzVYa1p-vpzi31WGko' \
                'KD_hK1mQyKgjRss_Nz-3m-cgHpZChnVT4bxZIjnOnL6sF8RtozvlRoGHtnF' \
                'G6jxqQDeEf5Heos0ia4Q5H  '

            if premium_enabled:
                # License is required only when working with Cloudify Premium
                upload_mock_cloudify_license(get_storage_manager())

        finally:
            os.remove(temp_auth_file)

        utils.set_current_tenant(default_tenant)
Exemplo n.º 12
0
    def _handle_default_db_config(server):
        server.db.create_all()
        admin_user = get_admin_user()

        fd, temp_auth_file = tempfile.mkstemp()
        os.close(fd)
        with open(temp_auth_file, 'w') as f:
            yaml.dump(auth_dict, f)

        try:
            # We're mocking the AMQPManager, we aren't really using Rabbit here
            default_tenant = create_default_user_tenant_and_roles(
                admin_username=admin_user['username'],
                admin_password=admin_user['password'],
                amqp_manager=MagicMock(),
                authorization_file_path=temp_auth_file)
        finally:
            os.remove(temp_auth_file)

        utils.set_current_tenant(default_tenant)
Exemplo n.º 13
0
def _add_defaults(app, amqp_manager, script_config):
    """Add default tenant, admin user and provider context to the DB
    """
    # Add the default network to the provider context
    context = script_config['provider_context']
    networks = context['cloudify']['cloudify_agent']['networks']
    networks['default'] = script_config['ip']

    provider_context = models.ProviderContext(id=PROVIDER_CONTEXT_ID,
                                              name=PROVIDER_NAME,
                                              context=context)
    db.session.add(provider_context)

    default_tenant = create_default_user_tenant_and_roles(
        admin_username=script_config['username'],
        admin_password=script_config['password'],
        amqp_manager=amqp_manager,
        authorization_file_path=script_config['config']['authorization'])

    app.config[CURRENT_TENANT_CONFIG] = default_tenant
    return default_tenant
def _add_defaults(app, amqp_manager, script_config):
    """Add default tenant, admin user and provider context to the DB
    """
    # Add the default network to the provider context
    context = script_config['provider_context']
    networks = context['cloudify']['cloudify_agent']['networks']
    networks['default'] = script_config['ip']

    provider_context = models.ProviderContext(
        id=PROVIDER_CONTEXT_ID,
        name=PROVIDER_NAME,
        context=context
    )
    db.session.add(provider_context)

    default_tenant = create_default_user_tenant_and_roles(
        admin_username=script_config['username'],
        admin_password=script_config['password'],
        amqp_manager=amqp_manager,
        authorization_file_path=script_config['config']['authorization']
    )

    app.config[CURRENT_TENANT_CONFIG] = default_tenant
    return default_tenant
Exemplo n.º 15
0
    def _handle_default_db_config():
        try:
            server.db.create_all()
        except sqlalchemy.exc.OperationalError:
            logger = logging.getLogger()
            logger.error("Could not connect to the database - is a "
                         "postgresql server running on localhost?")
            logger.error("HINT: Create a docker container running postgresql "
                         "by doing `docker run --name cloudify-db-unit-test "
                         "-e POSTGRES_PASSWORD=cloudify -e POSTGRES_USER="******"cloudify -e POSTGRES_DB=cloudify_db -p 5432:5432 "
                         "-d postgres`")
            raise
        admin_user = get_admin_user()

        fd, temp_auth_file = tempfile.mkstemp()
        os.close(fd)
        with open(temp_auth_file, 'w') as f:
            yaml.dump(auth_dict, f)

        try:
            # We're mocking the AMQPManager, we aren't really using Rabbit here
            default_tenant = create_default_user_tenant_and_roles(
                admin_username=admin_user['username'],
                admin_password=admin_user['password'],
                amqp_manager=MagicMock(),
                authorization_file_path=temp_auth_file
            )
            default_tenant.rabbitmq_password = \
                'gAAAAABb9p7U_Lnlmg7vyijjoxovyg215ThYi-VCTCzVYa1p-vpzi31WGko' \
                'KD_hK1mQyKgjRss_Nz-3m-cgHpZChnVT4bxZIjnOnL6sF8RtozvlRoGHtnF' \
                'G6jxqQDeEf5Heos0ia4Q5H  '
        finally:
            os.remove(temp_auth_file)

        utils.set_current_tenant(default_tenant)
def _add_default_user_and_tenant(config, amqp_manager):
    print 'Creating bootstrap admin, default tenant and security roles'
    create_default_user_tenant_and_roles(
        admin_username=config['admin_username'],
        admin_password=config['admin_password'],
        amqp_manager=amqp_manager)