Launchpad JavaScript now combo loaded and faster than ever.
Published by Richard Harding September 25, 2012 in Cool new stuff, General, Performance
Back in January a side project was started to update the JavaScript used in Launchpad. Launchpad has been using YUI 3.3.0 for a long time, very successfully, however recent advances in YUI 3.5 and higher have added some great tools for development that Launchpad can take advantage of. In order to facilitate easier upgrades our YUI library version Launchpad has been moved to using a combo loader for serving out JavaScript.
This means, that instead of a single launchpad.js file that can be upwards of 3MB in size, each request builds a list of JavaScript modules needed for the current page to work, and the combo loader only sends down those modules. This drastically cuts down on the download size of the JavaScript for users. These combo loaded JavaScript files are also cached for speedy serving to other users of Launchpad.
The combo loader also allows us to specify which YUI version to load via a tweak to the url. In this way we can easily test new version of YUI side by side with the current stable version as they come out. This allows Launchpad to keep with future YUI released much faster.
We’re excited that today Launchpad has moved from YUI 3.3.0 to 3.5.1 and is now served by the combo loader. This change provides a faster experience for users along with easier maintenance and new JavaScript library features for developers.
We’ve still got more to do though. YUI just released version 3.7 and we aim to push that into production faster than ever before. Please let us know how these changes work for you.
Launchpad also wants to thank the folks over at YUI for continuing the great work on a tool that Launchpad heavily depends on.
Parallel testing is live
Published by Laura czajkowski September 24, 2012 in Performance
One of the projects the Launchpad Squads (yellow) have been working on has been the Parallel Testing during the last cycle, this has now been completed and is now in operation. WebOps have today finished setting up parallel testing in buildbot. Buildbot-poll has been updated to know about the new builders, and the developers have confirmed that [testfix] and automatic stable merging etc. work fine. Nothing should have changed except that builds now take 35 minutes rather than 6.5 hours.
If something goes wrong, http://lpbuildbot.canonical.com/waterfall and https://dev.launchpad.net/yellow/ParallelTestingTroubleshooting may be helpful. The buildbot master is still praseodymium, but the slaves are new: sluagh for devel, and radande for db-devel. If you need packages upgraded on the slaves, poke WebOps as before.
If you would like to follow the discussion on this topic you’ll find more on the Launchpad development mailing list
Privacy for blueprints enabled for beta testers
Published by Deryck Hodge September 17, 2012 in General
To go along with recent work to enable information sharing for bugs and branches, we are now enabling privacy for blueprints for beta testers. This means that blueprints now support some of the different information types that bugs and branches also support. For projects with a commercial subscription on Launchpad, this means blueprints can now be set to proprietary or embargoed. Project owners can also manage sharing for blueprints from their project’s sharing details page. For more on how sharing itself works, see Curtis’ blog post that announced that Information sharing is now in beta for everyone.
We have some minor fit-n-finish issues to complete, like nicer UI elements, and of those, we have one last known bug in progress — we know that blueprints don’t currently honor the sharing policy default when new blueprints are created. However, we thought it was worth getting this work to beta testers now to start getting feedback on this as we turn to finishing off the privacy work that is left to do.
Enjoy privacy for blueprints, beta testers! And please file bugs on any issues you find.
Launchpad Builders update
Published by Laura czajkowski September 16, 2012 in Performance
We have recovered some of the affected builders, more will be coming back on later this week with the remainder to come in a few weeks when we have new hardware. Until then launchpad builders will be at a reduced build capacity. l
We apologise for the inconvenience and we’re sorry for the disruption to your service.
Reduced Builder Capacity
Published by Laura czajkowski September 13, 2012 in Notifications
The Launchpad builders are currently operating at reduced build capacity. We are aware of the issue and have raised this with IS who are investigating the situation. If you are having any issues with your builds please ask for help in #launchpad.
We apologise for the inconvenience and we’re sorry for the disruption to your service.
Information sharing is now in beta for everyone
Published by Curtis Hovey August 28, 2012 in General
Launchpad’s bug and branch privacy features are being replaced by information sharing that permits project maintainers to share kinds of information with people at the project level. No one needs to manage bug and branch subscriptions to ensure trusted users have access to confidential information.
Maintainers can share and unshare their project with people
Project maintainers and drivers can see the “Sharing” link on their project’s front page. The page lists every user and team that the project shares with. During the transition period of the beta, you might see many users with “Some” access to “Private Security” or “Private” user information. They have this access because they are subscribed to bugs and branches. Maintainers can unshare with users who do not need access to any confidential information, or just unshare a bug or branch with a user. Maintainers can share share with a team to give them full access to one or more kinds of confidential information.
I have prepared a video that demonstrates the features (my apologies for the flickering)
Commercial projects can set bug and branch policies
Projects with commercial subscriptions can also change bug and branch sharing policies to set the default information type of a bug or branch, and control what types they may be changed to. Maintainers can set policies that ensure that bugs and branches are proprietary, and only proprietary, to ensure confidential information is never disclosed.
Sharing can be managed using API scripts
I maintain many project which have a lot of private bugs and branches. The sharing page lists a lot of people, too many to read quickly. I know most work for my organisation, but I don’t even know everyone in my organisation. So I wrote a Launchpad API script that can be run by any project maintainer to share the project with a team, then unshare with the team members. The members still have access to the bugs and branches and their subscriptions still work, but they will lose access to my project when they leave the team. This arrangement makes it very easy to manage who has access to my projects. share-projects-with-team.py is run with the name of the team and a list of projects to share with it.
./share-projects-with-team.py my-team project1 project2
Launchpad code hosting unavailable 22.00 UTC 2012-08-17
Published by Matthew Revell August 16, 2012 in Notifications
Launchpad’s code hosting will be unavailable, due to planned maintenance, for four hours starting 22.00 UTC on Friday the 17th August.
This will affect pushing to and pulling from branches, merge proposals, build from branch and translations activity involving code branches. It is in addition to the already announced disruption to Personal Package Archives for the same time.
Starts: 22.00 UTC 2012-08-17
Expected back by: 02.00 UTC 2012-08-18
We’re sorry for the disruption to your service.
Disruption to PPA uploading and building
Published by Laura czajkowski August 15, 2012 in Notifications
Launchpad services will be affected by scheduled maintenance from 22:00 UTC Friday 17th August until 02:00 UTC Saturday 18th August.
During this time, you’ll be unable to upload or build PPA packages. However, packages will remain available for download from PPAs just like normal.
Maintenance starts: 22:00UTC Friday 17th August
Expected back: 02:00 UTC Saturday 18th August
Thanks for your patience while we maintain the hardware powering these services.
Launchpad downtime August 16th
Published by Laura czajkowski in Notifications
Launchpad PPA build services will be affected by an emergency maintenance between 07.00UTC and 19.00 UTC on Thursday 16th August.
During this time there will be significantly reduced capacity in the PPA build farm.
Official Ubuntu distribution builders will be largely unaffected by this maintenance.
Interruption starts: 07.00 UTC 16th August 2012
Expected back: 19.00 UTC 16th August 2012
Thanks for your patience while we maintain the hardware powering these services.
New fastdowntime schedule
Published by Robert Collins August 14, 2012 in General
For the last year, Launchpad has been doing schema patches using a process we call ‘FDT’, short for Fast Down Time. We have applied 60 such patches, typically taking between 60 and 90 seconds each time, at 1000UTC, our scheduled daily 5 minute downtime window for DB patching.
Recently, we eliminated Slony from our environment, which has dropped the overhead of schema patches to ~6 seconds, and this gives us <10 second downtimes to apply schema patches. We’re taking advantage of this to add two new downtime windows at 0200 UTC and 1800 UTC. All three windows will be for 10 seconds. Hopefully you will never notice that we’re doing schema patches. But if Launchpad is offline for a few seconds at one of these times, you’ll know why – we’re busy rolling out a schema change to bring a new feature to life.