def __filter_non_working_providers(self):
        '''
        Remove any mis-configured cloud providers from the available listing
        '''
        for alias, drivers in six.iteritems(self.opts['providers'].copy()):
            for driver in drivers.copy():
                fun = '{0}.get_configured_provider'.format(driver)
                if fun not in self.clouds:
                    # Mis-configured provider that got removed?
                    log.warning(
                        'The cloud driver, \'%s\', configured under the '
                        '\'%s\' cloud provider alias, could not be loaded. '
                        'Please check your provider configuration files and '
                        'ensure all required dependencies are installed '
                        'for the \'%s\' driver.\n'
                        'In rare cases, this could indicate the \'%s()\' '
                        'function could not be found.\nRemoving \'%s\' from '
                        'the available providers list',
                        driver, alias, driver, fun, driver
                    )
                    self.opts['providers'][alias].pop(driver)

                    if alias not in self.opts['providers']:
                        continue

                    if not self.opts['providers'][alias]:
                        self.opts['providers'].pop(alias)
                    continue

                with salt.utils.context.func_globals_inject(
                    self.clouds[fun],
                    __active_provider_name__=':'.join([alias, driver])
                ):
                    if self.clouds[fun]() is False:
                        log.warning(
                            'The cloud driver, \'%s\', configured under the '
                            '\'%s\' cloud provider alias is not properly '
                            'configured. Removing it from the available '
                            'providers list.', driver, alias
                        )
                        self.opts['providers'][alias].pop(driver)

            if alias not in self.opts['providers']:
                continue

            if not self.opts['providers'][alias]:
                self.opts['providers'].pop(alias)
Remove any mis-configured cloud providers from the available listing