Planet OpenStack

January 27, 2012

Thierry Carrez

OpenStack developers meeting at FOSDEM

Next week, the European free and open source software developers will converge to Brussels for FOSDEM. We took this opportunity to apply for an OpenStack developers gathering in the Virtualization and Cloud devroom.

At 6pm on Saturday (last session of the day), in the Chavanne room, we will have a one-hour town hall meeting. If you’re an existing OpenStack contributor, a developer considering to join us, an upstream project developer, a downstream distribution packager, or just curious about OpenStack, you’re welcome to join us ! I’ll be there, Stefano Maffulli (our community manager) will be there, and several OpenStack core developers will be there.

We’ll openly discuss issues and solutions about integration with upstream projects, packaging, governance, development processes, community or release cycles. In particular, we’ll have a distribution panel where every OpenStack distribution will be able to explain how they support OpenStack and discuss what we can improve to make things better for them.

And at the end of the session we can informally continue the discussion around fine Belgian beers or their famous Carbonade !


by Thierry Carrez at January 27, 2012 03:54 PM

OpenStack Blog

OpenStack Jenkins dashboard available for testing Ubuntu snapshots

The keener eyed of you may have noticed:

https://jenkins.qa.ubuntu.com/view/Precise%20OpenStack%20Testing/

James Page has setup the jobs in the Ubuntu OpenStack QA Lab to start publishing to the public Jenkins QA instance this morning. We now have automated build testing of all core OpenStack components triggered from upstream trunk commits. This is followed by automated deployment (-deploy) of OpenStack in the lab with a serving of testing (-test) once its all up and running.

Credit to Adam Gandelman for the Juju charm work, deployment framework and test execution and to Chuck Short for the hugely misnamed tarball.sh script which completes the git/bzr/packaging fu to build and deploy OpenStack packages!

The plan is to get the upstream Tempest test suite running in the lab; at the moment we are running a more limited test script just to ensure that you can spin up and instance and see it on the network.

(Crossposted from cloud.ubuntu.com)

by canonical at January 27, 2012 01:50 PM

January 24, 2012

Grid Dynamics OpenStack Team

Billing plugin for Horizon

Now nova-billing has a Django-based web interface – horizon-billing (https://github.com/griddynamics/horizon-billing).

horizon-billing is packaged to a homonymous RPM (path for RHEL: http://yum.griddynamics.net/yum/diablo/, for CentOS: http://yum.griddynamics.net/yum/diablo-centos/).

To enable it in dashboard, install the horizon_billing package and turn it
on in /etc/openstack-dashboard/local/local_settings.py:

  • add ‘horizon_billing’ to INSTALLED_APPS tuple;
  • add ‘billing’ to ‘dashboards’ key in HORIZON_CONFIG.

After installation, a new “Billing” panel is added after “Project” and “Admin”.


by aababilov at January 24, 2012 11:38 AM

Grid Dynamics’ GitHub repos are renamed

In order to unify our repo names with openstack GitHub origanization, “osc-robot-” prefix is removed.

So, these repos are renamed:

  • osc-robot-keystone;
  • osc-robot-nova;
  • osc-robot-openstackx;
  • osc-robot-glance;
  • osc-robot-swift;
  • osc-robot-openstack-compute;
  • osc-robot-noVNC;
  • osc-robot-python-novaclient.

Also, we add python-keystoneclient repo (forked from openstack/python-keystoneclient) that contains patches for RedHat packaging.


by aababilov at January 24, 2012 11:27 AM

January 22, 2012

OpenStack Blog

OpenStack Melbourne Australia Meetup Jan 17

Openstack Melbourne Australia Meetup January 17 2012On Tuesday January 17 at the Exchange Hotel in Melbourne the inaugural Australian OpenStack Users Group meetup Part 2 took place. This followed up on the Sydney event last month and took the same format, being a casual informal get together for some drinks and conversation focused on OpenStack. We kicked off around 6pm and had an attendance of around 45 OzStackers. Many many thanks to everyone that came along!

Once again we had our attending vendors present a short overview of their company’s involvement in the project. The speakers were Mark Randall, Rackspace Country Manager for AU/NZ, Daniel PendleburyCitrix Lead Systems Engineer for Datacenter and Cloud, Gavin Coulthard, Manager – Field Systems Engineering A/NZ at F5, Peter Jung, Cloud Solutions Architect at Dell, and Andrew White, Data Centre Architect from Cisco. Following the vendors, an awesome contribution to the evening came from Dr Steven Manos, ITS Research Director from the University of Melbourne, who presented an overview of the NeCTAR project. Rounding out the talks again was Phil Rogers from Aptira.

Again as in Sydney, there was a great sense of community, lots of smiles and laughter and much conversation and enthusiasm to share information and experiences. As social events go, both this and the Sydney events have been very successful, the next round of meetups scheduled for early March will see us presenting a more structured meetup schedule with a focus on technical, with demos and the like.

Head to our Australian Meetup group to get involved, or join the AU Google group.

 

by Tristan Goode at January 22, 2012 11:39 AM

January 20, 2012

OpenStack Blog

Community Weekly Review (Jan 13 – 20)

OpenStack Community Newsletter –January 13, 2012

HIGHLIGHTS

EVENTS

OTHER NEWS

COMMUNITY STATISTICS

  • We’re taking a break from producing the graphs this week. We hope to be back next week showing more precise information from commits to the master branch of OpenStack projects.

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at January 20, 2012 10:41 PM

Grid Dynamics OpenStack Team

Using LVM as disk storage for OpenStack

We have added ability to use LVM volumes for instances disks in OpenStack Nova according to the blueprint.

You can specify which storage type you want to use in nova.conf:

–local_images_type={raw, qcow, lvm, legacy}

legacy value (used by default) was added for backward compatibility. In case of legacy storage type will be controlled by old value:

–use_cow_images={True, False}

If you use other values, use_cow_images flag will be ignored. With lvm type you should specify LVM group to use for VM storage with lvm_volume_group flag:

–lvm_volume_group=<existing volume group name>

From point of user there is no difference at all between LVM and other storage types. He can do all usual operations on instance: reboot, migrate, resize, snapshot. One difference is that we disable snapshotting of running instance and add force_snapshot option to snapshot_instance method of OpenStack API to override this behaviour.


by Boris Filippov at January 20, 2012 10:19 AM

January 19, 2012

Jay Pipes

The Science (or Art?) of Commit Messages

There are some things in the world of development that you appreciate much more when you do a lot of code reviews. One of those things is commit messages.

At first glance, commit messages seem to be a small, relatively innocuous thing for a developer. When you commit code, you type in some description about your code changes and then, typically, push your code somewhere for review by someone.

Regardless of whether the code you pushed is going to an open source project, an internal proprietary code repository, or just some code exchanged between friends working on a joint project, that simple little commit message tells the person reading your code a whole lot about you. It speaks volumes about the way you feel about the code you submit and the quality of the review you expect for your code.

As an example, suppose I was working on some code that fixed a bug. I got my code ready for initial review and I did the following:

$> git commit -a -m "Fixes some stuff"

And then I push my commit somewhere using git push

Inevitably, what happens is that another developer will get some email or notification that I have pushed code up to some repository. It is likely that this notification will look something like this:

Change subject: Fixes some stuff
......................................................................

Fixes some stuff

Change-Id: I79bbac32b5c99742b5cb283c6e55e6204bf92adc
---
M path/to/some/changed/file
1 file changed, 1 insertion(+), 1 deletion(-)

And in the notification will be some link to a place to go do a code review.

Now, what do you think is the first thought that goes through the reviewer’s mind? My guess would be: Really? Fixes what stuff? By not including any context about what the patch is attempting to solve, you leave the reviewer with a bad taste in their mouth. And a bad taste in the reviewer’s mouth generally means one thing: a reluctance to review your patch.

OK, so what could we do to make the commit message better, to provide the reviewer with more initial context about your patch? Well, the first thing that comes to mind is to reference a specific bug that you are fixing with this patch.

Alright, so we amend our commit message to include a bug identifier:

$> git commit --amend -m "Fixes Bug 123456"

And subsequently push our amended commit message. The reviewer now gets a new notification that you’ve amended a previous patch. Now the notification includes the bug identifier. What do you think the next thought a typical reviewer might have? My guess is this: What, does this developer think that I’ve memorized all the bug IDs for all open bugs? How should I know what Bug 123456 is about? And here comes that bad taste in the mouth again.

OK, so this time, we will forgo the use of the time-saving -m switch to git commit and actually type a proper, multi-line commit message in our editor of choice that describes the bug that our patch fixes, including a brief description of how we fixed the bug:

git commit --amend  # This will open up your editor...

Now we’d enter a good commit message … something like this would work:

Fixes Bug 123456 - ImportError raised improperly in Storage Driver

Due to a circular dependency, an ImportError was improperly
being thrown when the storage driver was set to XYZ. Rearranged
code to remove circular dependency.

The commit message now will give the reviewer everything they need in the notification to understand what the patch is for and how you solved a bug, without needing to go to their bug tracker to figure out what the bug was about.

A detailed commit message shows you care about the time that reviewers spend on your patch and that you value the code you are submitting.

by jaypipes at January 19, 2012 07:26 PM

OpenStack Blog

Recording of OpenStack Foundation mission and roadmap

For those that couldn’t participate to past week’s webinar, here is the recording of Mark Collier and Jonathan Bryce presenting the draft mission of OpenStack Foundation and its roadmap. (The audio starts around minute 2:50). A total of 86 people participated to the events, 51 on Thursday and 35 on Friday. Since the chat was not visible to every participant, we’re disclosing the complete logs of the chat for both events, unedited . All questions were addressed by Mark and Jonathan. We’re looking for a different tool to use for future webinars.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="320" id="player" width="480"><param name="allowFullScreen" value="true"/><param name="src" value="http://cc.readytalk.com/cc/download/rss/cyh5o1/embed.swf"/><param name="allowscriptaccess" value="sameDomain"/><param name="allowfullscreen" value="true"/><param name="wmode" value="transparent"/><embed allowfullscreen="true" allowscriptaccess="sameDomain" height="320" id="player" src="http://cc.readytalk.com/cc/download/rss/cyh5o1/embed.swf" type="application/x-shockwave-flash" width="480" wmode="transparent"></object>

by Stefano Maffulli at January 19, 2012 06:45 PM

Grid Dynamics OpenStack Team

Resource usage accounting system for OpenStack

`nova-billing` service is ready for community review. It is a service which accounts resource usage per project (tenant). This information can be used for charging client later.

Currently it collects information about instances and images and snapshost in glance.  Local disk usage (Gb*h), memory (Mb*h) and virtual CPU count (vcpus*h) are accounted for VM instances and disk space (Gb*h) is accounted for images in glance .

Next we are going to include other resources like network storages (volumes).

Links:

Information can be received from REST interface or you can use CLI command `nova2ools-billing` from `nova2ools` set (available from Yum repositories).


by Dmitry Maslennikov at January 19, 2012 11:09 AM

January 18, 2012

Matt Domsch

FUDCon Blacksburg videos

<style type="text/css"> #leftcontainerBox { float:left; position: fixed; top: 60%; left: 70px; } #leftcontainerBox .buttons { float:left; clear:both; margin:4px 4px 4px 4px; padding-bottom:2px; } #bottomcontainerBox { height: 30px; width:50%; padding-top:1px; } #bottomcontainerBox .buttons { float:left; height: 30px; margin:4px 4px 4px 4px; } </style>

I shot videos of several of the presentations at the Fedora User and Developer Conference yesterday.  For your viewing pleasure:

  • “State of Fedora” from the Fedora Project Leader, Jared Smith [ogg]
  • Mike McGrath, team lead for OpenShift, demoing OpenShift [ogg]
  • Jon Masters and Chris Tyler, on the ARM architecture in Fedora [ogg]. ARM is a secondary architecture today.  By Fedora 18, with your help, it needs to become a primary architecture.
  • David Nalley presented on CloudStack, which is aiming for Fedora 17 inclusion. [ogg]
  • Dan Prince and Russell Bryant giving an introduction to OpenStack [ogg]
  • Mo Morsi presenting the Aeolus cloud management project [ogg]

[Update 1/18/2012] I was able to upload all the videos to YouTube.  http://www.youtube.com/playlist?list=PL2BAA7FF83E6482C2
is a playlist with all 6.

by mdomsch at January 18, 2012 11:36 PM

Thierry Carrez

Making more solid OpenStack releases

As we pass the middle of the Essex development cycle, questions about the solidity of this release start to pop up. After all, the previous releases were far from stellar, and with more people betting their business on OpenStack we can’t really afford another half-baked release.

Common thinking (mostly coming from years of traditional software development experience) is that we shouldn’t release until it’s ready, or good enough, and calls early for pushing back the release dates. This assumes the issue is incidental: that we underestimated the time it would take our finite team of internal developers working on bugs to reach a sufficient level of quality.

OpenStack, being an open source project produced by a large community, works differently. We have a near-infinite supply of developers. The issue is, unfortunately, more structural than incidental. The lack of solidity for a release comes from:

  • Lack of focus on generic bugfixes. Developers should work on fixing bugs. Not just the ones they filed or the ones blocking them in their feature-adding frenzy. Fixing identified, targeted, known issues. The bugtracker is full of them, but they don’t get attention.
  • Not enough automated testing to efficiently catch regressions. Even if everyone was working on bug fixes, if half your fixes end up creating a set of regressions, then there is no end to it.
  • Lack of bug triaging resources. Only a few people work on confirming, triaging and prioritizing the flow of incoming bugs. So the bugs that need the most attention are lost in the noise.

For the Diablo cycle, we had less than a handful of people focused on generic bugfixing. The rest of our 150+ authors were busy working on something else. Pushing back the release for a week, a month or a year won’t help OpenStack solidity if the focus doesn’t switch. And if our focus switches, then there will be no need for a costly release delay.

Acting now to make Essex a success

During the Essex cycle, our Project Technical Leads have done their share of the work by using a very early milestone for their feature freeze. Keystone, Glance and Nova will freeze at Essex-3, giving us 10 weeks for bugfixing work (compared to the 4 weeks we had for Diablo). Now we need to take advantage of that long period and really switch our mindset away from feature development and towards generic bug fixing.

Next week we’ll hit feature freeze, so now is the time to switch.  If we could:

  • have some more developers working on increasing our integration and unit test coverage
  • have the rest of the developers really working on generic bug fixing
  • have very active core reviewers that get more anal-retentive as we get closer to release, to avoid introducing regressions that would not be caught by our automated tests

…then I bet that it will lead to a stronger release than any delaying of the release could give you. Note that we’ll also have a bug squashing day on February 2 that will hopefully help us getting on top of old, deprecated and easy fixes, and give us a clear set of targets for the rest of the cycle.

That’s on our ability to switch our focus that hinges the quality of future OpenStack releases. That’s on what we’ll be judged. The world awaits, and the time is now.


by Thierry Carrez at January 18, 2012 02:16 PM

January 16, 2012

OpenStack Blog

The First OpenStack Bug Squashing Day Is Coming On Feb 2nd

Shine your keyboards, hackers of OpenStack: on February 2nd 2012 you will be called to fight the ever growing number of bugs that keep creeping in our beloved code.  On Bug Squashing Day all the OpenStack developer community will focus mainly on Nova to:

  • Close old fixed bugs. Old bugs are nasty. Even when they are long dead, they clog bug views and render the lists unusable. Just look at old bugs and check if they still apply ! If they don’t, close them as FixReleased (if you can pinpoint when they were fixed) or Invalid (if you can’t).
  • Fix bugs. The best thing you can do on a bug squashing day is to kill a live one. Just look at the list of Confirmed or Triaged and pick your target. Submit a change that fixes it. Ask for review help on the channel.
  • Triage incoming bugs. It’s sometimes hard to distinguish fresh bugs from false alarms. You can help by using your expertise or reproduction skills on New bugs. If you can confirm the issue, set the bug to Confirmed. If you can fix it, read the previous chapter. If you need more info from the reporter, set it to Incomplete. And if it happens to not really be valid, set it to Invalid.

You don’t have to be an experienced Nova developer to participate, and we believe that February 2nd will be a great way to get started with the OpenStack community. You can get started by looking at Devstack to build your complete OpenStack development environment. The other projects are welcome to focus on quality that day but Nova is the one that will get more attention.

The event will happen mostly online, in a dedicated #openstack-bugsquash IRC channel on Freenode (that all participants are encouraged to join for the duration of the event). There will also be live meetings in Austin and San Francisco, hosted by Rackspace with food, drinks and games.

Do you want to host a Bug Squash Day on Feb 2nd? Let us know and we’ll add it to the list.

 

by Stefano Maffulli at January 16, 2012 10:37 PM

Grid Dynamics OpenStack Team

Testing framework

Today we would like to share with you one of our recent subprojects. It is our testing framework. We have used to automate our tests for OpenStack with Lettuce. However we found that we need more features to build robust framework with it. So we created a Bunch tool. The main reason for Bunch was the motivation to write more flexible and powerful tests with Lettuce. Key points to improve were:

  • Avoid hardcoded values in test scenarios. Lettuce offers the only way for data-driven scenarios. This is done via scenario outlines. What means that all data is stored in script itself. External data sources may be only supported by your own test code. We may fill that gap introducing Jinja2 templates and YAML configuration files. Feature templates stay readable but gain flexibility. The regular Lettuce scripts are generated on every test execution thus saving BDD style. Stories remain comprehensible for an end-user.
  • Write test fixtures explicitly. It should be possible to write setup and teardown BDD stories. It is also important to have behavior specifications for installation procedures.
  • Share and re-use test fixtures, specify that test depends on specific fixtures Tests should be self-suffucient and should not rely on the state created by other tests. However it is often a huge overhead when each test performs its own setup which may always be the same. It is required to provide the concept of “dependencies” between tests and test fixtures.
  • Tests are environment agnostic but test fixtures are environment dependent. We may enable writing environment agnostic tests by moving all environment specific action into test fixtures. Thus test fixtures may have multiple versions aimed for different environments.

So we gathered these requirements and planned the following features for implementation:

  1. Support for scenario templates. Scenarios become parameterizable and do not loose BDD spirit. Foreign Lettuce scenarios can be adopted by replacing hardcoded values with template variables. (YAML and Jinja2 were used for that)
  2. Explicit separation of test fixtures from tests (setup, teardown and test scripts). Test scenario should not contain any actions that are specific to platform/configuration and should only perform actions on the product under test.
  3. Dependency specification for setup/teardown fixtures and sharing fixtures among tests.  Most of tests rely on the same state while other may have specific prerequisites.
  4. Parallel test execution. This is often required for long running end-to-end scenarios. That feature introduces a requirement that which are planned to be executed in parallel should be independent from each other and does not use the same resources.

Points 1-3 are implemented now. That should be enough to start using it.  However there is a plenty of stuff planned on the road-map.

We also shared our OpenStack test suite which runs within our CI workflow. So you may have a look how Bunch works. Links to tool, doc and tests are below:

Just install Bunch, check out tests, adjust config.yaml and execute:
bunch -e clean openstack-core-test/smoketests/basic/ <resultdir>

Both Bunch and tests are under active development, so there are not much tests in the repo. This is just the beginning. Stay tuned.


by Sergey Kosyrev at January 16, 2012 01:01 PM

Grid Dynamics Open Stack development activities

Hello everybody.

We want to share our roadmap with a community. In the nearest future Grid Dynamics are going to focus on new component and services development. All services will be open sourced.

What are we going to present soon:

  • Now we are developing resource accounting system for OpenStack (nova-billing).
  • We are developing DNS service, so every VM in a cloud will be resolved by its name and administrators of tenants will own one subdomain and will be able to add custom DNS records or subdomains.
  • We have created separate set of utilities called nova2ools and going to present them soon. They will offer utilities to work with nova and utilities to work with our services like billing or DNS.
  • We are going to start working on hardware provisioning for OpenStack. Sometimes it is very important to be able to work on real hardware. Ability to get hardware in a OpenStack way through REST API should be very useful.

To reflect this activities we have created a site with documentation and additional information: http://www.griddynamics.com/openstack.


by Dmitry Maslennikov at January 16, 2012 09:57 AM

January 13, 2012

Jay Pipes

Presentation: OpenStack QA – Walkthrough of Processes, Tools and Code

Last night I gave a short webinar to some folks about the basics of contributing to the Tempest project, which is the OpenStack integration test suite. It was the first time I’d used Google Docs to create and give a presentation and I must say I was really impressed with the ease-of-use of Google Docs Presentation. Well done, Google.

Anyway, I’ve uploaded a PDF of the presentation to this website and provided a link to the Google Docs presentation along with a brief overview of the topics covered in the slides below. As always, I love to get feedback on slides. Feel free to leave a comment here, email me or find me on IRC. Enjoy!

Google Presentation (HTML)
PDF slides


Topics included in the slides:

  • OpenStack Contribution Process
  • Running Devstack Locally
  • Running Tempest against an Environment
  • Walkthrough the Tempest Source Code
  • Progressively improving a test case
  • Common Scenarios in Code Review and Submission

by jaypipes at January 13, 2012 10:22 PM

OpenStack Blog

Community Weekly Review (Jan 6 – 13)

OpenStack Community Newsletter –January 13, 2012

HIGHLIGHTS

EVENTS

OTHER NEWS

COMMUNITY STATISTICS

  • Top 10 contributors of 2011 for each repository, from Jan 2 00:00:00 UTC 2012 to Jan 9 00:00:00 UTC 2012

2012-01-horizon 2012-01-manuals 2012-01-swift 2012-01-keystone 2012-01-quantum 2012-01-glance 2012-01-nova

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at January 13, 2012 09:27 PM

The OpenStack Spring 2012 Design Summit & Conference in San Francisco, California: April 16-20, 2012

We are excited to announce that the Spring 2012 OpenStack Design Summit & OpenStack Conference are planned for April 16-20, 2012 in San Francisco, California. Please start making plans to join us!

Learn more about the events on The Official Event Page.

Please note: Registration has not yet opened. More details, including accommodations, call for papers and the sponsorship prospectus will be available shortly.

Note that two events take place the same week: The Design Summit and the Conference. So, which should you attend?

Everyone: If you are an OpenStack user, provider, researcher, developer, or enthusiast, you’ll want to attend the OpenStack Conference held Thursday and Friday, April 19 & 20th. This is the main event and it includes keynotes, panel sessions, and vendor exhibitors who can help you get the most out of OpenStack.

Developers: If you are an active developer in the OpenStack community, you’ll also want to attend the Design Summit, happening right before the conference (April 16-18th). The Design Summit is kept intentionally small so that we can have productive working sessions as we discuss and plan for development on the next release of OpenStack.

We hope you’ll make the trip and join us at what’s shaping up to be a fantastic and informative event.

by Stefano Maffulli at January 13, 2012 07:36 PM

Thierry Carrez

Virtualization & Cloud devroom at FOSDEM

The Free and Open source Software Developers’ European Meeting, or FOSDEM, is an institution that happens every year in Brussels. A busy, free and open event that gets a lot of developers together for two days of presentations and cross-pollination. There are typically the FOSDEM main tracks (a set of presentations chosen by the FOSDEM organization) and a set of devrooms, which are topic-oriented or project-oriented and can organize their own schedule freely.

This year, FOSDEM will host an unusual devroom, the Virtualization and Cloud devroom. It will happen in the Chavanne room, a 550-seat auditorium that was traditionally used for main tracks. And it will last for two whole days, while other devrooms typically last for a day or a half-day.

The Virtualization and Cloud devroom is the result of the merging of three separate devroom requests: Virtualization, Xen and OpenStack devrooms. It gives us a larger space and a lot of potential for cross-pollination across projects ! We had a lot of talks proposed, and here is an overview of what you’ll be able to see there.

Saturday, February 4

Saturday will  be the “cloud” day. We will start with a set of talks about OpenStack, past, present and future. I will do an introduction and retrospective of what happened last year in the project, Soren Hansen will guide new developers to Nova, and Debo Dutta will look into future work on application scheduling and Donabe. Next we’ll have a session on various cloud-related technologies: libguestfs, pacemaker-cloud and OpenNebula. The afternoon will start with a nice session on cloud interoperability, including presentations on the Aeolus, CompatibleOne and Deltacloud efforts. We’ll continue with a session on cloud deployment, with a strong OpenStack focus: Ryan Lane will talk about how Wikimedia maintains infrastructure like an open source project, Mike McClurg will look into Ubuntu+XCP+OpenStack deployments, and Dave Walker will introduce the Orchestra project. The day will end with a town hall meeting for all OpenStack developers, including a panel of distribution packagers: I will blog more about that one in the next weeks.

Sunday, February 5

Sunday is more “virtualization” day ! The day will start early with two presentations by Hans de Goede about Spice and USB redirection over the network. Then we’ll have a session on virtualization management, with Guido Trotter giving more Ganeti news and three talks about oVirt. In the afternoon we’ll have a more technical session around virtualization in development: Antti Kantee will introduce ultralightweight kernel service virtualization with rump kernels, Renzo Davoli will lead a workshop on tracing and virtualization, and Dan Berrange will show how to build application sandboxes on top of LXC and KVM with libvirt. The day will end with another developers meeting, this time the Xen developers will meet around Ian Campbell and his Xen deployment troubleshooting workshop.

All in all, that’s two days packed with very interesting presentations, in a devroom large enough to accomodate a good crowd, so we hope to see you there !


by Thierry Carrez at January 13, 2012 02:43 PM

January 10, 2012

OpenStack Blog

Presenting OpenStack Foundation mission and roadmap [webinar]

Jonathan Bryce and Mark Collier will host two webinars to illustrate the draft mission for the future OpenStack Foundation. The draft was published on http://wiki.openstack.org/Governance/Foundation/ and it’s the fist building block of the organisation that was announced in Boston. They will be available to answer questions about the roadmap and deadlines proposed for the project.  We believe a live conversation will complement the online discussion on the foundation mailing list. We picked the times of the webinars to accommodate the needs of people living across the world and we picked the technology that is most accessible. You can use your favourite operating system or dial in using toll free numbers for virtually anywhere in the world. If you encounter problems please let us know.

The first webinar will be held on Thursday Jan 12, 2012 at 06:00 PM CST (register here https://cc.readytalk.com/r/ogxx717wjy06) and the following day on Friday, Jan 13, 2012 at 9:00 AM CST (register here https://cc.readytalk.com/r/9o9bdh6hb3vn).

You may find the converter useful http://www.timeanddate.com/worldclock/converter.html to find your local time.

by Stefano Maffulli at January 10, 2012 06:39 PM

January 09, 2012

OpenStack Blog

Please Welcome AT&T to the OpenStack Community!

We are very excited to welcome AT&T to the OpenStack community today!

John Donovan, AT&T’s Chief Technology Officer made the announcement at their annual AT&T developer’s summit in Las Vegas today:

“We also announced today that AT&T has become the first U.S. telecom services provider to join the OpenStack initiative, a community of more than 140 technology companies worldwide. We’ve been participating in OpenStack for more than a year and have already contributed a blueprint for a potential new function within OpenStack, focused on transactional task management.

We’re housing our OpenStack capabilities on dedicated infrastructure in three AT&T data centers today, with locations in Dallas, San Diego and Secaucus, New Jersey. We plan to more than double the number of our centers with open-source capabilities in 2012.”

Read more about it in their blog post.

by Mark Collier at January 09, 2012 06:31 PM

January 06, 2012

OpenStack Blog

Community Weekly Review (Dec 31 2011 – Jan 6 2012)

OpenStack Community Newsletter –January 6, 2012 — Happy New Year

HIGHLIGHTS

EVENTS

OTHER NEWS

COMMUNITY STATISTICS

  • Top 10 contributors of 2011 for each repository, from Jan 1 00:00:00 UTC 2011 to Dec 31 00:00:00 UTC 2011
top10-2011-horizon top10-2011-swift top10-2011-manuals top10-2011-keystone top10-2011-quantum top10-2011-glance top10-2011-nova

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at January 06, 2012 07:44 PM

Ryan Lane

Fixing a very broken instance live migration manually

I had a situation recently where a number of live migrations failed in a truly nasty way. The live migration failed part way through, but didn’t properly back-out the changes. This left the instance running nowhere, but in a “migrate” state in the database. I tried to reboot the instance, which then left the instance in the “running” state.

Of course, the instance wasn’t actually running anywhere and the reboot command wouldn’t start the instance, because it thought it was running. The logs complained that the instance wasn’t running whether I tried to restart the migration, or reboot. What a full of fail situation.

So, to fix this, I needed to make the instance actually start. In this situation, the database thought the instance was running on host virt2, but the instance’s libvirt files were on virt4. I copied the nwfilter file across to /etc/libvirt/nwfilter, then the domain file across to /etc/libvirt/qemu. I then created the nwfilter, then the domain:

virsh nwfilter-define /etc/libvirt/nwfilter/<instance-nwfilter>.xml
virsh create /etc/libvirt/qemu/<instance-domain>.xml

Once the instance was started, I re-migrated the instance and all was good.

As a side note, I think what caused the migration failure was that I tried to migrate too many instances at the same time from a host that was already slightly overloaded. Of course, this is no excuse for nova to fail.

by Ryan Lane at January 06, 2012 02:13 AM

December 23, 2011

OpenStack Blog

Community Weekly Review (Dec 17-23)

OpenStack Community Newsletter –December 23, 2011

HIGHLIGHTS

EVENTS

OTHER NEWS

COMMUNITY STATISTICS

  • Activity on the OpenStack repositories, lines of code added and removed by the developers from Mon Dec 12 00:00:00 UTC 2011 to Sun Dec 18 00:00:00 UTC 2011

week-50-glance week-50-horizon week-50-keystone week-50-manuals week-50-nova week-50-quantum week-50-swift

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at December 23, 2011 06:25 PM

Jay Pipes

OpenStack One of 10 Most Important Open Source Projects in 2011

Joe “Zonker” Brockmeier recently posted his list of the top 10 most important open source projects of 2011, and OpenStack was in there.

I agree that OpenStack is one of the most compelling open source projects this year. I think back to the Cactus release earlier in the year and really am amazed at the amount of change in many of the core OpenStack projects — Nova in particular. We’ve had an explosion of contribution from a ton of individuals working at a who’s who list of technology companies, and I expect to see that passion and enthusiasm for OpenStack only continue to grow through 2012. Lots to look forward to. :)

Here’s to an innovative 2012 and continued collaboration in the open source community on this terrific set of cloud infrastructure projects.

by jaypipes at December 23, 2011 06:23 PM

December 22, 2011

OpenStack Blog

OpenStack Around The Globe in 2011

OpenStack has been a global phenomenon since the community formed in July 2010, and it has only gotten more diverse since then. One of my favorite stats is that we had people from 6 continents attend the most recent Design Summit & Conference in Boston. Still looking for that elusive Antarctica user.

I spent a few minutes digging through Google Analytics to pull out some other interesting 2011 stats to share.

  • People in over 13,000 cities from over 200 countries visited OpenStack.org this year!
  • We had a total of 750k+ visits from 430k+ unique visitors.
  • The most popular city was Beijing, followed by Seoul, London, and Bangalore
  • China was #2 after the U.S. as a source of visitors to openstack.org
  • Full details available here.
  • This is a google docs embeded graph that will overlay visits by region:

<script src="http://ajax.googleapis.com/ajax/static/modules/gviz/1.0/chart.js" type="text/javascript"> {"dataSourceUrl":"//docs.google.com/a/collierclan.net/spreadsheet/tq?key=0Ai0YJLlYNpuxdDVuVHllcDAwVDVFNC11dm83YVpVVVE&transpose=0&headers=0&range=A10%3AB212&gid=0&pub=1","options":{"vAxes":[{"viewWindowMode":"pretty","viewWindow":{}},{"viewWindowMode":"pretty","viewWindow":{}}],"colors":["#DC3912","#EFE6DC","#109618"],"displayMode":"markers","hAxis":{"maxAlternations":1},"hasLabelsColumn":true,"width":500,"height":152},"state":{},"view":"{\"columns\":[0,1]}","chartType":"GeoChart","chartName":"Chart 2"} </script>

Conclusions:
  • There is clearly a need for a true global open source software platform, and lots of people are seizing that opportunity in over 200 countries.
  • This is a powerful movement!  It is much bigger than any one company or country.
  • We have much to do to support the diverse community, including more international events and localized content.  To coordinate an event or to talk sponsorships contact events@openstack.org and also check the events page to make sure your event is listed there. Lauren Sell and Dee Rosales are good people to talk to about how to make your OpenStack event a success.
  • If you’d like to help with translating content (web pages, overview docs, more technical docs, or openstack itself such as the dashboard) drop us a note at translate@openstack.org with some info on how you’d like to help. Todd Morey, Anne Gentle, Stefano Maffulli (and other stackers) are starting several translation projects now and could use your help!

Here’s to an even bigger and stronger global OpenStack community in 2012!
Mark Collier
@sparkycollier

by Mark Collier at December 22, 2011 04:41 PM

Ryan Lane

OpenStackManager version 1.3 released

The OpenStackManager extension is a web interface for OpenStack, and a manager for a fully integrated test and development network being written primarily for Wikimedia Foundation use.

I’ve been busy enough lately working on our OpenStack infrastructure that I haven’t made an OpenStackManager release in a while. Over the past seven months I’ve continued to make small changes to the software, and the past few weeks I’ve added features I feel deserve another release.

This is a bugfix and features release. Major changes include compatibility for cactus and diablo releases of nova, and 1.18 compatibility for MediaWiki. The changes in this release focused mainly on making workflow easier. Here’s a complete list of changes:

  • Added a reboot action for instances
  • Made compatibility changes for cactus and diablo nova releases
  • Made compatibility changes for MediaWiki 1.18
  • Added support for configurable naming attributes
  • Added support for adding objectclasses and attributes for users that are missing them
    • It’s now possible for MediaWiki to no longer have to create users, only update select user attributes and objectclasses
  • Made a bunch of bugfixes regarding security groups
  • Added support for wildcard DNS entries
  • Added realm and instancename variables to puppet default variables, so that they can be used in puppet runs
  • Added support for wiki page creation for Projects
  • Added support for configuring default images for instances
  • Added support for creating server admin logs per project
  • Added support for default security group rules on project creation
  • Added dialog to project creation for adding members to projects and roles upon creation
  • Added support for managing puppet classes and variables through the interface, rather than LocalSettings.php
  • Made a usability change to instance creation: the default security group will always be selected by default
  • Added support for including the ssh key fingerprint of an instance in the “your instance is ready” emails
  • Made a usability change to only show actions to users if they can perform them
  • Lots of other minor bug fixes
  • Bugfixes from John Du Hart, Sam Reed and Mark Hershberger

If you’d like to help develop this extension, I’ve created a development environment in a project in Wikimedia Labs. Find me on #wikimedia-labs on Freenode or email me to get a labs account and access to the project.

Related posts:

  1. OpenStackManager version 1.2 released
  2. OpenStackManager version 1.1 released
  3. Announcing OpenStackManager extension for MediaWiki

by Ryan Lane at December 22, 2011 03:30 PM

December 21, 2011

OpenStack Blog

OpenStack 2012 Events

We are working on the 2012 event calendar, and are actively seeking feedback and sponsorship support for OpenStack to be well-represented at industry events.  There is a public etherpad where you can suggest an event to attend (or pass up!), and we would love to get  your input.  Right now, we are hoping to have OpenStack represented at the following industry events the first half of the year:

- SCALE10x, January 20-22, Los Angeles
- FOSDEM, February 4-5, Bruxelles, BE
- PYCON, March 7-15, Santa Clara, CA
- Ubuntu Developer Summit, May TBD
- EuroPython, June TBD, Florence, Italy
- OSCON, July 16-20, Portland, OR

We’ve had a lot of success with OpenStack having a community-sponsored presence at industry tradeshows. In this case, companies in the community may choose to pitch in and split costs for the OpenStack booth and marketing activities. In return, their brand is featured on promotional materials (signs, t-shirts, etc.), they are co-sponsors of the evening event (if applicable) and they have the opportunity to help staff the booth. Please contact Lauren Sell and Dee Rosales at events@openstack.org if you are interested in sponsoring OpenStack at upcoming events, the first of which is SCALE10x in January.

We are making headway on next OpenStack Design Summit & Conference, targeting the week of April 16 depending on venue availability.  We plan to finalize the venue and dates by the end of December, and will post a sponsorship prospectus and call for papers shortly thereafter. If you have a venue recommendation or your company might have the facilities to accommodate 800+ people, please contact events@openstack.org (note: we are moving very quickly on this with a goal to lock it down by Dec 31).

Also, if you are hosting a local meetup or OpenStack event, please contact events@openstack.org to have it listed and promoted on OpenStack.org/community/events.

Thanks for your continued support.

by laurensell at December 21, 2011 06:43 PM

OpenStack Deployments Abound at Austin Meetup (12/9)

I (Rob Hirschfeld) was very impressed by the quality of discussion at the Deployment topic meeting for Austin OpenStack Meetup (#OSATX). Of the 45ish people attending, we had representations for at least 6 different OpenStack deployments (my employeer Dell, HP, ATT, Rackspace Internal, Rackspace Cloud Builders, Opscode Chef)!  Considering the scope of those deployments (several are aiming at 1000+ nodes), that’s a truly impressive accomplishment for such a young project.

Figure 1 Diablo Software Architecture. Source Dell/OpenStack (cc w/ attribution)

 

Even with the depth of the discussion (notes below), we did not go into details on how individual OpenStack components are connected together.  The image my team at Dell uses is included below.  I also recommend reviewing Rackspace’s published reference architecture.

Notes

Our deployment discussion was a round table so it is difficult to link statements back to individuals, but I was able to track companies (mostly).

  • HP
    • picked Ubuntu & KVM because they were the most vetted. They are also using Chef for deployment.
    • running Diablo 2, moving to Diablo Final & a flat network model. The network controller is a bottleneck. Their biggest scale issue is RabbitMQ.
    • is creating their own Nova Volume plugin for their block storage.
    • At this point, scale limits are due to simultaneous loading rather than total number of nodes.
    • The Nova node image cache can get corrupted without any notification or way to force a refresh – this defect is being addressed in Essex.
    • has setup availability zones are completely independent (500 node) systems. Expecting to converge them in the future.
  • Rackspace
    • is using the latest Ubuntu. Always stays current.
    • using Puppet to setup their cloud.
    • They are expecting to go live on Essex and are keeping their deployment on the Essex trunk. This is causing some extra work but they expect it to pay back by allowing them to get to production on Essex faster.
    • Deploying on XenServer
    • “Devs move fast, Ops not so much.”  Trying to not get behind.
  • Rackspace Cloud Builders (RCB) is running major releases being run through an automated test suite. The verified releases are being published to https://github.com/cloudbuilders (note: Crowbar is pulling our OpenStack bits from this repo).
  • Dell commented that our customers are using Crowbar primarily pilots – they are learning how to use OpenStack
    • Said they have >10 customer deployments pending
    • ATT is using OpenSource version of Crowbar
    • Need for Keystone and Dashboard were considered essential additions to Diablo
  • Hypervisors
    • KVM is considered the top one for now
    • Libvirt (which uses KVM) also supports LXE which people found to be interesting
    • XenServer via XAPI are also popular
    • No so much activity on ESX & HyperV
    • We talked about why some hypervisors are more popular – it’s about the node agent architecture of OpenStack.
  • Storage
    • NetApp via Nova Volume appears to be a popular block storage
  • Keystone / Dashboard
    • Customers want both together
    • Including keystone/dashboard was considered essential in Diablo. It was part of the reason why Diablo Final was delayed.
    • HP is not using dashboard
  • OpenStack API
    • Members of the Audience made comments that we need to deprecate the EC2 APIs (because it does not help OpenStack long term to maintain EC2 APIs over its own).  [1/5 Note: THIS IS NOT OFFICIAL POLICY, it is a reflection of what was discussed]
    • HP started on EC2 API but is moving to the OpenStack API

Austin Meetup Housekeeping

  • Next meeting is Tuesday 1/10 and sponsored by SUSE (note: Tuesday is just for this January).  Topic TBD.
  • We’ve got sponsors for the next SIX meetups! Thanks for Dell (my employeer), Rackspace, HP, SUSE, Canonical and PuppetLabs for sponsoring.
  • We discussed topics for the next meetings.  We’re going to throw it to a vote for guidance.

 

by RobH at December 21, 2011 05:58 PM

OpenStack in Production – Event Highlights

As a matter of tradition at this point, we offer a photo report, covering OpenStack event series that Mirantis hosts. Our December 14th event focused on sharing experience around running OpenStack in production. I moderated a panel consisting of Ken Pepple – director of cloud development at Internap, Ray O’Brian – CTO of IT at NASA and Rodrigo Benzaquen – R&D director at MercadoLibre.

This time we went all out and even recorded the video of the event: http://vimeo.com/33982906

For those that are not in the mood to watch this 50 minute panel video, here is a quick photo report:


We served wine and beer with pizza, salad and deserts…


…While people ate, drank, and mingled…


…and then they drank some more…


We started the panel with myself saying smart stuff about OpenStack. After the intro we kicked off with questions to the panel.


The panelists talked…


…and talked…


…and then talked some more.


Meanwhile, the audience listened…


…and listened.


Everyone in our US team was sporting these OpenStack shirts.


At the end we gave out 5 signed copies of “Deploying OpenStack” books, written by one of our panelists – Ken Pepple. Roman (pictured above) did not get a copy.

by Mirantis Inc. at December 21, 2011 12:30 AM

December 20, 2011

OpenStack Blog

More details about seminar “Open and safe in the cloud” in Ljubljana, Slovenia

On December 14th company CHS d.o.o. hosted seminar on Open and Secure Cloud Computing, which was held in Tehnološki park in Ljubljana. This unique occasion assembled 49 attendants from academic and government representatives to small businesses and additional 17 students. Participants were eager to get to know leading IT trends in building own cloud environments with emphasis on open-source IaaS solution OpenStack. Crowd of participants started to gather from 9.30. a.m. and we began shortly after.

We were very honored to host our distinguished guest and OpenStack Community Manager, Stefano Maffulli, who gave an opening lecture about OpenStack. The lecture was a great hit and excited participents gave mister Maffulli numerous questions on the topic. Next up was Robert Dukarić, a member of first Slovenian Center for Cloud Computing, who presented Open Source IaaS solutions and gave a practical demonstration of OpenStack framework. Andrej Pančur, member of Laboratory for Computer Communications at the Ljubljana Faculty of Computer and Information Science talked in depth about security in the cloud and about new paradigm called “Security as a Service”, following Primož Cigoj, representative of Laboratory for Open Systems and Networks (E5) at Institut “Jožef Štefan“, who gave an overview of security in OpenStack.

After the first part of the seminar we had a break and the opportunity for participants to continue conversation regarding OpenStack experience aroused by itself. The vivid and pleasant talk was done while enjoying coffee and delicious croissants and after the short break the seminar continued.

Dalibor Baškovč was next, talking about KC Class and eurocloud.si. Ivan Tomašič and Aleksandra Rashkovska, colleges from the Institute Jožef Štefan, from department of Communication Systems, gave an insight of storing data in OpenStack. Next was once again Andrej Pančur, who talked together with his college Andrej Krevl about affordable and available tools for building high-performance data storage systems, based on ZFS and Nexenta solutions. Last up was Aleš Justin of RedHat, who gave his experience with developing clouds with application server Jboss.

Event came to an end but there was one more surprise for the participants who seemed to have really great time talking with lecturers at the end of seminar. In the spirit of upcoming holidays we offered warm buffet for everyone and the unofficial part of the seminar continued by the delicious wine. Experiences were shared and we concluded the event with the promise of future meetings to come, where gained knowledge from the seminar will be continued.

01 02 03 04 05 06

by neda at December 20, 2011 10:01 PM

Thierry Carrez

Ending the year well: OpenStack Essex-2 milestone

2011 is almost finished, and what a year it has been. We started it with two core projects and one release behind us. During 2011, we got three releases out of the door, grew from 60 code contributors to about 200, added three new core projects, and met for two design summits.

The Essex-2 milestone was released last week. Here is our now-regular overview of the work that made it to OpenStack core projects since the previous milestone.

Nova was the busiest project. Apart from my work on a new secure root wrapper (detailed on previous articles of this blog), we added a pair of OpenStack API extensions to support the creation of snapshots and backups of volumes, the metadata service can now run separately from the API node, network limits can now be set using a per-network base and a per-flavor multiplier, and a small usability feature lets you retrieve the last error that occurred using nova-manage. But Essex is not about new features, it’s more about consistency and stability. On the consistency front, the HA network mode was extended to support XenServer, KVM compute nodes now report capabilities to zones like Xen ones, and the Quantum network manager now supports NAT. Under the hood, VM state transitions have been strengthened, the network data model has been overhauled, internal interfaces now support UUID instance references, and unused callbacks have been removed from the virt driver.

The other projects were all busy starting larger transitions (Keystone’s RBAC, Horizon new user experience, and Glance 2.0 API), leaving less room for essex-2 features. Glance still saw the addition of  a custom directory for data buffering. Keystone introduced global endpoints templates and swauth-like ACL enforcement. Horizon added UI support for downloading RC files, while migrating under the hood from jquery-ui to bootstrap, and adding a versioning scheme for environment/dependencies.

The next milestone is in a bit more than a month: January 26th, 2012. Happy new year and holidays to all !


by Thierry Carrez at December 20, 2011 05:03 PM

OpenStack Blog

Brief report from Ljubljana, Seminar “Open and safe in the cloud”

On December 14th I completed my talk about OpenStack in Slovenia, in front of 66 people (49 registered, 17 more showed up last minute) from Slovenian small businesses, government agencies and academia. Incredible vibe, very competent crowd about cloud computing and IaaS in general.

The agenda of the day (full agenda, in Slovenian)

  • OpenStack – how and where — Stefano Maffulli, OpenStack Community Manager
  • Overview of Open Source “IaaS” solutions and practical demonstration OpenStack framework – Robert Dukarić, MD. Matjaz B. Juric, Laboratory for Information Systems Integration, Faculty of Computing and Informatics Institute (FRI), www.fri.uni-lj.si
  • Security in the cloud — Dr.. Mojca Ciglarič, Assistant Professor and Head of the Laboratory for Computer Communications at the Ljubljana Faculty of Computer and Information Science. Is a member of “Cloud Security” Alliance and  research director of the Slovenian section of the association. www.fri.uni-lj.si
  • Security in OpenStack — Primož Cigoj, dipl. ing. Laboratory for Open Systems and Networks (E5), Institut “Jozef Stefan” www.e5.ijs.si
  • KC Class and eurocloud.si / eurocloud.org – Dalibor Baškovč, www.KC-Class.eu
  • Storing data in OpenStack – mag. Ivan Tomašič, Electrotechnical Faculty in Zagreb and Rashkovska Alexander, BSc. ing. Inv., PSI International Postgraduate School, Department of Communication Systems (E6), Institut “Jozef Stefan” www-e6.ijs.si
  • How to use tools, build affordable high-performance data storage system – Dr. Matjaz Krevl Pančur and Andrew, BSc. ing. Inv., Laboratory for Computer Communications, Faculty of Computing and Informatics Institute (FRI), www.fri.uni-lj.si
  • Development of the clouds in RedHat – Ales Justin JBoss by RedHat

Most of the event was in Slovenian, so I cannot comment too much on it. I found extremely interesting the presentation from the Slovenian representative of Eurocloud.org, a pan-European organization whose mission is to create awareness of Cloud Computing within the industry and public administrations. It reminded me how much of the demand for IT in Europe is created by regulations, at the local and European level.

by Stefano Maffulli at December 20, 2011 03:15 PM

OpenStack Sydney Australia Meetup Dec 13

Openstack Sydney Australia Meetup December 13Tuesday night December 13 saw the inaugural meetup of the Australian OpenStack Users Group at the Harbour View Hotel in Sydney, Australia.

There was obvious enthusiasm right from the start because even though we weren’t meant to start until 6.30pm there were already about 30 people there at 6.00pm. By 7.30pm we peaked at about 55 people and we filled the venue! What started in October as 5 of us going for a beer had become something awesome.

The purpose of the night was to be an in formal get together to stimulate the community and get interested “OzStackers” talking to each other, and it was clear that we got people talking. I got to meet almost everyone and we had many attendees with purely a personal interest, but we also had folks from our telcos and service providers, universities, manufacturers, retail and finance industries.

When it first became apparent we might do something more than just a few beers we thought we might get one OpenStack involved vendor to come along. What we ended up with was an overwhelming response. Each of our attending vendors were given the chance to give a talk about their involvement with the project.

Mark Randall, Rackspace Country Manager for AU/NZ, led the talks with a background and overview. Next up was Daniel Pendlebury, Citrix Lead Systems Engineer for Datacenter and Cloud giving an insight into their Project Olympus. APAC Solution Architect at F5, Adrian Noblett, talked about F5′s involvement, followed by Peter Jung, Cloud Solutions Architect at Dell with some in depth technical news on Crowbar. Nic Rouhotas from Cisco went next overviewing Cisco’s involvement and then Declan Conlon talked about Riverbed joining the community and their purchase of Zeus. Last up was Phil Rogers from Aptira with experiences of his development contributions towards several Swift client applications.

It was pretty clear that everyone had a great time and there was lots of enthusiasm to get together again as soon as possible, and many made it clear they want to see and share config and install demos and real world deployment experiences, so we’ll focus on that for follow-up meetups in the next coming months.

At the moment we have a single Australian Meetup group, the rationale being that whilst we’re still a small community down under we thought it was best to create a single nationwide group. The not necessarily bad trade off of this is that because we do recognise a significant portion of the Australian OpenStack community is not in Sydney we have an obligation to have the inaugural meetup continue in cities where the community resides! So far Melbourne is next on the list, but if there’s more of you interstate please don’t hesitate to join the meetup group at http://aosug.openstack.org.au. The listed location will change for upcoming meetup locations.

Reminder January 17 Meetup in Melbourne!

Next up is the inaugural meetup “part 2″ in Melbourne on January 17. We’re hoping to get the same vendors along, there’ll be beer and food, I look forward to seeing you there.

by Tristan Goode at December 20, 2011 01:10 PM

December 16, 2011

OpenStack Blog

Community Weekly Review (Dec 9-16)

OpenStack Community Newsletter –December 16, 2011

HIGHLIGHTS

EVENTS

OTHER NEWS

COMMUNITY STATISTICS

  • Activity on the OpenStack repositories, lines of code added and removed by the developers from Mon Dec 05 00:00:00 UTC 2011 to Sun Dec 11 00:00:00 UTC 2011
2011-49-glance 2011-49-horizon 2011-49-keystone 2011-49-manuals 2011-49-quantum 2011-49-swift 2011-49-nova

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at December 16, 2011 11:49 PM

December 14, 2011

OpenStack Blog

Results Of Survey After OpenStack Design Summit And Conference

In preparation for the next OpenStack Design Summit and Conference, I gave a look at the survey results of past edition. The events are a considerable investment for our team that is widely paid off by the good reviews we received from all participants. Looking into the answers it’s quite clear that the format and length were good and we should try to stick to it. We agreed that the attendance on Friday afternoon was not optimal and we’re thinking of ways to improve this aspect.  I’m very happy to see that participants to the Design Summit felt welcomed, included and encouraged to speak all the time (see table below).

Speaking of areas of improvement,  a key criteria for selecting the next venue will be high quality access to Internet or we’ll bring our own equipment (like Canonical does for the Ubuntu Design Summit). We’re also looking for more choice regarding hotel rates.

Both the unconference and lightning talks should be advertised better in order to improve attendance. Probably it’s because both were hard to find, being on a different floor. We should probably discuss how to improve them once we have fixed the venue.

On the Conference side we see a request to increase the presentation of case studies and have more sessions and choices (see table below). We’ll see how to balance this while keeping the format of the event.

Overall the responses were extremely positive and we’re very proud of what we’ve achieved so far. For the next Summit and Conference, we’re targeting the week of April 16 in New Orleans. We will post more information as soon as it is confirmed: keep watching this space for announcements.

14. Please rate how you felt the Design Summit sessions were managed:
Not at all Rarely Sometimes All the time N/A Rating
Average
Response
Count
Did you feel welcomed, included, and encouraged to speak for yourself? 0.0% (0) 2.3% (1) 22.7% (10) 72.7% (32) 2.3% (1) 3.72 44
Were the sessions well-moderated, focused and productive? 4.5% (2) 4.5% (2) 56.8% (25) 34.1% (15) 0.0% (0) 3.20 44
Did session leaders go out of their way to solicit your personal feedback? 4.5% (2) 9.1% (4) 65.9% (29) 18.2% (8) 2.3% (1) 3.00 44

 

15. How would you rate the sessions during the Conference (1-4):
poor (1) fair (2) good (3) great (4) N/A Rating
Average
Response
Count
Morning keynotes 0.0% (0) 8.9% (5) 50.0% (28) 32.1% (18) 8.9% (5) 3.25 56
Technical sessions 1.8% (1) 7.1% (4) 44.6% (25) 41.1% (23) 5.4% (3) 3.32 56
Panel sessions 1.8% (1) 21.4% (12) 46.4% (26) 21.4% (12) 8.9% (5) 2.96 56
User stories 0.0% (0) 8.9% (5) 44.6% (25) 35.7% (20) 10.7% (6) 3.30 56

Read the full results of the survey.

by Stefano Maffulli at December 14, 2011 01:35 PM

December 09, 2011

OpenStack Blog

Community Weekly Review (Dec 2-9)

OpenStack Community Newsletter –December 9, 2011

HIGHLIGHTS

EVENTS

OTHER NEWS

COMMUNITY STATISTICS

  • Activity on the OpenStack repositories, lines of code added and removed by the developers from Mon Nov 28 00:00:00 UTC 2011 to Sun Dec 04 00:00:00 UTC 2011 (week 48)
2011-48-glance 2011-48-horizon 2011-48-keystone 2011-48-manuals 2011-48-nova 2011-48-quantum 2011-48-swift

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at December 09, 2011 11:18 PM

December 07, 2011

OpenStack Blog

OpenStack Seattle Meetup 11/30 Notes

We had an informal OpenStack meetup after the Opscode Summit in Seattle.

This turned out to be a major open cloud gab fest! In addition to Dell OpenStack leads (Greg Althaus and Rob Hirschfeld), we had the Nova Project Technical Lead (PTL, Vish Ishaya from Rackspace, @vish), HP’s Cloud Architect (Alex Howells, @nixgeek), Opscode OpenStack cookbook master (Matt Ray, @mattray). We were joined by several other Chef Summit attendees with OpenStack interest including a pair of engineers from Spain.

We’d planned to demo using Knife-OpenStack against the Crowbar Diablo build.  Unfortunately, the knife-openstack is out of date (August 15th?!).  We need Keystone support.  Anyone up for that?

Highlights

There’s no way I can recapture everything that was said, but here are some highlights I jotted down the on the way home.

  • After the miss with Keystone and the Diablo release, solving the project dependency problem is an important problem. Vish talked at length about the ambiguity challenge of Keystone being required and also incubated. He said we were not formal enough around new projects even though we had dependencies on them. Future releases, new projects (specifically, Quantum) will not be allowed to be dependencies.
  • The focus for Essex is on quality and stability. The plan is for Essex to be a long-term supported (LTS) release tied to the Ubuntu LTS. That’s putting pressure on all the projects to ensure quality, lock features early, and avoid unproven dependencies.
  • There is a lot of activity around storage and companies are creating volume plug-ins for Nova. Vish said he knew of at least four.
  • Networking has a lot of activity. Quantum has a lot of activity, but may not emerge as a core project in time for Essex. There was general agreement that Quantum is “the killer app” for OpenStack and will take cloud to the next level.  The Quantual Open vSwitch implementaiton is completely open source and free. Some other plugins may require proprietary hardware and/or software, but there is definitely a (very) viable and completely open source option for Quantum networking.  
  • HP has some serious cloud mojo going on. Alex talked about defects they have found and submitted fixes back to core. He also hinted about some interesting storage and networking IP that’s going into their OpenStack deployment. Based on his comments, I don’t expect those to become public so I’m going to limit my observations about them here.
  • We talked about hypervisors for a while. KVM and XenServer (via XAPI) were the primary topics. We did talk about LXE & OpenVZ as popular approaches too. Vish said that some of the XenServer work is using Xen Storage Manager to manage SAN images.
  • Vish is seeing a constant rise in committers. It’s hard to judge because some committers appear to be individuals acting on behalf of teams (10 to 20 people).

Reminder: 12/8 Meetup @ Austin!

Missed this us in Seattle? Join us at the 12/8 OpenStack meetup in Austin co-hosted by Dell and Rackspace.  Based on our last meetup, it appears deployment is a hot topic, so we’ll kick off with that – bring your experiences, opinions, and thoughts!

by RobH at December 07, 2011 01:49 AM

December 02, 2011

OpenStack Blog

Community Weekly Review (Nov 26-Dec 1)

OpenStack Community Newsletter –December 1, 2011

HIGHLIGHTS

EVENTS

OTHER NEWS

COMMUNITY STATISTICS

  • Activity on the OpenStack repositories, lines of code added and removed by the developers during the past week.
  • Top 10 monthly committers to the repositories (by number of commits)
2011-11-top10-glance 2011-11-top10-horizon 2011-11-top10-keystone 2011-11-top10-manuals 2011-11-top10-nova 2011-11-top10-quantum 2011-11-top10-swift 2011-11-47-glance 2011-11-47-horizon 2011-11-47-keystone 2011-11-47-manuals 2011-11-47-nova 2011-11-47-quantum 2011-11-47-swift

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

 

by Stefano Maffulli at December 02, 2011 09:59 PM

Anne Gentle

From Cement to Spandex – Making PDF and ePub

Which statement is true:

“PDFs are like cement.”

or

“Gentlemen prefer PDF.”

Turns out both are true! See my recent OpenStack blog entry, Hacking on Ebooks, for more context and attributions for those statements.

We recently held a hackathon which I blogged about earlier to discuss the prep work for creating epub from DocBook XML source for the OpenStack and Rackspace manuals. We had a very successful day of hacking on 11/11/11. A team of about seven writers, testers, and developers worked all day to try to make epub files. And sure enough, we did it!

Our list of bugs matches up with what others have noted about difficulties making ebooks, such as sizing images properly and enabling tables that scale when zooming in or out or being displayed on a small smartphone or a larger tablet screen. Turns out, many “pro” epub creators turn all the tables into images to avoid the sizing problem. We also noticed the problem with mobi output putting a new line for each list item, and I haven’t gotten the fix working yet. We’re starting with the OpenStack Starter Guide available as an epub download and automated outputting epub for that book. We’re checking out the downloads to see whether there’s interest and we’ll go from there!

by annegentle at December 02, 2011 09:46 PM

November 30, 2011

Thierry Carrez

Improving Nova privilege escalation model, part 3

In the previous two posts of this series, we explored the deficiencies of the current model and the features of an alternative implementation. In this last post, we’ll discuss the advantages of a Python implementation and open discussion on how to secure it properly.

Python implementation

It’s quite easy to implement the features that were mentioned in the previous post in Python. The main advantage of doing so is that the code can happily live inside Nova code, in particular the filters definition files can be implemented as Python modules that are loaded if present. That solves the issue of shipping definitions within Nova and also the separation of allowed commands based on locally-deployed nodes. The code is simple and easy to review. The trick is to make sure that no malicious code can be injected in the elevated rights process. This is why I’d like to present a model and open it for comments in the community.

Proposed security model

The idea would be to have Nova code optionally use “sudo nova-rootwrap” instead of “sudo” as the root_helper. A generic sudoers file would allow the nova user to run /usr/bin/nova-rootwrap as root, while stripping environment variables like PYTHONPATH. To load its filters definitions, nova-rootwrap would try to import a set of predefined modules (like nova.rootwrap.compute), but if those aren’t present, it should ignore them. Can this model be abused ?

The obvious issue is to make sure sys.path (the set of directories from which Python imports its modules) is secure, so that nobody can insert their own modules in the process. I’ve given some thoughts to various checks, but actually there is no way around trusting the default sys.path you’re given when you start python as root from a cleaned env. If that’s compromised, you’re toasted the moment you “import sys” anyway. So using sudo to only allow /usr/bin/nova-rootwrap and cleaning the environment should be enough. Or am I missing something ?

Insecure mode ?

One thing we could do is check that sys.path all belongs to root and refuse to run in the case it’s not. That would tell the user that his setup is insecure (potentially allowing him to bypass that by running “sudo nova-rootwrap –insecure” as the root_helper). But that’s a convenience to detect insecure setups, not a security addition (the fact that it doesn’t complain doesn’t mean you’re safe, it could mean you’re already compromised).

Test mode ?

For tests, it’s convenient to allow to run code from branches. To allow this (unsafe) mode, you would tweak sudoers to allow it to run $BRANCH/bin/nova-rootwrap as root, and prepend “..” to sys.path in order to allow modules to be loaded from $BRANCH (maybe requiring –insecure mode for good measure). It sounds harmless, since if you run from /usr/bin/nova-rootwrap you can assume that /usr is safe… Or should that idea be abandoned altogether ?

Audit

Nothing beats peer review when it comes to secure design. I call all Python module-loading experts and security white-hats out there: would this work ? Are those safe assumptions ? How much do you like insecure and test modes ? Would you suggest something else ? If you’re one of those that can’t think in words but require code, you can get a glimpse of work in progress here. It will all be optional (and not used by default), so it can be added to Nova without much damage, but I’d rather do it right from the beginning :) Please comment !


by Thierry Carrez at November 30, 2011 02:29 PM

November 29, 2011

OpenStack Blog

Hacking on Ebooks

Gentlemen prefer PDF, according to Tim O’Reilly’s data from Rough Cuts five years ago. At OpenStack we see some preference for PDF, though there are three times as many visits to the HTML version of our Compute Admin manual. Still, the PDF version of the guide is downloaded about five times a day. I do believe that gentlemen prefer PDF or some sort of book-like reading material. When asked, readers cite portability and search scope as two benefits to the form. However, as David Cramer, our doc tools developer put it at our recent hackathon, “PDFs are like cement.” With the boom of mobile and tablet screens, a stretchy and flexible screen-reader format like epub fills a need – we need content that works well on the 200 plus devices that fit into one hand.


So on 11/11/11, in the Austin Rackspace office, we did some hacking to be able to create epub output from our DocBook source files. I blogged about it for the OpenStack Planet blog from my blog, DocBook, ePub, Hackathon, what more could you ask for? prior to the event, talking about some of our prep work.

I’m pleased to show you the results – we did get output for epub and also tested the Mobi output on a Kindle, all in one day, with a team of about seven hackers including developers, writers, and testers.

We first tested the process using built-in epub transforms that ship with Oxygen, our XML editor, who supports open source projects like OpenStack by donating licenses to documentation contributors. Thank you Oxygen! We were able to use that output to start testing. Here’s our white board with the list of bugs.

While the writers and testers were hacking on output, programmers were working on ensuring we could get the epub output through Apache Maven, our build tool. By the end of the day, we could output epub through our automatic build process also!

As happens with hackathons, there’s some cleanup work to do – for example, our neat-o dynamic SVG cover page that takes in variables like the book title doesn’t output a cover for the epub. Also, most “real” epub output workflows convert tables from text to image (I know, crazy huh, when you think about the loss of search capability), but the tables in epub output act a little funky when resizing. Also, mobi, the Kindle format, has a problem with the way lists are marked up, but these are fixable and on the bug log.

I haven’t decided yet whether the epub output is high quality enough to offer it for download for every book on the OpenStack docs site, nor do I know if there’s much demand for the output, but I’d like to offer the OpenStack Starter Guide as an epub download. The team at CSS OSS works hard on this content, and I’d like to see it get spread onto many devices. Let me know how well it works for you and if you think epub has a place as a regular output for OpenStack documentation.

by Anne Gentle at November 29, 2011 04:07 PM

November 28, 2011

Jay Pipes

OpenStack Dev Tip — Easily Pull a Review Branch

Just a quick tip for developers working on OpenStack projects that work on multiple development machines or want to pull a colleague’s code from the Gerrit review system and test it locally.

If you have followed the instructions about setting up a development environment successfully, you will have installed the git-review tool that Jim Blair and Monty Taylor maintain. The git-review tool has a nice little feature that enables you to easily pull any branch that anyone has pushed up to code review:

$> git review -d $REVIEW_NUM

The $REVIEW_NUM variable should be replaced with the identifier of the review branch in Gerrit.

For example, I developed some code on my laptop that I now want to pull to my beefier work machine. The original branch is failing a few tests in Jenkins and I want to diagnose what’s going on. The review branch is here: https://review.openstack.org/#change,1656. The review number (ID) is 1656.

To grab that branch into my local environment and check it out, I do:

jpipes@uberbox:~/repos/glance$ git review -d 1656
Downloading refs/changes/56/1656/2 from gerrit into review/jay_pipes/bug/850377

Doing a git status, you’ll note that I am now in the local branch called review/jay_pipes/bug/850377:

jpipes@uberbox:~/repos/glance$ git status
# On branch review/jay_pipes/bug/850377
# Your branch and 'gerrit/master' have diverged,
# and have 1 and 2 different commit(s) each, respectively.
#
nothing to commit (working directory clean)

I can now run tests, diagnose the issue(s), fix code up and do a:

$> git commit -a --amend
$> git review

And my changes will be pushed up to the original review in Gerrit for others to look at.

by jaypipes at November 28, 2011 06:06 PM

November 27, 2011

Stefano Maffulli

The debate about foundations for open source projects

Two interesting articles debating about foundations for open source projects. Mikeal Rogers argues that Apache Software Foundation has served its purpose in its 12 years and now is only preserving the problem to justify its existence.

Ten years ago open source projects faced a long list of barriers to entry. Source hosting was a pain in the ass. Wiki hosting, Mailing List hosting, bug tracking, all of these things we can now take for granted were actually quite hard to set up and maintain as recently as 5 years ago. [...]

and then he adds that

the world has changed Apache has become a net negative for its projects.

Mainly, Mikael says, GitHub has leveled the entry field and the layer of politics added by the Apache Foundation are not necessary anymore.

Mike Milinkovich, executive director of Eclipse Foundation wrote a response, titled of course Foundations Considered Useful. He lists some of the important things that Eclipse does:

A small sampling of the core value-add that happens within the Eclipse Foundation and its community would include:

  • IP management. Although we often get criticized for being overly focused on the topic, nobody does IP management better than Eclipse. Which is a huge part of fulfilling our mission of delivering product-ready software platforms. Yes, it’s a lot of work, but it is absolutely a core value, and one not easily replicated.
  • Predictability. The Eclipse community has shipped its major platform release on time to the day for eight years. Last year’s release was 46 MLOC, so we are talking about a non-trivial amount of code. The processes that we have in place to co-ordinate the activities and release engineering for 60+ projects absolutely require some amount of centralized support.
  • Branding and community. The Eclipse brand means something to people. Millions of developers around the world use Eclipse or Eclipse-based products every day. They have confidence in the software and the community that delivers it. Looking inside the community, there is definitely a pride and a sense of community that comes with being part of Eclipse. Anyone who has ever been to an EclipseCon has seen this firsthand.
  • Industry collaboration. Obviously GitHub has been wildly successful in fostering community-led open source. However, there are lots of instances where large and conservative corporations are looking at how to get involved in open source. In many cases, their business motivation is to collaborate with other industry players to create shared industry platforms. The kind of work that goes into facilitating these ventures goes far beyond picking a license and starting to hack some code. The processes that organizations like Eclipse and Apache bring to the table for project incubation, development processes, license management and IP contribution management are critical success factors.

Both articles are interesting reading for the OpenStack community while we think about our own foundation. What do you think?

Share and Enjoy:Identi.caTwitterLinkedInFSDailyFacebookGoogle BookmarksPing.fmemailTumblrdel.icio.usDiggRedditStumbleUpon

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>

Most Commented Posts


Stef for ][ stefano maffulli, 2011. | Permalink | 3 comments
Post tags:

by Stef at November 27, 2011 05:44 PM

November 25, 2011

Thierry Carrez

Improving Nova privilege escalation model, part 2

In the previous post in this series we explored the current privilege escalation model used in OpenStack Compute (Nova), and discussed its limitations. Now that we are able to plug an alternative model (thanks to the root_helper option), we’ll discuss in this post what features this one should have. If you think we need more, please comment !

Command filters

The most significant issue with the current model is that sudoers filters the executable used, but not the arguments. To fix that, our alternative model should allow precise argument filtering so that only very specific commands are allowed. It should use lists of filters: if one matches, the command is executed.

The basic CommandFilter would just check that the executable name matches (which is what sudoers does). A more advanced RegexpFilter would check that the number of arguments is right and that they all match provided regular expressions.

Taking that concept a step further, you should be able to plug any type of advanced filter. You may want to check that the argument to the command is an existing directory. Or one that is owned by a specific user. The framework should allow developers to define their own CommandFilter subclasses, to be as precise as they want when filtering the most destructive commands.

Running as

In some cases, Nova runs, as root, commands that it should just run as a different user. For example, it runs kill with root rights to interact with dnsmasq processes (owned by the nobody user). It doesn’t really need to run kill with root rights at all. Filters should therefore also allow to specify a lower-privileged user a specific matching command should run under.

Shipping filters in Nova code

Filter lists should live within Nova code and be deployed by packaging, rather than live in packaging. That allows people adding a new escalated command to add the corresponding filter in the same commit.

Limiting commands based on deployed nodes

As mentioned in the previous post, nova-api nodes don’t actually need to run any command as root, but in the current model their nova user is still allowed to run plenty of them. The solution for that is to separate the command filters based on the type of node that is allowed to run them, in different files. Then deploy the nova-compute filters file only on nova-compute nodes, the nova-volume filters file only on nova-volume nodes… A pure nova-api node will end up with no filters being deployed at all, effectively not being allowed any command as root. So this can be solved by smart packaging of filter files.

Missing features ?

Those are the features that I found useful for our alternative privilege escalation model. If you see others, please comment here ! I’d like to make sure all the useful features are included. In the next post, we’ll discuss a proposed Python implementation of this framework, and the challenges around securing it.


by Thierry Carrez at November 25, 2011 11:00 AM

November 23, 2011

Thierry Carrez

Improving Nova privilege escalation model, part 1

In this series, I’ll discuss how to strengthen the privilege escalation model for OpenStack Compute (Nova). Due to the way networking, virtualization and volume management work, some Nova nodes need to be able to run some commands as root. To reduce the effects of a potential compromise (attacker being able to run arbitrary code as the Nova user), we want to limit the commands that Nova can run as root on a given node to the strict necessary. Today we’ll explain how the current model works, its limitations, and the groundwork already implemented during the Diablo cycle to improve that.

Current model: sudo and sudoers

Currently, in a typical Nova deployment, the nodes run under an account with limited rights (usually called “nova”). When Nova needs to run a command as root, it prepends “sudo” to the command. The nova packages of your distribution of choice are supposed to ship a sudoers file that contains all the commands that nova is allowed to run as root without providing a password. This is a privilege escalation security model which is pretty well-known and easy to audit.

Limitations of the current model

That said, in the context of Nova, this model is very limited. The sudoers file does not allow to efficiently filter arguments, so you can basically pass any argument to the allowed command… and some of the commands that nova wants to use are rather open-ended. As an example, the current nova_sudoers file contains commands like chown, kill, dd or tee, which are more than enough to compromise a target system completely.

There are a couple other limitations.  The sudoers file belongs to the distributions packaging, so it’s difficult to keep it in sync with the rest of Nova code when someone wants to add a privileged command. Last but not least, the same nova_sudoers file is used for any type of Nova node. A Nova API server, which does not need to run any command as root, is still allowed to run all the commands that a compute node requires, for example. Those other limitations could be fixed while still using sudo and sudoers files, but the first limitation would remain. Can we do better ?

Substitute a wrapper to sudo

To be able to propose alternative privilege escalation security models, we first needed to be able to change all the “sudo” calls in the code and make them potentially use something else. That’s what I worked on late during the Diablo timeframe: creating a run_as_root option in nova.utils.execute that would use a configurable root_helper command (by default, “sudo”), and force all the existing calls to go through that (rather than blindly calling “sudo” themselves).

Thanks to the default root_helper, everything still behaves the same, but now we have the possibility to use something else, if we can be smarter than sudoers files. Like call a wrapper that will do advanced filtering of the command that nova wants to use. In part 2 of this series, we’ll look into a proposed, alternative Python-based root_helper and open discussion on its security model.


by Thierry Carrez at November 23, 2011 04:31 PM

November 18, 2011

OpenStack Blog

Community Weekly Review (Nov 11-18)

OpenStack Community Newsletter – November 11, 2011

HIGHLIGHTS

EVENTS

GENERAL COMMUNITY

COMMUNITY STATISTICS

  • A new format for the community statistics: the gallery below shows the activity on some of the OpenStack repositories, lines of code added and removed by the developers during the past week. Let us know what else you would like to see on a weekly basis.
week45-glance week45-horizon week45-keystone week45-manuals week45-nova week45-quantum week45-swift
This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at November 18, 2011 06:58 PM

November 14, 2011

Thierry Carrez

OpenStack Essex-1 milestone

Last week saw the delivery of the first milestone of the Essex development cycle for Keystone, Glance, Horizon and Nova. This early milestone collected about two months of post-Diablo work… but it’s not as busy in new features as most would think, since a big part of those last two months was spent releasing OpenStack 2011.3 and brainstorming Essex features.

Keystone delivered their first milestone as a core project, with a few new features like support for additional credentials, service registration and using certificate-based SSL client authentication to authenticate services. It should be easier to upgrade from now on, with support for database migrations.

Glance developers were busy preparing significant changes that will land in the next milestone. Several bugfixes and a few features made it to essex-1 though, including the long-awaited SSL client connections. It also moved to UUID image identifiers.

The Nova essex-1 effort was mostly spent on bugfixing, with 129 bugs fixed. New features include a new XenAPI SM volume driver, DHCP support in the Quantum network manager, and optional deferred deletion of instances. Under the hood, the volume code was significantly cleaned up and XML templates were added to simplify serialization in extensions.

Essex-1 was also the first official OpenStack milestone for Horizon, also known as the Dashboard. New features include a instance details page, support for managing Nova volumes and a new extensible modular architecture. The rest of the effort was spent on catching up with the best of core projects in internationalization, developer documentation, and QA (frontend testing and JS unit tests).

Now, keep your seatbelt fastened, as we are one month away from essex-2, where lots of new development work is expected to land !


by Thierry Carrez at November 14, 2011 02:50 PM

November 11, 2011

OpenStack Blog

Community Weekly Review (Nov 4-11)

OpenStack Community Newsletter – November 11, 2011

HIGHLIGHTS

  • New weekly graphs of commit activities on OpenStack main repositories
  • The OpenStack wiki now accepts Launchpad ID for login (thank you, Chmouel)
  • OpenStack packaging coordination effort hangs out on irc.freenode.net #openstack-packaging
  • The OpenStack devroom was accepted at FOSDEM 2012: shine your passport, meet developers in Bruxelles, Feb 4-5

EVENTS

DEVELOPER COMMUNITY

GENERAL COMMUNITY

COMMUNITY STATISTICS

  • A new format for the community statistics: the gallery below shows the activity on some of the OpenStack repositories, lines of code added and removed by the developers during the past week. Let us know what else you would like to see on a weekly basis.
Contributions to glance week 44 Contributions to keystone week 44 Contributions to manuals week 44 Contributions to nova week 44 Contributions to swift week 44 Contributions to swift week 44 Contributions to horizon week 44

 

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at November 11, 2011 11:34 PM

November 09, 2011

Anne Gentle

DocBook, ePub, Hackathon, What More Could You Ask For?

This Friday, on 11/11/11, the Austin Rackspace office is holding a Hackathon. The projects range from “fix the arcade game” to “install notification system to indicate availability of the men’s room” to my pet hack project, “create epub output for Rackspace and OpenStack manuals.”

Here’s a short introduction about making epubs from the FLOSS Manuals book, E-Book Enlightenment.

Of all the formats for e-books only EPUB combines small file sizes with the ability to do formatted text and illustrations. An EPUB is like a website contained in a Zip file, with a Table of Contents attached. It is also in one important way different from a website. A website is made with HTML (usually) but an EPUB is made with XHTML.

The difference is small but crucial. HTML is meant to be forgiving. If you make a web page you can leave out some tags, fail to close tags, or close tags in a different order than you opened them in. A web browser is supposed to forgive that, as much as possible. XHTML, on the other hand, is like HTML that is not forgiving. You can’t leave out a tag or put in a tag where the XHTML browser does not expect it. If an XHTML browser discovers an error in your page it can simply refuse to display it.

The end result is that an XHTML browser is easier to make than an HTML browser. A lot easier. It does put a burden on the e-book author to get his tags right, but in practice you’ll never create an XHTML file by hand.

With automation in mind, we’re going to use our existing toolchain to make the epub. Earlier this year, Robert Nagle, a tech writer in Houston, wrote up his findings about Docbook and epub. He writes for the Teleread website. What’s interesting to me is that he wrote up this blog post last year (11/7/10) about his findings while making epub from DocBook source and this past September said his next priority is moving his workflow to Oxygen + Ant + DocBook. David Cramer, our Doc Build Developer, has briefly tested the Maven-based toolchain by simply adding the goal generate-epub to a pom.xml file and building. That method did not copy over images. Then he tried building as part of the clouddocs plugin and received an error. We’ll start our debugging with the toolset, but we’ll also need debugging of our DocBook source as well.

Most of the “success” of the hack fest will be having fun and not sweating the small stuff. To me, we can call it done when we have epub examples for one OpenStack book and one Rackspace book that you can page through and read on a plane. Images should behave within reason, tables should be readable, and notes should be designated as such. Beyond those criteria, we’re exceeding expectations.

In case you’re curious about our tool chain for OpenStack docs, I have instructions on the OpenStack wiki. If you’re on a Mac or Linux machine, here are the quick steps for getting started with the tool chain for the openstack-manuals project:

1. First install the Apache Maven project.
With Macports already installed on a Mac, you can do this:

sudo port install maven2
or on Ubuntu

sudo apt-get install maven2

2. Install Git by referring to Mac or Linux instructions.

3. Get (git it? Ha!) and then build the docs with these commands:

git clone https://github.com/openstack/compute-api.git
cd compute-api/openstack-compute-api-1.1
mvn clean generate-sources

You will see a /target directory containing HTML and PDF output. Perhaps after Friday, you’ll also see epub output, who knows? While Friday’s Hackathon is for Austin Rackers, I’m happy to share our experiences here. Here’s hoping the OpenStack community will benefit from our hacking.

by annegentle at November 09, 2011 03:35 PM

November 06, 2011

Stefano Maffulli

OpenStack at UDS

What a week! Ubuntu Developer Summit is one of the best meetings I have attended to. Here are a few things that impressed me most.

The infrastructure is amazing! The networking is astonishingly good. I learned that the Ubuntu team bypasses the usually lame the Internet connections provided by the hotels and puts down their own. Ubuntu’s wifi was gratis, easy to join and always on! By comparison, the access provided by the hotel was mostly down and costed $10 per day.

The participation is insane! Not only Canonical employees participate to the summit but also volunteers from around the world. In Orlando there were around 700 people all interested in making Ubuntu the greatest operating system in the world.

OpenStack is everywhere! Three plenary sessions were dedicated to OpenStack and many sessions of the summit had to do with it. Canonical is putting lots of energy into making OpenStack its cloud. Mark Shuttleworth in one of these sessions made it also clear that he wants to provide resources for OpenStack to maintain compatibility Amazon’s API.

Rackspace distributed the coolest t-shirts at the event: we ran out of three full boxes in a few minutes.

The pace of the summit was not as mad as I imagined after looking at the schedule. Even if there are many parallel tracks from 9am to 6pm for five full days, I ended up with plenty of time free to meet people and talk with them. Sharing the same hotel with a big swimming pool and very nice weather probably helped the conversations. I enjoyed also the free buses available to go out in large groups.

All in all, it was great to be there since OpenStack Developer Summit is modelled after UDS.

Share and Enjoy:Identi.caTwitterLinkedInFSDailyFacebookGoogle BookmarksPing.fmemailTumblrdel.icio.usDiggRedditStumbleUpon

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>

Related posts


Stef for ][ stefano maffulli, 2011. | Permalink | No comment
Post tags: , , , ,

by Stef at November 06, 2011 04:29 AM

November 04, 2011

OpenStack Blog

Community Weekly Review (Oct 28-Nov 4)

OpenStack Community Newsletter – November 4, 2011

HIGHLIGHTS

EVENTS

DEVELOPER COMMUNITY

GENERAL COMMUNITY

COMMUNITY STATISTICS

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at November 04, 2011 09:04 PM

November 02, 2011

Ryan Lane

A process for puppetization of a service using Nova

For the proper automation of a service using puppet, it’s necessary to ensure the service can be installed repeatedly, and that the service is fully up and ready when it is built. To ensure this, I’m using the following process, using nova:

  1. Create an instance and use it to do experimentation with the service.
  2. Document the service, along with the installation process on wikitech, after ensuring the service is working properly.
  3. Create a second instance. Following the documentation written, puppetize the service.
  4. Create a third instance. Ensure the puppetized service runs properly when initialized from scratch.
  5. Kill all three instances, and replace the instances in the test cluster.

When a service changes in puppet, follow the above cycle as well.

Using this process, I can be assured the puppet manifests, as written, will allow me to repeatedly install this service.

Related posts:

  1. Sharing home directories to instances within a project using puppet, LDAP, autofs, and Nova
  2. Announcing OpenStackManager extension for MediaWiki
  3. OpenStackManager version 1.3 released

by Ryan Lane at November 02, 2011 01:20 AM

November 01, 2011

Ryan Lane

Sharing home directories to instances within a project using puppet, LDAP, autofs, and Nova

As mentioned in an older post, I’m building a test and development environment using OpenStack. The environment is intended to be fairly integrated. Part of this integration is a consistent working environment between instances in a project. Providing home directories via NFS is the easiest way of ensuring this consistent working environment.

The problem with NFS home directories, however, is that they are fairly insecure. They can be used between instances to escalate privileges. In our environment, this isn’t a problem for instances within a project. If a user is a member of a project, they have shell on all instances. If they are given sudo access in a project, they are given sudo access on all instances. Between projects, however, is a problem. user-A with root on instance-A in project-A could su to to user-B on instance-A, modify the user’s authorized_keys file, and then have access to project-B if home directories are shared across projects.

To avoid cross-project escalation, each project needs its own set of home directories. This means we can’t simply export /home to the instance’s private network and be done with it. We’ll need to create an exports file, and share different directory trees with specific instances. We’ll also need to mount home directories differently on the instances, depending on the project they belong to.

To do so, we’ll use a combination of puppet, LDAP, autofs, and Nova.

Creating the exports file

To create the exports file we need three things:

  1. A list of projects
  2. A list of instances within each project
  3. A list of home directory locations for each project

The first two can be found via LDAP. The query for a list of projects is: ‘(&(objectclass=groupofnames)(owner=*))’. The query for a list of instances within each project is: ‘(puppervar=instanceproject=<project>)’. Of course, this approach is only usable for people using the OpenStackManager extension for MediaWiki; I’ll mention more portable ways to get this information later in the post.

The third we can extrapolate, we just need a base directory. I chose to use /export/home/<project> for the locations.

I wrote a python script that will pull this information, and create an exports file that looks like this:

/export/home/<project1> <project1-instance1>(rw,no_subtree_check) <project-instance2>(rw,no_subtree_check) <project_instance...>(rw,no_subtree_check)
/export/home/<project2> <project2-instance1>(rw,no_subtree_check) <project2-instance2>(rw,no_subtree_check) <project2_instance...>(rw,no_subtree_check)

Mounting the shares from the instances

Each instance needs to mount the share, depending on its project. There’s a number of ways we can do this, but I like the flexibility of using autofs and LDAP to manage NFS mounts. To add slightly more flexibility we’ll involve the help of puppet as well.

In LDAP, we can create autofs entries by making maps and objects. The following objects add support for /home:

dn: nisMapName=auto.master,<basedn>
objectClass: top
objectClass: nisMap
nisMapName: auto.master

dn: nisMapName=auto.home,<basedn>
objectClass: top
objectClass: nisMap
nisMapName: auto.home
dn: nisMapName=/home,nisMapName=auto.master,<basedn>
objectClass: top
objectClass: nisObject
cn: /home
nisMapEntry: ldap:nisMapName=auto.home,<basedn>
nisMapName: auto.master

We also need to add entries for the specific home directories. Here we are going to invoke a little awesome magic that autofs has: variables. Here’s the entry we are using for all home directories in all projects:

dn: cn=*,nisMapName=auto.home,<basedn>
changetype: add
nisMapEntry: ${SERVNAME}:${HOMEDIRLOC}/&
objectClass: nisObject
objectClass: top
nisMapName: auto.home
cn: *

We only need the one entry, which saves us from having to create and delete entries on creation and deletion of projects. Using this, however, means we need to set the variables. This is where puppet comes in. First, though, let’s look at the node in LDAP:

dn: dc=i-0000005c,dc=pmtpa,ou=hosts,dc=wikimedia,dc=org
objectClass: domainrelatedobject
objectClass: dnsdomain
objectClass: domain
objectClass: puppetclient
objectClass: dcobject
objectClass: top
puppetVar: realm=labs
puppetVar: writable=false
puppetVar: db_cluster=s1
puppetVar: instancecreator_email=rlane@wikimedia.org
puppetVar: instancecreator_username=Ryan Lane
puppetVar: instancecreator_lang=en
puppetVar: instanceproject=testlabs
puppetClass: base
puppetClass: ldap::client::wmf-test-cluster
puppetClass: exim::simple-mail-sender
puppetClass: db::core
puppetClass: mysql::mysqluser
puppetClass: mysql::datadirs
puppetClass: mysql::conf
l: pmtpa
associatedDomain: i-0000005c.pmtpa.wmflabs
associatedDomain: labs-db2.pmtpa.wmflabs
dc: i-0000005c
aRecord: 10.4.0.12

All the above objectclasses and attributes are available for use in puppet. The really important one here is instanceproject=testlabs.

We can set the autofs variables via the OPTIONS variable in the /etc/default/autofs file:

OPTIONS=”-DSERVNAME=<%= nfs_server_name %> -DHOMEDIRLOC=<%= homedir_location %>”

Here SERVNAME and HOMEDIRLOC autofs variables are being set. nfs_server_name and homedir_location are being set via a puppet template. Both are being determined via a manifest:

$homedir_location = "/export/home/${instanceproject}"

nfs_server_name is a hash, based on the project:

$nfs_server_name = $instanceproject ? {
	default => "labs-nfs1",
}

I chose to use a hash based on project so that I can choose to separate the server based on project as well, if needed for performance, or extra security.

Managing user home directories

Everything up to this point is just creating the shares. However, we must maintain the users’ home directories as well. For this, we need to know which users are in which projects, and we need to manage their home directories per project.

I wrote a script to search for users, based on a group (the project), that selectively creates/deletes/renames home directories and authorized_keys files. I should note here that I don’t use nova’s mechanisms for SSH key management, as it isn’t portable between applications. I instead store the keys in the user’s LDAP entry.

There’s a security issue with management of home directories. If a user is added to a project and we create a home directory, with a populated authorized_keys file, then remove the user from the project, but don’t remove their home directory, the user will still have access to the project’s instances. There’s two ways I go about solving this issue:

  1. Ensure the user only has access to the instance if they are in the project, using access.conf. In my architecture, when projects are added, they are also made a posixgroup, with a gid. Thanks to this, we can treat the project as a system group in all instances. In access.conf we limit access to the project group.
  2. User’s home directories are moved from /export/home/<project>/<user> to /export/home/<project>/SAVE/<user> when they are removed from the project.

Problems with this solution, and future improvements to make

The major shortcoming of this solution is that it isn’t terribly portable. It is dependent on using LDAP, and storing specific information in the LDAP directory. Using the nova tools, or having nova manage the exports on instance creation/deletion would make this a much more portable solution.

Another shortcoming is that it isn’t terribly scalable. The exports file is being created from scratch every single script run (which needs to happen fairly frequently). Ideally, nova would write to a queue, and the NFS instance would add/remove instances from the exports as instances are created/deleted.

Thankfully, I didn’t have a shortage of ideas about how to accomplish this, as shown in my proposal. I decided upon the quick and dirty approach, opting to do one of the more reusable approaches later. I’ll likely add support to nova for this at some time in the future.

Related posts:

  1. Why I chose MediaWiki for my OpenStack Manager project
  2. A process for puppetization of a service using Nova
  3. Announcing OpenStackManager extension for MediaWiki

by Ryan Lane at November 01, 2011 05:49 PM

October 31, 2011

OpenStack Blog

Great Turnout at the first Austin OpenStack Meetup

.

Last Thursday, a number of us Austin OpenStack fans decided to get together and talk OpenStack, Diablo, Crowbar, and more.

We had a fantastic turnout of almost SEVENTY people who came out that night – almost at near capacity for our venue, Tech Ranch Austin.  A number of startups where represented, as well as a number of notable OpenStack partners like Rackspace, Canonical, and Dell (the company I work for), who sponsored this first OpenStack meet up in Austin.

This meetup coincided with the Rackspace Cloud Builders OpenStack training, being held at the Dell campus that entire week, so a number of OpenStack students from that class, many who had flown in for class from out of town / state, were able to make it as well.

It was a great pleasure for us here at Dell to sponsor the first Austin meetup for OpenStack, and I look forward to our community growing as other partners help us sponsor future meet ups.

You can get more details on what was discussed at the meetup at Rob’s blog – www.RobHirschfeld.com.

If you’re in the Austin area, and are interested in joining the OpenStack Austin meetup group, join us at www.meetup.com/OpenStack-Austin.

by JosephG at October 31, 2011 04:01 AM

October 28, 2011

OpenStack Blog

Community Weekly Review (October 21-28)

OpenStack Community Newsletter – October 28, 2011

HIGHLIGHTS

EVENTS

DEVELOPER COMMUNITY

GENERAL COMMUNITY

COMMUNITY STATISTICS

This weekly newsletter is a way for the community to learn about all the various activities occurring on a weekly basis. If you would like to add content to a weekly update or have an idea about this newsletter, please leave a comment.

by Stefano Maffulli at October 28, 2011 08:35 PM

John Dickinson

Democratization of Data

You should have control over your data. If you want to host your own data, you should be able to. If you want to pay someone else to host your data, you should be able to interact with their systems in the same way you interact with your local system. You should be able to change hosting providers without changing your interface. You should be able to pull your data from a hosting provider to host it locally. You should be able to host your data across many providers seamlessly. You should be able to move your compute needs to your data storage. You should be able to separate your concerns over distributing your data from who is distributing your data.

You should be in control of where you data lives, how you compute on it, and how you distribute it. This is the promise of Openstack: a common infrastructure that puts you in control of your data. This promise is the democratization of data.

Ultimately, the democratization of data comes down to storage. Openstack provides a high-quality object storage system called swift. Swift is ideal for unstructured data that can grow without bound. Backups and static web content are perfect examples of good use cases for swift.

Computing on your data is provided by another Openstack project: nova. Nova enables the management of large numbers of dynamic virtual machines. It is directly comparable to AWS EC2 and Rackspace Cloud Servers.

Openstack currently lacks integration with content delivery networks. Such integration should facilitate simple distribution and management of data with exiting CDN providers (or perhaps even allow you to run your own CDN).

These three pillars, along with various complementary projects like identity management, queueing, and block storage, provide a foundation upon which we can build the future.

October 28, 2011 12:00 AM

October 27, 2011

OpenStack Blog

A team for the OpenStack International Community

With so many people interested in OpenStack that new user groups start regularly. A list on the community page mentions groups in Egypt, Japan, China, and more but we know it’s partial. There are more OpenStack groups and more people are interested in forming one. We’ve established a new OpenStack team, the International Community team on Launchpad with the objective: To help user groups around the world to advertise their existence, to share best practices, announce local events and coordinate activities. And have fun meanwhile.

If you run an OpenStack user group, a meetup, want to host an hackaton join the OpenStack International Community team and subscribe to the mailing list.

by Stefano Maffulli at October 27, 2011 04:10 PM

October 25, 2011

Stefano Maffulli

Measuring code contributions to Openstack

Following the rule “you cannot improve what you cannot measure” I started putting together a system to measure engagement in OpenStack community. There are lots of factors to take into account for engagement of members of a community. With OpenStack I started from code, I will keep adding other sources of data that will help me drive engagement up.

This post is mostly about the progress I made using CVSanaly to dig into OpenStack git repositories, build a database from the git logs and extract useful information from it. CVSanaly is a tool developed under a EU sponsored project (FLOSSmetrics) and currently maintained by a few universities.

For the curious among us, I documented the steps to populate the CVSanaly database with data from OpenStack git repos on a new wiki page. You’ll find there also the implementation details of the reports that answer questions like: Who commited to an OpenStack repo, how many times in the past 30 days? See the demo report built with Pentaho Reporting representing the total number commits per repository in past 30 days (pdf).

The long term vision is to have a self service dashboard where anybody can slice and dice all data about OpenStack community, code, bugs, interaction on mailing list and irc and more. I’m experimenting with Pentaho and Jaspersoft tools, still not sure how to proceed. If you have experience with them let me konw. I’m also hoping that Mozilla releases more details about the implementation of Mozilla Metrics project (still under wraps, after a premature leak a few days ago).

Share and Enjoy:Identi.caTwitterLinkedInFSDailyFacebookGoogle BookmarksPing.fmemailTumblrdel.icio.usDiggRedditStumbleUpon

<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>

Related posts


Stef for ][ stefano maffulli, 2011. | Permalink | No comment
Post tags: , ,

by Stef at October 25, 2011 11:27 PM

James E. Blair

Using Kexec and LVM to Quickly Run OpenStack Integration Tests

On the OpenStack project, we want to test that all of the components install and operate correctly, and we want to do that for every commit of every project.  OpenStack can be deployed using several mechanisms (we know that puppet, chef, and juju at least are being used at the time of writing).  It can also be operated in many different configurations (hypervisor selection, authentication mechanism, etc.). The number of testing variations is large, so we want to operate our test machines as efficiently as possible.

Our first pass at running integration tests on bare metal involved PXE booting a cluster of machines each time the test was run, installing an operating system from scratch, and then installing OpenStack and running the tests.  It didn't take long to notice that we were spending as much time testing whether the machines could boot and install an OS (oddly enough, not 100% of the time as it turns out) as we were testing whether OpenStack worked.

To align the test methodology with what we are actually interested in testing, all we really need is a set of machines as they would be just after completing an operating system installation, ready to install OpenStack.  We can use LVM snapshots to restore the disk to that state, and use kexec to quickly reset the state of the running system.

Kexec is a facility popular with Linux kernel developers that allows the running kernel to replace itself with a new kernel in the same way that the exec system call allows a process to replace itself with a new program.  With one command, a new kernel is loaded in memory, and with a second, the system starts booting into the new kernel immediately (losing any state such as running programs).  Using kexec, we can boot into a new system as fast as Linux itself takes to boot (perhaps 3-6 seconds on a server).

LVM allows us to take a snapshot of the filesystem just after operating system installation is finished.  We can use kexec to boot into a snapshot of that filesystem, install OpenStack, run tests, and when complete, simply kexec boot into a new snapshot of the pristine filesystem and start all over again, with nearly no elapsed time between tests.

To set this system up, when the operating system installation is finished, we run the following script as root:

apt-get install kexec-tools
sed -i /etc/default/kexec -e s/LOAD_KEXEC=false/LOAD_KEXEC=true/
lvrename /dev/main/root orig_root
lvcreate -L20G -s -n root /dev/main/orig_root
reboot

That installs the kexec-tools and enables kexec (note that now any time you reboot your system, the init scripts will use kexec to perform the reboot).  We then rename the logical volume holding the root filesystem to "orig_root", and create a copy-on-write snapshot of it called "root".  The bootloader and fstab are still configured to mount "root" so that's what will be used on the next boot.

Then any time we want to reset the system for a test, we run this script:

lvremove -f /dev/main/last_root
lvrename /dev/main/root last_root
lvcreate -L20G -s -n root /dev/main/orig_root
APPEND="`cat /proc/cmdline`"
kexec -l /vmlinuz --initrd=/initrd.img --append="$APPEND"
nohup bash -c "sleep 2; kexec -e" </dev/null >/dev/null 2>&1 &

That removes the previous snapshot (if there is one) and creates a new snapshot of the pristine filesytem.  The last three lines load and immediately invoke kexec without performing any shutdown tasks.  In our environment, that's okay because once a test is complete, we're going to completely discard the system (including even the current filesystem).  A more gentle approach would be to simply replace the last three lines with "reboot", which will still use kexec, but only after performing a proper shutdown.  The last line in particular is constructed so that it can be run over an SSH connection from the machine that drives the integration tests.  It gives it a chance to log out and tear down the SSH connection before performing kexec.

This approach allows us to quickly execute a battery of integration tests on bare metal without incurring any of the penalties normally associated with booting, installing, and configuring real hardware. This technique may be generally useful to anyone involved in continuous integration testing that needs unmitigated access to the CPU.  On the other hand, if you can test your system on cloud servers, stay tuned because we're working on that too.

by James E. Blair (corvus@gnu.org) at October 25, 2011 08:47 PM