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/19 17:03]
lcaplea
cloudbaseinit-doc [2014/08/19 20:45] (current)
Line 86: 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:​
cloudbaseinit-doc.txt · Last modified: 2014/08/19 20:45 (external edit)