Commit Graph

237 Commits

Author SHA1 Message Date
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
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
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