mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	Added vmpassword type (does nothing yet)
Fixed tests to use /var/cache/cloud Added some test files but will remove them when tests are properly completed Fixed a bug in configure that did not deal well with databags with empty dev sections
This commit is contained in:
		
							parent
							
								
									daf6c33507
								
							
						
					
					
						commit
						4c5f4a1f9f
					
				@ -59,7 +59,7 @@ class CsHelper:
 | 
			
		||||
 | 
			
		||||
    def execute(self, command):
 | 
			
		||||
        """ Execute command """
 | 
			
		||||
        p = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
 | 
			
		||||
        p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
 | 
			
		||||
        result = p.communicate()[0]
 | 
			
		||||
        return result.splitlines()
 | 
			
		||||
 | 
			
		||||
@ -604,10 +604,11 @@ class CsIP:
 | 
			
		||||
            self.delete("all")
 | 
			
		||||
        for ip in self.iplist:
 | 
			
		||||
            found = False
 | 
			
		||||
            for address in bag[self.dev]:
 | 
			
		||||
                self.setAddress(address)
 | 
			
		||||
                if self.hasIP(ip):
 | 
			
		||||
                    found = True
 | 
			
		||||
            if self.dev in bag.keys():
 | 
			
		||||
                for address in bag[self.dev]:
 | 
			
		||||
                    self.setAddress(address)
 | 
			
		||||
                    if self.hasIP(ip):
 | 
			
		||||
                        found = True
 | 
			
		||||
            if not found:
 | 
			
		||||
                self.delete(ip)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -7,6 +7,7 @@ import logging
 | 
			
		||||
import cs_ip
 | 
			
		||||
import cs_guestnetwork
 | 
			
		||||
import cs_cmdline
 | 
			
		||||
import cs_vmp
 | 
			
		||||
 | 
			
		||||
from pprint import pprint
 | 
			
		||||
 | 
			
		||||
@ -70,6 +71,10 @@ class updateDataBag:
 | 
			
		||||
           dbag = self.processGuestNetwork(self.db.getDataBag())
 | 
			
		||||
        if self.qFile.type == 'cmdline':
 | 
			
		||||
           dbag = self.processCL(self.db.getDataBag())
 | 
			
		||||
        if self.qFile.type == 'cmdline':
 | 
			
		||||
           dbag = self.processCL(self.db.getDataBag())
 | 
			
		||||
        if self.qFile.type == 'vmpassword':
 | 
			
		||||
           dbag = self.processVMpassword(self.db.getDataBag())
 | 
			
		||||
        self.db.save(dbag)
 | 
			
		||||
  
 | 
			
		||||
    def processGuestNetwork(self, dbag):
 | 
			
		||||
@ -89,6 +94,9 @@ class updateDataBag:
 | 
			
		||||
            d['domain_name'] = "cloudnine.internal"
 | 
			
		||||
        return cs_guestnetwork.merge(dbag, self.qFile.data)
 | 
			
		||||
 | 
			
		||||
    def processVMpassword(self, dbag):
 | 
			
		||||
        dbag = cs_vmp.merge(dbag, self.qFile.data)
 | 
			
		||||
 | 
			
		||||
    def processIP(self, dbag):
 | 
			
		||||
        for ip in self.qFile.data["ip_address"]:
 | 
			
		||||
            dbag = cs_ip.merge(dbag, ip)
 | 
			
		||||
@ -125,7 +133,6 @@ class updateDataBag:
 | 
			
		||||
class loadQueueFile:
 | 
			
		||||
 | 
			
		||||
    fileName = ''
 | 
			
		||||
    dpath = "/etc/cloudstack"
 | 
			
		||||
    configCache = "/var/cache/cloud"
 | 
			
		||||
    keep = True
 | 
			
		||||
    data = {}
 | 
			
		||||
@ -161,7 +168,7 @@ class loadQueueFile:
 | 
			
		||||
        return self.data 
 | 
			
		||||
 | 
			
		||||
    def setPath(self, path):
 | 
			
		||||
        self.dpath = path
 | 
			
		||||
        self.configCache = path
 | 
			
		||||
 | 
			
		||||
    def __moveFile(self, origPath, path):
 | 
			
		||||
        if not os.path.exists(path):
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								systemvm/patches/debian/config/opt/cloud/testdata/README
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								systemvm/patches/debian/config/opt/cloud/testdata/README
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
Json file used to test the provisioning scripts on virtual appliances
 | 
			
		||||
							
								
								
									
										1
									
								
								systemvm/patches/debian/config/opt/cloud/testdata/vmp0001.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								systemvm/patches/debian/config/opt/cloud/testdata/vmp0001.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
{"ip_address":"172.16.1.102","password":"fnirq_cnffjbeq","type":"vmpassword"}
 | 
			
		||||
@ -59,7 +59,7 @@ class UpdateConfigTestCase(SystemVMTestCase):
 | 
			
		||||
    def update_config(self, config):
 | 
			
		||||
        config_json = json.dumps(config, indent=2)
 | 
			
		||||
        print_doc('config.json', config_json)
 | 
			
		||||
        file_write('/etc/cloudstack/update_config_test.json', config_json)
 | 
			
		||||
        file_write('/var/cache/cloud/update_config_test.json', config_json)
 | 
			
		||||
        with hide("everything"):
 | 
			
		||||
            result = run("python /opt/cloud/bin/update_config.py update_config_test.json",
 | 
			
		||||
                         timeout=600, warn_only=True)
 | 
			
		||||
@ -112,14 +112,16 @@ class UpdateConfigTestCase(SystemVMTestCase):
 | 
			
		||||
            ip_address["add"] = False
 | 
			
		||||
            buffer.append(copy.deepcopy(ip_address))
 | 
			
		||||
            self.check_no_errors()
 | 
			
		||||
            self.clear_log()
 | 
			
		||||
            assert ip.has_ip("%s/24" % ip_address["public_ip"], "eth%s" % ip_address["nic_dev_id"])
 | 
			
		||||
            #self.clear_log()
 | 
			
		||||
            assert ip.has_ip("%s/24" % ip_address["public_ip"], "eth%s" % ip_address["nic_dev_id"]), \
 | 
			
		||||
                    "Configure %s on eth%s failed" % (ip_address["public_ip"], ip_address["nic_dev_id"])
 | 
			
		||||
        # Now delete all the IPs we just made
 | 
			
		||||
        for ips in buffer:
 | 
			
		||||
            config = copy.deepcopy(self.basic_config)
 | 
			
		||||
            config["ip_address"].append(ips)
 | 
			
		||||
            self.update_config(config)
 | 
			
		||||
            assert ip.has_ip("%s/24" % ips["public_ip"], "eth%s" % ips["nic_dev_id"]) is False
 | 
			
		||||
            assert not ip.has_ip("%s/24" % ips["public_ip"], "eth%s" % ips["nic_dev_id"]), \
 | 
			
		||||
                    "Delete %s on eth%s failed" % (ips["public_ip"], ips["nic_dev_id"])
 | 
			
		||||
 | 
			
		||||
    def test_create_guest_network(self):
 | 
			
		||||
        config = { "add":True,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user