-
Notifications
You must be signed in to change notification settings - Fork 0
/
daily-archive-transfers.yaml
157 lines (146 loc) · 5.07 KB
/
daily-archive-transfers.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# This file defines automated storage transfers from pusher-* to archive-*
# and, for production, from archive-mlab-oti to archive-measurement-lab
# The overall schedule is (all times UTC):
# pusher -> archive: 02:30, 14:30
# oti -> measurement-lab: 06:30, 18:30
#
# NOTE: four hour delays are based on typical transfer times for recent GCS ST
# jobs (2020-07-15).
options:
env:
- PROJECT_ID=$PROJECT_ID
steps:
# Create the gcp-config image for later steps.
- name: gcr.io/cloud-builders/docker
args: [
'build', '-t', 'gcp-config-cbif', '.'
]
# 02:00:00 Nodes upload to the pusher-* bucket. 2hrs is the maximum upload delay.
# 02:10:00 Last upload from utilization/switch archives.
# 02:30:00 Configure daily pusher to local archive transfer.
- name: gcp-config-cbif
env:
- PROJECT_IN=mlab-sandbox,mlab-staging,mlab-oti
args: [
'stctl', '-gcs.source=pusher-$PROJECT_ID',
'-gcs.target=archive-$PROJECT_ID',
'-time=02:30:00',
'-maxFileAge=36h',
'-include=host',
'-include=ndt',
'-include=neubot',
'-include=revtr',
'-include=utilization',
'-include=wehe',
'-include=msak',
'-deleteAfterTransfer=true',
'sync'
]
# Nodes upload to the pusher-* bucket every 2 hours.
# Configure hourly pusher to local archive transfer.
- name: gcp-config-cbif
env:
- PROJECT_IN=mlab-sandbox,mlab-staging,mlab-oti
args: [
'stctl', '-gcs.source=pusher-$PROJECT_ID',
'-gcs.target=archive-$PROJECT_ID',
'-time=00:00:00',
'-interval=3600s',
'-include=autoload',
'-deleteAfterTransfer=true',
'sync'
]
# Configure hourly transfer from thirdparty-revtr to public archive.
- name: gcp-config-cbif
env:
- PROJECT_IN=measurement-lab
args: [
'stctl', '-gcs.source=thirdparty-revtr-mlab-oti',
'-gcs.target=archive-measurement-lab',
'-include=revtr',
'-include=autoload',
'-time=02:30:00',
'-interval=3600s',
'-maxFileAge=27h',
'sync'
]
# 06:30:00 Configure daily local archive to public archive transfer.
# NOTE: this transfer is 4 hours after the previous transfer based on recent
# GCS ST jobs (2020-07-15).
- name: gcp-config-cbif
env:
- PROJECT_IN=measurement-lab
args: [
'stctl', '-gcs.source=archive-mlab-oti',
'-gcs.target=archive-measurement-lab',
'-time=06:30:00',
'-maxFileAge=27h',
'-deleteAfterTransfer=true',
'sync'
]
# Repeat transfers every 12 hours, so that the final transfer
# has less data to move, and can complete more quickly.
# 14:30:00 Configure daily pusher to local archive transfer.
# For this one, maxFileAge is set to 7 days, to catch stragglers.
# This likely means the calculating phase will take much longer, but this
# transfer is 12 hours offset from the last transfer of the day
# preceeding the daily parsing kickoff.
- name: gcp-config-cbif
env:
- PROJECT_IN=mlab-sandbox,mlab-staging,mlab-oti
args: [
'stctl', '-gcs.source=pusher-$PROJECT_ID',
'-gcs.target=archive-$PROJECT_ID',
'-time=14:30:00',
'-maxFileAge=168h', # 7 days
'-include=host',
'-include=ndt',
'-include=neubot',
'-include=revtr',
'-include=utilization',
'-include=wehe',
'-include=msak',
'-deleteAfterTransfer=true',
'sync'
]
# 18:30:00 Configure daily local archive to public archive transfer.
# For this one, maxFileAge is set to 8 days, to catch stragglers.
# This likely means the calculating phase will take much longer.
- name: gcp-config-cbif
env:
- PROJECT_IN=measurement-lab
args: [
'stctl', '-gcs.source=archive-mlab-oti',
'-gcs.target=archive-measurement-lab',
'-time=18:30:00',
'-deleteAfterTransfer=true',
'-maxFileAge=192h', # 8 days
'sync'
]
# Hourly local archive to public archive transfer for autoloaded data.
- name: gcp-config-cbif
env:
- PROJECT_IN=measurement-lab
args: [
'stctl', '-gcs.source=archive-mlab-oti',
'-gcs.target=archive-measurement-lab',
'-time=00:00:00',
'-interval=3600s',
'-include=autoload',
'-deleteAfterTransfer=true',
'sync'
]
# TODO(soltesz): once ST schedules above stabilize, bring backup transfer
# schedule in sync. Until then, complete daily backups will be delayed by a day.
# 04:30:00 Gardener or other jobs that depend on the public archive being up to date may run.
# 04:30:00 Configure daily public archive to backup transfer.
# NOTE: mlab-backups intentionally restricts access. This configuration is documentation.
#- name: gcp-config-cbif
# env:
# - PROJECT_IN=mlab-backups
# args: [
# 'stctl', '-gcs.source=archive-measurement-lab',
# '-gcs.target=mlab-cold-storage-backup',
# '-time=04:30:00',
# 'sync'
# ]