def ConstructSmbService(self):
    """Construct the SMB service object.

    Creates an SMB Service only if an SMB disk is found in the disk_specs.
    """
    if self.smb_service:
      logging.info('SMB service already created: %s', self.smb_service)
      return
    for group_spec in self.vms_to_boot.values():
      if not group_spec.disk_spec or not group_spec.vm_count:
        continue
      disk_spec = group_spec.disk_spec
      if disk_spec.disk_type != disk.SMB:
        continue

      cloud = group_spec.cloud
      providers.LoadProvider(cloud)
      smb_class = smb_service.GetSmbServiceClass(cloud)
      self.smb_service = smb_class(disk_spec, group_spec.vm_spec.zone)
      logging.debug('SMB service %s', self.smb_service)
      break
 def testRegistry(self):
     smb_class = smb_service.GetSmbServiceClass(_FakeSmbService.CLOUD)
     self.assertEqual(_FakeSmbService, smb_class)