forked from ungleich-public/cdist
		
	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