source: zero-server-wizard/trunk/fuentes/install-files/usr/share/zero-server-wizard/types/slave/actions/015-network.py @ 131

Last change on this file since 131 was 131, checked in by hectorgh, 4 years ago

adding project files

File size: 2.5 KB
Line 
1#!/usr/bin/python
2
3import xmlrpclib
4import os.path
5
6
7def check_variables():
8       
9        if ("user" and "password") not in self.template:
10               
11                if "masterkey" not in self.template:
12                       
13                        return (False,"No authentication method found")
14
15                       
16        else:   
17                c=xmlrpclib.ServerProxy("https://"+self.template["remote_ip"]+":9779",allow_none=True)
18                ret=c.validate_user(self.template["user"],self.template["password"])
19                if not ret[0]:
20                        return(False,"User validation error")
21               
22
23
24        lst=["external_iface","internal_iface","srv_ip","internal_mask","external_mask","external_ip","external_gateway","external_mode","number_classroom"]
25        for item in lst:
26                if item not in self.template:
27                        print("\t[015-network] [!]" + item + " is missing from template. Aborting initialization")
28                        return (False,"[015-network] [!]" + item + " is missing from template. Aborting initialization")
29                       
30        return (True,"")
31       
32#def check_variables
33
34ret=check_variables()
35
36if ret[0]:
37       
38        try:
39                ip_server = self.template["remote_ip"]
40                if "user" in self.template:
41                        user=(self.template["user"],self.template["password"])
42                else:
43                        user=self.template["masterkey"]
44                c=xmlrpclib.ServerProxy("https://"+ip_server+":9779",allow_none=True)
45
46                internal_iface=self.template["internal_iface"]
47                internal_mask=self.template["internal_mask"]
48               
49                external_mask=self.template["external_mask"]
50                external_mode=self.template["external_mode"]
51                external_gateway=self.template["external_gateway"]
52                external_ip=self.template["external_ip"]
53                external_iface=self.template["external_iface"]
54                external_dns_search = self.template["srv_domain_name"]
55                srv_ip=self.template["srv_ip"]
56                number_classroom = self.template["number_classroom"]
57
58                print c.load_network_file(user,'NetworkManager')
59                print c.set_internal_interface(user,'NetworkManager',internal_iface)
60                print c.set_external_interface(user,'NetworkManager',external_iface)
61               
62               
63                print c.interface_static(user,'NetworkManager',internal_iface,srv_ip,internal_mask,False,None,external_dns_search)
64               
65                if external_mode=="dhcp":
66                        print c.interface_dhcp(user,'NetworkManager',external_iface,False)
67                else:
68                        print c.interface_static(user,'NetworkManager',external_iface,external_ip,external_mask,False,external_gateway,external_dns_search)
69                print c.interface_static(user,'NetworkManager',external_iface + ':42','10.3.0.' + str(int(number_classroom)) ,'255.255.255.0',True )
70
71                # MOVED TO THE END OF THE  INITIALIZATION PROCESS
72                #print c.restart_interfaces(user,'NetworkManager')             
73               
74        except Exception as e:
75                print(e)
76                raise e
77       
78       
79else:
80        e=Exception()
81        e.message=ret[1]
82        raise e
Note: See TracBrowser for help on using the repository browser.