Canonical Voices

Posts tagged with 'uncategorized'

Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20140204 Meeting Agenda


ARM Status

nothing new to report this week.


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

   apw    core-1311-kernel    5 work items   
      core-1311-cross-compilation    2 work items   
      core-1311-hwe-plans    1 work item   
   bjf    core-1311-dmraid2mdadm    1 work item   
   ogasawara    core-1311-kernel    3 work items   
      client-1311-xorg-general    1 work item   
   smb    servercloud-1311-openstack-virt    6 work items   


Status: Trusty Development Kernel

We have uploaded a new 3.13.0-7.25 Trusty kernel to the archive. This
includes a rebase to the first v3.13.1 upstream stable release. We have
also merged the powerpc and lowlatency flavors back into our main repo.
I would also like to note that the 12.04.4 release comes out this Thurs.
This will officially introduce the Saucy hardware enablement kernel back
into Precise.
—–
Important upcoming dates:
Thurs Feb 20 – Feature Freeze (~2 weeks away)
Thurs Feb 27 – Beta 1 (~3 weeks away)
Thurs Mar 27 – Final Beta (~7 weeks away)
Thurs Apr 03 – Kernel Freeze (~8 weeks away)
Thurs Feb 6 – 12.04.4 Final Release (~2 days away)


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Quantal/Precise/Lucid

Status for the main kernels, until today (Nov. 26):

  • Lucid – Testing
  • Precise – Testing
  • Quantal – Testing
  • Saucy – Testing

    Current opened tracking bugs details:

  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html


Open Discussion or Questions? Raise your hand to be recognized

No open discussions.

Read more
Michael Hall

As I mentioned in my last post, I’m with the rest of my team in Orlando this week for a sprint. We are joined by many other groups from Canonical, and unfortunately we didn’t have enough meeting rooms for all of the breakout session, so the Community team was forced (forced I tell you) to meet on the patio by the pool.

We have had a lot of good discussions already, and we have four days left.  You’ll start to seem some of the new ideas and changes going into effect next week.  Until then, stay tuned.

Read more
Michael Hall

Last week I posted on G+ about the a couple of new sets of QML API docs that were published.  Well that was only a part of the actual story of what’s been going on with the Ubuntu API website lately.

Over the last month I’ve been working on implementing and deploying a RESTful JSON service on top of the Ubuntu API website, and last week is when all of that work finally found it’s way into production.  That means we now have a public, open API for accessing all of the information available on the API website itself!  This opens up many interesting opportunities for integration and mashups, from integration with QtCreator in the Ubuntu SDK, to mobile reference apps to run on the Ubuntu phone, or anything else your imagination can come up with.

But what does this have to do with the new published docs?  Well the RESTful service also gives us the ability to push documentation up to the production server, which is how those docs got there.  I’ve been converting the old Django manage.py scripts that would import docs directly into the database, to instead push them to the website via the new service, and the QtMultimedia and QtFeedback API docs were the first ones to use it.

Best of all, the scripts are all automated, which means we can start integrating them with the continuous integration infrastructure that the rest of Ubuntu Engineering has been building around our projects.  So in the near future, whenever there is a new daily build of the Ubuntu SDK, it will also push the new documentation up, so we will have both the stable release documentation as well as the daily development release documentation available online.

I don’t have any docs yet on how to use the new service, but you can go to http://developer.ubuntu.com/api/service/ to see what URLs are available for the different data types.  You can also append ?<field>=<value> keyword filters to your URL to narrow the results.  For example, if you wanted all of the Elements in the Ubuntu.Components namespace, you can use http://developer.ubuntu.com/api/service/elements/?namespace__name=Ubuntu.Components to do that.

That’s it for today, the first day of my UbBloPoMo posts.  The rest of this week I will be driving to and fro for a work sprint with the rest of my team, the Ubuntu SDK team, and many others involved in building the phone and app developer pieces for Ubuntu.  So the rest of this week’s post may be much shorter.  We’ll see.

Happy Hacking.

Read more
Michael Hall

So it’s not February first yet, but what the heck I’ll go ahead and get started early.  I tried to do the whole NaBloPoMo thing a year or so ago, but didn’t make it more than a week.  I hope to do better this time, and with that in mind I’ve decided to put together some kind of a plan.

First things first, I’m going to cheat and only plan on having a post published ever week day of the month, since it seems that’s when most people are reading my blog (and/or Planet Ubuntu) anyway, and it means I don’t have to worry about it over the weekends.  If you really, really want to read a new post from me on Saturday……you should get a hobby.  Then blog about it, on Planet Ubuntu.

To try and keep me from forgetting to blog during the days I am committing to, I’ve scheduled a recurring 30 minute slot on my calendar.  UbBloPoMo posts should be something you can write up in 30 minutes or less, I think, so that should suffice.  I’ve also scheduled it for the end of my work day, so I can talk about things that are still fresh in my mind, to make it even easier.

Finally, because Europe is off work by the end of my day, I’m going to schedule all of my posts to publish the following morning at 9am UTC (posts written Friday will publish on Monday morning).  I’ve been doing this for a while with my previous posts, and it seems to get more views when I do. For example, this post was written yesterday, but posted while I was still sound asleep this morning.  The internet is a magical place.

So, today being Friday, I will be writing my first actual UbBloPoMo entry this evening, and it will post on Monday February 3rd.  What will it be about I wonder?  The suspense is killing me.

 

Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20140121 Meeting Agenda


ARM Status

Nothing new to report this week.


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

No new update this week.


Status: Trusty Development Kernel

No new update this week.


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Quantal/Precise/Lucid

Status for the main kernels, until today (Nov. 26):

  • Lucid – Holding
  • Precise – Holding
  • Quantal – Holding
  • Saucy – Holding

    We are in a holding pattern waiting to see if any regressions show up that would cause us
    to respin before the 12.04.4 release goes out.

    Current opened tracking bugs details:

  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html

    Note: Raring hit EOL and is no longer supported. However, the lts-backport-raring kernel
    *WILL* continue to be supported until the first point release of the next LTS (14.04.1).


Open Discussion or Questions? Raise your hand to be recognized

No meeting next week due to the kernel team sprint.
The next meeting is scheduled for February 4th, 2014.

Read more
Shuduo

  1. start from official tutorial http://developer.ubuntu.com/scopes/tutorial/

    1. implement search function

    2. implement preview function

    3. modify data/XXXX.scope

    4. modify data/unity-scope-XXXX.service.in

    5. modify XXXX.pro

    6. build executable file, and dbus service file out

    7. install executable file, scope file and service file.

    8. killall unity-scope-home to restart the Home scope so that it loads the new scope

  2. what’s scope? what’s master scope?

    1. Scope

The search engine itself, talking to a web service or a local database. It can be exposed to the user in two ways in the Dash: as a standalone scope or as part of a master scope.

  1. Master scope

The architecture used to merge multiple scopes in the same Dash view.

  1. how to debug?

    1. use libunity-tool -g

  2. My first scope project

    1. lp:~sangshuduo/+junk/scope500px

 

  1. BKMs and tips

    1. recommend C language to programming scope for performance although python and vala still working

      1. http://askubuntu.com/questions/310669/what-programming-languages-are-scopes-written-in

    2. Ubuntu SDK do not show Unity Scope project in project list

      1. apt-get remove all QT related packages and reinstall Ubuntu SDK

    3. dbus name limitation

      1. https://bugs.launchpad.net/libunity/+bug/1269256

    4. unreliable libunity-tool

      1. sometime libunity-tool can’t list all running scopes’ dbus name. we can fill its group name and unique name manually

      2. use master scope to list all results.

    5. manually add headers path and libraries to link

      1. XXXX.pro

    6. check name matched in all place

      1. config.h

      2. data/XXXX.scope

      3. data/unity-scope-XXXX.service.in

    7. who familiar Unity API

      1. Michal Hruby (mhr3)

    8. build and install. some files will be not installed if only run ‘sudo make install’

      1. qmake

      2. make

      3. sudo make install

Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20140114 Meeting Agenda


ARM Status

No new update this week.


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

   apw    core-1311-kernel    5 work items   
      core-1311-cross-compilation    2 work items   
      core-1311-hwe-plans    1 work item   
   bjf    core-1311-dmraid2mdadm    1 work item   
   ogasawara    core-1311-kernel    3 work items   
      client-1311-xorg-general    1 work item   
   smb    core-1311-dmraid2mdadm    1 work item   
      servercloud-1311-openstack-virt    6 work items   


Status: Trusty Development Kernel

Last week we upoaded our first v3.13 based kernel for Trusty to the
archive. The most recent upload brings in a rebase to v3.13-rc8. The
AppArmor regression introduced in the original upload should already
have been resolved as well.
—–
Important upcoming dates:
Thurs Jan 23 – Alpha 2 (~1 week away)
Thurs Feb 6 – 12.04.4 Final Release (~3 weeks away)


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Raring/Quantal/Precise/Lucid

Status for the main kernels, until today (Nov. 26):

  • Lucid – Holding
  • Precise – Holding
  • Quantal – Holding
  • Saucy – Holding
    We are in a holding pattern waiting to see if any regressions show up that would cause us
    to respin before the 12.04.4 release goes out.
    Current opened tracking bugs details:
  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html

    Note: Raring hit EOL and is no longer supported. However, the lts-backport-raring kernel
    *WILL* continue to be supported until the first point release of the next LTS (14.04.1).


Open Discussion or Questions? Raise your hand to be recognized

No open discussions.

Read more
Michael

Just documenting for later (and for a friend and colleague who needs it now) – my notes for setting up openstack swift using juju. I need to go back and check whether keystone is required – I initially had issue with the test auth so switched to keystone.

First, create the config file to use keystone, local block-devices on the swift storage units (ie. no need to mount storage), and using openstack havana:

cat >swift.cfg <<END
swift-proxy:
    zone-assignment: auto
    replicas: 3
    auth-type: keystone
    openstack-origin: cloud:precise-havana/updates
swift-storage:
    zone: 1
    block-device: /etc/swift/storagedev1.img|2G
    openstack-origin: cloud:precise-havana/updates
keystone:
    admin-token: somebigtoken
    openstack-origin: cloud:precise-havana/updates
END

Deploy it (this could probably be replaced with a charm bundle?):

juju deploy --config=swift.cfg swift-proxy
juju deploy --config=swift.cfg --num-units 3 swift-storage
juju add-relation swift-proxy swift-storage
juju deploy --config=swift.cfg keystone
juju add-relation swift-proxy keystone

Once everything is up and running, create a tenant and user with the user having admin rights for the tenant (using your keystone unit’s IP address for keystone-ip). Note, below I’m using the names of tenant, user and role – which works with keystone 0.3.2, but apparently earlier versions require you to use the uuids instead. Check with `keystone help user-role-add`).

$ keystone --endpoint http://keystone-ip:35357/v2.0/ --token somebigtoken tenant-create --name mytenant
$ keystone --endpoint http://keystone-ip:35357/v2.0/ --token somebigtoken user-create --name myuser --tenant mytenant --pass userpassword
$ keystone --endpoint http://keystone-ip:35357/v2.0/ --token somebigtoken user-role-add --tenant mytenant --user myuser --role Admin

And finally, use our new admin user to create a container for use in our dev environment (specify auth version 2):

$ export OS_REGION_NAME=RegionOne
$ export OS_TENANT_NAME=mytenant
$ export OS_USERNAME=myuser
$ export OS_PASSWORD=userpassword
$ export OS_AUTH_URL=http://keystone-ip:5000/v2.0/
$ swift -V 2 post mycontainer

If you want the container to be readable without auth:

$ swift -V 2 post mycontainer -r '.r:*'

If you want another keystone user to have write access:

$ swift -V 2 post mycontainer -w mytenant:otheruser

Verify that the container is ready for use:
$ swift -V 2 stat mycontainer

Please let me know if you spot any issues (these notes are from a month or two ago, so I haven’t just tried this).


Filed under: Uncategorized

Read more
Michael

Just documenting for later (and for a friend and colleague who needs it now) – my notes for setting up openstack swift using juju. I need to go back and check whether keystone is required – I initially had issue with the test auth so switched to keystone.

First, create the config file to use keystone, local block-devices on the swift storage units (ie. no need to mount storage), and using openstack havana:

cat >swift.cfg <<END
swift-proxy:
    zone-assignment: auto
    replicas: 3
    auth-type: keystone
    openstack-origin: cloud:precise-havana/updates
swift-storage:
    zone: 1
    block-device: /etc/swift/storagedev1.img|2G
    openstack-origin: cloud:precise-havana/updates
keystone:
    admin-token: somebigtoken
    openstack-origin: cloud:precise-havana/updates
END

Deploy it (this could probably be replaced with a charm bundle?):

juju deploy --config=swift.cfg swift-proxy
juju deploy --config=swift.cfg --num-units 3 swift-storage
juju add-relation swift-proxy swift-storage
juju deploy --config=swift.cfg keystone
juju add-relation swift-proxy keystone

Once everything is up and running, create a tenant and user with the user having admin rights for the tenant (using your keystone unit’s IP address for keystone-ip). Note, below I’m using the names of tenant, user and role – which works with keystone 0.3.2, but apparently earlier versions require you to use the uuids instead. Check with `keystone help user-role-add`).

$ keystone --endpoint http://keystone-ip:35357/v2.0/ --token somebigtoken tenant-create --name mytenant
$ keystone --endpoint http://keystone-ip:35357/v2.0/ --token somebigtoken user-create --name myuser --tenant mytenant --pass userpassword
$ keystone --endpoint http://keystone-ip:35357/v2.0/ --token somebigtoken user-role-add --tenant mytenant --user myuser --role Admin

And finally, use our new admin user to create a container for use in our dev environment (specify auth version 2):

$ export OS_REGION_NAME=RegionOne
$ export OS_TENANT_NAME=mytenant
$ export OS_USERNAME=myuser
$ export OS_PASSWORD=userpassword
$ export OS_AUTH_URL=http://keystone-ip:5000/v2.0/
$ swift -V 2 post mycontainer

If you want the container to be readable without auth:

$ swift -V 2 post mycontainer -r '.r:*'

If you want another keystone user to have write access:

$ swift -V 2 post mycontainer -w mytenant:otheruser

Verify that the container is ready for use:
$ swift -V 2 stat mycontainer

Please let me know if you spot any issues (these notes are from a month or two ago, so I haven’t just tried this).


Filed under: Uncategorized

Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20140107 Meeting Agenda


ARM Status

Nothing new to report this week


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

   apw    core-1311-kernel    5 work items   
      core-1311-cross-compilation    2 work items   
      core-1311-hwe-plans    1 work item   
   bjf    core-1311-dmraid2mdadm    1 work item   
   cking    core-1311-kernel    1 work item   
   ogasawara    core-1311-kernel    4 work items   
      client-1311-xorg-general    1 work item   
   sforshee    servercloud-1311-cloud-images    1 work item   
   smb    core-1311-dmraid2mdadm    1 work item   
      servercloud-1311-openstack-virt    6 work items   
   rtg    core-1311-kernel    1 work item   


Status: Trusty Development Kernel

We’ve finished cleaning up some DKMS packages for Trusty and are
preparing for our first v3.13 based kernel upload to the archive.
This is specifically based on the latest v3.13-rc7 upstream kernel.
I would also like to remind everyone that the 12.04.4 point release is
now taking place on Thurs Feb 6. The kernel is currently frozen for
12.04.4 and we do not anticipate any respins at this time.
—–
Important upcoming dates:
Thurs Jan 23 – Alpha 2 (~2 weeks away)
Thurs Feb 6 – 12.04.4 Final Release (~4 weeks away)


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Raring/Quantal/Precise/Lucid

Nothing new to report this week.


Open Discussion or Questions? Raise your hand to be recognized

No open discussions.

Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20131217 Meeting Agenda


ARM Status

nothing new to report this week.


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

   apw    core-1311-kernel    5 work items   
      core-1311-cross-compilation    2 work items   
      core-1311-hwe-plans    1 work item   
   bjf    core-1311-dmraid2mdadm    1 work item   
   ogasawara    core-1311-kernel    4 work items   
      client-1311-xorg-general    1 work item   
   sforshee    servercloud-1311-cloud-images    1 work item   
   smb    core-1311-dmraid2mdadm    1 work item   
      servercloud-1311-openstack-virt    5 work items   
   rtg    core-1311-kernel    1 work item   


Status: Trusty Development Kernel

The master branch for Trusty remains rebased on the v3.12.4 upstream
stable kernel. Our unstable branch has most recently rebased to
v3.13-rc4. Again, we don’t anticipate a v3.13 based upload for Trusty
until after the new year.
I would also like to point out that the 12.04.4 point release was pushed
out by 2 weeks from Jan 23 to Feb 6. This will not have any impact on
the kernel, we will still plan on shipping with the kernel we currently
have going through -proposed.
—–
Important upcoming dates:
Thurs Dec 19 – Alpha 1 (~2 days away)
Thurs Jan 23 – Alpha 2 (~5 weeks away)
Thurs Feb 6 – 12.04.4 Final Release (~7 weeks away)


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Raring/Quantal/Precise/Lucid

No new update this week.


Open Discussion or Questions? Raise your hand to be recognized

The next meeting will happen after the New Year. The next meeting will be January 7th, 2014.

Read more
Robie Basak

 Meeting information

 

Meeting summary

This meeting was particularly quiet, presumably due to the upcoming holidays.

Actions still outstanding:

  • gaughen or jamespage or smoser: get all server blueprints represented at /topic-t-servercloud-overview.html

Scott linked to http://kernel.ubuntu.com/benchmarking/, which he said is really nice benchmark data that the kernel team are working on.

Robie reported on the status of upstreaming mongodb armhf and arm64 portability patches.

Due to the holidays, the next meeting will be at Tue, 7 Jan 2014 16:00:00 +0000.

 

Action items

  • (carried over) gaughen or jamespage or smoser: get all server blueprints represented at /topic-t-servercloud-overview.html

 

People present (lines said)

  • rbasak (26)
  • smoser (5)
  • meetingology (3)
  • caribou_ (2)
  • jamespage (2)
  • psivaa (1)
  • hallyn_ (1)
  • smb (1)

 

Full Log

  • 16:09 <rbasak> #startmeeting ubuntu-server-team

    16:09 <meetingology> Meeting started Tue Dec 17 16:09:17 2013 UTC. The chair is rbasak. Information about MeetBot at http://wiki.ubuntu.com/meetingology.

    16:09 <meetingology>

    16:09 <meetingology> Available commands: #accept #accepted #action #agree #agreed #chair #commands #endmeeting #endvote #halp #help #idea #info #link #lurk #meetingname #meetingtopic #nick #progress #rejected #replay #restrictlogs #save #startmeeting #subtopic #topic #unchair #undo #unlurk #vote #voters #votesrequired

    16:09 <rbasak> #topic Review ACTION points from previous meeting 16:09 * rbasak gaughen or jamespage or smoser: get all server blueprints represented at /topic-t-servercloud-overview.html (smoser, 16:04)

    16:10 <jamespage> still outstanding

    16:10 <rbasak> OK, thanks.

    16:10 <rbasak> #topic T Development Opening

    16:11 <rbasak> I’ve changed the agenda item to “T Development” for next time.

    16:11 <rbasak> Anything to note?

    16:11 <jamespage> alpha-1 this week

    16:11 <rbasak> #topic Server & Cloud Bugs (caribou)

    16:12 <rbasak> caribou_: hi!

    16:12 <caribou_> nothing here

    16:14 <rbasak> #topic Weekly Updates & Questions for the QA Team (psivaa)

    16:14 <psivaa> no updates from us as well

    16:14 <rbasak> Any questions for psivaa?

    16:14 <rbasak> #topic Weekly Updates & Questions for the Kernel Team (smb)

    16:14 <smb> nothing to report. Are there questions?

    16:15 <rbasak> #topic Weekly Updates & Questions regarding Ubuntu ARM Server (rbasak)

    16:15 <smoser> hm..

    16:15 <smoser> go back one.

    16:15 <rbasak> #topic Weekly Updates & Questions for the Kernel Team (smb)

    16:15 <smoser> kernel team has *really* nice benchmark data that they’re working on

    16:15 <smoser> http://kernel.ubuntu.com/benchmarking/

    16:16 <smoser> the data there may change formats or content, but its good too look at.

    16:16 <rbasak> #topic Weekly Updates & Questions regarding Ubuntu ARM Server (rbasak)

    16:17 <rbasak> I’ve been working on upstreaming portability patches for mongodb for armhf and arm64. This is reviewed upstream now and should land soon. Then I’ll see if I can get Debian updated to a cherry-pick of the upstream patches.

    16:17 <rbasak> No other updates. Any questions for me?

    16:17 <rbasak> #topic Ubuntu Server Team Events

    16:17 <rbasak> Christmas, I guess, is the reason why it’s quiet.

    16:18 <rbasak> Any other new upcoming events?

    16:18 <rbasak> #topic Open Discussion

    16:18 <rbasak> #topic Announce next meeting date, time and chair

    16:18 <caribou_> Ho Ho Ho

    16:19 <rbasak> Due to the holidays, I propose that our next meeting should be in January when we’re all back. Any objections?

    16:19 <hallyn_> nope

    16:20 <rbasak> So the next meeting will be at: Tue, 7 Jan 2014 16:00:00 +0000.

    16:20 <rbasak> Looks like next on the chair rota is roaksoax, so he’ll be chairing. I know roaksoax is on holiday now, so I’ll let him know by email.

    16:20 <rbasak> #endmeeting

Generated by MeetBot 0.1.5 (http://wiki.ubuntu.com/meetingology)

MeetingLogs/Server/20131217 (last edited 2013-12-17 16:47:06 by racb)

Read more
Victor Palau

Hi,

I found myself trying to build a QML Ubuntu Touch app project that includes a qml c++ extension and I found that I some how stumble a bit along the way. So, here are some of my notes on how I got it done. Hope that helps.

Creating the project.

Using QtCreator, create a new project and select – QML Extension Library + Tabbed Touch.  I found that it was easier to change the QML side of things than start with an extension and then add the whole project structure.

Build and Run your project locally

In QtCreator click on projects.  In Build, I set up the build path as my project root path. In run,  the executable is “/usr/bin/qmlscene” (make sure there is no spaces trailing) and then Arguments is set to “-I  ../backend/modules $@ yourapp.qml”, with a working directory of “projectroot/app”

Now if you try to run your project it should build it locally and run your app. After that you are on a roll.

Build on target device

Click Ctrl+f11 should install the platform developer tools in your device. However, I how found that this lately does not work.

Instead from the terminal:

first we will need to make the image in your device writeable:
adb shell touch /userdata/.writable_image  --> and reboot the phone.
then:
cd /usr/share/qtcreator/ubuntu/scripts
adb devices
./device_developertools_install <device_id>

Now you are ready to build, so back to QtCreator:

Build>Ubuntu>Build Application on Device

This should build the application with only some test problems, but the main binaries would be created. To package your app you will need to get

/home/phablet/dev_tmp/<yourapp>/backend/modules/lib<yourlib>.so

Creating a click package

create a manifest standard manifest file. Manifest.json

{
"description": "your text",
"framework": "ubuntu-sdk-13.10",
"hooks": {
"yourappname": {
"apparmor": "yourappname.json",
"desktop": "yourappname.desktop"
}
},
"maintainer": "your name<yourname@yourmail.com>",
"name": "com.ubuntu.developer.yourname.yourappname",
"title": "yourappname",
"version": "0.1",
"architecture": "armhf"
}

You will also need a yourapp.desktop file:

[Desktop Entry]
Name=yourappname
Comment=description
Exec=qmlscene -I plugin $@ yourapp.qml
Icon=icon.png
Terminal=false
Type=Application
X-Ubuntu-Touch=true

Note that Exec= has a -I plugin part to it. This is very important, will see later.

Now yourapp.json file that contains your confinement profile:

{
"policy_groups": [
"networking"
],
"policy_version": 1
}

Now time to setup a folder with all this stuff, not that the plugin folder is going to contain your lib which your are importing with -I option on the desktop file:
myproject>
-./click/
--icon.png
--manifest.json
--yourapp.json
--yourapp.desktop
--./plugin/
---./yourlib/
----lib(yourlibname).so
----qmldir

Now you are ready to build from your project root folder:
click build ./click

This should create a .click file in your project folder.

Installing in your device

adb pull your.click /home/phablet/
adb shell
su phablet
cd ~
pkcon -p install-local your.click

This should be enough, but sometimes I find that you need to restart unity:
pkill unity8 (you might need sudo)


Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20131210 Meeting Agenda


ARM Status

nothing new to report this week


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:


Milestone Targeted Work Items

   apw    core-1311-kernel    5 work items   
      core-1311-cross-compilation    2 work items   
      core-1311-hwe-plans    1 work item   
   bjf    core-1311-dmraid2mdadm    1 work item   
   ogasawara    core-1311-kernel    4 work items   
      client-1311-xorg-general    1 work item   
   sforshee    servercloud-1311-cloud-images    1 work item   
   smb    core-1311-dmraid2mdadm    1 work item   
      servercloud-1311-openstack-virt    5 work items   
   rtg    core-1311-hwe-plans    1 work item   
      core-1311-kernel    1 work item   


Status: Trusty Development Kernel

The master branch for trusty has been rebased to the latest v3.12.4
upstream stable kernel. We also continue to track the latest v3.13
kernel on our unstable branch and most recently rebased to v3.13-rc3.
We anticipate uploading a v3.13 based Trusty kernel to the archive after
the new year.
—–
Important upcoming dates:
Thurs Dec 19 – Alpha 1 (~1 week away)
Thurs Jan 23 – Alpha 2 (~6 weeks away)
Thurs Dec 12 – 12.04.4 Kernel Freeze (this week!)
Thurs Jan 23 – 12.04.4 Final Release (~6 weeks away)


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Raring/Quantal/Precise/Lucid

Status for the main kernels, until today (Nov. 26):

  • Lucid – Verification & Regression Testing
  • Precise – Verification & Regression Testing
  • Quantal – Verification & Regression Testing
  • Raring – Verification & Regression Testing
  • Saucy – Verification & Regression Testing
    Current opened tracking bugs details:
  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html


Open Discussion or Questions? Raise your hand to be recognized

No open discussion.

Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20131203 Meeting Agenda


ARM Status

nothing new to report this week


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

First, a big thank you to apw for wrestling our kernel related
blueprints and work items into place to make the above links useful
again. Our work items and owners are as follows:

   apw    core-1311-kernel    5 work items   
      core-1311-cross-compilation    3 work items   
      core-1311-hwe-plans    1 work item   
      core-1311-secure-boot    1 work item   
   bjf    core-1311-dmraid2mdadm    1 work item   
   cking    core-1311-kernel    2 work items   
   ogasawara    core-1311-kernel    4 work items   
      client-1311-xorg-general    1 work item   
   smb    core-1311-dmraid2mdadm    1 work item   
      servercloud-1311-openstack-virt    5 work items   
   rtg    core-1311-hwe-plans    1 work item   
      core-1311-kernel    1 work item   


Status: Trusty Development Kernel

The master branch for trusty has been rebased to the latest v3.12.2
upstream stable kernel. We also continue to track the latest v3.13
kernel on our unstable branch and most recently rebased to v3.13-rc2.
Again, we shall switch our master branch from tracking v3.12 to v3.13
once we cycle through the initial -rc’s and feel it is stable enough for
wider consumtion, ie uploaded to the archive.
—–
Important upcoming dates:
Thurs Dec 19 – Alpha 1 (~2 weeks away)
Thurs Jan 23 – Alpha 2 (~7 weeks away)
Thurs Dec 12 – 12.04.4 Kernel Freeze (~1 week away)
Thurs Jan 23 – 12.04.4 Final Release (~7 weeks away)

  • NOTE: Even though the kernel freeze date for 12.04.4 is Dec 12,
    patches needed to have landed in the SRU cadence starting
    this week to make the 12.04.4 point release. Contact us
    *immediately* if there are patches which need to land.

    https://lists.ubuntu.com/archives/kernel-team/2013-November/034753.html


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Raring/Quantal/Precise/Lucid

Status for the main kernels, until today (Nov. 26):

  • Lucid – Prep’ing
  • Precise – Prep’ing
  • Quantal – Prep’ing
  • Raring – Prep’ing
  • Saucy – Prep’ing
    Current opened tracking bugs details:
  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html


Open Discussion or Questions? Raise your hand to be recognized

No open discussions.

Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20131126 Meeting Agenda


ARM Status

nothing new to report this week


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

While marginally useful for tracking work items in the past, the above
links are completely useless at the moment. I have manually reviewed
work items from the core-1311-kernel and core-1311-hwe-plans blueprints.
However, beyond those two, I’m oblivious to what other work our team or
individuals were signed up for.

   apw    core-1311-kernel    1 work ite   
   cking    core-1311-kernel    2 work item   
   rtg    core-1311-hwe-plans    1 work item   


Status: Trusty Development Kernel

For those unaware, the ubuntu-trusty git repo is open and available at:
git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git . The master branch is
currently tracking the latest 3.12.1 upstream stable kernel while the
unstable branch has most recently been rebased to v3.13-rc1. We shall
move our master branch to track v3.13 after some baking. We will also
upload to the archive when it’s ready.
—–
Important upcoming dates:
Thurs Dec 12 – 12.04.4 Kernel Freeze (~2 weeks away)
Thurs Dec 23 – 12.04.4 Final Release (~8 weeks away)
Thurs Dec 19 – Alpha 1 (~3 weeks away)
Thurs Jan 23 – Alpha 2 (~ 8 weeks away)


Status: CVE’s

The current CVE status can be reviewed at the following link:

http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html


Status: Stable, Security, and Bugfix Kernel Updates – Saucy/Raring/Quantal/Precise/Lucid

Status for the main kernels, until today (Nov. 26):

  • Lucid – Regression Testing
  • Precise – Regression Testing
  • Quantal – Regression Testing
  • Raring – Regression Testing
  • Saucy – Regression Testing
    Current opened tracking bugs details:
  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html


Open Discussion or Questions? Raise your hand to be recognized

No open discussions.

Read more
Steve George

Recently some concerns were expressed by fixubuntu.com, a website focusing on Ubuntu privacy, about a routine trademark enforcement email that Canonical sent. We want to provide some context around this issue.

In Ubuntu we cherish an open and diverse discourse, and we welcome differing and challenging views and perspectives; it is the cornerstone of our community, as exemplified by our open Ubuntu Developer Summit, mailing lists, IRC channels and more. Our Code of Conduct and Trademark policy simply provide guardrails for those conversations to flourish.

Canonical owns the family of Ubuntu trademarks and we have a responsibility to protect those trademarks. In trademark law a mark owner is expected to protect the authenticity of a trademark otherwise they risk losing the mark.

Our trademark policy is unusually permissive. We have a global community of Ubuntu contributors, LoCo teams, translators, developers, advocates, and others who want to use these marks to within the spirit and governance of the project. Therefore, our policy has been crafted in such a way that we can protect the marks and what they stand for, but also ensure our community has the freedom to use them.

In the case of fixubuntu.com, we were concerned that the use of the trademark implied a connection with and endorsement from the Ubuntu project which didn’t exist. The site owner has already agreed to remove the Ubuntu logo and clarified that there is no connection; from our perspective the situation has been resolved, and we have no issue with the site or the criticism it includes.  In fact, far from an trying to silence critics, our trademark policy actually calls out parody and criticism and other uses as being allowed when the marks are used appropriately.  (Please make the parodies funny – we need a good laugh as much as anyone!)

We aim to communicate our policies and actions clearly and openly, and I welcome feedback on how to do that better.

UPDATE:  I should have mentioned that we do listen closely to constructive criticism and user’s requests about the Online Search function. And in response we already added a simple way for you to limit your search to local results only if you wish.  If you’re running the latest version of Ubuntu, check Settings -> Security & Privacy -> Search.

Read more
Michael

I’ve been working on some more support for ansible in the juju charm-helpers package recently [1], which has effectively transformed my juju charm’s hooks.py to something like:

# Create the hooks helper, passing a list of hooks which will be
# handled by default by running all sections of the playbook
# tagged with the hook name.
hooks = charmhelpers.contrib.ansible.AnsibleHooks(
    playbook_path='playbooks/site.yaml',
    default_hooks=['start', 'stop', 'config-changed',
                   'solr-relation-changed'])

@hooks.hook()
def install():
    charmhelpers.contrib.ansible.install_ansible_support(from_ppa=True)

And that’s it.

If I need something done outside of ansible, like in the install hook above, I can write a simple hook with the non-ansible setup (in this case, installing ansible), but the decorator will still ensure all the sections of the playbook tagged by the hook-name (in this case, ‘install’) are applied once the custom hook function finishes. All the other hooks (start, stop, config-changed and solr-relation-changed) are registered so that ansible will run the tagged sections automatically on those hooks.

Why am I excited about this? Because it means that practically everything related to ensuring the state of the machine is now handled by ansibles yaml declarations (and I trust those to do what I declare). Of coures those playbooks could themselves get quite large and hard to maintain, but ansible has plenty of ways to break up declarations into includes and roles.

It also means that I need to write and maintain fewer unit-tests – in the above example I need to ensure that when the install() hook is called that ansible is installed, but that’s about it. I no longer need to unit-test the code which creates directories and users, ensures permissions etc., or even calls out to relevant charm-helper functions, as it’s all instead declared as part of the machine state. That said, I’m still just as dependent on integration testing to ensure the started state of the machine is what I need.

I’m pretty sure that ansible + juju has even more possibilities for being able to create extensible charms with plugins (using roles), rather than forcing too much into the charms config.yaml, and other benefits… looking forward to trying it out!

[1] The merge proposal still needs to be reviewed, possibly updated and landed :)


Filed under: Uncategorized

Read more
Michael

I’ve been working on some more support for ansible in the juju charm-helpers package recently [1], which has effectively transformed my juju charm’s hooks.py to something like:

# Create the hooks helper, passing a list of hooks which will be
# handled by default by running all sections of the playbook
# tagged with the hook name.
hooks = charmhelpers.contrib.ansible.AnsibleHooks(
    playbook_path='playbooks/site.yaml',
    default_hooks=['start', 'stop', 'config-changed',
                   'solr-relation-changed'])

@hooks.hook()
def install():
    charmhelpers.contrib.ansible.install_ansible_support(from_ppa=True)

And that’s it.

If I need something done outside of ansible, like in the install hook above, I can write a simple hook with the non-ansible setup (in this case, installing ansible), but the decorator will still ensure all the sections of the playbook tagged by the hook-name (in this case, ‘install’) are applied once the custom hook function finishes. All the other hooks (start, stop, config-changed and solr-relation-changed) are registered so that ansible will run the tagged sections automatically on those hooks.

Why am I excited about this? Because it means that practically everything related to ensuring the state of the machine is now handled by ansibles yaml declarations (and I trust those to do what I declare). Of coures those playbooks could themselves get quite large and hard to maintain, but ansible has plenty of ways to break up declarations into includes and roles.

It also means that I need to write and maintain fewer unit-tests – in the above example I need to ensure that when the install() hook is called that ansible is installed, but that’s about it. I no longer need to unit-test the code which creates directories and users, ensures permissions etc., or even calls out to relevant charm-helper functions, as it’s all instead declared as part of the machine state. That said, I’m still just as dependent on integration testing to ensure the started state of the machine is what I need.

I’m pretty sure that ansible + juju has even more possibilities for being able to create extensible charms with plugins (using roles), rather than forcing too much into the charms config.yaml, and other benefits… looking forward to trying it out!

[1] The merge proposal still needs to be reviewed, possibly updated and landed :)


Filed under: Uncategorized

Read more
Ameet Paranjape

The bread and butter of Landscape is security compliance – keeping your systems securely up to date with minimum effort, and remedy any unintended side-effects an update may have.  Helping your CIO prove this was done timely is a neat additional capability that can save the IT team the need to scrub logs to create reports.

“Help me keep my Ubuntu systems compliant with the latest security updates” is a common request I hear from frustrated System Administrators.  Landscape was designed with compliance in mind from the start, but since I have explained and demonstrated this countless times to many customers in person, I thought I’d share the benefits of managing updates through Landscape with a larger audience.

The “freshness” of Ubuntu, this wonderful ability to find any and all software, in the latest version, always readily packaged for your favorite distribution, comes with a constant stream of updates that need to be managed.

To start, let’s first approach this using a reactive method and finish with a proactive approach that will keep our systems compliant going forward.

In Landscape, select the “COMPUTERS” tab.

 Under Select Computers choose “All” as shown below.  In my case, I have 5 servers but you could have any number of physical servers, desktops,  virtual machines or cloud  guests under management in your account.

Select the “Packages” tab on the right:

In the Summary section of my example, I have “3 computers with security updates to install” link.  You could have hundreds, thousands or even tens of thousands of managed systems – the strength of Landscape’s interface is how it makes it as simple to manage a thousand systems as it is to manage one.

Landscape lets you easily distinguish between security updates, and feature updates and bug fixes – so if you desire to reduce the amount of changes you push to your systems, or to schedule a different maintenance event for less urgent updates, this is easily done.

Select the link to get a complete list of security fixes and select “All upgrades.” This will toggle the install selection of all the security updates listed – Landscape lets you select a different behavior for each of the security updates listed, from the same overview screen. One could, for example, select to uninstall cups altogether if the vulnerable systems do not support any actual printing.  This is done through the three buttons on the left.

The selected action is reflected in the color change:

Scroll to the bottom of the screen and select Apply Changes.  You can apply the updates right away or select a future date and time. As an aside, I strongly recommend using Landscape’s system tagging feature for rolling updates and avoiding regressions, by grouping similar systems together based on their workloads

.

At this point all our systems will have the latest Ubuntu security updates installed shortly.

Now let’s examine how to keep systems current proactively by using Landscape’s package profiles feature. From the Landscape tab,  select Profiles.

In the next window, select Upgrade Profiles.

Click on “Add update profile” and enter in the required fields.  The title of this profile is “Ubuntu Security Updates” but you could name your profile whatever you want.  We have checked the “only security updates” box so this profile won’t apply feature updates or bugfixes, and requested the packages be applied on all systems at 2am every Sunday.  Click the Save button and it will take effect.

Profiles are editable, and you can combine profiles with Landscape’s system tags for granular control of the update process.  A common example is using different scheduled update profiles for roaming devices: you could mandate after-hours updates for the laptops of your sales team to enforce your security policy, yet make sure that no lingering Landscape tasks interfere with their work hours if the systems were offline or powered off overnight.

Sometimes, an update does not go exactly as planned.  Packages are hardly ever defective on their own, but sometimes an update may be having an unintended side effect on your workload, and you need to roll back the patch you just installed to continue operating until a more complete or fully functional solution can be devised.

Landscape makes this remarkably easy. Searching for and selecting the offending package is done in the packages tab, and expanding the details section will show what managed devices have the package installed, and what versions it can be reverted to.  Once you are ready to commit, the downgrade process is just as streamlined as the upgrade.

Many of our customers have Compliance or Governance requirements: they need to prove to an oversight body, either internally to their company or externally to a certification authority, that systems were kept secure.  The most common example of this is the PCI DSS rule requiring security updates be rolled out within 30 days of release.

You can help your CIO fulfill these requirements effortlessly, by providing her with a CSV or a chart showing the current state of update of your infrastructure, generated using Landscape’s reporting functionality:

Even when no security audits have to be met, folks are pretty happy when you show a high percentage of systems are securely patched  and you can justify the groups of systems that have yet to be covered.  Auditing is awesome, as it generates CSV data and charts without requiring you to spend any cycles sifting through logs gathering details.

This is just one of the many compliance options available in Landscape.  You can watch a four-minute video overview on YouTube,  or Check out Landscape yourself.

Read more