Changeset 2036 for lliurex-mirror


Ignore:
Timestamp:
Jun 28, 2016, 11:31:22 AM (3 years ago)
Author:
kbut
Message:

add function to stop build

Location:
lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/etc/n4d/conf.d/MirrorManager

    r1960 r2036  
    1919get_checksum_validation=anonymous,*
    2020get_available_mirrors=anonymous,*
     21stopupdate=adm,admins
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/lliurex-mirror/conf/llx14.json

    r1957 r2036  
    44    "SECTIONS": ["main", "main/debian-installer", "universe", "restricted", "multiverse", "partner"],
    55    "MIRRORPATH": "/net/mirror/llx1406",
    6     "DISTRO": "precise",
     6    "DISTROS": ["precise","precise-updates","precise-security"],
    77    "IGN_GPG":1,
    88    "IGN_RELEASE":0,
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/lliurex-mirror/conf/llx15.json

    r1957 r2036  
    44    "SECTIONS": ["main", "main/debian-installer", "universe", "restricted", "multiverse", "partner"],
    55    "MIRRORPATH": "/net/mirror/llx1505",
    6     "DISTRO": "trusty",
     6    "DISTROS": ["trusty","trusty-security","trusty-updates"],
    77    "IGN_GPG":1,
    88    "IGN_RELEASE":0,
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/lliurex-mirror/conf/llx16.json

    r1957 r2036  
    44    "SECTIONS": ["main", "main/debian-installer", "universe", "restricted", "multiverse", "partner"],
    55    "MIRRORPATH": "/net/mirror/llx16",
    6     "DISTRO": "xenial",
     6    "DISTROS": ["xenial","xenial-updates","xenial-security"],
    77    "IGN_GPG":1,
    88    "IGN_RELEASE":0,
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/n4d/python-plugins/MirrorManager.py

    r1965 r2036  
    2828                self.distro="llx16"
    2929                self.httpd = None
     30                self.debmirrorprocess = None
    3031
    3132                self.tpl_env = Environment(loader=FileSystemLoader('/usr/share/n4d/templates/lliurex-mirror'))
     
    128129                self.variable["internal"]['status_mirror'] = "Working"
    129130                self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    130 
     131                filelog = open('/var/log/lliurex-mirror.log','w')
    131132                self.build_debmirror_config(distro)
    132133                os.remove('/etc/debmirror.conf')
    133134                os.symlink(os.path.join(self.debmirrorconfpath,distro),'/etc/debmirror.conf')
    134                 child=pexpect.spawn("/usr/bin/debmirror")
     135                self.debmirrorprocess=pexpect.spawn("/usr/bin/debmirror")
    135136                try:
    136137                        objects["ZCenterVariables"].add_pulsating_color("lliurexmirror")
     
    139140                while True:
    140141                        try:
    141                                 child.expect('\n')
    142                                 line =child.before
    143                                 print(line)
     142                                self.debmirrorprocess.expect('\n')
     143                                line =self.debmirrorprocess.before
     144                                filelog.write(line)
    144145                                line1=line.strip("\n")
    145146                                if line1.startswith("[") and line1[5] == "]":
    146                                         self.percentage=(int(line1[1:4].strip()),child.exitstatus)
     147                                        self.percentage=(int(line1[1:4].strip()),self.debmirrorprocess.exitstatus)
    147148                        except pexpect.EOF:
    148                                         line1 = child.before
     149                                        line1 = self.debmirrorprocess.before
    149150                                        if line1 != "" and line1.startswith("[") and line1[5] == "]":
    150                                                         self.percentage=(int(line1[1:4].strip()),child.exitstatus)
    151 
    152                                         child.close()
    153                                         status = child.exitstatus
     151                                                        self.percentage=(int(line1[1:4].strip()),self.debmirrorprocess.exitstatus)
     152                                        filelog.write(line1)
     153                                        self.debmirrorprocess.close()
     154                                        status = self.debmirrorprocess.exitstatus
    154155                                        self.percentage=(self.percentage[0],status)
    155156
     
    161162                                self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    162163                                break
    163                                
     164                filelog.close()
    164165                self.set_mirror_info(distro)
    165166
     
    372373                versions = [ version.replace('.json','') for version in versions if version.endswith('.json')]
    373374                return {'status':True,'msg':versions}
     375
     376        def stopupdate(self):
     377                try:
     378                        self.debmirrorprocess.terminate()
     379                        return {'status':true,'msg':'debmirror stopped'}
     380                except Exception as e:
     381                        return {'status':False,'msg':str(e)}
     382
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/n4d/templates/lliurex-mirror/debmirror.conf

    r1955 r2036  
    2626$remoteroot="";
    2727$download_method="http";
    28 @dists="{{ DISTRO }}";
     28@dists="{% for distribution in DISTROS %}{{distribution}}{% if not loop.last %},{%endif%}{% endfor %}";
    2929@sections="{% for section in SECTIONS %}{{section}}{% if not loop.last %},{%endif%}{% endfor %}";
    3030@arches=({% for arch in ARCHITECTURES %}"{{arch}}"{% if not loop.last %},{%endif%}{% endfor %});
Note: See TracChangeset for help on using the changeset viewer.