[libvirt_application_development_guide_using_python] Storage chapter - added example 4 - added support verbage for the new example in the Lifecycle sec
by David Ashley
commit 44915f0d3d61122212fa9505769ac59f481a2f8c
Author: W. David Ashley <w.david.ashley(a)gmail.com>
Date: Thu Jul 30 19:50:44 2015 -0500
Storage chapter
- added example 4
- added support verbage for the new example in the Lifecycle section
- updated some of the verbage in the Pool Usage section
en-US/Storage_Pools.xml | 31 ++++++++++++++++++++-
en-US/extras/StoragePools-Example-4.py | 48 ++++++++++++++++++++++++++++++++
2 files changed, 78 insertions(+), 1 deletions(-)
---
diff --git a/en-US/Storage_Pools.xml b/en-US/Storage_Pools.xml
index 0153ef2..38466c1 100644
--- a/en-US/Storage_Pools.xml
+++ b/en-US/Storage_Pools.xml
@@ -44,6 +44,23 @@
<programlisting language="Python"><xi:include href="extras/StoragePools-Example-2.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</example>
<para>
+ Many of the methods shown in the previous example provide information concerning storage pools
+ that are on remote file systems, disk systems, or types other that local file systems.
+ For instance. if the <literal>autostart</literal> flag is set then when the user connects to
+ the storage pool libvirt will automatically make the storage pool available if it is not
+ on a local file system e.g. an NFS mount. Storage pools on local file systems also need to be
+ started if the <literal>autostart</literal> is not set.
+ </para>
+ <para>
+ The <literal>isActive</literal> indicates whether or not the user must activate the storage
+ pool in some way. The <literal>create</literal> method can activate a storage pool.
+ </para>
+ <para>
+ The <literal>isPersistent</literal> indicates whether or not a storage pool needs to be activated
+ using <literal>create</literal> method. A value of 1 indicates that the storage pool is persistent
+ and will remain on the file system after it is realeased.
+ </para>
+ <para>
The following example shows how to get the XML description of a storage pool.
</para>
<example>
@@ -55,8 +72,20 @@
<section id="libvirt_application_development_guide_using_python-Storage_Pools-Lifecycle">
<title>Lifecycle control</title>
<para>
- TBD
+ The following example shows how to create and destroy both a persistent and a
+ non-persistent storage pool. Note that a storage pool can not be destroyed if
+ it is in a active state. By default storage pools are created in a inactive state.
</para>
+ <example>
+ <title>Create and destroy storage pools</title>
+ <programlisting language="Python"><xi:include href="extras/StoragePools-Example-4.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ <para>
+ Note that the storage volumes defined in a storage pool will remain on the file system
+ unless the <literal>delete</literal> method is called. But be careful about leaving storage
+ volumes in place because if they exist on a remote file system or disk then that file system
+ may become unavailable to the guest domain since there will be no mechanism to reactivate the
+ remote file system or disk by the libvirt storage system at a future time.
</section>
<section id="libvirt_application_development_guide_using_python-Storage_Pools-Discover_Sources">
diff --git a/en-US/extras/StoragePools-Example-4.py b/en-US/extras/StoragePools-Example-4.py
new file mode 100644
index 0000000..85f7e21
--- /dev/null
+++ b/en-US/extras/StoragePools-Example-4.py
@@ -0,0 +1,48 @@
+# Example-4.py
+from __future__ import print_function
+import sys
+import libvirt
+xmlDesc = """
+<pool type='dir'>
+ <name>mypool</name>
+ <uuid>8c79f996-cb2a-d24d-9822-ac7547ab2d01</uuid>
+ <capacity unit='bytes'>4306780815</capacity>
+ <allocation unit='bytes'>237457858</allocation>
+ <available unit='bytes'>4069322956</available>
+ <source>
+ </source>
+ <target>
+ <path>/home/dashley/images</path>
+ <permissions>
+ <mode>0755</mode>
+ <owner>-1</owner>
+ <group>-1</group>
+ </permissions>
+ </target>
+</pool>"""
+
+conn = libvirt.open('qemu:///system')
+if conn == None:
+ print('Failed to open connection to qemu:///system', file=sys.stderr)
+ exit(1)
+
+# create a new persistent storage pool
+pool = conn.storagePoolDefineXML(xmlDesc, 0)
+if pool == None:
+ print('Failed to create StoragePool object.', file=sys.stderr)
+ exit(1)
+
+# destroy the storage pool
+pool.undefine()
+
+# create a new non-persistent storage pool
+pool = conn.storagePoolCreateXML(xmlDesc, 0)
+if pool == None:
+ print('Failed to create StoragePool object.', file=sys.stderr)
+ exit(1)
+
+# destroy the storage pool
+pool.undefine()
+
+conn.close()
+exit(0)
8 years, 7 months
[libvirt_application_development_guide_using_python] Storage pools chapter - Added examples 1-3 - Added supporting verbage for the examples
by David Ashley
commit 5a78890b370a4a414d1af2829b818301b74b3a00
Author: W. David Ashley <w.david.ashley(a)gmail.com>
Date: Tue Jul 28 20:45:35 2015 -0500
Storage pools chapter
- Added examples 1-3
- Added supporting verbage for the examples
en-US/Storage_Pools.xml | 172 ++++++++++++++++++--------------
en-US/extras/StoragePools-Example-1.py | 20 ++++
en-US/extras/StoragePools-Example-2.py | 24 +++++
en-US/extras/StoragePools-Example-3.py | 19 ++++
4 files changed, 160 insertions(+), 75 deletions(-)
---
diff --git a/en-US/Storage_Pools.xml b/en-US/Storage_Pools.xml
index 89e647d..0153ef2 100644
--- a/en-US/Storage_Pools.xml
+++ b/en-US/Storage_Pools.xml
@@ -4,94 +4,116 @@
%BOOK_ENTITIES;
]>
<chapter id="libvirt_application_development_guide_using_python-Storage_Pools">
- <title>Storage Pools</title>
- <para>
- This is a test paragraph
- </para>
-
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Overview">
- <title>Overview</title>
+ <title>Storage Pools</title>
<para>
- TBD
+ Storage pools allow a system administrator to divide a system's storage into logical locations
+ in order to store all the guest domain disk images as defined by the administrator. A system can
+ have a single storage pool or as many as deemed necessary by the storage administrator, all in
+ diverse locations. The storage administrator is responsible for devising the storage scheme
+ to be used and how the storage pools are to be used.
</para>
- </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Listingt">
- <title>Listing pools</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Overview">
+ <title>Overview</title>
+ <para>
+ Storage pools are the containers for storage volumes. A system may have as many storage pools
+ as needed and each storage pool may contain as many storage volumes as necessary.
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Usage">
- <title>Pool usage</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Listingt">
+ <title>Listing pools</title>
+ <para>
+ Storage pool objects can be obtained using the <literal>listAllStoragePools</literal> method of the
+ <literal>virConnect</literal> class.
+ </para>
+ <example>
+ <title>Get the list of storage pools</title>
+ <programlisting language="Python"><xi:include href="extras/StoragePools-Example-1.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Lifecycle">
- <title>Lifecycle control</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Usage">
+ <title>Pool usage</title>
+ <para>
+ There are a number of methods available in the <literal>virStoragePool</literal> class. The
+ following example program features a number of the methods which describe some attributes of a pool.
+ </para>
+ <example>
+ <title>Show the usage of some storage pool methods</title>
+ <programlisting language="Python"><xi:include href="extras/StoragePools-Example-2.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ <para>
+ The following example shows how to get the XML description of a storage pool.
+ </para>
+ <example>
+ <title>Get the XML description of a storage pool</title>
+ <programlisting language="Python"><xi:include href="extras/StoragePools-Example-3.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Discover_Sources">
- <title>Discovering pool sources</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Lifecycle">
+ <title>Lifecycle control</title>
+ <para>
+ TBD
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Pool_Config">
- <title>Pool configuration</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Discover_Sources">
+ <title>Discovering pool sources</title>
+ <para>
+ TBD
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Volume">
- <title>Volume overview</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Pool_Config">
+ <title>Pool configuration</title>
+ <para>
+ TBD
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Listing">
- <title>Listing volumes</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Volume">
+ <title>Volume overview</title>
+ <para>
+ TBD
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Vol_Info">
- <title>Volume information</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Listing">
+ <title>Listing volumes</title>
+ <para>
+ TBD
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Create_Remove">
- <title>Creating and deleting volumes</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Vol_Info">
+ <title>Volume information</title>
+ <para>
+ TBD
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Cloning">
- <title>Cloning volumes</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Create_Remove">
+ <title>Creating and deleting volumes</title>
+ <para>
+ TBD
+ </para>
+ </section>
- <section id="libvirt_application_development_guide_using_python-Storage_Pools-Config_Vol">
- <title>Configuring volumes</title>
- <para>
- TBD
- </para>
- </section>
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Cloning">
+ <title>Cloning volumes</title>
+ <para>
+ TBD
+ </para>
+ </section>
+
+ <section id="libvirt_application_development_guide_using_python-Storage_Pools-Config_Vol">
+ <title>Configuring volumes</title>
+ <para>
+ TBD
+ </para>
+ </section>
</chapter>
diff --git a/en-US/extras/StoragePools-Example-1.py b/en-US/extras/StoragePools-Example-1.py
new file mode 100644
index 0000000..1b1e23d
--- /dev/null
+++ b/en-US/extras/StoragePools-Example-1.py
@@ -0,0 +1,20 @@
+# Example-1.py
+from __future__ import print_function
+import sys
+import libvirt
+
+conn = libvirt.open('qemu:///system')
+if conn == None:
+ print('Failed to open connection to qemu:///system', file=sys.stderr)
+ exit(1)
+
+pools = conn.listAllStoragePools(0)
+if pools == None:
+ print('Failed to locate any StoragePool objects.', file=sys.stderr)
+ exit(1)
+
+for pool in pools:
+ print('Pool: '+pool.name())
+
+conn.close()
+exit(0)
diff --git a/en-US/extras/StoragePools-Example-2.py b/en-US/extras/StoragePools-Example-2.py
new file mode 100644
index 0000000..fd1fe58
--- /dev/null
+++ b/en-US/extras/StoragePools-Example-2.py
@@ -0,0 +1,24 @@
+# Example-2.py
+from __future__ import print_function
+import sys
+import libvirt
+
+conn = libvirt.open('qemu:///system')
+if conn == None:
+ print('Failed to open connection to qemu:///system', file=sys.stderr)
+ exit(1)
+
+pool = conn.storagePoolLookupByName('default')
+if pool == None:
+ print('Failed to locate any StoragePool objects.', file=sys.stderr)
+ exit(1)
+
+print('Pool: '+pool.name())
+print(' UUID: '+pool.UUIDString())
+print(' Autostart: '+str(pool.autostart()))
+print(' Is active: '+str(pool.isActive()))
+print(' Is persistent: '+str(pool.isPersistent()))
+print(' Num volumes: '+str(pool.numOfVolumes()))
+
+conn.close()
+exit(0)
diff --git a/en-US/extras/StoragePools-Example-3.py b/en-US/extras/StoragePools-Example-3.py
new file mode 100644
index 0000000..11bc259
--- /dev/null
+++ b/en-US/extras/StoragePools-Example-3.py
@@ -0,0 +1,19 @@
+# Example-3.py
+from __future__ import print_function
+import sys
+import libvirt
+
+conn = libvirt.open('qemu:///system')
+if conn == None:
+ print('Failed to open connection to qemu:///system', file=sys.stderr)
+ exit(1)
+
+pool = conn.storagePoolLookupByName('default')
+if pool == None:
+ print('Failed to locate any StoragePool objects.', file=sys.stderr)
+ exit(1)
+xml = pool.XMLDesc(0)
+print(xml)
+
+conn.close()
+exit(0)
8 years, 7 months
[libvirt_application_development_guide_using_python] Domains chapter - Block device section - Added Domains-Example-42.py
by David Ashley
commit 6f781506e51ee29bb6ffa84b346be64296797b31
Author: W. David Ashley <w.david.ashley(a)gmail.com>
Date: Tue Jul 28 14:30:16 2015 -0500
Domains chapter
- Block device section
- Added Domains-Example-42.py
en-US/Guest_Domains.xml | 101 ++----------------------------------
en-US/extras/Domains-Example-42.py | 75 ++++++++++++++++++++++++++
2 files changed, 79 insertions(+), 97 deletions(-)
---
diff --git a/en-US/Guest_Domains.xml b/en-US/Guest_Domains.xml
index 6df3d48..04942d1 100644
--- a/en-US/Guest_Domains.xml
+++ b/en-US/Guest_Domains.xml
@@ -1272,103 +1272,10 @@
units of MB/sec.
</para>
- <programlisting>
- <![CDATA[/* example blockpull-example.c */
- /* compile with: gcc -g -Wall blockpull-example.c -o blockpull-example -lvirt */
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <libvirt/libvirt.h>
-
- int do_cmd(const char *cmdline)
- {
- int status = system(cmdline);
- if (status < 0)
- return -1;
- else
- return WEXITSTATUS(status);
- }
-
- virDomainPtr make_domain(virConnectPtr conn)
- {
- virDomainPtr dom;
- char domxml[] = \
- "<domain type='kvm'> \
- <name>example</name> \
- <memory>131072</memory> \
- <vcpu>1</vcpu> \
- <os> \
- <type arch='x86_64' machine='pc-0.13'>hvm</type> \
- </os> \
- <devices> \
- <disk type='file' device='disk'> \
- <driver name='qemu' type='qed'/> \
- <source file='/var/lib/libvirt/images/example.qed' /> \
- <target dev='vda' bus='virtio'/> \
- </disk> \
- </devices> \
- </domain>";
-
- do_cmd("qemu-img create -f raw /var/lib/libvirt/images/backing.qed 100M");
- do_cmd("qemu-img create -f qed -b /var/lib/libvirt/images/backing.qed \
- /var/lib/libvirt/images/example.qed");
-
- dom = virDomainCreateXML(conn, domxml, 0);
- return dom;
- }
-
- int main(int argc, char *argv[])
- {
- virConnectPtr conn;
- virDomainPtr dom = NULL;
- char disk[] = "/var/lib/libvirt/images/example.qed";
-
- conn = virConnectOpen("qemu:///system");
- if (conn == NULL) {
- fprintf(stderr, "Failed to open connection to qemu:///system\n");
- goto error;
- }
-
- dom = make_domain(conn);
- if (dom == NULL) {
- fprintf(stderr, "Failed to create domain\n");
- goto error;
- }
-
- if ((virDomainBlockPull(dom, disk, 0, 0)) < 0) {
- fprintf(stderr, "Failed to start block pull");
- goto error;
- }
-
- while (1) {
- virDomainBlockJobInfo info;
- int ret = virDomainGetBlockJobInfo(dom, disk, &info, 0);
-
- if (ret == 1) {
- printf("BlockPull progress: %0.0f %%\n",
- (float)(100 * info.cur / info.end));
- } else if (ret == 0) {
- printf("BlockPull complete\n");
- break;
- } else {
- fprintf(stderr, "Failed to query block jobs\n");
- break;
- }
- usleep(100000);
- }
-
- error:
- unlink("/var/lib/libvirt/images/backing.qed");
- unlink("/var/lib/libvirt/images/example.qed");
- if (dom != NULL) {
- virDomainDestroy(dom);
- virDomainFree(dom);
- }
- if (conn != NULL)
- virConnectClose(conn);
- return 0;
- }]]>
- </programlisting>
+ <example>
+ <title>Get domain's input device information</title>
+ <programlisting language="Python"><xi:include href="extras/Domains-Example-42.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
</section>
diff --git a/en-US/extras/Domains-Example-42.py b/en-US/extras/Domains-Example-42.py
new file mode 100644
index 0000000..eca7866
--- /dev/null
+++ b/en-US/extras/Domains-Example-42.py
@@ -0,0 +1,75 @@
+# Example-40.py
+from __future__ import print_function
+import sys
+import libvirt
+
+
+domxml =
+ """<domain type='kvm'>
+ <name>example</name>
+ <memory>131072</memory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc-0.13'>hvm</type>
+ </os>
+ <devices>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='qed'/>
+ <source file='/var/lib/libvirt/images/example.qed' />
+ <target dev='vda' bus='virtio'/>
+ </disk>
+ </devices>
+ </domain>"""
+
+def do_cmd (cmdline):
+ status = os.system(cmdline)
+ if status < 0:
+ return -1
+ return WEXITSTATUS(status)
+
+def make_domain (conn)
+ do_cmd("qemu-img create -f raw /var/lib/libvirt/images/backing.qed 100M")
+ do_cmd("qemu-img create -f qed -b /var/lib/libvirt/images/backing.qed"+
+ "/var/lib/libvirt/images/example.qed")
+ dom = conn.createXML(domxml, 0)
+ return dom
+
+
+virConnectPtr conn
+dom = None
+disk = "/var/lib/libvirt/images/example.qed"
+
+conn = libvirt.open('qemu:///system')
+if conn == None:
+ print('Failed to open connection to qemu:///system', file=sys.stderr)
+ exit(1)
+
+dom = make_domain(conn)
+if dom == None:
+ print("Failed to create domain", file=sys.stderr)
+ exit(1)
+
+if dom.blockPull(disk, 0, 0) < 0:
+ print("Failed to start block pull", file=sys.stderr)
+ exit(1)
+
+while (1):
+ info = dom.blockJobInfo(disk, 0);
+ if (info != None:
+ print("BlockPull progress: %0.0f %%",
+ float(100 * info.cur / info.end))
+ elif info.cur == info.end):
+ printf("BlockPull complete")
+ break
+ else:
+ print("Failed to query block jobs", file=os.stderr)
+ break
+ time.sleep(1)
+
+os.unlink("/var/lib/libvirt/images/backing.qed")
+os.unlink("/var/lib/libvirt/images/example.qed")
+if dom != NULL:
+ conn.destroy(dom)
+
+conn.close()
+exit(0)
8 years, 7 months
[libvirt_application_development_guide_using_python] Domains chapter - Configuration section - added Domains-Example-37.xml - added Domains-Example-
by David Ashley
commit 6155f51c3a1e1c52c3df89794595d71cfd9f159a
Author: W. David Ashley <w.david.ashley(a)gmail.com>
Date: Tue Jul 28 13:45:16 2015 -0500
Domains chapter
- Configuration section
- added Domains-Example-37.xml
- added Domains-Example-38.xml
- added Domains-Example-39.xml
- added Domains-Example-40.xml
- added support text for the new examples.
en-US/Guest_Domains.xml | 32 ++++++++++++++++++++++++++++++--
en-US/extras/Domains-Example-37.xml | 5 +++++
en-US/extras/Domains-Example-38.xml | 10 ++++++++++
en-US/extras/Domains-Example-39.xml | 16 ++++++++++++++++
en-US/extras/Domains-Example-40.xml | 6 ++++++
5 files changed, 67 insertions(+), 2 deletions(-)
---
diff --git a/en-US/Guest_Domains.xml b/en-US/Guest_Domains.xml
index 5395e64..6df3d48 100644
--- a/en-US/Guest_Domains.xml
+++ b/en-US/Guest_Domains.xml
@@ -984,7 +984,7 @@
parts that make up the domain.
</para>
<para>
- The following example shows how to obtain soma basic information about the domain.
+ The following example shows how to obtain some basic information about the domain.
</para>
<example>
<title>Get basic domain information from the domain's XML description</title>
@@ -1001,6 +1001,13 @@
<title>Get domain's emulator information</title>
<programlisting language="Python"><xi:include href="extras/Domains-Example-37.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</example>
+ <para>
+ The XML configuration for the Emulator is typically as follows:
+ </para>
+ <example>
+ <title>Domain Emulator XML information</title>
+ <programlisting language="XML"><xi:include href="extras/Domains-Example-37.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
</section>
@@ -1008,12 +1015,19 @@
<title>Disks</title>
<para>
- To discover the guest domain's disk(s) find and display the content of the emulator XML tag(s).
+ To discover the guest domain's disk(s) find and display the content of the disk XML tag(s).
</para>
<example>
<title>Get domain's disk information</title>
<programlisting language="Python"><xi:include href="extras/Domains-Example-39.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</example>
+ <para>
+ The XML configuration for disks is typically as follows:
+ </para>
+ <example>
+ <title>Domain Disk XML information</title>
+ <programlisting language="XML"><xi:include href="extras/Domains-Example-39.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
</section>
@@ -1027,6 +1041,13 @@
<title>Get domain's network interface information</title>
<programlisting language="Python"><xi:include href="extras/Domains-Example-38.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</example>
+ <para>
+ The XML configuration for network interfaces is typically as follows:
+ </para>
+ <example>
+ <title>Domain network interface XML information</title>
+ <programlisting language="XML"><xi:include href="extras/Domains-Example-38.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
</section>
@@ -1040,6 +1061,13 @@
<title>Get domain's input device information</title>
<programlisting language="Python"><xi:include href="extras/Domains-Example-40.py" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
</example>
+ <para>
+ The XML configuration for mouse, keyboard and tablet is typically as follows:
+ </para>
+ <example>
+ <title>Domain mouse, keyboard and tablet XML information</title>
+ <programlisting language="XML"><xi:include href="extras/Domains-Example-40.xml" parse="text" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+ </example>
</section>
diff --git a/en-US/extras/Domains-Example-37.xml b/en-US/extras/Domains-Example-37.xml
new file mode 100644
index 0000000..b24c690
--- /dev/null
+++ b/en-US/extras/Domains-Example-37.xml
@@ -0,0 +1,5 @@
+<domain type='kvm'>
+ ...
+ <emulator>/usr/libexec/qemu-kvm</emulator>
+ ...
+</domain>
diff --git a/en-US/extras/Domains-Example-38.xml b/en-US/extras/Domains-Example-38.xml
new file mode 100644
index 0000000..3132dcc
--- /dev/null
+++ b/en-US/extras/Domains-Example-38.xml
@@ -0,0 +1,10 @@
+<domain type='kvm'>
+ ...
+ <interface type='network'>
+ <mac address='52:54:00:94:f0:a4'/>
+ <source network='default'/>
+ <model type='virtio'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </interface>
+ ...
+</domain>
diff --git a/en-US/extras/Domains-Example-39.xml b/en-US/extras/Domains-Example-39.xml
new file mode 100644
index 0000000..4af4b3c
--- /dev/null
+++ b/en-US/extras/Domains-Example-39.xml
@@ -0,0 +1,16 @@
+<domain type='kvm'>
+ ...
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='qcow2' cache='none'/>
+ <source file='/var/lib/libvirt/images/RHEL7.1-x86_64-1.img'/>
+ <target dev='vda' bus='virtio'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
+ </disk>
+ <disk type='file' device='cdrom'>
+ <driver name='qemu' type='raw'/>
+ <target dev='hdc' bus='ide'/>
+ <readonly/>
+ <address type='drive' controller='0' bus='1' target='0' unit='0'/>
+ </disk>
+ ...
+</domain>
diff --git a/en-US/extras/Domains-Example-40.xml b/en-US/extras/Domains-Example-40.xml
new file mode 100644
index 0000000..f408a6b
--- /dev/null
+++ b/en-US/extras/Domains-Example-40.xml
@@ -0,0 +1,6 @@
+<domain type='kvm'>
+ ...
+ <input type='tablet' bus='usb'/>
+ <input type='mouse' bus='ps2'/>
+ ...
+</domain>
8 years, 7 months
[tools] tally F22 RN commits
by Pete Travis
commit 2b60728751f580a1261ccbf463e652a600a007e4
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Wed Jul 22 07:49:46 2015 -0500
tally F22 RN commits
docs/F22_beat_writers.ods | Bin 19114 -> 19695 bytes
1 files changed, 0 insertions(+), 0 deletions(-)
---
diff --git a/docs/F22_beat_writers.ods b/docs/F22_beat_writers.ods
index 9b2278e..abc39bf 100644
Binary files a/docs/F22_beat_writers.ods and b/docs/F22_beat_writers.ods differ
8 years, 8 months
[tools] tracking F22 beat contributions: wiki audit done.
by Pete Travis
commit 0c4a4afcaeef873a31d968308a4174079d5993a0
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Tue Jul 21 23:37:52 2015 -0500
tracking F22 beat contributions: wiki audit done.
Yes, I'm putting binary data in git. Cope.
docs/F22_beat_writers.ods | Bin 0 -> 19114 bytes
1 files changed, 0 insertions(+), 0 deletions(-)
---
diff --git a/docs/F22_beat_writers.ods b/docs/F22_beat_writers.ods
new file mode 100644
index 0000000..9b2278e
Binary files /dev/null and b/docs/F22_beat_writers.ods differ
8 years, 8 months
[tools] update list of beats in the tool
by Pete Travis
commit c8b62d5e11d21b27459fe8fe33db2666ca8cf39d
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Tue Jul 21 23:37:12 2015 -0500
update list of beats in the tool
tools/pybeats/beat_pickle | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/tools/pybeats/beat_pickle b/tools/pybeats/beat_pickle
index d9d354f..0a3fe75 100644
--- a/tools/pybeats/beat_pickle
+++ b/tools/pybeats/beat_pickle
@@ -21,7 +21,7 @@ aS'Documentation_Big_Data_Beat'
p10
aS'Documentation_Development_Web_Beat'
p11
-aS'beats_list.append'
+aS'Documentation_Cluster_Beat'
p12
aS'Documentation_Backwards_Compatibility_Beat'
p13
@@ -102,4 +102,6 @@ aS'Documentation_Fedora.next_Beat'
p50
aS'Documentation_Beats_Installer'
p51
+aS'Documentation_Development_OCaml_Beat'
+p52
a.
\ No newline at end of file
8 years, 8 months
[fedora-cookbook] master: Brainstorming and creating networking page, more to follow but generating cobulk content to edit later (cdd653a)
by grundblom
Repository : http://git.fedorahosted.org/cgit/docs/fedora-cookbook.git
On branch : master
>---------------------------------------------------------------
commit cdd653a70d6bc05f2c95a0c07152a0568bfad052
Author: Glen Rundblom <grundblom(a)fedoraproject.org>
Date: Tue Jul 21 22:12:59 2015 -0500
Brainstorming and creating networking page, more to follow but generating cobulk content to edit later
>---------------------------------------------------------------
en-US/Networking.xml | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/en-US/Networking.xml b/en-US/Networking.xml
index 53e962b..b38cbff 100644
--- a/en-US/Networking.xml
+++ b/en-US/Networking.xml
@@ -4,6 +4,18 @@
%BOOK_ENTITIES;
]>
<chapter id="Networking">
-<title>Networking</title>
-
-<para /> </chapter>
+ <title>Networking</title>
+ <section id="DHCP_Static">
+ <title>DHCP VS Static IP assignment</title>
+ <para>
+ DHCP: Dynamic Host protocol: The DHCP server assigns an IP address to the computer. This can be random within the DHCP server's address pool.
+ Or it can be a reservation. Having a reservation for a client can effectively mimic a static IP. This will give the client the same IP address over and over, without having to manually configure the IP manually on the host.
+ The advantage to this is less manual configuration on the host
+ </para>
+ <para>
+ Static: This way is when you manually assign an IP address into the computer. You may need to do this on a network that has no DHCP server, or the DHCP server will not allow you to have reservations for your computer.
+ Manually assigning a static IP address has the benifit of making some configurations easier. Especially when configuring a server because in server configuration files
+ you can specify the IP address of the server, that you know will be the same every time. An example if configuring MySQL to answer on a specific IP address you have configured on the server.
+ </para>
+ </section>
+</chapter>
8 years, 8 months
[fedora-cookbook] master: Changed yum to DNF, modified the .gitignore to ignore temp files ending with ~ (9dfa09e)
by grundblom
Repository : http://git.fedorahosted.org/cgit/docs/fedora-cookbook.git
On branch : master
>---------------------------------------------------------------
commit 9dfa09e63e7f66ece6b3610de3a9c6b79760cf41
Author: Glen Rundblom <grundblom(a)fedoraproject.org>
Date: Tue Jul 21 21:56:35 2015 -0500
Changed yum to DNF, modified the .gitignore to ignore temp files ending with ~
>---------------------------------------------------------------
.gitignore | 1 +
en-US/Communications/bip.xml | 2 +-
en-US/Communications/evolution-new-account.xml | 2 +-
en-US/Productivity/taskd.xml | 6 +++---
en-US/Revision_History.xml | 16 +++++++++++++++-
en-US/examples/docbook.example | 2 +-
en-US/examples/markdown.example | 2 +-
7 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/.gitignore b/.gitignore
index 014ed09..a27cf9b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
*.orig
tmp/
*.swp
+*.*~
diff --git a/en-US/Communications/bip.xml b/en-US/Communications/bip.xml
index f41b959..34a68dc 100644
--- a/en-US/Communications/bip.xml
+++ b/en-US/Communications/bip.xml
@@ -71,7 +71,7 @@
Install required packages on the server:
</para>
<screen>
- <command>yum install bip</command>
+ <command>dnf install bip</command>
</screen>
</step>
<step>
diff --git a/en-US/Communications/evolution-new-account.xml b/en-US/Communications/evolution-new-account.xml
index 3923643..cb9d916 100644
--- a/en-US/Communications/evolution-new-account.xml
+++ b/en-US/Communications/evolution-new-account.xml
@@ -64,7 +64,7 @@
</para>
<para>
<screen>
- <command>sudo yum -y install evolution</command>
+ <command>sudo dnf -y install evolution</command>
</screen>
</para>
</step>
diff --git a/en-US/Productivity/taskd.xml b/en-US/Productivity/taskd.xml
index 16a33ac..569320c 100644
--- a/en-US/Productivity/taskd.xml
+++ b/en-US/Productivity/taskd.xml
@@ -24,17 +24,17 @@
<itemizedlist>
<listitem>
<para>
- <emphasis>taskd</emphasis> from the Fedora repositories - sudo yum install taskd
+ <emphasis>taskd</emphasis> from the Fedora repositories - sudo dnf install taskd
</para>
</listitem>
<listitem>
<para>
- <emphasis>task</emphasis> from the Fedora repositories - sudo yum install task
+ <emphasis>task</emphasis> from the Fedora repositories - sudo dnf install task
</para>
</listitem>
<listitem>
<para>
- <emphasis>vit</emphasis> - optional - from the Fedora repositories - sudo yum install vit
+ <emphasis>vit</emphasis> - optional - from the Fedora repositories - sudo dnf install vit
</para>
</listitem>
<listitem>
diff --git a/en-US/Revision_History.xml b/en-US/Revision_History.xml
index 66a49bf..7945978 100644
--- a/en-US/Revision_History.xml
+++ b/en-US/Revision_History.xml
@@ -5,6 +5,20 @@
<title>Revision History</title>
<simpara>
<revhistory>
+ <revision>
+ <revnumber>0.0-2</revnumber>
+ <date>Tue Jul 21 2015</date>
+ <author>
+ <firstname>Glen</firstname>
+ <surname>Rundblom</surname>
+ <email>grundblom(a)fedoraproject.org</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>grundblom</member>
+ </simplelist>
+ </revdescription>
+ </revision>
<revision>
<revnumber>0.0-1</revnumber>
<date>Sat Mar 22 2014</date>
@@ -15,7 +29,7 @@
</author>
<revdescription>
<simplelist>
- <member>member</member>
+ <member>Immanetize</member>
</simplelist>
</revdescription>
</revision>
diff --git a/en-US/examples/docbook.example b/en-US/examples/docbook.example
index ca46712..9fd741d 100644
--- a/en-US/examples/docbook.example
+++ b/en-US/examples/docbook.example
@@ -41,7 +41,7 @@
<step><para>
Install required packages:
<screen>
- <command>yum install PACKAGE_LIST</command>
+ <command>dnf install PACKAGE_LIST</command>
</screen>
</para></step>
<step>
diff --git a/en-US/examples/markdown.example b/en-US/examples/markdown.example
index d7cfdaa..5803236 100644
--- a/en-US/examples/markdown.example
+++ b/en-US/examples/markdown.example
@@ -29,7 +29,7 @@ Directions
1. Install required packages:
-> yum install PACKAGE_LIST
+> dnf install PACKAGE_LIST
2. Activate required services:
8 years, 8 months
[install-guide: 3/3] --recommended in KS cannot be used to create normal parts/volumes
by pbokoc
commit 3dda8cb57fce86ab2f03ef3ee1e9e2ee9f0c6719
Author: Petr Bokoc <pbokoc(a)redhat.com>
Date: Mon Jul 20 13:45:13 2015 +0200
--recommended in KS cannot be used to create normal parts/volumes
en-US/Kickstart_Syntax_Reference.xml | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/en-US/Kickstart_Syntax_Reference.xml b/en-US/Kickstart_Syntax_Reference.xml
index ba811e7..f40b747 100644
--- a/en-US/Kickstart_Syntax_Reference.xml
+++ b/en-US/Kickstart_Syntax_Reference.xml
@@ -1228,6 +1228,11 @@
<para>
Use this option when creating a <systemitem>swap</systemitem> logical volume to determine the size of this volume automatically, based on your system's hardware. For details about the recommended scheme, see <xref linkend="sect-installation-gui-manual-partitioning-recommended" />.
</para>
+ <important>
+ <para>
+ This option can only be used for partitions which result in a file system such as the <filename>/boot</filename> partition and <systemitem>swap</systemitem> space. It can not be used to create partitionsm, LVM physical or logical volumes or RAID members.
+ </para>
+ </important>
</listitem>
</varlistentry>
<varlistentry>
@@ -1571,6 +1576,11 @@
<para>
Determine the size of the partition automatically. For details about the recommended scheme, see <xref linkend="sect-installation-gui-manual-partitioning-recommended" />.
</para>
+ <important>
+ <para>
+ This option can only be used for partitions which result in a file system such as the <filename>/boot</filename> partition and <systemitem>swap</systemitem> space. It can not be used to create partitionsm, LVM physical or logical volumes or RAID members.
+ </para>
+ </important>
</listitem>
</varlistentry>
<varlistentry>
8 years, 8 months