Ignore:
Timestamp:
Apr 16, 2010 8:16:22 AM (14 years ago)
Author:
Ted Faber <faber@…>
Branches:
axis_example, compt_changes, info-ops, master, version-3.01, version-3.02
Children:
4f2f41f
Parents:
0c4b12c
Message:

better service handling including project_export psuedo service done more or less right- tested on dry runs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • fedd/federation/protogeni_access.py

    r0c4b12c r43197eb  
    455455
    456456
     457    def export_SMB(self, id, state, project, user):
     458        return {
     459                'id': id,
     460                'name': 'SMB',
     461                'visibility': 'export',
     462                'server': 'http://fs:139',
     463                'fedAttr': [
     464                        { 'attribute': 'SMBSHARE', 'value': 'USERS' },
     465                        { 'attribute': 'SMBUSER', 'value': user },
     466                        { 'attribute': 'SMBPROJ', 'value': project },
     467                    ]
     468                }
     469
     470    def export_seer(self, id, state, project, user):
     471        return {
     472                'id': id,
     473                'name': 'seer',
     474                'visibility': 'export',
     475                'server': 'http://control:16606',
     476                }
     477
     478    def export_tmcd(self, id, state, project, user):
     479        return {
     480                'id': id,
     481                'name': 'seer',
     482                'visibility': 'export',
     483                'server': 'http://boss:7777',
     484                }
     485
     486    def export_userconfig(self, id, state, project, user):
     487        if self.userconfdir and self.userconfcmd \
     488                and self.userconfurl:
     489            cid, cert = self.export_userconf(project)
     490            state['userconfig'] = unicode(cid)
     491            return {
     492                    'id': id,
     493                    'name': 'userconfig',
     494                    'visibility': 'export',
     495                    'server': "%s/%s" % (self.userconfurl, str(cid)),
     496                    'fedAttr': [
     497                        { 'attribute': 'cert', 'value': cert },
     498                    ]
     499                    }
     500        else:
     501            return None
     502
    457503    def export_services(self, sreq, project, user):
    458504        exp = [ ]
     
    465511            if svis == 'export':
    466512                if sname in self.exports:
    467                     outs = s.copy()
     513                    id = s.get('id', 'no_id')
    468514                    if sname == 'SMB':
    469                         outs = s.copy()
    470                         outs['server'] = "http://fs:139"
    471                         outs['fedAttr'] = [
    472                                 { 'attribute': 'SMBSHARE', 'value': 'USERS' },
    473                                 { 'attribute': 'SMBUSER', 'value': user },
    474                                 { 'attribute': 'SMBPROJ', 'value': project },
    475                             ]
     515                        exp.append(self.export_SMB(id, state, project, user))
    476516                    elif sname == 'seer':
    477                         outs['server'] = "http://control:16606"
     517                        exp.append(self.export_seer(id, state, project, user))
    478518                    elif sname == 'tmcd':
    479                         outs['server'] = "http://boss:7777"
     519                        exp.append(self.export_tmcd(id, state, project, user))
    480520                    elif sname == 'userconfig':
    481                         if self.userconfdir and self.userconfcmd \
    482                                 and self.userconfurl:
    483                             cid, cert = self.export_userconf(project)
    484                             outs['server'] = "%s/%s" % \
    485                                     (self.userconfurl, str(cid))
    486                             outs['fedAttr'] = [
    487                                     { 'attribute': 'cert', 'value': cert },
    488                                 ]
    489                             state['userconfig'] = unicode(cid)
    490                     exp.append(outs)
     521                        exp.append(self.export_userconfig(id, state,
     522                            project, user))
     523                    elif sname == 'project_export':
     524                        exp.append(self.export_SMB(id, state, project, user))
     525                        exp.append(self.export_seer(id, state, project, user))
     526                        exp.append(self.export_userconfig(id, state,
     527                            project, user))
    491528        return (exp, state)
    492529
Note: See TracChangeset for help on using the changeset viewer.