-
Notifications
You must be signed in to change notification settings - Fork 7
/
NEWS
390 lines (238 loc) · 12.5 KB
/
NEWS
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v5.6:
* Bugfixes:
- The Watcher thread no longer fails in the case of random database
exceptions, such as "database is locked." It now simply retries, ensuring
the cluster remains well-maintained (cleanup of dead machines works
properly).
- The Web-UI now sorts the list of Pools alphabetically (PR #161).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v5.5:
* Bugfixes:
- Previous versions of the Resalloc Web-UI loaded the `pools.yaml`
configuration file. In cases of configuration issues, they attempted to
log problematic details into a log file owned by `resalloc-server`
(`var/log/resallocserver`). Such attempts resulted in file permission
problems. The Web-UI logic has been modified to no longer read
`pools.yaml` and to rely solely on the database. In the future, we have
to implement a completely separate configuration for the Web-UI and cease
loading `server.yaml`, which should not be readable by Apache either, for
instance.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v5.4:
* Bugfixes:
- The agent-spawner workers now ignore the output from shell command hooks
(redirects them to /dev/null to avoid SIGPIPE)
- The agent-spawner server now correctly base64-encodes the ticket data.
- The agent-spawner package now requires up2date python3-copr-common for
fixed get_redis_connection() method.
- The resalloc's tags/tags_on_demand configuration was cleaned up to
allow user to keep them unspecified, e.g,, and several useful warnings
related to tag misconfiguration were added.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v5.3:
* Changes:
- The helper scripts have been moved from resalloc-server to the
resalloc-helpers (sub)package. Cloud drivers that rely on those
scripts might be usable without the resalloc-server package and its
transitive dependencies.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v5.2:
* New Features
- Added a new convenience script, /bin/resalloc-wait-for-ssh. This script
is useful for cloud drivers that want to actively wait until the VMs
(resources) become available on SSH.
- The /bin/resalloc-check-vm-ip now optionally accepts the $SSH_USER
environment variable if checking root-SSH isn't possible. Users can use
`cmd_livecheck: SSH_USER=centos resalloc-check-vm-ip`.
* Bug Fixes
- Compatibility fix with SQLAlchemy v2.
- The $AGENT_SPAWNER_RESOURCE_DATA variable content is now base64 encoded.
- The resalloc-agent-spawner package now correctly specifies all the
required runtime dependencies.
- The `survive_server_restart` client option now ignores all possible
server socket errors, avoiding unexpected client interrupts.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v5.1:
* New Features:
- A new concept of "agent-like" resources has been implemented. A new
`resalloc-agent-spawner` daemon (shipped in resalloc-agent-spawner
package) converges the number of agents (tickets opened against the
resalloc server) according to the current state of the external system
(e.g., according to the wishes of the OpenScanHub, software based on the
Kobo framework). This feature is now provided in "beta" quality.
- The `resalloc ticket-check` now raises a WARNING for non-existing ticket
IDs. The API has been appropriately fixed so that even clients with the
`.survive_server_restart` option won't indefinitely hang on a non-existing
ticket ID.
* Bugfixes:
- Web browsing the pools has been fixed to prevent users from encountering
500 errors. For more information, see
https://github.com/fedora-copr/copr/issues/2882
- The `resalloc-selinux` package has dropped the RPM dependency on
`resalloc-webui`.
- A bug in the "on-demand" resources concept has been fixed so that even a
single ticket can no longer trigger the allocation of multiple resources.
- A traceback bug-fix has been added to the "cleanup resource orphans"
logic, addressing cases when no resource has yet started in the configured
pool. A user-friendly warning is now raised instead.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v5.0:
* New features
- A new concept of "on-demand" ticket tags has been introduced. These
on-demand tags, when assigned to tickets, trigger an "on-demand"
resource allocation in the corresponding pools, rather than
pre-allocating them in advance.
- The README file has been significantly rewritten by Jakub Kadlčík in
markdown format.
- The number of "livecheck" attempts before a resource is deleted is
now configurable through the "livecheck_attempts" option.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.9:
* New features
- Resources that fail the livecheck are terminated, even though they
have some ticket assigned. Such a ticket goes to FAILED state.
- We use the SPDX-formatted license.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.8:
* New features:
- Eetter logging support: Exceptions are logged to 'main.log', the
default log_level=info is made useful, more readable messages, log
entries contain PID, TID and thread name.
- Stopped using 'sqlalchemy.pool.NullPool' for connecting to database,
and use the default. That is NullPool anyway for SQLite backend, and
QueuePool(pool_size=5) for the PostgreSQL backend:
https://docs.sqlalchemy.org/en/14/core/pooling.html#sqlalchemy.pool.NullPool
- A new PostgreSQL index to speedup `resalloc-maint ticket-list` command.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.7:
* Bugfixes:
- the new mechanism for cleaning orphaned resources was cleaning also
resources in STARTING/DELETING/RELEASING states.
- fix traceback in `$ resalloc-maint resource-info` for a non-existing
resource
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.6:
* New features:
- A new resalloc-selinux subpackage, currently adjusting only SELinux context
for the CGI script used by WebUI
- Adding a simple homepage for the WebUI
* Bugfixes:
- The CGI script for WebUI is now compatible with both Apache and Lighttpd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.5:
* Bugfixes:
- added a forgotten CGI script for the web UI subpackage
- now we are running the "orphaned resources" cleaner in background, this
blocked the manager logic before
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.4:
* New features:
- Server now periodically checks for unknown or forgotten resources. This is
useful when your termination scripts are not reliable, and report successful
termination even if the resource somehow survives. Enable this feature by
configuring 'cmd_list' option for the respective pools.
- Major performance and other improvements to the web-ui pools page
- New web-ui page providing basic information about resources
* Bugfixes:
- Connection to resalloc occasionally ended up with uncaught xmlrpc exception
- Fixed race-condition causing infinitely RELEASING resource
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.3:
* New features:
- new Flask-based Python "overview" web-ui page added, providing basic
info about used Pools
- Fixed up 'resource-info' command for "STARTING" resources
- More verbose RELEASING logging output to simplify debugging when needed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.2:
* New features:
- New 'resalloc-maint resource-logs' command printing out logs for
queried resources. Accepts both resource ID and resource name.
- New 'resalloc-maint resource-info' command, priting out basic metadata
about the selected resource.
- Added new arguments '--all' and '--unused' for the 'resalloc-maint
resource-delete' command.
* Bugfixes:
- RESALLOC_RESOURCE_DATA env var is given also to the 'cmd_delete' processes.
- Dump (debug) log entry giving user the with reason why concrete ticket
can not be resolved.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4.1:
* Bugfixes:
- Released resources were de-prioritized by the tag-priority feature
introduced in v4. This was fixed, and released resources have again
higher priority over the non-released resources (with additional
score 500).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in v4:
* New features:
- The resource (pool) tags can be specified with an integer priority value, and
resalloc then assigns the preallocated resources to tickets respecting the
priority (the resources with higher priority are assigned first).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.7:
* Bugfixes:
- Added new helper script 'resalloc-check-vm-ip', that is often useful
inside `cmd_livecheck` command.
- Re-taken (released) resources are not causing additional allocation
of resources over the max_prealloc quota.
- The `resalloc-maint foreach-resource` command doesn't traceback on
starting resources that don't have any data stored, yet.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.6:
* Bugfixes:
- A build failure fix for v3.5 on RHEL 7.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.5:
* New features:
- Many new DB indexes were installed to perform fluently on very
large ticket/resource sets.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.4:
* New features:
- The 'resalloc-maint' command got a new sub-command 'foreach-resource'
that can be used for programatic way of executing commands for each
running resource.
* Bugfixes:
- We fixed a bug in calculation of "preallocated" resources; previously
released resources were counted as free-to-use by anyone - thus also
pre-allocated. But these are not useable by anyone, and shouldn't be
taken as preallocated.
- We re-added the "host" config option, which is just for backward
compatibility. Users still should use 'hostname' preferably.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.3:
* Bugfixes:
- Large stdout output from `cmd_new` command is properly trimmed, without
traceback and leftover always-STARTING instance.
- Better (fixed) logging from AllocWorker.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.2:
* Enhancements:
- Configurable command `cmd_release` to be run before we mark the
resource as reusable again.
- After server restart, schedule all inconsistent resources to be
terminated. (mitigates issue#41)
- Systemd serrver service is restarted upon failure (just in case).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.1:
* Enhancements:
- Resource Watcher thread doesn't directly terminate resources, but only
checks periodically for liveness. The termination task is given to
Manager thread to avoid races.
- The Watcher thread has a new environment variable
RESALLOC_RESOURCE_DATA with base64 encoded output from 'cmd_new'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 3.0:
* New features:
- Resource "re-using" mechanism was added. Resources are newly put to
sandboxes (per ticket sandbox flag), and when the resource is released
from ticket the resource can be assigned to other (subsequent) ticket
with the same sandbox flag.
- Python API; The resalloc.client.Connection constructor now accepts
'request_survives_server_restart'. When set to True (default False),
each XML request network failure is ignored and the request is retried
till it succeeds. This allows administrator to do resalloc server
maintenance, restart it and clients survive without noticing.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~