Commit Graph

201 Commits

Author SHA1 Message Date
Wenkai Yin
c222f18fa7 Update replication
1. Refine the health check of docker hub
2. Remove the GetNamespace method from adapter interface

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-13 15:20:06 +08:00
Wenkai Yin
1d16e18dff Remove "ng" from source code
Remove "ng" from source code

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-12 22:42:27 +08:00
Wenkai Yin
d4b6eede98
Merge pull request #7331 from cd1989/ng-operation-review
Correct some typos and do some small adjustments
2019-04-12 21:50:42 +08:00
cd1989
8ca5e17c58 Correct some typos and do some small adjustments
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-12 21:17:33 +08:00
慕薇疯魔
a555b09df0 1. Implement native docker registry adapter.
2. register the native adapter.

Signed-off-by: 慕薇疯魔 <kfanjian@gmail.com>
2019-04-12 21:08:23 +08:00
Wenkai Yin
5ee30c7909
Merge pull request #7127 from cd1989/dockerhub-adaptor
Implement dockerhub adapter
2019-04-12 20:25:18 +08:00
cd1989
7f6f85aab3 Remove ValidResource method
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-12 19:47:27 +08:00
Wenkai Yin
c88eeef07c
Merge pull request #7360 from ywk253100/190412_case
Remove the E2E test cases for replication
2019-04-12 18:44:16 +08:00
Wenkai Yin
174a1f5bfa Remove the E2E test cases for replication
Remove the E2E test cases for replication

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-12 17:37:14 +08:00
cd1989
cc4f08cc04 Add valid method to adapter to valid resource
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-12 17:33:32 +08:00
cd1989
1231c533db Support name and tag filters
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-12 17:31:32 +08:00
cd1989
ca705275f2 Support pull based replication from Dockerhub
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-12 17:31:32 +08:00
cd1989
b876a576a6 Implement dockerhub adapter
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-12 17:31:32 +08:00
Wenkai Yin
271c5ab213
Merge pull request #7357 from ywk253100/190412_harbor_adapter
Add filter support when fetching resources for Harbor adapter
2019-04-12 15:51:58 +08:00
Wenkai Yin
7d4649fc6b
Merge pull request #7163 from yuanshuhan/replication_ng
huawei cloud registry adapter for replication
2019-04-12 15:32:23 +08:00
Wenkai Yin
04883d2b0d Support replication windows images
Skip the foreign layers when do the replication

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-12 15:28:41 +08:00
Wenkai Yin
2fe207b77d Add filter support when fetching resources for Harbor adapter
Add filter support when fetching resources for Harbor adapter

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-12 15:28:41 +08:00
Yuan Lei
f8cb2d1e86 huawei cloud adapter for replication
Signed-off-by: Yuan Lei <yuanlei9@huawei.com>
2019-04-12 11:18:23 +08:00
Wenkai Yin
188d66d875
Merge pull request #7350 from ywk253100/190411_bugfix
Fix bug of replication
2019-04-12 08:22:59 +08:00
Wenkai Yin
bc0123662b Fix bug of replication
1. check the disable/enable status before starting the replication
2. process the support_namespace property

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-12 07:59:57 +08:00
wang yan
117c36d52c Add api to get namespaces of registry
To query the namespace of the registry according to its ID.

Signed-off-by: wang yan <wangyan@vmware.com>
2019-04-11 23:17:33 +08:00
Wenkai Yin
b73acde051 Support the migration for scheduled replication rule from previous version of Harbor
Support the migration for scheduled replication rule from previous version of Harbor

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-11 13:14:32 +08:00
Wenkai Yin
5a047a7eb6 Update the adapter interface
Add ConvertResourceMetadata and PrepareForPush methods

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-10 23:37:11 +08:00
cd1989
2ad8913e84 Update only specific props in registry update
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-09 19:57:21 +08:00
Wenkai Yin
5a65480594 Handle the policy from previous versions
Handle the policy from previous versions

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-09 17:43:07 +08:00
Wenkai Yin
9e5e723855 Add unit test cases for Harbor adapter
Add unit test cases for Harbor adapter

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-09 13:04:04 +08:00
Wenkai Yin
d72a53aa0c
Merge pull request #7318 from ywk253100/190408_upgrade
Upgrade the replication_job table
2019-04-08 22:43:40 +08:00
Wenkai Yin
4ffa0c3da0 Upgrade the replication_job table
This commit migrates the replication_job table, add one execution record and one task record for each job

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-08 22:23:53 +08:00
Wenkai Yin
7ff46acd25
Merge pull request #7289 from cd1989/add-registry-ping
Add registry ping API
2019-04-08 14:08:53 +08:00
cd1989
5a2d03593f Add helth check method to registry adapter
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-08 10:03:28 +08:00
Wenkai Yin
462aab5a1e
Merge pull request #7307 from cd1989/registry-healthchecker
Wait randomly before registry health checking
2019-04-08 07:11:49 +08:00
cd1989
f71a110bec Add registry ping API
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-06 17:00:52 +08:00
cd1989
07139684ce Wait randomly before registry health checking
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-05 20:46:29 +08:00
Wenkai Yin
e8fe2aa60c Upgrade the registry and replication policy tables
Upgrade the registry and replication tables in database

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-05 13:25:00 +08:00
cd1989
2450dacecb Use policy controller in registry deletion
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-04 21:26:27 +08:00
Wenkai Yin
4116433de8
Merge pull request #7306 from ywk253100/190404_cleanup
Remove the useless replication code
2019-04-04 21:18:04 +08:00
Wenkai Yin
c2f702be2a Remove the useless replication code
This commit removes the useless replication code

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-04 20:56:25 +08:00
Wenkai Yin
58a73de3e5
Merge pull request #7299 from ywk253100/190404_sync
Sync with master branch
2019-04-04 17:33:11 +08:00
Wenkai Yin
dc35be09c4
Merge pull request #7301 from ywk253100/190404_agent
Filter the events triggerred by replication
2019-04-04 16:50:23 +08:00
Wenkai Yin
02dd4e500a Clear up the table before doing dao test
Clear up the table before doing dao test

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-04 16:46:16 +08:00
Wenkai Yin
1c735a7464 Filter the events triggerred by replication
Filter the events triggerred by replication pull

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-04 16:03:38 +08:00
Wenkai Yin
78fc2846bd Stop a replication execution
Implement the function to support to stop the replication execution

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-04 14:51:37 +08:00
cd1989
e2c86f8f59 Handle registry with empty credential
Signed-off-by: cd1989 <chende@caicloud.io>
2019-04-03 20:33:26 +08:00
Wenkai Yin
5219073c49 Call Harbor API to delete the images in Harbor adapter
Call Harbor API to delete the images in Harbor adapter to avoid the inconsistent between the different versions of Harbor

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-02 17:02:15 +08:00
Wenkai Yin
4484bca756 Fix replication related issues
1. Add operation property for tasks
2. Add trigger property for executions
3. Update the getting registry info API to allow passing 0 as ID to get the info of local Harbor registry

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-02 14:26:17 +08:00
Wenkai Yin
b42ae1c994 Provide a util function to return a common HTTP transport
1. Provide a util function to return a shared HTTP transport
2. Read secretkey from the configuration of replication

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-01 19:52:37 +08:00
Wenkai Yin
df2ae63308
Merge pull request #7262 from ywk253100/190401_harbor_adapter
Use the secret to auth the replication for local Harbor
2019-04-01 17:26:56 +08:00
Wenkai Yin
bd2308b91a Use the secret to auth the replication for local Harbor
1. Use the secret to do the auth between the components when replicating
2. Handle internal core URL and token service URl when the instance is local Harbor

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-04-01 16:24:06 +08:00
peimingming
92488bd27e Fix execution end time bug
Signed-off-by: peimingming <peimingming@corp.netease.com>
2019-04-01 14:28:01 +08:00
Wenkai Yin
71b706e60a Update the replication API
1. Add getting execution by ID API
2. Return registry detail info in listing policies API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-30 20:46:02 +08:00
Wenkai Yin
4f8e283e8e Add event based trigger and scheduled trigger
This commit implements the event based trigger and scheduled trigger in replilcation

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-29 13:48:34 +08:00
Wenkai Yin
de4eb0369a Adjust the file structure of replication package
Move the scheduler, execution, hook and flow package into operation

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-26 14:59:58 +08:00
Wenkai Yin
b37f4018a6 Update the registry adapter interface
This commit adds the Info() method to the registry adapter interface

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-23 07:49:59 +08:00
Wenkai Yin
679b0d3d6a Convert job status to replication task status
This commits converts job status to task status

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-22 18:16:27 +08:00
Wenkai Yin
c3b02dd104 Implement deletion for image transter
This commit implements the delete function for image transfer

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-22 15:44:35 +08:00
Wenkai Yin
1120368c9c Add support for replicating the delation of resource
This commit refines the replication flows and provides the support for replicating resource deletion

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-22 12:37:39 +08:00
Wenkai Yin
c65d5e6669 Update listing/getting replication adapter API
This commit updates the listing/getting replication adapter API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-20 05:30:15 +08:00
Wenkai Yin
fb394c2c7a Replicate helm charts
This commit provides the capability for Harbor to replicate helm charts

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-20 00:35:15 +08:00
Wenkai Yin
79217e2485
Merge branch 'replication_ng' into replication_ng_execution_upgrade 2019-03-18 18:12:22 +08:00
peimingming
3f64a3b337 Execution updateStatus logic upgrade
Signed-off-by: peimingming <peimingming@corp.netease.com>
2019-03-15 16:21:39 +08:00
Wenkai Yin
cabef73980 Add Harbor adapter for replication
Implement the replication adapter for Harbor registry

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-13 21:39:39 +08:00
peimingming
4efad287ce Add execution and hooks
Signed-off-by: peimingming <peimingming@corp.netease.com>
2019-03-13 09:35:01 +08:00
Wenkai Yin
185525e9c8 Implement a default image registry client
Provide a default implemmentation for image registry interface, other adapters can use it directly

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-12 20:21:58 +08:00
Wenkai Yin
7ab21db26a Update the job ID in flow controller
Update the job ID for the task if it is scheduled successfully

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-12 15:42:16 +08:00
Wenkai Yin
772367498f Merge remote-tracking branch 'upstream/master' into 190311_sync 2019-03-11 20:34:49 +08:00
Wenkai Yin
258b22a9a5 Fix bug in replication
This commit fixes bugs found in the implement of replciation NG

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-10 20:57:59 +08:00
Wenkai Yin
d1f4c20e64 Implement replication policy management API
This commit implements the replication policy management API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-09 01:32:51 +08:00
Wenkai Yin
272508e509 Provide a null implementation for Harbor adapter
This commit provides a null implementation for Harbor adapter to fill data for the listing adapter API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-09 01:10:25 +08:00
慕薇疯魔
1039800fa9 1. Migration for policy manager.
2. Clear test database after run test.
3. UT for policy manager and dao.

Signed-off-by: 慕薇疯魔 <kfanjian@gmail.com>
2019-03-11 16:01:31 +08:00
Frank Kung
5bd5d59a4f 1. Define ng persist replication policy model.
2. Add ng replication policy CURD methods.
3. Implement ng policy manger.

Signed-off-by: Frank Kung <kfanjian@gmail.com>
Signed-off-by: 慕薇疯魔 <kfanjian@gmail.com>
2019-03-11 11:13:10 +08:00
Wenkai Yin
0b08291a2f
Merge branch 'replication_ng' into 190227_adapter_interface 2019-03-08 13:01:39 +08:00
Wenkai Yin
6742e0ceda Refactor the adapter interface
This commit refactors the Adapter interface and adjust the code in the flow controller and repository handler

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-08 12:26:17 +08:00
Wenkai Yin
ec2a7f9239 Implement replication operation API
This commit implements the replication operation related APIs

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-08 10:06:33 +08:00
Wenkai Yin
7f49151115 Implement replication adapter API
This commit implements the replication adapter API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-06 15:01:33 +08:00
De Chen
2bc2a44db8
Merge branch 'replication_ng' into registries-management 2019-03-05 16:22:34 +08:00
cd1989
b00098d492 Add unit tests and fix CI
Signed-off-by: cd1989 <chende@caicloud.io>
2019-03-05 15:37:36 +08:00
Wenkai Yin
937ee46ae0
Merge branch 'replication_ng' into replication_ng 2019-03-05 15:20:21 +08:00
cd1989
8732a20709 Rewrite registry manager with new interface
Signed-off-by: cd1989 <chende@caicloud.io>
2019-02-27 11:54:04 +08:00
cd1989
6bdf3053a7 Implement registries manager
Signed-off-by: cd1989 <chende@caicloud.io>
2019-02-27 11:54:04 +08:00
Wenkai Yin
95888b3dc2
Merge branch 'replication_ng' into 190130_transfer_repo 2019-02-27 11:00:42 +08:00
Yuan Lei
253600ad39 sync from upstream and merge the conflic
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-27 10:52:03 +08:00
Wenkai Yin
79d34c6f80 Create dao folder in replication
This commit creates a new folder called dao under replication to hold dao codes

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-26 14:54:16 +08:00
Nguyen Quang Huy
eda6c47b3e add signoff for DCO gate (#6981)
Some variable name, function name is colliding with builtin function.

Signed-off-by: Nguyen Quang Huy <huynq0911@gmail.com>
2019-02-22 15:00:18 +08:00
Wenkai Yin
8894a27d2d Implement the operation controller
This commit implements the operation controller. The operation controller wraps the flow controller and execution manager to provide capabilities for the upper level

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-22 10:12:14 +08:00
Wenkai Yin
e3a9264162 Refactor the Scheduler interface
This commit refactors the Scheduler interface and does the corresponding changes to the flow controller

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-21 15:34:57 +08:00
Yuan Lei
7108b5c58c update scheduler interface to follow the new standard
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-18 11:40:58 +08:00
Wenkai Yin
f0f2e77fb4 Implement the repository transfer
This commit implements the Transfer interface for resource repository

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-15 17:49:35 +08:00
Wenkai Yin
530ba1d27b Fix #6698
This commit fixes the issue #6698: cannot create a same name replication policy after deleting it

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-15 15:17:48 +08:00
Wenkai Yin
e12da7264a Implement the replication flow controller
1. Implement the replication flow controller
2. Implement the registry adapter management
3. Define the interface for PolicyManager, RegistryManager, ExecutionManager, TaskManager and Scheduler

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-14 11:34:12 +08:00
Yuan Lei
bd84f5f490 sperate the logics to two part: 1,tasks generating. 2,tasks submit
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-13 17:47:07 +08:00
Yuan Lei
956a4c4f05 scheduler module to schedule the transfer job of resouce
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-11 16:49:25 +08:00
Wenkai Yin
759cb5467b Refine the replication job
1. Refine the replication job
2. Define the Transfer interface
3. Define the common models

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-01-29 15:48:02 +08:00
Daniel Jiang
5d59d6fab8 Bump up golang to 1.11.2
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2019-01-11 14:44:32 +08:00
Steven Zou
ec2ad4d0b8
Merge pull request #6093 from cd1989/replication-record-id
Add op uuid to image replication
2018-11-30 14:54:43 +08:00
Wenkai Yin
88aa413fe6 Pass internal core URL as source in replication
Currently, we pass the external URL as the source registry and set insecure as true in replication, this causes security issue. This commit replaces the URL with the internal one and set insecure to false. Fixes #6109.

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2018-11-01 17:13:38 +08:00
Steven Zou
9bbc9233f1
Merge pull request #6147 from clouderati/fix-misspelling
Fix mispelling
2018-10-26 12:47:31 +08:00
clouderati
5c47e83bd6 Fix mispelling
* s/convertor/converter
* s/Convertor/Converter

Signed-off-by: clouderati <35942204+clouderati@users.noreply.github.com>
2018-10-25 21:29:46 +00:00
clouderati
b0d523841e Adding copyright header
Adding header to replication/models/policy.go file as it was previously
missing.

Signed-off-by: clouderati <35942204+clouderati@users.noreply.github.com>
2018-10-25 20:54:05 +00:00
陈德
1ffd9d8fba Add op uuid to image replication
Signed-off-by: 陈德 <chende@caicloud.io>
2018-10-21 23:55:57 +08:00
Daniel Jiang
b895a2d7cf Revoke the change in replicator
Revoke the change made to replicator to reset the insecure flag to true
when accessing source registry.  The reason is that the replicator will
use external URL to access source registry, setting it to false will
break replication when Harbor is hosting with self-signed certificate.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2018-10-11 18:29:38 +08:00