Posts

Showing posts with the label virtualization

Berlin, DX hackfest, Boxes, rain & sunshine

Image
I just flew back from Berlin where I spent the last week, mainly to participate in the GNOME Developer Experience hackfest . As you can see from blog posts from other awesome gnomies , the hackfest was a pretty big success. I focused on the use of virtual machines (as thats right up my alley) for making application development as easy as possible. I talked to Christian , who has been working on an IDE for GNOME about his idea of a simulator VM which allows the developer to quickly test their app in a pristine environment. We discussed if and how Boxes can be involved. After some discussion we decided that we probably don't want to use Boxes but rather create another binary that re-uses the existing virtualization infrastructure: libvirt, qemu, spice (and maybe libosinfo) etc. Another way to make GNOME development easy through VM would be what we already have on a very crude level: Distribution of ready-made VMs with all the development environment setup. Continuous alre

Boxes video tutorial

I have been meaning to do this for a while and now I finally managed to do it:  Here you'll find tutorial on Boxes . I know the sound quality and volume isn't good and there is other mistakes/issues but I'm not too ashamed as this is the first time I've done this and tools that I needed/wanted were all breaking on my Fedora 18 laptop. UPDATE:  I uploaded an updated version of this tutorial with slightly improved audio. To improve it further, I'll have to re-record the audio or the whole video but right now I don't have time for that. Perhaps in a few weeks..

Adding information to libosinfo

Some weeks back, Marc-Andre told me that it will probably be helpful for potential contributors if I could write a blog post explaining how new information could be added to libosinfo (the library Boxes relies on for information on various operating systems and their installer medias) so here I'm doing just that. Currently there are two types of information you can add, devices and operating systems. Usually, it'll be the latter that you'd want to add (e.g your favorite OS just made a new awesome release and you want libosinfo to know about it) but for the sake of completion, I'll describe both. Libosinfo keeps its information database in a bunch of XML files. Although theoretically there could be just one XML file but that would have to be really huge and therefore will be very hard to edit/maintain so we keep each OS distro and device class in its own XML file. Libosinfo recursively traverses the following locations, assuming application let libosinfo load its

Help needed for Debian and Ubuntu

If you read any of my previous blog entries, you must be now familiar with this 'express installation' concept we have in Boxes. Its pretty neat actually, you just set a few options at the beginning and then you can leave Boxes (or your machine) and when you are back, everything is setup for you automatically in a new box. I have invested a lot of time/efforts on this already and will be spending a lot more time in future as well but I am just one man so can not possibly cover all operating systems out there. That is why I am asking for help from anyone who will be interested in adding express installation support for Ubuntu and Debian while I focus on Fedora and Windows variants. Oh and if you are interested in adding support for some other distribution/OS, that contribution will also be more than welcomed. In any case, happy hacking!

Another awesome release of Boxes

Yesterday we rolled out the second release of Boxes for upcoming GNOME 3.3.3. There are many fixes/improvements in this release to list them all here but the most significant ones in my opinion are: A nicer UI for deletion of Boxes designed for protecting the user from accidental deletion of boxes. Here is a video demo of it in action. Special handling of 'live' and unknown media: Quick launch of a temporary box for it, which is made permanent automatically (only) if anything is installed on the box by the media. Here is a video demo of this behaviour in action. Express installation for Windows XP now works, thanks to important clues provided by Lucas Meneghel Rodrigues. Don't believe me? I have video footage that proves it. UI for setting user and administrator password and in case of older Windows, ability to set product key as part preparation for express installation. Please check out the videos above for demo of this feature in action. Apart from change

Behold the Boxes!

Image
Dear readers! If you recall, in a blog post not so long ago I introduced you to the wonderful virtual world I now live in.  Now around the same time I wrote that post, some of the GNOME designers and developers (myself included) felt the need for having a UI as an integral part of GNOME that lets users easily manage (create and destroy) virtual machines and at the same time lets them connect to remote machines. Two of our awesome designers, Jon McCann and Jakub Steiner ) started creating design for this UI. We (as in Jon McCann) named it 'Boxes' as its something that deals with..hm.. boxes. At the same time, we (me, Marc-Andre and Christophe ) kept working on the foundations for Boxes, mainly in the form of lots of improvements to libvirt, libvirt-glib, libosinfo and spice-gtk. About less than a month ago we started implementing the design when the design stabilized a bit. The implementation actually started as a "proof of concept" from Marc-Andre o

libvirt-glib 0.0.1 is out!

The first public release of libvirt-glib is out! libvirt-glib wraps libvirt to provide a high-level object-oriented API better suited for glib-based applications. Daniel wrote nice release notes so I'll save myself some time and quote it for more details: I am pleased to announce the first release of the libvirt-glib package, version 0.0.1 is now available from ftp://libvirt.org/libvirt/glib/ The packages are GPG signed with Key ID: 15104FDF Daniel P. Berrange Key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF libvirt-glib comprises three distinct libraries: - libvirt-glib - Integrate with the GLib event loop and error handling - libvirt-gconfig - Representation of libvirt XML documents as GObjects - libvirt-gobject - Mapping of libvirt APIs into the GObject type system As of this release only the event loop integration and some basic APIs for managing domains are provided. The representation of XML as GObjects is a major work

Introducing libosinfo

The first release of libosinfo is out! What is libosinfo? libosinfo is a GObject based library API for managing information about operating systems, hypervisors and the (virtual) hardware devices they can support. It includes a database containing device metadata and provides APIs to match/identify optimal devices for deploying an operating system on a hypervisor. Via the magic of GObject Introspection, the API is available in all common programming languages with demos for javascript (GJS/Seed) and python (PyGObject). Also provided are Vala bindings. libosinfo is Free Software and licenced under LGPLv2+. Dependencies Required: gobject-2.0 gio-2.0 libxml-2.0 Optional: gobject-introspection Vala (build-time only) Download http://fedorahosted.org/ releases/l/i/libosinfo/ Homepage http://fedorahosted.org/ libosinfo/

Slightly more on virtual world..

Forgot to mention in my last blog post that SPICE is not just more efficient at network bandwidth utilization but is also much more faster/responsive. Also, Jon Nordby pointed out that the screenshots of virt-manager I copied from virt-manager website are several years outdated. Here is how the main UI looks like now a days. P.S. I was going to inline this screenshot but blogger.com is not letting me do that. :(

Welcome to the virtual world!

Image
About two months ago I informed  the followers of this blog that I will now be working on SPICE project  for Red Hat . Judging from the questions I was asked after that, I realized that not many people know about SPICE so I thought I write at least one blog entry dedicated to explaining what SPICE is all about. Before I get to SPICE itself, let me first introduce you to the world SPICE lives in. Virtualization and Virtual Machines (VMs) For some reason, I feel that I should leave the definitions to wikipedia  and only quote it so that is what I am going to do: " Virtualization, in computing, is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources. " " A virtual machine (VM) is a "completely isolated operating system installation within your normal operating system".Today, this is implemented by either software emulation or hardware virtualization ". V