Merge branch 'master' into __jail
This commit is contained in:
		
				commit
				
					
						1a20f0087e
					
				
			
		
					 7 changed files with 30 additions and 11 deletions
				
			
		
							
								
								
									
										2
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								README
									
										
									
									
									
								
							| 
						 | 
					@ -288,7 +288,7 @@ Interesting information are for instance
 | 
				
			||||||
 * What are the pros/cons you see in cdist?
 | 
					 * What are the pros/cons you see in cdist?
 | 
				
			||||||
 * General comments/critics
 | 
					 * General comments/critics
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Nico Schottelius, Systems Group ETH Zurich and privately
 | 
					### Nico Schottelius, Systems Group ETH Zurich, local.ch and privately
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Yes, I'm actually eating my own dogfood and currently managing
 | 
					Yes, I'm actually eating my own dogfood and currently managing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,7 +34,8 @@ fi
 | 
				
			||||||
case "$state_should" in
 | 
					case "$state_should" in
 | 
				
			||||||
   absent)
 | 
					   absent)
 | 
				
			||||||
      # remove lines starting with key
 | 
					      # remove lines starting with key
 | 
				
			||||||
      echo "sed -i '/^$key\($delimiter\+\)/d' \"$file\""
 | 
					      echo "sed '/^$key\($delimiter\+\)/d' \"$file\" > \"$file.cdist-tmp\""
 | 
				
			||||||
 | 
					      echo "mv \"$file.cdist-tmp\" \"$file\""
 | 
				
			||||||
   ;;
 | 
					   ;;
 | 
				
			||||||
   present)
 | 
					   present)
 | 
				
			||||||
      case "$state_is" in
 | 
					      case "$state_is" in
 | 
				
			||||||
| 
						 | 
					@ -44,7 +45,8 @@ case "$state_should" in
 | 
				
			||||||
         ;;
 | 
					         ;;
 | 
				
			||||||
         wrongvalue)
 | 
					         wrongvalue)
 | 
				
			||||||
            # change exisiting value
 | 
					            # change exisiting value
 | 
				
			||||||
            echo "sed -i \"s|^$key\($delimiter\+\).*|$key\1$value|\" \"$file\""
 | 
					            echo "sed \"s|^$key\($delimiter\+\).*|$key\1$value|\" \"$file\" > \"$file.cdist-tmp\""
 | 
				
			||||||
 | 
					            echo "mv \"$file.cdist-tmp\" \"$file\""
 | 
				
			||||||
         ;;
 | 
					         ;;
 | 
				
			||||||
         *)
 | 
					         *)
 | 
				
			||||||
            echo "Unknown explorer state: $state_is" >&2
 | 
					            echo "Unknown explorer state: $state_is" >&2
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,9 @@ DONE
 | 
				
			||||||
      removed)
 | 
					      removed)
 | 
				
			||||||
         cat << DONE
 | 
					         cat << DONE
 | 
				
			||||||
su - $user -c "rm -Rf \"\\\$HOME/.rvm\";
 | 
					su - $user -c "rm -Rf \"\\\$HOME/.rvm\";
 | 
				
			||||||
sed -i '/rvm\/scripts\/rvm/d' \"\\\$HOME/.bashrc\""
 | 
					sed '/rvm\/scripts\/rvm/d' \"\\\$HOME/.bashrc\" > \"\\\$HOME/.bashrc.cdist-tmp\"
 | 
				
			||||||
 | 
					mv \"\\\$HOME/.bashrc.cdist-tmp\" \"\\\$HOME/.bashrc\""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DONE
 | 
					DONE
 | 
				
			||||||
      ;;
 | 
					      ;;
 | 
				
			||||||
   esac
 | 
					   esac
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,8 @@ case "$state_should" in
 | 
				
			||||||
    present)
 | 
					    present)
 | 
				
			||||||
        case "$os" in
 | 
					        case "$os" in
 | 
				
			||||||
            archlinux)
 | 
					            archlinux)
 | 
				
			||||||
                echo "sed -i 's/^\\(DAEMONS=.*\\))/\\1 $name)/' /etc/rc.conf"
 | 
					                echo "sed 's/^\\(DAEMONS=.*\\))/\\1 $name)/' /etc/rc.conf > /etc/rc.conf.cdist-tmp"
 | 
				
			||||||
 | 
					                echo "mv /etc/rc.conf.cdist-tmp /etc/rc.conf"
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
            debian|ubuntu)
 | 
					            debian|ubuntu)
 | 
				
			||||||
                echo "update-rc.d \"$name\" defaults >/dev/null"
 | 
					                echo "update-rc.d \"$name\" defaults >/dev/null"
 | 
				
			||||||
| 
						 | 
					@ -66,7 +67,8 @@ case "$state_should" in
 | 
				
			||||||
            archlinux)
 | 
					            archlinux)
 | 
				
			||||||
                # Replace a) at the beginning b) in the middle c) end d) only
 | 
					                # Replace a) at the beginning b) in the middle c) end d) only
 | 
				
			||||||
                # Support @name as well...makes it more ugly, but well...
 | 
					                # Support @name as well...makes it more ugly, but well...
 | 
				
			||||||
                echo "sed -i /etc/rc.conf -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name /\\1/' -e 's/^\\(DAEMONS=(.* \\)@\\{0,1\\}$name \\(.*\\)/\\1\\2/' -e 's/^\\(DAEMONS=(.*\\) @\\{0,1\\}$name)/\\1)/' -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name)/\\1)/'"
 | 
					                echo "sed /etc/rc.conf -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name /\\1/' -e 's/^\\(DAEMONS=(.* \\)@\\{0,1\\}$name \\(.*\\)/\\1\\2/' -e 's/^\\(DAEMONS=(.*\\) @\\{0,1\\}$name)/\\1)/' -e 's/^\\(DAEMONS=(\\)@\\{0,1\\}$name)/\\1)/' > /etc/rc.conf.cdist-tmp"
 | 
				
			||||||
 | 
					                echo "mv /etc/rc.conf.cdist-tmp /etc/rc.conf"
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
            debian|ubuntu)
 | 
					            debian|ubuntu)
 | 
				
			||||||
                echo update-rc.d -f \"$name\" remove
 | 
					                echo update-rc.d -f \"$name\" remove
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,8 @@ Changelog
 | 
				
			||||||
	* Bugfix __start_on_boot: Correctly use sed and quotes (Steven Armstrong)
 | 
						* Bugfix __start_on_boot: Correctly use sed and quotes (Steven Armstrong)
 | 
				
			||||||
	* Feature __file: Support for --state exists (Steven Armstrong)
 | 
						* Feature __file: Support for --state exists (Steven Armstrong)
 | 
				
			||||||
	* Feature core: Make variable __manifest available to type manifests
 | 
						* Feature core: Make variable __manifest available to type manifests
 | 
				
			||||||
 | 
						* Feature core: Correct parent dependency handling (Steven Armstrong)
 | 
				
			||||||
 | 
						* Bugfix several types: Fix sed for FreeBSD (Istvan Beregszaszi)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2.0.9: 2012-03-12
 | 
					2.0.9: 2012-03-12
 | 
				
			||||||
	* Cleanup documentation: Fix environment variable list to be properly 
 | 
						* Cleanup documentation: Fix environment variable list to be properly 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,6 +6,8 @@ Feel free to pick one!
 | 
				
			||||||
CORE
 | 
					CORE
 | 
				
			||||||
----
 | 
					----
 | 
				
			||||||
- support default parameter
 | 
					- support default parameter
 | 
				
			||||||
 | 
					- document and add paremeters for remote-copy and remote-exec!
 | 
				
			||||||
 | 
					    - remove hack, make a feature of it
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TESTS
 | 
					TESTS
 | 
				
			||||||
-----
 | 
					-----
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -160,10 +160,19 @@ class Emulator(object):
 | 
				
			||||||
    def record_auto_requirements(self):
 | 
					    def record_auto_requirements(self):
 | 
				
			||||||
        """An object shall automatically depend on all objects that it defined in it's type manifest.
 | 
					        """An object shall automatically depend on all objects that it defined in it's type manifest.
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        # __object_name is the name of the object whose type manifest is currenlty executed
 | 
					        # __object_name is the name of the object whose type manifest is currently executed
 | 
				
			||||||
        __object_name = os.environ.get('__object_name', None)
 | 
					        __object_name = os.environ.get('__object_name', None)
 | 
				
			||||||
        if __object_name:
 | 
					        if __object_name:
 | 
				
			||||||
            _object = self.cdist_object.object_from_name(__object_name)
 | 
					            # The object whose type manifest is currently run
 | 
				
			||||||
            # prevent circular dependencies
 | 
					            parent = self.cdist_object.object_from_name(__object_name)
 | 
				
			||||||
            if not _object.name in self.cdist_object.requirements:
 | 
					            # The object currently being defined
 | 
				
			||||||
                _object.requirements.append(self.cdist_object.name)
 | 
					            current_object = self.cdist_object
 | 
				
			||||||
 | 
					            # current_object shall have all dependencies that it's parent has
 | 
				
			||||||
 | 
					            for req in parent.requirements:
 | 
				
			||||||
 | 
					                if req not in current_object.requirements:
 | 
				
			||||||
 | 
					                    current_object.requirements.append(req)
 | 
				
			||||||
 | 
					            # As parent defined current_object it shall automatically depend on it.
 | 
				
			||||||
 | 
					            # But only if the user hasn't said otherwise.
 | 
				
			||||||
 | 
					            # Must prevent circular dependencies.
 | 
				
			||||||
 | 
					            if not parent.name in current_object.requirements:
 | 
				
			||||||
 | 
					                parent.requirements.append(current_object.name)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue