All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Wood <michael.g.wood@intel.com>
To: toaster@yoctoproject.org
Subject: Re: Build cancellation from toaster
Date: Fri, 19 Feb 2016 23:11:08 +0000	[thread overview]
Message-ID: <56C7A10C.4090701@intel.com> (raw)
In-Reply-To: <CADyYWLnNq1xxH4VT77nXnw13qw0iWYs+i_UdQDhvCKBeco29Uw@mail.gmail.com>

On 09/02/16 13:40, sujith h wrote:
>
> snip
>
> Hi Belen as per our discussions, I have updated the changes at 
> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/toaster-build-cancel14.

A few code review notes on those commits

toaster: update BuildEnvironmentController and BitbakeController

[ MW
  - Not sure why getArtifact method is being removed here
  - The arguments in the __init__ need realigning
]

toaster: add cancelled state in models

[ MW
  - finished_criteria white space - we try to stick to 80 cols if possible
  - The commit summary ideally could also include a little more info 
e.g. toaster: models Add cancelled state to build outcome
  - After modifying model definitions you also need to add a database 
migration running. ./mange.py makemigrations will do this for you
]

toaster: add function cancelBuild to mrb_section.html

[ MW this patch doesn't seem to be needed as there are only unused 
variables here which are wrapping libtoaster.cancelABuild ]

toaster: add get_tasks function

[ MW I prefer this compared to the filters, but as this is already 
implemented and currently in use, it's best not to duplicate it. See the 
custom filter in projectfilters.py and it's usage in the mrb_section 
template. More info about filters here 
https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#ref-templates-builtins-filters
]

toaster: update css for build cancellation

[ MW This css isn't needed, the build button just needs to have the 
class 'pull-right' ]

toaster: update toastergui's table for build cancellation

[ MW
  - It's neater to us Use exclude(Q(conditions) | Q(conditions)) in 
exclude instead of a new call
  - Use the 'enum' for the state CANCELLED instead of '3'  - 3 might 
change and this could introduce a bug
  - No need to re-get the build object, it's part of buildrequest.build
  - I can understand the while loop and the timing issue we have here I 
will look into another solution for this because we could end up in an 
infinite loop here.
]

toaster: add cancel button to UI

[ MW
  - Here we don't want to use an inline onclick= handlers in the html 
element with the django template code. To keep a good separation of JS, 
django template and html we make use of the data attribute of the 
element and then retrieve it in the JS.
- Avoid using the name of the 'command line builds' project to identify 
it, if that name changes this will fail. Better to use the (admittedly 
obscure) property 'is_default' on the project object to identify it
]

As we've not been able to help you much with this feature I've fixed all 
the above issues and have pushed a new branch at

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=michaelw/sujith/build-cancel

It's not quite finished yet - some more testing is needed. I've added 
you as a co-author on some of the commits in which I've added or changed 
additional code. Hope this is OK.

Thanks,

Michael


>
>
>     Thanks,
>     Sujith H
>
>
>
>
>         >
>         >This would help to hide cancel button for builds triggered
>         from command
>         >line in toaster.
>         >
>         >On Tue, Jan 26, 2016 at 7:52 PM, sujith h
>         ><sujith.h@gmail.com <mailto:sujith.h@gmail.com>> wrote:
>         >
>         >
>         >
>         >On Wed, Jan 20, 2016 at 10:26 PM, Brian Avery
>         ><avery.brian@gmail.com <mailto:avery.brian@gmail.com>> wrote:
>         >
>         >Pointer to xmlrpc test client -
>         >https://bitbucket.org/srccode/xmlrpc-test-tool
>         >
>         >
>         >
>         >Today I gave a try with xmlrpc-test-tool. I tried to install
>         php on my
>         >local machine, followed by apache and then configured it to
>         get it
>         >working with php. Using this tool, I was getting the error as
>         attached in
>         >the screenshot.
>         >
>         >
>         >
>         >
>         >
>         >-b
>         >
>         >On Mon, Jan 18, 2016 at 8:12 AM, sujith h <sujith.h@gmail.com
>         <mailto:sujith.h@gmail.com>> wrote:
>         >>
>         >>
>         >> On Mon, Jan 18, 2016 at 1:13 AM, Barros Pena, Belen
>         >> <belen.barros.pena@intel.com
>         <mailto:belen.barros.pena@intel.com>> wrote:
>         >>>
>         >>>
>         >>>
>         >>> On 13/01/2016 16:47, "sujith h" <sujith.h@gmail.com
>         <mailto:sujith.h@gmail.com>> wrote:
>         >>>
>         >>> >
>         >>> >I have updated another patch set with which I have
>         verified with:
>         >>> >
>         >>> >a) cancellation of a normal build
>         >>> >
>         >>> >b) run again and cancel the build
>         >>> >
>         >>> >c) stop toaster + start toaster + run again   and cancel
>         the build
>         >>> >
>         >>>
>         >>> >
>         >>>>http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=sujith/to
>         >>>>ast
>         >>> >er-build-cancel12
>         >>>
>         >>> Sorry for the delay in looking into this. Cancellation
>         seems to be
>         >>>working
>         >>> well for me for any builds I start from Toaster. However,
>         it doesn't
>         >>>seem
>         >>> to work for builds I start from the command line and I
>         track through
>         >>> Toaster. For those builds, a 'cancel' button appears, but
>         when I click
>         >>>it,
>         >>> nothing happens: the build proceeds until it completes.
>         >>>
>         >>> I am not even sure if the 'cancel' functionality can work
>         for builds
>         >>> started from the command line, although it would be great
>         if it did.
>         >>>If it
>         >>> is not possible to make it work, then the cancel button
>         should not
>         >>>display
>         >>> for those builds. We can provide a message instead, as we
>         do in the
>         >>>case
>         >>> of the 'run again' button, explaining that builds started
>         from the
>         >>>command
>         >>> line can only be cancelled from the command line.
>         >>
>         >>
>         >> Somehow when i try to use the same logic to cancel the
>         build triggered
>         >>from
>         >> command line ( with small modification in the code though),
>         I am getting
>         >> error in the toaster_web.log as:
>         >>
>         >> ProtocolError: <ProtocolError for
>         >0.0.0.0:42952/ <http://0.0.0.0:42952/>
>         <http://0.0.0.0:42952/>: 503 Service Unavailable>
>         >>
>         >> Not able to understand why it is not able to connect to the
>         port.
>         >>Because as
>         >> per my understanding when a build is triggered from
>         toaster, we connect
>         >>to
>         >> the host:port and execute the commands. The runcommand is
>         failing badly
>         >>with
>         >> the log:
>         >>
>         >> 2016-01-18 16:06:05,608 ERROR Internal Server Error:
>         >> /toastergui/project/1/builds/
>         >> Traceback (most recent call last):
>         >>   File
>         >>
>         >>"/home/sujith/build/poky-push/venv/lib/python2.7/site-packages/django/cor
>         >>e/handlers/base.py",
>         >> line 132, in get_response
>         >>     response = wrapped_callback(request, *callback_args,
>         >>**callback_kwargs)
>         >>   File
>         >>
>         "/home/sujith/build/poky-push/bitbake/lib/toaster/toastergui/views.py",
>         >>line
>         >> 171, in returned_wrapper
>         >>     context = view(request, *args, **kwargs)
>         >>   File
>         >>
>         "/home/sujith/build/poky-push/bitbake/lib/toaster/toastergui/views.py",
>         >>line
>         >> 2896, in projectbuilds
>         >>     bbctrl.forceShutDown()
>         >>   File
>         >>
>         >>"/home/sujith/build/poky-push/bitbake/lib/toaster/bldcontrol/bbcontroller
>         >>.py",
>         >> line 73, in forceShutDown
>         >>     return self._runCommand(["stateForceShutdown"])
>         >>   File
>         >>
>         >>"/home/sujith/build/poky-push/bitbake/lib/toaster/bldcontrol/bbcontroller
>         >>.py",
>         >> line 50, in _runCommand
>         >>     result, error = self.connection.runCommand(command)
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1240, in
>         __call__
>         >>     return self.__send(self.__name, args)
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1599, in
>         __request
>         >>     verbose=self.__verbose
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1280, in
>         request
>         >>     return self.single_request(host, handler, request_body,
>         verbose)
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1328, in
>         single_request
>         >>     response.msg,
>         >> ProtocolError: <ProtocolError for
>         >0.0.0.0:42952/ <http://0.0.0.0:42952/>
>         <http://0.0.0.0:42952/>: 503 Service Unavailable>
>         >> Internal Server Error: /toastergui/project/1/builds/
>         >> Traceback (most recent call last):
>         >>   File
>         >>
>         >>"/home/sujith/build/poky-push/venv/lib/python2.7/site-packages/django/cor
>         >>e/handlers/base.py",
>         >> line 132, in get_response
>         >>     response = wrapped_callback(request, *callback_args,
>         >>**callback_kwargs)
>         >>   File
>         >>
>         "/home/sujith/build/poky-push/bitbake/lib/toaster/toastergui/views.py",
>         >>line
>         >> 171, in returned_wrapper
>         >>     context = view(request, *args, **kwargs)
>         >>   File
>         >>
>         "/home/sujith/build/poky-push/bitbake/lib/toaster/toastergui/views.py",
>         >>line
>         >> 2896, in projectbuilds
>         >>     bbctrl.forceShutDown()
>         >>   File
>         >>
>         >>"/home/sujith/build/poky-push/bitbake/lib/toaster/bldcontrol/bbcontroller
>         >>.py",
>         >> line 73, in forceShutDown
>         >>     return self._runCommand(["stateForceShutdown"])
>         >>   File
>         >>
>         >>"/home/sujith/build/poky-push/bitbake/lib/toaster/bldcontrol/bbcontroller
>         >>.py",
>         >> line 50, in _runCommand
>         >>     result, error = self.connection.runCommand(command)
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1240, in
>         __call__
>         >>     return self.__send(self.__name, args)
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1599, in
>         __request
>         >>     verbose=self.__verbose
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1280, in
>         request
>         >>     return self.single_request(host, handler, request_body,
>         verbose)
>         >>   File "/usr/lib64/python2.7/xmlrpclib.py", line 1328, in
>         single_request
>         >>     response.msg,
>         >> ProtocolError: <ProtocolError for
>         >0.0.0.0:42952/ <http://0.0.0.0:42952/>
>         <http://0.0.0.0:42952/>: 503 Service Unavailable>
>         >> [18/Jan/2016 16:06:05] "POST /toastergui/project/1/builds/
>         HTTP/1.1" 500
>         >> 13414
>         >>
>         >>
>         >> Any helping hand would be appreciated. More over I would
>         also like to
>         >>know
>         >> if we can pass commands to builds triggered from command line?
>         >>
>         >> Thanks,
>         >> Sujith H
>         >>
>         >> --
>         >> സുജിത് ഹരിദാസന്
>         >> Bangalore
>         >> <Project>Contributor to KDE project
>         >>
>         >http://fci.wikia.com/wiki/Anti-DRM-Campaign
>         ><http://fci.wikia.com/wiki/Anti-DRM-Campaign>
>         >> <Blog> http://sujithh.info
>         >>
>         >
>         >
>         >> --
>         >> _______________________________________________
>         >> toaster mailing list
>         >> toaster@yoctoproject.org <mailto:toaster@yoctoproject.org>
>         >>
>         >https://lists.yoctoproject.org/listinfo/toaster
>         ><https://lists.yoctoproject.org/listinfo/toaster>
>         >>
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >--
>         >സുജിത് ഹരിദാസന്
>         >Bangalore
>         ><Project>Contributor to KDE project
>         >http://fci.wikia.com/wiki/Anti-DRM-Campaign
>         ><Blog> http://sujithh.info
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >--
>         >സുജിത് ഹരിദാസന്
>         >Bangalore
>         ><Project>Contributor to KDE project
>         >http://fci.wikia.com/wiki/Anti-DRM-Campaign
>         ><Blog> http://sujithh.info
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>
>
>
>
>     -- 
>     സുജിത് ഹരിദാസന്
>     Bangalore
>     <Project>Contributor to KDE project
>     http://fci.wikia.com/wiki/Anti-DRM-Campaign
>     <Blog> http://sujithh.info
>
>
>
>
> -- 
> സുജിത് ഹരിദാസന്
> Bangalore
> <Project>Contributor to KDE project
> http://fci.wikia.com/wiki/Anti-DRM-Campaign
> <Blog> http://sujithh.info
>
>



  parent reply	other threads:[~2016-02-19 23:11 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-17 16:56 Build cancellation from toaster sujith h
2015-12-18 12:24 ` Michael Wood
2015-12-18 13:46 ` Ed Bartosh
2015-12-19 15:27   ` sujith h
2015-12-21  8:07     ` sujith h
2015-12-21 13:12       ` sujith h
2015-12-22 10:49         ` sujith h
2016-01-04 13:16           ` sujith h
2016-01-05 13:44             ` Barros Pena, Belen
2016-01-05 14:13               ` sujith h
2016-01-06 13:38                 ` sujith h
2016-01-09 16:53                   ` sujith h
2016-01-11 11:25                     ` Barros Pena, Belen
2016-01-12 10:34                       ` Barros Pena, Belen
2016-01-13 16:47                         ` sujith h
2016-01-17 19:43                           ` Barros Pena, Belen
2016-01-18 16:12                             ` sujith h
2016-01-20 16:56                               ` Brian Avery
2016-01-26 14:22                                 ` sujith h
2016-01-27 16:20                                   ` sujith h
2016-02-01 15:35                                     ` Barros Pena, Belen
2016-02-03 13:38                                       ` sujith h
2016-02-09 13:40                                         ` sujith h
2016-02-12 11:04                                           ` Barros Pena, Belen
2016-02-19 23:11                                           ` Michael Wood [this message]
2016-02-22  6:23                                             ` sujith h
2016-01-21 15:16                               ` [Toaster] " sujith h

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56C7A10C.4090701@intel.com \
    --to=michael.g.wood@intel.com \
    --cc=toaster@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.