Add outline first slide of talk.
authorRichard W.M. Jones <rjones@redhat.com>
Wed, 23 Oct 2019 09:38:33 +0000 (10:38 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Wed, 23 Oct 2019 09:40:44 +0000 (10:40 +0100)
2019-kvm-forum/.gitignore [new file with mode: 0644]
2019-kvm-forum/1000-introduction.html [new file with mode: 0644]
2019-kvm-forum/bashrc [new file with mode: 0644]
2019-kvm-forum/code.js [new file with mode: 0644]
2019-kvm-forum/functions [new file with mode: 0644]
2019-kvm-forum/notes/notes-01-introduction [moved from 2019-kvm-forum/notes-01-introduction with 100% similarity]
2019-kvm-forum/redhat.png [new file with mode: 0644]
2019-kvm-forum/run [new file with mode: 0755]
2019-kvm-forum/style.css [new file with mode: 0644]

diff --git a/2019-kvm-forum/.gitignore b/2019-kvm-forum/.gitignore
new file mode 100644 (file)
index 0000000..b9bdd59
--- /dev/null
@@ -0,0 +1,8 @@
+/bindings
+/history
+/2000-loop-mounting.d/fedora-29.img
+/3000-xz-compressed.d/Fedora-Cloud-Base-29-1.2.x86_64.raw.xz
+/5100-shell.d/badblocks.sh
+/nbdview/error?
+/nbdview/log?
+/nbdview/sock?
\ No newline at end of file
diff --git a/2019-kvm-forum/1000-introduction.html b/2019-kvm-forum/1000-introduction.html
new file mode 100644 (file)
index 0000000..d73c841
--- /dev/null
@@ -0,0 +1,25 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<div id="titlepage">
+  <p class="title">
+    Making the Most of NBD
+  </p>
+
+  <p class="author">
+    Eric Blake <small>eblake @ redhat.com</small> <br>
+    Richard W.M. Jones <small>(rjones @ redhat.com)</small> <br/>
+    <small>16:45 Thursday October 31st, 2019</small>
+  </p>
+
+  <p class="abstract">
+    The Network Block Device (NBD) protocol dates back to Linux 2.1.55
+    in April 1997, pre-dating iSCSI as a means for block device access
+    of remote storage. However, in more recent years, the protocol has
+    seen a revival as virtualization scenarios have used and extended
+    its features for a variety of tasks.
+    <br/>
+    XXX maybe more here XXX
+  </p>
+</div>
diff --git a/2019-kvm-forum/bashrc b/2019-kvm-forum/bashrc
new file mode 100644 (file)
index 0000000..f526961
--- /dev/null
@@ -0,0 +1,19 @@
+# -*- shell-script -*-
+
+# Colour ls.
+if [ -f /etc/profile.d/colorls.sh ]; then . /etc/profile.d/colorls.sh; fi
+
+# Fancy prompt colours (see
+# https://wiki.archlinux.org/index.php/Color_Bash_Prompt)
+promptcol='\e[0;32m'      ;# colour for the prompt
+commandcol='\e[1;31m'     ;# colour for the typed command
+outputcol='\e[0m'         ;# colour for command output
+
+export PS1="\n\[$promptcol\]\$ \[$commandcol\]"
+
+trap 'echo -ne "$outputcol"' DEBUG
+
+# Load key bindings (if any).
+bind -f $talkdir/bindings
+
+echo $title
diff --git a/2019-kvm-forum/code.js b/2019-kvm-forum/code.js
new file mode 100644 (file)
index 0000000..261fc85
--- /dev/null
@@ -0,0 +1,61 @@
+function plugins ()
+{
+    document.write ("\
+<div class=\"plugins\"> \
+<p id=\"caption\">plugins available in nbdkit 1.10</p> \
+<ul> \
+<li id=\"plugin-curl\"> curl \
+<li id=\"plugin-data\"> data \
+<li id=\"plugin-ext2\"> ext2 \
+<li id=\"plugin-file\"> file \
+<li id=\"plugin-floppy\"> floppy \
+<li id=\"plugin-full\"> full \
+<li id=\"plugin-guestfs\"> guestfs \
+<li id=\"plugin-gzip\"> gzip \
+<li id=\"plugin-iso\"> iso \
+<li id=\"plugin-libvirt\"> libvirt \
+<li id=\"plugin-lua\"> lua \
+<li id=\"plugin-memory\"> memory \
+<li id=\"plugin-nbd\"> nbd \
+<li id=\"plugin-null\"> null \
+<li id=\"plugin-ocaml\"> ocaml \
+<li id=\"plugin-partitioning\"> partitioning \
+<li id=\"plugin-pattern\"> pattern \
+<li id=\"plugin-perl\"> perl \
+<li id=\"plugin-python\"> python \
+<li id=\"plugin-random\"> random \
+<li id=\"plugin-ruby\"> ruby \
+<li id=\"plugin-sh\"> sh \
+<li id=\"plugin-split\"> split \
+<li id=\"plugin-streaming\"> streaming \
+<li id=\"plugin-tar\"> tar \
+<li id=\"plugin-tcl\"> tcl \
+<li id=\"plugin-vddk\"> vddk \
+<li id=\"plugin-zero\"> zero \
+</ul> \
+</div> \
+");
+}
+
+function filters (layer)
+{
+    document.write ("\
+<div class=\"filters\"> \
+<p class=\"filtercaption\">filters available in nbdkit 1.10</p> \
+<ul> \
+<li id=\"filter" + layer + "-blocksize\"> blocksize \
+<li id=\"filter" + layer + "-cache\"> cache \
+<li id=\"filter" + layer + "-cow\"> cow \
+<li id=\"filter" + layer + "-delay\"> delay \
+<li id=\"filter" + layer + "-error\"> error \
+<li id=\"filter" + layer + "-fua\"> fua \
+<li id=\"filter" + layer + "-log\"> log \
+<li id=\"filter" + layer + "-nozero\"> nozero \
+<li id=\"filter" + layer + "-offset\"> offset \
+<li id=\"filter" + layer + "-partition\"> partition \
+<li id=\"filter" + layer + "-truncate\"> truncate \
+<li id=\"filter" + layer + "-xz\"> xz \
+</ul> \
+</div> \
+");
+}
diff --git a/2019-kvm-forum/functions b/2019-kvm-forum/functions
new file mode 100644 (file)
index 0000000..7baaed0
--- /dev/null
@@ -0,0 +1,40 @@
+# -*- shell-script -*-
+# This creates some standard functions.  See also $talkdir/bashrc
+# which runs in the same bash context as the terminal.
+
+# Place any local environment variables and settings in "local".
+if [ -f local ]; then source local; fi
+
+# Environment variables.
+export HISTFILE=$talkdir/history
+export PATH=$talkdir:$PATH
+export EDITOR="emacs -nw"
+
+# remember <command> <args ...>
+#
+# This function does two things: (1) It adds the command and arguments
+# to the shell history, so that commands can be recalled using up
+# arrow or reverse search.  (2) It makes a function key recall the
+# command.  The first command is assigned to F2, the second to F3 and
+# so forth.
+
+rm -f $HISTFILE
+touch $HISTFILE
+rm -f $talkdir/bindings
+touch bindings
+
+fnum=2
+keys=(- OP OQ OR OS '[15~' '[17~' '[18~' '[19~' '[20~' '[21~')
+
+remember ()
+{
+    echo "$@" >> $HISTFILE
+    echo \"\\e${keys[$fnum]}\":\"\\C-k \\C-u"$@"\" >> $talkdir/bindings
+    ((fnum++))
+}
+
+terminal ()
+{
+    chmod -w $HISTFILE
+    /bin/bash --rcfile $talkdir/bashrc "$@"
+}
diff --git a/2019-kvm-forum/redhat.png b/2019-kvm-forum/redhat.png
new file mode 100644 (file)
index 0000000..f50076a
Binary files /dev/null and b/2019-kvm-forum/redhat.png differ
diff --git a/2019-kvm-forum/run b/2019-kvm-forum/run
new file mode 100755 (executable)
index 0000000..6645a8e
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash -
+# Run the talk.
+
+set -e
+
+# Avoid GNOME keyring stupidity
+export GNOME_KEYRING_CONTROL=
+export GNOME_KEYRING_PID=
+
+# No proxy.
+#unset http_proxy
+#unset https_proxy
+#unset ftp_proxy
+
+# If we need to precreate any files.
+# ...
+
+# Run techtalk.
+techtalk-pse
+#~/d/techtalk-pse/techtalk-pse
diff --git a/2019-kvm-forum/style.css b/2019-kvm-forum/style.css
new file mode 100644 (file)
index 0000000..35588a8
--- /dev/null
@@ -0,0 +1,243 @@
+/* Red Hat red is rgb(204,0,0). */
+
+body {
+    background: url(redhat.png) no-repeat;
+    background-position: 98% 0;
+    /* font-size: 28pt; */ /* For max */
+    font-size: 20pt; /* For 1024x768 */
+    /* font-family: liberation, helvetica; */
+    font-family: helvetica;
+
+    /* Can be used to scale the whole document. */
+    /*transform: translate(-10%,-10%) scale(0.75,0.75);*/
+}
+
+body td, body th { /* why?? */
+    font-size: 24pt;
+    padding-bottom: 8px;
+}
+
+h1 {
+    color: rgb(204,0,0);
+    /*font-size: 48px;*/
+    font-size: 40px;
+    top: 8;
+    left: 0;
+    border-bottom: 2px solid rgb(204,0,0);
+}
+
+h2 {
+    color: rgb(204,0,0);
+    font-size: 32px;
+    font-style: italic;
+    border-bottom: 2px solid rgb(204,0,0);
+}
+
+b {
+    color: rgb(204,0,0);
+}
+
+/* Title page. */
+div#titlepage {
+    margin-top: 100px;
+    width: 80%;
+    margin-left: 10%;
+}
+
+div#titlepage p.title {
+    color: rgb(204,0,0);
+    font-weight: bold;
+    font-size: 48px;
+    text-align: left;
+}
+
+div#titlepage p.author {
+    font-size: 36px;
+    text-align: left;
+}
+
+div#titlepage p.abstract {
+    font-size: 28px;
+    text-align: left;
+}
+
+/* Code */
+pre.code {
+    margin-left: 1em;
+    background: #eee;
+}
+
+code {
+    color: rgb(204,0,0);
+}
+
+/* Bullet points */
+li {
+    padding-bottom: 16px;
+}
+
+/* Plugins box. */
+div.plugins {
+    background: #f8f8ff;
+    border: 1px solid rgb(204,0,0);
+    border-radius: 15px;
+    margin-left: auto;
+    margin-right: auto;
+    width: 800px;
+    height: 400px;
+    /* Position relative is needed so that items may be
+       positioned inside. */
+    position: relative;
+}
+
+div.plugins p#caption {
+    position: absolute;
+    bottom: -5px; right: 5px;
+    color: rgb(204,0,0);
+    text-align: right;
+    font-size: 16px;
+    font-weight: bold;
+}
+
+div.plugins ul {
+    position: absolute;
+    top: 10%;
+    width: 700px;
+    height: 380px;
+    column-count: 4;
+    list-style-type: none;
+    margin: 0;
+}
+
+div.plugins ul li {
+    padding: 0px;
+    margin: 5px;
+}
+
+div.plugins ul li.highlighted {
+    border: 1px solid rgb(204,0,0);
+    background: #fff;
+    padding-left: 10px;
+    color: rgb(204,0,0);
+    border-radius: 20px;
+    font-weight: bold;
+}
+
+/* Filters box. */
+div.filters {
+    background: #f8fff8;
+    border: 1px solid rgb(204,0,0);
+    border-radius: 15px;
+    margin-left: auto;
+    margin-right: auto;
+    width: 800px;
+    height: 200px;
+    /* Position relative is needed so that items may be
+       positioned inside. */
+    position: relative;
+}
+
+div.filters p.filtercaption {
+    position: absolute;
+    bottom: -5px; right: 5px;
+    color: rgb(204,0,0);
+    text-align: right;
+    font-size: 16px;
+    font-weight: bold;
+}
+
+div.filters ul {
+    position: absolute;
+    top: 10%;
+    width: 700px;
+    height: 180px;
+    column-count: 4;
+    list-style-type: none;
+    margin: 0;
+}
+
+div.filters ul li {
+    padding: 0px;
+    margin: 5px;
+}
+
+div.filters ul li.highlighted {
+    border: 1px solid rgb(204,0,0);
+    background: #fff;
+    padding-left: 10px;
+    color: rgb(204,0,0);
+    border-radius: 20px;
+    font-weight: bold;
+}
+
+/* For images which must be centered on the page. */
+div.allcenter {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 50vw;
+}
+
+div.all-center img {
+}
+
+/* Outlined text. */
+.outline {
+    text-shadow: 2px 2px 0 rgb(204,0,0),
+                 -2px 2px 0 rgb(204,0,0),
+                 2px -2px 0 rgb(204,0,0),
+                 -2px -2px 0 rgb(204,0,0),
+                 0px 2px 0 rgb(204,0,0),
+                 0px -2px 0 rgb(204,0,0),
+                 -2px 0px 0 rgb(204,0,0),
+                 2px 0px 0 rgb(204,0,0),
+                 4px 4px 0 rgb(204,0,0),
+                 -4px 4px 0 rgb(204,0,0),
+                 4px -4px 0 rgb(204,0,0),
+                 -4px -4px 0 rgb(204,0,0),
+
+                 0px 4px 0 rgb(204,0,0),
+                 0px -4px 0 rgb(204,0,0),
+                 -4px 0px 0 rgb(204,0,0),
+                 4px 0px 0 rgb(204,0,0),
+                 2px 4px 0 rgb(204,0,0),
+                 -2px 4px 0 rgb(204,0,0),
+                 2px -4px 0 rgb(204,0,0),
+                 -2px -4px 0 rgb(204,0,0),
+                 4px 2px 0 rgb(204,0,0),
+                 -4px 2px 0 rgb(204,0,0),
+                 4px -2px 0 rgb(204,0,0),
+                 -4px -2px 0 rgb(204,0,0),
+
+                 4px 4px 0 rgb(255,128,128),
+                 -4px 4px 0 rgb(255,128,128),
+                 4px -4px 0 rgb(255,128,128),
+                 -4px -4px 0 rgb(255,128,128),
+                 0px 4px 0 rgb(255,128,128),
+                 0px -4px 0 rgb(255,128,128),
+                 -4px 0px 0 rgb(255,128,128),
+                 4px 0px 0 rgb(255,128,128),
+                 8px 8px 0 rgb(255,128,128),
+                 -8px 8px 0 rgb(255,128,128),
+                 8px -8px 0 rgb(255,128,128),
+                 -8px -8px 0 rgb(255,128,128),
+
+                 0px 8px 0 rgb(255,128,128),
+                 0px -8px 0 rgb(255,128,128),
+                 -8px 0px 0 rgb(255,128,128),
+                 8px 0px 0 rgb(255,128,128),
+                 4px 8px 0 rgb(255,128,128),
+                 -4px 8px 0 rgb(255,128,128),
+                 4px -8px 0 rgb(255,128,128),
+                 -4px -8px 0 rgb(255,128,128),
+                 8px 4px 0 rgb(255,128,128),
+                 -8px 4px 0 rgb(255,128,128),
+                 8px -4px 0 rgb(255,128,128),
+                 -8px -4px 0 rgb(255,128,128);
+}
+
+/* Warning symbol. */
+span.warning {
+    background-color: yellow;
+    font-weight: bold;
+}