def METHOD_NAME(self):
    dbovirtutils = database.OvirtUtils(
        plugin=self,
        dbenvkeys=oclcons.Const.CINDERLIB_DB_ENV_KEYS,
    )
    dbovirtutils.detectCommands()
    config = configfile.ConfigFile([
        oenginecons.FileLocations.OVIRT_ENGINE_SERVICE_CONFIG_DEFAULTS,
        oenginecons.FileLocations.OVIRT_ENGINE_SERVICE_CONFIG
    ])
    if config.get('CINDERLIB_DB_PASSWORD'):
        try:
            dbenv = {}
            for e, k in (
                (oclcons.CinderlibDBEnv.HOST, 'CINDERLIB_DB_HOST'),
                (oclcons.CinderlibDBEnv.PORT, 'CINDERLIB_DB_PORT'),
                (oclcons.CinderlibDBEnv.USER, 'CINDERLIB_DB_USER'),
                (oclcons.CinderlibDBEnv.PASSWORD,
                 'CINDERLIB_DB_PASSWORD'),
                (oclcons.CinderlibDBEnv.DATABASE,
                 'CINDERLIB_DB_DATABASE'),
            ):
                dbenv[e] = config.get(k)
            for e, k in (
                (oclcons.CinderlibDBEnv.SECURED,
                 'CINDERLIB_DB_SECURED'),
                (
                    oclcons.CinderlibDBEnv.SECURED_HOST_VALIDATION,
                    'CINDERLIB_DB_SECURED_VALIDATION'
                )
            ):
                dbenv[e] = config.getboolean(k)
            dbovirtutils.tryDatabaseConnect(dbenv)
            self.environment.update(dbenv)
            # current cinderlib engine-setup code leaves the database
            # empty after creation, so we can't rely on
            # dbovirtutils.isNewDatabase for checking this (because it
            # checks if there are tables in the public schema).
            # Always set to False if we managed to connect. TODO think
            # of something more robust. Perhaps create our own dummy
            # table to mark that it's 'populated', or save in postinstall
            # something saying that it's created.
            self.environment[
                oclcons.CinderlibDBEnv.NEW_DATABASE
            ] = False
            self.environment[
                oclcons.CinderlibDBEnv.NEED_DBMSUPGRADE
            ] = dbovirtutils.checkDBMSUpgrade()
        except RuntimeError:
            self.logger.debug(
                'Existing credential use failed',
                exc_info=True,
            )
            msg = _(
                'Cannot connect to ovirt cinderlib '
                'database using existing '
                'credentials: {user}@{host}:{port}'
            ).format(
                host=dbenv[oclcons.CinderlibDBEnv.HOST],
                port=dbenv[oclcons.CinderlibDBEnv.PORT],
                database=dbenv[oclcons.CinderlibDBEnv.DATABASE],
                user=dbenv[oclcons.CinderlibDBEnv.USER],
            )
            if self.environment[
                osetupcons.CoreEnv.ACTION
            ] == osetupcons.Const.ACTION_REMOVE:
                self.logger.warning(msg)
            else:
                raise RuntimeError(msg)