Bug 733347

Summary: RFE: Add ability to add information about a system loan.
Product: [Retired] Beaker Reporter: PaulB <pbunyan>
Component: web UIAssignee: Raymond Mancy <rmancy>
Status: CLOSED CURRENTRELEASE QA Contact: Amit Saha <asaha>
Severity: high Docs Contact:
Priority: high    
Version: 0.7CC: asaha, blc, bpeck, dcallagh, ebaak, jburke, lersek, llim, mcsontos, pbunyan, rmancy, stl
Target Milestone: 0.12Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard: GroupModel
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-11 04:56:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description PaulB 2011-08-25 14:14:36 UTC
Description of problem:
 Currently, one is only able to add data to "Condition Report" when a system is broken. Please add ability to update the "Condition Report" when a system is loaned in Beaker.

 Developers require systems loaned to them for exteneded periods of time for BZ troubleshooting. Having the ability to add data to the "Condition Report" on the systems page provides an area to add comments regarding this request.  

Version-Release number of selected component (if applicable):
 Beaker Version - 0.7.0 


Thank you.
-pbunyan

Comment 1 Raymond Mancy 2012-08-09 06:04:51 UTC
The condition report was created as a way to report on reasons why a machine was in the condition it's in (Removed, Broken).

Is the 'Notes' tab a reasonable place to enter data regarding loan status ?

Comment 2 Jeff Burke 2012-08-09 12:51:06 UTC
I don't the notes tab is a reasonable place only since it is not visable all the time. You specifically have to go into that tab to find out who/why/ticket that it was loaned to.

That is why I wanted to use the condition field since it would allow all of that data to be recorded.

I am happy with adding a new box that only appears when you loan a system.
For example if you click the loan button it brings up the User screen where you select a user to laon the system to. Below that we could have a dialogue box that says Reason. We can enter in the information for the loan. Back on the main system
page under loan field the Reason box will be shown. Once the loan is returned then the box disappears.

Comment 3 PaulB 2012-11-01 12:46:57 UTC
Ray,
Can this RFE be included in the next Beaker update?

Best,
-pbunyan

Comment 4 Min Shin 2012-11-02 02:25:11 UTC
Hi Paul,

This won't be included in the next minor which is 0.11. But the next Beaker major, 1.0, is addressing Beaker Group Model which may or may not change how these condition reports or other information are viewed. The exact scope of Beaker 1.0 is not discussed yet. Current timeframe for 1.0 release is end of Feb/13.

Comment 5 Jeff Burke 2013-02-18 14:06:46 UTC
Min,
 Can we get this added to the 0.12 release. 

Thanks,
Jeff

Comment 6 Jeff Burke 2013-02-20 13:23:32 UTC
Min, Ray
 I noticed that the BZ Title changed. I just want to double check the wording used. 
RFE: Add ability to add notes when a system is loaned in Beaker.

What does the word 'notes' mean? Are you refering to the notes tab? If so that is not what we need.

Thanks,
Jeff

Comment 7 Raymond Mancy 2013-02-25 05:24:49 UTC
Jeff, you're right in that the subject is misleading. Let me re-word it.

Comment 8 Raymond Mancy 2013-02-25 05:27:36 UTC
This will be a new input field seperate from 'Condition Report' and 'Notes', ans specific just to the Loan.

I'm also thinking of having it automatically wiped when the Loan is returned, so we don't have stale info hanging around. Does this suit ?

Comment 10 Raymond Mancy 2013-03-15 07:17:10 UTC
http://gerrit.beaker-project.org/#/c/1802/

Comment 12 Amit Saha 2013-03-26 06:36:38 UTC
The loan comment is added correctly. However, "Return Loan" returns a 500 error code citing failure.

Here are the messages in server-debug.log:

Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 121, in _run
    self.main()
  File "/usr/lib/python2.6/site-packages/CherryPy-2.3.0-py2.6.egg/cherrypy/_cphttptools.py", line 264, in main
    body = page_handler(*virtual_path, **self.params)
  File "<string>", line 3, in return_loan
  File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 361, in expose
    *args, **kw)
  File "<generated code>", line 0, in run_with_transaction
  File "/usr/lib/python2.6/site-packages/peak/rules/core.py", line 153, in __call__
    return self.body(*args, **kw)
  File "/usr/lib/python2.6/site-packages/turbogears/database.py", line 458, in sa_rwt
    retval = func(*args, **kw)
  File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 244, in _expose
    @abstract()
  File "<generated code>", line 0, in _expose
  File "/usr/lib/python2.6/site-packages/peak/rules/core.py", line 153, in __call__
    return self.body(*args, **kw)
  File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 390, in <lambda>
    fragment, options, args, kw)))
  File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 425, in _execute_func
    output = errorhandling.try_call(func, *args, **kw)
  File "/usr/lib/python2.6/site-packages/turbogears/errorhandling.py", line 77, in try_call
    return func(self, *args, **kw)
  File "<string>", line 3, in return_loan
  File "/usr/lib/python2.6/site-packages/turbogears/identity/conditions.py", line 249, in require
    return fn(self, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/bkr/server/systems.py", line 27, in return_loan
    return self.update_loan(fqdn=fqdn, loaned=None)
  File "<string>", line 3, in update_loan
  File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 356, in expose
    *args, **kw)
  File "<generated code>", line 0, in _expose
  File "/usr/lib/python2.6/site-packages/peak/rules/core.py", line 153, in __call__
    return self.body(*args, **kw)
  File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 390, in <lambda>
    fragment, options, args, kw)))
  File "/usr/lib/python2.6/site-packages/turbogears/controllers.py", line 425, in _execute_func
    output = errorhandling.try_call(func, *args, **kw)
  File "/usr/lib/python2.6/site-packages/turbogears/errorhandling.py", line 77, in try_call
    return func(self, *args, **kw)
  File "<string>", line 3, in update_loan
  File "/usr/lib/python2.6/site-packages/turbogears/identity/conditions.py", line 249, in require
    return fn(self, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/bkr/server/systems.py", line 39, in update_loan
    system.change_loan(loaning_to, loan_comment)
  File "/usr/lib/python2.6/site-packages/bkr/server/model.py", line 2105, in change_loan
    user = User.by_user_name(loaning_to)
  File "/usr/lib/python2.6/site-packages/bkr/server/model.py", line 1553, in by_user_name
    if not user and cls.ldapenabled and '/' not in user_name:
TypeError: argument of type 'NoneType' is not iterable

Comment 14 Raymond Mancy 2013-03-26 11:35:36 UTC
User.by_user_name() was barfing when passed a user_name of None.
http://gerrit.beaker-project.org/1832

Comment 16 Amit Saha 2013-03-27 06:32:59 UTC
Verified to be working as expected.

Comment 17 Jeff Burke 2013-03-27 12:02:22 UTC
Ray,
 Thank you for adding this in. It does essenially give us the abitlity to enter in some details about the loan. But, the implemtation of this is not what we were expecting. The implementation requires you to click an additional link to see why it was loaned out.

 The intention was to have the the same thing as the "Condition Report" but it be a "Loan Report". The name of it in not important. However the "Loan Setting" information is not available from the system view page. Please see https://beaker-devel.app.eng.bos.redhat.com/view/test-entry.testing.733347.com It has both the "Condition Report" set and "Loan Settings" The only thing you can see from the System view page is the "Condition Report"

Regards,
Jeff

Comment 18 Jeff Burke 2013-03-27 13:14:45 UTC
Ray,
 Please ignore my previous comment. It seems I managed to contradict myself. I am ok with the way it is implemented. Sorry for the noise. 

Best,
Jeff

Comment 19 PaulB 2013-03-27 13:41:36 UTC
All,
As this "Loan Setting" allows us to update the reason for the loan within a suitable sized comment box, I think this will work nicely. 

I do have a couple of questions:
[1] Amit - 
    We need verify that members of the group can "Update Loan",  
    when a system is owned by a group (with admin permissions).

[2] Ray - 
    Would it be possible to add a box to the "Toggle Result Column"?
    As we would include the date of the loan and reason for the loan
    in the comment box, being able to see this data in a system wide search
    would be quite useful.
    For instance, querying all systems that are owned by kernel-hw group and 
    loaned out, we would be able to see the comment for all the loans :)
    example: 
    https://url.corp.redhat.com/toggle-selected-SystemName-and-SystemLoanedTo-only

Thank you.
-pbunyan

Comment 20 Raymond Mancy 2013-04-02 12:41:56 UTC
(In reply to comment #19)
> All,
> As this "Loan Setting" allows us to update the reason for the loan within a
> suitable sized comment box, I think this will work nicely. 
> 
> I do have a couple of questions:
> [1] Amit - 
>     We need verify that members of the group can "Update Loan",  
>     when a system is owned by a group (with admin permissions).
> 
> [2] Ray - 
>     Would it be possible to add a box to the "Toggle Result Column"?
>     As we would include the date of the loan and reason for the loan
>     in the comment box, being able to see this data in a system wide search
>     would be quite useful.

>     For instance, querying all systems that are owned by kernel-hw group and 
>     loaned out, we would be able to see the comment for all the loans :)
>     example: 
>    

Sure, I don't see that it would be a problem. However we would probably want to limit the characters (or perhaps wrap the text if it is not too hard). The database can store 1000 characters in the loan_comment field, we probably don't want display potentially all 1000.

> https://url.corp.redhat.com/toggle-selected-SystemName-and-SystemLoanedTo-
> only
> 
> Thank you.
> -pbunyan

Comment 21 PaulB 2013-04-02 20:02:37 UTC
(In reply to comment #20)
> (In reply to comment #19)
> > All,
> > As this "Loan Setting" allows us to update the reason for the loan within a
> > suitable sized comment box, I think this will work nicely. 
> > 
> > I do have a couple of questions:
> > [1] Amit - 
> >     We need verify that members of the group can "Update Loan",  
> >     when a system is owned by a group (with admin permissions).
> > 
> > [2] Ray - 
> >     Would it be possible to add a box to the "Toggle Result Column"?
> >     As we would include the date of the loan and reason for the loan
> >     in the comment box, being able to see this data in a system wide search
> >     would be quite useful.
> 
> >     For instance, querying all systems that are owned by kernel-hw group and 
> >     loaned out, we would be able to see the comment for all the loans :)
> >     example: 
> >    
> 
> Sure, I don't see that it would be a problem. However we would probably want
> to limit the characters (or perhaps wrap the text if it is not too hard).
> The database can store 1000 characters in the loan_comment field, we
> probably don't want display potentially all 1000.

Ray,
First - thank you for adding the ability to add information about a system loan :)

Regarding this new display option...
Adding it would be a nice feature, as mentioned. 
Line wrapping would likely be best, in hopes of keeping the output as neat as possible. For me, I think a field large enough to contain the date loaned and
a short comment (or link to BZ/RT ticket) would be great. A max of 70 characters seems to suffice. I wonder how disruptive it would be to the display
if several options were selected under Systems->"Toggle Result Columns".

Regardless - this seems like a new RFE BZ should be opened for this new enhancement.

Best,
-pbunyan

> 
> > https://url.corp.redhat.com/toggle-selected-SystemName-and-SystemLoanedTo-
> > only
> > 
> > Thank you.
> > -pbunyan

Comment 22 Raymond Mancy 2013-04-02 21:29:35 UTC
(In reply to comment #21)
> (In reply to comment #20)
> > (In reply to comment #19)
> > > All,
> > > As this "Loan Setting" allows us to update the reason for the loan within a
> > > suitable sized comment box, I think this will work nicely. 
> > > 
> > > I do have a couple of questions:
> > > [1] Amit - 
> > >     We need verify that members of the group can "Update Loan",  
> > >     when a system is owned by a group (with admin permissions).
> > > 
> > > [2] Ray - 
> > >     Would it be possible to add a box to the "Toggle Result Column"?
> > >     As we would include the date of the loan and reason for the loan
> > >     in the comment box, being able to see this data in a system wide search
> > >     would be quite useful.
> > 
> > >     For instance, querying all systems that are owned by kernel-hw group and 
> > >     loaned out, we would be able to see the comment for all the loans :)
> > >     example: 
> > >    
> > 
> > Sure, I don't see that it would be a problem. However we would probably want
> > to limit the characters (or perhaps wrap the text if it is not too hard).
> > The database can store 1000 characters in the loan_comment field, we
> > probably don't want display potentially all 1000.
> 
> Ray,
> First - thank you for adding the ability to add information about a system
> loan :)
> 
> Regarding this new display option...
> Adding it would be a nice feature, as mentioned. 
> Line wrapping would likely be best, in hopes of keeping the output as neat
> as possible. For me, I think a field large enough to contain the date loaned
> and
> a short comment (or link to BZ/RT ticket) would be great. A max of 70
> characters seems to suffice. I wonder how disruptive it would be to the
> display
> if several options were selected under Systems->"Toggle Result Columns".
>

It seems that perhaps we should actually have a 'loaned_date' in the database which is auto populated. It also solves the problem of inconsistent date formatting by hand. We could then use the comment field for just that, comments. This way you could also display the date and/or the comments in the search results. Does this seem more in line with what you need ?

> Regardless - this seems like a new RFE BZ should be opened for this new
> enhancement.
> 
> Best,
> -pbunyan
> 
> > 
> > > https://url.corp.redhat.com/toggle-selected-SystemName-and-SystemLoanedTo-
> > > only
> > > 
> > > Thank you.
> > > -pbunyan

Comment 23 PaulB 2013-04-03 16:45:59 UTC
(In reply to comment #22)

> > Regarding this new display option...
> > Adding it would be a nice feature, as mentioned. 
> > Line wrapping would likely be best, in hopes of keeping the output as neat
> > as possible. For me, I think a field large enough to contain the date loaned
> > and
> > a short comment (or link to BZ/RT ticket) would be great. A max of 70
> > characters seems to suffice. I wonder how disruptive it would be to the
> > display
> > if several options were selected under Systems->"Toggle Result Columns".
> >
> 
> It seems that perhaps we should actually have a 'loaned_date' in the
> database which is auto populated. It also solves the problem of inconsistent
> date formatting by hand. We could then use the comment field for just that,
> comments. This way you could also display the date and/or the comments in
> the search results. Does this seem more in line with what you need ?
> 

Ray,
That sounds good to me. I am happy to open a new RFE for this dispaly option, if you wish.

Thank you,
-pbunyan

Comment 24 Raymond Mancy 2013-04-04 02:40:20 UTC
(In reply to comment #23)
> (In reply to comment #22)
> 
> > > Regarding this new display option...
> > > Adding it would be a nice feature, as mentioned. 
> > > Line wrapping would likely be best, in hopes of keeping the output as neat
> > > as possible. For me, I think a field large enough to contain the date loaned
> > > and
> > > a short comment (or link to BZ/RT ticket) would be great. A max of 70
> > > characters seems to suffice. I wonder how disruptive it would be to the
> > > display
> > > if several options were selected under Systems->"Toggle Result Columns".
> > >
> > 
> > It seems that perhaps we should actually have a 'loaned_date' in the
> > database which is auto populated. It also solves the problem of inconsistent
> > date formatting by hand. We could then use the comment field for just that,
> > comments. This way you could also display the date and/or the comments in
> > the search results. Does this seem more in line with what you need ?
> > 
> 
> Ray,
> That sounds good to me. I am happy to open a new RFE for this dispaly
> option, if you wish.
> 

Yes please do. I was hoping to tack something onto the existing implementation but I think it would be better to do soemthing more considered post 0.12.

In the meantime, I've added the ability to display the loan comment in the search results.

> Thank you,
> -pbunyan

Comment 25 PaulB 2013-04-08 15:21:31 UTC
(In reply to comment #24)

> > Ray,
> > That sounds good to me. I am happy to open a new RFE for this dispaly
> > option, if you wish.
> > 
> 
> Yes please do. I was hoping to tack something onto the existing
> implementation but I think it would be better to do soemthing more
> considered post 0.12.
> 
> In the meantime, I've added the ability to display the loan comment in the
> search results.

Thank you, Ray.
New RFE opened: https://bugzilla.redhat.com/show_bug.cgi?id=949601

Best,
-pbunyan

Comment 26 Dan Callaghan 2013-04-11 04:56:11 UTC
Beaker 0.12 has been released.