[PATCH aeolus-image 0/1] Don't set :body in attrs method
by Matt Wagner
The body method is returning a 500 in some cases, which is the root cause of https://bugzilla.redhat.com/show_bug.cgi?id=735983
As I went to try to debug and maybe rescue this, it occurred to me that I have absolutely no idea why we're returning 'body' when you fetch its attributes in the first place. It seems kind of weird, and we don't appear to reference it anywhere in the code.
So my proposed fix is to remove this behavior. Calling attrs should now be safe. I didn't change body to rescue exceptions, since I don't have any idea what we should do in that case, so raising an exception seems like the right thing to do.
It would be great if someone who knew this code well could give this a quick sanity check, though.
-- Matt
12 years, 7 months
[PATCHv3 0/4]: Remove condor from the conductor
by Chris Lalancette
All,
This is a patch series to remove condor from the conductor. In short,
condor presents problems for our project because it is an external project, it
is written in C++ (while most of our developers are ruby), and it is too complex
for our current needs.
The new way we do scheduling is described pretty well in patch 1, so I
won't delve into it here. Since the last posting, there have been a few more
bugs fixed:
1) I figured out why the key wasn't showing, and fixed it
2) I fixed up the instance addresses to use the hash as returned by the
deltacloud client, so the instance IP addresses display correctly
3) I re-establish the database connection in every new process in dbomatic
4) rwsu fixed launching RHEV-M with the patches
I have to admit that I did not test 3) or 4) yet; I'm going to rely on the
people that reported them to me to verify that this patchset fixes the problems
that they saw.
There are still 2 bugs with this patchset:
1) I'm not properly generating the instance name. In condor, we did this by
generating a UUID that would be the instance name, then truncating that UUID to
the maximum length that deltacloud told us an instance name could be for a
particular backend. I'm thinking we want to do the same here.
2) The "Download Key" link doesn't work, and returns a 404. I'm honestly not
sure if that is a problem with this particular patchset, or an unrelated bug,
but I have not had time to figure it out yet.
I've personally tested the patches using the EC2 backend, where things seem to
be working well. I can start and stop deployments from the UI, and the state
gets updated along the way. However, the patches still need additional testing
to shake out bugs, so I'd appreciate any testing people can give it.
I decided *not* to go with the fork model for doing deltacloud instance
actions. From what I've been told, the VMware backend no longer takes a long
time to do an instance create, and I don't think our current uses warrant the
additional complexity of a process model. If this turns out to be a problem
and we are causing UI timeouts, we know how to solve it in the future.
Chris Lalancette
12 years, 7 months
Audit Conductor according to the Rails Security Guide
by Tomas Hrcka
Hi all,
Here is list of things we should discuss and do:
*** every one who write code to conductor should read the security guidelines
for rails[1] most relevant are chapters after 4.
*** it looks like we are doing thing in the right way in the rails code part
*** storing credentials/certificates as plain text in the db
*** but we need to solve this problems:
--- Encrypt the communication between Conductor and the database
(probably SSL)
--- Protect the authentication credentials to the database
(for what I know this is done by setting right permissions to the
configuration file)
links:
[1] http://guides.rubyonrails.org/security.html
--
Tomáš Hrčka
12 years, 7 months
[PATCH conductor] Make the production environment use /var/log for the logs.
by Chris Lalancette
Signed-off-by: Chris Lalancette <clalance(a)redhat.com>
---
src/config/environments/production.rb | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/config/environments/production.rb b/src/config/environments/production.rb
index 1aecd5f..3fecb33 100644
--- a/src/config/environments/production.rb
+++ b/src/config/environments/production.rb
@@ -42,6 +42,7 @@ Conductor::Application.configure do
# Use a different logger for distributed setups
# config.logger = SyslogLogger.new
+ config.logger = Logger.new('/var/log/aeolus-conductor/rails.log')
# Use a different cache store in production
# config.cache_store = :mem_cache_store
--
1.7.4.4
12 years, 7 months
Audit Conductor according to the Rails Security Guide
by Tomas Hrcka
Hi all,
Here is list of things we should discuss and do:
*** every one who write code to conductor should read the security guidelines
for rails[1] most relevant are chapters after 4.
*** it looks like we are doing thing in the right way in the rails code part
*** storing credentials/certificates as plain text in the db
*** but we need to solve this problems:
--- Encrypt the communication between Conductor and the database
(probably SSL)
--- Protect the authentication credentials to the database
(for what I know this is done by setting right permissions to the
configuration file)
links:
[1] http://guides.rubyonrails.org/security.html
--
Tomáš Hrčka
12 years, 7 months
Audit Conductor according to the Rails Security Guide
by Tomas Hrcka
Hi all,
Here is list of things we should discuss and do:
*** every one who write code to conductor should read the security guidelines
for rails[1] most relevant are chapters after 4.
*** it looks like we are doing thing in the right way in the rails code part
*** storing credentials/certificates as plain text in the db
*** but we need to solve this problems:
--- Encrypt the communication between Conductor and the database
(probably SSL)
--- Protect the authentication credentials to the database
(for what I know this is done by setting right permissions to the
configuration file)
links:
[1] http://guides.rubyonrails.org/security.html
--
Tomáš Hrčka
12 years, 7 months
[PATCHv2 0/3]: Remove condor from the conductor
by Chris Lalancette
All,
This is a patch series to remove condor from the conductor. In short,
condor presents problems for our project because it is an external project, it
is written in C++ (while most of our developers are ruby), and it is too complex
for our current needs.
The new way we do scheduling is described pretty well in patch 1, so I
won't delve into it here. Since the last posting, I've fixed a number of bugs
that rwsu pointed out, and jprovazn commented on. Thanks guys. I've
personally tested it so far using only the EC2 backend, where things seem to
be working well. I can start and stop deployments from the UI, and the state
gets updated along the way. However, the patches still need additional testing
to shake out bugs, so I'd appreciate any testing people can give it.
I decided *not* to go with the fork model for doing deltacloud instance
actions. From what I've been told, the VMware backend no longer takes a long
time to do an instance create, and I don't think our current uses warrant the
additional complexity of a process model. If this turns out to be a problem
and we are causing UI timeouts, we know how to solve it in the future.
I'm still seeing the problem where the "Download Key" link doesn't work
in the UI. What's odd is that it seems to work sometimes, but not others.
jprovazn assured me that this is a problem before this patchset, though, so
I'm inclined to take him at his word.
Comments and questions about the patchset and what we are trying to
accomplish here are welcome.
Chris Lalancette
12 years, 7 months
[PATCH 1/2] aeolus-check-services fix for single deltacloud instance
by Maros Zatko
From: Maros Zatko <mzatko(a)redhat.com>
---
bin/aeolus-check-services | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/bin/aeolus-check-services b/bin/aeolus-check-services
index 87b7a43..d7f2757 100755
--- a/bin/aeolus-check-services
+++ b/bin/aeolus-check-services
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-init_scripts=%w(aeolus-conductor condor deltacloud-core deltacloud-ec2-us-east-1 deltacloud-ec2-us-west-1 deltacloud-mock httpd imagefactory iwhd libvirtd mongod ntpd postgresql qpidd)
+init_scripts=%w(aeolus-conductor condor deltacloud-core httpd imagefactory iwhd libvirtd mongod ntpd postgresql qpidd)
init_scripts.each do |script|
puts "\nChecking #{script} ..."
--
1.7.6
12 years, 7 months
aeolus-image and aeolus-image-rubygem repositories
by Martyn Taylor
Gentlemen,
I've created a new git repo in github to house the aeolus-image ruby
client "aeolus-image-rubygem".
This forms part of the plan to have aeolus-image talk directly to
conductor API. It means that aeolus-image will not talk to iwhd or
imagefactory. This will be done by conductor using the
"aeolus-image-rubygem". The new repo can be found here:
git@github.com:aeolusproject/aeolus-image-rubygem.git
I've tagged aeolus-image with "cli-split" in case we need to get back to
it for any reason. I would use this tag for builds until we get the
next version working.
Thanks
Martyn
12 years, 7 months
[PATCH conductor] BZ #738733 remove old deltacloud scripts for aeolus-image-restart script
by Jason Guiditta
https://bugzilla.redhat.com/show_bug.cgi?id=738733
Fixed this in both restart and check scripts. Removed messagebus restart
which was causing X to restart/crash.
---
bin/aeolus-check-services | 2 +-
bin/aeolus-restart-services | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/bin/aeolus-check-services b/bin/aeolus-check-services
index 87b7a43..56c2d71 100755
--- a/bin/aeolus-check-services
+++ b/bin/aeolus-check-services
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-init_scripts=%w(aeolus-conductor condor deltacloud-core deltacloud-ec2-us-east-1 deltacloud-ec2-us-west-1 deltacloud-mock httpd imagefactory iwhd libvirtd mongod ntpd postgresql qpidd)
+init_scripts=%w(mongod iwhd postgresql httpd qpidd deltacloud-core libvirtd condor aeolus-conductor conductor-dbomatic imagefactory ntpd)
init_scripts.each do |script|
puts "\nChecking #{script} ..."
diff --git a/bin/aeolus-restart-services b/bin/aeolus-restart-services
index d6dbb2e..8a327f8 100755
--- a/bin/aeolus-restart-services
+++ b/bin/aeolus-restart-services
@@ -15,7 +15,7 @@
# limitations under the License.
# ordered as in rc.d
-services = %w(mongod messagebus iwhd postgresql httpd qpidd deltacloud-ec2-us-east-1 deltacloud-ec2-us-west-1 deltacloud-mock libvirtd condor aeolus-conductor conductor-dbomatic imagefactory)
+services = %w(mongod iwhd postgresql httpd qpidd deltacloud-core libvirtd condor aeolus-conductor conductor-dbomatic imagefactory)
def perform(action, svcs)
action = action.to_s
--
1.7.6
12 years, 7 months