Documentation Virtualization Beat

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Boxgrinder)
(41 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{header|docs}}
 
{{header|docs}}
 +
{{Docs_beat_closed}}
 +
==Libvirt Client Access Control==
  
== Boxgrinder ==
+
The '''libvirt''' client allows for the setting of permission rules which can be applied to all managed objects and API operations, thus allowing for all client connections to be limited to a minimal set of rules and privileges.
 +
There are three levels of access which can be assigned:
  
 +
* Unauthenticated - used for all connections, this state allows all API operations that are required to complete authentication. Following a successful authentication, two more levels can be assigned:
 +
** Unrestricted - full access to all API operations
 +
** Restricted - read only access
  
BoxGrinder Build is an easy to use command line tool to create appliances (virtual images) from simple plaintext appliance definition files. BoxGrinder can produce appliances for a variety of virtual and cloud platforms using plugins supporting technologies such as VMware or EC2.  
+
System administrators can set permission rules for authenticated connections. Every API call in '''libvirt''' has a set of permissions that are validated against the object that is being used. For example, User A wants to change a parameter in the '''domain''' object. When the user tries to save the change, '''virDomainSetSchedulerParametersFlags''' method will check whether the client has write permissions on the '''domain''' object. Additional checks and permission settings can be processed as well. Filtering can also be done to see which clients have permissions on which objects to allow for smother administration of permissions.  
 +
The '''libvirtd.conf''' configuration file is responsible for setting the access permissions. It uses the ''access_drivers'' parameter to enable this operation. Note that if more than one access driver is requested, all must succeed in order for permission to be granted.
 +
More information can be found here:
  
See the Quick Start page (http://boxgrinder.org/tutorials/boxgrinder-build-quick-start/) for an overview of how to use BoxGrinder.
+
* https://fedoraproject.org/wiki/Changes/Virt_ACLs
 +
* http://libvirt.org/acl.html
  
== Spice support in virt-manager ==
+
==Virt-manager Snapshots==  
 +
Virtual Machine Manager ('''virt-manager''') allows for easy management and monitoring of KVM guest virtual machine snapshots. Note that '''virt-manager''' will pause the guest virtual machine for a few seconds while taking the snapshot.
 +
More information is available here:
 +
* https://fedoraproject.org/wiki/Changes/Virt_Manager_Snapshots
 +
* http://fedoraproject.org/wiki/Features/Virt_Live_Snapshots
 +
* http://libvirt.org/formatsnapshot.html
 +
* Snapshot section here: http://linux.die.net/man/1/virsh
 +
* https://fedoraproject.org/wiki/QA:Testcase_Virt_Snapshot_UI
  
With Fedora 15, virt-manager has been updated to support Spice, the complete open source solution for interaction with virtualized desktop. It's now possible to create a virtual machine with Spice support without touching the command line, and benefiting all the Spice enhancements without hassles directly from virt-manager. Thanks to the spice-gtk library, you can also develop a client in Python or C, or with gobject-introspection bindings.
+
==ARM emulation on x86 Host Physical Machines==
 +
Changes have been made to have smoother emulation of ARM guest virtual machines running on x86 hosts using standard '''libvirt''' tools, including '''virsh''', '''virt-manager''' and '''virt-install'''.
 +
'''qemu''' has an ARM emulator that works well and is actively used in the Fedora ARM effort. However '''libvirt''' and '''virt-manager''' currently have  issues launching '''qemu-system-arm''' VMs, mostly by encoding x86 assumptions  in the generated command line that cause '''qemu-system-arm''' to fail to  start. Changes have been made to fix this issue.
 +
More information can be found here: https://fedoraproject.org/wiki/Changes/Virt_ARM_on_x86
  
== Numerous libvirt improvements ==
+
==Ryu Software Defined Networking==
 +
Fedora 20 features Ryu, software that enables effective, software defined networking for OpenStack virtualization. As a building block of an OpenFlow controller, Ryu provides a Layer 2 isolated network for Openstack. For more information, read:
  
With Fedora 15, libvirt has been updated to support a number of new APIs for interacting with various virtual machines. There is now support for graphics using SPICE, using smartcards with KVM guests, managing SMBIOS fields seen in guests, managing memory and blkio cgroup parameters to limit guest resource usage, support for IPv6 networking to guests, improved auditing, and better debugging of qemu-kvm guests via arbitrary monitor commands.
+
* http://osrg.github.com/ryu/
 
+
* https://github.com/osrg/ryu/wiki
== Xen Pvops Dom0 ==
+
* http://osrg.github.com/ryu/doc/index.html
 
+
The Fedora Linux kernel may now provide the basis for a Xen-based virtualization solution. Xen is a hypervisor-based type-1 virtualization platform. The kernel now has the ability to boot in Xen's Dom0, a privileged domain that allows Fedora to provide driver and guest management support to Xen and other non-privileged, guest operating systems.  
+
  
  

Revision as of 18:55, 20 October 2013

DocsProject Header docTeam1.png
Warning (medium size).png
Beat Closed on Wiki
Work on beats has now moved to git. If you have changes or additions, please contact the docs team via #fedora-docs, docs@lists.fp.o, or with the fedora-release-notes BZ component.

Contents

Libvirt Client Access Control

The libvirt client allows for the setting of permission rules which can be applied to all managed objects and API operations, thus allowing for all client connections to be limited to a minimal set of rules and privileges. There are three levels of access which can be assigned:

  • Unauthenticated - used for all connections, this state allows all API operations that are required to complete authentication. Following a successful authentication, two more levels can be assigned:
    • Unrestricted - full access to all API operations
    • Restricted - read only access

System administrators can set permission rules for authenticated connections. Every API call in libvirt has a set of permissions that are validated against the object that is being used. For example, User A wants to change a parameter in the domain object. When the user tries to save the change, virDomainSetSchedulerParametersFlags method will check whether the client has write permissions on the domain object. Additional checks and permission settings can be processed as well. Filtering can also be done to see which clients have permissions on which objects to allow for smother administration of permissions. The libvirtd.conf configuration file is responsible for setting the access permissions. It uses the access_drivers parameter to enable this operation. Note that if more than one access driver is requested, all must succeed in order for permission to be granted. More information can be found here:

Virt-manager Snapshots

Virtual Machine Manager (virt-manager) allows for easy management and monitoring of KVM guest virtual machine snapshots. Note that virt-manager will pause the guest virtual machine for a few seconds while taking the snapshot. More information is available here:

ARM emulation on x86 Host Physical Machines

Changes have been made to have smoother emulation of ARM guest virtual machines running on x86 hosts using standard libvirt tools, including virsh, virt-manager and virt-install. qemu has an ARM emulator that works well and is actively used in the Fedora ARM effort. However libvirt and virt-manager currently have issues launching qemu-system-arm VMs, mostly by encoding x86 assumptions in the generated command line that cause qemu-system-arm to fail to start. Changes have been made to fix this issue. More information can be found here: https://fedoraproject.org/wiki/Changes/Virt_ARM_on_x86

Ryu Software Defined Networking

Fedora 20 features Ryu, software that enables effective, software defined networking for OpenStack virtualization. As a building block of an OpenFlow controller, Ryu provides a Layer 2 isolated network for Openstack. For more information, read: