tools/weles.git
6 years agoMerge branch 'dryad' into demo
Pawel Wieczorek [Fri, 5 Jan 2018 12:15:30 +0000 (13:15 +0100)]
Merge branch 'dryad' into demo

Change-Id: If73ceb60dcb3e83d0cabb46a063643444fcb2f74

6 years agoMerge branch 'manager' into demo
Pawel Wieczorek [Fri, 5 Jan 2018 12:06:53 +0000 (13:06 +0100)]
Merge branch 'manager' into demo

Change-Id: I448fd297141fdbd46f11efea0f2595c174507aed

6 years agoMerge branch 'artifacts' into demo
Pawel Wieczorek [Fri, 5 Jan 2018 12:01:53 +0000 (13:01 +0100)]
Merge branch 'artifacts' into demo

Change-Id: I9a9d95dbd17debafc76151c823b87839ac1f425a

6 years agoMerge branch 'api' into demo
Pawel Wieczorek [Fri, 5 Jan 2018 11:58:07 +0000 (12:58 +0100)]
Merge branch 'api' into demo

Change-Id: Iaf98eb576bdebe1bc9880be84f01a69d226b69ae

6 years agoMerge branch 'parser' into demo
Pawel Wieczorek [Fri, 5 Jan 2018 11:57:05 +0000 (12:57 +0100)]
Merge branch 'parser' into demo

Change-Id: Ife2a46c429099da8a5a58fafb5649e3e28b9057e

6 years agoAdd downloader to Storage, implement PushArtifact 59/163859/3
Katarzyna Gorska [Wed, 13 Dec 2017 14:10:46 +0000 (15:10 +0100)]
Add downloader to Storage, implement PushArtifact

Change-Id: If757c4745089eb308fca53c732790d3615c5dcb9

6 years agoAdd downloadJob queue 51/162351/8
Katarzyna Gorska [Tue, 28 Nov 2017 13:51:24 +0000 (14:51 +0100)]
Add downloadJob queue

Change-Id: I90afb2433977be3ba5b72935d88b289e28e97b2e
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoAdd downloader base functions 50/162350/8
Katarzyna Gorska [Tue, 28 Nov 2017 13:25:32 +0000 (14:25 +0100)]
Add downloader base functions

Downloader implements ArtifactDownloader interface.
It schedules download jobs in queue and notifies about
artifacts' status changes.

Change-Id: I8ff33c46406dd305c62d3874bd6e013fc6606393
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoAdd SetStatus with test 10/161510/11
Katarzyna Gorska [Wed, 29 Nov 2017 19:44:59 +0000 (20:44 +0100)]
Add SetStatus with test

SetStatus changes artifact's status in ArtifactDB.

Change-Id: I3d00f1a4dce861220afee367433edb981286c40c
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoImplement List with tests 89/161089/12
Katarzyna Gorska [Wed, 29 Nov 2017 19:11:20 +0000 (20:11 +0100)]
Implement List with tests

List is part of implementation of ArtifactManager.

It filters ArtifactDB with given filter
and returns list of all matching elements.

Change-Id: I746ea564e07d512ddf55e36d92f515e5f804b120
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoImplement Select in database package 38/163638/4
Aleksander Mistewicz [Tue, 12 Dec 2017 13:51:56 +0000 (14:51 +0100)]
Implement Select in database package

Storage's Select allows to use one method for fetching
elements from ArtifactDB. Requested artifacts can be selected by
JobID, ArtifactType, ArtifactStatus or ArtifactAlias.

Change-Id: I58d53d99808b64e836163c1fb8a3876ecf15c611

6 years agoAdd ArtifactDB to storage 50/160150/12
Katarzyna Gorska [Wed, 15 Nov 2017 16:52:46 +0000 (17:52 +0100)]
Add ArtifactDB to storage

ArtifactDB is designed to store information about downloaded artifacts.
As for now inserting ArtifactRecord is supported.

More operations (updates, deletes and selects) will be implemented soon.

Close was added to ArtifactManager interface.

Change-Id: I17ac260691d11518bcec5385eaf2689e389feb7f
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoAdd artifacts/database package 48/163348/5
Katarzyna Gorska [Tue, 5 Dec 2017 10:49:11 +0000 (11:49 +0100)]
Add artifacts/database package

Package database is responsible for Weles' artifact storage.

This patch introduces ArtifactDB struct responsible for database
connection and queries.

Change-Id: Ie74be2d5bb62a54c222351ae556fabe8e2be5f4c
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoAdd Storage and stubs for interface implementation 49/160149/9
Katarzyna Gorska [Thu, 9 Nov 2017 09:37:06 +0000 (10:37 +0100)]
Add Storage and stubs for interface implementation

Storage implements ArtifactManager interface.
Also ArtifactDownloader method Download parameters changed.

To properly download an artifact, we should pass not only ArtifactURI,
but also ArtifactPath.

Close method was added to ArtifactDownloader.

Change-Id: Ic707ee270cfd54d2f0bb9792d1b5f65ceae75e80
Signed-off-by: Katarzyna Gorska <k.gorska@samsung.com>
6 years agoAdd tests of JobCanceler and JobCreator 42/163342/1
Alexander Mazuruk [Fri, 8 Dec 2017 14:59:45 +0000 (15:59 +0100)]
Add tests of JobCanceler and JobCreator

Curently JobCreator test fails and I have no idea why.
Will fix when I get whats causing it.

Please let me know if I should split tests in some way

Change-Id: I21332623c77153860a95bda2bfc61193188b86b0

6 years agoAdd generated mocks of JobManager and ArtifactManager 41/163341/1
Alexander Mazuruk [Mon, 4 Dec 2017 15:59:34 +0000 (16:59 +0100)]
Add generated mocks of JobManager and ArtifactManager

Command:
    mockgen -source=jobmanager.go \
            -destination=mock/jobmanager.go \
            -package mock \
            -imports ".=git.tizen.org/tools/weles"

Command:
    mockgen -source=artifactmanager.go \
            -destination=mcok/artifactmanager.go \
            -package mock \
            -imports ".=git.tizen.org/tools/weles"

Change-Id: Iae442e7164e1cda52c4f2b6c3ea62cec1c3d6610

6 years agoAdd initial web server implementation 48/162048/6
Alexander Mazuruk [Mon, 30 Oct 2017 09:22:46 +0000 (10:22 +0100)]
Add initial web server implementation

Weles must provide RESTful API over HTTP that allows Weles to:
- Receive yaml file with instructions to create a job
- Receive job cancellation request
- Send a list of current Jobs to client
- Send a list of artifacts to client

Change-Id: I1a8e606e763f6c712224f234d98d302450f0c6d0

6 years agoAdd DeviceCommunicationProvider implementation 47/162647/9
Adam Malinowski [Mon, 27 Nov 2017 05:01:15 +0000 (06:01 +0100)]
Add DeviceCommunicationProvider implementation

Change-Id: I0b98831d3ee53de05831caf7564363fdf289fcf8
Signed-off-by: Adam Malinowski <a.malinowsk2@partner.samsung.com>
6 years agoAdd file transfer functions to SessionProvider 36/162036/11
Adam Malinowski [Tue, 28 Nov 2017 14:31:28 +0000 (15:31 +0100)]
Add file transfer functions to SessionProvider

Change-Id: Ief14d76d93bfd041bc9809d0599719859fde69dc
Signed-off-by: Adam Malinowski <a.malinowsk2@partner.samsung.com>
6 years agoAdd SessionManager implementation 35/162035/9
Adam Malinowski [Thu, 23 Nov 2017 09:18:23 +0000 (10:18 +0100)]
Add SessionManager implementation

MuxPi is needed to perform tests. SSH key needs to be generates and
its private part has to be saved to a local file. To run tests:
dryad.test --keyFile=file --address=address --userName=login
Where:
  file    - path to a file containing private part of ssh key generated
            on dryad
  address - IP address of dryad. Do not specify port, it is hardcoded
            as 22
  login   - user name

Change-Id: I1b4cf55f8082b5b0d9ec1d0311f37f87f35fb753
Signed-off-by: Adam Malinowski <a.malinowsk2@partner.samsung.com>
6 years agoAdd yaml parser functionality and tests 01/161501/7
Leszek Zygo [Tue, 24 Oct 2017 10:16:44 +0000 (12:16 +0200)]
Add yaml parser functionality and tests

Change-Id: Iab4513293fbee901798c43f178ded8ee73585c9a
Signed-off-by: Leszek Zygo <l.zygo@samsung.com>
6 years agoAdd Weles parser interface 00/161500/7
Leszek Zygo [Tue, 7 Nov 2017 16:09:20 +0000 (17:09 +0100)]
Add Weles parser interface

Change-Id: If5cb8bbdf033233510f847fd3279a32b7d4c3406
Signed-off-by: Leszek Zygo <l.zygo@samsung.com>
6 years agoAdd sample_yaml 99/161499/4
Leszek Zygo [Tue, 24 Oct 2017 09:57:57 +0000 (11:57 +0200)]
Add sample_yaml

Change-Id: Ic20bc4706c4461dc184d373443d85b5378bd3ca3
Signed-off-by: Leszek Zygo <l.zygo@samsung.com>
6 years agoImplement Test with test 75/162375/1
Aleksander Mistewicz [Wed, 29 Nov 2017 17:53:58 +0000 (18:53 +0100)]
Implement Test with test

Change-Id: Ic44cd543be463ef3434a23de679547c5e52e6fe9
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoImplement Boot with test 74/162374/1
Aleksander Mistewicz [Wed, 29 Nov 2017 17:29:02 +0000 (18:29 +0100)]
Implement Boot with test

Change-Id: I059792863037d06331fd624ba71543aedd7101ad
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoImplement Deploy with test 73/162373/1
Aleksander Mistewicz [Wed, 29 Nov 2017 17:22:56 +0000 (18:22 +0100)]
Implement Deploy with test

Change-Id: Ibc55e994878f639af1f0190c1debd332e35fd1c9
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd example job definition to manager tests 72/162372/1
Aleksander Mistewicz [Wed, 29 Nov 2017 15:34:02 +0000 (16:34 +0100)]
Add example job definition to manager tests

Change-Id: Ib8f5dd6f989a0fb5a2edc4cddaab6c186b5d80d6
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd Config argument to Create of DyradJobManager 71/162371/1
Aleksander Mistewicz [Wed, 29 Nov 2017 15:32:38 +0000 (16:32 +0100)]
Add Config argument to Create of DyradJobManager

Change-Id: Ibc8d13e7131a2690d0874d281011f440b179c57c
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years ago[FROM PARSER] Add Weles parser interface 70/162370/1
Leszek Zygo [Tue, 7 Nov 2017 16:09:20 +0000 (17:09 +0100)]
[FROM PARSER] Add Weles parser interface

Change-Id: If5cb8bbdf033233510f847fd3279a32b7d4c3406
Signed-off-by: Leszek Zygo <l.zygo@samsung.com>
6 years agoAdd cmd provider to FOTA CLI 75/161475/3
Aleksander Mistewicz [Wed, 22 Nov 2017 10:31:14 +0000 (11:31 +0100)]
Add cmd provider to FOTA CLI

FOTA is a tool available on MuxPi providing ability to flash sdcard with
archives containing images published via http server.

This patch adds an easy way to construct command line call to the said
tool.

Change-Id: I8da6e5c49a4419e3f3343129456472363e55eb6d
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoImplement List with table driven tests 74/161474/3
Aleksander Mistewicz [Fri, 17 Nov 2017 15:50:40 +0000 (16:50 +0100)]
Implement List with table driven tests

Change-Id: Ifccf613b89cb6a21d4229b15affb533c0bb95de4
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd tests for panic recovery of dryadJob 73/161473/3
Aleksander Mistewicz [Fri, 17 Nov 2017 14:01:51 +0000 (15:01 +0100)]
Add tests for panic recovery of dryadJob

Change-Id: I7ac9ccb609a77ff5d0e4635c5d91e23cc88fd4ae
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd more complicated tests of dryadJob 72/161472/4
Aleksander Mistewicz [Fri, 17 Nov 2017 12:30:51 +0000 (13:30 +0100)]
Add more complicated tests of dryadJob

Change-Id: Ie015609731c8f25ecfe6bff31414f18390494e3b
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoUse mockups of generated interfaces in tests 71/161471/4
Aleksander Mistewicz [Thu, 16 Nov 2017 16:57:47 +0000 (17:57 +0100)]
Use mockups of generated interfaces in tests

Change-Id: I77760fa2028e3c096929e82683c8024e01ee3c06
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd generated mock of DryadJobRunner 70/161470/4
Aleksander Mistewicz [Wed, 29 Nov 2017 15:59:22 +0000 (16:59 +0100)]
Add generated mock of DryadJobRunner

Command:
    mockgen -source=manager/manager.go \
            -destination=manager/mock_dryad_job_runner_test.go \
            -package manager \
            -imports ".=git.tizen.org/tools/weles/manager/dryad"

Change-Id: I015e79a3db12db02e2423bc6ce05cf4e9dfb6555
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd generated mock of interfaces in manager/dryad 69/161469/4
Aleksander Mistewicz [Thu, 16 Nov 2017 16:26:20 +0000 (17:26 +0100)]
Add generated mock of interfaces in manager/dryad

Command used:
    mockgen -source=manager/dryad/dryad.go \
        -destination=manager/mock_dryad_test.go \
        -package manager \
        -imports ".=git.tizen.org/tools/weles/manager/dryad"

Change-Id: I15860362b8fc144ddd9efe05e03efef2f5ebf03f
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd JSON identifies to JobManager structs for api package 79/161679/1
Alexander Mazuruk [Fri, 24 Nov 2017 15:35:29 +0000 (16:35 +0100)]
Add JSON identifies to JobManager structs for api package

Change-Id: Iedc8a8f9b75062a9ce0d4c1bbbf388a8b6a09fa9

6 years agoAdd JSON identifiers to ArtifactManager structs for api package 78/161678/1
Alexander Mazuruk [Fri, 24 Nov 2017 14:45:15 +0000 (15:45 +0100)]
Add JSON identifiers to ArtifactManager structs for api package

Change-Id: I7770c98c3829a00788a2f1a931af9d4f24b56a4a

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 partial implementation of DryadJobManager 68/161468/3
Aleksander Mistewicz [Mon, 13 Nov 2017 12:20:14 +0000 (13:20 +0100)]
Add partial implementation of DryadJobManager

Change-Id: Iea5ba6512b163d63f0f99fcb8cf78941ae65f15d
Signed-off-by: Aleksander Mistewicz <a.mistewicz@samsung.com>
6 years agoAdd internal structures of manager package 67/161467/2
Aleksander Mistewicz [Thu, 16 Nov 2017 15:51:06 +0000 (16:51 +0100)]
Add internal structures of manager package

Change-Id: Ic19879d26dd3ed1f45518474844e51b321b1ff00
Signed-off-by: Aleksander Mistewicz <a.mistewicz@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