Subversion Repositories DevTools

Rev

Rev 1038 | Rev 1048 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1038 Rev 1042
Line 22... Line 22...
22
    Transfer a PackageList for future cleanup operations
22
    Transfer a PackageList for future cleanup operations
23
    Logging and debug facilities
23
    Logging and debug facilities
24
 
24
 
25
Overview of Blat
25
Overview of Blat
26
---------------
26
---------------
27
There are two main components in Blat
27
There are three main components in Blat
28
    Daemon supervisor
28
    Daemon supervisor
29
        Responsible for start and restarting configured daemons
29
        Responsible for start and restarting configured daemons
30
    Transfer Daemons
30
    Transfer Daemons
31
        Responsible for the package sync operations for one target
31
        Responsible for the package sync operations for one target
32
        Multiple Daemons ( targets ) are supported
32
        Multiple Daemons ( targets ) are supported
-
 
33
    On Target utilities
-
 
34
        A set of scripts that support Blat
-
 
35
        These are transferred to the target machine.
33
 
36
 
34
Each Blat Daemon performs three main operations
37
Each Blat Daemon performs three main operations
35
    1) Fast package transfer
38
    1) Fast package transfer
36
    2) Repository synchronization
39
    2) Repository synchronization
37
    3) PackageList creation
40
    3) PackageList creation
-
 
41
    4) Package aging (Optional)
-
 
42
 
-
 
43
Each Blat target can perform the following:
-
 
44
    1) Package aging
-
 
45
    2) dpkg_archive content indexing
38
 
46
 
39
Fast package transfer
47
Fast package transfer
40
===============================
48
===============================
41
This is mechanism whereby Blat will detect the need to transfer a newly built
49
This is mechanism whereby Blat will detect the need to transfer a newly built
42
package to the target system.
50
package to the target system.
Line 74... Line 82...
74
===============================
82
===============================
75
Blat will create and send to the target a list of package-version that are
83
Blat will create and send to the target a list of package-version that are
76
in the current set. This list may be used to clean out the package archive,
84
in the current set. This list may be used to clean out the package archive,
77
but this functionality has not yet been implemented.
85
but this functionality has not yet been implemented.
78
 
86
 
-
 
87
Package aging
-
 
88
=============
-
 
89
Blat can be configured to delete packages that are no longer a part of the
-
 
90
current package-version set. There are 4 methods:
-
 
91
 
-
 
92
1) None
-
 
93
   Packages will never be deleted by Blat on the target.
-
 
94
   The target file system will need to be managed to prevent it filling up.
-
 
95
 
-
 
96
2) Immediate
-
 
97
   Packages will be deleted as soon as they are not a part of the current
-
 
98
   package-version set.
-
 
99
 
-
 
100
3) Aged by blat master
-
 
101
   Packages will be marked for deletion and the blat master will delete
-
 
102
   the packages after a configured number of days.
-
 
103
 
-
 
104
4) Aged by blat target
-
 
105
   Packages will be marked for deletion and the blat target will delete
-
 
106
   the packages after a configured number of days. This operation requires
-
 
107
   that a cron job be configured on the target machine.
-
 
108
 
-
 
109
dpkg_archive content indexing
-
 
110
=============================
-
 
111
Blat provides a utility that can be run by the transfer target, as a cron job,
-
 
112
that will maintain a list of files and folders in the package archive.
-
 
113
 
-
 
114
This list greatly simplifies the process of locating a file in the archive.
-
 
115
The user simply greps the package list, rather than search the directory tree.
-
 
116
 
-
 
117
The file list is in a file .../dpkg_archive/.dpkg_archive/dpkg_archive_list.txt
-
 
118
   
79
 
119
 
80
Host System Requirements
120
Host System Requirements
81
========================
121
========================
82
1) Unix
122
1) Unix
83
   It has been designed for a Unix environment - not Windows
123
   It has been designed for a Unix environment - not Windows
Line 130... Line 170...
130
The config file should be in a 'config' directory under the location
170
The config file should be in a 'config' directory under the location
131
of the blat master program.
171
of the blat master program.
132
 
172
 
133
Installation :: Target System
173
Installation :: Target System
134
=============================
174
=============================
135
1) Create or aquire a user that has write access to the packaeg archive
175
1) Create or acquire a user that has write access to the package archive
136
 
176
 
137
2) Create or aquire a passwordless identity file and associated public key
177
2) Create or acquire a passwordless identity file and associated public key
138
   of the identity file. One set is available in the 'ssh' subdirectory.
178
   of the identity file. One set is available in the 'ssh' subdirectory.
139
 
179
 
140
   Append the public part of the idenity file (id_rsa_pkg_admin.pub) to
180
   Append the public part of the identity file (id_rsa_pkg_admin.pub) to
141
   ~/.ssh/authorized_keys
181
   ~/.ssh/authorized_keys
142
 
182
 
143
3) Create a link from the users home directory to dpkg_archive
183
3) Create a link from the users home directory to dpkg_archive
144
   The must be called dpkg_archive
184
   The must be called dpkg_archive
145
 
185
 
146
4) Transfer the blat receiver scripts to a directory accessable to the
186
4) Transfer the blat receiver scripts to a directory accessible to the
147
   transfer user. ie: ~/bin
187
   transfer user. ie: ~/bin
148
   The reqired receiver files are:
188
   The required receiver files are:
149
        get_plist.pl
189
        get_plist.pl
150
        receive_file
190
        receive_file
151
        receive_package
191
        receive_package
152
        delete_package
192
        delete_package
-
 
193
        pkg_mon.pl
-
 
194
        pkg_purge.pl
153
   Ensure the programs are execuatable by the transfer user.
195
   Ensure the programs are executable by the transfer user.
-
 
196
 
-
 
197
5) Set up cron jobs (optional)
-
 
198
   Will be used to maintain package information
-
 
199
   Suggest crontab entry - may vary for each installation
-
 
200
 
-
 
201
   0 3 * * * /home/pkg_admin/bin/pkg_mon.pl
-
 
202
   0 6 * * 1 /home/pkg_admin/bin/pkg_purge.pl
154
 
203
 
155
Installation :: Host System
204
Installation :: Host System
156
=============================
205
=============================
157
This section really deals with the configuration of a new target.
206
This section really deals with the configuration of a new target.
158
 
207
 
Line 176... Line 225...
176
    Will force the daemon to roll its own log files
225
    Will force the daemon to roll its own log files
177
 
226
 
178
Debug verbosity is controlled via the 'verbose' config item
227
Debug verbosity is controlled via the 'verbose' config item
179
 
228
 
180
The pkg.xxxx config items are very special.
229
The pkg.xxxx config items are very special.
181
If the named package-versio is a symlink, then both the
230
If the named package-version is a symlink, then both the
182
link and the liink the package addresses will be transferred.
231
link and the package addresses will be transferred.
183
The link MUST address another version of the same package.
232
The link MUST address another version of the same package.
184
This is intended to support the 'jats2_current' link.
233
This is intended to support the 'jats2_current' link.
185
When a new version of JATS is released, then the new package
234
When a new version of JATS is released, then the new package
186
will be transferred, as will the new link.
235
will be transferred, as will the new link.
187
 
236
 
Line 199... Line 248...
199
    g - Gigabytes
248
    g - Gigabytes
200
 
249
 
201
 
250
 
202
ToDo
251
ToDo
203
======================
252
======================
204
 
-
 
205
1) Purging packages on target
-
 
206
   Can set deletePackages to delete excess packages when the release sync
-
 
207
   is performed.
-
 
208
 
-
 
209
2) Better handling of soft-links for core_devl
253
1) Better handling of soft-links for core_devl
210
   Works, but its prone to error
254
   Works, but its prone to error
211
   There is no test to ensure the link exists. If the link
255
   There is no test to ensure the link exists. If the link
212
   is deleted, then it won't be recreated.
256
   is deleted, then it won't be recreated.