You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

488 lines
21 KiB

%
% Source.tex
%
% Fork Sand IT Manual
%
% Copyright (C) 2018, Fork Sand, Inc.
% Copyright (C) 2017, Jeff Moe
% Copyright (C) 2017 Aleph Objects, Inc.
%
% This document is licensed under the Creative Commons Attribution 4.0
% International Public License (CC BY-SA 4.0) by Fork Sand, Inc.
%
\section{Hardware}
\section{Cluster Diagram}
\raggedright
\vspace{0.4cm}
Dedicated servers discarded.
Colocation cabinet buffered only with a firewall.
\vspace{0.4cm}
\centering
\includegraphics[width=210mm,trim=20mm 20mm 20mm 20mm]
{sharkfork-cabling-4-final-colocation.pdf} \\ %
\vspace{0.2cm}
\raggedright
\newpage
\section{Cluster Hardware Overview}
The cluster will require rackmountable equipment:
\begin{itemize}
\item GNU/Linux Servers
\end{itemize}
\begin{minipage}{0.9\textwidth}
\subsection{Sharkfork 21U hardware instance} \label{sec:hardware-sharkfork-21U}
%\includepdf[width=150mm,offset=0 15,clip]
%{sharkfork-21U.pdf}
\includegraphics[keepaspectratio=true,height=0.80\textheight,width=150mm,angle=0]
{sharkfork-21U.png}
% \vspace{150mm}
\label{fig:sharkfork-21U}
%\vspace{60mm}
\end{minipage}
\newpage
%\subsubsection{Sharkfork 21U detail hardware description} \label{sec:hardware-description-sharkfork-21U}
\definecolor{secondary-brown}{HTML}{F3E2C3} % HEX # F3E2C3 R:243 G:226 B:195 C:0 M:7 Y:20 K:5
\definecolor{primary-blue}{HTML}{A1F4FF} % HEX # A1F4FF R:161 G:244 B:255 C:37 M:4 Y:0 K:0
\definecolor{primary-brown}{HTML}{B07E3B} % HEX # B07E3B R:176 G:126 B:56 C:0 M:28 Y:68 K:31
\definecolor{nonbrand-dark-blue}{HTML}{184B6D} % HEX # 184B6D R:19 G:70 B:109 C:0 M:28 Y:68 K:31
\newcommand{\nodeUnitName}[4]{
\rowcolor{#3}\vspace{-1pt}
{{\grenewcommand{\currentColor}{#3}}}
{{\grenewcommand{\currentTextColor}{#4}}}
\Large{\textcolor{#4}{#1}} & \rule[-0.5em]{0pt}{1.8em} \Large{\textcolor{#4}{#2}} \\
\rowcolor{#3}\vspace{-1pt}
}
\newcommand{\nodeUnitParameter}[1]{
\rule[1.0em]{0pt}{-1em} & \small{\textcolor{\currentTextColor}{ - #1}} \\
\rowcolor{\currentColor}\vspace{-1pt}
}
\newcommand{\nodeUnitLastParameter}[1]{
\rule[-0.5em]{0pt}{0em} & \small{\textcolor{\currentTextColor}{ - #1}} \\
\tabucline[0.2pt]{1-2}
}
\newcommand{\nodeUnitSetItem}[2]{
\rowcolor{\currentColor}\vspace{-1pt}
\rule[-0.3em]{0pt}{0em}\small{\textcolor{\currentTextColor}{ ~#1}} & \small{\textcolor{\currentTextColor}{#2}} \\
\tabucline[0.2pt]{1-2}
}
\newcommand{\nodeUnitSetLastItem}[2]{
\rowcolor{\currentColor}\vspace{-1pt}
\rule[-0.3em]{0pt}{0em}\small{\textcolor{\currentTextColor}{ ~#1}} & \small{\textcolor{\currentTextColor}{#2}} \\
\tabucline[2pt]{1-2}
}
%\newcommand{\nodeUnitSetNotes}[2]{
% \pickColor{#2}
% \rule[-0.3em]{0pt}{0em}\small{Notes:} & \small{#1} \\ \tabucline[2pt]{1-2}
%}
\newcommand{\currentColor}{secondary-brown}
\newcommand{\currentTextColor}{secondary-brown}
\begin{table}[!htb]
%\caption{IP configs of nodes} \label{tab:sharkNodeIPConfig}
\begin{tabu}{|[2pt]l|[2pt]p{14.5cm}|[2pt]}
\tabucline[2pt]{1-2}
\multicolumn {1}{|[2pt]l|[2pt]}{\rule[-0.7em]{0pt}{2em} Qty}&
\multicolumn {1}{p{13cm}|[2pt]}{ Description} \\ \tabucline[2pt]{1-2}
%%% UNIT %%%
% Unit name
\nodeUnitName{2}{Iris FW1100 - Firewall System}{secondary-brown}{ao-black}
% Unit configuration parameters
\nodeUnitParameter{ 1U Form Factor ~~- Single Intel Xeon D-1587 CPU }
\nodeUnitParameter{ Up to 128GB DDR4 ECC Reg Memory }
\nodeUnitParameter{ Dual 10G SFP+ and Six Gigabit Ethernet }
\nodeUnitLastParameter{ 400W Platinum Level Redundant Power Supply }
% Unit has a set of components parameters
\nodeUnitSetItem {2}{ 8GB DDR4 2666MHz ECC Registered DIMM }
%\nodeUnitSetItem {1}{ No Operating System. Include testing%
% and customer OS preference in notes. }
%\nodeUnitSetItem {1}{ Return to Depot Warranty (3 Year Hardware%
% Warranty with Standard Advance Parts Replacement) }
\nodeUnitSetItem {1}{ 128GB SATA DOM }
\nodeUnitSetLastItem {1}{ Intel 10G Dual Port RJ45 Ethernet Adapter }
% Unit ends with notes, pass "none" parameter if no notes
%\nodeUnitSetNotes { none }
%%% END UNIT %%%
%%% UNIT %%%
% Unit name
\nodeUnitName{1}{Iris NV2225}{primary-blue}{ao-black}
% Unit configuration parameters
\nodeUnitParameter{ 2U Form Factor ~~- Dual Intel Xeon SP Processor }
\nodeUnitParameter{ Up to 768GB DDR4 2133MHz ECC Registered Memory }
\nodeUnitParameter{ Integrated IPMI 2.0 + KVM with dedicated LAN }
\nodeUnitParameter{ Intel x550 Quad port 10G Ethernet }
\nodeUnitLastParameter{ 1600W Redundant High-efficiency Power Supply }
% Unit has a set of components parameters
\nodeUnitSetItem{2}{ Intel Xeon Gold 5115 10C 2.4GHz 13.75MB Cache }
\nodeUnitSetItem{1}{ 128GB DDR4 2666MHz ECC Reg (4 x 32GB) }
\nodeUnitSetItem{1}{ Samsung 960 EVO M.2 NVME SSD 500GB }
\nodeUnitSetItem{4}{ Ultrastar SN200 800GB NVMe SSD }
%\nodeUnitSetItem{1}{ No Operating System. Include testing and customer%
% OS preference in notes. }
%\nodeUnitSetItem{1}{ Return to Depot Warranty (3 Year Hardware Warranty%
% with Standard Advance Parts Replacement) }
\nodeUnitSetLastItem{1}{ Intel 10G Dual Port RJ45 Ethernet Adapter }
% Unit ends with notes, pass "none" parameter if no notes
%\nodeUnitSetNotes { none }
%%% END UNIT %%%
%%% UNIT %%%
% Unit name
\nodeUnitName{2}{Iris 1292-R4T}{primary-brown}{ao-black}
% Unit configuration parameters
\nodeUnitParameter{ 1U Form Factor ~~- Dual Intel Xeon SP Processors }
\nodeUnitParameter{ Intel C620 Chipset with QPI up to 9.6GT/sec }
\nodeUnitParameter{ Up to 768GB DDR4 2666MHz ECC Registered Memory }
\nodeUnitParameter{ Integrated IPMI 2.0 + KVM with dedicated LAN }
\nodeUnitParameter{ Intel Quad-port 10GBaseT Ethernet Controller }
\nodeUnitParameter{ 4 x 3.5'' Hot-swap Drive Bays For customizable Storage }
\nodeUnitLastParameter{ 750W Redundant Power Supply }
% Unit has a set of components parameters
\nodeUnitSetItem{2}{ Intel Xeon Silver 4110 8C 2.1GHz 11MB Cache }
\nodeUnitSetItem{1}{ 128GB DDR4 2666MHz ECC Reg (8 x 16GB) }
\nodeUnitSetItem{4}{ HGST Ultrastar 6TB 7200RPM SATA 6Gb/s }
%\nodeUnitSetItem{1}{ No Operating System. Include testing and customer%
% OS preference in notes. }
%\nodeUnitSetItem{1}{ Return to Depot Warranty (3 Year Hardware Warranty%
% with Standard Advance Parts Replacement) }
\nodeUnitSetLastItem{1}{ Intel 10G Dual Port RJ45 Ethernet Adapter }
% Unit ends with notes, pass "none" parameter if no notes
%\nodeUnitSetNotes { none }
%%% END UNIT %%%
%%% UNIT %%%
% Unit name
\nodeUnitName{2}{Iris NV1211}{nonbrand-dark-blue}{ao-white}
% Unit configuration parameters
\nodeUnitParameter{ 1U Form Factor ~~- Dual Intel Xeon SP Processor }
\nodeUnitParameter{ Up to 1534GB DDR4 2400MHz ECC Registered Memory }
\nodeUnitParameter{ Integrated IPMI 2.0 + KVM with dedicated LAN }
\nodeUnitParameter{ Intel x540 Dual-port 10Gigabit Ethernet }
\nodeUnitParameter{ 10 x 2.5'' Solid State NVMe Disks }
\nodeUnitLastParameter{ 1000W Redundant High-efficiency Power Supply }
% Unit has a set of components parameters
\nodeUnitSetItem{2}{ Intel Xeon Silver 4114 10C 2.2GHz 13.75MB Cache }
\nodeUnitSetItem{1}{ 64GB DDR4 2666MHz ECC Reg (4 x 16GB) }
\nodeUnitSetItem{1}{ Samsung 960 EVO M.2 NVME SSD 500GB }
\nodeUnitSetItem{6}{ Ultrastar SN200 800GB NVMe SSD }
% \nodeUnitSetItem{1}{ No Operating System. Include testing and customer%
% OS preference in notes. }
% \nodeUnitSetItem{1}{ Return to Depot Warranty (3 Year Hardware Warranty%
% with Standard Advance Parts Replacement) }
\nodeUnitSetLastItem{1}{ Intel X710 Converged Network Adapter Quad-port 10GBaseT }
% Unit ends with notes, pass "none" parameter if no notes
%\nodeUnitSetNotes { none }
%%% END UNIT %%%
\end{tabu}
\end{table}
Notes applicable to all units:
{ 1. No Operating System. Include testing and customer OS preference in notes. }
{ 2. Return to Depot Warranty (3 Year Hardware Warranty with Standard Advance Parts Replacement) }
\newpage
\section{GNU/Linux Servers}
The servers will all run Debian GNU/Linux
\subsection{Denver Server List}
\begin{itemize}
\item \texttt{oc1.forksand.com} --- KVM host.
\item \texttt{rd1.forksand.com} --- Misc.
\end{itemize}
\vspace{10mm}
\texttt{\qquad oc1.forksand.com parameters}
\begin{minted}{sh}
Full Network:
70.39.125.64/27 Network
70.39.125.65 Gateway
70.39.125.66 AVAILABLE
70.39.125.94 AVAILABLE
70.39.125.95 Broadcast
255.255.255.224 Netmask
Break the main IP into a /30
# Main network interface
# 2 IPs
70.39.125.64/30 Network
70.39.125.65 Gateway
70.39.125.66 oc1
70.39.125.67 Broadcast
255.255.255.252 Netmask
# vmbr0 Bridge 0 with 2 IPs
70.39.125.68/30 Network
70.39.125.69 vmbr0 gateway
70.39.125.70 AVAILABLE
70.39.125.71 Broadcast
255.255.255.252 Netmask
# vmbr1 Bridge 1 with 6 IPs
70.39.125.72/29 Network
70.39.125.73 vmbr1 gateway
70.39.125.74 AVAILABLE
70.39.125.76 test99
70.39.125.78 AVAILABLE
70.39.125.79 Broadcast
255.255.255.248 Netmask
# vmbr2 Bridge 2 with 14 IPs
70.39.125.80/28 Network
70.39.125.81 vmbr2 gateway
70.39.125.92 AVAILABLE
70.39.125.94 AVAILABLE
70.39.125.95 Broadcast
255.255.255.240 Netmask
\end{minted}
\newpage
\texttt{\qquad rd1.forksand.com parameters}
\begin{minted}{sh}
Full Network:
174.128.229.128/27 Network
174.128.229.129 Gateway
174.128.229.130 Main rd1 IP
174.128.229.131 AVAILABLE
174.128.229.158 AVAILABLE
174.128.229.159 Broadcast
255.255.255.224 Netmask
Break the main network into a /30
# Main network interface
# 2 IPs
174.128.229.128/30 Network
174.128.229.129 Gateway
174.128.229.130 oc1
174.128.229.131 Broadcast
255.255.255.252 Netmask
# vmbr0 Bridge 0 with 2 IPs
174.128.229.132/30 Network
174.128.229.133 vmbr0 gateway
174.128.229.134 AVAILABLE
174.128.229.135 Broadcast
255.255.255.252 Netmask
# vmbr1 Bridge 1 with 6 IPs
174.128.229.136/29 Network
174.128.229.137 vmbr1 gateway
174.128.229.138 AVAILABLE
174.128.229.140 test99
174.128.229.142 AVAILABLE
174.128.229.143 Broadcast
255.255.255.248 Netmask
# vmbr2 Bridge 2 with 14 IPs
174.128.229.144/28 Network
174.128.229.145 vmbr2 gateway
174.128.229.156 AVAILABLE
174.128.229.158 AVAILABLE
174.128.229.159 Broadcast
255.255.255.240 Netmask
\end{minted}
\section{Network Hardware}
The network switches do not run free software.
\section{Disk Drives}
The disk drives do not run free software.
\begin{itemize}
\item Hard drive platters, 7200 RPM, 2.5'' and 3.5''
\item SSD
\item NVMe
\end{itemize}
\section{Suppliers}
Who we'll get hardware from.
\begin{itemize}
\item Pogo Linux --- Debian GNU/Linux Servers, USA.
\item Viking.net --- Coreboot Opteron servers in Germany.
\item raptorcs.com --- POWER9, custom Coreboot systems (?), USA.
\end{itemize}
\newcommand{\includescreen}[3]{
\begin{figure}[!ht]
\includegraphics[keepaspectratio=true,height=1.10\textheight,width=1.00\textwidth,angle=0]{#1}
\caption{#2}
#3
\end{figure}
}
\section{Shark nodes configuration. Using an example Shark2}
%\includescreen{shark2/01.png}{Log in to admin-webview}{}
\includescreen{shark2/02.png}{Log in to admin-webview}{\label{fig:shark2login}}
%\includescreen{shark2/03.png}{Logged in to admin-webview. Notification of no valid subscription}{}
%\includescreen{shark2/04.png}{Browse Datacenter, log hidden}{\label{fig:shark2browsedatacenter}}
%\includescreen{shark2/05.png}{Browse shark2 Node}{\label{fig:shark2browsenode}}
%\newpage
\includescreen{shark2/06.png}{Browse shark2 Network}{\label{fig:shark2network}}
%\includescreen{shark2/07.png}{Select first shark2 Network device}{}
\newpage
\includescreen{shark2/08.png}{Edit first shark2 Network device}{}
%\newpage
\includescreen{shark2/09.png}{Cleanup first shark2 Network device}{\label{fig:shark2cleanupnetdevice1}}
\newpage
\includescreen{shark2/10.png}{Browse shark2 Network}{}
\includescreen{shark2/11.png}{Create shark2 Linux Bridge}{\label{fig:shark2linuxbridge}}
%\includescreen{shark2/12.png}{Create shark2 Linux Bridge}{}
\newpage
\includescreen{shark2/13.png}{Create shark2 Linux Bridge}{}
{{\grenewcommand{\currentColor}{primary-blue}}}
{{\grenewcommand{\currentTextColor}{ao-black}}}
\providecommand{\sharkIPConfigItem}[4]{
\rowcolor{\currentColor} \vspace{-1pt}
\rule[-0.3em]{0pt}{-0.5em} \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#1}} & \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#2}} & \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#3}} & \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#4}} \\
}
\providecommand{\sharkIPConfigLastItem}[4]{
\rowcolor{\currentColor} \vspace{-1pt}
\rule[-1.0em]{0pt}{1em} \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#1}} & \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#2}} & \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#3}} & \vspace{-1pt}
\small{\textcolor{\currentTextColor}{#4}} \\
\tabucline[2pt]{1-4}
}
\providecommand{\SIPCCwidth}{3.5cm}
\begin{table}[!htb]
\caption{IP configs of nodes} \label{tab:sharkNodeIPConfig}
\begin{tabu}{|[2pt]p{\SIPCCwidth}|[2pt]p{\SIPCCwidth}|p{\SIPCCwidth}|p{\SIPCCwidth}|[2pt]}
\tabucline[2pt]{1-4}
\multicolumn {1}{|[2pt]l|[2pt]}{\rule[-0.7em]{0pt}{2em} \cellcolor{\currentColor}{Parameter}}&
\multicolumn {1}{l|}{\cellcolor{primary-brown} {Shark2}}&
\multicolumn {1}{l|}{\cellcolor{primary-brown} {Shark3}}&
\multicolumn {1}{l|[2pt]}{\cellcolor{primary-brown} {Shark4}} \\
\tabucline[2pt]{1-4}
\sharkIPConfigItem { Linux bridge }{}{}{}
\sharkIPConfigItem { Name }{ vmbr0 }{ vmbr0 }{ vmbr0 }
\sharkIPConfigItem { IP address }{ 174.128.229.130 }{ 70.39.103.218 }{ 70.39.103.210 }
\sharkIPConfigItem { Subnet mask }{ 255.255.255.224 }{ 255.255.255.248 }{ 255.255.255.248 }
\sharkIPConfigItem { Gateway }{ 174.128.229.129 }{ 70.39.103.217 }{ 70.39.103.209 }
\sharkIPConfigLastItem{ Bridge ports }{ enp2s0 }{ enp3s0 }{ enp3s0 }
\sharkIPConfigItem { Network Device }{}{}{}
\sharkIPConfigItem { Name }{ enp3s0 }{ enp4s0 }{ enp4s0 }
\sharkIPConfigItem { IP address }{ 10.2.2.2 }{ 10.2.2.3 }{ 10.2.2.4 }
\sharkIPConfigLastItem{ Subnet mask }{ 255.255.255.0 }{ 255.255.255.0 }{ 255.255.255.0 }
\sharkIPConfigItem { Network Device }{}{}{}
\sharkIPConfigItem { Name }{ enp4s0 }{ enp5s0 }{ enp5s0 }
\sharkIPConfigItem { IP address }{ 10.99.99.2 }{ 10.99.99.3 }{ 10.99.99.4 }
\sharkIPConfigLastItem{ Subnet mask }{ 255.255.255.0 }{ 255.255.255.0 }{ 255.255.255.0 }
\end{tabu}
\end{table}
\newpage
\includescreen{shark2/14.png}{Browse shark2 Network}{}
%\includescreen{shark2/15.png}{Select second shark2 Network device}{}
%\includescreen{shark2/16.png}{Edit second shark2 Network device}{}
\includescreen{shark2/17.png}{Edit second on the list shark2 Network device}{}
%\includescreen{shark2/18.png}{Browse shark2 Network}{}
%\includescreen{shark2/19.png}{Select third shark2 Network device}{}
%\includescreen{shark2/20.png}{Edit third shark2 Network device}{}
\newpage
\includescreen{shark2/21.png}{Edit third on the list shark2 Network device}{}
\begin{table}[!htb]
\caption{IP configs of nodes, duplicate of table \ref{tab:sharkNodeIPConfig}} % \label{tab:sharkLinuxBridge}
\begin{tabu}{|[2pt]p{\SIPCCwidth}|[2pt]p{\SIPCCwidth}|p{\SIPCCwidth}|p{\SIPCCwidth}|[2pt]}
\tabucline[2pt]{1-4}
\multicolumn {1}{|[2pt]l|[2pt]}{\rule[-0.7em]{0pt}{2em} \cellcolor{\currentColor}{Parameter}}&
\multicolumn {1}{l|}{\cellcolor{primary-brown} {Shark2}}&
\multicolumn {1}{l|}{\cellcolor{primary-brown} {Shark3}}&
\multicolumn {1}{l|[2pt]}{\cellcolor{primary-brown} {Shark4}} \\
\tabucline[2pt]{1-4}
\sharkIPConfigItem { Linux bridge }{}{}{}
\sharkIPConfigItem { Name }{ vmbr0 }{ vmbr0 }{ vmbr0 }
\sharkIPConfigItem { IP address }{ 174.128.229.130 }{ 70.39.103.218 }{ 70.39.103.210 }
\sharkIPConfigItem { Subnet mask }{ 255.255.255.224 }{ 255.255.255.248 }{ 255.255.255.248 }
\sharkIPConfigItem { Gateway }{ 174.128.229.129 }{ 70.39.103.217 }{ 70.39.103.209 }
\sharkIPConfigLastItem{ Bridge ports }{ enp2s0 }{ enp3s0 }{ enp3s0 }
\sharkIPConfigItem { Network Device }{}{}{}
\sharkIPConfigItem { Name }{ enp3s0 }{ enp4s0 }{ enp4s0 }
\sharkIPConfigItem { IP address }{ 10.2.2.2 }{ 10.2.2.3 }{ 10.2.2.4 }
\sharkIPConfigLastItem{ Subnet mask }{ 255.255.255.0 }{ 255.255.255.0 }{ 255.255.255.0 }
\sharkIPConfigItem { Network Device }{}{}{}
\sharkIPConfigItem { Name }{ enp4s0 }{ enp5s0 }{ enp5s0 }
\sharkIPConfigItem { IP address }{ 10.99.99.2 }{ 10.99.99.3 }{ 10.99.99.4 }
\sharkIPConfigLastItem{ Subnet mask }{ 255.255.255.0 }{ 255.255.255.0 }{ 255.255.255.0 }
\end{tabu}
\end{table}
\newpage
\includescreen{shark2/22.png}{Browse shark2 Network}{}
%\includescreen{shark2/23.png}{Browse shark2 node}{}
\includescreen{shark2/24.png}{Restart shark2 node}{}
%\clearpage % avoid LaTeX Error: Too many unprocessed floats.
%\section{Shark3 configuration}
%
%\includescreen{shark3/01.png}{Log in to admin-webview}{\label{fig:shark3login}}
%\includescreen{shark3/02.png}{Logged in to admin-webview. Notification of no valid subscription}{}
%\includescreen{shark3/03.png}{Browse Datacenter, log hidden}{\label{fig:shark3browsedatacenter}}
%\includescreen{shark3/04.png}{Browse Shark3 Node}{\label{fig:shark3browsenode}}
%\includescreen{shark3/05.png}{Shark3 Network}{\label{fig:shark3network}}
%\includescreen{shark3/06.png}{Browse Shark3 Network}{}
%\includescreen{shark3/07.png}{Select first Shark3 Network device}{}
%\includescreen{shark3/08.png}{Edit first Shark3 Network device}{}
%\includescreen{shark3/09.png}{Cleanup first Shark3 Network device}{\label{fig:shark3cleanupnetdevice1}}
%\includescreen{shark3/10.png}{Create Shark3 Linux Bridge}{\label{fig:shark3linuxbridge}}
%\includescreen{shark3/11.png}{Create Shark3 Linux Bridge}{}
%\includescreen{shark3/12.png}{Create Shark3 Linux Bridge}{}
%\includescreen{shark3/13.png}{Create Shark3 Linux Bridge}{}
%\includescreen{shark3/14.png}{Select second Shark3 Network device}{}
%\includescreen{shark3/15.png}{Edit second Shark3 Network device}{}
%\includescreen{shark3/16.png}{Edit second Shark3 Network device}{}
%\includescreen{shark3/17.png}{Select third Shark3 Network device}{}
%\includescreen{shark3/18.png}{Edit third Shark3 Network device}{}
%\includescreen{shark3/19.png}{Edit third Shark3 Network device}{}
%\includescreen{shark3/20.png}{Edit third Shark3 Network device}{}
%\includescreen{shark3/21.png}{Browse Shark3 node}{}
%\includescreen{shark3/22.png}{Restart Shark3 node}{}
%
%\clearpage % avoid LaTeX Error: Too many unprocessed floats.
%\section{Shark4 configuration}
%
%
%\includescreen{shark4/01.png}{Log in to admin-webview}{}
%\includescreen{shark4/02.png}{Log in to admin-webview}{\label{fig:shark4login}}
%\includescreen{shark4/03.png}{Browse Datacenter}{\label{fig:shark4browsedatacenter}}
%\includescreen{shark4/04.png}{Browse Datacenter, log hidden}{}
%\includescreen{shark4/05.png}{Browse Shark4 Node}{\label{fig:shark4browsenode}}
%\includescreen{shark4/06.png}{Shark4 Network}{\label{fig:shark4network}}
%\includescreen{shark4/07.png}{Select first Shark4 Network device}{}
%\includescreen{shark4/08.png}{Edit first Shark4 Network device}{}
%\includescreen{shark4/09.png}{Cleanup first Shark4 Network device}{\label{fig:shark4cleanupnetdevice1}}
%\includescreen{shark4/10.png}{Create Shark4 Linux Bridge}{\label{fig:shark4linuxbridge}}
%\includescreen{shark4/11.png}{Create Shark4 Linux Bridge}{}
%\includescreen{shark4/12.png}{Select second Shark4 Network device}{}
%\includescreen{shark4/13.png}{Select second Shark4 Network device}{}
%\includescreen{shark4/14.png}{Edit second Shark4 Network device}{}
%\includescreen{shark4/15.png}{Edit second Shark4 Network device}{}
%\includescreen{shark4/16.png}{Select second Shark4 Network device}{}
%\includescreen{shark4/17.png}{Edit second Shark4 Network device}{}
%\includescreen{shark4/18.png}{Edit second Shark4 Network device}{}
%\includescreen{shark4/19.png}{Restart Shark4 node}{}