Canonical Voices

Posts tagged with 'ubuntu'

Michael Hall

This is my third Core Apps update, you can go back and read about the Clock and Calendar apps if you missed them.  Today I’m going to show off the Calculator app.

Calculator Features

Basic Functions

The Calculator does exactly what you would expect a calculator to do.  It’s a four-function calculator and does it’s job perfectly well.  But it has a few unique features that make it so much more useful.  Using the old paper-roll calculators as inspiration, the calculator lets you label the numbers in your calculation, so you can go back and see “7 what?”.  When you’re done with a calculation, instead of clearing it off, you simply drag upwards to “tear off” that individual calculation.

Calculation History

Just because you’ve torn off a calculation, doesn’t mean you’ve thrown it away.  Instead, your calculation is stored in a browseable history.  This makes the labels even more useful, because you can go back hours, days, even months to an old bit of calculating.  You can even tap on any number in any of those calculations to insert it into your current one.  If you really are done with a calculation, you can swipe it to the right or left to delete it from your history.

Visual Designs

The Design team says we’ll have visual designs for the Calculator later this week, so the developers will be able to start on implementing those.  Keep an eye on the design team blog and Google+ to see them when they come out.

Release Schedule

The release schedule for the Calculator is the same as the Clock.  It’s already well past what would be considered an Alpha release, so we just called May for that milestone.  Going forward, we plan on delivering a Beta in July that includes the visual designs, followed by a final release in August.

Read more
Nicholas Skaggs

A few months ago the ubuntu touch core apps project was launched. For those of you following along with Michael's regular updates have gotten to see these applications grow up rather quickly.

Autopilot Says: How can I help?
Now it's time to add some more testing around these applications as they have reached a basic functional level of usability. Automated testing via autopilot to the rescue!

To help kickstart this process we've put together a recipe for writing autopilot tests specific to QML applications and added it to developer.ubuntu.com. In addition, we'll be hosting a hackfest next week on June 13th to help add basic autopilot testcases for each of the core apps. Folks will be on-hand ready to field your questions and hack together on the autopilot testcases needed for the applications. Join us and help support the wonderful community of application developers making awesome applications for ubuntu!

So how can you help? 
  1. First, go read through the recipe on writing autopilot tests for QML applications. It's also a good idea to have a look through the official tutorial for autopilot and bookmark the API reference link so it's handy.
  2. Armed with your new knowledge, start hacking on some autopilot tests for the core apps. Here's a list of core applications along with the status of autopilot tests. Choose something that looks interesting to you and add some tests.
  3. Follow the contributing guide to help you get your work contributed into the ubuntu touch core application project you chose.
  4. Finally come out to the hackfest! It's your chance to share your work, ask questions, get your tests sorted and merged and socialize and meet other members of the community.
  5. Don't forget there is a wonderful quality community you can be a part of and get help from if you get stuck! There's a mailing list for ubuntu-touch, and ubuntu-quality as well as IRC channels #ubuntu-touch, #ubuntu-autopilot and #ubuntu-quality. Use these resources to help you!
See you next week and happy testing!

Read more
Michael Hall

Yesterday I posted the first in a new series of Core App Update, featuring the Clock App’s development.  Today I’m going to cover the status of the Calendar

Calendar Features

Calendar View

The calendar now provides several different views you can choose from.  You start off with a full month at the top, and your events for the day below.  Swiping left and right on the month will take you back or forward a month at a time.  Swiping left or right on the bottom half will take you back and forward a day at a time.

Pull the event area down and let it go, and the month will collapse down into a single week. Now swiping left and right there will move you back and forward a week at a time.  Pull down and let it go again and it will snap back to showing the full month.

Finally, you have an option in the toolbar (swipe up from the bottom edge) to switch from an event list to a timeline view of your events.

Adding Events

You can current add events to the calendar app, and they will be stored in a local database.  However, after discussions with Ubuntu Touch developers, the Calendar team is refactoring the app to use the Qt Organizer APIs instead.  This will allow it to automatically support saving to Evolution Data Server as a backend as soon as it’s integrated, making calendar events available to other parts of Ubuntu such as the datetime indicator.  Being able to import your ical feeds is also on the developer’s TODO list.

Visual Designs

We don’t have new visual designs for the Calendar yet, but it is one of the apps that the Design team has committed to providing one for.  Now that they are done with the Clock’s visual designs, I hope to see these soon for the Calendar.

Release Schedule

Once again I worked with the Calendar developers to set release targets for their app.  The alpha release is targeted for month-2, this month, and should include the switch to Qt Organizer.  Then we plan on having a Beta release in August and a Final in September.

Read more
Ben Howard

Ubuntu Server 11.04 has proven to be a venerable server platform, it has nonetheless, reached its end of life on October 28, 2012. Whether or not you are blissfully unaware, end-of-life means that updates and security patches have been discontinued.

As part of the EOL'ing of a release, the mirrors are retired over time. Last week the mirrors for 11.04 were retired from archive.ubuntu.com, which in turn propagated through to the S3 EC2 mirrors. Any person using Ubuntu 11.04 and the S3 mirrors or archive.ubuntu.com will be unable to install software.

Over the last week, the Cloud Image team has fielded several questions from distraught users caused by the continued use of 11.04. We strongly suggest that those running Ubuntu Server 11.04 and the recently expired 11.10 and 8.04 LTS upgrade to a supported release to prevent any disruptions to their infrastructure. The current supported LTS is 12.04 with 13.04 being the latest stable release. Ubuntu 10.04 LTS is supported until April of 2015.

Those who continue to run expired Ubuntu releases may experience issues and may be required to mitigate the movement of mirrors from the S3 and main archive servers to old-releases.ubuntu.com/ubuntu [2]. While Ubuntu 8.04 LTS and 11.10 are currently available at the main archive and S3 locations, they will be removed anytime, per policy [3]

The Symptom

For those who are still running 11.04 and are running the 11.04 Cloud Image, you mostly likely have encountered or will encounter some ugly error messages when you try to access the S3 archives for EC2 images in the form of 404 and 403 errors. For example:

Err http://security.ubuntu.com natty-security/main Sources
  404  Not Found [IP: 91.189.92.201 80]
Err http://security.ubuntu.com natty-security/universe Sources
  404  Not Found [IP: 91.189.92.201 80]
Err http://security.ubuntu.com natty-security/main amd64 Packages
  404  Not Found [IP: 91.189.92.201 80]
Err http://security.ubuntu.com natty-security/universe amd64 Packages
  404  Not Found [IP: 91.189.92.201 80]
Ign http://security.ubuntu.com natty-security/main Translation-en_US

And....

Err http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ natty-updates/main libapr1 amd64 1.4.2-7ubuntu2.1
  403  Forbidden
Err http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ natty/main libaprutil1 amd64 1.3.9+dfsg-5ubuntu3
  403  Forbidden

The reason for this is that when the archives were expired the S3 mirrors themselves replicated the expiration. This is a friendly way to let you know that you should upgrade [3]  to the Ubuntu Server 12.04 LTS.



If, however, you are unable to upgrade, there are two options. 

Fix Option 1:

sudo sed -i 's,http://.*ubuntu.com,http://old-releases.ubuntu.com,g' /etc/apt/sources.list
sudo apt-get -y update

If you intend on rebundling the image, you will need to run the following commands to ensure that bundled images retain the settings:

dpkg-divert --local --rename --add /etc/cloud/templates/sources.list.tmpl
sed -i  's,http://.*ubuntu.com,http://old-releases.ubuntu.com,g' \
     /etc/cloud/templates/sources.list.tmpl.distrib \
    | sudo tee /etc/cloud/templates/sources.list.tmpl

Fix Option 2: Starting new instances

If you are starting a new instance, you can configure your cloud-config to default to the new mirrors. The relevent option is the 

#cloud-config
bootcmd: 
- sed -i 's,\$mirror,http://old-releases.ubuntu.com/ubuntu,g' -e 's,http://security.ubuntu.com.,http://old-releases.ubuntu.com,g' /etc/cloud/templates/sources.list.tmpl.distrib > /etc/cloud/templates/sources.list.tmpl

References

[1] http://fridge.ubuntu.com/2012/10/28/ubuntu-11-04-natty-narwhal-end-of-life-reached-on-october-28-2012/ 
[2] http://old-releases.ubuntu.com/ubuntu/dists/
[3] https://help.ubuntu.com/community/PreciseUpgrades


Read more
Daniel Holbach

In many Ubuntu conversation I’ve been part of many of the participants agreed  that we need “more transparency”. It’s very easy to agree on as transparency is a good thing, it feels good and it makes things better. Achieving it in a meaningful way is a hard problem to solve though. Meaningful to me means not just “all information is available”, but also “relevant information is easy to find”. In Ubuntu development where hundreds of people put of lots of hard work into Ubuntu, we depend on thousands of other open source projects, where there’s discussions on IRC, on mailing lists, hangouts, in specifications and elsewhere, it’s incredibly easy to lose track of what’s important or relevant.

A lot of teams forming the core of Ubuntu send out weekly summaries of their work, which is great. Among them the Mir and Unity 8 team, the kernel team, Unity APIs team, the Ubuntu Touch team and there’s bits of information everywhere. While this is a great start in being able to get a more complete picture, it also takes some time to read, digest, understand and probably talk to people. To help with this we came up with an idea we already discussed at UDS.

The plan is to read and digest the news and have regular hangouts to which invite engineers to talk about what they’ve been doing, show what’s new and answer questions from the audience. To make this even a bit more interesting, we’d like to invite people from tech blogs and tech news sites. The idea being that they know what their readers would like to hear about and what’s interesting. This would bring together the best of many worlds: what’s new in Ubuntu, the new devices, apps, great stuff from the tech press and live interviews with engineers.

What I’d need now is a bit of help with organising this and setting this up. Please leave a comment or drop me a mail, if you think this is a great idea too and would like to help. :-D

Read more
Michael Hall

The Ubuntu Touch Core Apps project is a new kind of collaboration between Canonical and the wider Ubuntu community, with a goal of developing high-quality applications for Ubuntu Touch. A couple of months ago I set out the Core Apps roadmap to October, and it’s high time I got around to giving you an update on our progress.

I had originally planned on giving an update of each of the core apps in a single blog post, but I realized that was going to get very, very long.  And nobody has time to read a giant wall of text.  So instead I’ll be breaking them up, one post per apps, so you can spread your reading time over multiple days.

To kick this off, here are the latest developments going on in the Clock app:

Clock Features

Sunrise & Sunset

Recently added to the main Clock tab is a way to check the sunrise and sunset times for the day.  Simply tap on the clock face and it will switch to the sunrise/sunset view.  Tap it again to switch back.  Swipe up from the bottom to reveal the toolbar, where you can set your location (which is used to calculate your specific sunrise and sunset times).

Alarms

The Clock app developers are still waiting on a platform API to support registering alarms that will work even when the Clock app isn’t running.  But while they’re waiting on that, they’ve still be working hard on the interface for managing your alarms.  Their approach is both minimal and obvious, you drag the hour and minute hands around to the time you and and click Done in the center.  If you need more options, you can pick how often to repeat, what alarm tone to use, and whether or not to vibrate.

Now these won’t actually work until the platform API is in place, but you can already see how it will look to the user, and how simple it is to do.

Timer

Like the alarms, setting a timer is both minimal and obvious.  Unlike alarms, the timer is working today.  Drag the hand around to set how many seconds, tap the minutes part of the time and drag the hand to set the minutes.  Make more than one revolution around the dial and it will start adding hours as well.

Another nice feature is the ability to define custom timers that you can use again and again.  Swipe up from the bottom to reveal the toolbar again, select Add Preset, and set the duration using the same simple dragging motions on the dial.

Stopwatch

Finally we come to the stopwatch part of the app.  In addition to simple start, pause and reset functionality, the stopwatch lets you mark laps as it goes, and keeps a log of each one that you can view both while the stopwatch is running and after.

Visual Designs

Some of you may have seen the new visual concepts that the Design Team published last month, which received quite a bit of positive feedback.  Well this week they sent the Clock developers the completed visual designs for the Clock app, so we should start to get our first taste of those designs in action in the next few weeks.

Release Schedule

Starting a couple of weeks ago, I started working with each of the Core Apps developer teams to set release targets for Alpha, Beta and Final releases of the app, with a goal to have them all at a 1.0 version before the October release of Ubuntu 13.10.  For the clock, we decided to mark the month-1 milestone (May) as an alpha release, because of the progress they had already made.  We then picked month-3 (July) for beta and month-4 (August) for our final release target.  Furthermore we have work items assigned on a monthly release basis to track the progress we are making.

Read more
jono

Smart Scopes Update

One feature that didn’t land in Ubuntu 13.04 was the new Smart Scopes functionality in the Ubuntu dash. This feature greatly widens the scope (pun intended) of the dash returning results for a wide range of online services as well as local results. The whole system was re-architected to be more efficient, and designed to scale across our multi-device strategy.

Although the feature didn’t land in 13.04, the team assured us that it would land in the 13.10 cycle early yet it hasn’t appeared yet. I reached out to the team to get some clarity on why this hasn’t arrived yet, and Thomas Strehl, engineering manager for the feature has provided an update:

When we tried to complete scopes for 13.04 back in March we also introduced some issues which needed quite some time during April to resolve. Especially, resolving the result update flickering and completing all reviews with design (mostly related to previews) took us until the second week of May; that was after our sprint in Oakland. During a review session with Mark Shuttleworth at the sprint it became also apparent that the current way we do scopes isn’t exactly the right one, so we started investigating the right approach also in preparation for a scopes sprint end of May. That preparation work in combination with some more fixing and a lot of merging (around 10 branches), bumping versions etc and having mhr3 leaving for vacation slowed down the progress until 17th of May.

Trying to get everything landed was then suddenly blocked by too many autopilot failures which then turned out to not be the scopes fault but rather a regression when upgrading autopilot 1.3 (as well as problems in jenkins for a few days). Good news is that all those issues had been resolved last week, meaning that after autopilot was fixed the reported autopilot issues of scopes went below the required threshold.

However, it still hasn’t landed as of today, as everything has been prepared for making the switch from raring to saucy so a big chunk is waiting for landing, including the scopes (as discussed at vUDS, everything needs to be moved at the same time as autopilot 1.3, hud touch are backward incompatible). To land all this all dependencies (libhybris, ofono, …) of the entire stack have to be resolved first and tests need to continue to pass. We will get there soon…didrocks, sil2100, rsalveti, and cyphermox are heavily working on it as we speak.

So, in a nutshell, things have been delayed due to an intricate web of dependencies, the switch to saucy, and some infrastructure gremlins. Fortunately though, we should see this land soon. Thanks to the team for all their efforts, and to Thomas for providing a thorough update!

Read more
Victor Palau

So a few months later, the game I was working on has now got to Beta stage. Since last time, I have added a few extra things:

  • Proper dogfight with a T50 fighter
  • Plane shadows
  • Scaling for multiple size screens
  • Revamp and multitouch controls
  • Collisions and explosions
  • Full keyboard control
  • Added 13 levels, loaded from level.txt JSON file
  • Tutorial walkthrough
  • and lots of bug fixes

Still only a Beta, but all the game play is now completed, now it is just fixing bugs ;) All the code is here, and some screen shots.

https://code.launchpad.net/~vtuson/+junk/dogfight

screenshot2
screenshot3
screnshoot1


Read more
jono

For some time now we have wanted to improve the community pages on ubuntu.com. While the pages there provided an overview of the community they really didn’t serve us or our new community members very well.

At UDS in Copenhagen back in November we agreed to work on a project to build a new set of community pages, but in a more scalable and accessible way, and in a way that is easier to maintain and improve. We worked together as a community to coordinate a docs jam, to identify what content was needed, start building some of the core material, put together a WordPress instance, get it themed and prettified, and then review the content and get it trimmed, concise, and accessible. The final result is fantastic, detailed, and provides a wonderful springboard for contributing. I plan on having a regular session at every forthcoming UDS to discuss improvements and refinements to the pages to ensure they serve our community well.

Many people contributed their time to this project, and I want to offer my thanks to everyone who helped drive it forward. I want to highlight one person in particular though, Daniel Holbach on my team, who I gave a very explicit goal of pulling together these many threads into a completed product by the end of May. Daniel deftly delivered this coordination with our community contributors, while also balancing the many other projects he is coordinating too. As ever, fantastic work, Daniel!

You can visit the site by simply going to ubuntu.com and clicking the Community link at the top. ;-)

Read more
jono

A while back I blogged about dogfooding Ubuntu Phone; that is, eating our own dogfood by using it on a daily basis. I have been tracking this here.

The phone team were setting the end of May as a goal for getting the phone into this daily driver state, and they have delivered most of what is needed.

In summary:

  • The phone OS is reliable and doesn’t crash.
  • Making and receiving calls works great. The phone now switches the screen on and off when you get a call/SMS, it switches to the phone app when you get a call, and switches the screen on and off when on a call based upon the proximity of your ear to the screen.
  • Sending and receiving text messages works great.
  • The messaging menu works great. Missed calls and texts appear there and I can reply or call back directly from messaging menu. I can also view my SMSes in the conversations list in the phone app.
  • Connecting to wireless networks works well.
  • Mobile data has landed but currently needs manual configuration to be used. I am waiting on the phone team to publish how to test this. UPDATE: Read how to test this here. They will be working on automating this next.
  • Power management is much better; when the phone is not used for 30 secs the screen is automatically shut off.
  • The camera works great (with flash) and photos appear as expected in the gallery. There is a shortcut from the camera app to the gallery.
  • The browser works well, now has a progress bar and overlayed history based upon the URL entered.
  • Orientation support has been added to a number of apps (phone, gallery, notepad, browser etc) so when you turn the phone the UI adjusts.
  • You can now easily add an unknown number as a contact.
  • Most of the fake apps and contact data have been removed.

All in all great progress is being made and I am continuing to use my Galaxy Nexus full time and now most of the bugs that made it a little difficult are fixed. As soon as mobile data arrives that will make life much easier, and the missing link for me is GPS, but the team are working on a location service to serve GPS needs.

Read more
Marcin Juszkiewicz

My time at Linaro is over

Today is my last day at Linaro. And this time it is for real (compared to “So long, and thanks for all the fish” post).

Often people asked me what I like at Linaro. It is openness with the “upstream first!” motto and the team. People with wide experience, open to share their knowledge, many FOSS world celebrities… I will miss those guys.

And this time I will not write summary of what I did at Linaro — most of the things worth mentioning were already mentioned (see archives).

So today I am changing mailing lists subscriptions, pass over maintenance of OpenEmbedded layers to Riku Voipio and other things related to my leave.

But who knows when our tracks will cross again. I think we will meet at FOSS conferences…


All rights reserved © Marcin Juszkiewicz
My time at Linaro is over was originally posted on Marcin Juszkiewicz website

Read more
Marcin Juszkiewicz

Cambridge is nice city. I was there at least once every year since 2009: OEDEM 2009, Emdebian sprint in 2010, during Linaro Connect q3.11, ARMv8 sprint in 2012. But this time it was not work related visit.

Saturday

It was evening when I reached Cambridge. Pawe? took me from the train station and I had occasion to see their new house and how they plan to restructure it. We discussed some things, spoke a bit (mostly I) about ARMology (history of ARM cores) and day ended.

Sunday

Lazy day spent on wandering around in the centre of Cambridge. I could go to Ely or Norwich instead but decided to just take a long walk and see places which I already saw before and find something new as well.

One of new places was Market Square Street Market where many local products could be bought and/or tried. Ostrich burgers, cakes, cookies, cheese, different things made from wood, metal or screws, jewellery made from misc materials like buttons. There were books, movies, music on CDs and vinyls, paintings, different kind of food to buy/taste… And many other things. I spent probably an hour there just walking and checking what do they have on offer.

But as it was yet another quite windy day I decided to buy some wind proof jacket. Visited few shops but did not find anything (finally bought one day later). My cold was already at advanced phase ;(

But it was well spent day. I saw many new places, reminded already visited ones but (mostly due to cold) did not took any pictures.

Monday

I had an appointment with Andrew Wafaa so we met for lunch at the Oak Bistro. Discussed about misc things (like end of my job at Linaro) and at the end I gave him MicroSD adapter which does not stick out from Chromebook. He told me few hours later that it was a problem to get it back from people later during day ;)

After lunch I went to the Whipple Museum. Interesting exhibition. Models of human body, lot of scientific equipment from few centuries. Really worth visiting.

Day ended with visit at 40th Cambridge Beer Festival. I like how event was organized. “No glass, no service” means you can bring your own glass or pay 2.5GBP deposit for event one. There was wide choice of beers, ciders, perries (cider like make from pears), meads and wines. You could buy whole, half or third of pint (meads and wines were sold in 175ml portions) which made tasting easier.

Tuesday

I reserved that day for beer festival only. Leif took day off so we could spend it together there. The only problem was when on Monday’s evening I realized that we forgot to share any usable contact information but we managed to find each other at one of social networking websites.

So beer… I bought several ones and tried even more from local friends. In the official application I marked (random order):

  • Curious (bitter)
  • Summer Virgin (golden ale)
  • Nero (stout)
  • “Ruby… don’t take your beer to town” (dark mild)
  • Krasny Red (bitter, IPA style)
  • Pegasus (bitter)
  • Honeypot (speciality which I got rid to urinal after few sips)
  • Golden Kiwi (golden ale)
  • Bohemium Lager (lager)
  • Zulu (porter)

But there were also other ones and “Dark Mead” for the end of day. With thanks of Leif and Steve I found out what is a source of that strange taste I call “English beer taste” which I am not a fan of. ?According to Steve it is due to hops.

It was great day due to beer and people I met: Andy, Neil, Steve, Leif, Maria and others.

Wednesday

The last day in Cambridge. Went to Fitzwilliam museum to take a look at the art. And I have to admit that I prefer art from 18-19th centuries rather than modern one.

Eat lunch, packed bags and then went to Stansted airport. Funny moment at security gate where officer asked me about amount of cellphones in my bag. There were just two of them: Nexus 4 and Chinese E6 one (plus Kindle and Nexus 7 tablet). Probably it was just routine control ;D

And after around 9 hours I finally arrived at home…

Conclusion

It was good trip, I enjoyed every day of it (even with cold), managed to visit most of the places I planned to, met friends and spent time in other way than usually.


All rights reserved © Marcin Juszkiewicz
My UK trip — Cambridge was originally posted on Marcin Juszkiewicz website

Read more
pitti

I did a 0.2.2 maintenance release for umockdev to fix building with Vala 0.16.1, gcc 4.8 (the changed sizeof behaviour caused segfaults), and current udev releases (umockdev-record stumbled over the new “link priority” fields of udevadm). There are also a couple of bug fixes, but no new features.

Read more
Marcin Juszkiewicz

I was few times in London but always on business without time for sightseeing so decided to change it.

Day one

After few hours trip landed at London Gatwick airport. Some say that’s worst one of five but was not so bad. Why there? Because I could and I was on Stansted, Luton and Heathrow already (plan to use City one next time). Short trip to the city and hello Victoria station — long time no see

Bought Oyster card to use public transport in easiest way and took a metro train to hotel. Nothing fancy — just cheap (65£ per night) hotel without any extras (but with working free WiFi).

Unpacked only needed things and went to city centre. Victoria monument, Buckingham Palace, the Mall etc. More or less followed the most popular trip from the “Trip Advisor” application.

Went to Thames, crossed with one bridge, looked at London Eye (and decided to skip it) and then Big Ben and Westminster Abbey were next. I considered returning to the Abbey next day but later decided against it. IMG_20130515_180849 IMG_20130515_174032 IMG_20130515_173910 IMG_20130515_173640 Ben, the big one IMG_20130515_172917 IMG_20130515_172909 IMG_20130515_170932 IMG_20130515_165317 IMG_20130515_165313 IMG_20130515_165309 IMG_20130515_165306 IMG_20130515_164929 IMG_20130515_164910 Guard at the Mall Victoria Monument IMG_20130515_155523 Victoria Monument IMG_20130515_155100 Guard near the Admiralty Arch

Grabbed some food and went to sleep early as it was 3rd day when I woke up around 5:00.

Day two

Thursday… Skipped Westminster Abbey and went by foot to the British Museum. Met Mark Brown on a way and we had good time looking at all those things which British Empire had stolen from all around the world. We didn’t managed to find Britain sections.

After lunch I went to the Forbidden Planet store. And sunk there for quite long time. Then got back to buy two more books. This place was amazing…

They had stuff related to movies, games, tv series – figurines, key chains, t-shirts, toys, rings/jewellery, helmets, weapons and other… Some from limited editions. But when I wondered “is that’s all?” I went to the basement. And sank.

Comics, books, movies, tv series, manga, anime, photo albums and more. Books about movies, books which movies were based on (and vice versa). “Darth Vader’s princess” and “Darth Vader and his son” were there (9£ each), “Simon’s cat” books which my daughter would love (so I bought one), lot of SF and fantasy books in nice editions (Asimov for example).

“Big book of butts” looked funny. Next one was “Big book of legs” next to “pin-up girls” and other photo/erotic ones.

Nice place to go to but I warn you – you can leave a lot of cash there and have problem packing…

IMG_20130516_160659 IMG_20130516_155722 IMG_20130516_155701 IMG_20130516_155530 IMG_20130516_155109 IMG_20130516_154950 IMG_20130516_153703 IMG_20130516_153516 IMG_20130516_153430

Lack of Britain sections in museum made me go to their website to check floor plan. And back to the building to see few more exhibitions. When I finally found what was searching for they told us to leave :-(

But no need to be sad I thought cause I was going to meet long time no see friends at a pub not so far away. Went there, ordered some “organic lager” and sat down to wait for them. Few minutes later I had a chat with some guys around 60 years old about some random stuff. Good part were their recommendations which beer to try next. As you probably guess it was not lager but rather ale or something more English.

YaaL and Pornel arrived and we had nice chat about life, work etc. Time passed too fast :-( But it was good to meet after so many years.

Day three

This had to be no museums day. First I went to visit Canonical’s office as I have never been there…

Finding building was quite easy, then discussion with security took a bit more before they finally realised that I am on a visitors list already. Got tour of the office, looked at wall full of Ubuntu Touch interface mockups, discussed few of them with someone, made some coffee and left the building.

Next step was Tete Modern Art gallery. I spent few hours there watching all those sculptures, paintings and installations which were counted as art in previous century. Did not even tried to understand those…

Due to cold I got during previous days I went back to the hotel. But why stay there when there are so many places to visit and so little time?

So I decided to make use of longer opening hours at the British Museum and went there. This time managed to see Britain sections and European Medieval times ones. It was good evening.

Day four

As this was my last day in London I decided to not go far from the hotel. Checked out, left luggage and went on foot to the Science Museum.

Lovely place. Went quickly though Space exhibition (cause most of it I saw at Cape Canaveral already) but other ones were worth seeing. Age of Steam with all those engines and descriptions, vehicles like bikes (starting with “safety bicycle” by Rover), motorcycles, cars (including JET 1 powered by gas turbine) but also planes (with replica of Wright brothers one) and helicopters.

I enjoyed the “Materials” exhibition — especially body model with some artificial addons and long list next to it informing which materials can be used for which implants and other inserted parts.

There was also special exhibition about Alan Turing and his work.

Oldest preserved locomotive Rocket Electric car from XIX century Electric car from XIX century Me and tire of my next car Harrier WTF? Which materials go where in human body Wide selection of different materials in one place Nice model to show kids Essential tools #2 Essential tools #1 Mini version of Mini Apple I Rover Gas Turbine Car JET 1, 1950 de Dion-Bouton motor tricycle, 1899 Safe bicycle from Rover

After visit I went for food, took luggage from hotel and then the Underground to King’s Cross train station and went to Cambridge. But this will be next post.


All rights reserved © Marcin Juszkiewicz
My UK trip — London was originally posted on Marcin Juszkiewicz website

Read more
bmichaelsen

One and Only

I am the one and only nobody I’d rather be

I am the one and only you can’t take that away from me

– Chesney Hawkes, The One and Only

Just a short note: I have missed the exact date in the release madness for Ubuntu 13.04 Raring, but a few days ago something important silently happened: All supported Ubuntu releases are now shipping with LibreOffice by default, as trusty old Ubuntu 10.04 LTS (Lucid Lynx) reached its end of support for the desktop. So we now have these supported releases:

  • Ubuntu 12.04 LTS (Precise Pangolin) with LibreOffice 3.5
  • Ubuntu 12.10 (Quantal Quetzal) with LibreOffice 3.6
  • Ubuntu 13.04 (Raring Ringtail) with LibreOffice 4.0
  • and upcoming: Ubuntu 13.10 (Saucy Salamander) with LibreOffice 4.1

Also the following releases (which are not supported anymore) have been done in addition:

  • Ubuntu 11.04 (Natty Narwhal) with LibreOffice 3.3
  • Ubuntu 11.10 (Oneiric Ocelot) with LibreOffice 3.4

Looking back in time at the angstridden, not-acting-but-reacting excitement of the early days and comparing it with the way we are really pushing the envelope now, we have really come a long way, improving with every step on the way. Well worth a celebration with one of the most cheesy 1990ies hits ever – Thanks to everyone, who was and is part of this!


Read more
jono

Recently we had our online Ubuntu Developer Summit where we discussed a range of topics, defined next steps, and documented work items. The very last session at the event was an overall summary of the tracks (you can watch the video here), but I wanted to blog an overall summary too. These notes are quick and to the point, but they should give an overall idea of decisions made.

Client

  • Content Handling -

    • Siloing apps.
    • Main applications will define a “main repo” and provide an API to deliver, share and access the data in the main repo.
  • X.org

    • Want to update to 1.14 or even 1.15 if the video ABI doesn’t change.
  • System Settings

    • Focus on the phone settings defined here.
  • Scopes

    • Scopes that didn’t land in 13.04 should land within 2 weeks.
    • Several scopes will be migrated from Python to either C++ or Go for memory purposes.
  • Chromium

    • Expressed interest in moving to Chromium as default for a better user experience. Gathered feedback on the possible move. Next steps are to take discussion to the mailing list.
  • Unity 8/Mir Preview in 13.10

    • Want to have a preview of Ubuntu 8 (Phablet UI) running on Mir as an optional session (installable from universe or PPA, most likely).

Foundations

  • Reviewed the current 13.10 release schedule found several changes made in 13.04 that mistakenly hadn’t been carried over, such as later freeze dates and one fewer alpha; Adam Conrad will be syncing all this up and sending mail to the ubuntu-release list for review.
  • We discussed the positioning of the development release in light of some conversations last cycle, and put some more flesh on the design for making it easier for people to follow along with the development release all the time.
  • This cycle, we’ll be bringing up a new 64-bit ARM architecture based on cross-building work done last cycle, and we’ll update developers on that once we get closer to the point of starting up builds in Launchpad.
  • Moving forward with click packages. Fleshed out ideas on source package provision, integrating with existing client package management stacks, and clarifying some other things like the security model.
  • For image based upgrades, the team held a demo and Q&A for the current proposed solution, which is split into client, server, and upgrader; client is going well and expected to land by the end of June, server is currently blocked on infrastructure but should be ready around the same time, and Ondrej Kubik has been making good progress at tweaking the CyanogenMod recovery environment for the upgrader.
  • Firmed up the plan for packaging Android components for Ubuntu Touch images.
  • Upstart will be used as the standard way of spawning desktop apps for Unity on touch devices and ideally on desktop too (Unity 7 and 8). This will let us make sure we only have one instance per app, and will make it easy to apply AppArmor, seccomp and cgroup confinement consistently to all apps.
  • Defined a goal to reduce the amount of time it takes to prepare, test and make a Checkbox release, automating more of the process. This will benefit people who use the Checkbox tool as part of their daily work. It’s possible that Checkbox may move to Universe, although this needs some more discussion.
  • The server certification tools are being reengineered to use the new plainbox engine as their core. This will preserve the existing UI, but we’ll have co-installable packages with the new core, and will eventually switch over to the new tools.
  • The cert tools and test suite are being upgraded to work well on ARM for our hyperscale and mobile work, fixing any issues so we can get full, clean test runs on ARM servers. MaaS will be used for provisioning, and tested as a part of the ARM server solution.
  • We will be basing the primary kernels for 13.10 on Linux 3.10, but will strongly consider 3.11 depending on timing. For Ubuntu Touch devices, we already have kernels available for Nexus 4 and 7, and plan to also bring up kernels for Galaxy Nexus and Nexus 10. We’ll provide a 13.04 hardware enablement kernel in the 12.04.3 point release.
  • In terms of Ubuntu Touch power management, we have some preliminary baselines against Android on Nexus 4 and will replicate those on other devices, although they won’t be entirely meaningful until things like Mir land. We’ve written some new utilities such as eventstat to track down problems here. On power management policy, we agreed key requirements for the system power manager and we’ll extend powerd to serve our immediate needs.

Community

  • Community Roundtable:

    • Approved LoCo teams are no more, will be verified teams.
    • Bringing back fortnightly leadership meetings.
    • Ubuntu Advocacy Kit is driving to 1.0.
    • Gathered UDS feedback.
  • Ubuntu Community Website

    • Great discussion which clarified everybody’s involvement in the project.
    • Clear roadmap for completing the content and design in the next few weeks.
    • Design and web team have the templates we need to finish the work.
    • No discussion with IS yet around deployment – this will be coordinated next week.
  • Ubuntu Womens Session

    • Several events planned to get more people involved and the word out (Career Days, UOW, etc.).
    • Discussion about a women in technology themed event at CLS.
  • Ubuntu Status Tracker

    • The status tracker is many things to many different teams, but we managed to figure out a number of issues we can tackle, which should make everybody’s lives easier.
    • Removal of kanban view.
    • Add links from team pages to milestones pages.
    • Set up a meeting to discuss setting up an “ongoing” dev series.
  • Ubuntu On Air! Discussion

    • Issues with supporting multiple hosts.
    • Discussion about building support into summit and re-using vUDS components to support more shows and multiple hosts.
    • We want to open it up to more contributors, so we get more variety into the shows.
  • Development Onramp for Touch / Unity Next

    • Goals to improve docs.
    • We will track contributions to all the projects to see how we improve.
    • Increased focus on testing, coordination with the SDK team.
  • Documentation Team

    • Update Getting Started Page, review current docs and previous mailing list feedback.
    • Regular doc review cadence and more health check meetings.
    • Focus on content in the UAK.
  • Ubuntu Enterprise Desktop Discussions

    • Another meeting will be planned to get more input from users of enterprise desktops.
    • Some common issues were identified and discussed:
    • outdated cfengine package
    • access to Firefox/Thunderbird packages before publication (resolved)
    • support for livemeeting/linc
  • More Ubuntu Touch images

    • We identified the current blockers and will simplify thingsby using an image without firmware blobs, so they can be added by a local tool afterwards.
    • After the rebase to saucy we will also update the docs accordingly.
    • Kernel images for devices will first live in PPA, afterwards probably in universe.
  • Regular Ubuntu Development Updates

    • Organise regular Ubuntu on Air Hangouts to which we invite people from news sites as moderators.
    • Briefly summarise work from the last week(s).
    • Ask engineers to demo/showcase interesting developments.
    • Do Q&A sessions.
    • Also invite members of governance teams along.

Cloud and Server

  • Openstack Next Steps

    • Looked at some high level areas for this cycle, avoiding digging into areas covered by other sessions. We decided that at current, moving over to Git for our packaging work doesn’t add value. We also agreed to clean up on some cruft within the packaging branches.
  • Cloud Archive Status Check

    • Decided we had to support Grizzly for 12 months, which exposes a 3 month support gap from the backing Raring release. Need to discuss with the security team about how to fill this gap. Reviewed proposal for SRU cadence and tentatively rubber stamped.
    • Better co-ordination around trumping by Security dates, specifically if it covers more than one project.
    • Looked at using updates as a reason to increase our messaging.
  • 12.04.x images with LTS Enablement Kernel

    • The cloud images currently only contain the Precise (3.2) kernel. Discussed adding the kernel HWE stack to cloud images. We need to document how to enable backports, clearly state the support, and possibly tool cloud-init to handle updating the kernel on boot if folks need a more recent kernel on boot.
    • We will not be creating new images with the HWE kernel for the default images. The HWE kernel will be used for Clouds that have a high velocity of change in the Hypervisor (i.e. Windows Azure). For the regular images, we will investigate tooling in cloud-init and other places to make the ingestion of the HWE kernels easier, such as enhancing the documentation, allowing for easier enablement of backports, and making it easier to enable the HWE kernel at boot time.
  • Cloud-Init for Vagrant

    • We will create a good Ubuntu development workflow for Vagrant users (cross platform OSX, Windows). Ben Howard will investigate cloud-init tooling as well as the best method to enable the DKMS modules.
  • Cloud Init & Cloud Image Development for Saucy

    • We will define the development work to improve cloud-init and cloud images for the saucy cycle.
    • Discussed work on pre-cloud init phase, vendor hooks, cloud init plugin, and rebuding tools.
  • Juju Core Development

    • 1.10 version of juju available in backports for 13.04, and should be available in precise backports soon.
    • Look for releases in juju/dev ppa updating weekly, juju PPA monthly, and have stable release go into backports (couple of times per cycle).
  • OpenStack Hypervisors

    • HyperV support is currently untested.
    • VMWare support in charms, but not primary supported charms.
    • We need a matrix to demonstrate interoperability and support of each variation.
    • Need to work out additional hardening support.
  • Openstack QA

    • Building on our great history, moving away from per commit hardware testing to a more fluid multi virtualised separated environment, allowing greater interoperability testing. Hardware Cert term showed interest in getting more involved. The scope of this will be ratified when the interop matrix is created.
  • Flag Bearer Charms

    • Will improve flag bearer charm integration testing.
    • Implement list of reference charms.
    • Develop Percona backup XtraBackup flag bearer charm.
    • Document flag bearer and reference charm criteria in best practices.
    • Discuss flag bearer charms on mailing list.
  • Charm Policy Review

    • Add into policy for a charm to provide a config option to specify the version. The other items such as installation location (ie /srv), implementation of common subordinates, backups are to be added to best practices. The 3 ack on charm reviews is still under discussion.
    • Split Juju docs best practices and policy sections.
  • Audit Charms

    • Discussed re-reviewing the current charms in the charm store to ensure accurate readmes, tests, functionality, rating, categories, and icons. The workflow was discussed for queues, and which charms to tackle first.
  • Charm Development Tooling

    • Discussed gathering all the different charm development tools into one central package. These charm development tools include charm-tools, charmsupport, juju-gui,openstack-charm-helpers. Folks also discussed how the tools could be improved, and used as a singular set.
  • Juju Framework Charm for Server Application Technologies

    • Discussed further building out of the Django, Rails, Node.js, and possibly Java.
  • Improve Juju Documentation

    • Make a better user and charm developer experience for juju.ubuntu.com/docs. Discussed getting a permanent beta site going, methods to get documentation contributions. Hopefully a revamped docs will be in production in the next couple of weeks, and if not we’ll have a beta site very shortly (days).
  • Juju Charm Testing

    • Currently jenkins.qu.u.c has graph testing showing reliable results. Marco will be landing integration soon (days), with a more formal testing framework to follow (weeks).
    • Some ideas discussed were to gate charm store commits on testing, showing testing status in the GUI, and pre-deployment testing. Test examples will be made available along with a charm testing school.
  • Add User Feedback loops and Social Networking to Charm Store Charm Pages

    • Discussed making sure users have a method to give and receive feedback on a per charm basis. We currently have social networking (+1s, Likes, Tweets) in addition to downloads, quality rating, bug links, and testing status. Some ideas were to get clarification from design on showing social networking numbers, as well as a ‘leave feedback’ form.
  • Juju GUI Development

    • Discussed development done, and upcoming work. Covered ideas such as design, bundles, diagnostics, user data, juju feature parity, maintenance and support.
  • Improving QA for seeded server packages

    • Established three distinctive areas of testing, these are upstream test suites which typically run at build-time, integration tests via dep8 and service level testing which often requires multiple nodes and is conducted using juju.
    • We established that there is the regression test suite that can be included in many of the packages directly, with the requirement that we package some of the common ubuntu testing libraries.
    • Discussed some areas of standardisation for dep8 testing.
  • Fastpath installer work for 13.10

    • Established what FPI is, and the processes which are part of it.
    • Fast Path installer will be delivered as a installable package in Ubuntu, most likely in python. The interface to it will we yaml formatted configuration.
  • OpenStack Charm work for Saucy/Havana

    • Migrate all charms to be python based.
    • Consolidation into new charm-helpers nextgen library.
    • Complete SSL/HTTPS support into charms.
    • Integration of wiki and help documentation, upstream series aligned with upgrading notes.
    • Design around how proprietary+1 plugins will be integrated into core charms for Cinder and Quantum.
  • Investigate alternatives to mysql

    • Agreed that the best course of action was to maintain mysql for this cycle, and try and support other flavours of mysql getting into Ubuntu via Debian.
  • Ceph activities for Saucy

    • Dumpling release will be out in August (co-incides with FF for Saucy) so will be target for this release.
    • Lots of incremental improvements in efficiency and performance, full RESTful API for RADOS Gateway admin features, block device encryption for data at rest.
    • ceph-deploy (upstream cross platform deploy tooling) will be packaged.
    • Implementation of more automated testing during Saucy.
  • HA Openstack charms V2

    • Reviewed the current state of HA support in Openstack charms. Percona has volunteered to charm their offering, allowing great coverage by their mysql HA variant for active/active clustering.
    • Work also on active/active and brokerless messaging options (ZeroMQ) and incremental improvements for service check monitoring in load balancers.
    • Cluster stack (Corosync/Pacemaker) to be reviewed and upgraded for Saucy in preparation for 14.04.
  • MongoDB activities for Saucy

    • File Main inclusion report for Mongo to support Ceilometer and Juju use cases. Raise a Micro Release Exemption (MRE) to the techboard, as point releases are bug fix only.
    • Upstream armhf enablement patches. Re-sync with Debian. OpenSSL license exception.
  • Virtualization Stack Work for Saucy

    • If debian libcgroup maintainer finds time, we’d like to merge cgroup-lite into libcgroup. For per-user configuration, first make it default-off optional, conditional on userns sysctl being enabled.
    • LXC work is going well on track to 14.04 (and lxc 1.0) roadmaps. For this cycle, we’d like to get user namespaces enabled in the saucy kernel with a new off-by-default sysctl controling unprivileged use, and complete the ability to create and start basic containers without privilege; add console, attach and snapshot to the API, complete the create API function, and convert all of the lxc-* programs to use the API; write a libvirt driver based upon the API, and a patch to enable testing it with openstack; write loopback and qcow2 block device drivers; Get the subuid (user namespace enablement) patches into the shadow package; discuss with the community the maintenance of stable trees; improve the API thread safety; and work our distro lxc tests into the upstream package (akin to how it is done in netcf).
    • In edk2, we want to contribute to the implementation of the ability to save and restore nvvars from the ovmf bios from qemu. We’ll fix the apparmor bug preventing the block device mounting in libvirt-lxc, which is blocking use of that feature by openstack.
    • We intend to merge libvirt at least at version 1.0.6, qemu at 1.5, and hopefully xen 4.3. We’ll follow up on citrix’ plans for xcp. The blueprint lists additional xen work planned. We’ll also look into default use of openvswitch bridges in libvirt.

Quality Assurance

  • Core Apps

    • Autopilot testcases written for ubuntu core applications will be checked to ensure they pass before auto-landing updates in the ubuntu touch images.
    • The quality community team will help core application developers develop a suite of manual testcases for each ubuntu core application. These will be run as part of the verification process for the 1.0 stable release of each application.
  • Testcases

    • Add testcases so all default desktop applications for each flavor are covered.
    • Expand and improve server testcases to allow more participation by those who might lack domain specific knowledge and/or hardware.
  • Growth/Experience

    • Make available documentation more accessible by linking to it from the tools we use for testing, like the qatracker.
    • Continue holding testing ‘how-to’ and knowledge sharing sessions during UDW, UOW, as part of UGJ, and on ubuntu on air.
    • Add testing achievements to the ubuntu accomplishments project.
  • Ubuntu Touch

    • Ubuntu Touch images will be smoke tested using the pending/current model already in use for other images. This ensures no image is published for general consumption that doesn’t pass a set of tests ensuring basic functionality of the image.
    • Current Ubuntu Touch autopilot tests for the core applications will be investigated for use as part of these smoke tests.
    • The concept of smoke test is going to be expanded to cover a no regression build.
  • Autopilot

    • Autopilot 1.3 is now released and will be available in raring and saucy. No quantal support is planned. Precise support is being examined, but requires further investigation and backporting work.
    • Autopilot developers will now be available on #ubuntu-autopilot — no need to always ping thomi! :-)
  • Mir

    • Planned tests for stressing mir to ensure good behavior during stressed conditions for things like OOM, memory leaks and race conditions.
    • Stress tests targeted to be run as often as possible, but might be limited due to time constraints of wanting to run the tests over a longer period of time.
  • UTAH

    • UTAH will be expanded to include automated upgrade testing capabilities. UTAH jobs will be created for bootstrapping base images, for performing upgrades, and running post-upgrade tests. The old auto-upgrade-testing tool can still be used by flavors if desired.
  • Dashboard

    • Create high-level views of the state of quality in ubuntu by aggregating results of test runs. This will allow for ‘problem’ areas within ubuntu to be more easily identified and targetted for further testing or investigation by interested parties. You can follow this work on the QA dashboard here.
  • Upstream

    • autopilot-gtk will now be maintained by the upstream QA team. Bug fixes and outstanding issues will be solved in order to allow for the autopilot desktop tests to run
    • Once running properly, the autopilot desktop tests will become a part of daily image testing
    • Continue development on umockdev to add support for more exotic networking tests (eg, 3G) and research sound testing

As ever, you can track progress on work items on status.ubuntu.com and we hope to see you at the next UDS in three months. :-)

Read more
Matt Fischer

The past few weeks I’ve been on loan to work on Ubuntu Touch, specifically the power daemon, powerd. Seth Forshee and I have been working to enhance the power daemon so that system services can interact with it to request that the device stay active, that is, that the device not suspend. The initial round of this work is complete and is landing today. (Note: There is a lot of low-level kernel interaction stuff landing in the code today too, that is not covered here)

What’s Landing

What’s landing today allows a system service, talking on the system bus, to request the Active system power state. We currently only have two states, Active and Suspend. When there are no Active state requests, powerd will drop the state to Suspend and suspend the device. This is best illustrated by showing how we use the states internally: For example, the user activity timer holds an Active state request until it expires at which point the request is dropped. The system then scans the list of outstanding state requests and if none are left, it drops the system to Suspend and suspends the system. Pressing the power button works in the same way, except as a toggle. When the screen is on, pressing the power button drops an active request, when off, it makes an active request.

For now, this ties screen state to system power state, although we plan to change that later. There is no way currently to request a display state independently of a system state, however that is planned for the future as well. For example, a request may be made to keep the screen at a specified brightness.

The API is subject to change and has a few trouble spots, but is all available to look at in the code here. Taking a look at the testclient C code or tester.sh will best illustrate the usage, but remember this is not for apps, it is for other system services. The usage for an app will be to request from a system service via an API something like “playVideoWithScreenOn()”, and then the system service will translate that into a system state request.

Trying it Out

If you want to play with it on your phone, use gdbus to take an active state request and you can block system suspend. You will need to install libglib2.0-bin on your phone if not already installed.

# request active state from PID 99 (a made-up PID). This returns a cookie, which you need to later drop the request. The cookie here is “1″

phablet@localhost:~$ sudo gdbus call --system --dest com.canonical.powerd --object-path\
   /com/canonical/powerd --method com.canonical.powerd.requestSysState 1 99
[sudo] password for phablet: 
(uint32 1,)

show the outstanding requests.

phablet@localhost:~$ sudo gdbus call --system --dest com.canonical.powerd --object-path /com/canonical/powerd --method com.canonical.powerd.listSysRequests
([(':1.29', 99), ('internal', 36)],)

now we pass in the cookie we received earlier and clear our request

phablet@localhost:~$ sudo gdbus call --system --dest com.canonical.powerd --object-path /com/canonical/powerd --method com.canonical.powerd.clearSysState 1
()

recheck the list

phablet@localhost:~$ sudo gdbus call --system --dest com.canonical.powerd --object-path /com/canonical/powerd --method com.canonical.powerd.listSysRequests
([('internal', 36)],)

Logs

If you want to see everything that is going on, check the powerd log file. sudo tail -f /var/log/upstart/powerd.log. For now we have it logging in debug mode, so it will tell you everything.

But My Device Isn’t Suspending

Even though we request suspend, we may not get to suspend, because it appears that at least on some devices (Nexus4 and maybe others) Android’s sensor service is holding a wakelock. We are also working on this issue.

<6>[ 1249.183061] lm3530_backlight_off, on: 0
<6>[ 1249.185105] request_suspend_state: sleep (0->3) at 1249179158043 (2013-05-21 16:38:57.769127486 UTC)
<4>[ 1249.185441] [Touch D]touch disable
<4>[ 1250.217488] stop_drawing_early_suspend: timeout waiting for userspace to stop drawing
<3>[ 1250.244132] dtv_pipe is not configured yet
--> <6>[ 1250.248679] active wake lock sns_periodic_wakelock
<6>[ 1250.248710] PM: Syncing filesystems...
<6>[ 1250.329741] sync done.

Next Steps

We have a bunch of stuff left to do here, the first obvious one is that using a monotonically increasing int for the cookie is not a great plan, so we will switch that to something like a UUID. We also need to send out dbus signals when the system goes into suspend so that services can react. We need to clean-up some of the dbus code while we’re doing that. Finally we plan on implementing display state requests using a similar model to the power state requests. Throughout all of this we need to start integration with the rest of the system.

Read more
roaksoax

For a while, I have been wanting to write about MAAS and how it can easily deploy workloads (specially OpenStack) with Juju, and the time has finally come. This will be the first of a series of posts where I’ll provide an Overview of how to quickly get started with MAAS and Juju.

What is MAAS?

I think that MAAS does not require introduction, but if people really need to know, this awesome video will provide a far better explanation than the one I can give in this blog post.

http://youtu.be/J1XH0SQARgo

 

Components and Architecture

MAAS have been designed in such a way that it can be deployed in different architectures and network environments. MAAS can be deployed as both, a Single-Node or Multi-Node Architecture. This allows MAAS to be a scalable deployment system to meet your needs. It has two basic components, the MAAS Region Controller and the MAAS Cluster Controller.

MAAS Architectures

Region Controller

The MAAS Region Controller is the component the users interface with, and is the one that controls the Cluster Controllers. It is the place of the WebUI and API. The Region Controller is also the place for the MAAS meta-data server for cloud-init, as well as the place where the DNS server runs. The region controller also configures a rsyslogd server to log the installation process, as well as a proxy (squid-deb-proxy) that is used to cache the debian packages. The preseeds used for the different stages of the process are also being stored here.

Cluster Controller

The MAAS Cluster Controller only interfaces with the Region controller and is the one in charge of provisioning in general. The Cluster Controller is the place the TFTP and DHCP server(s) are located. This is the place where both the PXE files and ephemeral images are being stored. It is also the Cluster Controller’s job to power on/off the managed nodes (if configured).

The Architecture

As you can see in the image above, MAAS can be deployed in both a single node or multi-node. The way MAAS has being designed makes MAAS highly scalable allowing to add more Cluster Controllers that will manage a different pool of machines. A single-node scenario can become in a multi-node scenario by simply adding more Cluster Controllers. Each Cluster Controller has to register with the Region Controller, and each can be configured to manage a different Network. The way has this is intended to work is that each Cluster Controller will manage a different pool of machines in different networks (for provisioning), allowing MAAS to manage hundreds of machines. This is completely transparent to users because MAAS makes the machines available to them as a single pool of machines, which can all be used for deploying/orchestrating your services with juju.

How Does It Work?

MAAS has 3 basic stages. These are Enlistment, Commissioning and Deployment which are explained below:

MAAS Process

Enlistment

The enlistment process is the process on which a new machine is registered to MAAS. When a new machine is started, it will obtain an IP address and PXE boot from the MAAS Cluster Controller. The PXE boot process will instruct the machine to load an ephemeral image that will run and perform an initial discovery process (via a preseed fed to cloud-init). This discovery process will obtain basic information such as network interfaces, MAC addresses and the machine’s architecture. Once this information is gathered, a request to register the machine is made to the MAAS Region Controller. Once this happens, the machine will appear in MAAS with a Declared state.

Commissioning

The commissioning process is the process where MAAS collects hardware information, such as the number of CPU cores, RAM memory, disk size, etc, which can be later used as constraints. Once the machine has been enlisted (Declared State), the machine must be accepted into the MAAS in order for the commissioning processes to begin and for it to be ready for deployment. For example, in the WebUI, an “Accept & Commission” button will be present. Once the machine gets accepted into MAAS, the machine will PXE boot from the MAAS Cluster Controller and will be instructed to run the same ephemeral image (again). This time, however, the commissioning process will be instructed to gather more information about the machine, which will be sent back to the MAAS region controller (via cloud-init from MAAS meta-data server). Once this process has finished, the machine information will be updated it will change to Ready state. This status means that the machine is ready for deployment.

Deployment

Once the machines are in Ready state, they can be used for deployment. Deployment can happen with both juju or the maas-cli (or even the WebUI). The maas-cli will only allow you to install Ubuntu on the machine, while juju will not only allow you to deploy Ubuntu on them, but will allow you to orchestrate services. When a machine has been deployed, its state will change to Allocated to <user>. This state means that the machine is in use by the user who requested its deployment.

Releasing Machines

Once a user doesn’t need the machine anymore, it can be released and its status will change from Allocated to <user> back to Ready. This means that the machine will be turned off and will be made available for later use.

But… How do Machines Turn On/Off?

Now, you might be wondering how are the machines being turned on/off or who is the one in charge of that. MAAS can manage power devices, such as IPMI/iLO, Sentry Switch CDU’s, or even virsh. By default, we expect that all the machines being controlled by MAAS have IPMI/iLO cards. So if your machines do, MAAS will attempt to auto-detect and auto-configure your IPMI/iLO cards during the Enlistment and Commissioning processes. Once the machines are Accepted into MAAS (after enlistment) they will be turned on automatically and they will be Commissioned (that is if IPMI was discovered and configured correctly).. This also means that every time a machine is being deployed, they will be turned on automatically.

Note that MAAS not only handles physical machines, it can also handle Virtual Machines, hence the virsh power management type. However, you will have to manually configure the details in order for MAAS to manage these virtual machines and turn them on/off automatically.

Read more
Timo Jyrinki

If you're running an Android device with GNU userland Linux in a chroot and need a full network access over USB cable (so that you can use your laptop/desktop machine's network connection from the device), here's a quick primer on how it can be set up.

When doing Openmoko hacking, one always first plugged in the USB cable and forwarded network, or like I did later forwarded network over Bluetooth. It was mostly because the WiFi was quite unstable with many of the kernels.

I recently found out myself using a chroot on a Nexus 4 without working WiFi, so instead of my usual WiFi usage I needed network over USB... trivial, of course, except that there's Android on the way and I'm a Android newbie. Thanks to ZDmitry on Freenode, I got the bits for the Android part so I got it working.

On device, have eg. data/usb.sh with the following contents.

#!/system/xbin/sh
CHROOT="/data/chroot"

ip addr add 192.168.137.2/30 dev usb0
ip link set usb0 up
ip route delete default
ip route add default via 192.168.137.1;
setprop net.dns1 8.8.8.8
echo 'nameserver 8.8.8.8' >> $CHROOT/run/resolvconf/resolv.conf
On the host, execute the following:
adb shell setprop sys.usb.config rndis,adb
adb shell data/usb.sh
sudo ifconfig usb0 192.168.137.1
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.137.0/24
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -P FORWARD ACCEPT
This works at least with Ubuntu saucy chroot. The main difference in some other distro might be whether the resolv.conf has moved to /run or not. You should be now all set up to browse / apt-get stuff from the device again.

Update: Clarified that this is to forward the desktop/laptop's network connection to the device so that network is accessible from the device over USB.

Read more
jono

Recently there was yet another storm in a teacup that distracted us from creating and sharing Ubuntu and our flavors with others. I am not going to dive into the details of this particular incident…it has been exhaustively documented elsewhere…but at the heart of this case was a concern around the conduct in which some folks engaged around something they disagreed with. This is not the first time we have seen disappointing conduct in a debate, and I wanted to share some thoughts on this too.

In every community I have worked in I have tried to build an environment in which all view points that challenge decisions or decision makers are welcome with the requirement that they are built on a platform of respectful discourse; this is the essence of our Code Of Conduct. Within the context of an Open Source community we also encourage this engagement around differences to be expressed as solutions with a focus on solving problems; this helps us to be productive and move the project forward. This is why we have such a strong emphasis on blueprints, specs, bugs, and other ways of expressing issues and exploring solutions.

Within the context of this most recent issue I saw three problems (problems I have seen present in other similar arguments too):

  1. Irrespective of the voracity or content of an opinion we must never forget to be respectful and polite in the way we express and engage with others, irrespective of whether you are a volunteer, Canonical employee, or otherwise. Respect must always be present in our discourse, irrespective of the content of our opinions; without it we become a barbaric people and lose the magic that brought this wonderful set of minds together in the first place. There is simply no excuse for rudeness, and inflammatory FUD that has no evidence to back it up other than presumed ill-intent serves nothing but to demotive folks and ratchet up the flames, as opposed to resolve the issue and make things better.
  2. Trust needs to be earned, but trust should always be built within the wider context of a set of contributions and conduct. Unfortunately some folks consider decisions they disagree with to be a basis for (a) entering into a paranoid debate about the “real reason” the individual or company made that decision (and typically not believing the rationale provided by said decision-maker) and (b) seemingly forgetting about all the other positive contributions that the person or company has contributed. I can assure you there is no nefarious scheme at place at Canonical; our goals are well known in the community. If I felt Canonical was fundamentally trying to demote and shut the community out, I wouldn’t work here; I have no interest in working for a company that doesn’t understand the value of community, and I am not worried about finding suitable employment elsewhere. I work at Canonical because I believe our goals with Ubuntu are just and the company’s commitment to our community is sincere.
  3. Ubuntu is not a consensus-based community. Consensus communities rarely work, and I am not aware of any Open Source project that bases their work on wider consensus in the community. It would be impossible and impractical to notify our community of every decision we make, let alone try to base a decision on a majority view, but we do try to ensure that major changes are communicated to our leaders first (this is something we have been driving improvements in recently). We always need to find the right balance between transparency and JFDI, and sometimes the balance isnt’t quite there, but that does not mean there is some kind of illuminati-ish scheme going on behind the scenes.

Ubuntu is a community filled with passionate people, and I love that we have folks who are critical of our direction and decisions. If everyone agreed with what we are doing, we would not always make the right decisions, and our diversity is what makes Ubuntu and our flavors such a great place to participate.

As I said at the beginning of this post, it is important that all viewpoints are welcome, but we have to get the tone and conduct of some of these debates under control. The sheer level of sensationalist and confrontational language that is often in place in these disagreements doesn’t serve anyone but hungry journalists looking for page hits.

Now, I am not suggesting here that anyone should change any of their viewpoints. If you vehemently disagree with an aspect of what we are doing in Ubuntu or at Canonical, that is fine and of course, welcome. What I am appealing to everyone though is to treat others like you wish to be treated, with respect and dignity, and lets keep the sensationalism out of our community and focus on what we do best…building a world-class Free Software platform and its rich ecosystem of flavors.

Read more