Project

General

Profile

InterServerSync » History » Version 2

Chris Duryee, 10/27/2015 11:36 AM

1 1 Chris Duryee
h1. InterServerSync
2
3 2 Chris Duryee
h3. What is ISS?
4
5
Inter-Server Sync is a feature designed to help users in two scenarios:
6
7
 * users who have a connected Foreman/Katello instance and disconnected Foreman/Katello, who want to propogate data from the connected side of their network to the disconnected side.
8
 * users who have a "main" Foreman/Katello and want to propogate some data (but not all data) to other instances. One example is for users who have "blessed" content views that are validated by the IT department, and want to propogate those down elsewhere.
9
10 1 Chris Duryee
h3. Goals
11
12
Roughly, phase 1 is the "get it working" phase where we have a demoable end-to-end scenario that works via hammer and web UI. After that, we will collect feedback and move on to phase 2. Phase 3 will be for support of additional content types and new types of foreman/katello data.
13
14
15
h4. Phase 1 "get it working" goals
16
17
 * allow exporting and importing of products and Library content views
18
 * export/import can occur via hammer and web UI, but some filesystem-level access is needed for accessing yum repo exports (scp, http, etc)
19
 * only yum is supported
20
 * incremental dumps are supported
21
22
Note: phase 1 replaces katello-disconnected script, and solves problem that Spacewalk solves with Inter-Spacewalk Sync
23
24
h4. Phase 2 "optimization" goals
25
26
 * API clean up to allow for bulk export/import with only a few server calls
27
 * allow export and import without filesystem access to machine (hammer or web ui can provide download of export and upload of import)
28
29
h4. Phase 3+ "rinse and repeat" goals
30
31
 * allow exporting and importing of other data (environments, non-library content views, etc)
32
 * support for ostree, docker, puppet content
33
34
35
h3. Phase 1 Design
36
37
There are two areas that need to be updated for phase 1. We need to allow for exporting and importing of yum repo data (including incremental updates), and we need to allow for exporting and importing of product and library CV data. The former is largely provided by Pulp, and the latter is provided by hammer-cli-csv.
38
39
We will need to add the Pulp export distributor on newly created yum repos. Additionally, existing repos will need to have the export distributor added in via migration.
40
41
h4. Hammer design