Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #3
0
    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)))
Beispiel #4
0
    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)))
Beispiel #5
0
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