chef: erb-Template eingefügt
This commit is contained in:
parent
15b4587fe4
commit
6622f07302
@ -23,6 +23,29 @@
|
|||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage{ucs}
|
\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}
|
\RequirePackage{mymacros}
|
||||||
|
|
||||||
@ -44,7 +67,6 @@
|
|||||||
\title{LCTP – Praktikum Wintersemester 2013 / 2014}
|
\title{LCTP – Praktikum Wintersemester 2013 / 2014}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\input{hardware}
|
\input{hardware}
|
||||||
|
|
||||||
\input{cluster-layout}
|
\input{cluster-layout}
|
||||||
|
@ -47,38 +47,38 @@ Es gibt mehrere Möglichkeiten \emph{Chef} zu betreiben:
|
|||||||
Hier ist die Ordnerstruktur des Cookbook
|
Hier ist die Ordnerstruktur des Cookbook
|
||||||
\href{https://github.com/opscode-cookbooks/apt}{apt} dargestellt:
|
\href{https://github.com/opscode-cookbooks/apt}{apt} dargestellt:
|
||||||
|
|
||||||
\begin{lstlisting}
|
\begin{tikzpicture}
|
||||||
> apt-2.3.4/
|
\treeroot{apt-2.3.4}
|
||||||
> attributes/
|
\altentry{attributes}{1}
|
||||||
default.rb
|
\altentry{default.rb}{2}
|
||||||
> files/
|
\altentry{files}{1}
|
||||||
> default/
|
\altentry{default}{2}
|
||||||
apt-proxy-v2.conf
|
\treeentry{apt-proxy-v2.conf}{3}
|
||||||
> libraries/
|
\altentry{libraries}{1}
|
||||||
helpers.rb
|
\altentry{helpers.rb}{2}
|
||||||
network.rb
|
\altentry{network.rb}{2}
|
||||||
> providers/
|
\altentry{providers}{1}
|
||||||
preference.rb
|
\altentry{preference.rb}{2}
|
||||||
repository.rb
|
\altentry{repository.rb}{2}
|
||||||
> recipes/
|
\altentry{recipes}{1}
|
||||||
cacher-client.rb
|
\altentry{cacher-client.rb}{2}
|
||||||
cacher-ng.rb
|
\altentry{cacher-ng.rb}{2}
|
||||||
default.rb
|
\altentry{default.rb}{2}
|
||||||
> resources/
|
\altentry{resources}{1}
|
||||||
preference.rb
|
\altentry{preference.rb}{2}
|
||||||
repository.rb
|
\altentry{repository.rb}{2}
|
||||||
> templates/
|
\altentry{templates}{1}
|
||||||
> debian-6.0/
|
\altentry{debian-6.0}{2}
|
||||||
> default/
|
\altentry{default}{2}
|
||||||
01proxy.erb
|
\altentry{01proxy.erb}{3}
|
||||||
acng.conf.erb
|
\altentry{acng.conf.erb}{3}
|
||||||
> ubuntu-10.04/
|
\altentry{ubuntu-10.04}{2}
|
||||||
acng.conf.erb
|
\treeentry{acng.conf.erb}{3}
|
||||||
CHANGELOG.md
|
\altentry{CHANGELOG}{1}
|
||||||
metadata.json
|
\altentry{metadata.json}{1}
|
||||||
metadata.rb
|
\altentry{metadata.rb}{1}
|
||||||
README.md
|
\altentry{README.md}{1}
|
||||||
\end{lstlisting}
|
\end{tikzpicture}
|
||||||
|
|
||||||
Die Verzeichnisnamen sind fest vorgeben. Jedes Verzeichnis hat seine eigene
|
Die Verzeichnisnamen sind fest vorgeben. Jedes Verzeichnis hat seine eigene
|
||||||
Funktion. Dies hat den Vorteil, das man sich schnell in neuen Cookbooks zurecht
|
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.
|
eine Beschreibung sowie Abhängigkeiten zu anderen Cookbooks angeben werden.
|
||||||
\end{description}
|
\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}
|
\textbf{Ablauf einer Provisonierung}
|
||||||
\label{ablauf_einer_provisionierung}
|
\label{ablauf_einer_provisionierung}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ unerlässlich.
|
|||||||
Der folgende Test wurde aus dem NTP-Cookbook
|
Der folgende Test wurde aus dem NTP-Cookbook
|
||||||
(~\ref{ssub:einrichtung-der-netzwerkdienste}) entnommen.
|
(~\ref{ssub:einrichtung-der-netzwerkdienste}) entnommen.
|
||||||
|
|
||||||
\begin{lstlisting}
|
\begin{lstlisting}[language=Ruby]
|
||||||
require_relative '../spec_helper'
|
require_relative '../spec_helper'
|
||||||
|
|
||||||
describe 'ntp::default' do
|
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
|
den Unterordnern in \emph{files/} nach dem Verzeichnis \emph{test} und lädt
|
||||||
alle Tests aus diesem Verzeichnis. Über die Beschreibungszeile:
|
alle Tests aus diesem Verzeichnis. Über die Beschreibungszeile:
|
||||||
|
|
||||||
\begin{lstlisting}
|
\begin{lstlisting}[language=Ruby]
|
||||||
describe_recipe "ntp::default" do #
|
describe_recipe "ntp::default" do #
|
||||||
#...
|
#...
|
||||||
end
|
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,
|
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:
|
welches in Abschnitt~\ref{ssub:einrichtung-der-netzwerkdienste} erwähnt wurde:
|
||||||
|
|
||||||
\begin{lstlisting}
|
\begin{lstlisting}[language=Ruby]
|
||||||
describe_recipe 'bind::default' do
|
describe_recipe 'bind::default' do
|
||||||
it "starts the named daemon" do
|
it "starts the named daemon" do
|
||||||
service("bind9").must_be_running
|
service("bind9").must_be_running
|
||||||
|
Loading…
Reference in New Issue
Block a user