tools/weles.git
6 years agoAdd NewJobManager function 68/162368/2
Lukasz Wojciechowski [Thu, 30 Nov 2017 12:29:14 +0000 (13:29 +0100)]
Add NewJobManager function

NewJobManager function creates new instance of Controller
with all internal submodules. The created structure is returned
as JobManager interface.

This is the ponly valid method for creation whole Controller module
in Weles and should be used to create Weles service.

Change-Id: I8ff2051a23f714a99fc2642c94e34d247ec164d7
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoImplement ListJobs in Controller with tests 67/162367/2
Lukasz Wojciechowski [Thu, 30 Nov 2017 12:02:00 +0000 (13:02 +0100)]
Implement ListJobs in Controller with tests

Implementation enhances JobsController interface and implementation.
The mockup of JobsController is regenerated using:
    mockgen -source=controller/jobscontroller.go \
        -destination=controller/mock/jobscontroller.go \
        -package mock \
        -imports ".=git.tizen.org/tools/weles"

Tests for both JobsControllerImpl and Controller are updated.

Change-Id: Ie30234ac754d19616ce2811e3f30a6834d28e296
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Controller with tests 22/162022/4
Lukasz Wojciechowski [Mon, 27 Nov 2017 15:56:25 +0000 (16:56 +0100)]
Add Controller with tests

Change-Id: I4681c0e085983094f9ce2699617bb9b52d2e086a
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd generated mocks for controller's internals 21/162021/4
Lukasz Wojciechowski [Mon, 27 Nov 2017 15:54:57 +0000 (16:54 +0100)]
Add generated mocks for controller's internals

mockgen -package mock -destination=controller/mock/boruter.go \
git.tizen.org/tools/weles/controller Boruter
mockgen -package mock -destination=controller/mock/downloader.go \
git.tizen.org/tools/weles/controller Downloader
mockgen -package mock -destination=controller/mock/dryader.go \
git.tizen.org/tools/weles/controller Dryader
mockgen -package mock -destination=controller/mock/parser.go \
git.tizen.org/tools/weles/controller Parser

Change-Id: Ie5fd939e0082c0f7975d2dbc416d730f28c311eb
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Dryader implementation with tests 20/162020/4
Lukasz Wojciechowski [Wed, 22 Nov 2017 08:53:17 +0000 (09:53 +0100)]
Add Dryader implementation with tests

DryaderImpl implements delegation and control of Job execution
in DryadJobManager.

Change-Id: I7d30f21bf0f838829f6c2d0b65362a6d7b66d0a3
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Dryader interface 19/162019/4
Lukasz Wojciechowski [Mon, 27 Nov 2017 08:15:12 +0000 (09:15 +0100)]
Add Dryader interface

Dryder interface allows delegation of Job execution and cancelation
to DryadJobManager.

Change-Id: I866f8290dc51d24ab65e2671edf306fc33f2e3c9
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Boruter implementation with tests 18/162018/4
Lukasz Wojciechowski [Tue, 21 Nov 2017 20:34:31 +0000 (21:34 +0100)]
Add Boruter implementation with tests

BoruterImpl implements communication with Boruta. It is used
for acquiring, monitoring and releasing Dryads for Weles' Jobs.

Change-Id: I91667cad4ccac176e4e01c697e2dbfbe7b54cfd3
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Boruter interface 17/162017/4
Lukasz Wojciechowski [Thu, 23 Nov 2017 17:02:23 +0000 (18:02 +0100)]
Add Boruter interface

Boruter defines interface for delegation of communication with Boruta.
Communication is used for acquiring, monitoring and releasing Dryads.

Change-Id: Id6c310220839c1d196f86b8c86123cd1a720f526
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd generated mockup for boruta.Requests 16/162016/4
Lukasz Wojciechowski [Thu, 23 Nov 2017 17:01:10 +0000 (18:01 +0100)]
Add generated mockup for boruta.Requests

mockgen -source=${GOPATH}/src/git.tizen.org/tools/boruta/boruta.go -destination=controller/mock/requests.go -package mock -imports ".=git.tizen.org/tools/boruta"

Change-Id: I3cd7673db7ff0eb5e7fb3ead8ea3d31a83430bee
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Downloader implementation with tests 15/162015/4
Lukasz Wojciechowski [Mon, 20 Nov 2017 05:04:31 +0000 (06:04 +0100)]
Add Downloader implementation with tests

DownloaderImpl is responsible for parsing Job's config and searching
for information about files (artefacts) related to the test.
It delegates to ArtifactsManager downloading images and testfiles
required to run Job (Push). It creates also paths for output
artifacts (Pull). It updates Job's config with proper paths
for these artefacts.

It does also monitor process of downloading files in ArtifactManager
and finally it notifies Controller when all files are downloaded
or in case of failure.

Change-Id: I578108dd1a924aaf36435e4dbc5d8dcce50214ee
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Downloader interface 14/162014/3
Lukasz Wojciechowski [Thu, 23 Nov 2017 10:06:07 +0000 (11:06 +0100)]
Add Downloader interface

Downloader defines action run for a Job to download artifacts required
to run the Job.

Change-Id: I932b1630a97dc9573aa0cbf0c4726a91fb042339
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Parser implementation with tests 13/162013/3
Lukasz Wojciechowski [Tue, 14 Nov 2017 10:37:11 +0000 (11:37 +0100)]
Add Parser implementation with tests

ParserImpl implements parsing phase of Job handling.
It saves yaml file in ArtifactDB, parses it and sets up config.

Change-Id: Icb52b7c1943c29744f82532877aade2bb085c345
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Parser interface 12/162012/3
Lukasz Wojciechowski [Wed, 22 Nov 2017 16:39:51 +0000 (17:39 +0100)]
Add Parser interface

Parser defines action run for a Job to prepare config in parsing phase.

Change-Id: Iea53d08c89d5fbedf690036688ded53c40349741
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Notifier implementation with tests 16/162216/2
Lukasz Wojciechowski [Wed, 29 Nov 2017 15:58:33 +0000 (16:58 +0100)]
Add Notifier implementation with tests

Change-Id: Ib37b4dccf043bb8d5b914b14436929b523446afe
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Notifier interface 15/162215/2
Lukasz Wojciechowski [Wed, 29 Nov 2017 15:58:07 +0000 (16:58 +0100)]
Add Notifier interface

Change-Id: If77ebbe1df6cf2dd49bbee91efee2d8f0b9317d9
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Notification struct 11/162011/3
Lukasz Wojciechowski [Wed, 22 Nov 2017 16:37:31 +0000 (17:37 +0100)]
Add Notification struct

The structure is used to notify Controller about events occured
during processing a Job.

Change-Id: I38077eda6fc0cb156d8224b5af1280d5b8db88af
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd JobsController implementation with tests 10/162010/3
Lukasz Wojciechowski [Thu, 9 Nov 2017 17:00:25 +0000 (18:00 +0100)]
Add JobsController implementation with tests

JobsControllerImpl structure stores actual information about all Jobs
such as status, update time, config and Dryad access. It controls
collision free JobID creation. It stores state of Jobs execution
and saves data to DB. It implements JobsController interface.

Change-Id: Ie3e3c46660c650c48cd80a93038b8cdd05f3fc21
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd Dryad structure content 09/162009/2
Lukasz Wojciechowski [Tue, 21 Nov 2017 20:37:54 +0000 (21:37 +0100)]
Add Dryad structure content

Change-Id: Ifb754266fe16ef148fcc5c1dd7d7683b1a2638f2
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd generated mockup for JobsController 08/162008/2
Lukasz Wojciechowski [Wed, 22 Nov 2017 11:13:44 +0000 (12:13 +0100)]
Add generated mockup for JobsController

mockgen -source=controller/jobscontroller.go \
-destination=controller/mock/jobscontroller.go \
-package mock \
-imports ".=git.tizen.org/tools/weles"

Change-Id: I8b9fff217a683568dcedfd2971b94c23d75a0e4c
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoDefine JobsController interface 07/162007/2
Lukasz Wojciechowski [Thu, 9 Nov 2017 16:59:32 +0000 (17:59 +0100)]
Define JobsController interface

JobsController interface is designed for managing Jobs inside Controller.
It is defined to provide additional layer for strict managing Job structures
only. This allows mocking up the interface in tests.

Change-Id: I3fa5054b017f6cd2b6c95f2e5a27acd72b226ee5
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd generated mockups for modules interfaces 06/162006/1
Lukasz Wojciechowski [Tue, 28 Nov 2017 11:45:56 +0000 (12:45 +0100)]
Add generated mockups for modules interfaces

mockgen -source=artifactmanager.go -destination=mock/artifactmanager.go -package mock -imports ".=git.tizen.org/tools/weles"
mockgen -source=dryadjobmanager.go -destination=mock/dryadjobmanager.go -package mock -imports ".=git.tizen.org/tools/weles"
mockgen -source=jobmanager.go -destination=mock/jobmanager.go -package mock -imports ".=git.tizen.org/tools/weles"
mockgen -source=parser_interface.go -destination=mock/parser_interface.go -package mock -imports ".=git.tizen.org/tools/weles"

Change-Id: I4401a3a64babe1165016baee749bdea296a55a59
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years ago[FROM PARSER] Add weles parser interface 05/162005/1
Leszek Zygo [Tue, 7 Nov 2017 16:09:20 +0000 (17:09 +0100)]
[FROM PARSER] Add weles parser interface

Change-Id: Ie76a0306c42fdad9fce6dcfcdfb2d5535ef93297
Signed-off-by: Leszek Zygo <l.zygo@samsung.com>
6 years agoFix typos in JobManager 04/162004/1
Lukasz Wojciechowski [Tue, 7 Nov 2017 11:12:49 +0000 (12:12 +0100)]
Fix typos in JobManager

Change-Id: Ic16bbbb50bd82b0d6b747f05f2fd0c409d2fcf1d
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoDefine JobManager interface and basic Job types 08/159208/10
Lukasz Wojciechowski [Tue, 7 Nov 2017 11:12:49 +0000 (12:12 +0100)]
Define JobManager interface and basic Job types

Change-Id: Ic16bbbb50bd82b0d6b747f05f2fd0c409d2fcf1d
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd ArtifactManager interface 48/160148/5
Katarzyna Gorska [Fri, 3 Nov 2017 11:54:31 +0000 (12:54 +0100)]
Add ArtifactManager interface

Change-Id: Iaae3b462c525d10b25104d3b29256ac326f3c5a8
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoDefine common Weles errors 55/159255/9
Lukasz Wojciechowski [Tue, 7 Nov 2017 20:46:10 +0000 (21:46 +0100)]
Define common Weles errors

Change-Id: I392e39b6454128d6000585fba6e8db976dff32c9
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
6 years agoAdd basic Weles structure 69/158869/10
Aleksander Mistewicz [Thu, 16 Nov 2017 15:49:59 +0000 (16:49 +0100)]
Add basic Weles structure

Each interface, used or implemented by many components, should
be defined in the file with the same name as said interface in
basic, weles, package. Definitions of all non-interface types
related to it should be stored in the same file. The remaining
types, if common to multiple interfaces, should be defined
in main package file: weles.go.

The purpose is to have packages to depend on basic package, but not each
other. Moreover a developer will not need to look into documentation or
search for definition of interface as the location of such definition
will be known by interface's name.

This patch also defines manager's interfaces and structures in described
format.

Change-Id: Ie1bf89c8e7e4af28617cc00f21d6193c4b7517d1
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd Apache 2.0 license 48/144748/1
Pawel Wieczorek [Wed, 2 Aug 2017 15:09:40 +0000 (17:09 +0200)]
Add Apache 2.0 license

Change-Id: I0d89637aba1d8c47892a4869078e492162573007

7 years agoInitial empty repository
Tizen Infrastructure [Thu, 6 Jul 2017 07:59:48 +0000 (07:59 +0000)]
Initial empty repository