Includes redmine patches #1445, 1446
All tests passed to me, I also tried to build Mock Image which I did not
manage to do, but propably the problem is in my settings, please test.
On the website mtg today we discussed moving the redmine wiki content to
the individual github wiki's. Matt mentioned we have the capability to
mass migrate redmine pages to github wiki pages so we're asking each
individual subcommunity which pages they would like to be migrated to
their wiki.
The overall binding content will be moved to a combination of the
conductor wiki and the aeolusproject.org github site wiki. The later
isn't the best fit for the content (though alot of the content should go
in the conductor wiki) but its the best option that we currently see atm.
We threw around the idea of a mediawiki installation but as Matt
mentioned we previously had one (got littered with spam) and none of us
felt the effort of setting one up was worth the cycles atm (can be
revisited in the future). If anyone has any additional suggestions, feel
free to shout out here.
We are looking at mid January as the cutoff date for this migration. We
ask that a representative of each indivual subcommunity (deltacloud,
imagefactory, oz, Tim, Heat, conductor, configure, aeolus-cli, and
audrey) start looking at the redmine wiki and send us a list of the
pages they want migrated. If you could send this to us by mid December
that would be more than appreciated. Alternatively just migrate the wiki
content you would like and just tell us (don't worry, we will find other
things todo ;-) ).
We will keep the redmine wiki around after the end of January in read
only mode for historical / archival purposes. Though at some point in
the far future we most likely will shut it down for good.
-Mo
<winge>
Gents,
I know we all had a bit of fun coming up with weird and wonderful names
when we were looking to rename IME (or now Tim).
But seriously... are we actually going to call our projects things like
Gablestablerfahrer, WingedMonkey and alike? I'm all for avoiding boring
names like IME and EVM (no offence MIQ) but surely there is some middle
ground to be had here? We should at least make an effort to name our
projects to roughly describe what they actually do?
</winge>
Howdy fellow developers,
A while back Petr had sent an email here about the immensely-useful
better_errors gem. I just bumped into a Railscast that covers
better_errors, and also a neat Chrome extension called RailsPanel that
lets you drill into requests to a Rails app.
http://railscasts.com/episodes/402-better-errors-railspanel
(Jump to 5:45 or so if you're already familiar with better_errors.)
This is actually a few months old, so apologies if you've already seen
this. But I thought it was pretty nifty.
RailsPanel itself is here: https://github.com/dejan/rails_panel
-- Matt
Branch: refs/heads/master
Home: https://github.com/aeolus-incubator/tim
Commit: 1d86624f19b87c61ca269760db6044246aa2d5ae
https://github.com/aeolus-incubator/tim/commit/1d86624f19b87c61ca269760db60…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-22 (Fri, 22 Mar 2013)
Changed paths:
A app/exceptions/tim/error/exceptions.rb
R app/exceptions/tim/exceptions.rb
M app/models/tim/provider_image.rb
M app/models/tim/target_image.rb
A app/models/tim/target_image_observer.rb
M app/patches/rails/active_resource/delete_with_content_body.rb
M app/state_machine/tim/state_machine/provider_image/fsm_create.rb
A app/state_machine/tim/state_machine/target_image/fsm_create.rb
A app/state_machine/tim/state_machine/target_image/fsm_delete.rb
A image_factory/exceptions/image_factory/exceptions.rb b/lib/image_factory/exceptions/image_factory/exceptions.rb
M lib/tim/engine.rb
M spec/controllers/provider_images_controller_spec.rb
M spec/controllers/target_images_controller_spec.rb
M spec/models/observers/provider_image_observer_spec.rb
A spec/models/observers/target_image_observer_spec.rb
M spec/models/provider_image_spec.rb
M spec/models/target_image_spec.rb
M test/dummy/app/models/provider_account.rb
Log Message:
-----------
Added TargetImage Delete functionality
Commit: c940c3d6a4cc0ae9db06d988faa265704fd2740d
https://github.com/aeolus-incubator/tim/commit/c940c3d6a4cc0ae9db06d988faa2…
Author: jguiditta <jguiditt(a)redhat.com>
Date: 2013-03-22 (Fri, 22 Mar 2013)
Changed paths:
A app/exceptions/tim/error/exceptions.rb
R app/exceptions/tim/exceptions.rb
M app/models/tim/provider_image.rb
M app/models/tim/target_image.rb
A app/models/tim/target_image_observer.rb
M app/patches/rails/active_resource/delete_with_content_body.rb
M app/state_machine/tim/state_machine/provider_image/fsm_create.rb
A app/state_machine/tim/state_machine/target_image/fsm_create.rb
A app/state_machine/tim/state_machine/target_image/fsm_delete.rb
A image_factory/exceptions/image_factory/exceptions.rb b/lib/image_factory/exceptions/image_factory/exceptions.rb
M lib/tim/engine.rb
M spec/controllers/provider_images_controller_spec.rb
M spec/controllers/target_images_controller_spec.rb
M spec/models/observers/provider_image_observer_spec.rb
A spec/models/observers/target_image_observer_spec.rb
M spec/models/provider_image_spec.rb
M spec/models/target_image_spec.rb
M test/dummy/app/models/provider_account.rb
Log Message:
-----------
Merge pull request #117 from mtaylor/fsm_target_image
Fsm target image
Compare: https://github.com/aeolus-incubator/tim/compare/c673528a8aa9...c940c3d6a4cc
Branch: refs/heads/master
Home: https://github.com/aeolus-incubator/tim
Commit: e93b91399a00a618bfe0d23d907815c457a40def
https://github.com/aeolus-incubator/tim/commit/e93b91399a00a618bfe0d23d9078…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-14 (Thu, 14 Mar 2013)
Changed paths:
A app/patches/rails/active_resource/delete_with_content_body.rb
Log Message:
-----------
Add delete body support to Net::HTTP and ARes
Commit: a5b748eb25144dda60abbd1261d5181c7020ab24
https://github.com/aeolus-incubator/tim/commit/a5b748eb25144dda60abbd1261d5…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-20 (Wed, 20 Mar 2013)
Changed paths:
M app/models/tim/provider_image.rb
M app/models/tim/provider_image_observer.rb
M app/patches/rails/active_resource/delete_with_content_body.rb
M app/state_machine/tim/state_machine/fsm.rb
M app/state_machine/tim/state_machine/provider_image/fsm_create.rb
A app/state_machine/tim/state_machine/provider_image/fsm_delete.rb
M spec/controllers/provider_images_controller_spec.rb
A spec/factories/dummy/provider_account.rb
M spec/factories/tim/provider_image.rb
M spec/models/dummy/pool_family_spec.rb
R spec/models/dummy/provider_account_spec.rb
M spec/models/observers/provider_image_observer_spec.rb
M test/dummy/app/models/provider_account.rb
Log Message:
-----------
Added Delete Provider Image FSM Support
Commit: c673528a8aa9dce67a2981ea2c899ae3a32e66a3
https://github.com/aeolus-incubator/tim/commit/c673528a8aa9dce67a2981ea2c89…
Author: jguiditta <jguiditt(a)redhat.com>
Date: 2013-03-22 (Fri, 22 Mar 2013)
Changed paths:
M app/models/tim/provider_image.rb
M app/models/tim/provider_image_observer.rb
A app/patches/rails/active_resource/delete_with_content_body.rb
M app/state_machine/tim/state_machine/fsm.rb
M app/state_machine/tim/state_machine/provider_image/fsm_create.rb
A app/state_machine/tim/state_machine/provider_image/fsm_delete.rb
M spec/controllers/provider_images_controller_spec.rb
A spec/factories/dummy/provider_account.rb
M spec/factories/tim/provider_image.rb
M spec/models/dummy/pool_family_spec.rb
R spec/models/dummy/provider_account_spec.rb
M spec/models/observers/provider_image_observer_spec.rb
M test/dummy/app/models/provider_account.rb
Log Message:
-----------
Merge pull request #113 from mtaylor/fsm_delete
Fsm delete
Compare: https://github.com/aeolus-incubator/tim/compare/fbb7b3a53ff5...c673528a8aa9
All,
I recently ran into a bit of a trap with ActiveRecord when using
callbacks and a rails console. It's not totally obvious how callbacks
work, so I thought I'd write it up so others don't fall into the same
issues.
It's easiest to explain this with an example: lets say we have two
classes a user model and a model observer:
class User < ActiveRecord::Base
# has string field called name.
end
class UserObserver < ActiveRecord::Observer
def after_create user
u = User.find(user.id)
u.name = "foo"
u.save
end
end
We'll start the rails server and then open up console to issue some
commands. Now let's create a new user:
u = User.create
What would you expect to happen in this case?
If you think that:
1. User is persisted
2. after_create event triggered
3. user is found and name set to "foo"
4. user is saved
Then you thought the same as me and would be right... at least some of
the time.
What actually happens is the following:
1. User persistence is triggered and a database transaction initialized
Split a, b:
2a. after_create event triggered
3a. user is looked up and name set to "foo"
3a. user is saved
2b. transaction commits or does a roll back
In most cases the transaction will commit or roll back pretty much
straight away and we'll see our original expected behaviour.
However, in some cases the callback will execute before the transaction
is complete. In our example this would result in a RecordNotFound
exception. Since the the database entry does not exist when our
observer tries to do the lookup for the user record.
Now, a point to note here: I've not actually tested this using a single
rails session (i.e. having just the server or just the console
running). I am assuming (though I do need to find out) that there is
some cache at or around the persistence layer which stores our original
user object, and returns it when we do User.find(:id). This would happen
without touching the db and therefore we'll not see a RecordNotFound error).
However, we should at least be aware of the actual behaviour above,
since it may well be that other sessions are used for rake tasks or
general administration.
So, how to do we deal with the transactions issues.
Well as of rails 3.x ActiveRecord now have 2 extra callbacks events
:after_commit and :after_rollback. These are used to ensure that the
callback is fired after our transaction has completed (and our record
actually exists or is updated in the database). These events can also
be scoped to the standard callbacks, so they fire only on :create,
:update etc...
after_commit :do_foo,:on => :create
after_commit :do_bar,:on => :update
after_commit :do_baz,:on => :destroy
However, there isn't any obvious way (at least from what I gather) to
scope these events in the observer. So, I created a generic
after_commit callback, and do the check for :create/:update myself. This
is less than ideal, I'm hoping there is (or will be soon) a better
method for doing this. Updated observer example:
class UserObserver < ActiveRecord::Observer
def after_commit user
# check to see if this is a create event
if user.created_at == updated_at
u = User.find(user.id)
u.name = "foo"
u.save
end
end
end
So, it's worth bearing in mind this behaviour when using callbacks and
you won't do what I originally did and start cursing sqlite :p.
Anyways... Hope you found this useful and if any of you have a better
idea on scoping the commit callbacks in observers, please let me know,
it will be useful.
For more info checkout:
http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.h…
Regards
Martyn
Branch: refs/heads/master
Home: https://github.com/aeolus-incubator/tim
Commit: 07b2e60ce931547392ac5512f302a69ba4a3cdc3
https://github.com/aeolus-incubator/tim/commit/07b2e60ce931547392ac5512f302…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-13 (Wed, 13 Mar 2013)
Changed paths:
R app/models/tim/fsm.rb
M app/models/tim/provider_image.rb
A app/models/tim/provider_image_observer.rb
M app/models/tim/target_image.rb
A app/state_machine/tim/state_machine/fsm.rb
M lib/tim/engine.rb
A spec/models/observers/provider_image_observer_spec.rb
Log Message:
-----------
Added Transition Observer
Commit: e68d0135ffceccfa1013841c719449c84994bc60
https://github.com/aeolus-incubator/tim/commit/e68d0135ffceccfa1013841c7194…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-13 (Wed, 13 Mar 2013)
Changed paths:
M app/models/tim/provider_image_observer.rb
M app/state_machine/tim/state_machine/fsm.rb
M spec/models/observers/provider_image_observer_spec.rb
Log Message:
-----------
renamed transitions to verbs
Commit: 0870ae6b26d1c1c98b7b7c8c5f0940094de732ad
https://github.com/aeolus-incubator/tim/commit/0870ae6b26d1c1c98b7b7c8c5f09…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-13 (Wed, 13 Mar 2013)
Changed paths:
M app/state_machine/tim/state_machine/fsm.rb
Log Message:
-----------
removed white space from fsm.rb
Commit: 1a1852370b64bfc838e9a577495bd58e5bf9f17f
https://github.com/aeolus-incubator/tim/commit/1a1852370b64bfc838e9a577495b…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-13 (Wed, 13 Mar 2013)
Changed paths:
M app/models/tim/provider_image_observer.rb
A app/state_machine/tim/state_machine/provider_image/fsm_create.rb
Log Message:
-----------
Use Mixins for statemachine observer behaviour
Commit: 896370d86dbefc12e1704590589f5e7fa7018665
https://github.com/aeolus-incubator/tim/commit/896370d86dbefc12e1704590589f…
Author: Martyn Taylor <mtaylor(a)redhat.com>
Date: 2013-03-13 (Wed, 13 Mar 2013)
Changed paths:
M app/state_machine/tim/state_machine/provider_image/fsm_create.rb
Log Message:
-----------
Added upcase check
Commit: fbb7b3a53ff501591422e9f912e80b02fd0e8fb0
https://github.com/aeolus-incubator/tim/commit/fbb7b3a53ff501591422e9f912e8…
Author: jguiditta <jguiditt(a)redhat.com>
Date: 2013-03-13 (Wed, 13 Mar 2013)
Changed paths:
R app/models/tim/fsm.rb
M app/models/tim/provider_image.rb
A app/models/tim/provider_image_observer.rb
M app/models/tim/target_image.rb
A app/state_machine/tim/state_machine/fsm.rb
A app/state_machine/tim/state_machine/provider_image/fsm_create.rb
M lib/tim/engine.rb
A spec/models/observers/provider_image_observer_spec.rb
Log Message:
-----------
Merge pull request #109 from mtaylor/state_machine_observer
Added Transition Observer
Compare: https://github.com/aeolus-incubator/tim/compare/68edc38dee5c...fbb7b3a53ff5
Figure I'd send around an update regarding tdl-tools [1]. I have some
content to demo at our next sprint recap, and plan to make a short
screencast which I will format into a blog post w/ some content:
As you may recall, tdl-tools is a set of tools to make building,
testing, and deploying tdls (as used by imagefactory/oz) quick and easy.
All in all the current tools are comprised of:
- tdl-create: create a new tdl/etdl from scratch, includes an
interactive mode
- tdl-verify: verify the accuracy of your tdl on the command line
- tdl-convert: convert an tdl/etdl and vice versa
- tdl-launch: start a new instance w/ deltacloud and process the tdl on
it, great for quickly testing tdl's
- tdl-apply : simple command to proxy tdl's between cloud instance and
image services, specify tdl via cmd line w/ flag indicating whether to
use tdl-launch/deltacloud or imagefactory to handle the tdl.
- tdl-config: creates a new config file in the user's home dir
containing cloud credentials (which the user will be prompted for) to be
used by tdl-apply to pass onto deltacloud/imagefactory
I also would like to incorporate a '--server' flag in tdl-apply to
provide a simple sinatra based web-service which to also serve this
proxy over http.
These commands are all currently available via the 'tdl' gem on
rubygems.org [2], simply 'gem install tdl' and invoke them on the
command line.
-Mo
[1] https://github.com/aeolus-incubator/tdl-tools
[2] https://rubygems.org/gems/tdl
Hi,
I had taken a talk and covered following topics :
-
Getting started with Qt development
-
Contribution to Fedora
-
Introduction to Aeolus project
at *Jamia Millia Islamia College of Enginnering* [1], Delhi , India on
Saturday, March 9th , 2013.
My talk was one of the several talks under Jamia Dev Days [2]
The participants were mostly Btech students .
They were familiar with basic programming language practices mostly with
C/C++ and quite a few of them had a prior experiencing of using Linux.
In the first part of my talk I had covered the following topics :
-
What is Qt
-
How to start learning Qt
-
How to approach a GUI application using Qt
In the second part I mostly covered things like
-
What is Fedora
-
Using Fedora
-
How to contribute
-
Where to ask for help and so on
In the last part of my talk I had given them information about :
-
Cloud computing
-
Aeolus project
-
My contribution to Aeolus project
-
How they could contribute to Aeolus project .
Thanks to JMI LUG [3] for their help in organizing this wonderful talk.
[1] Jamia Millia Islamia University : http://jmi.ac.in/
[2] JamiaDevDaysFacebookPage:https://www.facebook.com/JDevDay
[3] JMI LUG : http://www.jmilug.org/cms/
Regards
Nitesh Narayan Lal
https://fedoraproject.org/wiki/User:Niteshnarayan