Commit Graph

266 Commits

Author SHA1 Message Date
Ralph Bean
8f9d4e8403 Record the state_reason regardless of the state transition.
As discussed near the end of #92, we want to record the `state_reason`
string no matter what state we're transition to.
2016-10-20 14:26:31 -04:00
Ralph Bean
db09d8e0f3 PEP8. 2016-10-20 14:26:28 -04:00
Ralph Bean
67f72b8379 Merge #92 Fix #85 - Add 'fail_reason' to ComponentBuild and ModuleBuild models to have a user-friendly error message when build fails. 2016-10-20 18:25:27 +00:00
Jan Kaluža
a18ccf4f11 Merge #101 Fix #88 - Reject SCM URLs which do not match the URL structure expected by pdc-updater. 2016-10-20 15:27:50 +00:00
Ralph Bean
f54b047f48 Merge #77 Create (koji) builder session on behalf of users 2016-10-20 15:20:12 +00:00
Jan Kaluza
50273b4dbd Fix #85 - Add 'state_reason' to ComponentBuild and ModuleBuild models to have a user-friendly error message when build fails. 2016-10-20 10:18:25 +02:00
Jan Kaluza
728eaf2277 Fix #88 - Reject SCM URLs which do not match the URL structure expected by pdc-updater. 2016-10-20 09:54:11 +02:00
Matt Prahl
d17ac9141a Merge #100 Use a fresh db session with every backend msg. 2016-10-19 17:06:20 +00:00
Ralph Bean
b2ddf67cb6 Further PR review. Consolidate these lines. 2016-10-19 13:05:54 -04:00
Ralph Bean
1666c1c57e Rollback a transaction on failure, if there is one. 2016-10-19 10:26:14 -04:00
Ralph Bean
e35f7af7a0 Use a fresh db session with every backend msg.
This fixes #93.  See that issue for a description of the problem.

This change will create a new session for every event handled by the
backend and will force a commit and close the session at the end of each
message.

For bonus points, we should employ the ZopeTransactionManager extension
in the future, but I'm not sure how it will play with the
flask_sqlalchemy extension.  Will check on that later.
2016-10-18 15:11:57 -04:00
Matt Prahl
b117678475 Merge #95 A little less repr in the scheduler logs. 2016-10-18 15:13:57 +00:00
Ralph Bean
c84f96c0ca Merge #91 Tell koji to use dnf on our builds. 2016-10-18 15:11:07 +00:00
Ralph Bean
b1fce413f5 Merge branch 'amq-messaging' 2016-10-18 10:45:59 -04:00
Ralph Bean
04d773b3fb Get the test suite working agian for https://pagure.io/fm-orchestrator/pull-request/73 2016-10-18 10:33:04 -04:00
Ralph Bean
f4fd94cc74 A little less repr in the scheduler logs.
For the base-runtime module, the current repr here generates pages and
pages of spam in the logs.  The change here should greatly reduce that
spam, and produce something that's much more interesting and readable.
2016-10-18 10:20:23 -04:00
Lubos Kocman
744af59189 Add functionality to resume failed build
Resume only failed module build tasks (this should be configurable in
the future).

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-10-17 14:53:11 +02:00
Lubos Kocman
c15d8f5889 Use correct rida.log for logging
Improved logging for rida/views.py (helps to debug resubmission).

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-10-17 14:52:57 +02:00
Lubos Kocman
614100163d Transition module build to failed if PDC wasn't updated
This allows resume... otherwise we're stuck in building.

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-10-17 14:52:14 +02:00
Lubos Kocman
dbcc33edae remove log.debug for unrelated messages (too spammy)
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-10-17 14:45:02 +02:00
Ralph Bean
41079a1a0c Tell koji to use dnf on our builds. 2016-10-14 12:15:55 -04:00
Jan Kaluza
62a07b4026 Check the SCM availability of components of modulemd file in parallel in multiple threads to save time. 2016-10-14 10:58:58 +02:00
Lubos Kocman
0106086836 separate inline comment by two spaces 2016-10-13 15:08:49 +02:00
Lubos Kocman
b4d712cf33 Instantly fail component builds if we fail to submit them
- Fail builds if builder.build() does not return bool(value) == True

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-10-12 16:32:52 +02:00
Nils Philippsen
2ae9e872fa create koji sessions on behalf of users 2016-10-05 15:30:24 +02:00
Lubos Kocman
151d4ebadb messaging: amq PEP improvements 2016-10-04 15:07:54 +02:00
Lubos Kocman
452aba0373 messaging: publish*, unify order of args, remove positional arg 2016-10-04 15:07:54 +02:00
Lubos Kocman
b00ea5ac95 messaging: fixed typo 2016-10-04 15:07:54 +02:00
Lubos Kocman
6ec05fd058 messaging.py: mng -> msngr 2016-10-04 15:07:54 +02:00
Lubos Kocman
bb1110758e remove unuseful/obsolete get_amq_addr call 2016-10-04 15:07:54 +02:00
Lubos Kocman
b090a8d7f8 messaging: add space after comma 2016-10-04 15:07:53 +02:00
Lubos Kocman
3daef24158 config.py: get rid of meaningless str() oneliners 2016-10-04 15:07:53 +02:00
Lubos Kocman
372367bb9c messaging: use single isinstance() 2016-10-04 15:07:53 +02:00
Lubos Kocman
11703ccb41 Improved conditions for message filtering 2016-10-04 15:07:53 +02:00
Lubos Kocman
9783fe6c04 Fixed hasattr 2016-10-04 15:07:53 +02:00
Lubos Kocman
823f851d29 rida.messaging add initial amq support
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-10-04 15:07:53 +02:00
Lubos Kocman
0787abd1b5 rida.messaging: few changes:
- pass over conf as param (helps amq implementation)
- modname -> service to be less fedmsg centric

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-10-04 15:07:53 +02:00
Lubos Kocman
2f2688dc01 rida.config: add Apache MQ config options
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-10-04 15:07:53 +02:00
Nils Philippsen
31ec1835db rename method to KojiModuleBuilder.get_session()
KojiModuleBuilder.get_session_from_config() will require the owner as an
argument, therefore drop encoding arguments in the method name.
2016-10-04 13:58:23 +02:00
Nils Philippsen
b94c460184 add owner attribute to Builder classes 2016-10-04 13:58:23 +02:00
Nils Philippsen
300f947425 get rid of unused koji profile module 2016-10-04 13:58:23 +02:00
Nils Philippsen
5368b6b344 actually use Builder factory 2016-10-04 13:58:17 +02:00
Nils Philippsen
ede7543970 make Builder a new-style class 2016-10-04 13:55:35 +02:00
Lubos Kocman
e6e8d13b5c fix incorrect rida.logger reference to rida.log
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-09-30 16:59:08 +02:00
Matt Prahl
94723614f5 Remove the use of pprint in main.run function 2016-09-22 16:08:52 +02:00
Nils Philippsen
2233f60f58 implement BaseMessage.__repr__
Take advantage of the information contained in signature/parameter
objects to represent positional and keyword arguments properly. Fall
back to using the funcsigs module on Python 2.
2016-09-22 16:08:52 +02:00
Nils Philippsen
a4cc011eed put kerberos config params in rida configuration
koji.read_config() filters out configuration options it doesn't know
about silently. Currently this is about the keytab, principal, ccache
options. The latter may be needed e.g. in Docker containers which
currently(?) can't use Linux kernel keyrings and need the credential
cache to be a normal file.
2016-09-22 16:06:35 +02:00
Nils Philippsen
7689c05c51 remove bogus code 2016-09-22 16:06:35 +02:00
Matt Prahl
4f629fe64c Use view type better suited for a REST API
MethodView maps to REST APIs intuitively, the method names on the class
are the same as the handled HTTP methods (just lowercase).
2016-09-22 13:26:31 +02:00
Matt Prahl
5aef7fed98 Fix whitespace, indentation 2016-09-22 13:26:11 +02:00