<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RoAkSoAx's Weblog &#187; Ubuntu</title>
	<atom:link href="http://www.roaksoax.com/tag/ubuntu/feed" rel="self" type="application/rss+xml" />
	<link>http://www.roaksoax.com</link>
	<description>My Personal Blog</description>
	<lastBuildDate>Thu, 05 May 2011 15:20:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>PowerNap Improvements session at UDS-O</title>
		<link>http://www.roaksoax.com/2011/05/powernap-improvements-session-at-uds-o</link>
		<comments>http://www.roaksoax.com/2011/05/powernap-improvements-session-at-uds-o#comments</comments>
		<pubDate>Thu, 05 May 2011 15:10:49 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[oneiric]]></category>
		<category><![CDATA[powernap]]></category>
		<category><![CDATA[uds]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=776</guid>
		<description><![CDATA[After the success of the improvements of PowerNap in Ubuntu Natty 11.04, we will be having another session st UDS-O Thursday the 12th at 15:00. In this session we will discuss the following: Second Stage action when running in PowerSave mode. Support for port-ranges in Network Monitors Changing the polling monitoring system to an event [...]]]></description>
			<content:encoded><![CDATA[<p>After the success of the improvements of PowerNap in Ubuntu Natty 11.04, we will be having another session st UDS-O Thursday the 12th at 15:00. In this session we will discuss the following:</p>
<ul>
<li>Second Stage action when running in PowerSave mode.</li>
<li>Support for port-ranges in Network Monitors</li>
<li>Changing the polling monitoring system to an event based system.</li>
<li><strong>Client/Server approach to monitor/manage PowerNap &#8220;client machines&#8221; over the network for data center wide deployments</strong></li>
<li>Server ARP network Monitoring for Automatic Wake-up of Clients.</li>
<li>API like approach for Integration with other projects.</li>
</ul>
<p>Everyone who&#8217;s interested are more than welcome to join! For more information, the blueprint can be found <em><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/server-o-powernap-improvements">HERE.</a></strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2011/05/powernap-improvements-session-at-uds-o/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HA Cluster Stack Session at UDS-O</title>
		<link>http://www.roaksoax.com/2011/05/ha-cluster-stack-session-at-uds-o</link>
		<comments>http://www.roaksoax.com/2011/05/ha-cluster-stack-session-at-uds-o#comments</comments>
		<pubDate>Thu, 05 May 2011 14:56:34 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[ha]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=773</guid>
		<description><![CDATA[Thursday the 12th at noon we will be having the HA Cluster Stack session. In the session we will discuss the following: Discuss the adoption of new upstream releases of the HA Cluster Stack to include in Oneiric in preparation for the next Ubuntu LTS release. Finish up work items from previous sessions (mainly documentation). [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Thursday the 12th at noon</strong></em> we will be having the HA Cluster Stack session. In the session we will discuss the following:</p>
<ul>
<li>Discuss the adoption of new upstream releases of the HA Cluster Stack to include in Oneiric in preparation for the next Ubuntu LTS release.</li>
<li>Finish up work items from previous sessions (mainly documentation).</li>
<li>Gather feature requests and discuss the creation of meta-packages.</li>
<li>And, if the time allows us, I&#8217;d like to follow up with HA for OpenStack as they had a session in their Design Summit about it.</li>
</ul>
<p>If you are interested of the Future of HA Clustering in Ubuntu, you are more than welcome to join this session. For more information the blueprint can be found <em><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/server-o-cluster-stack">HERE</a>.</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2011/05/ha-cluster-stack-session-at-uds-o/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerNap Improvements for Natty</title>
		<link>http://www.roaksoax.com/2011/03/powernap-improvements-for-natty</link>
		<comments>http://www.roaksoax.com/2011/03/powernap-improvements-for-natty#comments</comments>
		<pubDate>Thu, 03 Mar 2011 00:02:42 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[natty]]></category>
		<category><![CDATA[powernap]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=749</guid>
		<description><![CDATA[For all of those who don&#8217;t know, &#8220;PowerNap is a screen saver for servers except it doesn&#8217;t save your screen, it saves the environment and lowers your energy bill.&#8221; Dustin Kirkland . PowerNap was originally created by Dustin to be integrated with (UEC), but it has been extended for Home use. Originally, it put to sleep machines [...]]]></description>
			<content:encoded><![CDATA[<p>For all of those who don&#8217;t know, &#8220;PowerNap is a screen saver for servers except it doesn&#8217;t save your screen, it saves the environment and lowers your energy bill.&#8221; Dustin Kirkland <img src='http://www.roaksoax.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . PowerNap was originally created by Dustin to be integrated with (UEC), but it has been extended for Home use. Originally, it put to sleep machines (suspend, hibernate, poweroff) when a list of Processes were not found in the process table for  a determined period of time. However, during the Natty cycle improvements were made. So, PowerNap now puts to sleep (suspend, poweroff, powersave) machines that are tagged as underutilized  by a set if Monitors.</p>
<p style="text-align: center;"><a href="http://www.roaksoax.com/wp-content/uploads/2011/03/new-powernap.png"><img class="aligncenter size-medium wp-image-750" title="new-powernap" src="http://www.roaksoax.com/wp-content/uploads/2011/03/new-powernap-300x66.png" alt="" width="300" height="66" /></a></p>
<p><strong>Improvements Overview</strong></p>
<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --> <!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<ul>
<li>PowerNap, has a set of Monitors to be able to detect activity within 	the server and determine if it is idled or not. If it is, PowerNap 	will execute an ACTION. Administrators can chose what monitors to 	enable/disable. These are:
<ul>
<li><strong>ProcessMonitor:</strong> Looks for a process in the process table.</li>
<li><strong>IOMonitor:</strong> Monitors IO activity by process name.</li>
<li><strong>InputMonitor: </strong>Monitors 		Mouse/Keyboard input activity connected to USB.</li>
<li><strong>LoadMonitor: </strong>Monitors a server<strong> </strong>load threshold.</li>
<li><strong>TCPMonitor: </strong>Monitors active TCP 		connections (i.e. SSH).</li>
<li><strong>UDPMonitor: </strong>Monitors activity received in 		any user defined UDP port.</li>
<li><strong>WoLMonitor: </strong>Monitors WoL packets on ports 		7 and/or 9.</li>
<li><strong>ConsoleMonitor: </strong>Monitors console activity.</li>
</ul>
</li>
<li>The process starts when PowerNap begins monitoring for an 	ABSENT_PERIOD (i.e. 300secs). If within that period no activity has 	been detected, then PowerNap executes an ACTION.
<ul>
<li>Before the ACTION is taken, PowerNap enters to the GRACE_PERIOD 		(I.e 30 seconds), notifying the user that the ACTION will be taken 		in GRACE_PERIOD amount of seconds. (i.e. On second 270 PowerNap 		will notifies its users and the period between 270 and 300 seconds 		is known as GRACE_PERIOD).</li>
</ul>
</li>
<li>The possible ACTIONS are:
<ul>
<li>Best-effort  &#8211; Automatically decide between a user defined action 		or any of the other methods listed below (these methods rely on 		<em><strong>pm-utils</strong></em><em><strong>)</strong></em></li>
<li>Suspend (Command: pm-suspend)</li>
<li>Hibernate (Command: pm-hibernate)</li>
<li>Poweroff (Command: poweroff)</li>
<li><strong>Powersave – Newly added method that reduces the Power 		Consumption (Command: pm-powersave)</strong></li>
</ul>
</li>
<li>The PowerSave method executes a set of scripts both provided by 	pm-utils and PowerNap. These scripts have the objective to reduce 	the power consumption of the machine by turning off hardware 	capabilities or tuning the OS. It is possible to provide any custom 	script as well as chose which to enable or disable. Examples of 	these scripts are:
<ul>
<li>Turn off all the CPU cores except of one.</li>
<li>Reduce the cores frequency to the lowest possible.</li>
<li>Disable WoL from Network Cards.</li>
<li>Change the NIC speed from 1Gbps to 100Mbps.</li>
<li>Turn off USB ports.</li>
<li>Disable HAL polling.</li>
</ul>
</li>
<li>Now, when the PowerSave ACTION is taken, the machine keeps running 	in a lower power state. PowerNap keeps Monitoring until activity is 	detected. Once any of the Monitors detects activity, the PowerSave 	action is reverted.</li>
</ul>
<p>&nbsp;</p>
<p><strong>PowerWake</strong></p>
<ul>
<li>PowerWake is simply a tool that sends WoL packets to an specified 	IP/Broadcast address to be able to wakeup a server.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Additional Tools</strong></p>
<ul>
<li><strong>powernap-now:</strong> Sends a signal to the PowerNap daemon to execute the ACTION 	regardless of the state of the monitors.</li>
<li><strong>powerwake-now:</strong> Sends a signal to the PowerNap daemon to wakeup during the PowerSave 	mode.</li>
</ul>
<ul>
<li>Note that 	these commands have to be executed in the machine running PowerNap. 	If this needs to be done through the network, then the command will 	have to be sent remotely to be executed in the machine.</li>
</ul>
<p><strong><br />
</strong></p>
<p><strong>The Future</strong></p>
<ul>
<li><strong>Second Stage Action: </strong>Second Stage Action when entered into PowerSave mode. (i.e. Suspend after 2 hours after running in PowerSave mode).</li>
<li><strong>Client/Server Model:</strong> The main Idea is to create a powerwaked Server that tracks all the machines using PowerNap in the network and is able to schedule wakeups, upstates, etc, etc.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2011/03/powernap-improvements-for-natty/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TestDrive: Testing an Ubuntu ISO in real Hardware??</title>
		<link>http://www.roaksoax.com/2010/12/testdrive-testing-an-ubuntu-iso-in-real-hardware</link>
		<comments>http://www.roaksoax.com/2010/12/testdrive-testing-an-ubuntu-iso-in-real-hardware#comments</comments>
		<pubDate>Fri, 03 Dec 2010 06:06:43 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[iso]]></category>
		<category><![CDATA[testdrive]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=692</guid>
		<description><![CDATA[So, last month I was reading the &#8220;Unity Desktop and maverick backport&#8221; thread at the ubuntu-devel list. The discussion at some point became about How to Test Natty (Unity Compiz specifically) in real hardware from early stages in the development cycle. So, Dustin recommended the use of TestDrive to do the testing. However, he also [...]]]></description>
			<content:encoded><![CDATA[<p>So, last month I was reading the <a href="https://lists.ubuntu.com/archives/ubuntu-devel/2010-November/032078.html">&#8220;Unity Desktop and maverick backport&#8221;</a> thread at the ubuntu-devel list. The discussion at some point became about How to Test Natty (Unity Compiz specifically) in real hardware from early stages in the development cycle. So, Dustin recommended the use of <a href="https://lists.ubuntu.com/archives/ubuntu-devel/2010-November/032102.html">TestDrive to do the testing</a>. However, he also mention that 3D acceleration was not available in the VM&#8217;s, and his recommendation was more related to 2D testing.</p>
<p>So, that discussion reminded me of a proposed branch to TestDrive that was outdated, on which an option was added to be able to Launch an ISO from GRUB, by placing the ISO in an special folder, and creating an entry for GRUB&#8217;s boot menu. So, today I decided to test that feature! It works, but the code needs improvements. So, before actually working on them, I was wondering what ya&#8217;ll think?</p>
<p>So my question is, would it be a good idea to add that option to TestDrive to make an ISO available for booting directly from GRUB for testing in real hardware?, or not? Pros/Cons, Comments, Suggestions?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2010/12/testdrive-testing-an-ubuntu-iso-in-real-hardware/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>UPDATED: Cluster Stack and PowerNap sessions at UDS-N</title>
		<link>http://www.roaksoax.com/2010/10/cluster-stack-and-powernap-session-at-uds-n</link>
		<comments>http://www.roaksoax.com/2010/10/cluster-stack-and-powernap-session-at-uds-n#comments</comments>
		<pubDate>Sat, 23 Oct 2010 20:53:48 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[cluster stack]]></category>
		<category><![CDATA[powernap]]></category>
		<category><![CDATA[uec]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=665</guid>
		<description><![CDATA[At UDS-N (Natty) I&#8217;ll be leading these two sessions: Cluster Stack for Natty The Cluster stack session will be divided in two main parts. The first part we will discuss the current status of the Cluster Stack in Ubuntu, things that have been and haven&#8217;t been achieved so far, as well as the features we [...]]]></description>
			<content:encoded><![CDATA[<p>At UDS-N (Natty) I&#8217;ll be leading these two sessions:</p>
<ul>
<li><strong>Cluster Stack for Natty</strong><br />
<span style="font-weight: normal;">The Cluster stack session will be divided in two main parts. The first part we will discuss the current status of the Cluster Stack in Ubuntu, things that have been and haven&#8217;t been achieved so far, as well as the features we would like to see in the future. The second part of the session will be concentrated in the integration of the Cluster Stack with the Ubuntu Enterprise Cloud (UEC).</p>
<p>The outcome of the discussion is:</p>
<ul>
<li>Merge library split changes for cluster-glue, pacemaker from debian packages.</li>
<li>Complete MIR requests to finally get packages into Main.</li>
<li>Improve documentation, and add it to the Ubuntu Server Guide.
<ul>
<li>Docs: HA Apache2, HA MySQL, CLVM, Recommend a Cluster FS &#8211; OCFS2, Fecing, etc.</li>
</ul>
</li>
<li>Automated Deployment (Look into deploying with puppet.).
<ul>
<li>Simple: Join a simple cluster/Virtual IP.</li>
<li>Advanced: CLVM, DRBD, Filesystems.</li>
</ul>
</li>
<li>Meta-packages / Tasksel to install and join a Cluster.</li>
<li>HA for UEC.
<ul>
<li>Continue with the research on HA for CLC, Walrus, CC, SC</li>
<li>Eventually, write OCF RA&#8217;s for above components.</li>
</ul>
</li>
<li>Investigate on providing HA *inside* the Cloud.</li>
</ul>
<p></span></li>
</ul>
<ul>
<li><strong>PowerNap Improvements</strong><br />
<span style="font-weight: normal;">PowerNap is a power management tool, created by <a href="http://blog.dustinkirkland.com/">Dustin Kirkland</a>, that has been integrated with the Ubuntu Enterprise Cloud. However, this sessions we will discuss how to extend the functionality of PowerNap to make it available for other kinds of environments, as well as providing alternative methods of power savings for Servers.</p>
<p>The outcome of the discussion is:</span></p>
<ul>
<li>Investigate how PowerNap could tap into Upstart to monitor processes in an event driven manner rather than polling /proc.</li>
<li>Use pm-powersave for PowerNap new power save mode.</li>
<li>Contribute any new actions to pm-utils (rather keeping in PowerNap)</li>
<li>Use event based monitoring for input polling (limited to keyboard and mouse)</li>
<li>Get network monitor matching the MAC in the WoL.</li>
<li>Provide a powerwaked to track machines registered and be able to schedule poweroff&#8217;s/updates.</li>
</ul>
</li>
</ul>
<p>If you would like to know more and you are not attending to UDS personally, you can still participate remotely. Or, you can just show up at the session. I hope to see there anyone who&#8217;s interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2010/10/cluster-stack-and-powernap-session-at-uds-n/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UPDATE: High Availability for the Ubuntu Enterprise Cloud (UEC) &#8211; Cloud Controller (CLC)</title>
		<link>http://www.roaksoax.com/2010/10/high-availability-uec-clc-howto</link>
		<comments>http://www.roaksoax.com/2010/10/high-availability-uec-clc-howto#comments</comments>
		<pubDate>Fri, 15 Oct 2010 15:51:50 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[DRBD]]></category>
		<category><![CDATA[ha]]></category>
		<category><![CDATA[heartbeat]]></category>
		<category><![CDATA[high availability]]></category>
		<category><![CDATA[pacemaker]]></category>
		<category><![CDATA[uec]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=572</guid>
		<description><![CDATA[UPDATE So I finally had the time to write the OCF Resource Agent for the Cloud Controller as promised. It is an early Resource Agent and currently is tested for CLC&#8217;s running in Ubuntu ONLY (UEC). But first what is an OCF Resource Agent? An OCF RA is an executable script that is used to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-weight: normal;"><strong><span style="color: #ff0000;">UPDATE</span></strong><br />
So I finally had the time to write the OCF Resource Agent for the Cloud Controller as promised. It is an early Resource Agent and currently is tested for CLC&#8217;s running in Ubuntu ONLY (UEC).</span></p>
<p><span style="font-weight: normal;">But first what is an OCF Resource Agent? An OCF RA is an executable script that is used to manage a resource within a cluster. In this case, this RA is a script that will manage the resource (Cloud Controller) in a 2 node pacemaker based HA Cluster. The resource starts, stops, and monitors the service (Cloud Controller) when the Cluster Resource Manager (Pacemaker) indicates it to (This means that upstart will NOT start the CLC).</span></p>
<p><span style="font-weight: normal;">Now that we all know what are OCF RA&#8217;s, let&#8217;s test it: First download the RA from <strong><em><a href="http://people.ubuntu.com/~andreserl/eucaclc">HERE</a></em></strong> and <strong>move</strong> the resource to:</span></p>
<blockquote><p><span style="font-weight: normal;"> </span><code>wget -c <a href="http://people.ubuntu.com/~andreserl/eucaclc">http://people.ubuntu.com/~andreserl/eucaclc</a><br />
sudo mkdir /usr/lib/ocf/resource.d/ubuntu<br />
sudo mv eucaclc /usr/lib/ocf/resource.d/ubuntu/eucaclc<br />
sudo chmod 755 /usr/lib/ocf/resource.d/ubuntu/eucaclc</code></p></blockquote>
<p><span style="font-weight: normal;">Then, change the cluster configuration (<strong>sudo crm configure edit</strong>) for <em>res_uec </em>resource<em> </em>as follows:</span></p>
<p><span style="font-weight: normal;"><span style="font-family: monospace;">primitive res_uec ocf:ubuntu:eucaclc op monitor interval=&#8221;20s&#8221;</span></span></p>
<p>And the new RA should start the Cloud Controller automatically and keep monitoring it.</p>
<p><span style="color: #ff0000;"><strong>NOTE: </strong>Please note that this Resource Agent is an initial draft and might be buggy. If you find any bugs or things don&#8217;t work as expected, please don&#8217;t hesitate to contact me. </span></p>
<p style="text-align: justify;">At UDS-M, I raised the concern of the lack of High Availability for the Ubuntu Enterprise Cloud (UEC). As part as the Cluster Stack Blueprint, the effort of trying to bring HA to UEC was defined, however, it was barely discussed due to the lack of time, and the work on HA for the UEC has been deferred for Natty. However, in preparation for the next release cycle, I&#8217;ve been able to setup a two node HA Cluster (Master/Slave) for the Cloud Controller (CLC).</p>
<p style="text-align: justify;"><strong>NOTE: </strong>Note that this tutorial is an early draft and might contain typos/erros that I might have not noticed. Also, this might not also work for you, that&#8217;s why I first recommend to have a UEC up and running with one CLC, and then add the second CLC. If you need help or guidance, you know where to find me <img src='http://www.roaksoax.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Also note that this is only for <strong>testing purposes!, </strong>and I&#8217;ll be moving this HowTo to an Ubuntu Wiki page soon since the formatting seems to be somehow annoying <img src='http://www.roaksoax.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p style="text-align: justify;"><strong>1. Installation Considerations<br />
</strong>I&#8217;ll show you how to configure two UEC (eucalyptus) Cloud Controllers in High Availability (Active/Passive) , using the HA Clustering tools (Pacemaker, Heartbeat), and DRBD for replication between CLC&#8217;s. This is shown in the following image.</p>
<p style="text-align: justify;"><a href="http://www.roaksoax.com/wp-content/uploads/2010/10/HA-for-CLC.png"><img class="aligncenter size-medium wp-image-649" title="HA-for-CLC" src="http://www.roaksoax.com/wp-content/uploads/2010/10/HA-for-CLC-300x117.png" alt="" width="300" height="117" /></a></p>
<p style="text-align: justify;">The setup I used is a 4 node setup, 1 CLC, 1 Walrus, 1 CC/SC, 1 NC, as it is detailed in the UEC <em><a href="https://help.ubuntu.com/community/UEC/PackageInstallSeparate">Advanced Installation Doc</a>, </em>however, I installed the packages from the Ubuntu Server Installer. Now, as per the UEC <em><a href="https://help.ubuntu.com/community/UEC/PackageInstallSeparate">Advanced Installation Doc</a>, </em>it is assumed that there is only one network interface (eth0) in the Cloud Controller connected to a &#8220;public network&#8221; that connects it to both, the outside world and the other components in the Cloud. However, to be able to provide HA be need the following requirements:</p>
<ul>
<li>First, we need a <strong><em>Virtual IP (VIP)<span style="font-weight: normal;"> <span style="font-style: normal;">to allow both, the clients and the other Controllers to access either one of the CLC&#8217;s using that single IP. In this case, we are assuming that the &#8220;public network&#8221; is <strong>192.168.0.0/24, </strong>and that the <strong>VIP</strong> is 192.168.0.100<strong>. </strong>This VIP will also be used to generate the new certificates.</span></span></em></strong></li>
<li>Second, we need to add a second network interface to the CLC&#8217;s to use it as a replication link between DRBD. This second interface is eth1 and will have address ranged in <strong>10.10.10.0/30</strong>.</li>
</ul>
<p style="text-align: justify;"><strong> </strong><strong>2. Install Second Cloud Controller (CLC2)<br />
<span style="font-weight: normal;">Once you finish setting up the UEC and everything is working as expected, please install a second cloud controller. </span></strong><strong> </strong>Once installed, it is desirable to not start the services just yet. However, you will need to exchange the <strong><em>CLC</em></strong> ssh keys with both the<strong><em> CC</em></strong> and the <strong><em>Walrus</em></strong> as it is specified in <a href="https://help.ubuntu.com/community/UEC/PackageInstallSeparate#STEP 4: Register the Cluster, Storage, and Walrus Servers"><strong><em>SSH Key Authentication Setup, under STEP4 of the UEC Advanced Installation doc</em></strong></a>. Please note that this second CLC will also have two interfaces, eth0 and eth1. Leave eth1 unconfigured, but configure eth0 with an IP address in the same network as the other controllers.</p>
<p style="text-align: justify;"><strong>3. Configure Second Network Interface<br />
<span style="font-weight: normal;">Once the two CLC&#8217;s are installed (CLC1 and CLC2), we need to configure </span><em>eth1<span style="font-weight: normal;">. </span><span style="font-style: normal;"><span style="font-weight: normal;">This interface will be used as a</span> direct link <span style="font-weight: normal;">between CLC1 and CLC2 and will be used by DRBD as the replication link. In this example, we&#8217;ll be using 10.10.10.0/30. On your</span><em> /etc/network/interfaces</em><span style="font-weight: normal;">.</span></span></em></strong></p>
<p style="text-align: justify; padding-left: 30px;"><em><span style="font-style: normal;"><span style="font-weight: normal;"><strong>On </strong></span><span style="font-weight: normal;"><em><strong>CLC1</strong></em></span><span style="font-weight: normal;"><strong>:</strong></span></span></em></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;"><span style="font-style: normal;">auth eth1<br />
</span><span style="font-style: normal;">iface eth1 inet static<br />
</span><span style="font-style: normal; padding-left: 30px;">address 10.10.10.1<br />
</span><span style="font-style: normal; padding-left: 30px;">netmask 255.255.255.252</span></p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><em><strong>On CLC2</strong></em><span style="font-weight: normal;"><strong>:</strong></span></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;"><span style="font-style: normal;">auth eth1<br />
</span><span style="font-style: normal;">iface eth1 inet static<br />
</span><span style="font-style: normal; padding-left: 30px;">address 10.10.10.2<br />
</span><span style="font-style: normal; padding-left: 30px;">netmask 255.255.255.252</span></p>
<p></code></p></blockquote>
<p><em><span style="font-style: normal;"><span style="font-weight: normal;"><strong>NOTE: </strong>Do <strong>*NOT*</strong> add the <strong>gateway </strong>because it is a direct link between CLC&#8217;s. If we add it, it will create a default route the configuration of the resources will fail further along the way.</span></span></em></p>
<p><strong>4. Setting up DRBD</strong></p>
<p>Once the CLC2 is installed and configured, we need to setup DRBD for replication between CLC&#8217;s.</p>
<p style="padding-left: 30px;"><strong>4.1. Create Partitions (CLC1/CLC2)<br />
</strong>For this, we either need a new disk or disk partition. In my case, I&#8217;ll be using /dev/vdb1. Please note that both partitions need to be exactly equal in both nodes. You can create them whichever way you prefer.</p>
<p style="padding-left: 30px;"><strong>4.2. Install DRBD and load module <strong>(CLC1/CLC2)</strong><br />
<span style="font-weight: normal;"><span style="font-weight: normal;">Now we need to install DRBD Utils.</span></span></strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">sudo apt-get install drbd</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;">Once it is installed, we need to load the kernel module, and add it is /etc/modules. Please note that DRBD Kernel Module is now included in mainline kernel.</p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">sudo modprobe drbd<br />
sudo -i<br />
echo drbd &gt;&gt; /etc/modules</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong>4.3. Configuring the DRBD resource (CLC1/CLC2)<br />
<span style="font-weight: normal;">Add a new resource for DRBD by editing the following file:</span></strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal;">sudo vim /etc/drbd.d/uec-clc.res</span></strong></p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal;">The configuration looks similar as the following:</span></strong></p>
<blockquote>
<p><code></p>
<div id="_mcePaste" style="padding-left: 30px;">resource uec-clc {</div>
<div id="_mcePaste" style="padding-left: 60px;">device /dev/drbd0;</div>
<div id="_mcePaste" style="padding-left: 60px;">disk /dev/vdb1;</div>
<div id="_mcePaste" style="padding-left: 60px;">meta-disk internal;</div>
<div id="_mcePaste" style="padding-left: 60px;">on clc1 {</div>
<div id="_mcePaste" style="padding-left: 90px;">address 10.10.10.1:7788;</div>
<div id="_mcePaste" style="padding-left: 60px;">}</div>
<div id="_mcePaste" style="padding-left: 60px;">on clc2 {</div>
<div id="_mcePaste" style="padding-left: 90px;">address 10.10.10.2:7788;</div>
<div id="_mcePaste" style="padding-left: 60px;">}</div>
<div id="_mcePaste" style="padding-left: 60px;">syncer {</div>
<div id="_mcePaste" style="padding-left: 90px;">rate 10M;</div>
<div id="_mcePaste" style="padding-left: 60px;">}</div>
<div id="_mcePaste" style="padding-left: 30px;">}</div>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong>4.4. Creating the resource (CLC1/CLC2)<br />
<span style="font-weight: normal;">Now we need to do the following on CLC1 and CLC2:</span></strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">sudo drbdadm create-md uec-clc<br />
sudo drbdadm up uec-clc</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong>4.5. Establishing initial communication (</strong><span style="font-weight: 800;">CLC1)<br />
<span style="font-weight: normal;">Now, we need to do the following:</span></span></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">sudo drbdadm -- --clear-bitmap new-current-uuid uec-clc<br />
sudo drbdadm primary uec-clc<br />
mkfs -t ext4 /dev/drbd0</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><span style="font-weight: 800;">4.6. Copying the Cloud Controller Data for DRBD Replication (CLC1)<br />
<span style="font-weight: normal;">Once the DRBD nodes are in sync, we need have the data replicated between the CLC1 and the CLC2 and make the necessary changes so that they both can access the data at a given point in time. To do this, do the following in CLC1:</span></span></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;"><span style="font-weight: 800;"><span style="font-weight: normal;">sudo mkdir /mnt/uecdata<br />
sudo mount -t ext4 /dev/drbd0 /mnt/uecdata<br />
sudo mv /var/lib/eucalyptus/ /mnt/uecdata<br />
sudo mv /var/lib/image-store-proxy/ /mnt/uecdata<br />
sudo ln -s /mnt/uecdata/eucalyptus/ /var/lib/eucalyptus<br />
sudo ln -s /mnt/uecdata/image-store-proxy/ /var/lib/image-store-proxy<br />
sudo umount /mnt/uecdata</span></span></p>
<p></code></p></blockquote>
<p style="padding-left: 30px;">What we did here is to move the Cloud Controller data to the DRBD mount point so that it get&#8217;s replicated to the second CLC, and then do a symlink from the mountpoint to the original data folders.</p>
<p style="padding-left: 30px;"><span style="font-weight: 800;">4.7. Preparing the second Cloud Controller (CLC2)<br />
<span style="font-weight: normal;">Once we prepared the data in CLC1, we can discard the data in CLC2, and we need to create the symlinks the same way we did in the CLC1. We do this as follows:</span></span></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;"><span style="font-weight: 800;"><span style="font-weight: normal;">sudo mkdir /mnt/uecdata<br />
sudo rm -fr /var/lib/eucalyptus<br />
</span></span>sudo rm -fr /var/lib/image-store-proxy<br />
sudo ln -s /mnt/uecdata/eucalyptus/ /var/lib/eucalyptus<br />
sudo ln -s /mnt/uecdata/image-store-proxy/ /var/lib/image-store-proxy</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;">After this, the data will be replicated via DRBD. Whenever CLC1.</p>
<p><strong>5. Setup the Cluster</strong></p>
<p style="padding-left: 30px;"><strong>5.1. Install the Cluster Tools<br />
<span style="font-weight: normal;">First we need to install the clustering tools:</span></strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">sudo apt-get install heartbeat pacemaker</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong>5.2. Configure Heartbeat<br />
<span style="font-weight: normal;">Then we need to configure Heartbeat. First, create /etc/ha.d/ha.cf and add the following:</span></strong></p>
<p><strong> </strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;"><span style="font-weight: normal;">autojoin none<br />
mcast eth0 239.0.0.43 649 1 0<br />
warntime 5<br />
deadtime 15<br />
initdead 60<br />
keepalive 2<br />
node clc1<br />
node clc2<br />
crm respawn</span></p>
<p></code></p></blockquote>
<p style="padding-left: 30px;">Then create the authentication file (/etc/ha.d/authkeys), ad add the following:</p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">auth1<br />
1 md5 password</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;">and change the permissions:</p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">sudo chmod 600 /etc/ha.d/authkeys</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong>5.3. Removing Startup of services at boot up<br />
<span style="font-weight: normal;">We need to let the Cluster manage the resources, instead of starting them at bootup.</span></strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">sudo update-rc.d -f eucalyptus remove<br />
sudo update-rc.d -f eucalyptus-cloud remove<br />
sudo update-rc.d -f eucalyptus-network remove<br />
sudo update-rc.d -f image-store-proxy remove</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;">And we also need to change the &#8220;start on&#8221; to &#8220;stop on&#8221; in the upstart configuration scripts at /etc/init/* for:</p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">eucalyptus.conf<br />
eucalyptus-cloud.conf<br />
eucalyptus-network.conf</p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong>5.4. Configuring the resources</strong><strong><br />
</strong><strong> </strong><strong><span style="font-weight: normal;">Then, we need to configure the cluster resources. For this do the following:</span></strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal;">sudo crm configure</span></strong></p>
<p></code></p></blockquote>
<p style="padding-left: 30px;"><strong><span style="font-weight: normal;">and paste the following:</span></strong></p>
<blockquote>
<p><code></p>
<p style="padding-left: 30px;">primitive res_fs_clc ocf:heartbeat:Filesystem params device=/dev/drbd/by-res/uec-clc directory=/mnt/uecdata fstype=ext4 options=noatime<br />
primitive res_ip_clc ocf:heartbeat:IPaddr2 params ip=192.168.0.100 cidr_netmask=24 nic=eth0<br />
primitive res_ip_clc_src ocf:heartbeat:IPsrcaddr params ipaddress="192.168.0.100"<br />
primitive res_uec upstart:eucalyptus  op start timeout=120s op stop timeout=120s op monitor interval=30s<br />
primitive res_uec_image_store_proxy lsb:image-store-proxy<br />
group rg_uec res_fs_clc res_ip_clc res_ip_clc_src res_uec res_uec_image_store_proxy<br />
primitive res_drbd_uec-clc ocf:linbit:drbd params drbd_resource=uec-clc<br />
ms ms_drbd_uec res_drbd_uec-clc meta notify=true<br />
order o_drbd_before_uec inf: ms_drbd_uec:promote rg_uec:start<br />
colocation c_uec_on_drbd inf: rg_uec ms_drbd_uec:Master<br />
property stonith-enabled=False<br />
property no-quorum-policy=ignore</p>
<p></code></p></blockquote>
<p><strong>6. Specify the Cloud IP for the CC, NC, and in the CLC.</strong><strong><br />
</strong>Once you finish the configuration above, one of the CLC&#8217;s will be the Active one and the Second will the passive one. The Cluster Resource Manager will decide which one will become the primary one. However, it is expected that CLC1 will become the primary.</p>
<p>Now, as specified in the UEC <em><a href="https://help.ubuntu.com/community/UEC/PackageInstallSeparate">Advanced Installation Doc</a>, </em>we need to specify the <strong><em><span style="color: #ff0000;">Cloud Controller VIP</span></em></strong> in the CC. However it is also important to do it in the NC. This is done in <strong><em>/etc/eucalyptus/eucalyptus.conf</em></strong> by adding:</p>
<blockquote><p><code>VNET_CLOUDIP="192.168.0.100"</code></p></blockquote>
<p>Then, log into the Web Front end (192.168.0.100:8443), and change the Cloud Configuration to have the <strong><em><span style="color: #ff0000;">VIP</span></em></strong> as the Cloud Host.</p>
<p><a href="http://www.roaksoax.com/wp-content/uploads/2010/10/cloud-config.png"><img class="aligncenter size-medium wp-image-650" title="cloud-config" src="http://www.roaksoax.com/wp-content/uploads/2010/10/cloud-config-300x94.png" alt="" width="300" height="94" /></a></p>
<p>By doing this you will have the new certificates generated with the VIP, that will allow you to connect to the cloud even if the primary Cloud Controller failed, and the Second one tool control of the service.</p>
<p>Finally, restart the Walrus, CC/SC, and NC and enjoy.</p>
<p><strong>7. Final Thoughts</strong><br />
<span style="font-weight: normal;">The cluster resource manager is using the upstart script to manage the Cloud Controller. However, this is not optimal, and it is used for testing purposes. The creation of an OCF Resource Agent will be required to adequately start/stop and monitor eucalyptus. The OCF RA will be developed soon, and this will be discussed at Ubuntu Developer Summit &#8211; Natty.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2010/10/high-availability-uec-clc-howto/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installing Zenoss on Ubuntu 10.04</title>
		<link>http://www.roaksoax.com/2010/04/installing-zenoss-in-ubuntu-10-04</link>
		<comments>http://www.roaksoax.com/2010/04/installing-zenoss-in-ubuntu-10-04#comments</comments>
		<pubDate>Mon, 05 Apr 2010 17:36:16 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[zenoss]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=411</guid>
		<description><![CDATA[Zenoss (Network Monitoring and IT Management tool) has been running with Python2.4 for quite a while now, making it impossible to be run in a few Ubuntu releases. However, this has now changed. Few days ago they announced the migration of Zenoss to Python 2.6. Please see the announcement here. If you wish to help testing, [...]]]></description>
			<content:encoded><![CDATA[<p>Zenoss (Network Monitoring and IT Management tool) has been running with Python2.4 for quite a while now, making it impossible to be run in a few Ubuntu releases. However, this has now changed. Few days ago they announced the migration of Zenoss to Python 2.6. Please see the <a href="http://community.zenoss.org/blogs/zenossblog/2010/03/29/zenoss-qa-test-day-april-1--trunk-source-builds--updated">announcement here</a>.</p>
<p>If you wish to help testing, you can refer to this <a href="http://community.zenoss.org/docs/DOC-5837">Ubuntu Installation Notes</a>, or do the following:</p>
<p>First we need to install the necessary dependencies:</p>
<blockquote><p><code>$ sudo apt-get install rsync python-dev build-essential make bzip2 sudo sysv-rc-conf snmpd swig autoconf mysql-server-5.0 libmysqlclient15-dev libmysqlclient15off ttf-liberation ttf-linux-libertine unzip subversion librrd4</code></p></blockquote>
<p>Second, we need to create the zenoss user, and create the destination path with the right permissions:</p>
<blockquote><p><code>$ sudo adduser zenoss<br />
$ sudo mkdir /usr/local/zenoss<br />
$ sudo chown zenoss /usr/local/zenoss</code></p></blockquote>
<p>Third, we need to configure the environment for zenoss user. So, we need first to log in as the zenoss user:</p>
<blockquote><p><code>$ sudo -i -u zenoss</code></p></blockquote>
<div>Then add the following to .bashrc</div>
<blockquote><p><code>export ZENHOME=/usr/local/zenoss<br />
export PYTHONPATH=$ZENHOME/lib/python<br />
export PATH=$ZENHOME/bin:$PATH</code></p></blockquote>
<div>And reload .bashrc</div>
<blockquote>
<div><code>$ source .bashrc</code></div>
</blockquote>
<p>Fourth, we obtain the trunk while logged into the zenoss user:</p>
<blockquote><p><code>$ svn co http://dev.zenoss.org/svn/trunk/inst zenossinst</code></p></blockquote>
<div>Finally, we install zenoss.</div>
<blockquote><p><code>$ cd zenossinst<br />
$ ./install.sh</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2010/04/installing-zenoss-in-ubuntu-10-04/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ubuntizing People!!</title>
		<link>http://www.roaksoax.com/2009/11/ubuntizing-people</link>
		<comments>http://www.roaksoax.com/2009/11/ubuntizing-people#comments</comments>
		<pubDate>Sat, 28 Nov 2009 08:02:38 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[karmic]]></category>
		<category><![CDATA[people]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=376</guid>
		<description><![CDATA[About two months ago I made a post where I mentioned how I introduced some friends into Ubuntu&#8230; They showed their desired to see what it was and how it worked. The post is here: The Need to Ubuntize people. Anyways, the thing is that before going to the UDS I showed one of my [...]]]></description>
			<content:encoded><![CDATA[<p>About two months ago I made a post where I mentioned how I introduced some friends into Ubuntu&#8230; They showed their desired to see what it was and how it worked. The post is <a href="http://www.roaksoax.com/2009/09/the-need-to-ubuntize-people">here: The Need to Ubuntize people</a>.</p>
<p>Anyways, the thing is that before going to the UDS I showed one of my friends Ubuntu working with full Compiz Effects and he was just amazed. He told me it just looks like a Mac!! I told him&#8230; well they are similar and explained to him the whole concept behind Unix and Linux again. Back from the UDS, I brought back some CDs and the Ubuntu User Magazine. I gave a CD and the Magazine to him (with some stickers) and he was just excited about it. The thing is that today he told me: &#8220;I just installed Ubuntu and I love it!!.&#8221; First of all I though, &#8220;wow, he just did it by himself without requiring my help!!&#8221;&#8230; and well, he did it using Wubi&#8230; but, that doesn&#8217;t not matter&#8230; he gave first step by jumping into it by himself!!</p>
<p>Anyways, after he told me that he was using Ubuntu for quite a few hours, he was setting up all he needed. He got Empathy and Evolution with his accounts working without any help. However, he couldn&#8217;t set up three things: Skype, Flash Player, and Music!! I helped him out and showed him how easy it was to install everything&#8230;</p>
<p>First, I told him to use the Ubuntu Software Center to install the Adobe Flash Player, but he couldn&#8217;t find it there&#8230; I browse it by myself and It was there indeed&#8230; but the thing was that he just couldn&#8217;t find it. For me, this means that there are still things to improve in the Ubuntu Software Center to make it easier for people to install new software.</p>
<p>Second, He told me that he was having difficulty playing his music. I just showed him how to install the codecs by clicking the song and leaving the Player to find it by itself and that&#8217;s it. I also showed him how to install Skype.</p>
<p>Anyways, after resolving all the issues he just kept telling me how amazed he was with Ubuntu. He told me, &#8220;it is so much faster than Windows, it is so straight forward and easy to use, and I just love it&#8221;. He loved it so much that he is still using it in this same exact moment, and its been more than 12 hours!! He also kept telling me how much faster Karmic is in his old laptop in comparison to Windows!! And well&#8230; I&#8217;m just happy he enjoys it as much as I do.</p>
<p>In conclusion&#8230; Ubuntu ROCKS!! I&#8217;m very amazed that he did pretty much everything he needed without any help and that he loves it. He is just happy that he does not have the same problems he has with windows in the same time frame. Anyways, I guess that this is all thanks to the developers who put so much effort in the Upstream Projects, and to all of those who make Ubuntu Rock!!</p>
<p>Oh&#8230; btw&#8230; I almost forget&#8230; he said &#8220;Ubuntu is the future&#8230;&#8221;, &#8220;Windows is so gonna loose against Ubuntu&#8230;&#8221;, so&#8230; if a regular Windows user thinks this&#8230; I&#8217;m pretty sure people is just getting sicker and sicker of Windows and they are desperately looking for something new&#8230; and unfortunately for us&#8230; some of them are switching to Mac because they do not know anything else&#8230; so this is where we should show them that there is a whole world besides just Windows and Mac&#8230; and this world is the Linux world, and from mine opinion&#8230; I would drive them into Ubuntu!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2009/11/ubuntizing-people/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Quickly Rocks!</title>
		<link>http://www.roaksoax.com/2009/11/quickly-rocks</link>
		<comments>http://www.roaksoax.com/2009/11/quickly-rocks#comments</comments>
		<pubDate>Thu, 05 Nov 2009 19:44:30 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[quickly]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=355</guid>
		<description><![CDATA[So&#8230; I gave it a try&#8230; and I liked it. The last few weeks I was programming (after a long time) for a project of one of my classes. Since I wanted to learn python for a while, I decided to do my project in Python. At first, it was just going to be a [...]]]></description>
			<content:encoded><![CDATA[<p>So&#8230; I gave it a try&#8230; and I liked it. The last few weeks I was programming (after a long time) for a project of one of my classes. Since I wanted to learn python for a while, I decided to do my project in Python. At first, it was just going to be a command line application, but&#8230; after giving it a second thought, I decided to provide a GUI too using pygtk.</p>
<p>So, since there I saw lots of post about quickly, I decided to give quickly a try too&#8230; and it is awesome! I really like it.</p>
<p>Anyways, my app is a simple app that&#8217;s allowing me to learn python. It enciphers a text file using a public key, and then it hides the message in an image. I&#8217;m making use of python-gnupginterface and python-stepic for this. As you can see, it sounds like a simple app, and it really is&#8230; I&#8217;ll publish it when I&#8217;m done.</p>
<p>Btw&#8230; give a try to quickly, you are gonna like it. Thanks rickspencer and didrocks for this awesome tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2009/11/quickly-rocks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In Miami&#8230; Finally!!</title>
		<link>http://www.roaksoax.com/2009/08/in-miami-finally</link>
		<comments>http://www.roaksoax.com/2009/08/in-miami-finally#comments</comments>
		<pubDate>Thu, 20 Aug 2009 19:06:48 +0000</pubDate>
		<dc:creator>roaksoax</dc:creator>
				<category><![CDATA[Planet]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[FIU]]></category>
		<category><![CDATA[Florida International University]]></category>
		<category><![CDATA[Miami]]></category>

		<guid isPermaLink="false">http://www.roaksoax.com/?p=321</guid>
		<description><![CDATA[Finally, after a long trip (that kept me away from everything), I&#8217;m in Miami at Florida International University!! I have to say that FIU is a pretty amazing University, where you can find many people around the globe. The weather is nice, at least for now, and I&#8217;m pretty happy of being here. So if [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, after a long trip (that kept me away from everything), I&#8217;m in Miami at <a href="http://www.fiu.edu" target="_blank">Florida International University</a>!! I have to say that FIU is a pretty amazing University, where you can find many people around the globe. The weather is nice, at least for now, and I&#8217;m pretty happy of being here.</p>
<p>So if there&#8217;s any Ubuntu member, developer, mentee, or anyone else the Ubuntu Community and/or FIU student, and want to meet&#8230; just drop me an email (or leave a comment with contact info).</p>
<p>BTW&#8230; I&#8217;ll be restarting the translation of the UWN into spanish this weekend. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roaksoax.com/2009/08/in-miami-finally/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

