docs: def create_logical_drive(self, logical_drive_info):
          """Create a logical drive on the controller.
  
          This method creates a logical drive on the controller when the
          logical drive details and physical drive ids are passed to it.
  
          :param logical_drive_info: a dictionary containing the details
              of the logical drive as specified in raid config.
          :raises: HPSSAOperationError, if hpssacli/ssacli operation failed.
          """
          cmd_args = []
          if 'array' in logical_drive_info:
              cmd_args.extend(['array', logical_drive_info['array']])
  
          cmd_args.extend(['create', "type=logicaldrive"])
  
          if 'physical_disks' in logical_drive_info:
              phy_drive_ids = ','.join(logical_drive_info['physical_disks'])
              cmd_args.append("drives=%s" % phy_drive_ids)
  
          raid_level = logical_drive_info['raid_level']
          # For RAID levels (like 5+0 and 6+0), HPSSA names them differently.
          # Check if we have mapping stored, otherwise use the same.
          raid_level = constants.RAID_LEVEL_INPUT_TO_HPSSA_MAPPING.get(
              raid_level, raid_level)
          cmd_args.append("raid=%s" % raid_level)
  
          # If size_gb is MAX, then don't pass size argument.  HPSSA will
          # automatically allocate the maximum # disks size possible to the
          # logical disk.
          if logical_drive_info['size_gb'] != "MAX":
              size_mb = logical_drive_info['size_gb'] * 1024
              cmd_args.append("size=%s" % size_mb)
  
          self.execute_cmd(*cmd_args, process_input='y')