Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TES Support: Implementing adapter-service for TES #749

Open
wants to merge 239 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
239 commits
Select commit Hold shift + click to select a range
858a19e
add tes-adapter
ilya-ugr Aug 11, 2019
e554bca
create feature branche and commit it to there
ilya-ugr Aug 12, 2019
cb5ee03
Empty gradle module
SilinPavel Aug 13, 2019
056ec68
simple-web-application implemented. sub-task 2759
evgeniimv Aug 13, 2019
771c9d7
simple-web-application upgraded. sub-task 2757-2759 completed
evgeniimv Aug 13, 2019
98497a8
simple-web-application upgraded. fixed last pull-request mistakes, ad…
evgeniimv Aug 15, 2019
9928553
simple-web-application upgraded. fixed TesAdapterController, added 'O…
evgeniimv Aug 15, 2019
38768dd
Merge pull request #3 from evgeniimv/EPMCMBIBPC-2759_simple-web-app
SilinPavel Aug 15, 2019
44187e6
simple swagger implementation completed. added swagger configuration …
evgeniimv Aug 15, 2019
d8be810
simple swagger implementation fixed. returned @GetMapping annotation.…
evgeniimv Aug 15, 2019
fba49c5
Merge pull request #5 from evgeniimv/f-swagger-impl
SilinPavel Aug 15, 2019
2ac73eb
simple test tasks service implemented. injected to TesAdapterControll…
evgeniimv Aug 16, 2019
988a6aa
implemented task entities with swagger-codegen and task_execution.swa…
evgeniimv Aug 16, 2019
139c31b
added stubbed methods submit/cancel/get-task. Reformatting entities i…
evgeniimv Aug 17, 2019
5329d60
Added task entities to tes-adapter (#8)
SilinPavel Aug 20, 2019
adad439
created TesTaskService, injected if to TesAdapterController (#10)
SilinPavel Aug 20, 2019
fa124e2
add MappingJackson2HttpMessageConverter (#6)
SilinPavel Aug 20, 2019
e9d95b8
Minor configuration clean up, PMD and Checkstyle fixes
SilinPavel Aug 20, 2019
d22e2c0
Merge branch 'tes-support' of https://github.com/SilinPavel/cloud-pip…
evgeniimv Aug 20, 2019
4056ace
update TesAdapterController. changed import wildcard "*" to single-cl…
evgeniimv Aug 21, 2019
29cda58
update TesAdapterController. removed optional value for @PathVariable
evgeniimv Aug 21, 2019
4fa52f5
update TesAdapterController. changed annotation @PathVariable to @Req…
evgeniimv Aug 21, 2019
1c48e7a
add EPMCMBIBPC-2764 Task (#13)
SilinPavel Aug 21, 2019
99183b2
PMD & checkstyle fix
SilinPavel Aug 21, 2019
13e7f49
Merge branch 'tes-support' of https://github.com/SilinPavel/cloud-pip…
evgeniimv Aug 21, 2019
25c5e7d
TES exception handler (#14)
SilinPavel Aug 22, 2019
fe83085
F logger tes (#12)
SilinPavel Aug 22, 2019
f275723
Added submit/get/cancel-task methods (#9)
SilinPavel Aug 22, 2019
533cfe7
add cloud-pipeline-common module in dependencies (#16)
SilinPavel Aug 22, 2019
a9122fe
added stubbed implementation for cancel-id mapping
evgeniimv Aug 23, 2019
8fac000
Merge branch 'tes-support' of https://github.com/SilinPavel/cloud-pip…
evgeniimv Aug 23, 2019
68956b2
finished mapping for cancel-Id method.
evgeniimv Aug 23, 2019
d2df3b3
finished mapping for cancel-Id method. Changed mathod-name "checkRunI…
evgeniimv Aug 23, 2019
5b1ff6c
updated test implementation. Not finished
evgeniimv Aug 23, 2019
e5a8dcd
Added $API and $API_TOKEN to application.properties. Changed applicat…
evgeniimv Aug 26, 2019
d39eb6f
Merge branch 'f_tes_mapping_cancel_Id' into f_tes_simple_integration_…
evgeniimv Aug 26, 2019
5c6f62f
add test TesTaskServiceImpl
ilya-ugr Aug 26, 2019
b17cb79
refactored build.gradle file. added needed dependencies for junit5 an…
evgeniimv Aug 27, 2019
d2e3483
added simple webMvcTest for cancel-Id method. fixed same method in Co…
evgeniimv Aug 27, 2019
2600ead
added webMvcTest for listTesTask method as a part of integration test…
evgeniimv Aug 27, 2019
74b32c3
f tes mapping cancel (#17)
SilinPavel Aug 28, 2019
17e9238
first implementation of submitTesTask() method. fully stubbed
evgeniimv Aug 29, 2019
e994fc0
moved "magic-numbers" to appropriate constants.
evgeniimv Aug 29, 2019
0c21fb5
changed constants view to upper-case
evgeniimv Aug 29, 2019
ebbd196
Merge branch 'tes-support' into f_tes_simple_integration_test
SilinPavel Aug 29, 2019
46fa5de
add getServiceInfo method
ilya-ugr Aug 29, 2019
594446e
added ConvertTesTaskToPipelineStart class(need corrections). added ap…
evgeniimv Aug 29, 2019
7018cad
updated mapping settings for submitTesTask method. class TaskMapper. …
evgeniimv Aug 30, 2019
682066d
Merge remote-tracking branch 'origin/f_tes_simple_integration_test' i…
evgeniimv Aug 30, 2019
fffb81d
fixed run trouble, moved TaskMapper @Value annotation to appropriate …
evgeniimv Aug 30, 2019
c970209
simple integration test for WebMvc (#19)
SilinPavel Aug 30, 2019
9b578ba
PMD fix for tests
SilinPavel Aug 30, 2019
692251d
Merge branch 'tes-support' into f_EPMCMBIBPC-2792
SilinPavel Aug 30, 2019
f892fee
finished fully operable method submitTesTask(), which returns TesCrea…
evgeniimv Aug 30, 2019
281fec5
couple changes in submitTesTask() method in TesTaskServiceImpl
evgeniimv Aug 30, 2019
397b3ee
couple clean-code for TaskMapper class.
evgeniimv Sep 2, 2019
1546088
implemented Method GET /v1/tasks/{id}
ilya-ugr Sep 2, 2019
87754c6
updated current state of working submitTesTask() method. Added Messag…
evgeniimv Sep 3, 2019
c548d66
refactoring tesTaskServiceImpl used Java 8 methods
ilya-ugr Sep 3, 2019
55dac88
added separate AppConfiguration class for MessageHelper, removed @Res…
evgeniimv Sep 3, 2019
61c4b0f
Merge branch 'tes-support' into f_tes_mapping_submitTask
SilinPavel Sep 3, 2019
4e57769
Merge pull request #21 from evgeniimv/f_tes_mapping_submitTask
SilinPavel Sep 3, 2019
05c6822
refactoring build.gradle
ilya-ugr Sep 3, 2019
86849eb
Merge pull request #18 from ilya-ugr/f_EPMCMBIBPC-2792
SilinPavel Sep 3, 2019
3f954fd
add TaskMapper without test
ilya-ugr Sep 3, 2019
07d19a0
refactoring TesTaskServisImpl()
ilya-ugr Sep 4, 2019
7850727
refactoring TesTaskServisImpl() with java 8 style
ilya-ugr Sep 4, 2019
c68d2be
refactoring TesTaskServisImpl
ilya-ugr Sep 4, 2019
be70665
refactoring TaskMapper
ilya-ugr Sep 4, 2019
73edb68
deleted @PropertySource from TesTaskServiceImpl
ilya-ugr Sep 4, 2019
ed32fa2
refactoring TesTaskServiceImpl
ilya-ugr Sep 4, 2019
3789262
refactoring TesTaskServiceImpl
ilya-ugr Sep 4, 2019
856c51e
deleted @ResponseBody from Controller.I Did methods more simply: crea…
ilya-ugr Sep 4, 2019
9daab0d
Merge branch 'tes-support' into f_EPMCMBIBPC-2803
ilya-ugr Sep 4, 2019
a3f488e
i merged branch tes-support to f_2803. and did refactoring parseStrin…
ilya-ugr Sep 4, 2019
522a328
first not finished state of InstanceTypes mapping. Need correspond ma…
evgeniimv Sep 4, 2019
c4caf7c
updated TaskMapper, refactored, optimized ramGb + vCPU mapper impleme…
evgeniimv Sep 5, 2019
eb14e2f
refactored method parseRunId and some little things
ilya-ugr Sep 5, 2019
1aa242c
couple of clean-code in TaskMapper, fixed bug in AllowedInstanceAndPr…
evgeniimv Sep 5, 2019
9d905af
fixed pmdMain, removed unnecessary imports.
evgeniimv Sep 5, 2019
cb19aff
Merge branch 'tes-support' into f_EPMCMBIBPC-2785
ilya-ugr Sep 5, 2019
7911479
did merge with tes-support and solved conflicts
ilya-ugr Sep 5, 2019
da15ae0
Merge pull request #20 from ilya-ugr/f_EPMCMBIBPC-2785
SilinPavel Sep 6, 2019
ea29bcf
couple of clean-code in TaskMapper, added mapping disk_Gb(TES) to hdd…
evgeniimv Sep 6, 2019
21446b5
clean-code in TesTaskServiceImplTest, replace global-to-local fields …
evgeniimv Sep 6, 2019
930bcfc
Merge branch 'tes-support' into f_tes_instance_ram_cpu_impl
SilinPavel Sep 6, 2019
3d12875
refactoring in TaskMapper. added defaultValue for "preemptible" param…
evgeniimv Sep 6, 2019
43fa8b8
refactoring in TaskMapper. added defaultValue for "preemptible" param…
evgeniimv Sep 6, 2019
adf6e22
write used @Builder TesExecutor, TesResources and TesTask
ilya-ugr Sep 6, 2019
34aa8ce
refactoring UnitTest TesTaskServiceImpl
ilya-ugr Sep 6, 2019
e72e596
refactoring in TaskMapper. Now, whole "resources{}" part stubbed with…
evgeniimv Sep 6, 2019
04f071e
Merge branch 'tes-support' into f_EPMCMBIBPC-2803
ilya-ugr Sep 6, 2019
0a35783
tes-support merge into f_2803
ilya-ugr Sep 6, 2019
04a6860
Merge pull request #23 from ilya-ugr/f_EPMCMBIBPC-2803
SilinPavel Sep 6, 2019
9adad92
add @NoArgsConstructor @AllArgsConstructor to entities with @Builder
SilinPavel Sep 6, 2019
e78061f
Merge branch 'tes-support' into f_tes_instance_ram_cpu_impl
SilinPavel Sep 6, 2019
9c4386b
fixed missed brace { after merging
SilinPavel Sep 6, 2019
4fd8a52
added createTesStatus not working. (Error 404)
ilya-ugr Sep 9, 2019
f665158
added in method createTesStatus statuses Console, Initialization
ilya-ugr Sep 10, 2019
a604b5e
add import logs from pipeline to tes
ilya-ugr Sep 10, 2019
6e60fa9
added couple unit-tests for TaskMapperTest class. Not finished yet.
evgeniimv Sep 10, 2019
b9fdfaf
added simple unit-test for TaskMapper class. Need upgrade.
evgeniimv Sep 10, 2019
6608f4f
added more unit-tests in TaskMapperTest, couple refactoring in TaskMa…
evgeniimv Sep 11, 2019
f5b8613
added check-ofNullable-points for returning values in couple TasMappe…
evgeniimv Sep 11, 2019
926f4ae
refactoring method createTesState(PipelineRun run) with stream
ilya-ugr Sep 11, 2019
e5ce0f0
refactoring method createTesTasLog. used Collections.singletonList
ilya-ugr Sep 11, 2019
792b033
refactoring method createTesTaskStatus
ilya-ugr Sep 11, 2019
8031ef4
refactoring method createTesTaskLogs
ilya-ugr Sep 11, 2019
07944bb
Merge pull request #25 from ilya-ugr/f_EPMCMBIBPC-2804
SilinPavel Sep 12, 2019
93114de
fixed couple mistakes in TaskMapper class, added "message"s to "Excep…
evgeniimv Sep 12, 2019
5764434
Merge branch 'tes-support' into f_tes_instance_ram_cpu_impl
evgeniimv Sep 12, 2019
725f91e
couple clean-code, remove unnecessary imports and empty-lines
evgeniimv Sep 12, 2019
711c9bc
added explicit scoping for TestMapperTest tests
evgeniimv Sep 12, 2019
46ec052
Merge pull request #24 from evgeniimv/f_tes_instance_ram_cpu_impl
SilinPavel Sep 12, 2019
9c7baa7
refactoring method createTesTaskLogs. used String.format
ilya-ugr Sep 12, 2019
8f05b4c
Merge branch 'tes-support' into f_EPMCMBIBPC-2807
ilya-ugr Sep 12, 2019
4dc23e1
Merge pull request #26 from ilya-ugr/f_EPMCMBIBPC-2807
SilinPavel Sep 12, 2019
d712bc7
implemented support cpu and ram
ilya-ugr Sep 12, 2019
46178e2
did more simply method getInstanceType using stream
ilya-ugr Sep 13, 2019
fd2050f
Merge pull request #27 from ilya-ugr/f_ImplementLogicRamGbAndCpu
SilinPavel Sep 13, 2019
0c94cd8
added support TaskView
ilya-ugr Sep 13, 2019
c4e56c2
added implementation for mapping tes-list-tasks method. Added corresp…
evgeniimv Sep 16, 2019
8731d4c
added couple changes for listTesTask Test in Mvc and Unit test classes
evgeniimv Sep 16, 2019
b520efc
added implementation in listTesTask method for "namePrefix" and "view…
evgeniimv Sep 16, 2019
c391916
refactored listTesTask method, added FilterExpression config. Changed…
evgeniimv Sep 16, 2019
e5040b4
refactoring TaskView
ilya-ugr Sep 16, 2019
c349931
refactored listTesTask method, added "filterRuns()" method to make po…
evgeniimv Sep 16, 2019
d3cb950
added resources.zone and dockerImage
ilya-ugr Sep 16, 2019
43fa627
refactored two methods: createInput and Output.
ilya-ugr Sep 16, 2019
506908e
codacy clean-up, added explicit scoping
evgeniimv Sep 16, 2019
8f8c4ed
Merge pull request #28 from ilya-ugr/f_logicForChangingViewOfTesTask
SilinPavel Sep 17, 2019
0601508
Merge pull request #30 from ilya-ugr/f_addResourcesZoneAndExecutorsImage
SilinPavel Sep 17, 2019
741e93a
Merge branch 'tes-support' into f_tes_mapping_v1_get-list-tasks
evgeniimv Sep 17, 2019
aa9293f
refactored listTesTask method, implemented "view" mapping
evgeniimv Sep 17, 2019
cc3888c
refactored listTesTask method, implemented "view" mapping. added defa…
evgeniimv Sep 17, 2019
7b0d9df
refactored listTesTask method, removed unnecessary classes from "comm…
evgeniimv Sep 18, 2019
d645ea6
fixed problem related with wrong class names in "common"-module, remo…
evgeniimv Sep 18, 2019
24cc184
returned post-fix VO to corresponding classes in "common"-module
evgeniimv Sep 18, 2019
f99b564
couple clean-code in "common"-module and ServiceImpl class
evgeniimv Sep 18, 2019
2b5f861
couple refactoring in ServiceImpl class for listTesTask method
evgeniimv Sep 18, 2019
9509716
fixed Web Mvc Test, added mock dor TesListTasksResponse
evgeniimv Sep 18, 2019
e42ccb1
added some tests
ilya-ugr Sep 18, 2019
a773eae
refactored listTesTask method for better readability
evgeniimv Sep 18, 2019
be9952a
Merge pull request #29 from evgeniimv/f_tes_mapping_v1_get-list-tasks
SilinPavel Sep 18, 2019
79e4d12
added some tests more
ilya-ugr Sep 18, 2019
64efa44
added more integration WebMvc tests to cover TesAdapterController cla…
evgeniimv Sep 19, 2019
ee7b2ee
Merge pull request #32 from evgeniimv/f_tes_more_integration_tests
SilinPavel Sep 19, 2019
f3375b3
couple unit tests for TaskMapper class, increased coverage rate, refa…
evgeniimv Sep 19, 2019
eb50e73
couple unit tests for TaskMapper class, added updates which was shalfed
evgeniimv Sep 19, 2019
abf6b8d
added some tests more
ilya-ugr Sep 19, 2019
f964982
added unit-tests for TaskMapper, 58% coverage
evgeniimv Sep 19, 2019
3ac2e92
fixed bug with mapping "disk_gb" field in TaskMapper
evgeniimv Sep 19, 2019
946f164
increased encapsulation level of TaskMapper class - changed method-mo…
evgeniimv Sep 20, 2019
847e7ec
couple clean-code for TaskMapperTest class
evgeniimv Sep 20, 2019
1dc5396
covered TesTaskServiceImpl class. added corresponded unit-tests, aver…
evgeniimv Sep 20, 2019
5176d0a
removed unnecessary unit-test from TesTaskServiceImplTest class, also…
evgeniimv Sep 20, 2019
d5f3bf1
added explicit scoping for tests
evgeniimv Sep 23, 2019
7c29e6e
added not ready testCreateTesResources
ilya-ugr Sep 23, 2019
59c6723
Merge pull request #33 from evgeniimv/f_tes_unit_tests_for_task-mapper
SilinPavel Sep 23, 2019
7656579
added test mapToTes and test for TesState
ilya-ugr Sep 24, 2019
a26efbd
added "private" for all methods
ilya-ugr Sep 24, 2019
d0df62c
Merge remote-tracking branch 'Pavel/tes-support' into f_addTestsForTa…
ilya-ugr Sep 24, 2019
5a543ae
merged with tes-support
ilya-ugr Sep 24, 2019
393cb1e
refactoring TasMapper
ilya-ugr Sep 24, 2019
0a0b3dc
refactoring TasMapper
ilya-ugr Sep 24, 2019
504179b
Merge pull request #31 from ilya-ugr/f_addTestsForTaskMapper
SilinPavel Sep 24, 2019
f5aaf5a
make mapToPipelineStart public - since it is API for TaskMapper class
SilinPavel Sep 24, 2019
bac00f2
implemented TesTokenInterceptor, configured corresponded TesTokenHold…
evgeniimv Sep 24, 2019
efa7066
merge with tes-support branch
evgeniimv Sep 24, 2019
8046283
fixed couple mistakes, replaced TesTokenInterceptor to controllers, r…
evgeniimv Sep 25, 2019
caaddb7
fixed error code to SC_UNAUTHORIZED in response
evgeniimv Sep 25, 2019
d6ff540
Merge pull request #34 from evgeniimv/f_tes_interceptor_handler
SilinPavel Sep 25, 2019
864b87f
Implement logic of checkClientHostAddress in Interceptor class
ilya-ugr Sep 25, 2019
333df9e
added simple test for preHandle method, need more tests
evgeniimv Sep 25, 2019
5ccabb2
added more tests for preHandle method. added headers for rest tests i…
evgeniimv Sep 26, 2019
f33eb67
couple clean-code in preHandle Test
evgeniimv Sep 26, 2019
7015c8a
refactoring logic of checkClientHostAddress in Interceptor class. add…
ilya-ugr Sep 26, 2019
3018af6
refactored TesAdapterControllerTest class, created test-application.p…
evgeniimv Sep 26, 2019
06832c3
refactored default ip range
ilya-ugr Sep 26, 2019
8a47649
removed couple unnecessary tests for this PR
evgeniimv Sep 26, 2019
e4b7c63
Merge pull request #36 from evgeniimv/f_tes_interceptor_mvc_tests
SilinPavel Sep 26, 2019
64e4dab
added check ipRange & default token is not null
ilya-ugr Sep 26, 2019
cac5729
refactoring checkClientHostAddress
ilya-ugr Sep 26, 2019
5641e5a
Merge remote-tracking branch 'Pavel/tes-support' into f_ImplementLogi…
ilya-ugr Sep 26, 2019
292f5b2
add test preHandle method which should check AuthorizationContext Wit…
ilya-ugr Sep 26, 2019
bd287cb
add test preHandle method which should check AuthorizationContext Wit…
ilya-ugr Sep 26, 2019
8f2d964
added check for app.properties, added defaults values, for these defa…
evgeniimv Sep 27, 2019
1ecf54b
refactored usage default values in app.properties for TaskMapper nad …
evgeniimv Sep 27, 2019
0310bcd
refactored usage default values -> added StringUtils feature
evgeniimv Sep 27, 2019
e5996c7
refactored approach to get default values from app.properties, change…
evgeniimv Sep 28, 2019
8ecd9af
replaced with Optional not-empty-null check for cloudPipelineHostUrl
evgeniimv Sep 28, 2019
df97cc7
refactoring RestConfiguration
ilya-ugr Sep 30, 2019
e905e71
Merge pull request #37 from evgeniimv/f_tes_application_properties_ch…
SilinPavel Sep 30, 2019
5a3a196
added bash script to get tes-adapter .jar file from git-repo
evgeniimv Sep 30, 2019
26bb504
refactoring RestConfiguration
ilya-ugr Sep 30, 2019
3549d1b
Merge pull request #35 from ilya-ugr/f_ImplementLogicOfCheckClientHos…
SilinPavel Sep 30, 2019
5dad791
updated bash script. Added exit-status check for necessary points
evgeniimv Sep 30, 2019
5f04de1
updated bash script. changed printed echo-message if something going …
evgeniimv Sep 30, 2019
f1b4aa1
refactored script, increased flexibility and stability
evgeniimv Oct 1, 2019
3b0dc77
couple clean-code in script
evgeniimv Oct 1, 2019
415bfa4
refactored bash-script, added cleanup function, added trap cleanup fo…
evgeniimv Oct 2, 2019
28c7745
refactored template of tempdir
evgeniimv Oct 2, 2019
805c041
Merge pull request #38 from evgeniimv/f_tes_bash_script_get_tes-adapt…
SilinPavel Oct 2, 2019
4ccf588
add Dockerfile
ilya-ugr Sep 30, 2019
cc99e0a
add Dockerfile
ilya-ugr Oct 1, 2019
d9514ea
refactoring Dockerfile
ilya-ugr Oct 1, 2019
0728c2c
create Dockerfile
ilya-ugr Oct 3, 2019
e96e43c
create Dockerfile
ilya-ugr Oct 4, 2019
fb59842
refactoring Dockerfile
ilya-ugr Oct 6, 2019
04a2029
logging for TesTokenInterceptor
SilinPavel Oct 4, 2019
bfae3a5
added debug-logs for service, corresponded constants also added
evgeniimv Oct 7, 2019
71e2f79
add support ipv6
ilya-ugr Oct 7, 2019
6c47a1f
added deploy relations for tes-adapter, added stubbed files for k&s a…
evgeniimv Oct 7, 2019
989df8d
Did a few clean-code changes for tes-adapter module, checkstyle and P…
evgeniimv Oct 8, 2019
843f2a3
add dpl.yaml
ilya-ugr Oct 7, 2019
48610a3
refactoring cp-tes-erv-dpl.yaml
ilya-ugr Oct 8, 2019
ab44535
refactoring cp-tes-erv-dpl.yaml
ilya-ugr Oct 8, 2019
e886cc4
Added service specs for k&s deployment, also added couple corresponde…
evgeniimv Oct 8, 2019
bc86673
removed expose_cluster_port implementation in install.sh script for TES
evgeniimv Oct 8, 2019
ba4ca17
delete unused kube config file
SilinPavel Oct 9, 2019
98317fd
change message format for TesExceptionHandler
SilinPavel Oct 9, 2019
2f41dfd
refactoring cp-tes-erv-dpl.yaml
ilya-ugr Oct 9, 2019
d95d085
Added "Bearer" filter for token-check preHandle method in TesTokenInt…
evgeniimv Oct 9, 2019
fda6da5
Added config dir for DOckerfile
evgeniimv Oct 9, 2019
c1fd7a6
Merge branch 'develop' into tes-dev
SilinPavel Oct 17, 2019
4f1fd73
add CP_TES_WHITE_IPV4_CIDR into properties and describes into readme
ilya-ugr Oct 18, 2019
406dd5e
Merge pull request #50 from ilya-ugr/f_EPMCMBIBPC-2930
SilinPavel Oct 18, 2019
b3e18c3
add Dockerfile to deploy dir
SilinPavel Oct 24, 2019
6ad68da
do not send 401 from /error page
SilinPavel Oct 24, 2019
108f696
couple refactoring of swagger-page titles
evgeniimv Oct 25, 2019
abf0ed0
couple changes of swagger-page titles
evgeniimv Oct 25, 2019
b80fbb8
Merge pull request #51 from evgeniimv/f_tes_swagger_rename_title
SilinPavel Oct 25, 2019
c89c6c2
I fixed HttpMessageConverter to it doesn't have null fields and refac…
ilya-ugr Oct 29, 2019
be09ced
I fixed HttpMessageConverter to it doesn't have null fields and refac…
ilya-ugr Oct 29, 2019
6ddbac8
refactor
ilya-ugr Oct 29, 2019
38de490
couple clean-code and refactoring of whole sub-project. Added nextPag…
evgeniimv Oct 29, 2019
99be361
clean-code
evgeniimv Oct 29, 2019
984710d
Merge branch 'f_Code_refactoring' into tes-dev
SilinPavel Oct 29, 2019
f44902f
Merge branch 'f_tes_pageToken_and_view_refactor' into tes-dev
SilinPavel Oct 29, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package com.epam.pipeline.client.pipeline;

import com.epam.pipeline.entity.cluster.AllowedInstanceAndPriceTypes;
import com.epam.pipeline.entity.cluster.NodeInstance;
import com.epam.pipeline.entity.configuration.RunConfiguration;
import com.epam.pipeline.entity.datastorage.AbstractDataStorage;
Expand All @@ -30,19 +31,24 @@
import com.epam.pipeline.entity.pipeline.Folder;
import com.epam.pipeline.entity.pipeline.Pipeline;
import com.epam.pipeline.entity.pipeline.PipelineRun;
import com.epam.pipeline.entity.pipeline.PipelineTask;
import com.epam.pipeline.entity.pipeline.Revision;
import com.epam.pipeline.entity.pipeline.RunInstance;
import com.epam.pipeline.entity.pipeline.RunLog;
import com.epam.pipeline.entity.pipeline.Tool;
import com.epam.pipeline.entity.pipeline.ToolGroup;
import com.epam.pipeline.entity.pipeline.run.PipelineStart;
import com.epam.pipeline.entity.region.AbstractCloudRegion;
import com.epam.pipeline.entity.region.AwsRegion;
import com.epam.pipeline.entity.security.acl.AclClass;
import com.epam.pipeline.entity.user.PipelineUser;
import com.epam.pipeline.rest.PagedResult;
import com.epam.pipeline.rest.Result;
import com.epam.pipeline.vo.EntityPermissionVO;
import com.epam.pipeline.vo.EntityVO;
import com.epam.pipeline.vo.FilterNodesVO;
import com.epam.pipeline.vo.PagingRunFilterExpressionVO;
import com.epam.pipeline.vo.PagingRunFilterVO;
import com.epam.pipeline.vo.RunStatusVO;
import com.epam.pipeline.vo.notification.NotificationMessageVO;
import okhttp3.MultipartBody;
Expand Down Expand Up @@ -71,6 +77,21 @@ public interface CloudPipelineAPI {
String TOOL_IDENTIFIER = "image";
String VERSION = "version";
String PATH = "path";
String TOOL_ID = "toolId";
String REGION_ID = "regionId";
String SPOT = "spot";
String LOAD_LINKS = "loadLinks";


@POST("run")
Call<Result<PipelineRun>> runPipeline(@Body PipelineStart runVo);

@POST("run/search")
Call<Result<PagedResult<List<PipelineRun>>>> searchRuns(@Body PagingRunFilterExpressionVO filterVO);

@POST("run/filter")
Call<Result<PagedResult<List<PipelineRun>>>> filterRuns(@Body PagingRunFilterVO filterVO,
@Query(LOAD_LINKS) Boolean loadStorageLinks);

@POST("run/{runId}/status")
Call<Result<PipelineRun>> updateRunStatus(@Path(RUN_ID) Long runId,
Expand Down Expand Up @@ -189,7 +210,15 @@ Call<Result<List<GitRepositoryEntry>>> loadRepositoryContent(@Path(ID) Long id,
@POST("cluster/node/filter")
Call<Result<List<NodeInstance>>> findNodes(@Body FilterNodesVO filterNodesVO);

@GET("cluster/instance/allowed")
Call<Result<AllowedInstanceAndPriceTypes>> loadAllowedInstanceAndPriceTypes(@Query(TOOL_ID) Long toolId,
@Query(REGION_ID) Long regionId,
@Query(SPOT) Boolean spot);

//Notification methods
@POST("notification/message")
Call<Result<NotificationMessage>> createNotification(@Body NotificationMessageVO notification);

@GET("run/{runId}/tasks")
Call<Result<List<PipelineTask>>> loadPipelineTasks(@Path(RUN_ID) Long runId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
@Value
public class AllowedInstanceAndPriceTypes {

@JsonProperty("allowed.instance.types")
@JsonProperty("cluster.allowed.instance.types")
private final List<InstanceType> allowedInstanceTypes;

@JsonProperty("allowed.instance.docker.types")
@JsonProperty("cluster.allowed.instance.docker.types")
private final List<InstanceType> allowedInstanceDockerTypes;

@JsonProperty("allowed.price.types")
@JsonProperty("cluster.allowed.price.types")
private final List<String> allowedPriceTypes;
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
Expand All @@ -27,6 +28,7 @@
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class InstanceType {
private String sku;
private String name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@

package com.epam.pipeline.rest;

import lombok.NoArgsConstructor;
import lombok.Setter;

@Setter
@NoArgsConstructor
public class PagedResult<T> { // TODO: refactor to extend Result class
private T elements; // TODO; refactor to contain a list of T
private int totalCount;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Copyright 2017-2019 EPAM Systems, Inc. (https://www.epam.com/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.epam.pipeline.vo;

import com.epam.pipeline.entity.filter.AclSecuredFilter;
import com.epam.pipeline.vo.filter.FilterExpressionVO;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
@NoArgsConstructor
public class PagingRunFilterExpressionVO implements AclSecuredFilter {

private int page;
private int pageSize;
private int timezoneOffsetInMinutes;
private FilterExpressionVO filterExpression;

//these filter is used for ACL filtering
@JsonIgnore
private List<Long> allowedPipelines;
@JsonIgnore
private String ownershipFilter;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright 2017-2019 EPAM Systems, Inc. (https://www.epam.com/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.epam.pipeline.vo.filter;

public enum FilterExpressionTypeVO {
LOGICAL(0),
AND(1),
OR(2);

private long id;

FilterExpressionTypeVO(long id) {
this.id = id;
}

public Long getId() {
return this.id;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* Copyright 2017-2019 EPAM Systems, Inc. (https://www.epam.com/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.epam.pipeline.vo.filter;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
@NoArgsConstructor
public class FilterExpressionVO {

private String field;
private String value;
private String operand;

@JsonIgnore
private FilterOperandTypeVO operandType;

private List<FilterExpressionVO> expressions;
private FilterExpressionTypeVO filterExpressionType;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright 2017-2019 EPAM Systems, Inc. (https://www.epam.com/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.epam.pipeline.vo.filter;

public enum FilterOperandTypeVO {
LESS("<"),
LESS_OR_EQUALS("<="),
EQUALS("="),
NOT_EQUALS("!="),
MORE_OR_EQUALS(">="),
MORE(">");

private String operand;

FilterOperandTypeVO(String operand) {
this.operand = operand;
}

public String getOperand() {
return this.operand;
}
}
3 changes: 3 additions & 0 deletions deploy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,9 @@ bash build.sh -aws eu-central-1,us-east-1 \ # List of re
-env CP_KUBE_MASTER_ETCD_HOST_PATH= \ # Allows to override a location of the folder where etcd stores wal/data dirs. This is useful when etcd runs into I/O latency issues and shall be pointed to another device mounted to a more custom location, which leads to the kube control plane failures. If not defined - /var/lib/etcd path will be used
-env CP_KUBE_MIN_DNS_REPLICAS= \ # Allows to configure a minimal number of DNS replicas for the cluster (default: 1). DNS will be autoscaled based on the size of a cluster (1 new replica for each 128 cores or 5 nodes)
-env CP_KUBE_SERVICES_TYPE= \ # Allows to select a preferred services mode type: "node-port" or "external-ip" (default: "node-port")

# TES Adapter
-env CP_TES_WHITE_IPV4_CIDR # Whitelist ip addresses for access to Cloud Pipeline through TES adapter, if client doesn't have HttpAuthorization in headers or cookies. It supports as IPv4 as Ipv6
```

# Examples
Expand Down
32 changes: 28 additions & 4 deletions deploy/contents/install/app/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,11 @@ CP_SHARE_SRV_KUBE_NODE_NAME=${CP_SHARE_SRV_KUBE_NODE_NAME:-$KUBE_MASTER_NODE_NAM
print_info "-> Assigning cloud-pipeline/cp-share-srv to $CP_SHARE_SRV_KUBE_NODE_NAME"
kubectl label nodes "$CP_SHARE_SRV_KUBE_NODE_NAME" cloud-pipeline/cp-share-srv="true" --overwrite

# Allow to schedule TES service to the master
CP_TES_SRV_KUBE_NODE_NAME=${CP_TES_SRV_KUBE_NODE_NAME:-$KUBE_MASTER_NODE_NAME}
print_info "-> Assigning cloud-pipeline/cp-tes-srv to $CP_TES_SRV_KUBE_NODE_NAME"
kubectl label nodes "$CP_TES_SRV_KUBE_NODE_NAME" cloud-pipeline/cp-tes-srv="true" --overwrite

echo

##########
Expand Down Expand Up @@ -502,7 +507,7 @@ if is_service_requested cp-api-srv; then
print_info "-> Registering custom users in IdP and API services"
api_register_custom_users "$CP_CUSTOM_USERS_SPEC"

# Here we wait for the price list sync, this is required by the downstream services to manage the instance types configurations
# Here we wait for the price list sync, this is required by the downstream services to manage the instance types configurations
if [ -z "$CP_CLOUD_REGION_INTERNAL_ID" ]; then
print_warn "CP_CLOUD_REGION_INTERNAL_ID is not defined, assuming that a cloud region is not registered correctly previously. WILL NOT wait for price lists synchonization"
else
Expand Down Expand Up @@ -607,7 +612,7 @@ if is_service_requested cp-edge; then
delete_deployment_and_service "cp-edge" \
"/opt/edge"

if is_install_requested; then
if is_install_requested; then
print_info "-> Creating self-signed SSL certificate for EDGE (${CP_EDGE_EXTERNAL_HOST}, ${CP_EDGE_INTERNAL_HOST})"
generate_self_signed_key_pair $CP_EDGE_CERT_DIR/ssl-private-key.pem \
$CP_EDGE_CERT_DIR/ssl-public-cert.pem \
Expand All @@ -628,7 +633,7 @@ if is_service_requested cp-edge; then
update_config_value "$CP_INSTALL_CONFIG_FILE" \
"EDGE_EXTERNAL" \
"$EDGE_EXTERNAL"

init_kube_config_map

print_ok "-> EDGE addresses parameters set:"
Expand Down Expand Up @@ -917,7 +922,7 @@ if is_service_requested cp-search; then

print_info "-> Deleting existing instance of Search ELK service"
delete_deployment_and_service "cp-search-elk" \
"/opt/search-elk"
"/opt/search-elk"

if is_install_requested; then
print_info "-> Deploying Search ELK service"
Expand Down Expand Up @@ -1050,6 +1055,25 @@ if is_service_requested cp-share-srv; then
echo
fi

# TES Service
if is_service_requested cp-tes-srv; then
print_ok "[Starting TES Service deployment]"

print_info "-> Deleting existing instance of TES Service"
delete_deployment_and_service "cp-tes-srv" \
"/opt/tes-srv"
if is_install_requested; then
print_info "-> Deploying TES service"
create_kube_resource $K8S_SPECS_HOME/cp-tes-srv/cp-tes-srv-dpl.yaml
create_kube_resource $K8S_SPECS_HOME/cp-tes-srv/cp-tes-srv-svc.yaml --svc

print_info "-> Waiting for TES service to initialize"
wait_for_deployment "cp-tes-srv"

CP_INSTALL_SUMMARY="$CP_INSTALL_SUMMARY\ncp-tes-srv: deployed"
fi
echo
fi

print_ok "Installation done"
echo -e $CP_INSTALL_SUMMARY
3 changes: 3 additions & 0 deletions deploy/contents/install/install-config
Original file line number Diff line number Diff line change
Expand Up @@ -154,5 +154,8 @@ CP_DAV_SERVE_DIR=/dav-serve
CP_DAV_MOUNT_POINT=/dav-mount
CP_DAV_INSTRUCTIONS_URL=

# cp-tes-srv
CP_TES_WHITE_IPV4_CIDR=127.0.0.1/24

# Other params, specified on command line
#
28 changes: 28 additions & 0 deletions deploy/contents/k8s/cp-tes-srv/cp-tes-srv-dpl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: cp-tes-srv
namespace: default
spec:
replicas: 1
template:
metadata:
name: cp-tes-srv
namespace: default
labels:
cloud-pipeline/cp-tes-srv: "true"
spec:
nodeSelector:
cloud-pipeline/cp-tes-srv: "true"
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- name: cp-tes-srv
image: lifescience/cloud-pipeline:tes-srv-$CP_VERSION
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 8080
envFrom:
- configMapRef:
name: cp-config-global
Loading