User Tools

Site Tools


cloudbaseinit-doc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cloudbaseinit-doc [2014/08/14 18:00]
lcaplea
cloudbaseinit-doc [2014/08/19 20:45] (current)
Line 9: Line 9:
 ##What can it do? <=> Capabilities ##What can it do? <=> Capabilities
 The primary capabilities of the package consist of: The primary capabilities of the package consist of:
 +
   * creating a user    * creating a user 
  
Line 27: Line 28:
    
 ##Which Windows distros can support it? <=> Availability ##Which Windows distros can support it? <=> Availability
-So far, the Windows distributions that can support its installation are: [use bullets] +So far, the Windows distributions that can support its installation are: 
-  *Windows Server 2003 + 
-  *Windows Server 2003 R2 +  * Windows Server 2003 
-  *Windows Server 2008  + 
-  *Windows Server 2008 R2  +  * Windows Server 2003 R2 
-  *Windows Server 2012  + 
-  *Windows 7 +  * Windows Server 2008  
-  *Windows 8.  + 
-The addresses at which you can get your hand on the installer are the [x64 version](https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta_x64.msi) or [x86 version](https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta_x86.msi) We have available a Windows Server 2012 R2 image on which cloudbase-init is pre-installed. This image can be obtained at this address [http://www.cloudbase.it/ws2012r2/](http://www.cloudbase.it/ws2012r2/) and, after accepting the Microsoft Licence Agreement, one can download the .iso file and the instance is good to boot. In our case, it is meant to work as a hypervisor machine, having HyperV or KVM installed+  * Windows Server 2008 R2  
 + 
 +  * Windows Server 2012  
 + 
 +  * Windows 7 
 + 
 +  * Windows 8.
    
 +The addresses at which you can acquire the installer are the [x64 version](https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta_x64.msi) or [x86 version](https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta_x86.msi) We have available a Windows Server 2012 R2 image on which cloudbase-init is pre-installed. This image can be obtained at this address [http://www.cloudbase.it/ws2012r2/](http://www.cloudbase.it/ws2012r2/) and, after accepting the Microsoft Licence Agreement, one can download the .iso file and the instance is good to boot. In our case, it is meant to work as a hypervisor machine, having HyperV or KVM installed. 
 +
 ##Formats: ##Formats:
 The user data provided with the metadata service should be written in one of these formats, as seen in the userdataplugins directory.  The user data provided with the metadata service should be written in one of these formats, as seen in the userdataplugins directory. 
Line 77: Line 86:
  
 ####./cloudbaseinit/plugins ####./cloudbaseinit/plugins
- [Here I think I'll explain the plugins individually.... except userdataplugins and userdata] +This directory holds the plugins for custom configurations; for the time being, there is only an implementation for Windows hosts. The config file which provides information about the operating system is provided by the oslo.config module. The plugins which come to our aid are the following:
-This directory holds the plugins for custom configurations; for the time being, there is only an implementation for Windows hosts. The plugins which come to our aid are the following:+
  
 ####User Creation Plugin  ####User Creation Plugin 
-createuser.py - creates a user in case he does not exist and attaches a temporary password to the user+Creates a user in case he does not exist and attaches a temporary password to the user. For the newly made user a log on session is created for other plugins to be able to access the username and password after this plugin has been executed, and before reboot which would set the changes in the instance as well. The user is by default added to the Administrators group; other membership options may be specified in the userdata, which is executed by another plugin.   
  
 ####Volume Extension Plugin  ####Volume Extension Plugin 
-extendvolumes.py - gets the list of volumes which need extending and interogates the disk for available contiguous space. By default all available volumes can be extended. Volumes are specified through a comma separated list of volume indexes, e.g.: "1,2"+Gets the list of volumes which need extending and interrogates the disk for available contiguous space. By default all available volumes can be extended. Volumes are specified through a comma separated list of volume indexes, e.g.: "1,2". The existing SW providers are interrogated for disk size availability in each of their packs in order to assess which volume can be relocated on the individual disks. For safety reasons, the volume's content is copied then transferred to the disk then the former location of the volume is emptied. 
  
 ####File Execution Plugin  ####File Execution Plugin 
-fileexecutils.py - executes the given script according to its type+Executes the given script according to its type. The script types are windows batch, linux bash files, python and powershell scripts and executable files. In case the file has a different extension, it will not be executed and a warning will be placed in the log. The powershell scripts are executed directly, by simply specifying the file type whereas the other scripts have a custom execution. 
  
 ####Licensing Plugin  ####Licensing Plugin 
-licensing.py - plugin which activates Windows automatically+Plugin that activates Windows automatically by executing the slmgr.vbs script which looks for licensing specifications by looking through the ProductKeyID, ProcessorURL,MachineURL etc. 
  
 ####Local Script Execution Plugin  ####Local Script Execution Plugin 
-localscripts.py - scripts are placed in a separate folder and get executed once the plugin is invoked+These scripts are taken from the config file, placed in a separate folder and executed once the plugin is invoked.
  
 ####Maximum Transmission Unit Plugin  ####Maximum Transmission Unit Plugin 
-mtu.py - helps configure the network interfaces MTU base on the values provided from the DHCP server+Helps configure the network interfaces MTU base on the values provided from the DHCP server.
  
 ####Network Configuration Plugin  ####Network Configuration Plugin 
-networkconfig.py - configures the network adapter specified in the metadata, rebooting the system if required; in case the network adapter has not been specified, the first available ethernet adapter will be chosen+Configures the network adapter specified in the metadata, rebooting the system if required; in case the network adapter has not been specified, the first available ethernet adapter will be chosen
  
 ####Network Time Protocol Client Plugin  ####Network Time Protocol Client Plugin 
-ntpclient.py - helps configure the NTP client time synchronization using the NTP servers provided via DHCP+Helps configure the NTP client time synchronization using the NTP servers provided via DHCP
  
 ####Host Name Setting Plugin  ####Host Name Setting Plugin 
-sethostname.py - takes the hostname from the metadata and truncates it if the string is larger than 15 characters for Netbios compatibility+Takes the hostname from the metadata and truncates it if the string is larger than 15 characters for Netbios compatibility
  
 ####Password Setting Plugin  ####Password Setting Plugin 
-setpassword.py - sets the password provided in the configuration. If False or no password is provided a random one will be chosen.+Sets the password provided in the configuration. If False or no password is provided a random one will be chosen.
  
 ####SSH Public Key Setting Plugin  ####SSH Public Key Setting Plugin 
-sshpublickeys.py - sets a user's public key if specified in the metadata+Sets a user's public key if specified in the metadata
  
 ####User Data Plugin  ####User Data Plugin 
-userdata.py [I've explained some userdata functionality abovewhat else is there to add?]+Here the userdata is retrieved from the specific metadata service and decompressed in case it has been gzippedIf the userdata starts with the 'Content-Type: multipart' line then each userdata plugin will be loaded and executed, either through a part-handler file or  another part processing mechanism. On the opposite side, the userdata will be executed as a singular script, with the plugin executing one of the three following scenarios, based on the return value of the script executing module: if the return value is 1001 then an automatic reboot will be done at the end, without the plugin being executed once more, if ret_val is 1002, the plugin is executed on next boot, whenever that will occur and if the return value is 1003 then the plugin will be executed on the next reboot which will be done right after the plugin execution has ceased.  
  
 ####User Data Script Execution  ####User Data Script Execution 
-userdatautils.py - executes the userdata scripts according to their types+Executes the userdata scripts according to their types
  
 ####WinRM Certificate Authentication Plugin  ####WinRM Certificate Authentication Plugin 
-winrmcertificateauth.py - plugin which sets the WinRM certificate mapping for the specified user+Plugin which sets the WinRM certificate mapping for the specified user
  
 ####WinRM Listener Plugin ####WinRM Listener Plugin
-winrmlistener.py - enables basic authentication for the WinRM HTTPS listener+Enables basic authentication for the WinRM HTTPS listener
  
 ##Datasources: ##Datasources:
Line 156: Line 164:
  
            
-###EC2 Service:[when accessing the magic ip there might be necessary to type in the password] +###EC2 Service: 
-The way in which the metadata is accessed through EC2 does not differ much from HTTP. The datasources are retrieved by accessing the same IP, 169.254.169.254 and using the same addresses for accessing the metadata, +The way in which the metadata is accessed through EC2 does not differ much from HTTP. The datasources are retrieved by accessing the same IP, 169.254.169.254 and using the same addresses for accessing the metadata,
 userdata and latest versions. There might be slight differences in the information the metadata provides. userdata and latest versions. There might be slight differences in the information the metadata provides.
  
-[TODO MaaS]+###MaaS Service: 
 +The API for the MaaS service resembles that of EC2 and HTTP by having in the main folder the versions list which can be further accessed to display the metadata fields. The difference between the methods is the accessed IP address; while EC2 and HTTP use a static IP for providing the metadata, MaaS sets its location during the installation of the operating system on the instance through preseeds.  
          
 ##Cloudbase-init installation process ##Cloudbase-init installation process
Line 183: Line 192:
 There is also the possibility to specify the network adapter to be configured: There is also the possibility to specify the network adapter to be configured:
        
-   ``` +``` 
-   msiexec /i CloudbaseInitSetup.msi /qn /l*v log.txt NETWORKADAPTERNAME="Intel(R) PRO/1000 MT Network Connection" +msiexec /i CloudbaseInitSetup.msi /qn /l*v log.txt NETWORKADAPTERNAME="Intel(R) PRO/1000 MT Network Connection" 
-   ``` +```
-   +
        
 </markdown>    </markdown>   
cloudbaseinit-doc.1408028459.txt.gz · Last modified: 2014/08/14 18:01 (external edit)