def load_modules_alignak_configuration(self):  # pragma: no cover, not yet with unit tests.
        """Load Alignak configuration from the arbiter modules
        If module implements get_alignak_configuration, call this function

        :param raw_objects: raw objects we got from reading config files
        :type raw_objects: dict
        :return: None
        """
        alignak_cfg = {}
        # Ask configured modules if they got configuration for us
        for instance in self.modules_manager.instances:
            if not hasattr(instance, 'get_alignak_configuration'):
                return

            try:
                logger.info("Getting Alignak global configuration from module '%s'", instance.name)
                cfg = instance.get_alignak_configuration()
                alignak_cfg.update(cfg)
            except Exception as exp:  # pylint: disable=broad-except
                logger.error("Module %s get_alignak_configuration raised an exception %s. "
                             "Log and continue to run", instance.name, str(exp))
                output = io.StringIO()
                traceback.print_exc(file=output)
                logger.error("Back trace of this remove: %s", output.getvalue())
                output.close()
                continue

        params = []
        if alignak_cfg:
            logger.info("Got Alignak global configuration:")
            for key, value in sorted(alignak_cfg.items()):
                logger.info("- %s = %s", key, value)
                # properties starting with an _ character are "transformed" to macro variables
                if key.startswith('_'):
                    key = '$' + key[1:].upper() + '$'
                # properties valued as None are filtered
                if value is None:
                    continue
                # properties valued as None string are filtered
                if value == 'None':
                    continue
                # properties valued as empty strings are filtered
                if value == '':
                    continue
                # set properties as legacy Shinken configuration files
                params.append("%s=%s" % (key, value))
            self.conf.load_params(params)
Load Alignak configuration from the arbiter modules
        If module implements get_alignak_configuration, call this function

        :param raw_objects: raw objects we got from reading config files
        :type raw_objects: dict
        :return: None