chef: erb-Template eingefügt
This commit is contained in:
parent
15b4587fe4
commit
6622f07302
@ -23,6 +23,29 @@
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{ucs}
|
||||
|
||||
% directory listing im Chefabschnitt
|
||||
\usepackage{chngcntr}
|
||||
\newcounter{treeline}
|
||||
|
||||
\newcommand{\treeroot}[1]{% Title
|
||||
\node[above] at (0,0) {#1};%
|
||||
\setcounter{treeline}{0}
|
||||
}
|
||||
|
||||
\newcommand{\treeentry}[2]{% Title, Level
|
||||
\draw[->] (#2-1,-\value{treeline}/2) -- (#2-1,-\value{treeline}/2-0.5) --
|
||||
(#2+0.5,-\value{treeline}/2-0.5) node[right] {#1};
|
||||
\stepcounter{treeline}
|
||||
}
|
||||
|
||||
\newcommand{\altentry}[2]{% Title, Level
|
||||
\draw[->] (#2-1,-\value{treeline}/2) -- (#2-1,-\value{treeline}/2-0.5) --
|
||||
(#2+0.5,-\value{treeline}/2-0.5) node[right] {#1};
|
||||
\foreach \x in {1,...,#2}
|
||||
{ \draw (\x-1,-\value{treeline}/2) -- (\x-1,-\value{treeline}/2-0.5);
|
||||
}
|
||||
\stepcounter{treeline}
|
||||
}
|
||||
|
||||
\RequirePackage{mymacros}
|
||||
|
||||
@ -44,7 +67,6 @@
|
||||
\title{LCTP – Praktikum Wintersemester 2013 / 2014}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\input{hardware}
|
||||
|
||||
\input{cluster-layout}
|
||||
|
@ -47,38 +47,38 @@ Es gibt mehrere Möglichkeiten \emph{Chef} zu betreiben:
|
||||
Hier ist die Ordnerstruktur des Cookbook
|
||||
\href{https://github.com/opscode-cookbooks/apt}{apt} dargestellt:
|
||||
|
||||
\begin{lstlisting}
|
||||
> apt-2.3.4/
|
||||
> attributes/
|
||||
default.rb
|
||||
> files/
|
||||
> default/
|
||||
apt-proxy-v2.conf
|
||||
> libraries/
|
||||
helpers.rb
|
||||
network.rb
|
||||
> providers/
|
||||
preference.rb
|
||||
repository.rb
|
||||
> recipes/
|
||||
cacher-client.rb
|
||||
cacher-ng.rb
|
||||
default.rb
|
||||
> resources/
|
||||
preference.rb
|
||||
repository.rb
|
||||
> templates/
|
||||
> debian-6.0/
|
||||
> default/
|
||||
01proxy.erb
|
||||
acng.conf.erb
|
||||
> ubuntu-10.04/
|
||||
acng.conf.erb
|
||||
CHANGELOG.md
|
||||
metadata.json
|
||||
metadata.rb
|
||||
README.md
|
||||
\end{lstlisting}
|
||||
\begin{tikzpicture}
|
||||
\treeroot{apt-2.3.4}
|
||||
\altentry{attributes}{1}
|
||||
\altentry{default.rb}{2}
|
||||
\altentry{files}{1}
|
||||
\altentry{default}{2}
|
||||
\treeentry{apt-proxy-v2.conf}{3}
|
||||
\altentry{libraries}{1}
|
||||
\altentry{helpers.rb}{2}
|
||||
\altentry{network.rb}{2}
|
||||
\altentry{providers}{1}
|
||||
\altentry{preference.rb}{2}
|
||||
\altentry{repository.rb}{2}
|
||||
\altentry{recipes}{1}
|
||||
\altentry{cacher-client.rb}{2}
|
||||
\altentry{cacher-ng.rb}{2}
|
||||
\altentry{default.rb}{2}
|
||||
\altentry{resources}{1}
|
||||
\altentry{preference.rb}{2}
|
||||
\altentry{repository.rb}{2}
|
||||
\altentry{templates}{1}
|
||||
\altentry{debian-6.0}{2}
|
||||
\altentry{default}{2}
|
||||
\altentry{01proxy.erb}{3}
|
||||
\altentry{acng.conf.erb}{3}
|
||||
\altentry{ubuntu-10.04}{2}
|
||||
\treeentry{acng.conf.erb}{3}
|
||||
\altentry{CHANGELOG}{1}
|
||||
\altentry{metadata.json}{1}
|
||||
\altentry{metadata.rb}{1}
|
||||
\altentry{README.md}{1}
|
||||
\end{tikzpicture}
|
||||
|
||||
Die Verzeichnisnamen sind fest vorgeben. Jedes Verzeichnis hat seine eigene
|
||||
Funktion. Dies hat den Vorteil, das man sich schnell in neuen Cookbooks zurecht
|
||||
@ -124,6 +124,25 @@ findet. Hier nochmal die einzelnen Verzeichnisse im Überblick:
|
||||
eine Beschreibung sowie Abhängigkeiten zu anderen Cookbooks angeben werden.
|
||||
\end{description}
|
||||
|
||||
Beispiel ERB-Template:
|
||||
\begin{lstlisting}
|
||||
Diese Zeile wird beim Render ohne Aenderung uebernommen
|
||||
<%# Ein Kommentar%>
|
||||
|
||||
Diese Node heisst: <%= @node.name %>
|
||||
|
||||
<% if node[:platform] == "ubuntu" -%> <%# Bedingte Anweisung %>
|
||||
Diese Zeile erscheint auf Ubuntu-basierten Nodes.
|
||||
<% else %>
|
||||
Diese Zeile erscheint auf nicht Ubuntu-basierten Nodes.
|
||||
<% end -%>
|
||||
|
||||
<%# Listet in einer Schleife alle Blockdevices der Node auf %>
|
||||
<% @node.block_device.each do |block_device, attributes| %>
|
||||
<%= block_device %>: <%= attributes.join(", ") %>
|
||||
<% end %>
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Ablauf einer Provisonierung}
|
||||
\label{ablauf_einer_provisionierung}
|
||||
|
||||
|
@ -48,7 +48,7 @@ unerlässlich.
|
||||
Der folgende Test wurde aus dem NTP-Cookbook
|
||||
(~\ref{ssub:einrichtung-der-netzwerkdienste}) entnommen.
|
||||
|
||||
\begin{lstlisting}
|
||||
\begin{lstlisting}[language=Ruby]
|
||||
require_relative '../spec_helper'
|
||||
|
||||
describe 'ntp::default' do
|
||||
@ -102,7 +102,7 @@ werden. Minitest Handler durchsucht beim Durchlauf in jedem anderen cookbook, in
|
||||
den Unterordnern in \emph{files/} nach dem Verzeichnis \emph{test} und lädt
|
||||
alle Tests aus diesem Verzeichnis. Über die Beschreibungszeile:
|
||||
|
||||
\begin{lstlisting}
|
||||
\begin{lstlisting}[language=Ruby]
|
||||
describe_recipe "ntp::default" do #
|
||||
#...
|
||||
end
|
||||
@ -115,7 +115,7 @@ ebenfalls ausgeführt. Minitest Handler erweitert Rspec um nützliche Methoden u
|
||||
den Status des Systems zu überprüfen. Hier ein Beispiel aus dem bind cookbook,
|
||||
welches in Abschnitt~\ref{ssub:einrichtung-der-netzwerkdienste} erwähnt wurde:
|
||||
|
||||
\begin{lstlisting}
|
||||
\begin{lstlisting}[language=Ruby]
|
||||
describe_recipe 'bind::default' do
|
||||
it "starts the named daemon" do
|
||||
service("bind9").must_be_running
|
||||
|
Loading…
Reference in New Issue
Block a user