Undo reqs conflict detection, continue appending new reqs.
This commit is contained in:
		
					parent
					
						
							
								72345f5516
							
						
					
				
			
			
				commit
				
					
						92d96c14b9
					
				
			
		
					 1 changed files with 1 additions and 27 deletions
				
			
		| 
						 | 
					@ -77,9 +77,6 @@ class Emulator(object):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.type_name      = os.path.basename(argv[0])
 | 
					        self.type_name      = os.path.basename(argv[0])
 | 
				
			||||||
        self.cdist_type     = core.CdistType(self.type_base_path, self.type_name)
 | 
					        self.cdist_type     = core.CdistType(self.type_base_path, self.type_name)
 | 
				
			||||||
        # if set then object already exists and this var holds existing
 | 
					 | 
				
			||||||
        # requirements
 | 
					 | 
				
			||||||
        self._existing_reqs = None
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.__init_log()
 | 
					        self.__init_log()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -155,7 +152,6 @@ class Emulator(object):
 | 
				
			||||||
        if self.cdist_object.exists and not 'CDIST_OVERRIDE' in self.env:
 | 
					        if self.cdist_object.exists and not 'CDIST_OVERRIDE' in self.env:
 | 
				
			||||||
            # make existing requirements a set, so we can compare it
 | 
					            # make existing requirements a set, so we can compare it
 | 
				
			||||||
            # later with new requirements
 | 
					            # later with new requirements
 | 
				
			||||||
            self._existing_reqs = set(self.cdist_object.requirements)
 | 
					 | 
				
			||||||
            if self.cdist_object.parameters != self.parameters:
 | 
					            if self.cdist_object.parameters != self.parameters:
 | 
				
			||||||
                errmsg = ("Object %s already exists with conflicting "
 | 
					                errmsg = ("Object %s already exists with conflicting "
 | 
				
			||||||
                    "parameters:\n%s: %s\n%s: %s" % (self.cdist_object.name,
 | 
					                    "parameters:\n%s: %s\n%s: %s" % (self.cdist_object.name,
 | 
				
			||||||
| 
						 | 
					@ -249,35 +245,13 @@ class Emulator(object):
 | 
				
			||||||
                    # if no second last line, we are on the first type, so do not set a requirement
 | 
					                    # if no second last line, we are on the first type, so do not set a requirement
 | 
				
			||||||
                    pass
 | 
					                    pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        reqs = set()
 | 
					 | 
				
			||||||
        if "require" in self.env:
 | 
					        if "require" in self.env:
 | 
				
			||||||
            requirements = self.env['require']
 | 
					            requirements = self.env['require']
 | 
				
			||||||
            self.log.debug("reqs = " + requirements)
 | 
					            self.log.debug("reqs = " + requirements)
 | 
				
			||||||
            for requirement in requirements.split(" "):
 | 
					            for requirement in requirements.split(" "):
 | 
				
			||||||
                # Ignore empty fields - probably the only field anyway
 | 
					                # Ignore empty fields - probably the only field anyway
 | 
				
			||||||
                if len(requirement) == 0: continue
 | 
					                if len(requirement) == 0: continue
 | 
				
			||||||
                req = self.record_requirement(requirement)
 | 
					                self.record_requirement(requirement)
 | 
				
			||||||
                reqs.add(req)
 | 
					 | 
				
			||||||
        if self._existing_reqs is not None:
 | 
					 | 
				
			||||||
            # if object exists then compare existing and new requirements
 | 
					 | 
				
			||||||
            self.log.debug("OBJ: {} {}".format(self.cdist_type, self.object_id))
 | 
					 | 
				
			||||||
            self.log.debug("EXISTING REQS: {}".format(self._existing_reqs))
 | 
					 | 
				
			||||||
            self.log.debug("REQS: {}".format(reqs))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if self._existing_reqs != reqs:
 | 
					 | 
				
			||||||
                dbgmsg = ("Object {} already exists with different "
 | 
					 | 
				
			||||||
                    "requirements:\n{}: {}\n{}: {}. Merging sets.".format(
 | 
					 | 
				
			||||||
                        self.cdist_object.name,
 | 
					 | 
				
			||||||
                        " ".join(self.cdist_object.source),
 | 
					 | 
				
			||||||
                        self._existing_reqs,
 | 
					 | 
				
			||||||
                        self.object_source,
 | 
					 | 
				
			||||||
                        reqs))
 | 
					 | 
				
			||||||
                self.log.debug(dbgmsg)
 | 
					 | 
				
			||||||
                all_reqs = reqs | self._existing_reqs
 | 
					 | 
				
			||||||
                self.log.debug("All requirements: {}".format(all_reqs))
 | 
					 | 
				
			||||||
                for x in all_reqs:
 | 
					 | 
				
			||||||
                    if not x in self.cdist_object.requirements:
 | 
					 | 
				
			||||||
                        self.record_requirement(x)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def record_auto_requirements(self):
 | 
					    def record_auto_requirements(self):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue