aeolus-image push curl failed
by James Labocki
I'm running into the following error when attempting to push a successfully built image. I just pulled from the development RHEL 6.1 repo yesterday. Any help on how to fix this is appreciated. I can connect via curl on the command line.
[root@cldmgr01 ~]# aeolus-image push --provider rhevm --id e4c702a2-ee72-4c08-8117-20f68d28c2b8
Provider Image: 0f453478-6f84-4295-874d-f6d25f64b4ac
Image: e4c702a2-ee72-4c08-8117-20f68d28c2b8
Build: 12369482-95cb-4119-a69e-b516276e422f
Status: PUSHING
Percent Complete: 0
[root@cldmgr01 ~]# tail -f /var/log/imagefactory.log
self.push_image_upload(target_image_id, provider, credentials)
File "/usr/lib/python2.6/site-packages/imagefactory/builders/FedoraBuilder.py", line 1006, in push_image_upload
self.rhevm_push_image_upload(target_image_id, provider, credentials)
File "/usr/lib/python2.6/site-packages/imagefactory/builders/FedoraBuilder.py", line 981, in rhevm_push_image_upload
raise ImageFactoryException("Failed to extract RHEV-M UUID from warehouse POST reponse: %s" % (response))
ImageFactoryException: Failed to extract RHEV-M UUID from warehouse POST reponse: failed
ERROR curl failed GET url `https://rhevm.cloud.redhat.com:8543/rhevm-api-powershell/'
2011-07-28 03:53:39,817 DEBUG imagefactory.BuildJob.BuildAdaptor pid(2650) Message: Raising event with agent handler (<ImageFactoryAgent(Thread-1, initial)>), changed status from FAILED to FAILED
[root@cldmgr01 ~]# curl https://rhevm.cloud.redhat.com:8543/rhevm-api-powershell/
<html><head><title>JBoss Web/2.1.3.GA - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 401 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>This request requires HTTP authentication ().</u></p><HR size="1" noshade="noshade"><h3>JBoss Web/2.1.3.GA</h3></body></html>[root@cldm[root@cldmgr01 ~]#
-James
12 years, 4 months
[PATCH configure 0/3]: Cleanups to configure
by Chris Lalancette
All,
This series has a few patches to cleanup configure. First, it removes
one last remnant of dcuser and renames it to aeolususer. Second, it removes
the delayed_job setup stuff from configure, since it is no longer used. And
finally, it adds a license file to the configure tree, since it was missing one
before. Please review and ACK.
Chris Lalancette
12 years, 4 months
[PATCH] Remove typhoeus.
by Chris Lalancette
As Jay Guiditta pointed out, we no longer need typhoeus. Remove
it, and further reduce our dependencies.
Signed-off-by: Chris Lalancette <clalance(a)redhat.com>
---
aeolus-conductor.spec.in | 1 -
src/Gemfile | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/aeolus-conductor.spec.in b/aeolus-conductor.spec.in
index 98f7d11..7c72fea 100644
--- a/aeolus-conductor.spec.in
+++ b/aeolus-conductor.spec.in
@@ -29,7 +29,6 @@ Requires: rubygem(deltacloud-client) >= 0.0.9.8
Requires: rubygem(compass) >= 0.10.2
Requires: rubygem(compass-960-plugin)
Requires: rubygem(simple-navigation)
-Requires: rubygem(typhoeus)
Requires: rubygem(rest-client) >= 1.6.1
Requires: rubygem(builder)
Requires: rubygem(json)
diff --git a/src/Gemfile b/src/Gemfile
index f479e56..0c04c50 100644
--- a/src/Gemfile
+++ b/src/Gemfile
@@ -13,7 +13,6 @@ gem 'nokogiri'
gem 'compass'
gem 'compass-960-plugin', :require => 'ninesixty'
gem 'simple-navigation'
-gem 'typhoeus'
gem 'rest-client'
#gem 'rack-restful_submit'
gem 'net-scp', :require => 'net/scp'
--
1.7.4.4
12 years, 4 months
[PATCH conductor 00/24]: Port to Rails 3
by Chris Lalancette
All,
The following patch series ports the entire conductor to Rails 3. With
this full set of changes in place, we are able to get a UI that basically
works. There are known problems still, in particular around Javascript; but
I feel that it is better to get these patches in now, and enlist help from all
of the experts.
The easiest way to check out whether this works for you is to use Fedora
rawhide, where all of the packages are ready to be used. If you don't want to
use rawhide, the next best option is to use gem to install rails 3.0.9 and all
of its dependencies. We will eventually make packages for Fedora-14 and
Fedora-15 available, but that will take additional time.
Note that I don't expect anyone to go through a line-by-line review of
this series, as it is quite large. Mostly I am looking for reviewers to point
out obvious problems and gotchas; we can fix the rest in-tree.
This work has been done by a number of people, including Jan Provaznik,
Jay Guiditta, Scott Seago, Mo Morsi, Matt Wagner, Tomas Sedovic, and myself
(apologies if I left anyone out).
Comments and questions welcome.
12 years, 4 months
Instance key generation (rev. 2)
by Jan Provazník
Resending updated patch (didn't run full e2e test now as changes are minor).
Not sending second patch which removes "create_bucket" call as I want to make
sure this is done by imagefactory first (this patch is not required for rails3
patchset).
Jan
12 years, 4 months
High Availability Feature, looking for information
by Jason Guiditta
Hello list (and Steve), I have been tasked with looking into the
following nebulous feature item for consideration of being included in
Iteration 4:
'* HA configuration available?'
This is from an 'infrastructure around aeolus' perspective, if that
helps context at all.
There was brief discussion of this in an extremely broad way on a recent
call, and given my lack of involvement with anything HA, I find myself
with absolutely no idea how to describe what might need doing here, let
alone how it might be done. I will be looking through the list archives
to see what has been discussed, but all the threads I recall seeing were
very long and detailed, and I would rather get a synopsis if someone can
summarize the current thinking in this area. Also, any links to specific
threads or documentation/designs would be much appreciated. Thanks for
any direction here,
-j
12 years, 4 months
Iteration 4 Feature: Authorization (Permissions)
by Scott Seago
Authorization:
The main purpose of authorization (permissions) is to control access
to resources based on defined permission records, once the
autherntication system has determined the identity of the current
user. The basic infrastructure and enforcement is already in
place. What we're doing here is to make sure we're enforcing
existing permissions consistently, providing a UI for admins to
manipulat permission grants, and expanding the scope of the
permissions system to deal with resources stored externally to the
main conductor database.
The basic components of permissions that we need are as
follows. Some initial indication of what we think is in scope for
this iteration is included, but this is only an initial estimate.
In scope for 0.4.0
1) Always check/filter/etc for permissions:
a) raise exceptions/show proper error pages on permission denied
(a good bit is done)
b) hide elements/links/actions based on permission (user shouldn't
be presented with any option that he's not allowed to perform)
c) filter lists properly based on permission (some is done already)
2) Permission setting UI
a) UI design for single object grants/deletes
b) Implementation for single object grants/deletes
c) UI design for bulk operations (maybe out of scope)
d) Implementation for bulk operations (maybe out of scope)
3) Permissions on IWHD objects
Maybe in scope for 0.4.0
4) Permissions on user groups
Probably not in scope for 0.4.0
5) Permission filtering of search results (if search is in scope,
this must be too)
6) Additional permissions for external objects
a) permissions on templates
b) permissions on assemblies/deployables
User stories and tasks:
1)
a) As a user, I should see an appropriate error page if I attempt to
access a resource to which I do not have the appropriate level
of access
1) Make sure permission checks are being applied to every page
2) Make sure error pages are being styled properly
b) As a user, I should not see action links for actions that I do
not have permission on (i.e. if I have 'view' permission on a
provider I shouldn't see an 'edit' link, if I have 'view'
permission on a deployment, I shouln't see a 'stop' action)
1) make sure links, actions, and any "privileged" content section
are included conditionally (by privilege level) in views
(already done in some cases)
c) As a user, I should not see entries in a list of resources that I do
not have access to view by other means (i.e. the pool 'instance
list' should only include instances that I have 'view'
permissions on, etc.)
1) Make sure we use 'list_for_user' where appropriate for any
list output.
2) We may need an association-specific list_for_user, or we could
re-style association queries to use existing list_for_user
(i.e. instead of pool.instances, we have
Instance.list_for_user(...) where the user and pool are
specified.
2)
a) As a Developer, I should be able to see the web UI design for
single-object permission operations
1) UI design for permissions tab:
* reusable across all permissioned-object types (pool,
instance, provider, etc)
* Shows table of existing permission grants:
- user
- role
- whether direct or indirect -- if indirect, which object
is the explicit grant on:
- a direct permission is a permission defined on this
resource -- i.e. the instance owner has the 'owner'
role on this instance
- for some object types, there's a defined hierarchy of
permission grant inheritence. For example, 'view
instance' permission defined on a pool lets a user
view all instances in that pool
- Any permission defined on BasePermissionObject is
considered a site-wide permision grant and will be
applicable to any object of the same type as that of
the BasePermissionObject role
* Actions allowed on the table of permissions
(delete/change role)
* "Grant additional access" action which will allow the
user/admin to choose a new user and a role on which to
grant permissions on this resource
b) As an admin, I should be able to use the Web UI to grant and
revoke access to a resource.
1) Design permission setting UI (single user/resource)
2) Implement views and controller actions for permission setting
UI (single user/resource)
3) Make sure API calls are sane here too (single user/resource)
4) Repeat 1)-3) for bulk operations
c) As a Developer, I should be able to see the web UI design for
bulk permission operations (no tasks broken out here)
d) As an admin, I should be able to use the Web UI to grant and
revoke access to multiple resources at once (no tasks broken
out here).
3) As a user, I should be able to see that permissions checking,
filtering, etc. is being applied to Images, Builds, and Provider
Images
1) Design interaction w/ IWHD api for permissions
2) Refactor PermissionedObject into a hierarchy:
PermissionedObject is the base class with anything common to
both AR and ActiveResource models
PermissionedActiveRecordObject includes AR-specific
components (from today's model)
PermissionedActiveResourceObject contains the parts needed to
deal with the IWHD models (at a general level)
3) Augment IWHD models to include
PermissionedActiveResourceObject and implement any required
methods
4) Refactor Permission model to work with ActiveResource models
5) Define appropriate privileges and roles for the new models
4) As an admin, I should be able to grant a user group access to a
pool (or other resource) without identifying individual users.
1) Implement UserGroup model (figure out any integration w/
external data source)
2) Work out caching group membership from external source (cache
on schedule, by trigger, or re-query a user's group
memberships before performing a permission query
for this user (or something else entirely). We need it cached
locally since the permission filtering queries wil need to
include group and membership in the join for filtering results.
3) Alter Permission model to use a polymorphic association
instead of User (Grantee which can be either a User or a
UserGroup, or something similar)
4) Alter permission checks, filters, etc. to take groups into
account
5) Alter permissions setting UI to allow group selection in
addition to user selection.
5) As a user, I should not see entries in search results that I do
not have access to view by other means (i.e. by clicking on the
appropriate pool/instance/etc pages)
1) Figure out appropriate place to insert permission filtering in
search results and implement it (more detail needed)
6)
a) As a user, I should be able to see that permissions checking,
filtering, etc. is being applied to Templates
1) determine how templates will be stored (assuming an
ActiveResource model pointing to katello-managed templates for
now)
2) Augment Template ActiveResource model to implement any
required PermissionedActiveResourceObject methods
3) Define appropriate privileges and roles for the template model
b) As a user, I should be able to see that permissions checking,
filtering, etc. is being applied to Assemblies and Deployables
1) determine how templates will be stored -- impl will be
dependent on this answer.
The main external prerequisites are as follows:
For IWHD permissions, IWHD must have in place a permissions system
and API that is, at least at a conceptual level, consistent with
our underlying permisions model.
For user group permissions, we need to have identified our plan for
external auth and how we're interacting with the underlying user
groups functionality.
Once we're considering dealing with permissions on objects stored
in katello, we'll need to deal with the same questions as above for
IWHD.
12 years, 4 months
aeolus configuration profiles and interactive installer
by Mo Morsi
The following patchset adds support for aeolus configuration profiles,
or collections of components and seed data which the user can install
and configure independently of other bits.
Additionally an interactive installer (which can be invoked via
'aeolus-configure -i') is included, prompting the user for the components
to create, and the seed data to initialize (providers to setup, account
credentials, repos and software to use to setup and deploy images, etc).
The interactive installer is a completely optional feature, the node yml
and puppet recipe (which is the output of the installer anyways) can still
be used as is for automated installations
The patchset most likely will need a little more work to shore things up, but
the main functionality is in place
12 years, 4 months
[PATCH conductor 0/2] Minor Pools scoreboard cleanup
by Matt Wagner
There was a BZ filed for some scoreboard values always showing 0. This wasn't a bug as much as the fact that the code to display the values hadn't been implemented. For the 0.3.0 release, I removed those components. Going forward, it was suggested that displaying "N/A" might call more attention to the fact that the values are placeholder text. Of course as we go forward we'll want to actually implement these, but for now, let's stop showing misleading and incorrect information.
This series also includes a fix for a typo in en.yml.
12 years, 4 months
[PATCH] Make tests use the port 3002 for the mock DC server
by Tomas Sedovic
All,
This is a small thing, but it can mean one less papercut when running tests on
Conductor.
The gist of it is, that the tests rely on Deltacloud mock instance running on
port 3001, while aeolus-configure sets up one on 3002.
That causes 2 things: first, everybody who runs the tests for the first time
sees a bunch of failures because they don't have the mock server running.
Second, they learn to run one, even though it's unnecessary since there is a
mock server up and ready just a port_num++ away.
Is there a reason why we wouldn't want the tests to look for the port 3002
instead of 3001? And is there reason worth the confusion to newcommers?
Please, let me know what you think.
Thomas
12 years, 4 months