Changeset 2509


Ignore:
Timestamp:
Sep 22, 2016, 1:37:17 PM (3 years ago)
Author:
kbut
Message:

wip

Location:
lliurex-mirror/trunk/fuentes
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • lliurex-mirror/trunk/fuentes/lliurex-mirror-gui/lliurex_mirror_connect.py

    r2489 r2509  
    33class LliurexMirrorN4d:
    44        def __init__(self,server,credentials):
     5                self.mode = None
    56                self.client = None
    67                self.serverip = server
     
    1314
    1415        def connect(self,server):
    15                 self.client = xmlrpclib.ServerProxy('https://' + server + ':9779')
     16                self.client = xmlrpclib.ServerProxy('https://' + server + ':9779',allow_none=True)
    1617                self.serverip = server
    1718                try:
     
    2425
    2526        def local_connect(self):
    26                 self.client = xmlrpclib.ServerProxy('https://localhost:9779',allow_none=True)
     27                self.localclient = xmlrpclib.ServerProxy('https://localhost:9779',allow_none=True)
    2728                try:
    28                         self.client.get_methods()
     29                        self.localclient.get_methods()
    2930                except:
    30                         self.client = None
     31                        self.localclient = None
    3132                        return False
    3233                return True
     
    5960        def save_config(self,mirror,config):
    6061                result = self.client.update_mirror_config(self.credentials,'MirrorManager',mirror,config)
    61                 return result['status']
     62                return result
    6263        #def save_config
    6364
    6465        def create_conf(self,config):
    65                 if self.client == None:
     66                if type(self.client) == None:
    6667                        return {}
    6768                result = self.client.new_mirror_config(self.credentials,'MirrorManager',config)
    6869                if result['status']:
    6970                        return result['msg']
    70                 return None
     71                return result
    7172        #def create_conf
    7273
     
    8081                        self.mode = 2
    8182                        result = self.client.get_client_ip('','MirrorManager','')
     83                        print result
    8284                        tempserver = result['msg']
    8385                        result = self.localclient.enable_webserver_into_folder(self.localcredentials,'MirrorManager',data)
    84                         tempserver = tempserver + ":" + result['msg']
    85                         data = 'http://'+tempserver
     86                        tempserver = str(tempserver) + ":" + str(result['msg'])
     87                        data = tempserver
     88                        print data
    8689                        self.localclient.watch_update_finish(self.localcredentials,'MirrorManager',self.credentials,self.serverip)
    8790                if data != None:
    88                         self.set_mirror_orig(self.credentials,'MirrorManager',mirror,data,mode)
     91                        self.client.set_mirror_orig(self.credentials,'MirrorManager',mirror,data,mode)
    8992                self.client.set_option_update(self.credentials,'MirrorManager',mirror,mode)
    90                 result = update(self.credentials,'MirrorManager',mirror)
     93                result = self.client.update(self.credentials,'MirrorManager',mirror)
    9194                return result['status']
    9295        #def update
     
    9497        def export(self, mirror,folder):
    9598                import tempfile
    96                 result = self.client.render_debmirror_config(self.credentials,'MirrorManager',mirror)
     99                result = self.client.get_all_configs(self.credentials,'MirrorManager')
     100                config = result['msg'][mirror]
     101                config['MIRROR_PATH'] = folder
     102                result = self.client.render_debmirror_config(self.credentials,'MirrorManager',config)
    97103                temp_file = tempfile.mktemp()
    98104                f = open(temp_file,'w')
     
    100106                f.close()
    101107                self.localclient.get_mirror(self.localcredentials,'MirrorManager',temp_file)
     108                return True
    102109        #def export
    103110
     
    133140if __name__ == '__main__':
    134141        c = LliurexMirrorN4d('localhost',['kbut','lliurex'])
    135         print c.mirror_list()
     142        config = {'IGN_GPG': 1, 'NAME': 'LliureX Xenial', 'ORIGS': {'1': 'lliurex.net/xenial', '3': '172.20.8.6/mirror/lliurex', '2': ''}, 'SECTIONS': ['main', 'main/debian-installer', 'universe', 'restricted', 'multiverse', 'partner'], 'MIRROR_PATH': '/net/mirror/llx16', 'ARCHITECTURES': ['amd64', 'i386'], 'CHK_MD5': 0, 'IGN_RELEASE': 0, 'BANNER': '', 'CURRENT_UPDATE_OPTION': '3', 'DISTROS': ['xenial', 'xenial-updates', 'xenial-security']}
     143        #print c.save_config('llx16',config)
     144        #print c.update('llx16','3','172.20.8.6/mirror/lliurex')
     145        #print c.update('llx16','2','/net/mirror/lugar')
     146        #print c.update('llx16','3')
     147        #print c.mirror_list()
     148        #print c.export('llx16','/net/miexportacion')
     149        print c.is_alive_export()
     150        #print c.get_percentage('llx16')
     151        #print c.is_alive()
     152        #print c.stop_update()
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/etc/n4d/conf.d/MirrorManager

    r2482 r2509  
    2929get_all_configs=anonymous,*
    3030update_mirror_config=adm,admins
    31 get_client_ip=anonymous,*
     31(ip)get_client_ip=anonymous,*
    3232watch_update_finish=adm,admins
    3333is_alive_get_mirror=anonymous,*
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/n4d/python-plugins/MirrorManager.py

    r2489 r2509  
    361361        #def get_percentage
    362362
     363
    363364        def build_debmirror_config(self,distro):
    364365                result = self.render_debmirror_config(distro)
     
    369370        #def build_debmirror_config
    370371
    371         def render_debmirror_config(self,distro):
     372        def render_debmirror_config(self,arg):
     373                if type(arg) == type(""):
     374                        return self._render_debmirror_config_distro(arg)
     375                if type(arg) == type({}):
     376                        return self._render_debmirror_config_values(arg)
     377        #def render_debmirror_config
     378
     379        def _render_debmirror_config_distro(self,distro):
    372380                template = self.tpl_env.get_template('debmirror.conf')
    373381                configpath = os.path.join(self.configpath,distro + ".json")
    374382                config = json.load(open(configpath,'r'))
    375383                return {'status':True,'msg':template.render(config).encode('utf-8')}
    376 
    377384        #def render_debmirror_config
    378        
     385
     386        def _render_debmirror_config_values(self,config):
     387                template = self.tpl_env.get_template('debmirror.conf')
     388                return {'status':True,'msg':template.render(config).encode('utf-8')}
     389        #def _render_debmirror_config_values
     390
    379391        def enable_webserver_into_folder(self,path):
    380392                s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     
    481493                configpath = os.path.join(self.configpath,distro + ".json")
    482494                config = json.load(open(configpath,'r'))
    483                 path=config["MIRROR_PATH"]
    484                 file_time_name="time-of-last-update"
    485                 file_local_mirror=os.path.join(path,file_time_name)
     495                path = config["MIRROR_PATH"]
     496                file_time_name = "time-of-last-update"
     497                file_local_mirror = os.path.join(path,file_time_name)
    486498
    487499               
    488500                if os.path.isfile(file_local_mirror):
    489                         url_pool="http://"+os.path.join(config["ORIGS"]['1'],file_time_name)
    490                         file_pool=os.path.join("/tmp",file_time_name)
    491 
    492                         exist_file_pool=self.get_time_file(url_pool,file_pool)
     501                        url_pool = "http://"+os.path.join(config["ORIGS"]['1'],file_time_name)
     502                        file_pool = os.path.join("/tmp",file_time_name)
     503
     504                        exist_file_pool = self.get_time_file(url_pool,file_pool)
    493505                        if exist_file_pool['status']:
    494506                                file_local_mirror_content=open(file_local_mirror,"r")
     
    533545                        return {'status':False,'msg':"Name can't void"}
    534546                while True:
    535                         newconfigpath = os.path.join(self.configpath,name,'.json')
     547                        newconfigpath = os.path.join(self.configpath,name + '.json')
    536548                        if not os.path.exists(newconfigpath):
    537549                                break
     
    542554                f.write(data)
    543555                f.close()
     556                self.variable[name] = self.defaultmirrorinfo
    544557                return {'status':True,'msg':name}
    545558        #def new_mirror_config
     
    557570
    558571        def update_mirror_config(self,mirror,config):
    559                 configpath = os.path.join(self.configpath,distro + ".json")
     572                configpath = os.path.join(self.configpath,mirror + ".json")
    560573
    561574                f=open(configpath,"w")
Note: See TracChangeset for help on using the changeset viewer.