forked from ungleich-public/cdist
		
	also check that giving a paramter twice works
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								877d8fed30
							
						
					
				
			
			
				commit
				
					
						603f1c3ae0
					
				
			
		
					 2 changed files with 79 additions and 6 deletions
				
			
		|  | @ -15,8 +15,69 @@ typical approaches as well as gives an easy start into | |||
| the world of configuration management. | ||||
| 
 | ||||
| 
 | ||||
| NOT MIGRATED | ||||
| ------------ | ||||
| 
 | ||||
| QUICK START | ||||
| ----------- | ||||
| For those who just want to configure a system with the | ||||
| cdist configuration management and do not need (or want) | ||||
| to understand everything. | ||||
| 
 | ||||
| Cdist uses **ssh** for communication and transportation | ||||
| and usually logs into the **target host** as the | ||||
| **root** user. So you need to configure the **ssh server** | ||||
| of the target host to allow root logins: Edit | ||||
| the file **/etc/ssh/sshd_config** and add one of the following | ||||
| lines: | ||||
| 
 | ||||
| -------------------------------------------------------------------------------- | ||||
| # Allow login only via public key | ||||
| PermitRootLogin without-password | ||||
| 
 | ||||
| # Allow login via password and public key | ||||
| PermitRootLogin yes | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| Before you can start using cdist, you need to ensure that | ||||
| you can login  | ||||
| sshd config! | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| You can copy and paste the following | ||||
| code into your shell to get started and even configure your system. | ||||
| 
 | ||||
| -------------------------------------------------------------------------------- | ||||
| # Get cdist | ||||
| git clone git://git.schottelius.org/cdist | ||||
| 
 | ||||
| # Create manifest (maps configuration to host(s) | ||||
| cd cdist | ||||
| echo '__file /etc/cdist-configured' > conf/manifest/init | ||||
| chmod 0700 conf/manifest/init | ||||
| 
 | ||||
| echo  'Ensure that you can login as root to localhost without password' | ||||
| echo '(i.e. via public key) and then press return' | ||||
| read tmp | ||||
| 
 | ||||
| # Configure localhost | ||||
| ./bin/cdist config localhost | ||||
| 
 | ||||
| # Find out that cdist created /etc/cdist-configured | ||||
| ls -l /etc/cdist-configured | ||||
| -------------------------------------------------------------------------------- | ||||
| 
 | ||||
| The file 'conf/manifest/init' is usually the entry point for cdist, | ||||
| to find out what to configure on which host. All manifests are | ||||
| essentially shell scripts. Every manifest can use the types known to | ||||
| cdist, which are usually underline prefixed (\_\_). | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Everything you specify in manifests | ||||
| 
 | ||||
| 
 | ||||
| # Intro of quickstart | ||||
| # | ||||
|  |  | |||
							
								
								
									
										20
									
								
								test.py
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								test.py
									
										
									
									
									
								
							|  | @ -117,10 +117,22 @@ class Config(unittest.TestCase): | |||
| 
 | ||||
|         self.assertRaises(cdist.Error, self.config.run_initial_manifest()) | ||||
| 
 | ||||
| # Todo: | ||||
| # fail if parameter in manifest given are different | ||||
| # fail if parameter in manifest given are absent once/given once | ||||
| # succeed if same parameter is specified twice | ||||
|     def test_initial_manifest_parameter_twice(self): | ||||
|         manifest_fd = open(self.init_manifest, "w") | ||||
|         manifest_fd.writelines(["#!/bin/sh", | ||||
|             "__file " + self.temp_dir + "--mode 0600", | ||||
|             "__file " + self.temp_dir + "--mode 0600", | ||||
|             ]) | ||||
|         manifest_fd.close() | ||||
| 
 | ||||
|         try: | ||||
|             self.config.run_initial_manifest() | ||||
|         except cdist.Error: | ||||
|             failed = True | ||||
|         else: | ||||
|             failed = False | ||||
| 
 | ||||
|         self.assertFalse(failed) | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue