moving wiki content
by Mo Morsi
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
10 years, 9 months
Aeolus Project Names
by Martyn Taylor
<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>
10 years, 11 months
[aeolus-incubator/tim] 1d8662: Added TargetImage Delete functionality
by Jason Guiditta
Branch: refs/heads/master
Home: https://github.com/aeolus-incubator/tim
Commit: 1d86624f19b87c61ca269760db6044246aa2d5ae
https://github.com/aeolus-incubator/tim/commit/1d86624f19b87c61ca269760db...
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/c940c3d6a4cc0ae9db06d988fa...
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
10 years, 12 months
[aeolus-incubator/tim] e93b91: Add delete body support to Net::HTTP and ARes
by Jason Guiditta
Branch: refs/heads/master
Home: https://github.com/aeolus-incubator/tim
Commit: e93b91399a00a618bfe0d23d907815c457a40def
https://github.com/aeolus-incubator/tim/commit/e93b91399a00a618bfe0d23d90...
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/a5b748eb25144dda60abbd1261...
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/c673528a8aa9dce67a2981ea2c...
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
10 years, 12 months
ActiveRecord callbacks
by Martyn Taylor
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...
Regards
Martyn
11 years
tdl-tools update
by Mo Morsi
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
11 years
Event Report
by nitesh narayan lal
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
11 years
ANNOUNCE: Oz 0.10.0 Release
by Chris Lalancette
All,
I'm pleased to announce release 0.10.0 of Oz. Oz is a program for
doing automated installation of guest operating systems with limited input
from the user. Release 0.10.0 is a bugfix and feature release for Oz.
Some of the highlights between Oz 0.9.0 and 0.10.0 are:
* Support for installing OpenSUSE 12.1 and 12.2
* Support for python3
* Support for Ubuntu 12.04.1, 12.04.2, and 12.10
* Fix up <command> ordering so that commands are run in the order they
are specified in the XML
* Updates and fixes to the documentation
* Increase the shutdown timeout to support slower qemu guests
* Add a default screenshot directory as /var/lib/oz/screenshots
* Support for RHEL 5.9
* Support for Fedora 18
* Switch over to pycurl for header information; this allows http
authentication to work
* Switch to using the libvirt built-in screenshot mechanism. This
removes the gvnc dependency and makes screenshots more reliable, but
requires libvirt 0.9.7 or newer
* Delete auto-generated ssh keys after customization
A tarball of this release is available, as well as packages for Fedora-17.
Instructions on how to get and use Oz are available at
http://github.com/clalancette/oz/wiki .
If you have questions or comments about Oz, please feel free to contact me
at clalancette(a)gmail.com, or open up an issue on the github page:
http://github.com/clalancette/oz/issues .
Thanks to everyone who contributed to this release through bug reports,
patches, and suggestions for improvement.
Chris Lalancette
11 years