zondag 23 december 2018

Setting up Pyhon 3.7 with SSL support

Intro

If you are lucky enough to have Python 3.7 in your OS repositories then you can skip this post if not you might find a hard time setting up Python 3.7 with SSL support.  Python 3.7 requires a recent version of openssl but even when that one has been installed in my case it would not find it so I'm documenting the steps on how I got it to work.

1) Get a recent openssl installation

In my case I went for 1.1.1a as that one should be working with Python 3.7.
cd /usr/src/
sudo wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1a.tar.gz
sudo tar -xvzf OpenSSL_1_1_1a.tar.gz
cd openssl-OpenSSL_1_1_1a/
export CFLAGS=-fPIC  # Make sure we build shared libraries
./config shared --prefix /usr/local/openssl111a --openssldir=/usr/local/ssl  # Make sure we build shared libraries
sudo make
sudo make install

 

2) Get and install Python

It is possible to follow instuctions of https://tecadmin.net/install-python-3-7-on-ubuntu-linuxmint/ with the following changes:

  • Before doing any configure make symbolic links to the openssl libraries.  I tried adding the openssl lib folder to LD_LIBRARY_PATH but for some reason I would still always error out with

    *** WARNING: renaming "_ssl" since importing it failed: libssl.so.1.1: cannot open shared object file: No such file or directory'


    Creating symbolic links in a default library path did strangely enough work:
    cd /usr/lib
    sudo ln -s /opt/openssl/lib/libcrypto.so.1.1
    sudo ln -s /opt/openssl/lib/libssl.so.1.1
    
    
  • When doing the configure specify additional details

    sudo LDFLAGS="-L/opt/openssl/lib" ./configure --enable-optimizations --with-openssl=/opt/openssl > /tmp/configure_output


  • When doing the make if you redirect stdout you will only see the warnings if they don't show:

    • *** WARNING: renaming "_ssl" since importing it failed: libssl.so.1.1: cannot open shared object file: No such file or directory
    • *** WARNING: renaming "_hashlib" since importing it failed: libssl.so.1.1: cannot open shared object file: No such file or directory


      then you are good to go.


  • You can validate by importing the python ssl lib:
    $ /usr/local/bin/python3.7
    Python 3.7.0 (default, Dec 23 2018, 10:35:52) 
    [GCC 6.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import ssl
    >>>
    
  • No error means you should be good to go.

    dinsdag 30 augustus 2016

    My attempt to the AWS Solution Architect professional exam sample questions.

    For this practice exam the correct answers are given on the Japanese version of the practice exam which can be found here.  The English practice exam is available from here.  And in this post I like to provide my reasoning in why the given answers are the correct ones.  I have done similarly for the DevOps professional exam here.

    Question 1: Best RTO for on-premise Content Management System

     - Answer A will and is the best of the provided options because storage gateway is already used and it's volumes can be converted to EBS volumes.  RMAN backups in S3 also allow restoration into EC2
     - Answer B is not acceptable since Glacier storage takes recovery times >= 3 hours
     - Answer C: There is no need to attach a AWS Storage gateway to the EC2 instance, better to use an EBS volume
     - Answer D: AWS Storage Gateway-VTL is for tapes so no need here as you had a storage gateway volume

    Question 2: ERP application in multiple AZs

     - Answer C is valid and allows to restore data up until 5 minutes from the issue (so RPO of 15 minutes is met).  Since you have hourly backups as well in S3 you can quickly restore these and you only need to replay transaction logs for max 1 hour. Furthermore S3 provides excellent data retention.
     - Answer A is not acceptable since Glacier recoveries take too much time > 3 hours
     - Answer B is not good for this scenario as it is unknown how the data corruption occurred.  Probably data corruption is introduced by a logical error rather than issues on storage level.  Since synchronous replication only makes sure you write the changes on a 2nd system as part of your transactions it doesn't allow to recover to earlier time to protect for these corruption errors.
     - Answer D is unacceptable because even though instance store volumes might allow to take quicker backups they are volatile and should not be relied upon for database backups (they are also only accessible from 1 instance and therefore data is only in 1 AZ)

    Question 3: Random acts of kindness

     - Answer B is good as it is a cheap way that allows you to operate without maintaining infrastructure
     - Answer A is not good as IAM users should be internal users of your organizations.  You should not use these identities for 'web' users.  One reason would be because the amount of users would be limited.  Even if you would map them to a single 'application' user it would not be a good practice to do so.
     - Answer C is not good again because of IAM user usage as well as introducing additional unnecessary infrastructure (incurring costs)
     - Answer D introduces unneeded infrastructure incurring unneeded costs.

    Question 4: Protecting SSL

     - Answer D is the best. CloudHSM is hardened to make sure SSL certificates cannot leave the device.  Furthermore its design and external certification certify that Amazon employees won't have access to them either.  Since Amazon employees also don't have access inside your EC2 instance it is good to store your logs on an ephemeral volume using a randomly generated AES key.  This means that you will lose your logs upon stop/start or when you experience a hardware failure but there were no retention requirements mentioned for the log files.  Since the volumes use this random key when mounting you grant your users access by granting them access to the instance.  The encryption makes sure that data is encrypted at rest and that physical access does not compromise your data.
     - Answer A is generally a good solution but since in this case security is the main concern it is not the best solution.  By offloading SSL at your Load balancing tier you have the traffic flowing in plain text from ELB to web servers.
     - Answer B is not good as there is no way of protecting your private key in the Amazon S3 bucket.  Since your instances need access to the S3 bucket to retrieve the key, employees could do the same and therefore compromise the key.
     - Answer C is good but it does not really protect your logs as you cannot write them straight into S3.  S3 is an object store and cannot be used reliably as a block device.

    Question 5: Fat client application 

     - Answer D is the best.  Using the SSL VPN client the users can securely connect to the VPC and have access to the private subnets.  The fat client can then connect over the VPN tunnel to the application servers which are safely in the private subnet.
     - Answer A does not make sense, AWS Direct Connect is to allow a 'private' line from your data center into AWS and therefore does not come into play for this scenario
     - Answer B is not valid as you don't want to publish the application on the internet therefore an ELB by itself won't help
     - Answer C is not valid as you still place your application servers in the public subnet.  Having the IPsec VPN connection is meant to avoid this need.

    Question 6: Legacy engineering application migration

     - Answer B is indeed the way to go an initial sync followed by incremental syncs to make sure you get all the data in the latest state within the time frame.  If needed you could perform multiple incremental syncs (note that these would incur additional cost as you would be consuming more bandwidth)
     - Answer A is not valid as it does not provide a solution to time needed to transfer the 900 GB of data
     - Answer C is not valid as AWS Import/Export is not to migrate data within 48 hours
     - Answer D is not valid because it says to copy the data on Friday which again does not provide enough time to transfer all the data.

    My attempt to the AWS DevOps Engineer professional exam sample questions.

    This is just a blogpost to try out the sample questions of the AWS Devops Engineer professional exam.  So keep in mind that these are by no means official answers they are just my attempt to solving the example questions.  I did a similar attempt for the Solutions Architect professional exam.

    Question 1 automated data backup solution:

      - Answer C: ec2-create-snapshot API results in a snapshot from your EBS volume which is stored in S3 (=distributed data store without single point of failure).  Use the tags to manage metadata and be able to cleanup old snapshots to limit costs.
     -  Answer A is not valid because ec2-create-volume creates an empty volume or one initiated from a snapshot.  Even if copy backup data means to this volume than it would be sub optimal as you will have worse retention compared to answer C and you will have higher costs (every volume you create will take up full space whereas S3 snapshot will be incremental)
    - Answer B is not valid because recovering your data from Glacier won't be possible within 1 hour
    - Answer D is not valid because ec2-copy-snapshot can only operate on snapshots not on EBS volumes

    Question 2: Going from M3 instances to C3 instances when using CloudFormation and AutoScaling Groups

     - Answer D is correct:
     -  Answer A is not sufficient as the Auto Scaling group won't automatically replace your existing instances.
      - Answer B & C are not valid since you cannot update a launch configuration.  As stated in the documentation.

    Question 3:  CloudFormation for complex systems 

     - Answer B is my preferred answer as multiple separate templates are easier to maintain and allow re-use.
     - Answer A is not good because maintaining a single template does not scale (it won't allow re-use)
     - Answer C is not good as orchestrating the process from an EC2 instance introduces a single point of failure.  It is also not cost efficient as it will require additional work to implement and a running instance.
     - Answer D is not good because you wanted to version-control your infrastructure which encompasses networking and thus VPC

    Question 4: Automated deployment - reduce launch time

    - Answer B is correct as it fulfills the requirements
    - Answer A is incorrect because of the timing requirements it would take more than 3 minutes given the timings of the operations
    - Answer C is incorrect because of timing (artifacts 4 min + deploy app code 1 min) > 3 min
    - Answer D is incorrect because you still need to perform all the steps and thus require > 3 minutes, also the polling is not needed as User Data can be used to initialize the EC2

    Question 5: I/O load performance test

     - Answer B is correct.  This operation is needed to avoid the first touch penalty and to make sure you check the performance of a warm Volume (at least if the volume is restored from snapshot, nowadays you don't need to prewarm new empty volumes).
    - Answer A is incorrect because you would use the block size which is applicable for your application and won't change it upon deployment
    - Answer C is incorrect as you just use the volumes to test so no need to back them up, having a backup also does not influence performance
    - Answer D is incorrect as encrypted volumes won't boost performance
    - Answer E is incorrect as creating a snapshot does not read every block in the volume but only touches the blocks that have data (or changed data if the volume itself was created from a snapshot)

    Question 6: social media marketing application

    - Answer B is a possible way to do this.  DynamoDB is a persistent store that stores data in multiple AZs.
    - Answer A is not correct because Kinesis is for streaming data, it won't allow you to keep historical data as it only can keep data records for 1-7 days.
    - Answer C is not correct because Glacier is for archiving data that you rarely want to retrieve.  Also if you want to publish your data into Redshift using DataPipeline you need to have your data in a source that can be used by Redshift (e.g regular S3 (not Glacier!), DynamoDB, EC2 (via SSH), EMR (via SSH) )
    - Answer D is not correct because Amazon CloudWatch is not for analytics.  Also Cloudwatch only retains data for 14 days.

    Question 7: bill increase

    - Answer C is correct: wording is a bit weird as it looks sub optimal to send an SNS to your application which would then query DynamoDB.  It is good to have the data in Dynamo DB to have it there persistently but it would be more efficient to have a lambda function putting the data into Dynamo DB and that this lambda function also updates the cache with the new entry such that at this time DynamoDB does not need to be queried.
    - Answer A is incorrect because S3 bucket life cycles are to change storage type of an object it does not allow you to push a list of objects to another bucket
    - Answer B would be feasible but only if you have a very controlled process over the uploads that can be done in your bucket it is not as practical as C.
    - Answer D is incorrect because there is no such thing as SQS lifecycles that move objects into S3
    - Answer E is incorrect because ElastiCache is a key-value cache service which does not allow you to push files into Amazon S3

    Question 8: AWS Elastic Beanstalk + continuous deployment (zero downtime)

    - Answer B is correct because the swap of DNS name allows you to rollback almost immediately (ignoring clients that don't implement DNS and TTLs correctly)
    - Answer A is incorrect because depending on the deploy time rollback won't be almost immediately
    - Answer C is incorrect doesn't have a rollback scenario
    - Answer D is incorrect because I don't think you can configure a beanstalk environment to send HTTP 301 response codes.  Also because 301 HTTP response code is a permanent redirect and therefore will cause clients to cache this redirect so rollback will still keep impacted clients on the new environment

    Question 9: Log analysis application

    - Answer A seems possible as CoudWatch Logs can filter your logs and keep track of login actions
    - Answer B is incorrect as it won't be real time
    - Answer C is incorrect because it has no auto-scaling
    - Answer D is incorrect as it won't be real time
    - Answer E is incorrect as you cannot use map reduce job on data that is in your RDS MySQL.  You would need to export the data which won't be real time either

    Question 10: orders processing

    - Answer B is correct because it will automatically replace an instance if it is stopped/terminated or fails (HW failure).
    - Answer E is correct because it allows to detect that the application is no longer running correctly and will stop the instance automatically.
    - Answer A is incorrect as a 2nd watchdog instance costs money
    - Answer C is incorrect as no need for scaling was expressed and having a minimum of 2 already makes it more expensive
    - Answer D is incorrect as you need to pay for the ELB so it is not the most cost-effective way

    donderdag 27 augustus 2015

    Setup Linux Mint 17.2 on Dell XPS 15 (2015 edition)

    This blog post will describe a possible setup for Linux Mint 17.2 on a Dell XPS 15 (built year 2015 with 4K Ultra-HD touch screen). It will focus on the pre-installation steps (how to boot your Linux Live USB) and post-installation steps (fixing driver issues). It is expected that the reader already knows how to perform a Linux install.

    Installation of Linux on a Dell XPS 15

    Download Linux Mint 17.2 Cinnamon and create a bootable USB.

    Disable fast boot from Windows

    Boot into Windows and disable fast boot (Instructions at http://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html)

    Disable Secure boot and change boot order

    Go into the Bios (Reboot notebook and press F2 on splash screen (bios keys are mentioned in bottom right corner). After this your BIOS screens should look like:





    Boot from the USB into Linux. Once there use gparted (if needed install using `sudo apt-get install gparted` to resize the Windows partitions and to free up space for your Linux installation. Next perform the Linux installation to your preference (for me that means a separate partition for /home).

    Driver issues + fixes

    Wi-Fi

    This is one is available in the restricted drivers area of Mint. Before launching it however it is best to get your repository data up-to-date and to install all updates:

    sudo apt-get update && sudo apt-get upgrade 

    Next go to the restricted drivers wizard using the menu:


    In this window only consider the area on the wireless drivers (broadcom drivers):

    Select bcmwl-kernel-source and click apply changes, this should do all the necessary configuration to get Wi-Fi working.  Next you can connect to a wireless network using network manager.

    How to get internet-access on this notebook without Wi-Fi?

    I have bought the 4-in-1 connector for the PC that will go from USB3.0 to USB2.0, ethernet, VGA & HDMI ports. For the USB and the ethernet ports this adapter is plug&play. So handy when you need to install updates when your wireless is not yet working.

    Nvidia

    Bumblebee Installation instructions

    Using instructions from https://wiki.ubuntu.com/Bumblebee

    sudo apt-get update
    sudo apt-get upgrade
    sudo add-apt-repository ppa:bumblebee/stable
    sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic
    

    Which gives the following output:
    
    
    Dellx log # sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following extra packages will be installed:
      bbswitch-dkms lib32gcc1 libc6-i386 linux-headers-3.13.0-62
      linux-headers-3.13.0-62-generic nvidia-304 nvidia-current primus-libs socat
    Recommended packages:
      nvidia-settings libcuda1-304 nvidia-opencl-icd-304 primus-libs-ia32
    The following packages will be REMOVED:
      linux-kernel-generic
    The following NEW packages will be installed:
      bbswitch-dkms bumblebee bumblebee-nvidia lib32gcc1 libc6-i386
      linux-headers-3.13.0-62 linux-headers-3.13.0-62-generic
      linux-headers-generic nvidia-304 nvidia-current primus primus-libs socat
    0 upgraded, 13 newly installed, 1 to remove and 0 not upgraded.
    Need to get 47,8 MB of archives.
    After this operation, 260 MB of additional disk space will be used.
    Do you want to continue? [Y/n] 
    

    Install newest nvidia drivers

    These are present in the driver manager.


    Select the latest driver


    Click apply and afterwards it should show that an additional proprietary driver is in use.


    Configure Bumblebee to use these new drivers

    Changes the following four lines using your favorite editor in /etc/bumblebee/bumblebee.conf (using sudo, e.g. sudo gedit /etc/bumblebee/bumblebee.conf):

    Driver=nvidia
    KernelDriver=nvidia
    # colon-separated path to the nvidia libraries
    LibraryPath=/usr/lib/nvidia-346-updates:/usr/lib32/nvidia-346-updates
    # comma-separated path of the directory containing nvidia_drv.so and the
    # default Xorg modules path
    XorgModulePath=/usr/lib/nvidia-346-updates/xorg,/usr/lib/xorg/modules
    

    Note that paths are once colon-separated and once comma-separated.

    After a reboot the bumblebee daemon should be running.
    peter@Dellx ~ $ /etc/init.d/bumblebeed status
     * bumblebeed is running
    

    Why would I install these proprietary drivers?

    You don't need to install them but they can boost performance our lower your power consumption:

    Performance

    3D Performance before setup
    peter@Dellx ~ $ glxgears 
    Xlib:  extension "NV-GLX" missing on display ":0".
    Running synchronized to the vertical refresh.  The framerate should be
    approximately the same as the monitor refresh rate.
    348 frames in 5.3 seconds = 65.786 FPS
    300 frames in 5.0 seconds = 59.997 FPS
    300 frames in 5.0 seconds = 59.995 FPS
    300 frames in 5.0 seconds = 59.996 FPS
    
    3D performance after setup
    peter@Dellx ~ $ glxgears 
    30157 frames in 5.0 seconds = 6031.306 FPS
    31302 frames in 5.0 seconds = 6260.384 FPS
    32086 frames in 5.0 seconds = 6415.288 FPS
    30959 frames in 5.0 seconds = 6191.375 FPS
    

    Battery saving mode

    This performance gain comes however with a penalty for the autonomy of your notebook (higher battery drain). In your panel with status and notification icons an Icon should be present that either holds the nvidia logo or the intel logo:



    When you click the logo you will get the Nvidia configuration screen that allows you to switch between the modes.



    When selecting a mode you'll need to provide a password because privileges are required (only possible if your user is allowed to perform privileged actions (sudo rights)).



    In order to activate the changes you need to re-login.



    After a re-login you'll see the intel logo.


    To investigate

    • How to get the 4-in-1 adapter working for external displays.  Low priority as I currently don't have a secondary display.
    • Quite frequently text gets pasted while typing or mouse jumps.  This is likely caused by the touchpad which is quite broad and easily touched by accident.  Currently I don't have an external mouse but will likely look into buying one in the near future and will then check howto best disable the touchpad when mouse is connected and re-activate it when mouse is disconnected.  (e.g. using udev)
    • In syslog CPU stacktraces show up from time to time
    • Touchscreen: This seems to be a weak point for Linux.  The 'chromium-browser' however seems to do support gestures like pinching and two-finger scrolling.  Can be handy for Google Maps although I dislike greasy fingers on my screen.

    zaterdag 2 augustus 2014

    "to modify zones, delete program in service" on polar watch

    In this post I'll explain how to setup your heart rate zones manually on a polar watch when you get the message "to modify zones, delete program in service". I have the polar rcx3 but probably for other polar watches the same logic will apply.

    Personal introduction (can be skipped without a problem)

    A few months ago I started running and to track my progress I want to monitor my heart rate. For this I bought the Polar RCX3 run watch which comes with heart rate monitor and stride sensor s3+. I wanted to configure my heart rate zones manually as I had a physical examination from a physician who determined my training zones. Since he also provided a training program based on my heart rate zones it seems most appropriate to use the zones that are mentioned in his program. The zones that were proposed by the watch are not completely different but there are some differences. When I wanted to change the heart rate I received the vague error message: "to modify zones, delete program in service". As it took a while to find the problem I'll put it here for other people their convenience.

    Setting heart rate zones manually on polar rcx3

    This can be done easily by going to.

     Settings -> Heart rate settings -> Sport zones 

    There you can select any of the 5 zones and select its limits. In some cases however you can have an error. I have seen the following errors:

    'To modify zones, first set ZoneOptimizer off'

    This is a clear error message and can be easily solved. Just disable the Heart rate Zone optimizer of your polar watch. This can be done in the following menu entry:

     Settings -> Heart rate settings -> ZoneOptimizer 

    Set it to 'OFF' and retry setting your heart rate zones manually.

    'To modify zones, delete program in service'

    This however is a rather cryptic error message imho. Google is your friend but this time I only found the advise to reset the watch by pressing all the buttons simultaneously for 2 seconds. Don't do this as it will just reset your watch settings but won't fix the problem! This error is shown because you cannot change your heart rate zones as long as you have training programs from www.polarpersonaltrainer.com on your watch. As I already uploaded some training plans to my watch my heart rate zones were blocked. I guess the training program calculates heartrate zones based on your maximal heart rate and than locks the heart rate zones so that changing them doesn't modify the training program completely.

    Unfortunately this means that the only solution I know is to go to www.polarpersonaltrainer.com, delete your trainingsprogram and then sync with your watch. Then you can again try to set your heart rate zones manually.

    Personal Conclusion/remark

    It is not to hard to set your manual heart rate zones as long as you know to remove training programs but it is a pitty that they need to be removed. I guess it is necessary due to to the implementation of heart rate zone programs but it is a pity. Since I only wanted to start the program from polarpersonaltrainer in a few months I'll first continue with my tailored training programs and then I might switch back to the calculated heart rate zones.

    zondag 5 januari 2014

    Setting up a vagrant basebox for Oracle Linux by using veewee

    Introduction

    Note: Due to my professional life I use Oracle Linux a lot (Which is a distro that tracks Red Hat so it is very similar to RH and CentOS) therefore I will use Oracle Linux for the VM's in this blogpost as well. Don't worry about a possible price tag; Oracle Linux is free and you can get free updates from their Oracle public yum servers. I am no Oracle employee, so if you want their vision: https://linux.oracle.com.

    Another reason why I use Oracle linux is because vagrant boxes were not easy to find for this distro. At least not for usage with libvirt. This makes it more interesting topic for a blog post.

    For home usage I really like mint. So the building of the basebox is done on my home PC which runs mint (which is Ubuntu based and thus a Debian derivative).

    Overview

    In order to build a vagrant basebox we will need to go through the following steps

    • Install Ruby version manager (rvm)
    • Install bundler gem
    • Install veewee as a gemset in rvm
    • Installing kvm support for your system.
    • Installing ruby-libvirt gem
    • Create a storage pool
    • Create a basebox
    • Install a compatible Vagrant with libvirt
    • Create a vagrant config and test.

    The remaining of this blogpost will have sections corresponding with these steps. The reader can skip steps that are of no interest to him (I don't track your reading).

    Installing rvm

    RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems. For this blogpost we use its feature to manage sets of gems. I only use it to avoid corrupting your default ruby environment but it is not perse necessary for building a vagrant basebox.

    Install the pre-requisites

    sudo apt-get install libxslt1-dev libxml2-dev zlib1g-dev curl

    Install rvm

    \curl -sSL https://get.rvm.io | bash

    Ruby works by sourcing a script. By sourcing this script rvm gets 'activated'.

    source /home/$USER/.rvm/scripts/rvm

    Once rvm is ready for setup we will install ruby 1.9.2 in it since this is the version we will use to run veewee

    rvm install 1.9.2

    Additional remark regarding rvm: rvm will be a function but in order for this to be initialized correclty you need to use a loginshell (if this is chinese to you and you wish to translate do a 'man bash' and start reading the 'INVOCATION' section). Since I was using guake (a dropdown terminal) this was not done automatically when opening a new terminal. Luckily there is a checkbox 'Run command as a login shell' in the guake preferences, after selecting this box rvm was loaded automaticlly in every new guake shell.

    Install veewee as a gemset

    Now that rvm is installed and a ruby 1.9.2 is available we can install veewee. We will get the latest version by cloning the github repository of the original creator.

    $USER@$HOST ~ $ cd
    $USER@$HOST ~ $ git clone https://github.com/jedi4ever/veewee.git
    Cloning into 'veewee'...
    remote: Reusing existing pack: 13273, done.
    remote: Total 13273 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (13273/13273), 4.13 MiB | 1.86 MiB/s, done.
    Resolving deltas: 100% (8370/8370), done.
    Checking connectivity... done
    $USER@$HOST ~ $ cd veewee/
    You are using '.rvmrc', it requires trusting, it is slower and it is not compatible with other ruby managers,
    you can switch to '.ruby-version' using 'rvm rvmrc to [.]ruby-version'
    or ignore this warning with 'rvm rvmrc warning ignore /home/$USER/veewee/.rvmrc',
    '.rvmrc' will continue to be the default project file in RVM 1 and RVM 2,
    to ignore the warning for all files run 'rvm rvmrc warning ignore all.rvmrcs'.
    
    ********************************************************************************************************************
    * NOTICE                                                                                                           *
    ********************************************************************************************************************
    * RVM has encountered a new or modified .rvmrc file in the current directory, this is a shell script and           *
    * therefore may contain any shell commands.                                                                        *
    *                                                                                                                  *
    * Examine the contents of this file carefully to be sure the contents are safe before trusting it!                 *
    * Do you wish to trust '/home/$USER/veewee/.rvmrc'?                                                                *
    * Choose v[iew] below to view the contents                                                                         *
    ********************************************************************************************************************
    y[es], n[o], v[iew], c[ancel]> v
    ********************************************************************************************************************
    * The contents of the .rvmrc file will now be displayed.                                                           *
    * After reading the file, you will be prompted again for 'yes or no' to set the trust level for this particular    *
    * version of the file.                                                                                             *
    *                                                                                                                  *
    * Note: You will be re-prompted each time the .rvmrc file's contents change                                        *
    * changes, and may change the trust setting manually at any time.                                                  *
    ********************************************************************************************************************
    (( press a key to review the .rvmrc file ))
    rvm use ruby-1.9.2@veewee --create
    #rvm use ruby-1.8.7@veewee --create
    
    alias veewee="bundle exec veewee"
    alias irb="bundle exec irb"
    #alias vagrant="bundle exec vagrant"
    ********************************************************************************************************************
    * Viewing of /home/$USER/veewee/.rvmrc complete.                                                                   *
    ********************************************************************************************************************
    * Trusting an .rvmrc file means that whenever you cd into this directory, RVM will run this .rvmrc shell script.   *
    * Note that if the contents of the file change, you will be re-prompted to review the file and adjust its trust    *
    * settings. You may also change the trust settings manually at any time with the 'rvm rvmrc' command.              *
    ********************************************************************************************************************
    y[es], n[o], v[iew], c[ancel]> y
    gemset veewee is not existing, creating.
    ruby-1.9.2-p320 - #gemset created /home/$USER/.rvm/gems/ruby-1.9.2-p320@veewee
    ruby-1.9.2-p320 - #generating veewee wrappers.
    Using /home/$USER/.rvm/gems/ruby-1.9.2-p320 with gemset veewee
    

    A lot has happened in the previous code block.

    • We descended into the home folder of the current user (you can install veewee somewhere else if you want).
    • There we cloned the github repository.
    • Next we descended into the cloned directory. This activated rvm since it contained a .rvmrc file. Which is a project configuration file for rvm. More info on this can be found here.

    By looking at the .rvmrc file we see that this script creates an environment ruby-1.9.2@veewee. This means a named gemset called veewee for ruby-1.9.2. It also sets up an alias which allows the linux users to just call veewee.

    Install bundler gem

    For this make sure that rvm is in the correct environment. You can check the current environment with:

    $USER@$HOST ~ $ rvm current
    ruby-1.9.2-p320
    

    To change to the veewee environment you can execute:

    $USER@$HOST ~ $ rvm use ruby-1.9.2-p320@veewee
    Using /home/$USER/.rvm/gems/ruby-1.9.2-p320 with gemset veewee
    

    A safety check doesn't hurt

    $USER@$HOST ~ $ rvm current
    ruby-1.9.2-p320@veewee
    

    Now we can install the gem

    gem install bundler

    Finally install veewee

    We have got the veewee source code in $HOME/veewee thanks to the clone of the github repository. We will descend into this directory and install veewee as a gem by executing bundle install. (As in previous section it is important that the ruby-1.9.2-p320@veewee environment is active).

    $USER@$HOST ~/veewee $ bundle install
    Fetching https://github.com/hh/em-winrm.git
    remote: Counting objects: 144, done.
    remote: Compressing objects: 100% (76/76), done.
    remote: Total 144 (delta 67), reused 144 (delta 67)
    Receiving objects: 100% (144/144), 24.26 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (67/67), done.
    Fetching gem metadata from http://rubygems.org/........
    Fetching gem metadata from http://rubygems.org/..
    Resolving dependencies...
    Installing rake (10.1.1) 
    Installing libxml-ruby (2.7.0) 
    Installing CFPropertyList (2.0.17) 
    Installing Platform (0.4.0) 
    Installing builder (3.2.2) 
    Installing gyoku (1.1.0) 
    Installing mini_portile (0.5.2) 
    Installing nokogiri (1.6.1) 
    Installing akami (1.2.0) 
    Installing ansi (1.3.0) 
    Using bundler (1.3.5) 
    Installing ffi (1.9.3) 
    Installing childprocess (0.3.9) 
    Installing diff-lcs (1.2.5) 
    Installing eventmachine (1.0.0.beta.3) 
    Installing mixlib-log (1.6.0) 
    Installing uuidtools (2.1.4) 
    Installing gssapi (1.0.3) 
    Installing httpclient (2.3.4.1) 
    Installing little-plugger (1.1.3) 
    Installing multi_json (1.8.2) 
    Installing logging (1.8.1) 
    Installing rubyntlm (0.1.1) 
    Installing rack (1.5.2) 
    Installing httpi (0.9.7) 
    Installing nori (1.1.5) 
    Installing wasabi (1.0.0) 
    Installing savon (0.9.5) 
    Installing winrm (1.1.3) 
    Using em-winrm (0.5.4.rc.1) from https://github.com/hh/em-winrm.git (at 3174560) 
    Installing excon (0.31.0) 
    Installing fission (0.4.0) 
    Installing formatador (0.2.4) 
    Installing mime-types (1.25.1) 
    Installing net-ssh (2.7.0) 
    Installing net-scp (1.1.2) 
    Installing ruby-hmac (0.4.0) 
    Installing fog (1.19.0) 
    Installing posix-spawn (0.3.8) 
    Installing grit (2.5.0) 
    Installing highline (1.6.20) 
    Installing i18n (0.6.9) 
    Installing json (1.8.1) 
    Installing log4r (1.1.10) 
    Installing open4 (1.3.0) 
    Installing os (0.9.6) 
    Installing popen4 (0.1.2) 
    Installing progressbar (0.21.0) 
    Installing rspec-core (2.14.7) 
    Installing rspec-expectations (2.14.4) 
    Installing rspec-mocks (2.14.4) 
    Installing rspec (2.14.1) 
    Installing ruby-vnc (1.0.1) 
    Installing thor (0.18.1) 
    Using veewee (0.3.12) from source at /home/$USER/veewee 
    Your bundle is complete!
    Gems in the group kvm were not installed.
    Use `bundle show [gemname]` to see where a bundled gem is installed.
    

    Installing kvm support

    This is based on the serverguide from ubuntu: https://help.ubuntu.com/lts/serverguide/libvirt.html

    Install the packages

    sudo apt-get install kvm libvirt-bin libvirt-dev cpu-checker

    Add the current user to the libvirtd group

    With current user I mean the user which will be administrating the VM's

    sudo adduser $USER libvirtd

    To activate this change it is best to logout and login again. In order to avoid strang problems in the future, it is best to do the logout now :-).

    Check whether kvm is an option for your processor

    USRE@HOST ~ $ kvm-ok 
    INFO: /dev/kvm exists
    KVM acceleration can be used
    

    Installing the ruby-libvirt gem

    As before make sure we are in the correct rvm environment

    $USER@$HOST ~ $ rvm current
    ruby-1.9.2-p320@veewee
    

    Install the gem

    $USER@$HOST ~/veewee $ gem install ruby-libvirt
    Building native extensions.  This could take a while...
    Successfully installed ruby-libvirt-0.5.1
    Installing ri documentation for ruby-libvirt-0.5.1
    Done installing documentation for ruby-libvirt after 0 seconds
    1 gem installed
    

    Make sure the new gem is in the context of your bundle

    bundle install --without restrictions

    Logout and login before building kvms (otherwise you might get a permission denied like:)

     
    There was a problem opening a connection to libvirt: Error making a connection to libvirt URI qemu:///system:
    Call to virConnectOpen failed: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied
    

    This error is a permission error. Possibly because the user executing the command is not in the libvirtd group.

    Create a libvirt storage pool

    The following ruby script can be used to create a storage pool. A storage pool is necessary as there the disks will be placed. For libvirt one of the possiblities is to set a directory as a repository. Since this is an easy solution we go for these approach. The following script is borrowed from http://libvirt.org/ruby/examples/storage.rb. It is just adapted in order to only create the storage pool and no volumes. Make sure you change the path (it has the dummy value USER in it).

    # http://libvirt.org/ruby/examples/storage.rb
    # this program demonstrates the use of the libvirt storage APIs.  In particular
    # it demonstrates directory pool creation, volume creation, and teardown.
    # libvirt supports many other kinds of storage pools, including iSCSI, NFS,
    # etc.  See http://libvirt.org/formatstorage.html for more details
    
    require 'libvirt'
    
    # a directory storage pool.  
    storage_pool_xml = <
      libvirt-pool
      
        /home/$USER/libvirt-pool
      
    
    EOF
    
    # open up the connection to libvirt
    conn = Libvirt::open('qemu:///system')
    
    # print out how many storage pools are currently active
    puts "Number of storage pools: #{conn.num_of_storage_pools}"
    
    # create our new storage pool
    pool = conn.define_storage_pool_xml(storage_pool_xml)
    
    # build the storage pool.  The operation that this performs is pool-specific;
    # in the case of a directory pool, it does the equivalent of mkdir to create
    # the directory
    pool.build
    
    # start up the pool
    pool.create
    
    # print out how many active storage pools are now there; this should be one
    # more than before
    puts "Number of storage pools: #{conn.num_of_storage_pools}"
    
    # print out some information about the pool.  Note that allocation can be
    # much less than capacity; see the discussion for the storage volume XML for
    # more details
    puts "Storage Pool:"
    puts " Name: #{pool.name}"
    puts " UUID: #{pool.uuid}"
    puts " Autostart?: #{pool.autostart?}"
    
    
    conn.close
    

    Run this in your rvm environment (ruby-1.9.2-p320@veewee) and with ruby

     
    $USER@$HOST ~/libvirt $ ruby storage.rb 
    Number of storage pools: 0
    Number of storage pools: 1
    Storage Pool:
     Name: libvirt-pool
     UUID: fdaada6f-7d0d-484f-9434-fc43e25bd43e
     Autostart?: false
    

    Create a basebox using veewee

    Now we are ready to create our basebox. We will create a basebox for Oracle Linux 6.5. Veewee make use of template directories describing VMs out of which it builds the baseboxes. In the version that I cloned from github there was no template for Oracle Linux 6.5 yet. Since the differences between Oracle Linux 6.4 and 6.5 do not impose big changes on the installation procedure we can create a new template directory based on the template of Oracle Linux 6.

    cd ~/veewee
    cp -R templates/OracleLinux-6.4-x86_64-DVD templates/OracleLinux-6.4-x86_65-DVD
    

    In the definition.rb the VM is defined. Here it explains how the VM will be build. We need to use a different iso but other than that we will keep the same definition. Change the iso details:

    $USER@$HOST ~/veewee $ diff templates/OracleLinux-6.5-x86_64-DVD/definition.rb templates/OracleLinux-6.4-x86_64-DVD/definition.rb 
    8,10c8,10
    <   :iso_file => "OracleLinux-R6-U5-Server-x86_64-dvd.iso",
    <   :iso_src => "http://mirrors.dotsrc.org/oracle-linux/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso",
    <   :iso_md5 => "774fb999e4ed43341dcdf5ebc0d48f42",
    ---
    >   :iso_file => "OracleLinux-R6-U4-Server-x86_64-dvd.iso",
    >   :iso_src => "http://mirrors.dotsrc.org/oracle-linux/OL6/U4/x86_64/OracleLinux-R6-U4-Server-x86_64-dvd.iso",
    >   :iso_md5 => "744fc1663519b4d54da1345669fcee52",
    

    Next we can create a definition for a kvm VM out of the template, we call it oel65_kvm. A definition is like a working copy of a template. It alows you to create definitions for servers with different software installed on them. For this first example we keep the definition the same as the template:

    $USER@$HOST ~/veewee $ veewee kvm define 'oel65_kvm' 'OracleLinux-6.5-x86_64-DVD' --workdir=/home/$USER/veewee
    The basebox 'oel65_kvm' has been successfully created from the template 'OracleLinux-6.5-x86_64-DVD'
    You can now edit the definition files stored in /home/$USER/veewee/definitions/oel65_kvm or build the box with:
    veewee kvm build 'oel65_kvm' --workdir=/home/$USER/veewee
    

    Since we won't change this definition we will directly build the box:

    $USER@$HOST ~/veewee $ veewee kvm build 'oel65_kvm' --workdir=/home/$USER/veewee
    Building Box oel65_kvm with Definition oel65_kvm:
    - debug : false
    - cwd : /home/$USER/veewee
    - force : false
    - nogui : false
    - auto : false
    - checksum : false
    - postinstall_include : []
    - postinstall_exclude : []
    - use_emulation : false
    - network_name : default
    
    The isofile OracleLinux-R6-U5-Server-x86_64-dvd.iso already exists.
    Waiting 10 seconds for the machine to boot
    Finding unused TCP port in range: 7122 - 7199
    Selected TCP port 7122
    Sending keystrokes to VNC port :0 - TCP port: 5900
    Starting a webserver :7122
    Typing:[1]:  text ks=http://192.168.75.18:7122/ks.cfg
    Done typing.
    
    Serving file /home/$USER/veewee/definitions/oel65_kvm/ks.cfg
    Shutting down for /home/$USER/veewee/definitions/oel65_kvm/ks.cfg
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .........................................................................
    Transferring /tmp/.veewee_version20131228-7059-18zzcu6 to .veewee_version 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /tmp/.veewee_params20131228-7059-e1ql2d to .veewee_params 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/proxy.sh to proxy.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "proxy.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/base.sh to base.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "base.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/chef.sh to chef.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "chef.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/puppet.sh to puppet.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "puppet.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/vagrant.sh to vagrant.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "vagrant.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/virtualbox.sh to virtualbox.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "virtualbox.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/cleanup.sh to cleanup.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "cleanup.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Transferring /home/$USER/veewee/definitions/oel65_kvm/zerodisk.sh to zerodisk.sh 
    ..
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: chmod +x "zerodisk.sh"
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './proxy.sh'
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './base.sh'
    --2013-12-28 10:56:33--  https://public-yum.oracle.com/public-yum-ol6.repo
    Resolving public-yum.oracle.com... 2.22.55.98, 2.22.55.123
    Connecting to public-yum.oracle.com|2.22.55.98|:443... connected.
    ERROR: certificate common name “a248.e.akamai.net” doesn’t match requested host name “public-yum.oracle.com”.
    To connect to public-yum.oracle.com insecurely, use ‘--no-check-certificate’.
    Loaded plugins: security
    public_ol6_UEKR3_latest                                  | 1.2 kB     00:00     
    public_ol6_UEKR3_latest/primary                          | 2.3 MB     00:00     
    public_ol6_UEKR3_latest                                                   77/77
    public_ol6_latest                                        | 1.4 kB     00:00     
    public_ol6_latest/primary                                |  35 MB     00:16     
    public_ol6_latest                                                   24509/24509
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package ca-certificates.noarch 0:2013.1.94-65.0.el6 will be updated
    ---> Package ca-certificates.noarch 0:2013.1.95-65.1.el6_5 will be an update
    ---> Package dmidecode.x86_64 1:2.11-2.el6 will be updated
    ---> Package dmidecode.x86_64 1:2.11-2.el6_1 will be an update
    ---> Package dracut.noarch 0:004-335.0.1.el6 will be updated
    ---> Package dracut.noarch 0:004-336.0.1.el6_5.2 will be an update
    ---> Package dracut-kernel.noarch 0:004-335.0.1.el6 will be updated
    ---> Package dracut-kernel.noarch 0:004-336.0.1.el6_5.2 will be an update
    ---> Package kernel.x86_64 0:2.6.32-431.1.2.el6 will be installed
    ---> Package kernel-firmware.noarch 0:2.6.32-431.el6 will be updated
    ---> Package kernel-firmware.noarch 0:2.6.32-431.1.2.el6 will be an update
    ---> Package kernel-uek.x86_64 0:3.8.13-16.3.1.el6uek will be installed
    ---> Package kernel-uek-firmware.noarch 0:3.8.13-16.3.1.el6uek will be installed
    ---> Package libjpeg-turbo.x86_64 0:1.2.1-1.el6 will be updated
    ---> Package libjpeg-turbo.x86_64 0:1.2.1-3.el6_5 will be an update
    ---> Package nspr.x86_64 0:4.10.0-1.el6 will be updated
    ---> Package nspr.x86_64 0:4.10.2-1.el6_5 will be an update
    ---> Package nss.x86_64 0:3.15.1-15.0.1.el6 will be updated
    ---> Package nss.x86_64 0:3.15.3-3.0.1.el6_5 will be an update
    ---> Package nss-sysinit.x86_64 0:3.15.1-15.0.1.el6 will be updated
    ---> Package nss-sysinit.x86_64 0:3.15.3-3.0.1.el6_5 will be an update
    ---> Package nss-tools.x86_64 0:3.15.1-15.0.1.el6 will be updated
    ---> Package nss-tools.x86_64 0:3.15.3-3.0.1.el6_5 will be an update
    ---> Package nss-util.x86_64 0:3.15.1-3.el6 will be updated
    ---> Package nss-util.x86_64 0:3.15.3-1.el6_5 will be an update
    ---> Package openssl.x86_64 0:1.0.1e-15.el6 will be updated
    ---> Package openssl.x86_64 0:1.0.1e-16.el6_5.1 will be an update
    ---> Package pixman.x86_64 0:0.26.2-5.el6_4 will be updated
    ---> Package pixman.x86_64 0:0.26.2-5.1.el6_5 will be an update
    ---> Package system-config-network-tui.noarch 0:1.6.0.el6.2-1.0.3.el6 will be updated
    ---> Package system-config-network-tui.noarch 0:1.6.0.el6.3-1.0.1.el6 will be an update
    ---> Package systemtap-runtime.x86_64 0:2.3-3.0.1.el6 will be updated
    ---> Package systemtap-runtime.x86_64 0:2.3-4.0.1.el6_5 will be an update
    ---> Package tzdata.noarch 0:2013g-1.el6 will be updated
    ---> Package tzdata.noarch 0:2013i-1.el6 will be an update
    ---> Package yum.noarch 0:3.2.29-40.0.1.el6 will be updated
    ---> Package yum.noarch 0:3.2.29-43.0.1.el6_5 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package             Arch   Version               Repository               Size
    ================================================================================
    Installing:
     kernel              x86_64 2.6.32-431.1.2.el6    public_ol6_latest        28 M
     kernel-uek          x86_64 3.8.13-16.3.1.el6uek  public_ol6_UEKR3_latest  41 M
     kernel-uek-firmware noarch 3.8.13-16.3.1.el6uek  public_ol6_UEKR3_latest 1.6 M
    Updating:
     ca-certificates     noarch 2013.1.95-65.1.el6_5  public_ol6_latest       1.1 M
     dmidecode           x86_64 1:2.11-2.el6_1        public_ol6_latest        71 k
     dracut              noarch 004-336.0.1.el6_5.2   public_ol6_latest       122 k
     dracut-kernel       noarch 004-336.0.1.el6_5.2   public_ol6_latest        24 k
     kernel-firmware     noarch 2.6.32-431.1.2.el6    public_ol6_latest        13 M
     libjpeg-turbo       x86_64 1.2.1-3.el6_5         public_ol6_latest       174 k
     nspr                x86_64 4.10.2-1.el6_5        public_ol6_latest       112 k
     nss                 x86_64 3.15.3-3.0.1.el6_5    public_ol6_latest       821 k
     nss-sysinit         x86_64 3.15.3-3.0.1.el6_5    public_ol6_latest        39 k
     nss-tools           x86_64 3.15.3-3.0.1.el6_5    public_ol6_latest       358 k
     nss-util            x86_64 3.15.3-1.el6_5        public_ol6_latest        64 k
     openssl             x86_64 1.0.1e-16.el6_5.1     public_ol6_latest       1.5 M
     pixman              x86_64 0.26.2-5.1.el6_5      public_ol6_latest       200 k
     system-config-network-tui
                         noarch 1.6.0.el6.3-1.0.1.el6 public_ol6_latest       818 k
     systemtap-runtime   x86_64 2.3-4.0.1.el6_5       public_ol6_latest       188 k
     tzdata              noarch 2013i-1.el6           public_ol6_latest       447 k
     yum                 noarch 3.2.29-43.0.1.el6_5   public_ol6_latest       996 k
    
    Transaction Summary
    ================================================================================
    Install       3 Package(s)
    Upgrade      17 Package(s)
    
    Total download size: 91 M
    Downloading Packages:
    (1/20): ca-certificates-2013.1.95-65.1.el6_5.noarch.rpm  | 1.1 MB     00:00     
    (2/20): dmidecode-2.11-2.el6_1.x86_64.rpm                |  71 kB     00:00     
    (3/20): dracut-004-336.0.1.el6_5.2.noarch.rpm            | 122 kB     00:00     
    (4/20): dracut-kernel-004-336.0.1.el6_5.2.noarch.rpm     |  24 kB     00:00     
    (5/20): kernel-2.6.32-431.1.2.el6.x86_64.rpm             |  28 MB     00:08     
    (6/20): kernel-firmware-2.6.32-431.1.2.el6.noarch.rpm    |  13 MB     00:03     
    (7/20): kernel-uek-3.8.13-16.3.1.el6uek.x86_64.rpm       |  41 MB     00:12     
    (8/20): kernel-uek-firmware-3.8.13-16.3.1.el6uek.noarch. | 1.6 MB     00:00     
    (9/20): libjpeg-turbo-1.2.1-3.el6_5.x86_64.rpm           | 174 kB     00:00     
    (10/20): nspr-4.10.2-1.el6_5.x86_64.rpm                  | 112 kB     00:00     
    (11/20): nss-3.15.3-3.0.1.el6_5.x86_64.rpm               | 821 kB     00:00     
    (12/20): nss-sysinit-3.15.3-3.0.1.el6_5.x86_64.rpm       |  39 kB     00:00     
    (13/20): nss-tools-3.15.3-3.0.1.el6_5.x86_64.rpm         | 358 kB     00:00     
    (14/20): nss-util-3.15.3-1.el6_5.x86_64.rpm              |  64 kB     00:00     
    (15/20): openssl-1.0.1e-16.el6_5.1.x86_64.rpm            | 1.5 MB     00:00     
    (16/20): pixman-0.26.2-5.1.el6_5.x86_64.rpm              | 200 kB     00:00     
    (17/20): system-config-network-tui-1.6.0.el6.3-1.0.1.el6 | 818 kB     00:00     
    (18/20): systemtap-runtime-2.3-4.0.1.el6_5.x86_64.rpm    | 188 kB     00:00     
    (19/20): tzdata-2013i-1.el6.noarch.rpm                   | 447 kB     00:00     
    (20/20): yum-3.2.29-43.0.1.el6_5.noarch.rpm              | 996 kB     00:00     
    --------------------------------------------------------------------------------
    Total                                           3.2 MB/s |  91 MB     00:28     
    warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
    Retrieving key from http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
    Importing GPG key 0xEC551F03:
     Userid: "Oracle OSS group (Open Source Software group) "
     From  : http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Updating   : nspr-4.10.2-1.el6_5.x86_64                                  1/37 
      Updating   : nss-util-3.15.3-1.el6_5.x86_64                              2/37 
      Updating   : nss-3.15.3-3.0.1.el6_5.x86_64                               3/37 
      Updating   : nss-sysinit-3.15.3-3.0.1.el6_5.x86_64                       4/37 
      Installing : kernel-uek-firmware-3.8.13-16.3.1.el6uek.noarch             5/37 
      Updating   : dracut-004-336.0.1.el6_5.2.noarch                           6/37 
      Updating   : dracut-kernel-004-336.0.1.el6_5.2.noarch                    7/37 
      Updating   : ca-certificates-2013.1.95-65.1.el6_5.noarch                 8/37 
      Updating   : kernel-firmware-2.6.32-431.1.2.el6.noarch                   9/37 
      Installing : kernel-2.6.32-431.1.2.el6.x86_64                           10/37 
      Updating   : systemtap-runtime-2.3-4.0.1.el6_5.x86_64                   11/37 
      Updating   : openssl-1.0.1e-16.el6_5.1.x86_64                           12/37 
      Installing : kernel-uek-3.8.13-16.3.1.el6uek.x86_64                     13/37 
      Updating   : nss-tools-3.15.3-3.0.1.el6_5.x86_64                        14/37 
      Updating   : yum-3.2.29-43.0.1.el6_5.noarch                             15/37 
      Updating   : 1:dmidecode-2.11-2.el6_1.x86_64                            16/37 
      Updating   : libjpeg-turbo-1.2.1-3.el6_5.x86_64                         17/37 
      Updating   : system-config-network-tui-1.6.0.el6.3-1.0.1.el6.noarch     18/37 
      Updating   : tzdata-2013i-1.el6.noarch                                  19/37 
      Updating   : pixman-0.26.2-5.1.el6_5.x86_64                             20/37 
      Cleanup    : dracut-kernel-004-335.0.1.el6.noarch                       21/37 
      Cleanup    : dracut-004-335.0.1.el6.noarch                              22/37 
      Cleanup    : yum-3.2.29-40.0.1.el6.noarch                               23/37 
      Cleanup    : kernel-firmware-2.6.32-431.el6.noarch                      24/37 
      Cleanup    : system-config-network-tui-1.6.0.el6.2-1.0.3.el6.noarch     25/37 
      Cleanup    : tzdata-2013g-1.el6.noarch                                  26/37 
      Cleanup    : systemtap-runtime-2.3-3.0.1.el6.x86_64                     27/37 
      Cleanup    : nss-tools-3.15.1-15.0.1.el6.x86_64                         28/37 
      Cleanup    : nss-3.15.1-15.0.1.el6.x86_64                               29/37 
      Cleanup    : nss-sysinit-3.15.1-15.0.1.el6.x86_64                       30/37 
      Cleanup    : nss-util-3.15.1-3.el6.x86_64                               31/37 
      Cleanup    : openssl-1.0.1e-15.el6.x86_64                               32/37 
      Cleanup    : ca-certificates-2013.1.94-65.0.el6.noarch                  33/37 
      Cleanup    : nspr-4.10.0-1.el6.x86_64                                   34/37 
      Cleanup    : 1:dmidecode-2.11-2.el6.x86_64                              35/37 
      Cleanup    : libjpeg-turbo-1.2.1-1.el6.x86_64                           36/37 
      Cleanup    : pixman-0.26.2-5.el6_4.x86_64                               37/37 
      Verifying  : pixman-0.26.2-5.1.el6_5.x86_64                              1/37 
      Verifying  : kernel-2.6.32-431.1.2.el6.x86_64                            2/37 
      Verifying  : tzdata-2013i-1.el6.noarch                                   3/37 
      Verifying  : openssl-1.0.1e-16.el6_5.1.x86_64                            4/37 
      Verifying  : kernel-uek-3.8.13-16.3.1.el6uek.x86_64                      5/37 
      Verifying  : system-config-network-tui-1.6.0.el6.3-1.0.1.el6.noarch      6/37 
      Verifying  : dracut-kernel-004-336.0.1.el6_5.2.noarch                    7/37 
      Verifying  : nss-sysinit-3.15.3-3.0.1.el6_5.x86_64                       8/37 
      Verifying  : nspr-4.10.2-1.el6_5.x86_64                                  9/37 
      Verifying  : kernel-firmware-2.6.32-431.1.2.el6.noarch                  10/37 
      Verifying  : ca-certificates-2013.1.95-65.1.el6_5.noarch                11/37 
      Verifying  : libjpeg-turbo-1.2.1-3.el6_5.x86_64                         12/37 
      Verifying  : 1:dmidecode-2.11-2.el6_1.x86_64                            13/37 
      Verifying  : nss-tools-3.15.3-3.0.1.el6_5.x86_64                        14/37 
      Verifying  : dracut-004-336.0.1.el6_5.2.noarch                          15/37 
      Verifying  : nss-3.15.3-3.0.1.el6_5.x86_64                              16/37 
      Verifying  : systemtap-runtime-2.3-4.0.1.el6_5.x86_64                   17/37 
      Verifying  : yum-3.2.29-43.0.1.el6_5.noarch                             18/37 
      Verifying  : kernel-uek-firmware-3.8.13-16.3.1.el6uek.noarch            19/37 
      Verifying  : nss-util-3.15.3-1.el6_5.x86_64                             20/37 
      Verifying  : libjpeg-turbo-1.2.1-1.el6.x86_64                           21/37 
      Verifying  : openssl-1.0.1e-15.el6.x86_64                               22/37 
      Verifying  : kernel-firmware-2.6.32-431.el6.noarch                      23/37 
      Verifying  : nss-3.15.1-15.0.1.el6.x86_64                               24/37 
      Verifying  : tzdata-2013g-1.el6.noarch                                  25/37 
      Verifying  : nss-tools-3.15.1-15.0.1.el6.x86_64                         26/37 
      Verifying  : dracut-kernel-004-335.0.1.el6.noarch                       27/37 
      Verifying  : ca-certificates-2013.1.94-65.0.el6.noarch                  28/37 
      Verifying  : nspr-4.10.0-1.el6.x86_64                                   29/37 
      Verifying  : yum-3.2.29-40.0.1.el6.noarch                               30/37 
      Verifying  : system-config-network-tui-1.6.0.el6.2-1.0.3.el6.noarch     31/37 
      Verifying  : nss-sysinit-3.15.1-15.0.1.el6.x86_64                       32/37 
      Verifying  : dracut-004-335.0.1.el6.noarch                              33/37 
      Verifying  : nss-util-3.15.1-3.el6.x86_64                               34/37 
      Verifying  : pixman-0.26.2-5.el6_4.x86_64                               35/37 
      Verifying  : 1:dmidecode-2.11-2.el6.x86_64                              36/37 
      Verifying  : systemtap-runtime-2.3-3.0.1.el6.x86_64                     37/37 
    
    Installed:
      kernel.x86_64 0:2.6.32-431.1.2.el6                                            
      kernel-uek.x86_64 0:3.8.13-16.3.1.el6uek                                      
      kernel-uek-firmware.noarch 0:3.8.13-16.3.1.el6uek                             
    
    Updated:
      ca-certificates.noarch 0:2013.1.95-65.1.el6_5                                 
      dmidecode.x86_64 1:2.11-2.el6_1                                               
      dracut.noarch 0:004-336.0.1.el6_5.2                                           
      dracut-kernel.noarch 0:004-336.0.1.el6_5.2                                    
      kernel-firmware.noarch 0:2.6.32-431.1.2.el6                                   
      libjpeg-turbo.x86_64 0:1.2.1-3.el6_5                                          
      nspr.x86_64 0:4.10.2-1.el6_5                                                  
      nss.x86_64 0:3.15.3-3.0.1.el6_5                                               
      nss-sysinit.x86_64 0:3.15.3-3.0.1.el6_5                                       
      nss-tools.x86_64 0:3.15.3-3.0.1.el6_5                                         
      nss-util.x86_64 0:3.15.3-1.el6_5                                              
      openssl.x86_64 0:1.0.1e-16.el6_5.1                                            
      pixman.x86_64 0:0.26.2-5.1.el6_5                                              
      system-config-network-tui.noarch 0:1.6.0.el6.3-1.0.1.el6                      
      systemtap-runtime.x86_64 0:2.3-4.0.1.el6_5                                    
      tzdata.noarch 0:2013i-1.el6                                                   
      yum.noarch 0:3.2.29-43.0.1.el6_5                                              
    
    Complete!
    --2013-12-28 10:59:55--  http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    Resolving download.fedoraproject.org... 209.132.181.16, 80.239.156.215, 85.236.55.6, ...
    Connecting to download.fedoraproject.org|209.132.181.16|:80... connected.
    HTTP request sent, awaiting response... 302 FOUND
    Location: http://fedora.cu.be/epel/6/x86_64/epel-release-6-8.noarch.rpm [following]
    --2013-12-28 10:59:56--  http://fedora.cu.be/epel/6/x86_64/epel-release-6-8.noarch.rpm
    Resolving fedora.cu.be... 194.50.97.11, 2001:67c:314::feed:cafe
    Connecting to fedora.cu.be|194.50.97.11|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 14540 (14K) [application/octet-stream]
    Saving to: “epel-release-6-8.noarch.rpm”
    
    100%[======================================>] 14,540      --.-K/s   in 0.03s   
    
    2013-12-28 10:59:56 (447 KB/s) - “epel-release-6-8.noarch.rpm” saved [14540/14540]
    
    warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
    Preparing...                ########################################### [100%]
       1:epel-release           ########################################### [100%]
    Loaded plugins: security
    epel/metalink                                            |  23 kB     00:00     
    epel                                                     | 4.2 kB     00:00     
    epel/primary_db                                          | 5.8 MB     00:07     
    Setting up Install Process
    Package 1:make-3.81-20.el6.x86_64 already installed and latest version
    No package kernel-devel-3.8.13-16.2.1.el6uek.x86_64 available.
    Package 4:perl-5.10.1-136.el6.x86_64 already installed and latest version
    Package wget-1.12-1.8.el6.x86_64 already installed and latest version
    Package curl-7.19.7-37.el6_4.x86_64 already installed and latest version
    Package bzip2-1.0.5-7.el6_0.x86_64 already installed and latest version
    Resolving Dependencies
    --> Running transaction check
    ---> Package dkms.noarch 0:2.2.0.3-20.el6 will be installed
    --> Processing Dependency: kernel-devel for package: dkms-2.2.0.3-20.el6.noarch
    ---> Package gcc.x86_64 0:4.4.7-4.el6 will be installed
    --> Processing Dependency: libgomp = 4.4.7-4.el6 for package: gcc-4.4.7-4.el6.x86_64
    --> Processing Dependency: cpp = 4.4.7-4.el6 for package: gcc-4.4.7-4.el6.x86_64
    --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-4.el6.x86_64
    --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.7-4.el6.x86_64
    --> Processing Dependency: libgomp.so.1()(64bit) for package: gcc-4.4.7-4.el6.x86_64
    ---> Package gcc-c++.x86_64 0:4.4.7-4.el6 will be installed
    --> Processing Dependency: libstdc++-devel = 4.4.7-4.el6 for package: gcc-c++-4.4.7-4.el6.x86_64
    --> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.7-4.el6.x86_64
    ---> Package kernel-uek-devel.x86_64 0:3.8.13-16.2.1.el6uek will be installed
    --> Processing Dependency: libdtrace-ctf for package: kernel-uek-devel-3.8.13-16.2.1.el6uek.x86_64
    ---> Package openssl-devel.x86_64 0:1.0.1e-16.el6_5.1 will be installed
    --> Processing Dependency: krb5-devel for package: openssl-devel-1.0.1e-16.el6_5.1.x86_64
    ---> Package readline-devel.x86_64 0:6.0-4.el6 will be installed
    --> Processing Dependency: ncurses-devel for package: readline-devel-6.0-4.el6.x86_64
    ---> Package sqlite-devel.x86_64 0:3.6.20-1.el6 will be installed
    ---> Package zlib-devel.x86_64 0:1.2.3-29.el6 will be installed
    --> Running transaction check
    ---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
    --> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
    --> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
    ---> Package cpp.x86_64 0:4.4.7-4.el6 will be installed
    ---> Package glibc-devel.x86_64 0:2.12-1.132.el6 will be installed
    --> Processing Dependency: glibc-headers = 2.12-1.132.el6 for package: glibc-devel-2.12-1.132.el6.x86_64
    --> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.132.el6.x86_64
    ---> Package kernel-devel.x86_64 0:2.6.32-431.1.2.el6 will be installed
    ---> Package krb5-devel.x86_64 0:1.10.3-10.el6_4.6 will be installed
    --> Processing Dependency: libselinux-devel for package: krb5-devel-1.10.3-10.el6_4.6.x86_64
    --> Processing Dependency: libcom_err-devel for package: krb5-devel-1.10.3-10.el6_4.6.x86_64
    --> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.10.3-10.el6_4.6.x86_64
    ---> Package libdtrace-ctf.x86_64 0:0.4.0-1 will be installed
    ---> Package libgomp.x86_64 0:4.4.7-4.el6 will be installed
    ---> Package libstdc++-devel.x86_64 0:4.4.7-4.el6 will be installed
    ---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
    ---> Package ncurses-devel.x86_64 0:5.7-3.20090208.el6 will be installed
    --> Running transaction check
    ---> Package glibc-headers.x86_64 0:2.12-1.132.el6 will be installed
    --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.132.el6.x86_64
    --> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.132.el6.x86_64
    ---> Package keyutils-libs-devel.x86_64 0:1.4-4.el6 will be installed
    ---> Package libcom_err-devel.x86_64 0:1.42.8-1.0.1.el6 will be installed
    ---> Package libselinux-devel.x86_64 0:2.0.94-5.3.el6_4.1 will be installed
    --> Processing Dependency: libsepol-devel >= 2.0.32-1 for package: libselinux-devel-2.0.94-5.3.el6_4.1.x86_64
    --> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.0.94-5.3.el6_4.1.x86_64
    ---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
    --> Running transaction check
    ---> Package kernel-uek-headers.x86_64 0:3.8.13-16.3.1.el6uek will be installed
    ---> Package libsepol-devel.x86_64 0:2.0.41-4.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package             Arch   Version               Repository               Size
    ================================================================================
    Installing:
     dkms                noarch 2.2.0.3-20.el6        epel                     75 k
     gcc                 x86_64 4.4.7-4.el6           public_ol6_latest        10 M
     gcc-c++             x86_64 4.4.7-4.el6           public_ol6_latest       4.7 M
     kernel-uek-devel    x86_64 3.8.13-16.2.1.el6uek  public_ol6_UEKR3_latest 8.8 M
     openssl-devel       x86_64 1.0.1e-16.el6_5.1     public_ol6_latest       1.2 M
     readline-devel      x86_64 6.0-4.el6             public_ol6_latest       134 k
     sqlite-devel        x86_64 3.6.20-1.el6          public_ol6_latest        80 k
     zlib-devel          x86_64 1.2.3-29.el6          public_ol6_latest        43 k
    Installing for dependencies:
     cloog-ppl           x86_64 0.15.7-1.2.el6        public_ol6_latest        93 k
     cpp                 x86_64 4.4.7-4.el6           public_ol6_latest       3.7 M
     glibc-devel         x86_64 2.12-1.132.el6        public_ol6_latest       977 k
     glibc-headers       x86_64 2.12-1.132.el6        public_ol6_latest       608 k
     kernel-devel        x86_64 2.6.32-431.1.2.el6    public_ol6_latest       8.8 M
     kernel-uek-headers  x86_64 3.8.13-16.3.1.el6uek  public_ol6_UEKR3_latest 912 k
     keyutils-libs-devel x86_64 1.4-4.el6             public_ol6_latest        28 k
     krb5-devel          x86_64 1.10.3-10.el6_4.6     public_ol6_latest       494 k
     libcom_err-devel    x86_64 1.42.8-1.0.1.el6      public_ol6_latest        32 k
     libdtrace-ctf       x86_64 0.4.0-1               public_ol6_UEKR3_latest  27 k
     libgomp             x86_64 4.4.7-4.el6           public_ol6_latest       118 k
     libselinux-devel    x86_64 2.0.94-5.3.el6_4.1    public_ol6_latest       135 k
     libsepol-devel      x86_64 2.0.41-4.el6          public_ol6_latest        63 k
     libstdc++-devel     x86_64 4.4.7-4.el6           public_ol6_latest       1.6 M
     mpfr                x86_64 2.4.1-6.el6           public_ol6_latest       156 k
     ncurses-devel       x86_64 5.7-3.20090208.el6    public_ol6_latest       643 k
     ppl                 x86_64 0.10.2-11.el6         public_ol6_latest       1.3 M
    
    Transaction Summary
    ================================================================================
    Install      25 Package(s)
    
    Total download size: 45 M
    Installed size: 122 M
    Downloading Packages:
    (1/25): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm              |  93 kB     00:00     
    (2/25): cpp-4.4.7-4.el6.x86_64.rpm                       | 3.7 MB     00:01     
    (3/25): dkms-2.2.0.3-20.el6.noarch.rpm                   |  75 kB     00:00     
    (4/25): gcc-4.4.7-4.el6.x86_64.rpm                       |  10 MB     00:03     
    (5/25): gcc-c++-4.4.7-4.el6.x86_64.rpm                   | 4.7 MB     00:01     
    (6/25): glibc-devel-2.12-1.132.el6.x86_64.rpm            | 977 kB     00:00     
    (7/25): glibc-headers-2.12-1.132.el6.x86_64.rpm          | 608 kB     00:00     
    (8/25): kernel-devel-2.6.32-431.1.2.el6.x86_64.rpm       | 8.8 MB     00:03     
    (9/25): kernel-uek-devel-3.8.13-16.2.1.el6uek.x86_64.rpm | 8.8 MB     00:09     
    (10/25): kernel-uek-headers-3.8.13-16.3.1.el6uek.x86_64. | 912 kB     00:00     
    (11/25): keyutils-libs-devel-1.4-4.el6.x86_64.rpm        |  28 kB     00:00     
    (12/25): krb5-devel-1.10.3-10.el6_4.6.x86_64.rpm         | 494 kB     00:00     
    (13/25): libcom_err-devel-1.42.8-1.0.1.el6.x86_64.rpm    |  32 kB     00:00     
    (14/25): libdtrace-ctf-0.4.0-1.x86_64.rpm                |  27 kB     00:00     
    (15/25): libgomp-4.4.7-4.el6.x86_64.rpm                  | 118 kB     00:00     
    (16/25): libselinux-devel-2.0.94-5.3.el6_4.1.x86_64.rpm  | 135 kB     00:00     
    (17/25): libsepol-devel-2.0.41-4.el6.x86_64.rpm          |  63 kB     00:00     
    (18/25): libstdc++-devel-4.4.7-4.el6.x86_64.rpm          | 1.6 MB     00:00     
    (19/25): mpfr-2.4.1-6.el6.x86_64.rpm                     | 156 kB     00:00     
    (20/25): ncurses-devel-5.7-3.20090208.el6.x86_64.rpm     | 643 kB     00:00     
    (21/25): openssl-devel-1.0.1e-16.el6_5.1.x86_64.rpm      | 1.2 MB     00:00     
    (22/25): ppl-0.10.2-11.el6.x86_64.rpm                    | 1.3 MB     00:01     
    (23/25): readline-devel-6.0-4.el6.x86_64.rpm             | 134 kB     00:00     
    (24/25): sqlite-devel-3.6.20-1.el6.x86_64.rpm            |  80 kB     00:00     
    (25/25): zlib-devel-1.2.3-29.el6.x86_64.rpm              |  43 kB     00:00     
    --------------------------------------------------------------------------------
    Total                                           1.6 MB/s |  45 MB     00:27     
    warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    Importing GPG key 0x0608B895:
     Userid : EPEL (6) 
     Package: epel-release-6-8.noarch (installed)
     From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Warning: RPMDB altered outside of yum.
      Installing : mpfr-2.4.1-6.el6.x86_64                                     1/25 
      Installing : cpp-4.4.7-4.el6.x86_64                                      2/25 
      Installing : libsepol-devel-2.0.41-4.el6.x86_64                          3/25 
      Installing : libselinux-devel-2.0.94-5.3.el6_4.1.x86_64                  4/25 
      Installing : ppl-0.10.2-11.el6.x86_64                                    5/25 
      Installing : cloog-ppl-0.15.7-1.2.el6.x86_64                             6/25 
      Installing : libgomp-4.4.7-4.el6.x86_64                                  7/25 
      Installing : libcom_err-devel-1.42.8-1.0.1.el6.x86_64                    8/25 
      Installing : kernel-uek-headers-3.8.13-16.3.1.el6uek.x86_64              9/25 
      Installing : glibc-headers-2.12-1.132.el6.x86_64                        10/25 
      Installing : glibc-devel-2.12-1.132.el6.x86_64                          11/25 
      Installing : gcc-4.4.7-4.el6.x86_64                                     12/25 
      Installing : libdtrace-ctf-0.4.0-1.x86_64                               13/25 
      Installing : zlib-devel-1.2.3-29.el6.x86_64                             14/25 
      Installing : ncurses-devel-5.7-3.20090208.el6.x86_64                    15/25 
      Installing : keyutils-libs-devel-1.4-4.el6.x86_64                       16/25 
      Installing : krb5-devel-1.10.3-10.el6_4.6.x86_64                        17/25 
      Installing : libstdc++-devel-4.4.7-4.el6.x86_64                         18/25 
      Installing : kernel-devel-2.6.32-431.1.2.el6.x86_64                     19/25 
      Installing : dkms-2.2.0.3-20.el6.noarch                                 20/25 
      Installing : gcc-c++-4.4.7-4.el6.x86_64                                 21/25 
      Installing : openssl-devel-1.0.1e-16.el6_5.1.x86_64                     22/25 
      Installing : readline-devel-6.0-4.el6.x86_64                            23/25 
      Installing : kernel-uek-devel-3.8.13-16.2.1.el6uek.x86_64               24/25 
      Installing : sqlite-devel-3.6.20-1.el6.x86_64                           25/25 
      Verifying  : readline-devel-6.0-4.el6.x86_64                             1/25 
      Verifying  : glibc-devel-2.12-1.132.el6.x86_64                           2/25 
      Verifying  : libselinux-devel-2.0.94-5.3.el6_4.1.x86_64                  3/25 
      Verifying  : openssl-devel-1.0.1e-16.el6_5.1.x86_64                      4/25 
      Verifying  : glibc-headers-2.12-1.132.el6.x86_64                         5/25 
      Verifying  : kernel-devel-2.6.32-431.1.2.el6.x86_64                      6/25 
      Verifying  : libstdc++-devel-4.4.7-4.el6.x86_64                          7/25 
      Verifying  : keyutils-libs-devel-1.4-4.el6.x86_64                        8/25 
      Verifying  : cpp-4.4.7-4.el6.x86_64                                      9/25 
      Verifying  : ncurses-devel-5.7-3.20090208.el6.x86_64                    10/25 
      Verifying  : libdtrace-ctf-0.4.0-1.x86_64                               11/25 
      Verifying  : mpfr-2.4.1-6.el6.x86_64                                    12/25 
      Verifying  : kernel-uek-devel-3.8.13-16.2.1.el6uek.x86_64               13/25 
      Verifying  : zlib-devel-1.2.3-29.el6.x86_64                             14/25 
      Verifying  : gcc-c++-4.4.7-4.el6.x86_64                                 15/25 
      Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                            16/25 
      Verifying  : kernel-uek-headers-3.8.13-16.3.1.el6uek.x86_64             17/25 
      Verifying  : libcom_err-devel-1.42.8-1.0.1.el6.x86_64                   18/25 
      Verifying  : libgomp-4.4.7-4.el6.x86_64                                 19/25 
      Verifying  : gcc-4.4.7-4.el6.x86_64                                     20/25 
      Verifying  : dkms-2.2.0.3-20.el6.noarch                                 21/25 
      Verifying  : ppl-0.10.2-11.el6.x86_64                                   22/25 
      Verifying  : libsepol-devel-2.0.41-4.el6.x86_64                         23/25 
      Verifying  : sqlite-devel-3.6.20-1.el6.x86_64                           24/25 
      Verifying  : krb5-devel-1.10.3-10.el6_4.6.x86_64                        25/25 
    
    Installed:
      dkms.noarch 0:2.2.0.3-20.el6                                                  
      gcc.x86_64 0:4.4.7-4.el6                                                      
      gcc-c++.x86_64 0:4.4.7-4.el6                                                  
      kernel-uek-devel.x86_64 0:3.8.13-16.2.1.el6uek                                
      openssl-devel.x86_64 0:1.0.1e-16.el6_5.1                                      
      readline-devel.x86_64 0:6.0-4.el6                                             
      sqlite-devel.x86_64 0:3.6.20-1.el6                                            
      zlib-devel.x86_64 0:1.2.3-29.el6                                              
    
    Dependency Installed:
      cloog-ppl.x86_64 0:0.15.7-1.2.el6                                             
      cpp.x86_64 0:4.4.7-4.el6                                                      
      glibc-devel.x86_64 0:2.12-1.132.el6                                           
      glibc-headers.x86_64 0:2.12-1.132.el6                                         
      kernel-devel.x86_64 0:2.6.32-431.1.2.el6                                      
      kernel-uek-headers.x86_64 0:3.8.13-16.3.1.el6uek                              
      keyutils-libs-devel.x86_64 0:1.4-4.el6                                        
      krb5-devel.x86_64 0:1.10.3-10.el6_4.6                                         
      libcom_err-devel.x86_64 0:1.42.8-1.0.1.el6                                    
      libdtrace-ctf.x86_64 0:0.4.0-1                                                
      libgomp.x86_64 0:4.4.7-4.el6                                                  
      libselinux-devel.x86_64 0:2.0.94-5.3.el6_4.1                                  
      libsepol-devel.x86_64 0:2.0.41-4.el6                                          
      libstdc++-devel.x86_64 0:4.4.7-4.el6                                          
      mpfr.x86_64 0:2.4.1-6.el6                                                     
      ncurses-devel.x86_64 0:5.7-3.20090208.el6                                     
      ppl.x86_64 0:0.10.2-11.el6                                                    
    
    Complete!
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './chef.sh'
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 14101  100 14101    0     0  13933      0  0:00:01  0:00:01 --:--:-- 48126
    Downloading Chef  for el...
    downloading https://www.opscode.com/chef/metadata?v=&prerelease=false&p=el&pv=6&m=x86_64
      to file /tmp/install.sh.21115/metadata.txt
    trying wget...
    url	https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-11.8.2-1.el6.x86_64.rpm
    md5	10f3d0da82efa973fe91cc24a6a74549
    sha256	044558f38d25bbf75dbd5790ccce892a38e5e9f2a091ed55367ab914fbd1cfed
    downloaded metadata file looks valid...
    downloading https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-11.8.2-1.el6.x86_64.rpm
      to file /tmp/install.sh.21115/chef-.x86_64.rpm
    trying wget...
    Checksum compare with sha256sum succeeded.
    Installing Chef 
    installing with rpm...
    warning: /tmp/install.sh.21115/chef-.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 83ef826a: NOKEY
    Preparing...                ########################################### [100%]
       1:chef                   ########################################### [100%]
    Thank you for installing Chef!
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './puppet.sh'
    --2013-12-28 11:01:24--  https://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
    Resolving yum.puppetlabs.com... 198.58.114.168, 2600:3c00::f03c:91ff:fe69:6bf0
    Connecting to yum.puppetlabs.com|198.58.114.168|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 5712 (5.6K) [application/x-redhat-package-manager]
    Saving to: “puppetlabs-release-6-7.noarch.rpm”
    
    100%[======================================>] 5,712       --.-K/s   in 0s      
    
    2013-12-28 11:01:25 (55.8 MB/s) - “puppetlabs-release-6-7.noarch.rpm” saved [5712/5712]
    
    warning: puppetlabs-release-6-7.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 4bd6ec30: NOKEY
    Preparing...                ########################################### [100%]
       1:puppetlabs-release     ########################################### [100%]
    Loaded plugins: security
    puppetlabs-deps                                          | 1.9 kB     00:00     
    puppetlabs-deps/primary_db                               |  21 kB     00:00     
    puppetlabs-products                                      | 1.9 kB     00:00     
    puppetlabs-products/primary_db                           | 101 kB     00:00     
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package facter.x86_64 1:1.7.4-1.el6 will be installed
    --> Processing Dependency: ruby >= 1.8.5 for package: 1:facter-1.7.4-1.el6.x86_64
    --> Processing Dependency: /usr/bin/ruby for package: 1:facter-1.7.4-1.el6.x86_64
    ---> Package puppet.noarch 0:3.4.1-1.el6 will be installed
    --> Processing Dependency: ruby-rgen >= 0.6.5 for package: puppet-3.4.1-1.el6.noarch
    --> Processing Dependency: hiera >= 1.0.0 for package: puppet-3.4.1-1.el6.noarch
    --> Processing Dependency: ruby-augeas for package: puppet-3.4.1-1.el6.noarch
    --> Processing Dependency: ruby-shadow for package: puppet-3.4.1-1.el6.noarch
    --> Processing Dependency: ruby(selinux) for package: puppet-3.4.1-1.el6.noarch
    --> Running transaction check
    ---> Package hiera.noarch 0:1.3.0-1.el6 will be installed
    --> Processing Dependency: rubygem-json for package: hiera-1.3.0-1.el6.noarch
    ---> Package libselinux-ruby.x86_64 0:2.0.94-5.3.el6_4.1 will be installed
    ---> Package ruby.x86_64 0:1.8.7.352-13.el6 will be installed
    --> Processing Dependency: ruby-libs = 1.8.7.352-13.el6 for package: ruby-1.8.7.352-13.el6.x86_64
    --> Processing Dependency: libruby.so.1.8()(64bit) for package: ruby-1.8.7.352-13.el6.x86_64
    ---> Package ruby-augeas.x86_64 0:0.4.1-1.el6 will be installed
    --> Processing Dependency: augeas-libs >= 0.8.0 for package: ruby-augeas-0.4.1-1.el6.x86_64
    --> Processing Dependency: libaugeas.so.0(AUGEAS_0.8.0)(64bit) for package: ruby-augeas-0.4.1-1.el6.x86_64
    --> Processing Dependency: libaugeas.so.0(AUGEAS_0.12.0)(64bit) for package: ruby-augeas-0.4.1-1.el6.x86_64
    --> Processing Dependency: libaugeas.so.0(AUGEAS_0.11.0)(64bit) for package: ruby-augeas-0.4.1-1.el6.x86_64
    --> Processing Dependency: libaugeas.so.0(AUGEAS_0.10.0)(64bit) for package: ruby-augeas-0.4.1-1.el6.x86_64
    --> Processing Dependency: libaugeas.so.0(AUGEAS_0.1.0)(64bit) for package: ruby-augeas-0.4.1-1.el6.x86_64
    --> Processing Dependency: libaugeas.so.0()(64bit) for package: ruby-augeas-0.4.1-1.el6.x86_64
    ---> Package ruby-rgen.noarch 0:0.6.5-1.el6 will be installed
    ---> Package ruby-shadow.x86_64 0:1.4.1-13.el6 will be installed
    --> Running transaction check
    ---> Package augeas-libs.x86_64 0:1.0.0-5.el6 will be installed
    ---> Package ruby-libs.x86_64 0:1.8.7.352-13.el6 will be installed
    --> Processing Dependency: libreadline.so.5()(64bit) for package: ruby-libs-1.8.7.352-13.el6.x86_64
    ---> Package rubygem-json.x86_64 0:1.5.5-1.el6 will be installed
    --> Processing Dependency: rubygems for package: rubygem-json-1.5.5-1.el6.x86_64
    --> Running transaction check
    ---> Package compat-readline5.x86_64 0:5.2-17.1.el6 will be installed
    ---> Package rubygems.noarch 0:1.3.7-5.el6 will be installed
    --> Processing Dependency: ruby-rdoc for package: rubygems-1.3.7-5.el6.noarch
    --> Running transaction check
    ---> Package ruby-rdoc.x86_64 0:1.8.7.352-13.el6 will be installed
    --> Processing Dependency: ruby-irb = 1.8.7.352-13.el6 for package: ruby-rdoc-1.8.7.352-13.el6.x86_64
    --> Running transaction check
    ---> Package ruby-irb.x86_64 0:1.8.7.352-13.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package            Arch     Version                Repository             Size
    ================================================================================
    Installing:
     facter             x86_64   1:1.7.4-1.el6          puppetlabs-products    87 k
     puppet             noarch   3.4.1-1.el6            puppetlabs-products   1.1 M
    Installing for dependencies:
     augeas-libs        x86_64   1.0.0-5.el6            public_ol6_latest     308 k
     compat-readline5   x86_64   5.2-17.1.el6           public_ol6_latest     129 k
     hiera              noarch   1.3.0-1.el6            puppetlabs-products    23 k
     libselinux-ruby    x86_64   2.0.94-5.3.el6_4.1     public_ol6_latest      98 k
     ruby               x86_64   1.8.7.352-13.el6       public_ol6_latest     534 k
     ruby-augeas        x86_64   0.4.1-1.el6            epel                   21 k
     ruby-irb           x86_64   1.8.7.352-13.el6       public_ol6_latest     313 k
     ruby-libs          x86_64   1.8.7.352-13.el6       public_ol6_latest     1.6 M
     ruby-rdoc          x86_64   1.8.7.352-13.el6       public_ol6_latest     376 k
     ruby-rgen          noarch   0.6.5-1.el6            puppetlabs-deps        87 k
     ruby-shadow        x86_64   1.4.1-13.el6           epel                   11 k
     rubygem-json       x86_64   1.5.5-1.el6            puppetlabs-deps       763 k
     rubygems           noarch   1.3.7-5.el6            public_ol6_latest     206 k
    
    Transaction Summary
    ================================================================================
    Install      15 Package(s)
    
    Total download size: 5.7 M
    Installed size: 17 M
    Downloading Packages:
    (1/15): augeas-libs-1.0.0-5.el6.x86_64.rpm               | 308 kB     00:00     
    (2/15): compat-readline5-5.2-17.1.el6.x86_64.rpm         | 129 kB     00:00     
    (3/15): facter-1.7.4-1.el6.x86_64.rpm                    |  87 kB     00:00     
    (4/15): hiera-1.3.0-1.el6.noarch.rpm                     |  23 kB     00:00     
    (5/15): libselinux-ruby-2.0.94-5.3.el6_4.1.x86_64.rpm    |  98 kB     00:00     
    (6/15): puppet-3.4.1-1.el6.noarch.rpm                    | 1.1 MB     00:01     
    (7/15): ruby-1.8.7.352-13.el6.x86_64.rpm                 | 534 kB     00:00     
    (8/15): ruby-augeas-0.4.1-1.el6.x86_64.rpm               |  21 kB     00:00     
    (9/15): ruby-irb-1.8.7.352-13.el6.x86_64.rpm             | 313 kB     00:00     
    (10/15): ruby-libs-1.8.7.352-13.el6.x86_64.rpm           | 1.6 MB     00:00     
    (11/15): ruby-rdoc-1.8.7.352-13.el6.x86_64.rpm           | 376 kB     00:00     
    (12/15): ruby-rgen-0.6.5-1.el6.noarch.rpm                |  87 kB     00:00     
    (13/15): ruby-shadow-1.4.1-13.el6.x86_64.rpm             |  11 kB     00:00     
    (14/15): rubygem-json-1.5.5-1.el6.x86_64.rpm             | 763 kB     00:01     
    (15/15): rubygems-1.3.7-5.el6.noarch.rpm                 | 206 kB     00:00     
    --------------------------------------------------------------------------------
    Total                                           753 kB/s | 5.7 MB     00:07     
    warning: rpmts_HdrFromFdno: Header V4 RSA/SHA512 Signature, key ID 4bd6ec30: NOKEY
    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
    Importing GPG key 0x4BD6EC30:
     Userid : Puppet Labs Release Key (Puppet Labs Release Key) 
     Package: puppetlabs-release-6-7.noarch (installed)
     From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Warning: RPMDB altered outside of yum.
      Installing : augeas-libs-1.0.0-5.el6.x86_64                              1/15 
      Installing : compat-readline5-5.2-17.1.el6.x86_64                        2/15 
      Installing : ruby-libs-1.8.7.352-13.el6.x86_64                           3/15 
      Installing : ruby-1.8.7.352-13.el6.x86_64                                4/15 
      Installing : ruby-rgen-0.6.5-1.el6.noarch                                5/15 
      Installing : ruby-irb-1.8.7.352-13.el6.x86_64                            6/15 
      Installing : ruby-rdoc-1.8.7.352-13.el6.x86_64                           7/15 
      Installing : rubygems-1.3.7-5.el6.noarch                                 8/15 
      Installing : rubygem-json-1.5.5-1.el6.x86_64                             9/15 
      Installing : hiera-1.3.0-1.el6.noarch                                   10/15 
      Installing : 1:facter-1.7.4-1.el6.x86_64                                11/15 
      Installing : ruby-augeas-0.4.1-1.el6.x86_64                             12/15 
      Installing : ruby-shadow-1.4.1-13.el6.x86_64                            13/15 
      Installing : libselinux-ruby-2.0.94-5.3.el6_4.1.x86_64                  14/15 
      Installing : puppet-3.4.1-1.el6.noarch                                  15/15 
      Verifying  : hiera-1.3.0-1.el6.noarch                                    1/15 
      Verifying  : libselinux-ruby-2.0.94-5.3.el6_4.1.x86_64                   2/15 
      Verifying  : ruby-augeas-0.4.1-1.el6.x86_64                              3/15 
      Verifying  : ruby-1.8.7.352-13.el6.x86_64                                4/15 
      Verifying  : compat-readline5-5.2-17.1.el6.x86_64                        5/15 
      Verifying  : ruby-rgen-0.6.5-1.el6.noarch                                6/15 
      Verifying  : ruby-rdoc-1.8.7.352-13.el6.x86_64                           7/15 
      Verifying  : puppet-3.4.1-1.el6.noarch                                   8/15 
      Verifying  : ruby-irb-1.8.7.352-13.el6.x86_64                            9/15 
      Verifying  : 1:facter-1.7.4-1.el6.x86_64                                10/15 
      Verifying  : rubygems-1.3.7-5.el6.noarch                                11/15 
      Verifying  : ruby-libs-1.8.7.352-13.el6.x86_64                          12/15 
      Verifying  : rubygem-json-1.5.5-1.el6.x86_64                            13/15 
      Verifying  : augeas-libs-1.0.0-5.el6.x86_64                             14/15 
      Verifying  : ruby-shadow-1.4.1-13.el6.x86_64                            15/15 
    
    Installed:
      facter.x86_64 1:1.7.4-1.el6            puppet.noarch 0:3.4.1-1.el6           
    
    Dependency Installed:
      augeas-libs.x86_64 0:1.0.0-5.el6                                              
      compat-readline5.x86_64 0:5.2-17.1.el6                                        
      hiera.noarch 0:1.3.0-1.el6                                                    
      libselinux-ruby.x86_64 0:2.0.94-5.3.el6_4.1                                   
      ruby.x86_64 0:1.8.7.352-13.el6                                                
      ruby-augeas.x86_64 0:0.4.1-1.el6                                              
      ruby-irb.x86_64 0:1.8.7.352-13.el6                                            
      ruby-libs.x86_64 0:1.8.7.352-13.el6                                           
      ruby-rdoc.x86_64 0:1.8.7.352-13.el6                                           
      ruby-rgen.noarch 0:0.6.5-1.el6                                                
      ruby-shadow.x86_64 0:1.4.1-13.el6                                             
      rubygem-json.x86_64 0:1.5.5-1.el6                                             
      rubygems.noarch 0:1.3.7-5.el6                                                 
    
    Complete!
    
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './vagrant.sh'
    Changing password for user vagrant.
    passwd: all authentication tokens updated successfully.
    --2013-12-28 11:01:50--  https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub
    Resolving raw.github.com... 185.31.16.133
    Connecting to raw.github.com|185.31.16.133|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 409 [text/plain]
    Saving to: “/home/vagrant/.ssh/authorized_keys”
    
    100%[======================================>] 409         --.-K/s   in 0s      
    
    2013-12-28 11:01:50 (3.05 MB/s) - “/home/vagrant/.ssh/authorized_keys” saved [409/409]
    
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './virtualbox.sh'
    cat: /home/veewee/.vbox_version: No such file or directory
    /home/veewee/VBoxGuestAdditions_.iso: No such file or directory
    sh: /mnt/VBoxLinuxAdditions.run: No such file or directory
    umount: /mnt: not mounted
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './cleanup.sh'
    Loaded plugins: security
    Setting up Remove Process
    No Match for argument: avahi
    Package(s) avahi available, but not installed.
    No Match for argument: bitstream-vera-fonts
    Resolving Dependencies
    --> Running transaction check
    ---> Package freetype.x86_64 0:2.3.11-14.el6_3.1 will be erased
    --> Processing Dependency: libfreetype.so.6()(64bit) for package: libXft-2.3.1-2.el6.x86_64
    --> Processing Dependency: libfreetype.so.6()(64bit) for package: cairo-1.8.8-3.1.el6.x86_64
    --> Processing Dependency: libfreetype.so.6()(64bit) for package: pango-1.28.1-7.0.1.el6_3.x86_64
    --> Processing Dependency: libfreetype.so.6()(64bit) for package: fontconfig-2.8.0-3.el6.x86_64
    --> Processing Dependency: freetype >= 2.1.3-3 for package: pango-1.28.1-7.0.1.el6_3.x86_64
    --> Processing Dependency: freetype >= 2.1.3-3 for package: pango-1.28.1-7.0.1.el6_3.x86_64
    --> Processing Dependency: freetype >= 2.1.4 for package: fontconfig-2.8.0-3.el6.x86_64
    ---> Package gtk2.x86_64 0:2.20.1-4.el6 will be erased
    --> Processing Dependency: libgdk_pixbuf-2.0.so.0()(64bit) for package: libfprint-0.1.0-19.pre2.el6.x86_64
    ---> Package hicolor-icon-theme.noarch 0:0.11-1.1.el6 will be erased
    ---> Package libX11.x86_64 0:1.5.0-4.el6 will be erased
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXi-1.6.1-3.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXrender-0.9.7-2.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXcomposite-0.4.3-4.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXfixes-5.0-3.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXcursor-1.1.13-6.20130524git8f677eaea.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXdamage-1.1.3-4.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXinerama-1.1.2-2.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXext-1.3.1-2.el6.x86_64
    --> Processing Dependency: libX11.so.6()(64bit) for package: libXrandr-1.4.0-1.el6.x86_64
    --> Processing Dependency: libX11 >= 1.4.99.1 for package: libXi-1.6.1-3.el6.x86_64
    --> Running transaction check
    ---> Package cairo.x86_64 0:1.8.8-3.1.el6 will be erased
    ---> Package fontconfig.x86_64 0:2.8.0-3.el6 will be erased
    ---> Package libXcomposite.x86_64 0:0.4.3-4.el6 will be erased
    ---> Package libXcursor.x86_64 0:1.1.13-6.20130524git8f677eaea.el6 will be erased
    ---> Package libXdamage.x86_64 0:1.1.3-4.el6 will be erased
    ---> Package libXext.x86_64 0:1.3.1-2.el6 will be erased
    ---> Package libXfixes.x86_64 0:5.0-3.el6 will be erased
    ---> Package libXft.x86_64 0:2.3.1-2.el6 will be erased
    ---> Package libXi.x86_64 0:1.6.1-3.el6 will be erased
    ---> Package libXinerama.x86_64 0:1.1.2-2.el6 will be erased
    ---> Package libXrandr.x86_64 0:1.4.0-1.el6 will be erased
    ---> Package libXrender.x86_64 0:0.9.7-2.el6 will be erased
    ---> Package libfprint.x86_64 0:0.1.0-19.pre2.el6 will be erased
    --> Processing Dependency: libfprint.so.0()(64bit) for package: fprintd-0.1-21.git04fd09cfa.el6.x86_64
    ---> Package pango.x86_64 0:1.28.1-7.0.1.el6_3 will be erased
    --> Running transaction check
    ---> Package fprintd.x86_64 0:0.1-21.git04fd09cfa.el6 will be erased
    --> Processing Dependency: fprintd = 0.1-21.git04fd09cfa.el6 for package: fprintd-pam-0.1-21.git04fd09cfa.el6.x86_64
    --> Running transaction check
    ---> Package fprintd-pam.x86_64 0:0.1-21.git04fd09cfa.el6 will be erased
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ================================================================================
     Package     Arch   Version
                          Repository                                           Size
    ================================================================================
    Removing:
     freetype    x86_64 2.3.11-14.el6_3.1
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 816 k
     gtk2        x86_64 2.20.1-4.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  13 M
     hicolor-icon-theme
                 noarch 0.11-1.1.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  44 k
     libX11      x86_64 1.5.0-4.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 1.2 M
    Removing for dependencies:
     cairo       x86_64 1.8.8-3.1.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 779 k
     fontconfig  x86_64 2.8.0-3.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 440 k
     fprintd     x86_64 0.1-21.git04fd09cfa.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 106 k
     fprintd-pam x86_64 0.1-21.git04fd09cfa.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  17 k
     libXcomposite
                 x86_64 0.4.3-4.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  31 k
     libXcursor  x86_64 1.1.13-6.20130524git8f677eaea.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  41 k
     libXdamage  x86_64 1.1.3-4.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  24 k
     libXext     x86_64 1.3.1-2.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  80 k
     libXfixes   x86_64 5.0-3.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  40 k
     libXft      x86_64 2.3.1-2.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 116 k
     libXi       x86_64 1.6.1-3.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  63 k
     libXinerama x86_64 1.1.2-2.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  32 k
     libXrandr   x86_64 1.4.0-1.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  79 k
     libXrender  x86_64 0.9.7-2.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5  56 k
     libfprint   x86_64 0.1.0-19.pre2.el6
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 261 k
     pango       x86_64 1.28.1-7.0.1.el6_3
                          @anaconda-OracleLinuxServer-201311252058.x86_64/6.5 1.0 M
    
    Transaction Summary
    ================================================================================
    Remove       20 Package(s)
    
    Installed size: 18 M
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Erasing    : fprintd-pam-0.1-21.git04fd09cfa.el6.x86_64                  1/20 
      Erasing    : fprintd-0.1-21.git04fd09cfa.el6.x86_64                      2/20 
      Erasing    : libfprint-0.1.0-19.pre2.el6.x86_64                          3/20 
      Erasing    : gtk2-2.20.1-4.el6.x86_64                                    4/20 
      Erasing    : pango-1.28.1-7.0.1.el6_3.x86_64                             5/20 
      Erasing    : libXft-2.3.1-2.el6.x86_64                                   6/20 
      Erasing    : cairo-1.8.8-3.1.el6.x86_64                                  7/20 
      Erasing    : libXcursor-1.1.13-6.20130524git8f677eaea.el6.x86_64         8/20 
      Erasing    : libXrandr-1.4.0-1.el6.x86_64                                9/20 
      Erasing    : libXdamage-1.1.3-4.el6.x86_64                              10/20 
      Erasing    : libXi-1.6.1-3.el6.x86_64                                   11/20 
      Erasing    : libXinerama-1.1.2-2.el6.x86_64                             12/20 
      Erasing    : libXext-1.3.1-2.el6.x86_64                                 13/20 
      Erasing    : libXfixes-5.0-3.el6.x86_64                                 14/20 
      Erasing    : libXrender-0.9.7-2.el6.x86_64                              15/20 
      Erasing    : fontconfig-2.8.0-3.el6.x86_64                              16/20 
      Erasing    : libXcomposite-0.4.3-4.el6.x86_64                           17/20 
      Erasing    : hicolor-icon-theme-0.11-1.1.el6.noarch                     18/20 
      Erasing    : libX11-1.5.0-4.el6.x86_64                                  19/20 
      Erasing    : freetype-2.3.11-14.el6_3.1.x86_64                          20/20 
      Verifying  : libXinerama-1.1.2-2.el6.x86_64                              1/20 
      Verifying  : libXrandr-1.4.0-1.el6.x86_64                                2/20 
      Verifying  : libXfixes-5.0-3.el6.x86_64                                  3/20 
      Verifying  : libXrender-0.9.7-2.el6.x86_64                               4/20 
      Verifying  : pango-1.28.1-7.0.1.el6_3.x86_64                             5/20 
      Verifying  : hicolor-icon-theme-0.11-1.1.el6.noarch                      6/20 
      Verifying  : cairo-1.8.8-3.1.el6.x86_64                                  7/20 
      Verifying  : fprintd-0.1-21.git04fd09cfa.el6.x86_64                      8/20 
      Verifying  : libXext-1.3.1-2.el6.x86_64                                  9/20 
      Verifying  : freetype-2.3.11-14.el6_3.1.x86_64                          10/20 
      Verifying  : libfprint-0.1.0-19.pre2.el6.x86_64                         11/20 
      Verifying  : libXi-1.6.1-3.el6.x86_64                                   12/20 
      Verifying  : libXcursor-1.1.13-6.20130524git8f677eaea.el6.x86_64        13/20 
      Verifying  : fprintd-pam-0.1-21.git04fd09cfa.el6.x86_64                 14/20 
      Verifying  : libX11-1.5.0-4.el6.x86_64                                  15/20 
      Verifying  : libXcomposite-0.4.3-4.el6.x86_64                           16/20 
      Verifying  : fontconfig-2.8.0-3.el6.x86_64                              17/20 
      Verifying  : libXdamage-1.1.3-4.el6.x86_64                              18/20 
      Verifying  : gtk2-2.20.1-4.el6.x86_64                                   19/20 
      Verifying  : libXft-2.3.1-2.el6.x86_64                                  20/20 
    
    Removed:
      freetype.x86_64 0:2.3.11-14.el6_3.1           gtk2.x86_64 0:2.20.1-4.el6      
      hicolor-icon-theme.noarch 0:0.11-1.1.el6      libX11.x86_64 0:1.5.0-4.el6     
    
    Dependency Removed:
      cairo.x86_64 0:1.8.8-3.1.el6                                                  
      fontconfig.x86_64 0:2.8.0-3.el6                                               
      fprintd.x86_64 0:0.1-21.git04fd09cfa.el6                                      
      fprintd-pam.x86_64 0:0.1-21.git04fd09cfa.el6                                  
      libXcomposite.x86_64 0:0.4.3-4.el6                                            
      libXcursor.x86_64 0:1.1.13-6.20130524git8f677eaea.el6                         
      libXdamage.x86_64 0:1.1.3-4.el6                                               
      libXext.x86_64 0:1.3.1-2.el6                                                  
      libXfixes.x86_64 0:5.0-3.el6                                                  
      libXft.x86_64 0:2.3.1-2.el6                                                   
      libXi.x86_64 0:1.6.1-3.el6                                                    
      libXinerama.x86_64 0:1.1.2-2.el6                                              
      libXrandr.x86_64 0:1.4.0-1.el6                                                
      libXrender.x86_64 0:0.9.7-2.el6                                               
      libfprint.x86_64 0:0.1.0-19.pre2.el6                                          
      pango.x86_64 0:1.28.1-7.0.1.el6_3                                             
    
    Complete!
    Loaded plugins: security
    Cleaning repos: epel public_ol6_UEKR3_latest public_ol6_latest puppetlabs-deps
                  : puppetlabs-products
    Cleaning up Everything
    Waiting for ssh login on 192.168.122.162 with user veewee to sshd on port => 22 to work, timeout=10000 sec
    .
    Executing command: echo 'veewee'|sudo -S sh './zerodisk.sh'
    dd: writing `/EMPTY': No space left on device
    6808+0 records in
    6807+0 records out
    7138480128 bytes (7.1 GB) copied, 84.4773 s, 84.5 MB/s
    The box oel65_kvm was built successfully!
    You can now login to the box with:
    ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 22 -l veewee 192.168.122.162
    

    Now your box is ready. You can login (username and password are both veewee) to it over ssh to do some checkups but I trust the build and I will just shut down the VM.

    $USER@$HOST ~/veewee $ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 22 -l veewee 192.168.122.162
    Warning: Permanently added '192.168.122.162' (RSA) to the list of known hosts.
    veewee@192.168.122.162's password: 
    Last login: Sat Dec 28 11:05:36 2013 from 192.168.122.1
    Welcome to Veewee built Vagrant Base Box.
    [veewee@localhost ~]$ sudo /sbin/shutdown -h now
    
    Broadcast message from veewee@localhost.localdomain
    	(/dev/pts/0) at 11:07 ...
    
    The system is going down for halt NOW!
    [veewee@localhost ~]$ Connection to 192.168.122.162 closed by remote host.
    Connection to 192.168.122.162 closed.
    

    Export to Vagrant format

     
    $USER@$HOST ~/veewee $ veewee kvm export oel65_kvm
    Creating a temporary directory for export
    Adding additional files
    Creating Vagrantfile
    Copying the box volume
    Packaging the box
    Cleaning up temporary directory
    
    To import it into vagrant type:
    vagrant box add 'oel65_kvm' '/home/$USER/veewee/oel65_kvm.box'
    
    To use it:
    vagrant init 'oel65_kvm'
    vagrant up --provider=libvirt
    vagrant ssh
    
    

    Installing a compatible vagrant

    At the time I was testing this there was no libvirt provider for vagrant 1.4. Therefore I installed an older version (1.3.5) which was already compatible with the provider.

    Install vagrant 1.3.5

    Download vagrant from the official web site (here) and install the package

    sudo dpkg -i vagrant_1.3.5_x86_64.deb

    Install vagrant-libvirt

    vagrant plugin install vagrant-libvirt 

    My first try looked like:

    $USER@$HOST ~ $ vagrant plugin install vagrant-libvirt
    Installing the 'vagrant-libvirt' plugin. This can take a few minutes...
    /usr/lib/ruby/1.9.1/rubygems/installer.rb:556:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
    
            /usr/bin/ruby1.9.1 extconf.rb
    /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    	from extconf.rb:5:in `
    ' Gem files will remain installed in /home/$USER/.vagrant.d/gems/gems/nokogiri-1.5.10 for inspection. Results logged to /home/$USER/.vagrant.d/gems/gems/nokogiri-1.5.10/ext/nokogiri/gem_make.out from /usr/lib/ruby/1.9.1/rubygems/installer.rb:534:in `block in build_extensions' from /usr/lib/ruby/1.9.1/rubygems/installer.rb:509:in `each' from /usr/lib/ruby/1.9.1/rubygems/installer.rb:509:in `build_extensions' from /usr/lib/ruby/1.9.1/rubygems/installer.rb:180:in `install' from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:297:in `block in install' from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each' from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each_with_index' from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `install' from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:38:in `block in call' from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:42:in `block in with_environment' from /usr/lib/ruby/1.9.1/rubygems/user_interaction.rb:40:in `use_ui' from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:41:in `with_environment' from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:28:in `call' from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call' from /usr/share/vagrant/plugins/commands/plugin/action/bundler_check.rb:20:in `call' from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call' from /usr/lib/ruby/vendor_ruby/vagrant/action/builder.rb:116:in `call' from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `block in run' from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy' from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:61:in `run' from /usr/share/vagrant/plugins/commands/plugin/command/base.rb:17:in `action' from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:44:in `execute' from /usr/share/vagrant/plugins/commands/plugin/command/root.rb:47:in `execute' from /usr/lib/ruby/vendor_ruby/vagrant/cli.rb:46:in `execute' from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:467:in `cli' from /usr/bin/vagrant:84:in `
    '

    Apparently ruby-devel is needed and as we don't run vagrant in rvm we can install it using the OS package manager.

    sudo apt-get install ruby-dev

    Retry the plugin installation:

    $USER@$HOST ~ $ vagrant plugin install vagrant-libvirt
    Installing the 'vagrant-libvirt' plugin. This can take a few minutes...
    Installed the plugin 'vagrant-libvirt (0.0.13)'!
    

    Testing the box using vagrant

    We create a directory for the vagrant file and there we init a vagrant box based on box 'oel65_kvm'.

    cd
    mkdir oel65_kvm_vagrantbox
    cd oel65_kvm_vagrantbox
    vagrant init 'oel65_kvm'
    vagrant up --provider=libvirt
    

    At this time something goes wrong, vagrant seems to initialize just fine until:

    $USER@$HOST ~/oel65_kvm_vagrantbox $ vagrant up --provider=libvirt
    Bringing machine 'default' up with 'libvirt' provider...
    [default] Creating image (snapshot of base box volume).
    [default] Creating domain with the following settings...
    [default]  -- Name:          oel65_kvm_vagrantbox_default
    [default]  -- Domain type:   kvm
    [default]  -- Cpus:          1
    [default]  -- Memory:        512M
    [default]  -- Base box:      oel65_kvm
    [default]  -- Storage pool:  default
    [default]  -- Image:         /var/lib/libvirt/images/oel65_kvm_vagrantbox_default.img
    [default]  -- Volume Cache:  default
    [default] Creating shared folders metadata...
    [default] Starting domain.
    [default] Waiting for domain to get an IP address...
    

    But then it seems to be hanging. If you wait long enough the following will be added:

    [default] Removing domain...
    An error occurred while executing multiple actions in parallel.
    Any errors that occurred are shown below.
    
    An unexpected error ocurred when executing the action on the
    'default' machine. Please report this as a bug:
    
    The specified wait_for timeout (2 seconds) was exceeded
    
    /home/$USER/.vagrant.d/gems/gems/fog-1.15.0/lib/fog/core/wait_for.rb:10:in `wait_for'
    /home/$USER/.vagrant.d/gems/gems/fog-1.15.0/lib/fog/core/model.rb:64:in `wait_for'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/wait_till_up.rb:38:in `block (2 levels) in call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/util/retryable.rb:17:in `retryable'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/wait_till_up.rb:33:in `block in call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/util/timer.rb:9:in `time'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/wait_till_up.rb:31:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/start_domain.rb:26:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builtin/set_hostname.rb:16:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/share_folders.rb:20:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/prepare_nfs_settings.rb:12:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builtin/nfs.rb:30:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/create_network_interfaces.rb:96:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/create_networks.rb:83:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builtin/provision.rb:54:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/create_domain.rb:62:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/create_domain_volume.rb:51:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/handle_box_image.rb:38:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builtin/handle_box_url.rb:24:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/handle_storage_pool.rb:42:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/set_name_of_domain.rb:26:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/runner.rb:61:in `block in run'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/util/busy.rb:19:in `busy'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/runner.rb:61:in `run'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builtin/call.rb:51:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /home/$USER/.vagrant.d/gems/gems/vagrant-libvirt-0.0.13/lib/vagrant-libvirt/action/connect_libvirt.rb:88:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/warden.rb:34:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/builder.rb:116:in `call'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/runner.rb:61:in `block in run'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/util/busy.rb:19:in `busy'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/action/runner.rb:61:in `run'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/machine.rb:147:in `action'
    /opt/vagrant/embedded/gems/gems/vagrant-1.3.5/lib/vagrant/batch_action.rb:63:in `block (2 levels) in run'
    

    So it seems that the VM doesn't get a valid IP. Or at least Vagrant doesn't receive it. Since the VM is a kvm we can have a look to it using the vnc protocol. For this we will use virsh.

    We need the domain to be running so if it was stopped already execute vagrant up again:

    vagrant up --provider=libvirt
    

    Open a new shell and using virsh look if a kvm is available:

    $USER@$HOST ~ $ virsh list
     Id    Name                           State
    ----------------------------------------------------
     4     oel65_kvm_vagrantbox_default   running
    

    A new kvm is available and it has the name we expected. It has Id 4 and is in state running. Now we need to have the vnc details to connect to it:

    $USER@$HOST ~ $ virsh domdisplay 4
    vnc://127.0.0.1:0
    

    Here 4 is the Id of the domain we want to connect to. When you now launch vncviewer on this adres you will be connected to the VM:

    $USER@$HOST ~ $ vncviewer 127.0.0.1:0
    
    VNC Viewer Free Edition 4.1.1 for X - built Jan 14 2013 22:25:00
    Copyright (C) 2002-2005 RealVNC Ltd.
    See http://www.realvnc.com for information on VNC.
    
    Sat Dec 28 13:17:46 2013
     CConn:       connected to host 127.0.0.1 port 5900
     CConnection: Server supports RFB protocol version 3.8
     CConnection: Using RFB protocol version 3.8
     TXImage:     Using default colormap and visual, TrueColor, depth 24.
     CConn:       Using pixel format depth 6 (8bpp) rgb222
     CConn:       Using ZRLE encoding
    

    A console windows will show and you can login (veewee/veewee). Once logged in you can look at /etc/udev/rules.d/70-persistent-net.rules. It will look like:

    
    

    So udev finds an e1000 interface which is bound to eth0 but the interface is not available. So it will never come up. There is as well a interface which gets number eth1. But for eth1 there is no valid configuration present (/etc/sysconfig/network-scripts/ifcfg-eth1).

    Change the file so only the entry for virtio-pci is still present. For that entry change NAME eth0 to eth1

    # PCI device 0x1af4:0x1000 (virtio-pci)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:9b:86:96", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
    

    The mac address here should correspond to the mac address mentioned in the kvm config when you execute:

    virsh dumpxml 4

    If you perform these steps the vagrant up command will continue and the total output will look like:

    Bringing machine 'default' up with 'libvirt' provider...
    [default] Creating image (snapshot of base box volume).
    [default] Creating domain with the following settings...
    [default]  -- Name:          oel65_kvm_vagrantbox_default
    [default]  -- Domain type:   kvm
    [default]  -- Cpus:          1
    [default]  -- Memory:        512M
    [default]  -- Base box:      oel65_kvm
    [default]  -- Storage pool:  default
    [default]  -- Image:         /var/lib/libvirt/images/oel65_kvm_vagrantbox_default.img
    [default]  -- Volume Cache:  default
    [default] Creating shared folders metadata...
    [default] Starting domain.
    [default] Waiting for domain to get an IP address...
    [default] Waiting for SSH to become available...
    [default] Rsyncing folder: /home/$USER/oel65_kvm_vagrantbox/ => /vagrant
    [default] Configuring and enabling network interfaces...
    

    Now you should be able to easily connect to the box using:

    vagrant ssh