<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
  <channel>
    <title>hubertf's NetBSD blog</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/</link>
    <description>Blog about the NetBSD open source operating system</description>
    <language>en</language>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>blosxom/2.1.2</generator>

  <item>
    <title>NetBSD is part of Google&apos;s Summer of Code 2013</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130409_2127.html</link>
    <pubDate>Tue, 09 Apr 2013 21:36:00 GMT</pubDate>
    <description>
      
News is out that
&lt;a href=&quot;http://www.google-melange.com/gsoc/org/google/gsoc2013/netbsd&quot;&gt;NetBSD is part of Google&apos;s Summer of Code 2013&lt;/a&gt; (GSoC)
again. GSoC is about students doing work for Open Source projects
over the summer, and getting paid while doing so. By Google.
For projects proposed by both students and the Open Source projects.
&lt;p&gt;

Click on the above link for more information on GSoC in general,
there is also
&lt;a href=&quot;http://wiki.netbsd.org/projects/gsoc/&quot;&gt;a list of proposed projects for this year in NetBSD&lt;/a&gt;.
&lt;p&gt;

Next steps are:

&lt;/ul&gt;
&lt;li&gt; April 9 - 21: Would-be student participants discuss application ideas with mentoring organizations.
&lt;li&gt; April 22, 19:00 UTC: Student application period opens.
&lt;li&gt; May 3, 19:00 UTC: Student application deadline.
&lt;li&gt; Interim Period: Mentoring organizations review and rank student proposals; where necessary, mentoring organizations may request further proposal detail from the student applicant.
&lt;li&gt; May 6: Mentoring organizations should have requested slots via their profile in Melange by this point.
&lt;li&gt; May 8: Slot allocations published to mentoring organizations
&lt;/ul&gt;

From there, students work on their projects with the help
of their mentors. There&apos;s a &quot;midterm&quot; report due with a first
part of the money paid, the rest is paid if the project is
finished successfully.
&lt;p&gt;

During the project, students are encouraged to publish news
about their process to the world in blogs and other ways found
appropriate by their mentoring organizations.
&lt;p&gt;

Past NetBSD projects 
&lt;a href=&quot;http://netbsd-soc.sourceforge.net/&quot;&gt;can be found on
SourceForce&lt;/a&gt;.
&lt;p&gt;

Interested?
&lt;a href=&quot;http://www.google-melange.appspot.com/gsoc/homepage/google/gsoc2013&quot;&gt;Act now!&lt;/a&gt;

    </description>
  </item>
  <item>
    <title>Ansible &amp; EC2 - Playbooks for orchestrating NetBSD into the cloud</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130324_2326.html</link>
    <pubDate>Sun, 24 Mar 2013 23:37:00 GMT</pubDate>
    <description>
      
As follower of my blog you have 
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130228_1240.html&quot;&gt;seen&lt;/a&gt;
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130314_2151.html&quot;&gt;the&lt;/a&gt;
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130320_2359.html&quot;&gt;steps&lt;/a&gt;
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130321_2243.html&quot;&gt;towards&lt;/a&gt;
getting NetBSD instances started in Amazon&apos;s EC2 cloud
with a simple web application deployed on one EC2 instance
and the database on another one.
&lt;p&gt;

These blog articles were very detailed on purpose, to have full
logfiles available just in case needed. I have used these logs to
prepare my
&lt;a href=&quot;http://pkgsrc.org/pkgsrcCon/2013/&quot;&gt;pkgsrcCon 2013&lt;/a&gt;
talk about Ansible and Amazon&apos;s EC2, so things can be looked at
without actually running anything. As it turns out this was good,
because the 32bit NetBSD instances that I&apos;ve used during my
pkgsrcCon demonstration actually decided to do a kernel panic, and the presentation
was a bit more on the theoretical side than I originally planned.
&lt;p&gt;

Now after pkgsrcCon is over, I would like to
&lt;a href=&quot;http://www.feyrer.de/NetBSD/pkgsrcCon2013/&quot;&gt;publish the presentation
slides with all the details, and especially the playbooks and all
other files to look at&lt;/a&gt; -  enjoy!

    </description>
  </item>
  <item>
    <title>Ansible, EC2 and NetBSD final milestone 4 reached: Web and DB on separate VMs in the cloud</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130321_2243.html</link>
    <pubDate>Thu, 21 Mar 2013 22:43:00 GMT</pubDate>
    <description>
      
In the fourth and last step on my journey to use
&lt;a href=&quot;http://www.ansible.cc/&quot;&gt;Ansible&lt;/a&gt;
to bring a non-trivial system of a Web server and a DB server into
Amazon&apos;s EC2 cloud, this is the final step.
After starting out with a local VMware VM and making first steps
with Ansible and EC2, the
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130320_2359.html&quot;&gt;previous step&lt;/a&gt; was to push a single system
into the cloud. Now, the final step is to setup two distinct VMs, one
for the database and one for the webserver, and then make them known
to each other.
&lt;p&gt;

The single steps are:
&lt;ol&gt;
&lt;li&gt; &lt;a href=&quot;#prepare-vms&quot;&gt;Prepare&lt;/a&gt; the two VMs
&lt;li&gt; &lt;a href=&quot;#basic&quot;&gt;Basic setup&lt;/a&gt; for all systems
&lt;li&gt; &lt;a href=&quot;#dbserver&quot;&gt;Install the database server&lt;/a&gt;
&lt;li&gt; &lt;a href=&quot;#webserver&quot;&gt;Install the webserver&lt;/a&gt;
&lt;li&gt; &lt;a href=&quot;#connections&quot;&gt;Connect&lt;/a&gt; database and webserver
&lt;/ol&gt; 

Again, here are all the steps in detail:

&lt;ol&gt;

&lt;li&gt; &lt;a name=&quot;prepare-vms&quot; /&gt;As before, ensure local time is correct when talking to Amazon,
     and also make sure the SSH agent has the proper key loaded.

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;date&lt;/b&gt;
Thu Mar 21 00:45:37 CET 2013
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add -l&lt;/b&gt;
2048 d5:25:19:3d:59:40:35:32:03:f7:c5:83:de:19:b6:d0 ../../euca2ools/key-eucaHF.pem (RSA)
&lt;/pre&gt;

&lt;li&gt; Make sure security groups are setup properly. We use one group
  for the database server, and one for the webserver. This defines the
  access permissions from the internet, and also allows to identify
  systems for their individual configuration and also for connecting
  them in the final step:

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-groups&lt;/b&gt;
...
GROUP   sg-ae54b3c5     749335780469    ec2-dbservers   Database servers
PERMISSION      749335780469    ec2-dbservers   ALLOWS  tcp     22      22      FROM    CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-dbservers   ALLOWS  tcp     3306    3306    FROM    CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-dbservers   ALLOWS  icmp    -1      -1      FROM    CIDR    0.0.0.0/0
GROUP   sg-a854b3c3     749335780469    ec2-webservers  Web servers
PERMISSION      749335780469    ec2-webservers  ALLOWS  tcp     22      22      FROM    CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-webservers  ALLOWS  tcp     80      80      FROM    CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-webservers  ALLOWS  icmp    -1      -1      FROM    CIDR    0.0.0.0/0
&lt;/pre&gt;
  
&lt;li&gt; Now, run our playbook to setup the two VMs. This uses the single
  playbook from the previous milestone, and just runs it twice with
  different security groups:

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ansible-playbook -i hosts-HF config-ec2-prepare-db+web-vm.yml&lt;/b&gt;

PLAY [localhost] ********************* 

TASK: [ec2-webservers | Launch new EC2 instance] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-webservers | Give the system 30 seconds to boot up] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-webservers | Get rid of SSH &quot;Are you sure you want to continue connecting (yes/no)?&quot; query] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-webservers | Fix /usr/bootstrap.sh to run pkgin with -y] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;install /usr/bootstrap.sh /usr/bootstrap.sh.orig&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod +w /usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;sed &quot;s,bin/pkgin update,bin/pkgin -y update,&quot; &lt;/usr/bootstrap.sh.orig &gt;/usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod -w /usr/bootstrap.sh&apos;})&lt;/font&gt;

TASK: [ec2-webservers | Install pkgin via /usr/bootstrap.sh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: u&apos;env PATH=/usr/sbin:${PATH} /usr/bootstrap.sh binpkg&apos;})&lt;/font&gt;

TASK: [ec2-webservers | Copy over Ansible binary package] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-webservers | Install Ansible dependencies] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-webservers | Install Ansible package (manually)] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-webservers | Setup lame /usr/bin/python symlink] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-dbservers | Launch new EC2 instance] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-dbservers | Give the system 30 seconds to boot up] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-dbservers | Get rid of SSH &quot;Are you sure you want to continue connecting (yes/no)?&quot; query] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-dbservers | Fix /usr/bootstrap.sh to run pkgin with -y] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;install /usr/bootstrap.sh /usr/bootstrap.sh.orig&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod +w /usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;sed &quot;s,bin/pkgin update,bin/pkgin -y update,&quot; &lt;/usr/bootstrap.sh.orig &gt;/usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod -w /usr/bootstrap.sh&apos;})&lt;/font&gt;

TASK: [ec2-dbservers | Install pkgin via /usr/bootstrap.sh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: u&apos;env PATH=/usr/sbin:${PATH} /usr/bootstrap.sh binpkg&apos;})&lt;/font&gt;

TASK: [ec2-dbservers | Copy over Ansible binary package] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-dbservers | Install Ansible dependencies] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-dbservers | Install Ansible package (manually)] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [ec2-dbservers | Setup lame /usr/bin/python symlink] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;127.0.0.1&lt;/font&gt;                      : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;18&lt;/font&gt;   &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;18&lt;/font&gt;   unreachable=0    failed=0    
&lt;/pre&gt;

&lt;li&gt; Just to make sure, check that the two instances run properly, and
  are in the right security groups, ec2-webservers and ec2-dbservers: 

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
RESERVATION     r-a419f9d9      749335780469    ec2-webservers
INSTANCE        i-21b7c441      ami-5d0f8034    ...
RESERVATION     r-641efe19      749335780469    ec2-dbservers
INSTANCE        i-54a2ab3e      ami-5d0f8034    ...
&lt;/pre&gt;

&lt;li&gt; &lt;a name=&quot;basic&quot; /&gt;Next, bring the two freshly setup systems (which are already
     capable of acting as ansible targets) up to our basic system setup: 
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-basic.yml&lt;/b&gt;

PLAY [security_group_ec2-webservers;security_group_ec2-dbservers] ********************* 

TASK: [ping] ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install tcsh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Add user feyrer] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Create ~feyrer/.ssh directory] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable ssh login with ssh-key] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install sudo] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable PW-less sudo-access for everyone in group &apos;wheel&apos;] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Disable ssh logins as root] ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;ec2-54-234-139-151.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;8&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;6&lt;/font&gt;    unreachable=0    failed=0    
&lt;font color=&quot;yellow&quot;&gt;ec2-54-235-44-118.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;8&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;6&lt;/font&gt;    unreachable=0    failed=0    
&lt;/pre&gt;

&lt;li&gt; Check:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh ec2-54-234-139-151.compute-1.amazonaws.com id&lt;/b&gt;
uid=1000(feyrer) gid=100(users) groups=100(users),0(wheel)
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh ec2-54-235-44-118.compute-1.amazonaws.com id&lt;/b&gt;
uid=1000(feyrer) gid=100(users) groups=100(users),0(wheel)
&lt;/pre&gt;

&lt;li&gt; &lt;a name=&quot;dbserver&quot; /&gt;Now that the two machines run with our basline configuration,
     install their individual software and settings. First the
     database server:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-dbserver.yml&lt;/b&gt;

PLAY [security_group_ec2-dbservers] ********************* 

TASK: [Install mysql] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install MySQL rc.d script] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Start MySQL service] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install python-mysqldb (for mysql_user module)] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Setup DB] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Add db-user] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Copy over DB template] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Import DB data] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;ec2-54-235-44-118.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;8&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;8&lt;/font&gt;    unreachable=0    failed=0    
&lt;pre&gt;

&lt;li&gt; Check and see if the database works as expected:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh -t ec2-54-235-44-118.compute-1.amazonaws.com mysql -u webapp -p webapp&lt;/b&gt;
Enter password: &lt;b&gt;****&lt;/b&gt;
...
mysql&gt; &lt;b&gt;show tables;&lt;/b&gt;
+------------------+
| Tables_in_webapp |
+------------------+
| names            |
+------------------+
1 row in set (0.01 sec)

mysql&gt; &lt;b&gt;select * from names;&lt;/b&gt;
+----+--------+------+
| id | first  | last |
+----+--------+------+
|  1 | Donald | Duck |
|  2 | Daisy  | Duck |
+----+--------+------+
2 rows in set (0.00 sec)

mysql&gt; &lt;b&gt;bye&lt;/b&gt;
&lt;/pre&gt;

&lt;li&gt; &lt;a name=&quot;webserver&quot; /&gt;Excellent. Now setup the webserver, too:
&lt;pre&gt;  
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-webserver.yml&lt;/b&gt;

PLAY [security_group_ec2-webservers] ********************* 

TASK: [Installing ap24-php53 package and dependencies] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install Apache rc.d script] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable and start Apache service] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable PHP in Apache config file] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;LoadModule.*mod_php5.so&apos;, &apos;l&apos;: &apos;LoadModule php5_module lib/httpd/mod_php5.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;AddHandler.*x-httpd-php&apos;, &apos;l&apos;: &apos;AddHandler application/x-httpd-php .php&apos;})&lt;/font&gt;

TASK: [Make Apache read index.php] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Add simple PHP test - see http://10.0.0.181/phptest.php] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install phpmyadmin] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable phpmyadmin in Apache config] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Fix Apache access control for phpmyadmin] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable PHP modules in PHP config file] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*zlib.so&apos;, &apos;l&apos;: &apos;extension=zlib.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*zip.so&apos;, &apos;l&apos;: &apos;extension=zip.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mysqli.so&apos;, &apos;l&apos;: &apos;extension=mysqli.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mysql.so&apos;, &apos;l&apos;: &apos;extension=mysql.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mcrypt.so&apos;, &apos;l&apos;: &apos;extension=mcrypt.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mbstring.so&apos;, &apos;l&apos;: &apos;extension=mbstring.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*json.so&apos;, &apos;l&apos;: &apos;extension=json.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*gd.so&apos;, &apos;l&apos;: &apos;extension=gd.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*gettext.so&apos;, &apos;l&apos;: &apos;extension=gettext.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*bz2.so&apos;, &apos;l&apos;: &apos;extension=bz2.so&apos;})&lt;/font&gt;

TASK: [Create directory for webapp] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Deploy example webapp] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Create webapp symlink for easy access] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

NOTIFIED: [restart apache] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;ec2-54-234-139-151.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;14&lt;/font&gt;   &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;14&lt;/font&gt;   unreachable=0    failed=0    
&lt;/pre&gt;

&lt;li&gt; Again, test:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;links -dump ec2-54-234-139-151.compute-1.amazonaws.com/&lt;/b&gt;
                                   It works!
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;links -dump http://ec2-54-234-139-151.compute-1.amazonaws.com/phptest.php | head&lt;/b&gt;
   PHP Logo                                                                   
                                                                              
                               PHP Version 5.3.17                             

   System          NetBSD ip-10-80-61-33.ec2.internal 6.0.1 NetBSD 6.0.1      
                   (XEN3PAE_DOMU) i386                                        
   Build Date      Dec 14 2012 10:31:13                                       
                   &apos;./configure&apos; &apos;--with-config-file-path=/usr/pkg/etc&apos;       
                   &apos;--with-config-file-scan-dir=/usr/pkg/etc/php.d&apos;           
                   &apos;--sysconfdir=/usr/pkg/etc&apos; &apos;--localstatedir=/var&apos;         
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;links -dump http://ec2-54-234-139-151.compute-1.amazonaws.com/webapp/&lt;/b&gt;
   Showing table hf.names:

   Cannot connect to database: Can&apos;t connect to local MySQL server through
   socket &apos;/tmp/mysql.sock&apos; (2)(2002)
&lt;/pre&gt;

&lt;li&gt; &lt;a name=&quot;connections&quot; /&gt;Close to optimum, but the last error is actually expectet: In
  order for proper operation, the Database needs to grant the
  webserver access, and the web server needs to know where the
  database server is. So let&apos;s connect them!
  &lt;p&gt;

  This step is done by preparing a shell script on both systems, which
  will then be ran to  - depending on the system&apos;s security group - perform the
  proper steps:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-connections.yml&lt;/b&gt;

PLAY [security_group_ec2-webservers;security_group_ec2-dbservers] ********************* 

TASK: [Collect EC2 host information] ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Prepare connection-script in /tmp/do-connect-vms.sh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Run connection-script] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-234-139-151.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-54-235-44-118.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;ec2-54-234-139-151.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;3&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;2&lt;/font&gt;    unreachable=0    failed=0    
&lt;font color=&quot;yellow&quot;&gt;ec2-54-235-44-118.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;3&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;2&lt;/font&gt;    unreachable=0    failed=0    
&lt;/pre&gt;

&lt;li&gt; With that final step, our test web application works, and the
  webserver can access the database properly:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;links -dump http://ec2-54-234-139-151.compute-1.amazonaws.com/webapp/&lt;/b&gt;
   Showing table hf.names:

   +--------------------+
   | id | first  | last |
   |----+--------+------|
   | 1  | Donald | Duck |
   |----+--------+------|
   | 2  | Daisy  | Duck |
   +--------------------+

     ----------------------------------------------------------------------

   Enter new values:

   first:     _____________________ 
   last:      _____________________ 
   [ Submit ] 
&lt;/pre&gt;
&lt;/ol&gt;

So much for this exercise.  I&apos;ll talk about the ansible and euca2ools
packages at
&lt;/a&gt;&lt;a href=&quot;http://pkgsrc.org/pkgsrcCon/2013/&quot;&gt;pkgsrcCon 2013 in Berlin&lt;/a&gt;.
Join in if you&apos;re curious about
what the actual playbooks used in the above examples look like, or
stay tuned to find my presentation and all the data after pkgsrcCon
2013.

    </description>
  </item>
  <item>
    <title>Happy 20th Birthday, NetBSD! (Update)</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130321_0118.html</link>
    <pubDate>Thu, 21 Mar 2013 21:22:00 GMT</pubDate>
    <description>
      
&lt;img src=&quot;http://nxr.netbsd.org/default/img/20yearsNetBSD.png&quot; /&gt;
&lt;p&gt;

20 years back from today, NetBSD was initially checked into
CVS. Revision 1.1 of src/Makefile was committed on March 21st 1993
on 09:45:37 by Chris Demetriou (cgd@):

&lt;pre&gt;
% &lt;b&gt;cvs log -Nr1.1 Makefile&lt;/b&gt;
...
revision 1.1
date: 1993/03/21 09:45:37;  author: cgd;  state: Exp;
branches:  1.1.1;
Initial revision &lt;/pre&gt;

NetBSD was started as successor to the Berkeley System
Distribution (BSD) Unix with a focus on multiplatform
support.
&lt;p&gt;

Personally, I&apos;ve followed NetBSD since the day
in 1993 when the Amiga port popped up, which was
the first platform that the newly forked
operating system was ported to after its
separation from BSD.
&lt;p&gt;

Many things have happened
in the past 20 years,
and a lot could be &lt;a href=&quot;http://www.beer.org/images/gang.gif&quot;&gt;shown&lt;/a&gt;
and &lt;a href=&quot;http://www.feyrer.de/NetBSD/history-of-netbsd-amiga.txt&quot;&gt;told&lt;/a&gt; for the history books 
at this point. But I guess that can be done later - I&apos;d be
happy to help out with such a project if someone wants to start it,
though :)
&lt;p&gt;

For today I&apos;m very happy that NetBSD is available
on a wide range on platforms, runs the software that
I want and gives me the assurrance it will be around
tomorrow and hopefully for the next 20 years, too.
&lt;p&gt;

Cheers, NetBSD!
&lt;p&gt;

&lt;b&gt;Update:&lt;/b&gt;
Jeremy Reed pointed me at his
&lt;a href=&quot;http://www.bsdnewsletter.com/2013/03/Features185.html&quot;&gt;BSDnewletter&lt;/a&gt;
posting, which gives a number of details of NetBSD&apos;s
history. Recommended reading!

    </description>
  </item>
  <item>
    <title>Ansible, EC2 and NetBSD milestone 3 reached: Web and database in the cloud</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130320_2359.html</link>
    <pubDate>Thu, 21 Mar 2013 00:00:00 GMT</pubDate>
    <description>
      
With the previous work on
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130228_1240.html&quot;&gt;setting up a local VM as database and web server&lt;/a&gt;
and
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130314_2151.html&quot;&gt;setting up a Xen VM in Amazon&apos;s EC2 cloud&lt;/a&gt;
combined, it is pretty straight forward to setup a EC2 instance that
has all the software to serve a simple web application from the cloud.
&lt;p&gt;

The single steps are:
&lt;ol&gt;
  &lt;li&gt; &lt;a href=&quot;#prepare&quot;&gt;Prepare the environment&lt;/a&gt; with proper time, SSH agent and EC2 firewall groups
  &lt;li&gt; &lt;a href=&quot;#prepare1vm&quot;&gt;Setup EC2 instance&lt;/a&gt; with pkgin and ansible
  &lt;li&gt; &lt;a href=&quot;#basic&quot;&gt;Do basic preparations&lt;/a&gt; to meet our standards for logins, shells and general usability and security
  &lt;li&gt; &lt;a href=&quot;#dbserver&quot;&gt;Setup database server&lt;/a&gt; with DB software, user and import of data
  &lt;li&gt; &lt;a href=&quot;#webserver&quot;&gt;Setup web server&lt;/a&gt; with all the software and some demo application
   
&lt;/ol&gt;
				
The following details show all the commands can and their output in
more detail:
&lt;p&gt;

&lt;ol&gt;
  &lt;li&gt; &lt;a name=&quot;prepare&quot;&gt;Make sure time is set properly - needed when talking to Amazon EC2:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;sudo sh /etc/rc.d/ntpd stop&lt;/b&gt;
ntpd not running? (check /var/run/ntpd.pid).
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;sudo sh /etc/rc.d/ntpdate restart&lt;/b&gt;
Setting date via ntp.
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;sudo sh /etc/rc.d/ntpd start&lt;/b&gt;
Starting ntpd.
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;date&lt;/b&gt;
Sat Mar 16 16:46:19 CET 2013
&lt;/pre&gt;

&lt;li&gt; Teach our EC2 SSH key to SSH agent, so we don&apos;t have to type a
  password (which we don&apos;t know anyways - EC2 only works with SSH
  keys):
  
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add -l&lt;/b&gt;
Could not open a connection to your authentication agent.
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;eval `ssh-agent`&lt;/b&gt;
Agent pid 10467
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add -l&lt;/b&gt;
The agent has no identities.
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add ../../euca2ools/key-eucaHF.pem&lt;/b&gt;
Identity added: ../../euca2ools/key-eucaHF.pem (../../euca2ools/key-eucaHF.pem)
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add -l&lt;/b&gt;
2048 d5:25:19:3d:59:40:35:32:03:f7:c5:83:de:19:b6:d0 ../../euca2ools/key-eucaHF.pem (RSA)
&lt;/pre&gt;

&lt;li&gt; Check security (firewall) groups - those are stored in EC2, and
     we
     have &lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130314_2151.html&quot;&gt;previously&lt;/a&gt;
     set them up: 
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-groups&lt;/b&gt;
...
GROUP   sg-a854b3c3     749335780469    ec2-webservers  Web servers
PERMISSION      749335780469    ec2-webservers  ALLOWS  tcp     22      22      FROM    CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-webservers  ALLOWS  tcp     80      80      FROM    CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-webservers  ALLOWS  icmp    -1      -1      FROM    CIDR    0.0.0.0/0
&lt;/pre&gt;

&lt;li&gt; See if there are any EC2 instances running:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt;
&lt;/pre&gt;

No - that&apos;s fine, we are about to change that!
&lt;p&gt;

&lt;li&gt; &lt;a name=&quot;prepare1vm&quot; /&gt;Run first playbook to launch EC2 instance and prepare it for
     using with ansible:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ansible-playbook -i hosts-HF config-ec2-prepare1vm.yml&lt;/b&gt;

PLAY [localhost] ********************* 

TASK: [Launch new EC2 instance] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Give the system 30 seconds to boot up] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Get rid of SSH &quot;Are you sure you want to continue connecting (yes/no)?&quot; query] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Fix /usr/bootstrap.sh to run pkgin with -y] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;install /usr/bootstrap.sh /usr/bootstrap.sh.orig&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod +w /usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;sed &quot;s,bin/pkgin update,bin/pkgin -y update,&quot; &lt;/usr/bootstrap.sh.orig &gt;/usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod -w /usr/bootstrap.sh&apos;})&lt;/font&gt;

TASK: [Install pkgin via /usr/bootstrap.sh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: u&apos;env PATH=/usr/sbin:${PATH} /usr/bootstrap.sh binpkg&apos;})&lt;/font&gt;

TASK: [Copy over Ansible binary package] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Install Ansible dependencies] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Install Ansible package (manually)] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Setup lame /usr/bin/python symlink] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;127.0.0.1&lt;/font&gt;                      : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;9&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;9&lt;/font&gt;    unreachable=0    failed=0    
&lt;/pre&gt;

We now have a EC2 instance running that has Ansible installed:

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
RESERVATION     r-d77272ad      749335780469    ec2-webservers
INSTANCE        i-9fafc2f2      ami-5d0f8034    ec2-107-22-69-112.compute-1.amazonaws.com ...
&lt;/pre&gt;

&lt;li&gt; &lt;a name=&quot;basic&quot; /&gt;With this EC2 instance, we can do &lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130228_1240.html&quot;&gt;some basic preparations&lt;/a&gt; for our
standards, e.g. a login without requiring root (and while there, actually
disable allowing as root), setup sudo and a proper shell:

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-basic.yml&lt;/b&gt;

PLAY [security_group_ec2-webservers] ********************* 

TASK: [ping] ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install tcsh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Add user feyrer] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Create ~feyrer/.ssh directory] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable ssh login with ssh-key] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install sudo] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable PW-less sudo-access for everyone in group &apos;wheel&apos;] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Disable ssh logins as root] ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;ec2-107-22-69-112.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;8&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;6&lt;/font&gt;    unreachable=0    failed=0    
&lt;/pre&gt;

Let&apos;s have a look if things actually work:

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh 107.22.69.112 id&lt;/b&gt;
uid=1000(feyrer) gid=100(users) groups=100(users),0(wheel)
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh ec2-107-22-69-112.compute-1.amazonaws.com id&lt;/b&gt;
uid=1000(feyrer) gid=100(users) groups=100(users),0(wheel)
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh ec2-107-22-69-112.compute-1.amazonaws.com sudo id&lt;/b&gt;
uid=0(root) gid=0(wheel) groups=0(wheel),2(kmem),3(sys),4(tty),5(operator),20(staff),31(guest)
&lt;/pre&gt;

&lt;li&gt; &lt;a name=&quot;dbserver&quot; /&gt;Next, install database software and import our demo database, just
     as we did &lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130228_1240.html&quot;&gt;in out local VM&lt;/a&gt;:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-dbserver.yml&lt;/b&gt;

PLAY [security_group_ec2-webservers] ********************* 

TASK: [Install mysql] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install MySQL rc.d script] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Start MySQL service] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install python-mysqldb (for mysql_user module)] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Setup DB] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Add db-user] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Copy over DB template] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Import DB data] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;ec2-107-22-69-112.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;8&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;8&lt;/font&gt;    unreachable=0    failed=0    
&lt;/pre&gt;

Again, let&apos;s see if everything works as expected:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh ec2-107-22-69-112.compute-1.amazonaws.com&lt;/b&gt;
...
ip-10-202-65-196: {1} &lt;b&gt;mysql -u webapp -p webapp&lt;/b&gt;
Enter password: &lt;b&gt;******&lt;/b&gt;
...
mysql&gt; &lt;b&gt;show tables;&lt;/b&gt;
+------------------+
| Tables_in_webapp |
+------------------+
| names            |
+------------------+
1 row in set (0.00 sec)

mysql&gt; &lt;b&gt;select * from names;&lt;/b&gt;
+----+--------+------+
| id | first  | last |
+----+--------+------+
|  1 | Donald | Duck |
|  2 | Daisy  | Duck |
+----+--------+------+
2 rows in set (0.00 sec)

mysql&gt; &lt;b&gt;exit&lt;/b&gt;
Bye
ip-10-202-65-196: {2} &lt;b&gt;exit&lt;/b&gt;
logout
Connection to ec2-107-22-69-112.compute-1.amazonaws.com closed.
&lt;/pre&gt;

&lt;li&gt; &lt;a name=&quot;webserver&quot; /&gt;Last, add Apache+PHP and our small demo web-application:

&lt;pre&gt;  
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-webserver.yml&lt;/b&gt;

PLAY [security_group_ec2-webservers] ********************* 

TASK: [Installing ap24-php53 package and dependencies] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install Apache rc.d script] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable and start Apache service] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable PHP in Apache config file] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;LoadModule.*mod_php5.so&apos;, &apos;l&apos;: &apos;LoadModule php5_module lib/httpd/mod_php5.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;AddHandler.*x-httpd-php&apos;, &apos;l&apos;: &apos;AddHandler application/x-httpd-php .php&apos;})&lt;/font&gt;

TASK: [Make Apache read index.php] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Add simple PHP test - see http://10.0.0.181/phptest.php] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Install phpmyadmin] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable phpmyadmin in Apache config] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Fix Apache access control for phpmyadmin] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Enable PHP modules in PHP config file] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*zlib.so&apos;, &apos;l&apos;: &apos;extension=zlib.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*zip.so&apos;, &apos;l&apos;: &apos;extension=zip.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mysqli.so&apos;, &apos;l&apos;: &apos;extension=mysqli.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mysql.so&apos;, &apos;l&apos;: &apos;extension=mysql.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mcrypt.so&apos;, &apos;l&apos;: &apos;extension=mcrypt.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*mbstring.so&apos;, &apos;l&apos;: &apos;extension=mbstring.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*json.so&apos;, &apos;l&apos;: &apos;extension=json.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*gd.so&apos;, &apos;l&apos;: &apos;extension=gd.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*gettext.so&apos;, &apos;l&apos;: &apos;extension=gettext.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com] =&gt; (item={&apos;re&apos;: &apos;^extension.*bz2.so&apos;, &apos;l&apos;: &apos;extension=bz2.so&apos;})&lt;/font&gt;

TASK: [Create directory for webapp] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Deploy example webapp] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [Create webapp symlink for easy access] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

NOTIFIED: [restart apache] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [ec2-107-22-69-112.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;ec2-107-22-69-112.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;14&lt;/font&gt;   &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;14&lt;/font&gt;   unreachable=0    failed=0    
&lt;/pre&gt;

&lt;li&gt; Test!
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;links -dump http://ec2-107-22-69-112.compute-1.amazonaws.com/&lt;/b&gt;
                                   It works!

&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;links -dump http://ec2-107-22-69-112.compute-1.amazonaws.com/phptest.php&lt;/b&gt;
   PHP Logo                                                                   
                                                                              
                               PHP Version 5.3.17                             

   System          NetBSD ip-10-202-65-196.ec2.internal 6.0.1 NetBSD 6.0.1    
                   (XEN3PAE_DOMU) i386                                        
   Build Date      Dec 14 2012 10:31:13                                       
...

&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;links -dump http://ec2-107-22-69-112.compute-1.amazonaws.com/webapp/&lt;/b&gt;
   Showing table hf.names:

   +--------------------+
   | id | first  | last |
   |----+--------+------|
   | 1  | Donald | Duck |
   |----+--------+------|
   | 2  | Daisy  | Duck |
   +--------------------+

     ----------------------------------------------------------------------

   Enter new values:

   first:     _____________________ 
   last:      _____________________ 
   [ Submit ] 
&lt;/pre&gt;

&lt;li&gt; At this point, everything is setup and can be enjoyed.
     If the instance is needed no longer, it can be terminated:

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
RESERVATION     r-d77272ad      749335780469    ec2-webservers
INSTANCE        i-9fafc2f2      ami-5d0f8034    ec2-107-22-69-112.compute-1.amazonaws.com       ...
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-terminate-instances i-9fafc2f2&lt;/b&gt;
INSTANCE        i-9fafc2f2
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
RESERVATION     r-d77272ad      749335780469    ec2-webservers
INSTANCE        i-9fafc2f2      ami-5d0f8034                    terminated      eucaHF  ...
&lt;/pre&gt;
&lt;/ol&gt;

What&apos;s next on my journey is to put database and webserver into
separate VMs. First one of each, and then see if I find the nerve to
look into a setup with more redundancy. 
&lt;p&gt;

&lt;blink&gt;&lt;b&gt;Shameless plug:&lt;/b&gt;&lt;/blink&gt;
I&apos;ll talk about the ansible and euca2ools packages at
&lt;/a&gt;&lt;a href=&quot;http://pkgsrc.org/pkgsrcCon/2013/&quot;&gt;pkgsrcCon 2013 in Berlin&lt;/a&gt;.
Join in if you&apos;re curious about
what the actual playbooks used in the above examples look like!

    </description>
  </item>
  <item>
    <title>Ansible, EC2 and NetBSD milestone 2 reached: Instance preparation and communication</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130314_2151.html</link>
    <pubDate>Thu, 14 Mar 2013 23:08:00 GMT</pubDate>
    <description>
      
On my quest to use Ansible to get a NetBSD virtual machine into Amazon&apos;s EC2
cloud, I&apos;ve previously 
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130228_1240.html&quot;&gt;described&lt;/a&gt;
how I use ansible to prepare a local machine. Working from a basic NetBSD setup,
the system is setup for basic operation, the configured as both a database server
and a Web/PHP server to serve a small demo application.
&lt;p&gt;

Now the next step is to replace the VM with an Amazon EC2 instance.
I have &lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130203_1833.html&quot;&gt;previously written about how to manage Amazon/EC2 NetBSD instances&lt;/a&gt;,
and here are the steps that I make to first prepare an EC2 instance with NetBSD and Ansible,
and then use a regular Ansible playbook to talk to all my EC2 instances.
Note that the connection between the machines setup via euca2ools
and ansible is in the security group names. In this case,
the security group &quot;ec2-webservers&quot; is assumed to exist.
&lt;p&gt;

&lt;ol&gt;
&lt;li&gt; Make sure SSH agent runs and has the EC2 SSH-key added:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add -l&lt;/b&gt;
Could not open a connection to your authentication agent.
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;eval `ssh-agent`&lt;/b&gt;
Agent pid 9304
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add -l&lt;/b&gt;
The agent has no identities.
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add .../key-ec2HF.pem &lt;/b&gt;
Identity added: ../../euca2ools/key-ec2HF.pem (../../euca2ools/key-ec2HF.pem)
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ssh-add -l&lt;/b&gt;
2048 d5:25:19:3d:59:40:35:32:03:f7:c5:83:de:19:b6:d0 ../../euca2ools/key-ec2HF.pem (RSA)
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;/pre&gt;

&lt;li&gt; When using a VM to talk to EC2, pay special attention that
     it has the correct time, else funny things will happen:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;date&lt;/b&gt;
Sun Mar 10 14:42:33 CET 2013
&lt;/pre&gt;

&lt;li&gt; Setup the ec2-webservers security (firewall) group. This is used
     both when creating the EC2 instances, and when accessing them.
     It&apos;s the link between EC2 and Ansible&apos;s ec2.py script.

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-add-group -d &apos;Web servers&apos; ec2-webservers&lt;/b&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-authorize -P tcp -p 80-80 -s 0.0.0.0/0 ec2-webservers&lt;/b&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-authorize -P tcp -p 22-22 -s 0.0.0.0/0 ec2-webservers&lt;/b&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-authorize -P icmp -s 0.0.0.0/0 ec2-webservers&lt;/b&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-groups&lt;/b&gt;
GROUP   sg-a854b3c3     749335780469    ec2-webservers  Web servers
PERMISSION      749335780469    ec2-webservers  ALLOWS  tcp     22      22     FROM     CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-webservers  ALLOWS  tcp     80      80     FROM     CIDR    0.0.0.0/0
PERMISSION      749335780469    ec2-webservers  ALLOWS  icmp    -1      -1     FROM     CIDR    0.0.0.0/0
&lt;/pre&gt;

&lt;li&gt; List out EC2 instances:

&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;/pre&gt;

None so far. 
&lt;p&gt;

&lt;li&gt; Let&apos;s use our playbook to prepare our first EC2 instance:

&lt;pre&gt;
&lt;a name=&quot;ec2-prepare1vm&quot;&gt;&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;ansible-playbook -i hosts-HF config-ec2-prepare1vm.yml&lt;/b&gt;

PLAY [localhost] ********************* 

TASK: [Launch new EC2 instance] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Give the system 30 seconds to boot up] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Get rid of SSH &quot;Are you sure you want to continue connecting (yes/no)?&quot; query] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Fix /usr/bootstrap.sh to run pkgin with -y] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;install /usr/bootstrap.sh /usr/bootstrap.sh.orig&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod +w /usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;sed &quot;s,bin/pkgin update,bin/pkgin -y update,&quot; &amp;lt;/usr/bootstrap.sh.orig &amp;gt;/usr/bootstrap.sh&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: &apos;chmod -w /usr/bootstrap.sh&apos;})&lt;/font&gt;

TASK: [Install pkgin via /usr/bootstrap.sh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1] =&gt; (item={&apos;cmd&apos;: u&apos;env PATH=/usr/sbin:${PATH} /usr/bootstrap.sh binpkg&apos;})&lt;/font&gt;

TASK: [Copy over Ansible binary package] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Install Ansible dependencies] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Install Ansible package (manually)] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

TASK: [Setup lame /usr/bin/python symlink] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [127.0.0.1]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;127.0.0.1&lt;/font&gt;                      : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;9&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;yellow&quot;&gt;9&lt;/font&gt;    unreachable=0    failed=0    


&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;/pre&gt;

&lt;li&gt; There we go. Let&apos;s list it:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
RESERVATION     r-bb3b6ac1      749335780469    ec2-webservers
INSTANCE        i-2cb9a45f      ami-a754dbce    ec2-54-234-59-5.compute-1.amazonaws.com \
	ip-10-243-150-74.ec2.internal   running ec2HF  0               t1.micro        \
	2013-03-10T13:47:32.000Z        us-east-1a      aki-825ea7eb                    \
	monitoring-disabled     54.234.59.5     10.243.150.74                   ebs                                                                     
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;/pre&gt;

&lt;li&gt; That worked - excellent! Let&apos;s add a few more, just for kicks:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; ansible-playbook -i hosts-HF config-ec2-prepare1vm.yml &amp;gt;&amp;amp;/dev/null &amp; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; ansible-playbook -i hosts-HF config-ec2-prepare1vm.yml &amp;gt;&amp;amp;/dev/null &amp; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; ansible-playbook -i hosts-HF config-ec2-prepare1vm.yml &amp;gt;&amp;amp;/dev/null &amp; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; ansible-playbook -i hosts-HF config-ec2-prepare1vm.yml &amp;gt;&amp;amp;/dev/null &amp; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; ansible-playbook -i hosts-HF config-ec2-prepare1vm.yml &amp;gt;&amp;amp;/dev/null &amp; 
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 

&amp;lt;...wait...&amp;gt;

&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; euca-describe-instances
RESERVATION     r-bb3b6ac1      749335780469    ec2-webservers
INSTANCE        i-2cb9a45f      ami-a754dbce    ec2-54-234-59-5.compute-1.amazonaws.com \
	ip-10-243-150-74.ec2.internal   running ec2HF  0               t1.micro        \
	2013-03-10T13:47:32.000Z        us-east-1a      aki-825ea7eb                    \
	monitoring-disabled     54.234.59.5     10.243.150.74                   ebs                                                                     
RESERVATION     r-8b3c6df1      749335780469    ec2-webservers
INSTANCE        i-7cb5a80f      ami-a754dbce    ec2-23-20-42-71.compute-1.amazonaws.com \
	ip-10-203-73-195.ec2.internal   running ec2HF  0               t1.micro        \
	2013-03-10T13:50:48.000Z        us-east-1a      aki-825ea7eb                    \
	monitoring-disabled     23.20.42.71     10.203.73.195                   ebs                                                                     
RESERVATION     r-733f6e09      749335780469    ec2-webservers
INSTANCE        i-42b5a831      ami-a754dbce    ec2-23-20-87-176.compute-1.amazonaws.com        \
	ip-10-116-37-145.ec2.internal   running ec2HF  0               t1.micro        \
	2013-03-10T13:50:54.000Z        us-east-1a      aki-825ea7eb                    \
	monitoring-disabled     23.20.87.176    10.116.37.145                   ebs                                                                     
RESERVATION     r-713f6e0b      749335780469    ec2-webservers
INSTANCE        i-40b5a833      ami-a754dbce    ec2-54-242-254-237.compute-1.amazonaws.com      \
	ip-10-195-47-153.ec2.internal   running ec2HF  0               t1.micro        \
	2013-03-10T13:50:54.000Z        us-east-1a      aki-825ea7eb                    \
	monitoring-disabled     54.242.254.237  10.195.47.153                   ebs                                                                     
RESERVATION     r-773f6e0d      749335780469    ec2-webservers
INSTANCE        i-46b5a835      ami-a754dbce    ec2-54-235-232-227.compute-1.amazonaws.com      \
	ip-10-194-7-72.ec2.internal     running ec2HF  0               t1.micro        \
	2013-03-10T13:50:54.000Z        us-east-1a      aki-825ea7eb                    \
	monitoring-disabled     54.235.232.227  10.194.7.72                     ebs                                                                     
RESERVATION     r-b72475cd      749335780469    ec2-webservers
INSTANCE        i-b2adb0c1      ami-a754dbce    ec2-50-16-129-62.compute-1.amazonaws.com        \
	domU-12-31-39-14-C6-CB.compute-1.internal       running ec2HF  0               t1.micro        \
	2013-03-10T13:55:24.000Z        us-east-1d      aki-825ea7eb                    \
	monitoring-disabled     50.16.129.62    10.206.197.53                   ebs                                                                     
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;/pre&gt;

&lt;li&gt; Let&apos;s talk to our EC2 instances now. For that, we use the ec2.py
     script, which enumerates all instances:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;./ec2.py --list&lt;/b&gt;
{
  &quot;i-2cb9a45f&quot;: [
    &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;
  ], 
  &quot;i-40b5a833&quot;: [
    &quot;ec2-54-242-254-237.compute-1.amazonaws.com&quot;
  ], 
  &quot;i-42b5a831&quot;: [
    &quot;ec2-23-20-87-176.compute-1.amazonaws.com&quot;
  ], 
  &quot;i-46b5a835&quot;: [
    &quot;ec2-54-235-232-227.compute-1.amazonaws.com&quot;
  ], 
  &quot;i-7cb5a80f&quot;: [
    &quot;ec2-23-20-42-71.compute-1.amazonaws.com&quot;
  ], 
  &quot;i-b2adb0c1&quot;: [
    &quot;ec2-50-16-129-62.compute-1.amazonaws.com&quot;
  ], 
  &quot;key_ec2HF&quot;: [
    &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-42-71.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-87-176.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-242-254-237.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-235-232-227.compute-1.amazonaws.com&quot;, 
    &quot;ec2-50-16-129-62.compute-1.amazonaws.com&quot;
  ], 
  &quot;security_group_ec2-webservers&quot;: [
    &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-42-71.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-87-176.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-242-254-237.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-235-232-227.compute-1.amazonaws.com&quot;, 
    &quot;ec2-50-16-129-62.compute-1.amazonaws.com&quot;
  ], 
  &quot;type_t1_micro&quot;: [
    &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-42-71.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-87-176.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-242-254-237.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-235-232-227.compute-1.amazonaws.com&quot;, 
    &quot;ec2-50-16-129-62.compute-1.amazonaws.com&quot;
  ], 
  &quot;us-east-1&quot;: [
    &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-42-71.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-87-176.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-242-254-237.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-235-232-227.compute-1.amazonaws.com&quot;, 
    &quot;ec2-50-16-129-62.compute-1.amazonaws.com&quot;
  ], 
  &quot;us-east-1a&quot;: [
    &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-42-71.compute-1.amazonaws.com&quot;, 
    &quot;ec2-23-20-87-176.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-242-254-237.compute-1.amazonaws.com&quot;, 
    &quot;ec2-54-235-232-227.compute-1.amazonaws.com&quot;
  ], 
  &quot;us-east-1d&quot;: [
    &quot;ec2-50-16-129-62.compute-1.amazonaws.com&quot;
  ]
}
&lt;/pre&gt;

&lt;li&gt; ec2.py can also give us information about one instance:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;./ec2.py --host ec2-54-234-59-5.compute-1.amazonaws.com&lt;/b&gt;
{
  &quot;ec2__in_monitoring_element&quot;: false, 
  &quot;ec2_ami_launch_index&quot;: &quot;0&quot;, 
  &quot;ec2_architecture&quot;: &quot;x86_64&quot;, 
  &quot;ec2_client_token&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_dns_name&quot;: &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;, 
  &quot;ec2_eventsSet&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_group_name&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_hypervisor&quot;: &quot;xen&quot;, 
  &quot;ec2_id&quot;: &quot;i-2cb9a45f&quot;, 
  &quot;ec2_image_id&quot;: &quot;ami-a754dbce&quot;, 
  &quot;ec2_instanceState&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_instance_type&quot;: &quot;t1.micro&quot;, 
  &quot;ec2_ip_address&quot;: &quot;54.234.59.5&quot;, 
  &quot;ec2_item&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_kernel&quot;: &quot;aki-825ea7eb&quot;, 
  &quot;ec2_key_name&quot;: &quot;ec2HF&quot;, 
  &quot;ec2_launch_time&quot;: &quot;2013-03-10T13:47:32.000Z&quot;, 
  &quot;ec2_monitored&quot;: false, 
  &quot;ec2_monitoring&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_networkInterfaceSet&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_persistent&quot;: false, 
  &quot;ec2_placement&quot;: &quot;us-east-1a&quot;, 
  &quot;ec2_platform&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_previous_state&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_private_dns_name&quot;: &quot;ip-10-243-150-74.ec2.internal&quot;, 
  &quot;ec2_private_ip_address&quot;: &quot;10.243.150.74&quot;, 
  &quot;ec2_public_dns_name&quot;: &quot;ec2-54-234-59-5.compute-1.amazonaws.com&quot;, 
  &quot;ec2_ramdisk&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_reason&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_region&quot;: &quot;us-east-1&quot;, 
  &quot;ec2_requester_id&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_root_device_name&quot;: &quot;/dev/sda1&quot;, 
  &quot;ec2_root_device_type&quot;: &quot;ebs&quot;, 
  &quot;ec2_security_group_ids&quot;: &quot;sg-a854b3c3&quot;, 
  &quot;ec2_security_group_names&quot;: &quot;ec2-webservers&quot;, 
  &quot;ec2_shutdown_state&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_spot_instance_request_id&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_state&quot;: &quot;running&quot;, 
  &quot;ec2_state_code&quot;: 16, 
  &quot;ec2_state_reason&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_subnet_id&quot;: &quot;&lt;!-- --&gt;&quot;, 
  &quot;ec2_tenancy&quot;: &quot;default&quot;, 
  &quot;ec2_virtualization_type&quot;: &quot;paravirtual&quot;, 
  &quot;ec2_vpc_id&quot;: &quot;&lt;!-- --&gt;&quot;
}
&lt;/pre&gt;

&lt;li&gt; Now let&apos;s use a regular playbook with the ec2.py script to 
     get a list of all instances in the &apos;ec2-webservers&apos; group
     and then use ansible&apos;s ping module on all of them:
&lt;pre&gt;
&lt;a name=&quot;ec2-ping&quot;&gt;&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-basic.yml

PLAY [security_group_ec2-webservers] ********************* 

GATHERING FACTS ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-50-16-129-62.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-235-232-227.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-23-20-42-71.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-23-20-87-176.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-242-254-237.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-234-59-5.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [ping] ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-235-232-227.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-50-16-129-62.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-23-20-87-176.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-23-20-42-71.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-234-59-5.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-242-254-237.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;green&quot;&gt;ec2-23-20-42-71.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;2&lt;/font&gt;    changed=0    unreachable=0    failed=0    
&lt;font color=&quot;green&quot;&gt;ec2-23-20-87-176.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;2&lt;/font&gt;    changed=0    unreachable=0    failed=0    
&lt;font color=&quot;green&quot;&gt;ec2-50-16-129-62.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;2&lt;/font&gt;    changed=0    unreachable=0    failed=0    
&lt;font color=&quot;green&quot;&gt;ec2-54-234-59-5.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;2&lt;/font&gt;    changed=0    unreachable=0    failed=0    
&lt;font color=&quot;green&quot;&gt;ec2-54-235-232-227.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;2&lt;/font&gt;    changed=0    unreachable=0    failed=0    
&lt;font color=&quot;green&quot;&gt;ec2-54-242-254-237.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;=&lt;/font&gt;&lt;font color=&quot;green&quot;&gt;2&lt;/font&gt;    changed=0    unreachable=0    failed=0    


&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;/pre&gt;

&lt;li&gt; Finally, clean up and use euca-terminate-instance to delete all instances:
&lt;pre&gt;
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances | grep INSTANCE | awk &apos;{print $2}&apos; | xargs -n 1 euca-terminate-instances&lt;/b&gt;
INSTANCE        i-60829f13
INSTANCE        i-2cb9a45f
INSTANCE        i-7cb5a80f
INSTANCE        i-42b5a831
INSTANCE        i-40b5a833
INSTANCE        i-46b5a835
INSTANCE        i-b2adb0c1
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; &lt;b&gt;euca-describe-instances&lt;/b&gt;
RESERVATION     r-bb3b6ac1      749335780469    ec2-webservers
INSTANCE        i-2cb9a45f      ami-a754dbce                    terminated      ec2HF  \
	0               t1.micro        2013-03-10T13:47:32.000Z        us-east-1a      \
	aki-825ea7eb                    monitoring-disabled                                     ebs                                                                     
RESERVATION     r-8b3c6df1      749335780469    ec2-webservers
INSTANCE        i-7cb5a80f      ami-a754dbce                    terminated      ec2HF  \
	0               t1.micro        2013-03-10T13:50:48.000Z        us-east-1a      \
	aki-825ea7eb                    monitoring-disabled                                     ebs                                                                     
RESERVATION     r-733f6e09      749335780469    ec2-webservers
INSTANCE        i-42b5a831      ami-a754dbce                    terminated      ec2HF  \
	0               t1.micro        2013-03-10T13:50:54.000Z        us-east-1a      \
	aki-825ea7eb                   monitoring-disabled                                     ebs                                                                     
RESERVATION     r-713f6e0b      749335780469    ec2-webservers
INSTANCE        i-40b5a833      ami-a754dbce                    terminated      ec2HF  \
	0               t1.micro        2013-03-10T13:50:54.000Z        us-east-1a      \
	aki-825ea7eb                    monitoring-disabled                                     ebs                                                                     
RESERVATION     r-773f6e0d      749335780469    ec2-webservers
INSTANCE        i-46b5a835      ami-a754dbce                    terminated      ec2HF  \
	0               t1.micro        2013-03-10T13:50:54.000Z        us-east-1a      \
	aki-825ea7eb                    monitoring-disabled                                     ebs                                                                     
RESERVATION     r-b72475cd      749335780469    ec2-webservers
INSTANCE        i-b2adb0c1      ami-a754dbce                    terminated      ec2HF  \
	0               t1.micro        2013-03-10T13:55:24.000Z        us-east-1d      \
	aki-825ea7eb                    monitoring-disabled                                     ebs                                                             
&lt;font color=&quot;red&quot;&gt;&lt;b&gt;%&lt;/b&gt;&lt;/font&gt; 
&lt;/pre&gt;

&lt;li&gt; The terminated instances will be removed by EC2 eventually, and you can start all over.
&lt;/ol&gt;

With the above steps and the previous work to use Ansible to setup
a NetBSD system with basic configuration as database- and webserver
the next step is to put those two things together, and get a
(single) NetBSD machine into the Amazon cloud that serves as
both database and webserver.
&lt;p&gt;

Let&apos;s stay tune for this to happen!
&lt;p&gt;

&lt;blink&gt;&lt;b&gt;Shameless plug:&lt;/b&gt;&lt;/blink&gt;
I&apos;ll talk about the ansible and euca2ools packages at
&lt;a href=&quot;http://pkgsrc.org/pkgsrcCon/2013/&quot;&gt;pkgsrcCon 2013 in Berlin&lt;/a&gt;.
Join in if you&apos;re curious about
what the actual playbooks used in the above examples look like!
&lt;p&gt;

References:
&lt;a href=&quot;http://www.capsunlock.net/2012/10/using-ansible-for-ec2.html&quot;&gt;CapsUnlock blog post&lt;/a&gt;,
&lt;a href=&quot;http://wiki.centos.org/Cloud/Manage/Ansible&quot;&gt;CentOS Wiki&lt;/a&gt;.

    </description>
  </item>
  <item>
    <title>NPF documentation</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130314_1854.html</link>
    <pubDate>Thu, 14 Mar 2013 19:02:00 GMT</pubDate>
    <description>
      
Mindaugas Rasiukevicius has worked on 
NetBSD&apos;s new packet filter &quot;npf&quot; for quite some time now.
In order to make things easier for new users, he now has
also put up &lt;a href=&quot;http://www.netbsd.org/~rmind/npf/&quot;&gt;documentation&lt;/a&gt; for it.
&lt;p&gt;

The documentation covers
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_introduction&quot;&gt;an introduction with a brief note on NPF&apos;s design&lt;/a&gt;
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_configuration&quot;&gt;followed by elements of a NPF configuration file&lt;/a&gt;.
This is followed by instructions for 
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_dynamic_rules&quot;&gt;dynamic rules&lt;/a&gt;,
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_stateful_filtering&quot;&gt;stateful filtering&lt;/a&gt; and
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_network_address_translation&quot;&gt;network address translation (NAT)&lt;/a&gt;.
Further paragraphs describe 
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_extensions_api&quot;&gt;the extension API&lt;/a&gt;,
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_appendixes&quot;&gt;troubleshooting&lt;/a&gt; and
&lt;a href=&quot;http://www.netbsd.org/~rmind/npf/#_appendixes&quot;&gt;appendixes with more information&lt;/a&gt;.

    </description>
  </item>
  <item>
    <title>Talking to the cloud</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130310_0417.html</link>
    <pubDate>Sun, 10 Mar 2013 15:53:00 GMT</pubDate>
    <description>
      
After some more hacking, I have a basic understanding
of how to start Amazon NetBSD EC2 instances 
using Ansible, fix the instances so they can be used
as targets for further Ansible commands, and then
actually talking to my herd of happy instances.
&lt;p&gt;

Here&apos;s a teaser:
&lt;ol&gt;
&lt;li&gt; Start EC2 instances, put them into ec2-webservers group.
     Repeat the following command for more than one instance:

     &lt;pre&gt;
% &lt;b&gt;ansible -i hosts-HF localhost -m ec2 -a &apos;image=ami-a754dbce instance_type=t1.micro \
key_name=eucaHF group=ec2-webservers&apos;&lt;/b&gt;
&lt;/pre&gt;

&lt;li&gt; Prepare instances for Ansible (omitted - needs cleanup &amp; automation)
     &lt;p&gt;

&lt;li&gt; Use Ansible to ping all servers in the ec2-webservers group:
&lt;pre&gt;
% &lt;b&gt;env ANSIBLE_HOSTS=./ec2.py ansible-playbook config-ec2-basic.yml&lt;/b&gt;

PLAY [security_group_ec2-webservers] ********************* 

GATHERING FACTS ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-23-23-15-202.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-235-230-206.compute-1.amazonaws.com]&lt;/font&gt;

TASK: [ping] ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [ec2-23-23-15-202.compute-1.amazonaws.com]&lt;/font&gt;
&lt;font color=&quot;green&quot;&gt;ok: [ec2-54-235-230-206.compute-1.amazonaws.com]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;green&quot;&gt;ec2-23-23-15-202.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok=2&lt;/font&gt;    changed=0    unreachable=0    failed=0    
&lt;font color=&quot;green&quot;&gt;ec2-54-235-230-206.compute-1.amazonaws.com&lt;/font&gt; : &lt;font color=&quot;green&quot;&gt;ok=2&lt;/font&gt;    changed=0    unreachable=0    failed=0    &lt;/pre&gt;
&lt;/ol&gt;

    </description>
  </item>
  <item>
    <title>pkgsrcCon 2013 schedule</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130309_1704.html</link>
    <pubDate>Sat, 09 Mar 2013 17:16:00 GMT</pubDate>
    <description>
      
Julian Fagir has posted 
&lt;a href=&quot;http://pkgsrc.org/pkgsrcCon/2013/presentations.html&quot;&gt;pkgsrcCon 2013&apos;s schedule&lt;/a&gt;
to the pkgsrc-users list. The event is on March 23rd in Berlin Moabit.
Here are a bunch of reasons to get there:

&lt;ul&gt;
&lt;li&gt; pkgsrc release engineering
&lt;li&gt; pkgsrc on SmartOS
&lt;li&gt; Mancoosi tools for the analysis and quality assurance of FOSS distributions
&lt;li&gt; Go On NetBSD
&lt;li&gt; Rehabilitating pkglint
&lt;li&gt; DeforaOS and pkgsrc (presentation with workshop)
&lt;/ul&gt;

&lt;a href=&quot;http://pkgsrc.org/pkgsrcCon/2013/registration.html&quot;&gt;Register now!&lt;/a&gt;

    </description>
  </item>
  <item>
    <title>Ansible and NetBSD milestone 1 reached: playbooks for system config, web+db servers</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130228_1240.html</link>
    <pubDate>Thu, 28 Feb 2013 13:24:00 GMT</pubDate>
    <description>
      
In my quest to play with Ansible, I&apos;ve reached my first milestone:
I now have playbooks that take a basic NetBSD installation,
configure it into a usable base installation, and then add
a MySQL database, Apache and PHP to use it as webserver,
and then deploy a simple web application.
&lt;p&gt;

The playbooks are too emberassing to publish, but here
are the steps to get things going:
&lt;p&gt;

&lt;ol&gt;
&lt;li&gt; Setup NetBSD 6.0 with &quot;base&quot; and &quot;etc&quot; set, also add &quot;pkgin&quot; from menu
&lt;li&gt; Allow root logins via ssh (for a start, will be changed later)
&lt;li&gt; Install ansible-1.0nb1 binary package with all its depends
&lt;li&gt; From a management station, run: ansible-playbook -k -i hosts-HF config-netbsd-basic.yml
&lt;li&gt; Then, run: ansible-playbook    -i hosts-HF config-netbsd-dbserver.yml
&lt;li&gt; Last, run: ansible-playbook    -i hosts-HF config-netbsd-webserver.yml
&lt;/ol&gt;

After that, a simple &quot;phptest()&quot; page, phpmyadmin and 
my simple PHP-based web application can be run.
Administration of the system is via SSH and sudo, root
logins were disabled in the first ansible playbook.
&lt;p&gt;

Now to tweak the ansible playbooks to look less ugly,
use variables, and then separate database and webserver into
two separate machines - all in preparation to move them
into the Amazon EC2 cloud. Stay tuned!
&lt;p&gt;

For the record, here&apos;s a log of the three ansible playbooks above,
starting from my basic NetBSD installation that already has pkgin 
and ansible:

&lt;pre&gt;
&lt;a name=&quot;ansible-basic&quot; /&gt;% &lt;b&gt;ansible-playbook -k -i hosts-HF config-netbsd-basic.yml&lt;/b&gt;
SSH password: 

PLAY [netbsd] ********************* 

GATHERING FACTS ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [10.0.0.181]&lt;/font&gt;

TASK: [Install tcsh] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Add user feyrer] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Create ~feyrer/.ssh directory] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Enable ssh login with ssh-key] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Install sudo] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Enable PW-less sudo-access for everyone in group &apos;wheel&apos;] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Disable ssh logins as root] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

NOTIFIED: [restart sshd] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;10.0.0.181&lt;/font&gt;                     : &lt;font color=&quot;green&quot;&gt;ok=9&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed=8&lt;/font&gt;    unreachable=0    failed=0    


&lt;a name=&quot;ansible-dbserver&quot; /&gt;% &lt;b&gt;ansible-playbook    -i hosts-HF config-netbsd-dbserver.yml&lt;/b&gt;

PLAY [dbservers] ********************* 

GATHERING FACTS ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [10.0.0.181]&lt;/font&gt;

TASK: [Install mysql] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Install MySQL rc.d script] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Start MySQL service] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Install python-mysqldb (for mysql_user module)] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Setup DB] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Add db-user] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Copy over DB template] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Import DB data] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;10.0.0.181&lt;/font&gt;                     : &lt;font color=&quot;green&quot;&gt;ok=9&lt;/font&gt;    &lt;font color=&quot;yellow&quot;&gt;changed=8&lt;/font&gt;    unreachable=0    failed=0    


&lt;a name=&quot;ansible-webserver&quot; /&gt;%% &lt;b&gt;ansible-playbook    -i hosts-HF config-netbsd-webserver.yml&lt;/b&gt;

PLAY [webservers] ********************* 

GATHERING FACTS ********************* 
&lt;font color=&quot;green&quot;&gt;ok: [10.0.0.181]&lt;/font&gt;

TASK: [Installing ap24-php53 package and dependencies] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Install Apache rc.d script] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Enable and start Apache service] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Enable PHP in Apache config file] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;LoadModule.*mod_php5.so&apos;, &apos;l&apos;: &apos;LoadModule php5_module lib/httpd/mod_php5.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;AddHandler.*x-httpd-php&apos;, &apos;l&apos;: &apos;AddHandler application/x-httpd-php .php&apos;})&lt;/font&gt;

TASK: [Make Apache read index.php] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Add simple PHP test - see http://10.0.0.181/phptest.php] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Install phpmyadmin] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Enable phpmyadmin in Apache config] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Enable PHP modules in PHP config file] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*zlib.so&apos;, &apos;l&apos;: &apos;extension=zlib.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*zip.so&apos;, &apos;l&apos;: &apos;extension=zip.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*mysqli.so&apos;, &apos;l&apos;: &apos;extension=mysqli.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*mysql.so&apos;, &apos;l&apos;: &apos;extension=mysql.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*mcrypt.so&apos;, &apos;l&apos;: &apos;extension=mcrypt.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*mbstring.so&apos;, &apos;l&apos;: &apos;extension=mbstring.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*json.so&apos;, &apos;l&apos;: &apos;extension=json.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*gd.so&apos;, &apos;l&apos;: &apos;extension=gd.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*gettext.so&apos;, &apos;l&apos;: &apos;extension=gettext.so&apos;})&lt;/font&gt;
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181] =&gt; (item={&apos;re&apos;: &apos;^extension.*bz2.so&apos;, &apos;l&apos;: &apos;extension=bz2.so&apos;})&lt;/font&gt;

TASK: [Fix Apache access control] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Create directory for webapp] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Deploy example webapp] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

TASK: [Create webapp symlink for easy access] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

NOTIFIED: [restart apache] ********************* 
&lt;font color=&quot;yellow&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;

PLAY RECAP ********************* 
&lt;font color=&quot;yellow&quot;&gt;10.0.0.181&lt;/font&gt;                     : &lt;font color=&quot;green&quot;&gt;ok=15&lt;/font&gt;   &lt;font color=&quot;yellow&quot;&gt;changed=14&lt;/font&gt;   unreachable=0    failed=0    


&lt;a name=&quot;ansible-webapp&quot; /&gt;% &lt;b&gt;links -dump http://10.0.0.181/webapp/&lt;/b&gt;
   Showing table hf.names:

   +--------------------+
   | id | first  | last |
   |----+--------+------|
   | 1  | Donald | Duck |
   |----+--------+------|
   | 2  | Daisy  | Duck |
   +--------------------+

     ----------------------------------------------------------------------

   Enter new values:

   first:     _____________________ 
   last:      _____________________ 
   [ Submit ] 

% &lt;/pre&gt;

    </description>
  </item>
  <item>
    <title>ansible and euca2ools committed to pkgsrc</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130226_0132.html</link>
    <pubDate>Tue, 26 Feb 2013 01:33:00 GMT</pubDate>
    <description>
      
Finally. Find them in pkgsrc/sysutils/ansible
and pkgsrc/sysutils/euca2ools, and enjoy!

    </description>
  </item>
  <item>
    <title>Playing with ansible playbooks on NetBSD</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130216_0840.html</link>
    <pubDate>Sat, 16 Feb 2013 08:54:00 GMT</pubDate>
    <description>
      
&lt;pre&gt;
 ______________________ 
&amp;lt; TASK: [Install tcsh] &amp;gt;
 ---------------------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

&lt;font color=&quot;orange&quot;&gt;changed: [10.0.0.181]&lt;/font&gt;
&lt;/pre&gt;

    </description>
  </item>
  <item>
    <title>Managing Amazon/EC2 NetBSD instances with euca2ools</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130203_1833.html</link>
    <pubDate>Sun, 03 Feb 2013 18:47:00 GMT</pubDate>
    <description>
      
&lt;b&gt; What and Why &lt;/b&gt;&lt;p&gt;
Playing with
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html?-tags=ansible&quot;&gt;ansible&lt;/a&gt;,
its &quot;ec2&quot; module came to my attention: it is intended to manage virtual
machines in Amazon&apos;s EC2 cloud. The idea is that you describe a system
with the property &quot;needs to run  in Amazon&apos;s cloud&quot;, and ansible then
starts the machine if it isn&apos;t there already. In order to get to the point
where this can be played with, a working version of the
euca2ools package was required first.
&lt;p&gt;

Packaging was mostly a no-brainer, and a &lt;a href=&quot;http://www.feyrer.de/Misc/pkgsrc-sysutils-euca2ools-2.1.2.tgz&quot;&gt;package&lt;/a&gt; is currently under review and will end up in pkgsrc eventually.
The more interesting part was to verify if the pkg actually worked as expected.
This proved tricky for two reasons: 1) my overall lack of how to use the
Amazon AWS command line tools (ec2-ami-tools, ec2-api-tools), and 2) the
fact that euca2ools is mostly written for the Eucalyptus Cloud infrastructure,
which just happens to be compatible with Amazon AWS.
To give future parties something to google, here are the steps that to
fire up a NetBSD machine in the Amazon cloud.
&lt;p&gt;

&lt;b&gt; How - Prerequirements &lt;/b&gt;&lt;p&gt;

A login for Amazon Web Services (AWS) is required, of which the Elastic Cloud Computing (EC2)
Xen infrastructure is a part of. I won&apos;t go into details of this, please see
&lt;a href=&quot;http://wiki.netbsd.org/amazon_ec2/first_steps/&quot;&gt;the NetBSD wiki&lt;/a&gt; or my article
``NetBSD in der Cloud&apos;&apos; in the German FreeX 5/2012 magazine, pages 58-63, for details.
&lt;p&gt;

Before starting, a few environment variables have to be filled
with authentication information.
Log into the &lt;a href=&quot;http://console.aws.amazon.com/&quot;&gt;Amazon AWS Console&lt;/a&gt;,
click on your name in the upper right corner to get to the
&quot;Security Credentials&quot; page, and create an access key if not already present.
Get the acces key ID and the secret key, and put them into environment variables EC2_ACCESS_KEY
and EC2_SECRET_KEY:

&lt;pre&gt;
% &lt;b&gt;setenv EC2_ACCESS_KEY &quot;AKxxxxxxxxxxxxxxxxxx&quot;&lt;/b&gt;
% &lt;b&gt;setenv EC2_SECRET_KEY &quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;&lt;/b&gt;
&lt;/pre&gt;

Next create and download a X.509 certificate - make sure to get both
the file with the private key (pk-XXXX.pem) as well as the file
with the public key (cert-XXX.pem). Set the environment variables
EC2_CERT and EC2_PRIVATE_KEY to thos files, respectively:

&lt;pre&gt;
% &lt;b&gt;setenv EC2_CERT         .../cert-XXX.pem&lt;/b&gt;
% &lt;b&gt;setenv EC2_PRIVATE_KEY  .../pk-XXX.pem&lt;/b&gt;
&lt;/pre&gt;

Last, euca2ools want to know what cloud infrastructure to use for
virtual machines (EC2) and storage (S3). Coming from the
&lt;a href=&quot;http://www.eucalyptus.com/&quot;&gt;Eucalyptus project&lt;/a&gt;, the tools can talk to
cloud servers running Eucalyptus, OpenStack and Amazon AWS.
Communication is via HTTP, and the environment variables
EC2_URL and S3_URL have to be set accordingly:

&lt;pre&gt;
% &lt;b&gt;setenv EC2_URL          http://ec2.amazonaws.com&lt;/b&gt;
% &lt;b&gt;setenv S3_URL           http://s3.amazonaws.com&lt;/b&gt;
&lt;/pre&gt;

Last, make sure your system&apos;s time is somewhat in sync with reality,
else you will get funny error messages!
&lt;p&gt;

So much for the preparations, let&apos;s dive into euca2ools.
&lt;p&gt;

&lt;b&gt;List Regions and Availability Zones&lt;/b&gt;&lt;p&gt;
Amazon&apos;s service offers is spread across many data centers across
different regions of the world. The list of regions is available via
the &quot;euca-describe-regions&quot; command:

&lt;pre&gt;
% &lt;b&gt;euca-describe-regions&lt;/b&gt;
REGION  eu-west-1       ec2.eu-west-1.amazonaws.com
REGION  sa-east-1       ec2.sa-east-1.amazonaws.com
REGION  us-east-1       ec2.us-east-1.amazonaws.com
REGION  ap-northeast-1  ec2.ap-northeast-1.amazonaws.com
REGION  us-west-2       ec2.us-west-2.amazonaws.com
REGION  us-west-1       ec2.us-west-1.amazonaws.com
REGION  ap-southeast-1  ec2.ap-southeast-1.amazonaws.com
REGION  ap-southeast-2  ec2.ap-southeast-2.amazonaws.com
&lt;/pre&gt;


Inside one region, systems
are grouped together in &quot;availability zones&quot; - usually data centers
or separate security zones within (refer to the Amazon documentation
for details). To list the availability zones in one region, use
the &quot;euca-describe-availability-zones&quot; command:
&lt;p&gt;

 &lt;pre&gt;
% &lt;b&gt;euca-describe-availability-zones&lt;/b&gt;
AVAILABILITYZONE        us-east-1a      available
AVAILABILITYZONE        us-east-1b      available
AVAILABILITYZONE        us-east-1c      available
AVAILABILITYZONE        us-east-1d      available
&lt;/pre&gt;


To specify what region to talk to there are two ways. The first is to specify the
region name on any of the following commands with the &quot;--region&quot;
option (yuck):
&lt;p&gt;

  &lt;pre&gt;
% &lt;b&gt;euca-describe-availability-zones --region eu-west-1&lt;/b&gt;
AVAILABILITYZONE        eu-west-1a      available
AVAILABILITYZONE        eu-west-1b      available
AVAILABILITYZONE        eu-west-1c      available
&lt;/pre&gt;

The second one is to adjust your EC2_URL to point to your preferred
region directly:

&lt;pre&gt;
% &lt;b&gt;setenv EC2_URL http://ec2.eu-west-1.amazonaws.com&lt;/b&gt;
% &lt;b&gt;euca-describe-availability-zones --region eu-west-1&lt;/b&gt;
AVAILABILITYZONE        eu-west-1a      available
AVAILABILITYZONE        eu-west-1b      available
AVAILABILITYZONE        eu-west-1c      available
&lt;/pre&gt;


&lt;b&gt;Systems and Listing Available Machine Images&lt;/b&gt;&lt;p&gt;
Now that we have a basic overview of the cloud infrastructure
with its regions and availability zones, the next questions are
what hardware is available for running virtual machine instances on,
and what operating systems can be put on.
&lt;p&gt;

Amazon &lt;a href=&quot;http://aws.amazon.com/ec2/instance-types/&quot;&gt;lists
available hardware configurations&lt;/a&gt; on their &quot;instance types&quot; web
sites. Sizes range from Micro Instances with 613MB RAM, up to two CPU
cores and no local harddisk (t1.micro) to Extra Large (XL) Instances
with 15GB RAM, 8 CPU cores and 1.690 GB local harddisk. Many more
configurations are available for situations that require much memory,
much CPU, much IO, or do cluster computing with CPU and GPU.
&lt;p&gt;

As for the operating system and software to put on those virtual
machine instances, there is a VERY wide choice available. The
&quot;euca-describe-images --all&quot; command lists all available optione:

&lt;pre&gt;
% &lt;b&gt;euca-describe-images --all&lt;/b&gt;
...
IMAGE   ami-abd0d0df    101367081206/NetBSD-i386-6.0-20121015-1054 \
  101367081206    available       public          i386    machine \
  aki-64695810                    ebs
IMAGE   ami-7fc3c30b    101367081206/NetBSD-x86_64-6.0-20121014-1007 \
  101367081206    available       public          x86_64  machine \
  aki-62695816                    ebs
...&lt;/pre&gt;

In the output, the configuration is identified by the Amazon Machine
Identifier (AMI), e.g. &quot;ami-7fc3c30b&quot; for a NetBSD 6.0/amd64
instance. This image ID is required when defining what virtual machine
instance to start.
&lt;p&gt;

Note that the &quot;euca-describe-images&quot; command depends on the region
setting, so you will get (and need) different output depending on the
region that you intend your instances to run in.
&lt;p&gt;


&lt;b&gt;Setup SSH Access&lt;/b&gt;&lt;p&gt;
When starting a NetBSD AMI, access will be via SSH to the root
account. For that, a SSH key pair needs to be created with the
&quot;euca-add-keypair&quot; command. The command can write the private key to a
local file, be sure to protect it properly - it will be the only way
of access to the system! Other interesting commands when managing SSH
keys are &quot;euca-describe-keypairs&quot; and &quot;euca-delete-keypair&quot;:
&lt;P&gt;

&lt;pre&gt;
% &lt;b&gt;euca-describe-keypairs&lt;/b&gt;
% &lt;b&gt;euca-add-keypair -f key-eucaHF.pem eucaHF&lt;/b&gt;
KEYPAIR eucaHF  b8:e9:05:7e:3a:df:c7:8e:eb:6e:8d:72:ff:77:68:01:e2:03:7e:3e
% &lt;b&gt;euca-describe-keypairs&lt;/b&gt;
KEYPAIR eucaHF  b8:e9:05:7e:3a:df:c7:8e:eb:6e:8d:72:ff:77:68:01:e2:03:7e:3e
% &lt;b&gt;euca-delete-keypair eucaHF&lt;/b&gt;
KEYPAIR eucaHF
% &lt;b&gt;euca-describe-keypairs&lt;/b&gt;
%
&lt;/pre&gt;

Of course we want to keep a key for logging with it, so let&apos;s re-run
the important part:

&lt;pre&gt;
% &lt;b&gt;euca-add-keypair -f key-eucaHF.pem eucaHF&lt;/b&gt;
KEYPAIR eucaHF  9b:d4:15:09:bc:51:b1:76:5c:db:a3:93:52:f0:d8:08:87:a4:80:c7
% &lt;b&gt;cat key-eucaHF.pem&lt;/b&gt;
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAn8rCLhqLyfke+NqeOkqb6BUIbfwBFm/9ddG8ghVt9CUmyKUMRrKFSyaTRreO
...
wA5a3XZuEFw83HdGrhaRgom2ZJ1SEk2889FpAA+yrhveKhDJIe6Zc2rM+crqUWBfnvs=
-----END RSA PRIVATE KEY-----&lt;/pre&gt;


&lt;b&gt;Manage Virtual Machine Instances&lt;/b&gt;&lt;p&gt;
Now that everything is prepared, telling the cloud infrastructure
to find physical hardware, put our preferred operating system
on it, and start it is done with the &quot;euca-run-instance&quot; command:


&lt;pre&gt;
% &lt;b&gt;euca-run-instances -t t1.micro -k eucaHF ami-7fc3c30b&lt;/b&gt;
RESERVATION     r-2182506a      749335780469    default
INSTANCE        i-2ed60264      ami-7fc3c30b                    pending \
  eucaHF  0               t1.micro        2013-02-03T15:51:49.000Z        \
  us-east-1b      aki-62695816                    monitoring-disabled \
  ebs &lt;/pre&gt;

That&apos;s actually as complicate as it gets - one command that tells what
hardware to use (t1.micro - can be omitted, a useful default will be
chosen), what SSH key to use for the root account, and what machine
image (AMI) to use are all used here. In return, the command prints a
number of information from the freshly created instance. The one used
in the following commands is the &quot;instance id&quot;, &quot;i-2ed60264&quot; in this
example.
&lt;p&gt;

When the above command was started, this is a good time to go back to
the Amazon AWS console and have a look at your instances - you will
find the one listed above there now, too!
Instead of the web-based console, the &quot;euca-describe-instances&quot;
command can be used:
&lt;p&gt;

&lt;pre&gt;
% &lt;b&gt;euca-describe-instances&lt;/b&gt;
RESERVATION     r-2182506a      749335780469    default
INSTANCE        i-2ed60264      ami-7fc3c30b    ec2-54-228-22-143.compute.amazonaws.com       \
  ip-10-226-194-20.compute.internal     running eucaHF  0   \
  t1.micro        2013-02-03T15:51:49.000Z        us-east-1b \
  aki-62695816                    monitoring-disabled     \
  54.228.22.143   10.226.194.20                   ebs
&lt;/pre&gt;

Now this is all nice and dandy, but we have just created a NetBSD
machine in the Amazon cloud. Let&apos;s log in!!!1!
&lt;p&gt;

To do so, we need the private key file created with the
&quot;euca-add-keypair&quot; command, and the host name. The latter is available
in the list of instances - be sure to use the one within the
&quot;compute.anazonaws.com&quot; domain:

&lt;pre&gt;
% &lt;b&gt;ssh -i key-eucaHF.pem -l root ec2-54-228-22-143.compute.amazonaws.com&lt;/b&gt;
The authenticity of host &apos;ec2-54-228-22-143.compute.amazonaws.com (54.228.22.143)&apos;
can&apos;t be established.
ECDSA key fingerprint is f7:a9:f6:21:fc:d2:0e:46:03:41:f8:d5:c1:72:92:28.
Are you sure you want to continue connecting (yes/no)? &lt;b&gt;yes&lt;/b&gt;
Warning: Permanently added &apos;ec2-54-228-22-143.compute.amazonaws.com,54.228.22.143&apos; (ECDSA)
to the list of known hosts.
NetBSD 6.0 (XEN3_DOMU)
Welcome to NetBSD - Amazon EC2 image!

This system is running a snapshot of a stable branch of the NetBSD
operating system, adapted for running on the Amazon EC2 infrastructure.

The environment is very similar to one provided within a typical Xen domU
installation. It contains a small, autonomous environment (including a
compiler toolchain) that you can run to build your own system.

The file system is lightly populated so you have plenty of space to play with.
Should you need a src or pkgsrc tree, please use the &quot;bootstrap&quot; script found
under /usr to download them.  You can also use the script to set up
binary packages using &quot;pkgin&quot;:

                /usr/bootstrap.sh [src|pkgsrc|binpkg]

This AMI sends email to the maintainer on first boot, to help get
an idea of what is in use at any given time.

You are encouraged to test this image as thoroughly as possible.  Should you
encounter any problem, please report it back to the development team using the
send-pr(1) utility (requires a working MTA).  If yours is not properly set up,
use the web interface at: http://www.NetBSD.org/support/send-pr.html

Thank you for helping us test and improve NetBSD&apos;s quality!
Terminal type is vt220.
We recommend that you create a non-root account and use su(1) for root access.
ip-10-226-194-20# &lt;b&gt;uname -a&lt;/b&gt;
NetBSD ip-10-226-194-20.compute.internal 6.0 NetBSD 6.0 (XEN3_DOMU) amd64
ip-10-226-194-20# &lt;b&gt;exit&lt;/b&gt;
&lt;/pre&gt;

From here, you are on your own - it&apos;s a NetBSD machine, after all.
&lt;p&gt;

One word of warning at this point: Amazon AWS is not for free (as you
should be aware from the Preparations step). If you do not need
machines any more, be sure to remove them from the cluster, else this
may drive up your bill for nothing! You can use the
&quot;euca-terminate-instances&quot; command to do just that:

&lt;pre&gt;
% &lt;b&gt;euca-terminate-instances i-2ed60264&lt;/b&gt;
INSTANCE        i-2ed60264
&lt;/pre&gt;

When you look at the output of &quot;euca-describe-instances&quot; now, you will
see that the machine&apos;s state goes from &quot;running&quot; first to
&quot;shuting-down&quot; then to &quot;terminated&quot; - the cloud infrastructure will
eventually be cleaned up to not list the stale machines any more.
&lt;p&gt;


&lt;b&gt;What&apos;s next?&lt;/b&gt;&lt;p&gt;

As stated above, the whole goal of this exercise is to manage Amazon
EC2 images from ansible. Weekend&apos;s mostly over and we will see
where this journey is going. For the time being, I&apos;m happy to hear
about any comments of you using NetBSD on Amazon&apos;s EC2, and of
my &lt;a href=&quot;http://www.feyrer.de/Misc/pkgsrc-sysutils-euca2ools-2.1.2.tgz&quot;&gt;euca2ools package&lt;/a&gt;.
&lt;p&gt;


&lt;b&gt;Appendix: euca2ools Cheat Sheet&lt;/b&gt;&lt;p&gt;

&lt;pre&gt;
Environment variables:
  setenv EC2_ACCESS_KEY &quot;AKxxxxxxxxxxxxxxxxxx&quot;
  setenv EC2_SECRET_KEY &quot;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&quot;
  setenv EC2_CERT         .../cert-XXX.pem
  setenv EC2_PRIVATE_KEY  .../pk-XXX.pem
  setenv EC2_URL          http://ec2.amazonaws.com
  setenv S3_URL           http://s3.amazonaws.com

Regions &amp; availability zones:
  euca-describe-regions
  euca-describe-availability-zones
  euca-describe-availability-zones --region eu-west-1
Change default region:
  setenv EC2_URL		http://ec2.eu-west-1.amazonaws.com

AMIs:
  euca-describe-images --all

SSH Keypairs:
  euca-add-keypair		-f key-eucaHF.pem eucaHF
  euca-describe-keypairs	
  euca-delete-keypair		eucaHF

Instances:
  euca-run-instances -k eucaHF ami-7fc3c30b
  euca-describe-instances
  euca-describe-instances i-96a773dc
  ssh -i key-eucaHF.pem ec2-54-328-43-220.compute.amazonaws.com -l root
  euca-terminate-instances i-96a773dc
&lt;/pre&gt;

    </description>
  </item>
  <item>
    <title>Updating hubertf&apos;s NetBSD blog for the Social Web (AKA Facebook)</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130203_1107.html</link>
    <pubDate>Sun, 03 Feb 2013 11:13:00 GMT</pubDate>
    <description>
      
Postings on the front page of this blog as well as
individual articles had a &quot;Slashdot it&quot; link 
on the bottom for quite some time.
With noone noticing that this wasn&apos;t working for some
time, apparently.
To fix the situation, and bring this blog a bit closer
to the Social Web, I&apos;ve removed the Slashdot-link,
and added some Facebook buttons.
&lt;p&gt;

I&apos;m aware that this may cause some distress, and 
I&apos;m curious to hear your opinion - mail me at the 
above address (or drop me a line on FB :-).
&lt;p&gt;

Also: FB is the only of those apps that I really use
these days - I do not currently have plans to add
any others. Again, if I&apos;m flooded with 
pleas, this can be changed. It may actually 
save me from logging e.g. into Google+ and Twitter
to share things there. What do you think?

    </description>
  </item>
  <item>
    <title>NetBSD Package Management with Ansible 1.0 and pkgin</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130202_1729.html</link>
    <pubDate>Sat, 02 Feb 2013 17:36:00 GMT</pubDate>
    <description>
      
With Murphy&apos;s law striking in full force, ansible 1.0 was released
only a few hours after I&apos;ve packaged version 0.9
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20130202_0149.html&quot;&gt;yesterday&lt;/a&gt;.
Anyways, I have updated the package to version 1.0, and made it
&lt;a href=&quot;http://www.feyrer.de/Misc/pkgsrc-sysutils-ansible-1.0.tgz&quot;&gt;available for review&lt;/a&gt;.
&lt;p&gt;

There are a bunch of new modules in version 1.0, and probably the most
exciting one is a &quot;pkgin&quot; module that allows adding and deleting
packages:

&lt;pre&gt;
vmnetbsd6% &lt;b&gt;pkg_info -e figlet&lt;/b&gt;
vmnetbsd6% &lt;b&gt;ansible -soi work/ansible/hosts.HF all -m pkgin -a &quot;name=figlet state=absent&quot;&lt;/b&gt;
127.0.0.1 | success &gt;&gt; {&quot;changed&quot;: false, &quot;msg&quot;: &quot;package(s) already absent&quot;}

vmnetbsd6% &lt;b&gt;pkg_info -e figlet&lt;/b&gt;
vmnetbsd6% &lt;b&gt;ansible -soi work/ansible/hosts.HF all -m pkgin -a &quot;name=figlet state=present&quot;&lt;/b&gt;
127.0.0.1 | success &gt;&gt; {&quot;changed&quot;: true, &quot;msg&quot;: &quot;present 1 package(s)&quot;}

vmnetbsd6% &lt;b&gt;pkg_info -e figlet&lt;/b&gt;
figlet-2.2.5
vmnetbsd6% &lt;b&gt;ansible -soi work/ansible/hosts.HF all -m pkgin -a &quot;name=figlet state=absent&quot;&lt;/b&gt;
127.0.0.1 | success &gt;&gt; {&quot;changed&quot;: true, &quot;msg&quot;: &quot;removed 1 package(s)&quot;}

vmnetbsd6% &lt;b&gt;pkg_info -e figlet&lt;/b&gt;
vmnetbsd6% 
&lt;/pre&gt;

    </description>
  </item>
  <item>
    <title>Managing NetBSD with Ansible, First Steps</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130202_0149.html</link>
    <pubDate>Sat, 02 Feb 2013 15:25:00 GMT</pubDate>
    <description>
      
&lt;b&gt;Background: Plan, Build, Run&lt;/b&gt;&lt;p&gt;

I&apos;ve mused a lot about the transition from 
system planning over system setup to system operation recently.
Different kinds of databases may be involved, that serve
different purposes: On the planning end, topics like 
version management, license management, life cycle management
and enterprise architecture management come into play.
When this transits into operation, other aspects like 
system and network configuration get more important, 
while others fade away.
&lt;p&gt;

At the end, someone or something has
to make adjustments to systems in order to get them 
into service, and keep them there.
This is either done with a lot of manual labor
to keep documentation (CMDB, or whatever serves) 
and the systems in sync, or - more likely - documentation
will grow stale quickly and rot away.
&lt;p&gt;

With a growing set of hosts, the latter is not an option,
and transparency becomes increasingly important.
This is where system &quot;orchestration&quot; tools like cfengine,
puppet, chef and ansible come into play. 
You write a system definition there, and the machine is
configured according to this definition automatically:
Configuration files can be adjusted, accounts created,
software packages installed, services enabled, etc.
&lt;p&gt;

&lt;b&gt;System Orchestration Alternatives&lt;/b&gt;&lt;p&gt;

Looking at the state of affairs, many people seem to be
fond of Puppet these days. This comes with a pretty long list
of dependencies (and thus complexity to maintain), and 
configuration files have to be written in Ruby (which I don&apos;t know). 
So I chose &lt;a href=&quot;http://ansible.cc&quot;&gt;Ansible&lt;/a&gt; as alternative to investigate - it comes with very little overhead
(no separate daemon on neither the central machine nor any
of the configured systems, just using SSH) and its own
&quot;Playbook&quot; language seems easy enough to start with, yet 
complete enough to be used in large environments (as the 
list of customers listed on the homepage shows).
&lt;p&gt;

&lt;b&gt;Packaging Ansible, First Try&lt;/b&gt;&lt;p&gt;

My first try to get going with Ansible on NetBSD was to use
the version 0.9 archive available, instead of using a GIT checkout.
The included (GNU) Makefile
tries to determine the version from the git checkout.
Which the archive is not. Using information not available in the archive either. 
Checking if the source code was checked out from GIT by looking 
if there&apos;s a git binary available is not the best idea here,
and so I dropped the ball, cursing the fact that not all
the world is Linux. Sort of.
&lt;p&gt;

Looking briefly at a fresh git checkout that this worked there,
but as NetBSD&apos;s pkgsrc doesn&apos;t support git checkouts (yet, as far
as I know?), I moved back to the 0.9 archive.
&lt;p&gt;

&lt;b&gt;Packaging Ansible, Second Try&lt;/b&gt;&lt;p&gt;

Leaving out the git-based version games, the next fun was
to get the Python setup script to install the files in the right
place. Having missed much pkgsrc development recently, and not being into
Python either way, this proved unneccessary - Joerg Sonnenberg
pointed me at existing pkgsrc infrastructure for Python
programs, and with them the program was packaged successfully
in no time.

For now, the package is available 
&lt;a href=&quot;http://www.feyrer.de/Misc/pkgsrc-sysutils-ansible-0.9.tgz&quot;&gt;on my website&lt;/a&gt;,
I&apos;ll look into review and import into pkgsrc next.
&lt;p&gt;

&lt;b&gt;Ansible on NetBSD - What Works, And What Needs More Work&lt;/b&gt;&lt;p&gt;

Modules tested successfully on NetBSD 6:
&lt;ul&gt;
 &lt;li&gt; ping
 &lt;li&gt; command
 &lt;li&gt; copy
 &lt;li&gt; facter
 &lt;li&gt; group add/delete     
 &lt;li&gt; mysql_db add/delete
 &lt;li&gt; user add/delete (without system=true)
&lt;/ul&gt;

Modules tested unsuccessfully on NetBSD 6:
&lt;ul&gt;
&lt;li&gt; user add/delete (with system=true)
&lt;li&gt; service (needs work)
&lt;/ul&gt;

The git version (and the upcoming 1.0 release) also include
a &quot;pkgin&quot; module that can be used to manage packages.
Unfortunately the git-version of the module cannot easily be used
with the 0.9 version, so this has to wait.
&lt;p&gt;

&lt;b&gt;Examples: Ansible On NetBSD&lt;/b&gt;&lt;p&gt;

Here&apos;s an example session with basic operation:

&lt;pre&gt;
% &lt;b&gt;cat work/ansible/hosts.HF&lt;/b&gt;
#127.0.0.1 ansible_python_interpreter=/usr/pkg/bin/python2.7
127.0.0.1
    
% &lt;b&gt;ansible -i work/ansible/hosts.HF -s all -m ping&lt;/b&gt;
  127.0.0.1 | success &gt;&gt; {  
    &quot;changed&quot;: false,
    &quot;ping&quot;: &quot;pong&quot;
  }
&lt;/pre&gt;

Here&apos;s an example showing creation and deletion of a user account:

&lt;pre&gt;
% &lt;b&gt;finger testuser&lt;/b&gt;
finger: testuser: no such user

% &lt;b&gt;ansible -i work/ansible/hosts.HF -s all -m user -a &quot;name=testuser state=present&quot;&lt;/b&gt;
127.0.0.1 | success &gt;&gt; {
    &quot;changed&quot;: true, 
    &quot;comment&quot;: &quot;&quot;, 
    &quot;createhome&quot;: true, 
    &quot;group&quot;: 100, 
    &quot;home&quot;: &quot;/home/testuser&quot;, 
    &quot;name&quot;: &quot;testuser&quot;, 
    &quot;shell&quot;: &quot;/bin/sh&quot;, 
    &quot;state&quot;: &quot;present&quot;, 
    &quot;system&quot;: false, 
    &quot;uid&quot;: 1005
}

% &lt;b&gt;finger testuser&lt;/b&gt;
Login: testuser                         Name: 
Directory: /home/testuser               Shell: /bin/sh
Never logged in.
No Mail.
No Plan.

% &lt;b&gt;ansible -i work/ansible/hosts.HF -s all -m user -a &quot;name=testuser state=absent&quot;&lt;/b&gt;
127.0.0.1 | success &gt;&gt; {
    &quot;changed&quot;: true, 
    &quot;force&quot;: false, 
    &quot;name&quot;: &quot;testuser&quot;, 
    &quot;remove&quot;: false, 
    &quot;state&quot;: &quot;absent&quot;
}

&lt;/b&gt;% finger testuser&lt;/b&gt;
finger: testuser: no such user
&lt;/pre&gt;

So much for a quick start into Ansible. Do you use NetBSD in a large-scale
environment that went beyond manual systemconfiguration?
Write a blog entry or an email to the NetBSD lists,
and let us know!

    </description>
  </item>
  <item>
    <title>Presentation about NetBSD as base for an mobile environment: Touch you NetBSD</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130115_2202.html</link>
    <pubDate>Tue, 15 Jan 2013 22:15:00 GMT</pubDate>
    <description>
      
Pierre Pronchery has 
&lt;a href=&quot;http://mail-index.netbsd.org/netbsd-advocacy/2013/01/13/msg000512.html&quot;&gt;posted&lt;/a&gt;
to the netbsd-advocacy@ list about the
&lt;a href=&quot;http://people.defora.org/~khorben/papers/ehsm2012/Touch%20your%20NetBSD.pdf&quot;&gt;presentation &quot;Touch you NetBSD&quot;&lt;/a&gt;
that he gave at the EHSM conference
in December 2012 in Berlin.
&lt;p&gt;

The conference was about hardware hacking,
and the talk shows how to use NetBSD as base
for a handheld environment, including
hardware platforms as well as drivers for touchscreens,
GPS and GSM. 
&lt;p&gt;

An excellent ressource for people interested in 
NetBSD as base for a mobile platform!

    </description>
  </item>
  <item>
    <title>Update of NetBSD on the Raspberry Pi</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20130114_2033.html</link>
    <pubDate>Mon, 14 Jan 2013 20:48:00 GMT</pubDate>
    <description>
      
&lt;a href=&quot;http://movapic.com/ebijun/pic/4830068&quot;&gt;&lt;img src=&quot;http://image.movapic.com/pic/m_2013011417391650f3c4346854a.jpeg&quot; align=&quot;right&quot; width=&quot;150&quot;&gt;&lt;/a&gt;
Time has passed since
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20120714_0236.html&quot;&gt;the last status update&lt;/a&gt;
of NetBSD on the Raspberry Pi, and things
have evolved:
Recent news include drivers for 
&lt;a href=&quot;http://movapic.com/ebijun/pic/4830068&quot;&gt;USB with its many possible devices&lt;/a&gt; and display, allowing
&lt;a href=&quot;http://movapic.com/ebijun/pic/4830320&quot;&gt;X to be ran&lt;/a&gt; - check out
the screenshots provided by Jun Ebihara!
&lt;p&gt;

There is also
&lt;a href=&quot;http://mail-index.netbsd.org/port-arm/2013/01/14/msg001706.html&quot;&gt;this posting on the port-arm mailinglist&lt;/a&gt;
that gives details on
an updates kernel image, Xorg.conf file to get X going
and more news hidden in that thread.
Anyone up for compiling a comprehensive
NetBSD/RaspberryPi webpage, 
maybe on 
&lt;a href=&quot;http://wiki.NetBSD.org/&quot;&gt;the NetBSD Wiki&lt;/a&gt;?

    </description>
  </item>
  <item>
    <title>NetBSD End-of-2012 Fundraiser: 60.0000 USD by the end of 2012</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20121227_2031.html</link>
    <pubDate>Thu, 27 Dec 2012 20:34:00 GMT</pubDate>
    <description>
      
NetBSD is an volunteer-driven open source project 
with no funding company behind its back.
The project is governed by the NetBSD Foundation as legal
entity. 
Your donation to the NetBSD Foundation allows the project to make major improvements to the code base. With the release of NetBSD 6.0.1, the Fund Drive targets &lt;b&gt;raising 60,000 USD by the end of 2012&lt;/b&gt;. We would like to continue funded development in various areas, including:
&lt;p&gt;

&lt;ul&gt;
&lt;li&gt;    Improving network stack concurrency and performance.
&lt;li&gt;    Development of modern file systems and improvement of existing ones.
&lt;li&gt;    Features which are useful in embedded environments, such as high resolution timers and execute in place (XIP) support.
&lt;li&gt;    Automatic testing and quality assurance.
&lt;/ul&gt;

We have recently made some changes to the way we accept and honor your donations. For more information about donating, visit 
&lt;a href=&quot;http://www.NetBSD.org/donations/&quot;&gt;http://www.NetBSD.org/donations/&lt;/a&gt;.
The NetBSD Foundation is a 501(c)(3) organization in the US, and donations may be tax deductible.

    </description>
  </item>
  <item>
    <title>NetBSD 6.0.1 security/bugfix released</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20121227_2021.html</link>
    <pubDate>Thu, 27 Dec 2012 20:29:00 GMT</pubDate>
    <description>
      
The NetBSD Project is pleased to announce NetBSD 6.0.1, the first security/bugfix update of the NetBSD 6.0 release branch. It represents a selected subset of fixes deemed important for security or stability reasons.
&lt;p&gt;

To save you from searching, here is the list of relevant changes
&lt;a href=&quot;http://www.netbsd.org/releases/formal-6/NetBSD-6.0.1.html&quot;&gt;from the release notes&lt;/a&gt;:
&lt;p&gt;

&lt;div class=&quot;sect2&quot; title=&quot;Security Fixes&quot;&gt;
&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;
&lt;a name=&quot;security&quot;&gt;&lt;/a&gt;Security Fixes&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  
  &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;
      expat: Fix CVE-2012-1147, CVE-2012-1148 and CVE-2012-0876.
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      BIND: Address CVE-2012-5688: Named could die on specific queries
      with dns64 enabled.
    &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;

&lt;div class=&quot;sect2&quot; title=&quot;General kernel&quot;&gt;
&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;
&lt;a name=&quot;news-kernel&quot;&gt;&lt;/a&gt;General kernel&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
    
  &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;
      posix_spawn(): Fix processes with attributes.
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      Resolve races between vget() and vrele() resulting in vget()
      returning dead vnodes.
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      Prevent crash when unsupported fd&apos;s are used with kevent.
    &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;sect2&quot; title=&quot;Networking&quot;&gt;
&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;
&lt;a name=&quot;news-networking&quot;&gt;&lt;/a&gt;Networking&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
    
  &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;
      Fix &quot;atomic fragments&quot; for IPv6.
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      ipf: Fix alignment issues in ipmon.
      &lt;a class=&quot;ulink&quot; href=&quot;http://gnats.NetBSD.org/47101&quot; target=&quot;_top&quot;&gt;(PR#47101)&lt;/a&gt;      
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      npf: handle delayed checksums in the network stack.
      &lt;a class=&quot;ulink&quot; href=&quot;http://gnats.NetBSD.org/47235&quot; target=&quot;_top&quot;&gt;(PR#47235)&lt;/a&gt;      
    &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;sect2&quot; title=&quot;File systems&quot;&gt;
&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;
&lt;a name=&quot;news-filesystems&quot;&gt;&lt;/a&gt;File systems&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  
  
  &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;&lt;li class=&quot;listitem&quot;&gt;
      smbfs: Make smbfs actually work on big-endian ports.
    &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;sect2&quot; title=&quot;Drivers&quot;&gt;
&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;
&lt;a name=&quot;news-driver&quot;&gt;&lt;/a&gt;Drivers&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  
  &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;&lt;li class=&quot;listitem&quot;&gt;
      &lt;a href=&quot;http://netbsd.gw.com/cgi-bin/man-cgi?ciss+4+NetBSD-6.0+i386&quot;&gt;ciss(4)&lt;/a&gt;: don&apos;t try to handle sensors if there aren&apos;t any.
    &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;sect2&quot; title=&quot;Platforms&quot;&gt;
&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;
&lt;a name=&quot;news-platforms&quot;&gt;&lt;/a&gt;Platforms&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
    
  &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;
      x86 (&lt;a class=&quot;ulink&quot; href=&quot;../../ports/i386/&quot; target=&quot;_top&quot;&gt;i386&lt;/a&gt;,
      &lt;a class=&quot;ulink&quot; href=&quot;../../ports/amd64/&quot; target=&quot;_top&quot;&gt;amd64&lt;/a&gt;):
      &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;circle&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;
	  Work around a possible gcc bug generating bad assembler code. 
	  &lt;a class=&quot;ulink&quot; href=&quot;http://gnats.NetBSD.org/45673&quot; target=&quot;_top&quot;&gt;(PR#45673)&lt;/a&gt;
        &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
	  Disable C1E on AMD K8 CPUs, to prevent freeze during boot.
        &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      &lt;a class=&quot;ulink&quot; href=&quot;../../ports/xen/&quot; target=&quot;_top&quot;&gt;xen&lt;/a&gt;:
      &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;circle&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;
	  Prevent a memory corruption issue that locks up a Xen DomU,
	  and can potentially cause file system corruption.
	  (&lt;a class=&quot;ulink&quot; href=&quot;http://gnats.NetBSD.org/47056&quot; target=&quot;_top&quot;&gt;PR#47056,&lt;/a&gt;
	  &lt;a class=&quot;ulink&quot; href=&quot;http://gnats.NetBSD.org/47057&quot; target=&quot;_top&quot;&gt; PR#47057&lt;/a&gt;)
        &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
	  Fix: Xen Dom0 NetBSD kernel could crash by adding duplicate
	  xenwatches.
        &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;sect2&quot; title=&quot;Userland fixes&quot;&gt;
&lt;div class=&quot;titlepage&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class=&quot;title&quot;&gt;
&lt;a name=&quot;news-userland&quot;&gt;&lt;/a&gt;Userland fixes&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
  
  
  &lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;
      Update to tzdata2012j.
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      cdb: don&apos;t refuse to open databases without entries or keys.
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;
      Address graphics corruption in recent Cairo, manifested most
      commonly by certain rendered text sections appearing as solid
      rectangular blocks of color.
    &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;

The complete list of changes can be found in the
  &lt;a class=&quot;ulink&quot; href=&quot;http://ftp.NetBSD.org/pub/NetBSD/NetBSD-6.0.1/CHANGES-6.0.1&quot; target=&quot;_top&quot;&gt;CHANGES-6.0.1&lt;/a&gt;
    file in the top level directory of the NetBSD 6.0.1 release tree.
&lt;p&gt;

Complete source and binaries for NetBSD 6.0.1 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, SUP, and other services may be found at 
&lt;a href=&quot;http://www.NetBSD.org/mirrors/&quot;&gt;http://www.NetBSD.org/mirrors/&lt;/a&gt;.
&lt;p&gt;

P.S.: Don&apos;t miss out on the 
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20121227_2031.html&quot;&gt;end of NetBSD 2012 fundraise&lt;/a&gt;!

    </description>
  </item>
  <item>
    <title>Blog news: software updated</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20121227_2020.html</link>
    <pubDate>Thu, 27 Dec 2012 20:21:00 GMT</pubDate>
    <description>
      
Just FYI, I&apos;ve upgraded the blog software to
blosxom 2.1.2. No bits were harmed in the upgrade
process, if you find anything that doesn&apos;t work as
expected please let me know!
&lt;p&gt;

P.S.: Any volunteers to put blosxom into pkgsrc?

    </description>
  </item>
  <item>
    <title>Introducing NPF in NetBSD 6.0</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20121017_2254.html</link>
    <pubDate>Wed, 17 Oct 2012 22:58:00 GMT</pubDate>
    <description>
      
NetBSD&apos;s development version had npf as another packet filter
available for quite some time. With the release of NetBSD
6.0, this is now available more widely, and 
npf author Mindaugas Rasiukevicius has 
&lt;a href=&quot;http://mail-index.netbsd.org/netbsd-announce/2012/10/17/msg000161.html&quot;&gt;pointed out&lt;/a&gt;
that there are two PDFs available that explain more
about NPF:
&lt;p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;a href=&quot;http://www.netbsd.org/~rmind/pub/npf_presentation_netbsd_6.pdf&quot;&gt;a presentation&lt;/a&gt;
&lt;li&gt; &lt;a href=&quot;http://www.netbsd.org/~rmind/pub/npf_manual_netbsd_6.pdf&quot;&gt;an article&lt;/a&gt;
&lt;/ol&gt;

    </description>
  </item>
  <item>
    <title>NetBSD 6.0 Fund Drive</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20121017_2250.html</link>
    <pubDate>Wed, 17 Oct 2012 22:52:00 GMT</pubDate>
    <description>
      
Hidden in the
&lt;a href=&quot;http://www.netbsd.org/releases/formal-6/NetBSD-6.0.html&quot;&gt;NetBSD 6.0 release notes&lt;/a&gt;
is a call for funds:

``&lt;i&gt;Your donation to the NetBSD Foundation allows the project to make major
  improvements to the code base.  With the release of NetBSD 6.0,
  the 6.0 Fund Drive targets raising 60,000 USD by the end of
  2012.  We would like to continue funded development in various
  areas, including:
  &lt;/p&gt;&lt;div class=&quot;itemizedlist&quot;&gt;&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;listitem&quot;&gt;Improving network stack concurrency and performance.&lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;Development of modern file systems and improvement of
    existing ones.&lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;Features which are useful in embedded environments,
    such as high resolution timers and execute in place (XIP) support.
    &lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;Automatic testing and quality assurance.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  We have recently made some changes to the way we accept and honor
  your donations.  For more information about donating, visit
  &lt;a class=&quot;ulink&quot; href=&quot;http://www.NetBSD.org/donations/&quot; target=&quot;_top&quot;&gt;http://www.NetBSD.org/donations/&lt;/a&gt;.  The NetBSD Foundation
  is a 501(c)(3) organization in the US, and donations may be tax deductible. &lt;/i&gt;&apos;&apos;
&lt;p&gt;
Very well seconded!

    </description>
  </item>
  <item>
    <title>NetBSD 6.0 is here</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20121017_2242.html</link>
    <pubDate>Wed, 17 Oct 2012 22:46:00 GMT</pubDate>
    <description>
      
Quoting shamelessly from the
&lt;a href=&quot;http://mail-index.netbsd.org/netbsd-announce/2012/10/17/msg000160.html&quot;&gt;release announcement&lt;/a&gt;:

&lt;pre&gt;
The NetBSD Project is pleased to announce NetBSD 6.0, the fourteenth
major release of the NetBSD operating system. Changes from the
previous release include scalability improvements on multi-core
systems, many new and updated device drivers, Xen and MIPS port
improvements, and brand new features such as a new packet filter.

Some NetBSD 6.0 highlights are: support for thread-local storage
(TLS), Logical Volume Manager (LVM) functionality, rewritten disk
quota subsystem, new subsystems to handle flash devices and NAND
controllers, an experimental CHFS file system designed for flash
devices, support for Multiprotocol Label Switching (MPLS) protocol,
and more. This release also introduces NPF - a new packet filter,
designed with multi-core systems in mind, which can do TCP/IP traffic
filtering, stateful inspection, and network address translation (NAT).

In addition to many other features, NetBSD 6.0 includes significant
developments in various ports. Some highlights:

o SMP support for Xen domU kernels, initial suspend/resume support for
  Xen domU, PCI pass-through support for Xen3, and addition of the
  balloon driver.

o Major rework of MIPS port adding support for SMP and 64-bit (O32,
  N32, N64 ABIs are supported) processors, DSP v2 ASE extension, various
  NetLogic/RMI processor models, Loongson family processors, and new SoC
  boards.

o Improved SMP on PowerPC port and added support for Book E Freescale
  MPC85xx (e500 core) processors.

o ARM has gained support for Cortex-A8 processors, various new SoCs,
  and initial support for Raspberry Pi. Full support for Raspberry Pi
  and major ARM improvements to come in a future NetBSD release.

o time_t is now a 64-bit quantity on all NetBSD ports. This means that
  the NetBSD world no longer ends in 2037.

Please read the release notes for a full list of changes in NetBSD 6.0:

&lt;a href=&quot;http://www.NetBSD.org/releases/formal-6/NetBSD-6.0.html&quot;&gt;http://www.NetBSD.org/releases/formal-6/NetBSD-6.0.html&lt;/a&gt;

The generous donations of companies and individuals to the NetBSD
Foundation in previous years has enabled TNF to sponsor some exciting
developments in NetBSD 6.0, including the Xen DOMU multiprocessor
support. See our donations page for information about how you or your
company can donate to help sponsor future projects!  Complete source
and binaries for NetBSD 6.0 are available for download at many sites
around the world. A list of download sites providing FTP, AnonCVS,
SUP, and other services may be found at:

&lt;a href=&quot;http://www.NetBSD.org/mirrors/&quot;&gt;http://www.NetBSD.org/mirrors/&lt;/a&gt;

We encourage users who wish to install via ISO or USB disk images to
download via BitTorrent by using the torrent files supplied in the
images area. A list of hashes for the NetBSD 6.0 distribution has been
signed with the well-connected PGP key for the NetBSD Security
Officer:

ftp://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-6.0_hashes.asc

NetBSD is free. All of the code is under non-restrictive licenses, and
may be used without paying royalties to anyone. Free support services
are available via our mailing lists and website. Commercial support is
available from a variety of sources. More extensive information on
NetBSD is available from our website:

&lt;a href=&quot;http://www.NetBSD.org/&quot;&gt;http://www.NetBSD.org/&lt;/a&gt;

Dedication 
----------

NetBSD 6.0 is dedicated to the memory of Allen Briggs, who
passed away in March of 2012.

Allen&apos;s technical contributions to NetBSD were significant, and
many. He was a NetBSD developer from the very beginning of the
project, and was the main driving force behind the initial import of
some of our hardware ports. He also served on NetBSD&apos;s core team from
2003 until 2006. More than that, however, he was a mentor to many on
the project, and always willing to help when he could. Even for those
he didn&apos;t mentor, his civilized example was often a guiding
influence. He worked with many of us on the project, and in a field
where prickly personalities are common, he was always pleasant and
kind regardless of your status or technical expertise. He will be
sorely missed.

Acknowledgments
--------------- 

The NetBSD Foundation would like to thank all those who have
contributed code, hardware, documentation, funds, colocation for our
servers, web pages and other documentation, release engineering, and
other resources over the years. More information on the people who
make NetBSD happen is available at:

&lt;a href=&quot;http://www.NetBSD.org/people/&quot;&gt;http://www.NetBSD.org/people/&lt;/a&gt;

We would like to especially thank the University of California at
Berkeley and the GNU Project for particularly large subsets of code
that we use. We would also like to thank the Internet Systems
Consortium Inc., the Network Security Lab at Columbia University&apos;s
Computer Science Department, and Ludd (Lulea Academic Computer
Society) computer society at Lulea University of Technology for
current colocation services.
&lt;/pre&gt;

    </description>
  </item>
  <item>
    <title>MaheshaNetBSD Live USB</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120925_2214.html</link>
    <pubDate>Tue, 25 Sep 2012 22:28:00 GMT</pubDate>
    <description>
      
&lt;img src=&quot;http://www.freebsd.nfo.sk/freebsd-menu.jpg&quot; align=&quot;right&quot; /&gt;
I haven&apos;t seen too much progress on the NetBSD-Live-CD
front recently, but who uses CDs these days, anyways?
Right, a Live USB-stick image is much cooler, and
&lt;a href=&quot;http://www.freebsd.nfo.sk/maheshaeng.htm#netbsd&quot;&gt;MaheshaNetBSD Live USB&lt;/a&gt;
is just that!
&lt;p&gt;

Juraj Sipos started his project originally on FreeBSD 
(and still continues that), but there&apos;s a 
variant based on NetBSD 5.1.2 now, too.  
The system comes up read-write, so you can make
changes to it - as Juraj writes on the webpage:
``&lt;i&gt;With this USB image I can now use NetBSD the same way as if it was installed on a hard drive.&lt;/i&gt;&apos;&apos;
&lt;p&gt;

Oh, and for those impatient to
&lt;a href=&quot;ftp://2227.x.rootbsd.net/maheshanetbsd-final.rar&quot;&gt;try&lt;/a&gt;, the root password is &quot;netbsd5&quot;.

    </description>
  </item>
  <item>
    <title>Announcing g4u v2.5</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120716_2229.html</link>
    <pubDate>Mon, 16 Jul 2012 22:30:00 GMT</pubDate>
    <description>
      
After an extended time for beta testing, I&apos;m pushing out g4u V2.5 now, with
no functional changes between 2.5beta1 and the final release. Of course full
release testing was done on the final release. G4u 2.5 is mainly a
maintenance release that brings in commands to upload and restore partition
tables with the MBR, has driver updates from NetBSD, and some minor
enhancements like (finally!) enabling command line history.

See the
&lt;a href=&quot;http://www.feyrer.de/g4u/&quot;&gt;g4u homepage&lt;/a&gt;
for more details.

    </description>
  </item>
  <item>
    <title>NetBSD on the Raspberry Pi</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120714_0236.html</link>
    <pubDate>Sat, 14 Jul 2012 02:42:00 GMT</pubDate>
    <description>
      
The
&lt;a href=&quot;http://www.raspberrypi.org/&quot;&gt;Raspberry Pi&lt;/a&gt;
is a pretty recent, cheap ARM-based board, or as the 
&lt;a href=&quot;http://www.raspberrypi.org/&quot;&gt;webpage&lt;/a&gt;
says: ``An ARM GNU/Linux box for $25&apos;&apos;.
Shipping with today&apos;s Windows-for-embedde-boards
operating system (AKA Linux), there&apos;s also a port of
NetBSD on its way.
Nick Hudson is at it, and he has posted first
&lt;a href=&quot;http://mail-index.netbsd.org/port-arm/2012/07/13/msg001367.html&quot;&gt;dmesg output&lt;/a&gt;
now, showing the machine going to multiuser mode. 
&lt;p&gt;

The code&apos;s not integrated into mainline NetBSD-current yet,
but rest assured that that will happen when the code is ripe.
Good work, Nick!

    </description>
  </item>
  <item>
    <title>SMP-ready USB stack on its way for NetBSD - testers welcome!</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120603_0105.html</link>
    <pubDate>Sun, 03 Jun 2012 01:15:00 GMT</pubDate>
    <description>
      
Matt Green has picked up Jared McNeill&apos;s work on 
making the NetBSD USB stack SMP-ready. 
Besides the USB framework itself, this is also relevant 
for all the various drivers that can attach to USB - 
starting form audio drivers over SCSI to serial (ucom) drivers.
While the work is far from complete, it is in a shape where
users are welcome to start testing, and where developers
are also welcome to help in converting more drivers!
&lt;p&gt;

Please join in and help test the code, and send your
feedback to the lists. If no serious issues come up,
the code will be merged within a week.
&lt;p&gt;

See
&lt;a href=&quot;http://mail-index.netbsd.org/tech-kern/2012/06/02/msg013279.html&quot;&gt;Matt&apos;s posting to tech-kern&lt;/a&gt;
for more details, inclusing diffs and  links for
amd64 and i386 GENERIC (+usbmp) kernels.
&lt;p&gt;

Further information on the state of the code - what is and what is not
converted yet - can be found 
&lt;a href=&quot;http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/usb/Attic/TODO.usbmp?rev=1.1.2.14&amp;content-type=text/x-cvsweb-markup&amp;only_with_tag=jmcneill-usbmp&quot;&gt;in the TODO.usbmp file&lt;/a&gt;.

    </description>
  </item>
  <item>
    <title>More dmesg pr0n: NetBDS/Xen with 128 (virtual) CPUs</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120420_2031.html</link>
    <pubDate>Fri, 20 Apr 2012 21:47:00 GMT</pubDate>
    <description>
      
There was discussion about raising the number of
CPU(core)s supported by NetBSD the other day,
as the current limit of 32 isn&apos;t the sky any more
in 2012. In the process, Xen-hacker Manuel Bouyer
suggested using booting NetBSD ins a Xen DomU,
as you can assign up to 128 (virtual) cores to
a DomU. 
&lt;p&gt;

&lt;a href=&quot;http://mail-index.netbsd.org/port-xen/2012/04/20/msg007227.html&quot;&gt;Here&apos;s the dmesg output&lt;/a&gt;,
and I&apos;m sure this is a lot faster than
&lt;a href=&quot;http://www.feyrer.de/NetBSD/blog.html/nb_20051222_0659.html&quot;&gt;simulating 128 CPUs in qemu&lt;/a&gt;.
&lt;p&gt;

So, how to go beyone 128 CPUs for testing?
Anyone played with Qemu recently, or even have some decent
hardware at hand? If so, be sure to post dmesg output
(and CC: me)!

    </description>
  </item>
  <item>
    <title>tetris rewrite in sed(1)</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120420_0029.html</link>
    <pubDate>Fri, 20 Apr 2012 00:30:00 GMT</pubDate>
    <description>
      
&lt;a href=&quot;http://uuner.doslash.org/forfun/&quot;&gt;tetris rewrite in sed(1)&lt;/a&gt;,
includes a bash(:-()script to start. Very impressive!

    </description>
  </item>
  <item>
    <title>Playing with Amazon&apos;s EC2 and NetBSD - top(1) pr0n</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120414_2051.html</link>
    <pubDate>Sat, 14 Apr 2012 20:55:00 GMT</pubDate>
    <description>
      
I&apos;ve played with NetBSD on &lt;a href=&quot;http://aws.amazon.com/&quot;&gt;Amazon&apos;s EC2 service&lt;/a&gt; recently,
and here&apos;s a small teaser for ressources that one can get
with a few mouse clicks - operating system is NetBSD 6.0_BETA/amd64,
note number of CPU cores and RAM:
&lt;p&gt;

&lt;img src=&quot;../../images/ec2-big-in-japan.png&quot;&gt;

    </description>
  </item>
  <item>
    <title>NetBSD/xen available for Multi-Processor machines</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120307_2109.html</link>
    <pubDate>Wed, 07 Mar 2012 21:12:00 GMT</pubDate>
    <description>
      
Manuel Bouyer
&lt;a href=&quot;http://mail-index.netbsd.org/netbsd-announce/2012/03/06/msg000146.html&quot;&gt;announces&lt;/a&gt;
that &lt;a href=&quot;http://www.netbsd.org/ports/xen/&quot;&gt;NetBSD/xen&lt;/a&gt; is now available for Multi-Processor machines.
Citing from the release announcement:
&lt;p&gt;

``&lt;i&gt;The NetBSD Foundation is pleased to announce completion of
Multiprocessing Support for the port of its Open Source Operating
System to the Xen hypervisor.
&lt;p&gt;

The NetBSD Fundation started the Xen MP project 8 month ago; the goal
was to add SMP support to NetBSD/Xen domU kernels. This project has
officially completed, and after a few bug fixes in the pmap(9) code it
is now considered stable on both i386 and amd64. NetBSD 6.0 will ship
with option MULTIPROCESSOR enabled by default for Xen domU kernels.
&lt;p&gt;

The availability of Xen MP support in NetBSD allows to run the NetBSD
Open Source Operating Systems on a range of available infrastructure
providers&apos; systems. Amazon&apos;s Web Services with their Elastic Cloud
Computing is a prominent examples here.
&lt;p&gt;

Xen is a virtualization software that enables several independent
operating system instances (&quot;domains&quot;) to run concurrently on the same
computer hardware. The hardware is managed by the first domain (dom0),
and further guest/user domains (domU) are spawned and managed by dom0.
Operating systems available for running as dom0 and domU guests
include Microsoft Windows, Solaris and Linux besides NetBSD.
&lt;p&gt;

NetBSD is a free, fast, secure, and highly portable Unix-like Open
Source operating system. It is available for a wide range of
platforms, from large-scale servers and powerful desktop systems to
handheld and embedded devices. Its clean design and advanced features
make it excellent for use in both production and research
environments, and the source code is freely available under a
business-friendly license. NetBSD is developed and supported by a
large and vivid international community. Many applications are readily
available through pkgsrc, the NetBSD Packages Collection.
&lt;p&gt;

NetBSD has been available for the Xen hypervisor since Xen 1 and
NetBSD 2.0, released in 2004 , but until now only a single
processor was supported in each NetBSD/xen domain.&lt;/i&gt;&apos;&apos;

    </description>
  </item>
  <item>
    <title>Minix 3.2.0 released... with lots of NetBSD code added</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120229_2247.html</link>
    <pubDate>Wed, 29 Feb 2012 22:59:00 GMT</pubDate>
    <description>
      
&lt;a href=&quot;http://wiki.minix3.org/en/MinixReleases&quot;&gt;Version 3.2.0 of Minix&lt;/a&gt;,
the operating system started by Andrew Tanenbaum, 
has been released. 
Started quite some time after BSD and before Linux,
its userland grew somewhat outdated. To remedy this,
Minix&apos; userland was now updated to large extents
with components from NetBSD as result of 
&lt;a href=&quot;http://wiki.minix3.org/en/SummerOfCode2011/NetbsdUserland&quot;&gt;Minix&apos; 2011 Google Summer of Code project&lt;/a&gt;,
which was done by
student Vivek Prakash and
mentored by Gianluca Guida.
&lt;p&gt;

Components merged from NetBSD include:
&lt;ul&gt;
&lt;li&gt; NetBSD C library 
&lt;li&gt; NetBSD password file format 
&lt;li&gt; NetBSD bootloader 
&lt;li&gt; New NetBSD userland utilities: ext2 fsck&amp;amp;mkfs, gzip, m4, man&amp;amp;tools, mkdep, mkdir, mkfifo, mktemp, rm, rmdir, tic, uniq, libcurses, libcrypt, libprop, libterminfo, libutil, bzip2, date, indent, mdocml (mandoc), sed, zoneinfo ports 
&lt;/ul&gt;

See
&lt;a href=&quot;http://wiki.minix3.org/en/MinixReleases&quot;&gt;the Minix release notes&lt;/a&gt;
for more details,

    </description>
  </item>
  <item>
    <title>NetBSD on the FriendlyARM Mini2440</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120212_1535.html</link>
    <pubDate>Sun, 12 Feb 2012 15:48:00 GMT</pubDate>
    <description>
      
&lt;img src=&quot;http://www.friendlyarm.net/sites/products/mini2440_2s.jpg&quot; align=&quot;right&quot;&gt;
Paul Fleischer has &lt;a href=&quot;http://mail-index.netbsd.org/current-users/2012/02/12/msg019121.html&quot;&gt;ported NetBSD to the FrienldyARM Mini2440 board&lt;/a&gt;.
He &lt;a href=&quot;http://mail-index.netbsd.org/current-users/2012/02/12/msg019121.html&quot;&gt;writes on NetBSD&apos;s current-users mailing list&lt;/a&gt;:
``&lt;i&gt;&lt;a href=&quot;http://friendlyarm.net/products/mini2440&quot;&gt;The FriendlyARM
Mini2440&lt;/a&gt; is an evaluation board based on the
Samsung S3C2440 ARM SoC. It comes with a DM9000 Ethernet chip and an
UDA1341 audio DAC, on-board NAND and NOR flash, a SD-card slot, and
optionally a 3.5&quot; or 7&quot; touch display.&lt;/i&gt;&apos;&apos;
See 
&lt;a href=&quot;http://mail-index.netbsd.org/current-users/2012/02/12/msg019121.html&quot;&gt;the link&lt;/a&gt; for dmesg-pr0n.
&lt;p&gt;

Detailled setup instructions are available
&lt;a href=&quot;http://mail-index.netbsd.org/port-arm/2012/02/12/msg001302.html&quot;&gt;on the port-arm mailing list&lt;/a&gt; 
and  
&lt;a href=&quot;http://xpg.dk/nb-mini2440-ht/&quot;&gt;Paul&apos;s homepage&lt;/a&gt;.
Paul is also looking for feedback on the port, so if
you have a Mini2440 board, give it a spin and report back to Paul!

    </description>
  </item>
  <item>
    <title>Cobalt RestoreCD/RestoreUSB based on NetBSD 5.1.2</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120212_1528.html</link>
    <pubDate>Sun, 12 Feb 2012 15:33:00 GMT</pubDate>
    <description>
      
&lt;img src=&quot;http://die-schaefers.de/assets/images/qube2700.jpg&quot; align=&quot;right&quot;&gt;
Right after 
NetBSD 5.1.2 is out, Izumi Tsutsui
has &lt;a href=&quot;http://mail-index.netbsd.org/port-cobalt/2012/02/11/msg000524.html&quot;&gt;updated his NetBSD-based Restore CD/USB-image
for the Cobalt machines&lt;/a&gt;. 
&lt;p&gt;

The files are available at &lt;a href=&quot;http://ftp.netbsd.org/pub/NetBSD/arch/cobalt/restore-cd/5.1.2/&quot;&gt;http://ftp.netbsd.org/pub/NetBSD/arch/cobalt/restore-cd/5.1.2/&lt;/a&gt;. Citing from the announcement:
``&lt;i&gt;The only changes from 5.1.1 version are CHANGES file and 5.1.2 binaries,
so the following instructions are same as 5.1.1 ones:
&lt;p&gt;
 
 restorecd-5.1.2-20120205.iso.gz is a gzipped RestoreCD ISO9660 image
 as prior releases.
&lt;p&gt;
 
 restoreusb-5.1.2-20120205.img.gz is a new &quot;RestoreUSB&quot; image
 which has almost identical functions with RestoreCD but is
 intended to be burned into USB memory sticks for USB bootable PCs.
&lt;p&gt;
 
 You can write the image using gzip(1) + dd(1) on Unix like OSes,
 or you can also use &quot;Rawrite32&quot; utility on MS Windows:
 &lt;a href=&quot;http://www.NetBSD.org/~martin/rawrite32/index.html&quot;&gt;http://www.NetBSD.org/~martin/rawrite32/index.html&lt;/a&gt;
&lt;p&gt;
 
 To use the RestoreUSB for cobalt installation, write the image
 into &amp;gt;=512MB USB memory stick (or USB HDD etc.) and boot your PC
 from it, then all other procedures are same as RestoreCD.
 You no longer have to burn a coaster for every installation ;-)
&lt;p&gt;
 
 See also &quot;Restore CD Howto&quot; for actual installation procedures:
  &lt;a href=&quot;http://www.NetBSD.org/ports/cobalt/restorecd-howto.html&quot;&gt;http://www.NetBSD.org/ports/cobalt/restorecd-howto.html&lt;/a&gt;:
   (though RestoreUSB is not mentioned yet)
   and see files in .tar.gz archive for more details.&lt;/i&gt;&apos;&apos;

    </description>
  </item>
  <item>
    <title>NetBSD 5.1.2 released</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120211_1222.html</link>
    <pubDate>Sat, 11 Feb 2012 12:30:00 GMT</pubDate>
    <description>
      
Soren Jacobsen from NetBSD&apos;s release engineering team
&lt;a href=&quot;http://blog.netbsd.org/tnf/entry/netbsd_5_1_2_released&quot;&gt;announced on the NetBSD blog&lt;/a&gt;: 
``&lt;i&gt;On behalf of the NetBSD developers, I am pleased to announce that NetBSD 5.1.2 is now available for download. NetBSD 5.1.2 is the second critical/security update of the NetBSD 5.1 release branch. It represents a selected subset of fixes deemed critical for security or stability reasons. All users are encouraged to upgrade.

For full details, please see &lt;a href=&quot;http://www.netbsd.org/releases/formal-5/NetBSD-5.1.2.html&quot;&gt;the 5.1.2 release notes&lt;/a&gt;.

To download 5.1.2, see &lt;a href=&quot;http://www.netbsd.org/mirrors/&quot;&gt;http://www.NetBSD.org/mirrors/&lt;/a..

NetBSD 5.1.2 is dedicated to the memory of Yoshihiro Masuda, who passed away in May 2011. He was a spiritual pillar of the BSD community in Japan. Through an impressive number of books and articles on BSD, he gave courage to BSD developers. We remember his passion and deep love for BSD.&lt;/i&gt;&apos;&apos;
&lt;p&gt;

Among the &lt;a href=&quot;http://www.netbsd.org/releases/formal-5/NetBSD-5.1.2.html&quot;&gt;changes&lt;/a&gt; are:
&lt;ul&gt;
&lt;li&gt; Fixes from ten Security Advisories: openssl, bind, kernel memory exhaustion, IPCOMP, dhclient, LZW, openpan
&lt;li&gt; More security fixes for 3rd party Products: libtelnet, openssl, postfix, dhcpcd, xrdb, glob(3), openssh
&lt;li&gt; Improvements of logging in wapbl(4)
&lt;li&gt; Improved handling of ECN, NFS
&lt;li&gt; Various minor updates and bugfixes
&lt;/ul&gt;

Note that the NetBSD x.x.x releases only contain security
and critical bug fixes over the last full release (5.0).
The number is kept down to improve stability. 
More updates and changes are available on the NetBSD x.x 
releases and their related branches, e.g. netbsd-5.
(&lt;a href=&quot;http://www.netbsd.org/releases/release-map.html&quot;&gt;see also&lt;/a&gt;)

    </description>
  </item>
  <item>
    <title>FOSDEM talks/slides: pkgsrc on MirBSD, pkgin (Updated)</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120206_1307.html</link>
    <pubDate>Wed, 08 Feb 2012 00:03:00 GMT</pubDate>
    <description>
      
Last weekend the Free and Open Software Developer Meeting (FOSDEM)
happened. As in previous years, there was a booth manned by
people from various BSD-projects, and there were also
two(?) talks related to NetBSD and its related project pkgsrc:

&lt;ul&gt;&lt;li&gt; NetBSD and MirBSD developer Benny Siegert gave a talk titled
&quot;pkgsrc on MirBSD&quot; - 
&lt;a href=&quot;http://www.slideshare.net/bsiegert/pkgsrc-on-mirbsd&quot;&gt;see his slides&lt;/a&gt;!  &lt;a href=&quot;http://www.pkgsrc.org/&quot;&gt;pkgsrc&lt;/a&gt; is a framework for packaging and building 3rd party applications from source. Besides MirBSD, it runs on many
other platforms like Linux and Mac OS X.
&lt;li&gt; While building from source is fine, it costs a lot of time.
pkgsrc can also create binary packages, and to manage those,
there is &quot;pkgin&quot;, a binary package manager. 
Its developer, Emile &apos;iMil&apos; Heitor 
introduced it in a talk - 
&lt;a href=&quot;http://imil.net/NetBSD/pkgin-FOSDEM-2012.pdf&quot;&gt;see the slides (PDF)&lt;/a&gt;!
&lt;/ul&gt;

&lt;b&gt;Update:&lt;/b&gt;
Thomas &apos;wiz&apos; Klausner pointed out that there was
actually a whole &quot;BSD Devroom&quot;, and there were 
&lt;a href=&quot;http://fosdem.org/2012/schedule/track/bsd_devroom&quot;&gt;many BSD-talks&lt;/a&gt; there, including:

&lt;ul&gt;
&lt;li&gt; MINIX3 and BSD, by Arun Thomas
&lt;li&gt; The Lua Scripting Language in the NetBSD Kernel, by Marc Balmer
&lt;li&gt; Touch your NetBSD - towards tablet integration, by Pierre Pronchery
&lt;li&gt; pkgsrc on MirBSD, by Benny Siegert
	(&lt;a href=&quot;http://www.slideshare.net/bsiegert/pkgsrc-on-mirbsd&quot;&gt;slides&lt;/a&gt;)
&lt;li&gt; Introduction to pkgsrc, and to package creation in NetBSD, by Noud de Brouwer
&lt;li&gt; pkgin, a binary package manager for pkgsrc, also by Emile Heitor
	 (&lt;a href=&quot;http://imil.net/NetBSD/pkgin-FOSDEM-2012.pdf&quot;&gt;slides&lt;/a&gt;)
&lt;li&gt; Automated package building, by Nicolas Thauvin
&lt;/ul&gt;

Besides other talks that were less focused on NetBSD/pkgsrc,
this event shows that there&apos;s a pretty active group of
BSD advocates in Europe that manage to advocate &quot;BSD&quot;
in its entirety pretty well. Well done, guys!

    </description>
  </item>
  <item>
    <title>Automatic building of Amazon EC2 images from NetBSD</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120205_1810.html</link>
    <pubDate>Sun, 05 Feb 2012 18:17:00 GMT</pubDate>
    <description>
      

NetBSD/xen is available for some time now to work on
Amazon&apos;s Xen-based Elastic Cloud Computing (EC2) platform,
as previously announced in 
&lt;a href=&quot;http://blog.netbsd.org/tnf/entry/netbsd_now_runs_under_amazon&quot;&gt;the NetBSD blog&lt;/a&gt;, and
&lt;a href=&quot;http://wiki.netbsd.org/amazon_ec2/&quot;&gt;the NetBSD wiki&lt;/a&gt;
has instructions on how to subscribe to Amazon, launching and
rebuilding the &quot;AMI&quot; images.
&lt;p&gt;

This work is continued by Jean-Yves Migeon, who is working on
&lt;a href=&quot;http://mail-index.netbsd.org/port-xen/2012/02/05/msg007124.html&quot;&gt;build scripts for Amazon EC2&lt;/a&gt;, so 
the &quot;AMI&quot; images can be provided easily,
with the eventual goal  to
&lt;a href=&quot;http://mail-index.netbsd.org/port-xen/2012/02/05/msg007125.html&quot;&gt;include them into the NetBSD build process&lt;/a&gt; by Jeff Rizzo,
so EC2 images can be automatically generated easily,
e.g. by NetBSD&apos;s build cluster.

    </description>
  </item>
  <item>
    <title>Google Summer of Code 2012 will happen - first NetBSD directions</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120204_2319.html</link>
    <pubDate>Sat, 04 Feb 2012 23:40:00 GMT</pubDate>
    <description>
      
&lt;img src=&quot;http://2.bp.blogspot.com/-0Z4BTG1iJDs/TyG9uyApFrI/AAAAAAAAAhY/raFJlaZqdes/s320/GSOC+12+logo.png&quot; align=&quot;right&quot;&gt;
Google announced at Fosdem that
&lt;a href=&quot;http://google-opensource.blogspot.com/2012/02/google-summer-of-code-2012-is-on.html&quot;&gt;there will be Google Sommer of Code 2012&lt;/a&gt;,
the 8th time in a row.
Ot can be expected that NetBSD will strive to participate
again this year, and as such, now is a good time to

&lt;ul&gt;
&lt;li&gt; make up your mind if you want to participate, either as student or mentor
     &lt;p&gt;

&lt;li&gt; hash out details of project proposals and possible implementation details,
     and also see how much time you can devote as possible mentor.
     Also, think about choosing criteria for students and how
     to communicate with them on a daily basis and also in cases
     where problems arise (reallife on either side, student going AWOL, ...)
     &lt;p&gt;
     
&lt;li&gt; go over the &lt;a href=&quot;http://wiki.netbsd.org/projects/&quot;&gt;list of project proposals&lt;/a&gt;, 
     esp. &lt;a href=&quot;http://wiki.netbsd.org/projects/gsoc/&quot;&gt;the ones with the right dimension for GSoC&lt;/a&gt;, and suggest changes and additions of new projects
     &lt;p&gt;

&lt;li&gt; make yourself familiar with NetBSD from a
     &lt;a href=&quot;http://www.netbsd.org/docs/&quot;&gt;user/admin viewpoint&lt;/a&gt; and
     &lt;a href=&quot;http://www.netbsd.org/developers/&quot;&gt;esp. from a developer point&lt;/a&gt;
     if you intend to apply as student. 
     &lt;p&gt;

     A (slightly dated?) tour through the NetBSD source tree is available
     for 
     &lt;a href=&quot;http://www.feyrer.de//NetBSD/tour-de-source-1userland.html&quot;&gt;userland&lt;/a&gt;,
     &lt;a href=&quot;http://www.feyrer.de//NetBSD/tour-de-source-2libraries.html&quot;&gt;libraries&lt;/a&gt;, and
     &lt;a href=&quot;http://www.feyrer.de//NetBSD/tour-de-source-3kernel.html&quot;&gt;the kernel&lt;/a&gt;.
     Also of interest: a guide on &lt;a href=&quot;http://www.netbsd.org/docs/internals/en/&quot;&gt;NetBSD internals&lt;/a&gt;.
&lt;li&gt; review our &lt;a href=&quot;http://wiki.netbsd.org/projects/application/&quot;&gt;guidelines for applying for a project&lt;/a&gt; if you&apos;re an interested student. 
     We get many really bad, dull and uninformed project proposals
     each year, and we wish more students would be as serious as YOU probably
     are (as you&apos;re already here :-).
&lt;/ul&gt;

Let&apos;s look forward to NetBSD and the Goole Summer of Code 2012,
and the exciting new projects to come!

    </description>
  </item>
  <item>
    <title>NetBSD Hackathon - February 10th to 12th, 2012</title>
    <link>http://www.feyrer.de/NetBSD/blog.html/nb_20120203_2124.html</link>
    <pubDate>Fri, 03 Feb 2012 21:27:00 GMT</pubDate>
    <description>
      
Matthias &apos;tron&apos; Scheler 
&lt;a href=&quot;http://mail-index.netbsd.org/netbsd-announce/2012/02/03/msg000142.html&quot;&gt;announced per mail&lt;/a&gt;
&lt;a href=&quot;http://blog.netbsd.org/tnf/entry/announcing_netbsd_hackathon_february_10th&quot;&gt;and on the NetBSD blog&lt;/a&gt;
``&lt;i&gt;The 16th NetBSD hackathon will be run from February 10th to February
12th. Our goal is fixing all the bugs that need fixing to get
NetBSD-current ready for the creation of the NetBSD 6.0 release branch.
&lt;p&gt;

Everybody that has an interest in NetBSD, from developers, documentation
writers, translators, to advanced users are invited to attend. To make sure
that NetBSD users get the best possible experience of the new release we
would like to fix as many bugs as possible. For a list of bugs and more
information look at the Wiki Page under 
&amp;lt;&lt;a href=&quot;https://wiki.netbsd.org/hackathon/&quot;&gt;https://wiki.netbsd.org/hackathon/&lt;/a&gt;&amp;gt;
please.
&lt;p&gt;

If you are able to help us fixing these bugs by supplying patches or
testing fixes please consider to participate. We are also in need of
people to supply documentation fixes, preferably in the form of
patches. Release notes and/or manual pages!
&lt;p&gt;

Join us on the IRC channel #netbsd-code on freenode (irc.freenode.net).
Just join, have a look around and ask your questions or what work needs
to be done.
&lt;p&gt;

We are looking forward to seeing you!&lt;/i&gt;&apos;&apos;
&lt;p&gt;

Indeed! :-)

    </description>
  </item>
  </channel>
</rss>
