def create_raid(self, raid_config):
        """Create the raid configuration on the hardware.

        :param raid_config: A dictionary containing target raid configuration
                            data. This data stucture should be as follows:
                            raid_config = {'logical_disks': [{'raid_level': 1,
                            'size_gb': 100, 'physical_disks': ['6I:1:5'],
                            'controller': 'HPE Smart Array P408i-a SR Gen10'},
                            <info-for-logical-disk-2>]}
        :raises: IloError, on an error from iLO.
        """
        self.check_smart_storage_config_ids()
        any_exceptions = []
        controllers = self._parse_raid_config_data(raid_config)
        # Creating raid on rest of the controllers
        for controller in controllers:
            try:
                config = {'logical_disks': controllers[controller]}
                ssc_obj = (
                    self._get_smart_storage_config_by_controller_model(
                        controller))
                if ssc_obj:
                    ssc_obj.create_raid(config)
                else:
                    members = (
                        self.smart_storage.array_controllers.get_members())
                    models = [member.model for member in members]
                    msg = ('Controller not found. Available controllers are: '
                           '%(models)s' % {'models': models})
                    any_exceptions.append((controller, msg))
            except sushy.exceptions.SushyError as e:
                any_exceptions.append((controller, str(e)))

        if any_exceptions:
            msg = ('The Redfish controller failed to create the '
                   'raid configuration for one or more controllers with '
                   'Error: %(error)s' % {'error': str(any_exceptions)})
            raise exception.IloError(msg)