def run(self, remote_sites={}, local_sites={}): if not remote_sites: sites = self.api.GetSites({'peer_id': None}) for site in sites: remote_sites[site['site_id']] = site if not local_sites: from core.models import Site sites = Site.objects.all() for site in sites: local_sites[site.login_base] = site db_slices = Slice.objects.all() for db_slice in db_slices: self.local_slices[db_slice.name] = db_slice print "%s local slices" % len(db_slices) slices = self.api.GetSlices({'peer_id': None}) print "%s remote slices" % len(slices) count = 0 for slice in slices: self.remote_slices[slice['slice_id']] = slice if slice['name'] not in self.local_slices: site = local_sites[remote_sites[slice['site_id']]['login_base']] new_slice = Slice(name=slice['name'], omf_friendly = False, description = slice['description'], slice_url = slice['url'], site = site) new_slice.save() count += 1 self.local_slices[new_slice.name] = new_slice print "Imported %s slices" % count
def run(self, remote_sites={}, local_sites={}): if not remote_sites: sites = self.api.GetSites({'peer_id': None}) for site in sites: remote_sites[site['site_id']] = site if not local_sites: from core.models import Site sites = Site.objects.all() for site in sites: local_sites[site.login_base] = site db_slices = Slice.objects.all() for db_slice in db_slices: self.local_slices[db_slice.name] = db_slice print "%s local slices" % len(db_slices) slices = self.api.GetSlices({'peer_id': None}) print "%s remote slices" % len(slices) count = 0 for slice in slices: self.remote_slices[slice['slice_id']] = slice if slice['name'] not in self.local_slices: site = local_sites[remote_sites[slice['site_id']] ['login_base']] new_slice = Slice(name=slice['name'], omf_friendly=False, description=slice['description'], slice_url=slice['url'], site=site) new_slice.save() count += 1 self.local_slices[new_slice.name] = new_slice print "Imported %s slices" % count
def create(self): nodetemplate = self.nodetemplate sliceName = nodetemplate.name xos_args = self.get_xos_args() slice = Slice(**xos_args) slice.caller = self.user slice.save() self.postprocess(slice) self.info("Created Slice '%s' on Site '%s'" % (str(slice), str(slice.site)))
def add_slice(auth, fields): user = authenticate(username=auth.get('username'), password=auth.get('password')) auth['tenant'] = user.site.login_base login_base = fields['name'][:fields['name'].find('_')] sites = _get_sites(login_base) if sites: fields['site'] = sites[0] slice = Slice(**fields) slice.os_manager = OpenStackManager(auth=auth, caller=user) slice.save() return slice