Commit Graph

227 Commits

Author SHA1 Message Date
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
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
Matt Prahl
ec8126c226 Fix/cleanup Python 3 compatibility 2016-09-22 12:48:51 +02:00
Matt Prahl
256a57e906 Remove unnecessary import statement 2016-09-22 12:48:51 +02:00
Matt Prahl
634fabb798 Fix bug "object has no attribute" 2016-09-21 16:30:45 -04:00
Jan Kaluza
e236e86fce Prefix API calls with version number (for example '/1/'). Add initial support for multiple versions of API calls. 2016-09-21 15:58:15 +02:00
Matt Prahl
d37659afd8 Modify message functions to accept conf instead of backend 2016-09-21 14:58:10 +02:00
Matt Prahl
23f057b750 Use abstract message classes instead of legacy code 2016-09-21 14:58:10 +02:00
Matt Prahl
03831262e4 Update documentation about messaging 2016-09-21 14:14:26 +02:00
Matt Prahl
43f80e181c Implement message classes for abstract messaging 2016-09-21 13:48:22 +02:00
Matt Prahl
a674de3fc3 Separate top-level function by two blank lines 2016-09-21 13:48:22 +02:00
Matt Prahl
180b376ee2 Remove stray space in log string 2016-09-21 13:48:22 +02:00
Ralph Bean
ae14f068b1 Merge #63 Check FAS for packager status, not pkgdb. 2016-09-12 16:37:36 +00:00
Ralph Bean
b12bda2d55 Check FAS for packager status, not pkgdb.
Before this, we were consulting pkgdb to see if the given user was the
maintainer of any packages.

That mostly works... but technically, we want to consult FAS to see if
the user is in the packager group.

We found this when @mprahl was unable to submit builds to rida.  I added
him to the packager group, but nothing changed!  (As written, he had to
actually own a package).

This change fixes all that so that we query FAS instead of pkgdb.

Tests are added.
2016-09-07 16:35:25 -04:00
Nils Philippsen
f0e062c5a3 don't use vars() on munch.Munch() dict
Using vars() this way breaks passing the koji configuration options to
koji.ClientSession(), it passes an empty dict instead. Any options in
koji.conf which are needed for authenticating are ineffectual (e.g.
`krbservice`).
2016-09-05 21:22:09 +02:00
Matt Prahl
fbe1beee54 Convert errors to JSON
Signed-off-by: Matt Prahl <mprahl@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-08-26 12:06:28 +02:00
Lubos Kocman
ed8b2ee97a Remove unused state variable. Pyflakes complained
Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-08-25 14:38:48 +02:00
Lubos Kocman
a53f37ecff direct transition to ready from done
As of now we don't do anything useful in between done (read: module
build is done) and ready (read: module is ready for consumption).

Thus I recommend direct transition and return to it back
when we have automatic dependency rebuild done.

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-08-25 14:27:36 +02:00
Matt Prahl
361de94693 Add filtering to the module-builds route 2016-08-24 15:20:20 +02:00
Matt Prahl
c79139b82c Add additional info to the module-build(s) API output 2016-08-24 15:20:20 +02:00
Matt Prahl
864ba5104e Modify the database timestamps when the build state changes 2016-08-24 15:20:20 +02:00
Matt Prahl
d1a01e5d79 Add owner and timestamp columns to the module_builds table 2016-08-24 15:20:20 +02:00
Nils Philippsen
1cd21434fb catch exceptions when removing temporary directory
Additionally, don't try to remove it when it wasn't created in the first
place.
2016-08-24 15:20:20 +02:00
Matt Prahl
1386d3506c Modify formatting for readability
Also, remove misleading comment.
2016-08-24 15:20:20 +02:00
Lubos Kocman
6bfc6c4f47 Rida needs to use variant_id rather than variant_name for pdc queries
- variant_id: base_runtime where variant_name: The base runtime module

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-08-24 15:09:34 +02:00
Nils Philippsen
ef4caa3455 Ensure temporary directories are cleaned up always.
Previously, if SCM.checkout() raised an exception, the created temporary
directory would be left over.
2016-08-24 14:20:57 +02:00
Jakub Kadlčík
7d487b64fc Cleanup the temporary directory 2016-08-24 14:13:31 +02:00
Jakub Kadlčík
2c90806aa7 Use mkdtemp instead of TemporaryDirectory
because the TemporaryDirectory is python3 only
2016-08-24 14:13:31 +02:00
Jakub Kadlčík
3ba33f4e53 Use Popen's returncode instead of getstatusoutput
because the getstatusoutput is python3 only
2016-08-24 14:13:31 +02:00
Lubos Kocman
adca9244da rename _build_exists to _get_task_by_artifact
- function returns task_id if associated build exists
- fix typo in docstring
- Nils is disappointed by Guido

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-08-22 18:20:30 +02:00
Lubos Kocman
68e32ee8c7 idempotent KojiBuilder implementation of rida/builder.py
- Allows to call build() and connect() multiple times. This needs to be
  followed by allowing to resubmit module build tasks in REST.
- rename buildroot_add_repo() to buildroot_add_repos() (input data is artifacts)

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-08-22 18:20:24 +02:00
Lubos Kocman
dd0b60dcdd Change external api for GenericBuilder class
- merge buildroot_prep and buildroot_resume under buildroot_connect
  https://pagure.io/fm-orchestrator/issue/34 (idempotent movement)
- rename add_dependency to add_repo
- provide workflow comparison koji vs copr as a docstring
- update docstrings for GenericBuilder

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
Signed-off-by: Nils Philippsen <nils@redhat.com>
2016-08-22 18:03:50 +02:00
Matt Prahl
961f22f0b4 Add pagination and verbose flag to the /rida/module-builds/ route
Adds details about the API changes
2016-08-15 17:54:40 +02:00
Ralph Bean
2790339634 Be more specific here about what kinds of errors trigger a retry. 2016-08-10 16:14:52 -04:00
Ralph Bean
7a8e9e2232 flask.jsonify() doesn't like bare lists. 2016-08-10 15:01:40 -04:00
Ralph Bean
ef97401131 Cannot concatenate ints and strings. 2016-08-10 14:49:12 -04:00
Ralph Bean
cbc9f33954 Apply a fix from our demo-readiness efforts.. 2016-08-10 14:06:43 -04:00
Ralph Bean
c9aefef5f2 Merge branch 'Database-Migration-Support-and-Cleanup' 2016-08-10 13:48:45 -04:00
Ralph Bean
124b3c3900 Fix NameError for missing query. 2016-08-10 13:48:15 -04:00
Ralph Bean
36947b07a5 Do away with all this manual copying.
A breath of fresh air!!
2016-08-10 13:47:50 -04:00
Lubos Kocman
ad3eb578fb add arches to module-tag (not just build-tag)
* this fixes issue that pungi can't discover arches for compsing module from tag

Signed-off-by: Lubos Kocman <lkocman@redhat.com>
2016-08-03 10:10:39 +02:00