Add private talk from 2014 KVM Forum.
authorRichard W.M. Jones <rjones@redhat.com>
Tue, 16 Sep 2014 17:41:12 +0000 (18:41 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Tue, 7 Oct 2014 14:07:45 +0000 (15:07 +0100)
18 files changed:
2014-kvm-forum/.gitignore [new file with mode: 0644]
2014-kvm-forum/0000-introduction.html [new file with mode: 0644]
2014-kvm-forum/1000-virt-v2v.term [new file with mode: 0755]
2014-kvm-forum/2000-how-it-works-1.html [new file with mode: 0644]
2014-kvm-forum/3000-how-it-works-2.html [new file with mode: 0644]
2014-kvm-forum/4000-how-it-works-3.html [new file with mode: 0644]
2014-kvm-forum/5000-how-it-works-4.html [new file with mode: 0644]
2014-kvm-forum/6000-performance.html [new file with mode: 0644]
2014-kvm-forum/7000-nice-to-have.html [new file with mode: 0644]
2014-kvm-forum/9000-final.html [new file with mode: 0644]
2014-kvm-forum/README [new file with mode: 0644]
2014-kvm-forum/bashrc [new file with mode: 0644]
2014-kvm-forum/code.js [new file with mode: 0644]
2014-kvm-forum/functions [new file with mode: 0644]
2014-kvm-forum/redhat.png [new file with mode: 0644]
2014-kvm-forum/run [new file with mode: 0755]
2014-kvm-forum/style.css [new file with mode: 0644]
2014-kvm-forum/virt-v2v.d/windows.qcow2 [new file with mode: 0644]

diff --git a/2014-kvm-forum/.gitignore b/2014-kvm-forum/.gitignore
new file mode 100644 (file)
index 0000000..29d8f51
--- /dev/null
@@ -0,0 +1,4 @@
+/bindings
+/history
+/virt-v2v.d/windows-sda
+/virt-v2v.d/windows.xml
diff --git a/2014-kvm-forum/0000-introduction.html b/2014-kvm-forum/0000-introduction.html
new file mode 100644 (file)
index 0000000..7f991cf
--- /dev/null
@@ -0,0 +1,17 @@
+<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">
+    New qemu technology used in virt-v2v
+  </p>
+  <p><author>
+      Richard W.M. Jones <br/>
+      <small>rjones @ redhat.com</small>
+  </author></p>
+  <p>
+    <i>virt-v2v converts guests from VMware, Xen, Hyper-V, and
+      physical machines, so they run efficiently on KVM</i>
+  </p>
+</div>
diff --git a/2014-kvm-forum/1000-virt-v2v.term b/2014-kvm-forum/1000-virt-v2v.term
new file mode 100755 (executable)
index 0000000..01275a4
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/bash -
+
+source functions
+
+# History.
+remember 'virt-v2v -i disk windows.qcow2 -o local -os .'
+remember 'ls -l -h'
+
+echo "Running virt-v2v"
+
+cd virt-v2v.d
+terminal
diff --git a/2014-kvm-forum/2000-how-it-works-1.html b/2014-kvm-forum/2000-how-it-works-1.html
new file mode 100644 (file)
index 0000000..6c72a49
--- /dev/null
@@ -0,0 +1,41 @@
+<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>
+
+<h1>How does virt-v2v work?  <small>Old vs New</small></h1>
+
+<table>
+<tr>
+<th>
+<b>Old</b>
+</th>
+<td>(RHEL 6)</td>
+<td>
+<pre>
+       copy
+VMware ────▶    v2v    ────▶ RHEV-M
+             conversion
+</pre>
+</td>
+</tr>
+
+<tr>
+<td></td>
+<td></td>
+<td> <hr/> </td>
+</tr>
+
+<tr>
+<th>
+<b>New</b>
+</th>
+<td>(RHEL 7.1)</td>
+<td>
+<pre>
+               copy
+        v2v    ────────▶
+     conversion
+</pre>
+</td>
+</tr>
+</table>
diff --git a/2014-kvm-forum/3000-how-it-works-2.html b/2014-kvm-forum/3000-how-it-works-2.html
new file mode 100644 (file)
index 0000000..33298e7
--- /dev/null
@@ -0,0 +1,18 @@
+<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>
+
+<h1>How does virt-v2v work?  #1</h1>
+
+<pre>
+VMware      ┌───────────────┐
+(curl)      │ overlay.qcow2 │
+Xen         │               │
+(ssh) ──◀───│               │
+physical    │               │
+(nbd)       │               │
+local disk  └───────────────┘
+                  convert
+</pre>
+
+<p>Backing file with Copy on read enabled</p>
diff --git a/2014-kvm-forum/4000-how-it-works-3.html b/2014-kvm-forum/4000-how-it-works-3.html
new file mode 100644 (file)
index 0000000..1d84406
--- /dev/null
@@ -0,0 +1,16 @@
+<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>
+
+<h1>How does virt-v2v work?  #2</h1>
+
+<pre>
+            ┌───────────────┐
+            │ overlay.qcow2 │
+backing     │               │
+image ──◀───│               │
+            │               │
+            │               │
+            └───────────────┘
+                 fstrim
+</pre>
diff --git a/2014-kvm-forum/5000-how-it-works-4.html b/2014-kvm-forum/5000-how-it-works-4.html
new file mode 100644 (file)
index 0000000..e4436d4
--- /dev/null
@@ -0,0 +1,19 @@
+<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>
+
+<h1>How does virt-v2v work?  #3</h1>
+
+<pre>
+            ┌───────────────┐
+            │ overlay.qcow2 │
+backing     │               │    copy
+image ──◀───│               │──────────▶
+            │               │
+            │               │
+            └───────────────┘
+</pre>
+
+<p>
+qemu-img convert overlay.qcow2 target
+</p>
diff --git a/2014-kvm-forum/6000-performance.html b/2014-kvm-forum/6000-performance.html
new file mode 100644 (file)
index 0000000..c82c142
--- /dev/null
@@ -0,0 +1,7 @@
+<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>
+
+<h1>Performance</h1>
+
+<i>(The missing slide)</i>
diff --git a/2014-kvm-forum/7000-nice-to-have.html b/2014-kvm-forum/7000-nice-to-have.html
new file mode 100644 (file)
index 0000000..eff2c92
--- /dev/null
@@ -0,0 +1,11 @@
+<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>
+
+<h1>Nice to have</h1>
+
+<ul>
+<li> Streaming
+<li> qemu defaults that understand libguestfs needs <br/>
+  a.k.a Work! Dammit!
+</ul>
diff --git a/2014-kvm-forum/9000-final.html b/2014-kvm-forum/9000-final.html
new file mode 100644 (file)
index 0000000..e17e48c
--- /dev/null
@@ -0,0 +1,13 @@
+<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>
+
+<h1>virt-v2v</h1>
+
+<ul>
+<li> Project page: <a href="http://libguestfs.org/"><b><big>libguestfs.org</big></b></a>
+<li> <a href="http://libguestfs.org/virt-v2v.1.html">http://libguestfs.org/virt-v2v.1.html</a>
+<li> Fedora &ge; 21, RHEL &ge; 7.1, Debian experimental, Ubuntu 15.x
+<li> Widely used and (to a lesser extent) liked by Red Hat customers and
+  Professional Services.
+</ul>
diff --git a/2014-kvm-forum/README b/2014-kvm-forum/README
new file mode 100644 (file)
index 0000000..32fdcbc
--- /dev/null
@@ -0,0 +1,11 @@
+This is a presentation given privately to the Red Hat KVM developers
+at the 2014 KVM Forum in Dusseldorf, covering the new technology from
+qemu that was used when writing virt-v2v.
+
+It is essentially a longer version of this blog posting:
+
+http://rwmj.wordpress.com/2014/08/29/virt-v2v-better-living-through-new-technology/#content
+
+For more information about virt-v2v, read the manual here:
+
+http://libguestfs.org/virt-v2v.1.html
diff --git a/2014-kvm-forum/bashrc b/2014-kvm-forum/bashrc
new file mode 100644 (file)
index 0000000..4c6a3c6
--- /dev/null
@@ -0,0 +1,17 @@
+# -*- 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
diff --git a/2014-kvm-forum/code.js b/2014-kvm-forum/code.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/2014-kvm-forum/functions b/2014-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/2014-kvm-forum/redhat.png b/2014-kvm-forum/redhat.png
new file mode 100644 (file)
index 0000000..f50076a
Binary files /dev/null and b/2014-kvm-forum/redhat.png differ
diff --git a/2014-kvm-forum/run b/2014-kvm-forum/run
new file mode 100755 (executable)
index 0000000..e80f070
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash -
+# Run the talk.
+
+# Avoid GNOME keyring stupidity
+export GNOME_KEYRING_CONTROL=
+export GNOME_KEYRING_PID=
+
+# Clean up everything.
+find -name '*~' -delete
+rm -f virt-v2v.d/windows.xml
+rm -f virt-v2v.d/windows-sda
+
+# No proxy.
+unset http_proxy
+unset https_proxy
+unset ftp_proxy
+
+# Get everything into the cache.
+guestfish -a /dev/null run > /dev/null &
+
+# Run techtalk.
+techtalk-pse
diff --git a/2014-kvm-forum/style.css b/2014-kvm-forum/style.css
new file mode 100644 (file)
index 0000000..e32fc48
--- /dev/null
@@ -0,0 +1,67 @@
+/* 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;
+}
+
+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);
+}
+
+b {
+    color: rgb(204,0,0);
+}
+
+div#titlepage {
+    margin-top: 100px;
+    text-align: center;
+}
+
+div#titlepage p.title {
+    color: rgb(204,0,0);
+    font-weight: bold;
+    font-size: 48px;
+}
+
+div#titlepage author {
+    font-size: 36px;
+}
+
+/* Code */
+pre.code {
+    margin-left: 1em;
+    background: #eee;
+}
+
+code {
+    color: rgb(204,0,0);
+}
+
+/* Bullet points */
+li {
+    padding-bottom: 16px;
+}
+
+/* Logo */
+img#fish {
+    position: absolute;
+    top: 128px;
+    right: 32px;
+    width: 200px;
+    /*height: 256px;*/
+}
\ No newline at end of file
diff --git a/2014-kvm-forum/virt-v2v.d/windows.qcow2 b/2014-kvm-forum/virt-v2v.d/windows.qcow2
new file mode 100644 (file)
index 0000000..0de7a3a
Binary files /dev/null and b/2014-kvm-forum/virt-v2v.d/windows.qcow2 differ