diff --git a/doc/Kadeploy.pdf b/doc/Kadeploy.pdf index cd9eb0c418407127ebfc6b14325c6bb7de6d6b6a..5edc635ae7b7ef9eb898c21f5e367b44c3c268e7 100644 Binary files a/doc/Kadeploy.pdf and b/doc/Kadeploy.pdf differ diff --git a/doc/Kadeploy.tex b/doc/Kadeploy.tex index d90d9d83da5b3eac1ad88879f92e8eda88979d8d..b7df17ce2149263c6538fba600e3ff0a3a37bafe 100644 --- a/doc/Kadeploy.tex +++ b/doc/Kadeploy.tex @@ -601,6 +601,7 @@ environments: extraction_dir: /mnt/dest tarball_dir: /tmp rambin_dir: /rambin + allowed_name_regex: '[A-Za-z0-9\-\_]+' max_postinstall_size: 10 max_preinstall_size: 10 pxe: @@ -768,6 +769,7 @@ external: \item \ypath{/environments} \begin{itemize} + \item \yfieldd{allowed\_name\_regex}{String} A regex that control how an environement should be name. \item \yfieldd{max\_preinstall\_size}{Integer}{20} maximum size (MB) of the preinstall files \item \yfieldd{max\_postinstall\_size}{Integer}{20} maximum size (MB) of the postinstall files \end{itemize} @@ -981,13 +983,12 @@ To define the specific configuration of a cluster, you must create a specific fi \begin{verbatim} --- partitioning: - block_device: /dev/sda - partitions: - swap: 1 - prod: 2 - deploy: 3 - tmp: 5 script: parted_sample + formating_script: formating.sh + deploy_label: DEPLOY + block_device: disk0 + disk_path: + disk0: /dev/disk/by-path/pci-0000:00:0d.0-ata-1 trusted_deployment: user: deploy partition: "/dev/sda3" @@ -1133,17 +1134,12 @@ automata: \begin{itemize} \item \ypath{/partitioning} \begin{itemize} - \item \yfield{block\_device}{String}block device of the disk used on the nodes + \item \yfield{block\_device}{String}default disk used on the nodes + \item \yfield{deploy\_label}{String}default label used on the nodes \item \yfieldd{disable\_swap}{Boolean}{false} disable the swap partition on the disk \item \yfield{script}{String} Path to a script that creates the partition table on the nodes. You can use Kadeploy3 environment variables (see section \ref{sec:env_vars}) in this script. Please refer to section \ref{sec:partscript}) for further informations. - \end{itemize} - - \item \ypath{/partitioning/partitions} - \begin{itemize} - \item \yfieldd{swap}{Integer}{1} number of the swap partition on the disk - \item \yfieldd{prod}{Integer}{-1} number of the production partition on the disk - \item \yfieldd{deploy}{Integer}{2} number of the deployment partition on the disk - \item \yfieldd{tmp}{Integer}{-1} number of the tmp partition on the disk + \item \yfield{formating\_script}{String} Path to a script that is used to format the partitions. You can use Kadeploy3 environment variables (see section \ref{sec:env_vars}) in this script. Please refer to section \ref{sec:formatscript}) for further informations. + \item \yfield{disk\_path}{Hash} Map the disks name to the real path on the nodes. \end{itemize} \item \ypath{/trusted\_deployment} @@ -1367,6 +1363,8 @@ Here is the list of the macro-step and their implementation: \item format\_tmp\_part \texttt{[only if non-multipart]} \item format\_swap\_part \texttt{[only if non-multipart]} \end{itemize} + \item \texttt{SetDeploymentTrusted} \\ + Check if the environement is trusted based on the cluster configuration if so, use \texttt{SetDeploymentEnvKexec} else use \texttt{SetDeploymentEnvUntrusted}. \item \texttt{SetDeploymentEnvUntrustedCustomPreInstall} \begin{itemize} \item switch\_pxe @@ -1509,12 +1507,19 @@ A partitioning script must be provided for each cluster. You can use the Kadeploy3 environment variables in your script (see section \ref{sec:env_vars}). The tools you can use in your script are the ones that are installed in your deployment environment (see section \ref{sec:deployenv}). -Be careful to write the partition type on MSDOS partitions, some bootloaders will fail to boot unless this information is written in the partition table. +The script must write GPT label on each partition use by Kadeploy3. The label must be prefixed by \texttt{KDPL\_} and end by the disk name (which is given by the \texttt{KADEPLOY\_DISK\_NAME} environment variable). +For exemple, \texttt{KDPL\_SWAP\_disk0} is a valid label. +The \texttt{SWAP} and \texttt{TMP} label are used to identify the swap and tmp partition. The default deploy partition is specify in the cluster configuration of Kadeploy3. You should also use the \emph{/sbin/partprobe} at the end of your script to inform the OS (deployment environment) of partition table changes. Examples of scripts are provided in the distribution (in the directory \texttt{scripts/partitioning/}). +\section{Formating script}\label{sec:formatscript} +A formating script can be provided for each cluster. You can use the Kadeploy3 environment variables in your script (see section \ref{sec:env_vars}). + +The same script is used for all the formating operations (swap, tmp and deploy partitions). The \texttt{KADEPLOY\_FORMAT\_PART} environment variable allow you to distinguish each operation. + \section{Specific commands configuration files} In the part~\ref{sec:specific_config} we saw that generic commands can be given to all the nodes that belong to a cluster. It is also possible to override these generic values for some specific nodes. To do this, you must fill the file named \texttt{command.conf} in the configuration directory. @@ -2313,12 +2318,11 @@ When writing a script for an admin pre-install, an admin/user post-install or so \item \texttt{KADEPLOY\_ENV\_KERNEL\_PARAMS} : the deployed environment kernel parameters \item \texttt{KADEPLOY\_ENV\_HYPERVISOR} : the path to the hypervisor's kernel file inside the deployed environment directory (usefull when deploying a Xen environment for example) \item \texttt{KADEPLOY\_ENV\_HYPERVISOR\_PARAMS} : the deployed environment hypervisor parameters -\item \texttt{KADEPLOY\_DEPLOY\_PART} : deployment partition -\item \texttt{KADEPLOY\_BLOCK\_DEVICE} : the block device used in deployment -\item \texttt{KADEPLOY\_DEPLOY\_PART\_NUM} : the deployment parition number -\item \texttt{KADEPLOY\_SWAP\_PART\_NUM} : the swap partition number -\item \texttt{KADEPLOY\_PROD\_PART\_NUM} : the production partition number -\item \texttt{KADEPLOY\_TMP\_PART\_NUM} : the tmp partition number +\item \texttt{KADEPLOY\_DEPLOY\_PART} : path to the deployment partition +\item \texttt{KADEPLOY\_TMP\_PART} : path to the tmp partition +\item \texttt{KADEPLOY\_SWAP\_PART} : path to the swap partition +\item \texttt{KADEPLOY\_DISK\_NAME} : the Kadeploy3 name of the disk used in deployment +\item \texttt{KADEPLOY\_BLOCK\_DEVICE} : the path to the block device used in deployment \item \texttt{KADEPLOY\_ENV\_EXTRACTION\_DIR} : path where the environment tarball is extracted \item \texttt{KADEPLOY\_PREPOST\_EXTRACTION\_DIR} : path where the pre/post tarball are extracted \item \texttt{KADEPLOY\_TMP\_DIR} : a temporary directory (to be used for your scripts) @@ -2327,6 +2331,7 @@ When writing a script for an admin pre-install, an admin/user post-install or so \item \texttt{KADEPLOY\_FS\_TYPE} : the filesystem format of the deployment partition (the value of the \emph{filesystem} field of the environment description) \item \texttt{KADEPLOY\_FS\_TYPE\_TMP} : the filesystem format of the tmp partition (if the tmp partition is reformated with the option --reformat-tmp) \item \texttt{KADEPLOY\_KEXEC\_KIND} : used for kexec script. Specify what kind of kexec is happening. value are \emph{to\_deployed\_env} or \emph{to\_deploy\_kernel} +\item \texttt{KADEPLOY\_FORMAT\_PART} : used for formating script. Specify what disk is being formated. value are \emph{DEPLOY},\emph{TMP} or \emph{SWAP} \item \texttt{KADEPLOY\_DEPLOY\_ENV\_KERNEL\_PARAMS} : the deployment kernel kernel parameters \item \texttt{KADEPLOY\_ENV\_KEXEC\_REPOSITORY} : the location where deploy kernel are copied for kexec purpose \end{itemize}