forked from apache/mesos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
4398 lines (3970 loc) · 263 KB
/
CHANGELOG
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
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Release Notes - Mesos - Version 1.2.0 (WIP)
-------------------------------------------
Additional API Changes:
* [MESOS-6675] - Changed the allocator API to support adding inactive
frameworks. Custom allocator implementations will need to be updated.
* [MESOS-6419] - When a framework re-registers after master failover,
it is only allowed to change certain fields in its FrameworkInfo.
For example, changing "failover_timeout" is allowed, but changing
"role" is not. In previous Mesos releases, the same restrictions on
changes to FrameworkInfo were only enforced after framework
failover, not master failover.
Release Notes - Mesos - Version 1.1.1 (WIP)
-------------------------------------------
* This is a bug fix release.
All Issues:
** Bug
* [MESOS-6002] - The whiteout file cannot be removed correctly using aufs backend.
* [MESOS-6142] - Frameworks may RESERVE for an arbitrary role.
* [MESOS-6360] - The handling of whiteout files in provisioner is not correct.
* [MESOS-6411] - Add documentation for CNI port-mapper plugin.
* [MESOS-6526] - `mesos-containerizer launch --environment` exposes executor env vars in `ps`.
* [MESOS-6571] - Add "--task" flag to mesos-execute.
* [MESOS-6621] - SSL downgrade path will CHECK-fail when using both temporary and persistent sockets.
* [MESOS-6676] - Always re-link with scheduler during re-registration.
Release Notes - Mesos - Version 1.1.0
-------------------------------------
This release contains the following new features:
* [MESOS-2449] - **Experimental** support for launching a group of tasks
via a new `LAUNCH_GROUP` Offer operation. Mesos will guarantee that either
all tasks or none of the tasks in the group are delivered to the executor.
Executors receive the task group via a new `LAUNCH_GROUP` event.
* [MESOS-2533] - **Experimental** support for HTTP and HTTPS health checks.
Executors may now use the updated `HealthCheck` protobuf to implement
HTTP(S) health checks. Both default executors (command and docker) leverage
`curl` binary for sending HTTP(S) requests and connect to `127.0.0.1`,
hence a task must listen on all interfaces. On Linux, for BRIDGE and USER
modes, docker executor enters the task's network namespace.
* [MESOS-3421] - **Experimental** Support sharing of resources across
containers. Currently persistent volumes are the only resources allowed to
be shared.
* [MESOS-3567] - **Experimental** support for TCP health checks. Executors
may now use the updated `HealthCheck` protobuf to implement TCP health
checks. Both default executors (command and docker) connect to `127.0.0.1`,
hence a task must listen on all interfaces. On Linux, for BRIDGE and USER
modes, docker executor enters the task's network namespace.
* [MESOS-4324] - Allow tasks to access persistent volumes in either a
read-only or read-write manner. Using a volume in read-only mode can
simplify sharing that volume between multiple tasks on the same agent.
* [MESOS-5275] - **Experimental** support for linux capabilities. Frameworks
or operators now have fine-grained control over the capabilities that a
container may have. This allows a container to run as root, but not have all
the privileges associated with the root user (e.g., CAP_SYS_ADMIN).
* [MESOS-5344] - **Experimental** support for partition-aware Mesos
frameworks. In previous Mesos releases, when an agent is partitioned from
the master and then reregisters with the cluster, all tasks running on the
agent are terminated and the agent is shutdown. In Mesos 1.1, partitioned
agents will no longer be shutdown when they reregister with the master. By
default, tasks running on such agents will still be killed (for backward
compatibility); however, frameworks can opt-in to the new PARTITION_AWARE
capability. If they do this, their tasks will not be killed when a partition
is healed. This allows frameworks to define their own policies for how to
handle partitioned tasks. Enabling the PARTITION_AWARE capability also
introduces a new set of task states: TASK_UNREACHABLE, TASK_DROPPED,
TASK_GONE, TASK_GONE_BY_OPERATOR, and TASK_UNKNOWN. These new states are
intended to eventually replace the TASK_LOST state.
* [MESOS-5788] - **Experimental** support for Java scheduler adapter. This
adapter allows framework developers to toggle between the old/new API
(driver/scheduler library) implementations, thereby allowing them to easily
transition their frameworks to the new v1 Scheduler API.
* [MESOS-6014] - **Experimental** A new port-mapper CNI plugin, the
`mesos-cni-port-mapper` has been introduced. For Mesos containers, with the
CNI port-mapper plugin, users can now expose container ports through host
ports using DNAT. This is especially useful when Mesos containers are
attached to isolated CNI networks such as private bridge networks, and the
services running in the container needs to be exposed outside these
isolated networks.
* [MESOS-6077] - **Experimental** A new default executor is introduced which
frameworks can use to launch task groups as nested containers. All the
nested containers share resources likes cpu, memory, network and volumes.
Deprecations:
* The following metrics are deprecated and will be removed in Mesos 1.4:
master/slave_shutdowns_scheduled,
master/slave_shutdowns_canceled,
slave_shutdowns_completed.
As of Mesos 1.1.0, these metrics will always be zero. The following new
metrics have been introduced as replacements:
master/slave_unreachable_scheduled,
master/slave_unreachable_canceled,
master/slave_unreachable_completed.
* [MESOS-5955] - Health check binary "mesos-health-check" is removed.
* [MESOS-6371] - Remove the 'recover()' interface in 'ContainerLogger'.
Additional API Changes:
* [MESOS-6204] - A new agent flag called `--runtime_dir`. Unlike
`--work_dir` which persists data across reboots, `--runtime_dir` is designed
to checkpoint state that should persist across agent restarts, but not
across reboots. By default this flag is set to `/var/run/mesos` when run as
root and `os::temp/mesos/runtime/` when run as non-root.
* [MESOS-6220] - HTTP handler failures should result in 500 rather than
503 responses. This means that when using the master or agent endpoints,
failures will now result in a `500 Internal Server Error` rather than a
`503 Service Unavailable`.
* [MESOS-6241] - New API calls (LAUNCH_NESTED_CONTAINER,
KILL_NESTED_CONTAINER and WAIT_NESTED_CONTAINER) have been added to the
v1 Agent API to manage nested containers within an executor container.
Unresolved Critical Issues:
* [MESOS-3794] - Master should not store arbitrarily sized data in ExecutorInfo.
* [MESOS-4642] - Mesos Agent Json API can dump binary data from log files out as invalid JSON.
* [MESOS-5396] - After failover, master does not remove agents with same UPID.
* [MESOS-5856] - Logrotate ContainerLogger module does not rotate logs when run as root with `--switch_user`.
* [MESOS-6142] - Frameworks may RESERVE for an arbitrary role.
* [MESOS-6327] - Large docker images causes container launch failures: Too many levels of symbolic links.
* [MESOS-6360] - The handling of whiteout files in provisioner is not correct.
* [MESOS-6419] - The 'master/teardown' endpoint should support tearing down 'unregistered_frameworks'.
* [MESOS-6432] - Roles with quota assigned can "game" the system to receive excessive resources.
All Experimental Features:
* [MESOS-2449] - Support group of tasks (Pod) constructs and API in Mesos.
* [MESOS-2533] - Support HTTP checks in Mesos.
* [MESOS-3094] - Mesos on Windows.
* [MESOS-3421] - Support sharing of resources across task instances.
* [MESOS-3567] - Support TCP checks in Mesos.
* [MESOS-4312] - Porting Mesos on Power (ppc64le).
* [MESOS-4355] - Implement isolator for Docker volume.
* [MESOS-4641] - Support Container Network Interface (CNI).
* [MESOS-4791] - Operator API v1.
* [MESOS-4828] - XFS disk quota isolator.
* [MESOS-5275] - Add capabilities support for unified containerizer.
* [MESOS-5344] - Partition-aware Mesos frameworks.
* [MESOS-5788] - Added JAVA API adapter for seamless transition to new scheduler API.
* [MESOS-6014] - Added port mapping CNI plugin.
* [MESOS-6077] - Added a default (task group) executor.
All Issues:
** Bug
* [MESOS-1653] - HealthCheckTest.GracePeriod is flaky.
* [MESOS-2346] - Docker tasks exiting normally, but returning TASK_FAILED.
* [MESOS-3471] - Disable perf test when perf version is not support.
* [MESOS-3760] - Remove fragile sleep() from ProcessManager::settle().
* [MESOS-3959] - Executor page of mesos ui does not show slave hostname.
* [MESOS-4070] - numify() handles negative numbers inconsistently.
* [MESOS-4638] - versioning preprocessor macros.
* [MESOS-4668] - Agent's /state endpoint does not include full reservation information.
* [MESOS-4948] - Move maintenance tests to use the new scheduler library interface.
* [MESOS-4973] - Duplicates in 'unregistered_frameworks' in /state
* [MESOS-4975] - mesos::internal::master::Slave::tasks can grow unboundedly.
* [MESOS-5276] - HTTPCommandExecutor should terminate after it receives an ACK from the agent.
* [MESOS-5290] - WebUI shows the active task is launched 46 years ago.
* [MESOS-5320] - SSL related error messages can be misguiding or incomplete.
* [MESOS-5448] - Persistent volume deletion on the agent should survive slave restart.
* [MESOS-5481] - PerfFilter disable Registrar_BENCHMARK test cases incorrectly.
* [MESOS-5613] - mesos-local fails to start if MESOS_WORK_DIR isn't set.
* [MESOS-5701] - Add benchmark for sorter performance.
* [MESOS-5752] - ROOT_GarbageCollectorUndeletableFilesTest.BusyMountPoint is flaky.
* [MESOS-5759] - ProcessRemoteLinkTest.RemoteUseStaleLink and RemoteStaleLinkRelink are flaky.
* [MESOS-5812] - MasterAPITest.Subscribe is flaky.
* [MESOS-5846] - AgentAPITest.GetState is flaky.
* [MESOS-5852] - CMake build needs to generate protobufs before building libmesos.
* [MESOS-5860] - MasterAPITest.GetTasks is flaky.
* [MESOS-5864] - Document MESOS_SANDBOX executor env variable.
* [MESOS-5867] - Operator ReadFile API read file bugs.
* [MESOS-5869] - Disable resources validation for `+=` and `-=`.
* [MESOS-5875] - Scalar resource output operator doesn't print full significant digits.
* [MESOS-5878] - Strict/RegistrarTest.UpdateQuota/0 is flaky.
* [MESOS-5888] - SlaveAuthorizerTest/ViewFlags is flaky.
* [MESOS-5891] - /help endpoint does not set Content-Type to HTML.
* [MESOS-5907] - ExamplesTest.DiskFullFramework fails on Arch.
* [MESOS-5909] - Stout "OsTest.User" test can fail on some systems.
* [MESOS-5917] - All actors should have a distinguishable ID.
* [MESOS-5919] - Improve performance for `Resources.contains` and `Resources.filter`.
* [MESOS-5921] - `validate` is a bit heavy to check negative scalar resource.
* [MESOS-5922] - mesos-agent --help exit status is 1.
* [MESOS-5928] - Agent's '--version' flag doesn't work.
* [MESOS-5930] - Orphan tasks can show up as running after they have finished.
* [MESOS-5942] - Windows implementation of `os::rmdir` is not compliant with POSIX version.
* [MESOS-5958] - Reviewbot failing due to python files not being cleaned up after distclean.
* [MESOS-5972] - SharedResourcesTest failing.
* [MESOS-5979] - elfio-3.1.patch is actually not applied.
* [MESOS-5981] - task failed in windows Server 2012 client, test-framwork example.
* [MESOS-5985] - Fix broken link in `networking.md`.
* [MESOS-5996] - Windows mesos-containerizer crashes.
* [MESOS-6000] - Overlayfs backend cannot support the image with numerous layers.
* [MESOS-6005] - Support docker registry running non-https on localhost:<non-80-port>.
* [MESOS-6013] - Use readdir instead of readdir_r.
* [MESOS-6026] - Tasks mistakenly marked as FAILED due to race b/w sendExecutorTerminatedStatusUpdate() and _statusUpdate().
* [MESOS-6031] - Collect throttle related metrics for DockerContainerizer.
* [MESOS-6041] - Stream ID mismatch should print out expected and received stream ID.
* [MESOS-6049] - XFS disk isolator doesn't handle old containers correctly.
* [MESOS-6052] - Unable to launch containers on CNI networks on CoreOS.
* [MESOS-6057] - docker isolator does not overwrite Dockerfile ENV.
* [MESOS-6059] - Allow clean up unknown container during the clean up phase of the container.
* [MESOS-6069] - Misspelled TASK_KILLED in mesos slave.
* [MESOS-6074] - Master check failure if the metrics endpoint is polled soon after it starts.
* [MESOS-6085] - Agent's /state endpoint does not include total resources.
* [MESOS-6087] - Add master tests for TaskGroup.
* [MESOS-6100] - Make fails compiling 1.0.1.
* [MESOS-6104] - Potential FD double close in libevent's implementation of `sendfile`.
* [MESOS-6110] - Deprecate using health checks without setting the type.
* [MESOS-6118] - Agent would crash with docker container tasks due to host mount table read.
* [MESOS-6122] - Mesos slave throws systemd errors even when passed a flag to disable systemd.
* [MESOS-6131] - Improved performance for resource flatten.
* [MESOS-6141] - Some tests do not properly set 'flags.launcher' with the correct value.
* [MESOS-6144] - Validate that TaskGroup executor and tasks do not use DOCKER ContainerInfo.
* [MESOS-6145] - Isolator namespaces/pid is leaking mounts.
* [MESOS-6152] - Resource leak in libevent_ssl_socket.cpp.
* [MESOS-6153] - Resource leak in slave.cpp.
* [MESOS-6154] - Clean up queued tasks if a task group is killed before launch.
* [MESOS-6157] - ContainerInfo is not validated.
* [MESOS-6159] - Remove stout's Set type.
* [MESOS-6167] - CgroupsIsolatorTest.ROOT_CGROUPS_RevocableCpu is flaky.
* [MESOS-6170] - Health check grace period covers failures happening after first success.
* [MESOS-6173] - Authentication in v2 protobuf should not be `required`.
* [MESOS-6176] - CpuIsolatorTest.ROOT_SystemCpuUsage is flaky.
* [MESOS-6181] - The logic for BadACLNoPrincipal and BadACLDropCreateAndDestroy is not correct.
* [MESOS-6207] - Python bindings fail to build with custom SVN installation path.
* [MESOS-6208] - Containers that use the Mesos containerizer but don't want to provision a container image fail to validate.
* [MESOS-6210] - Master redirect with suffix gets in redirect loop.
* [MESOS-6216] - LibeventSSLSocketImpl::create is not safe to call concurrently with os::getenv.
* [MESOS-6217] - PAGE_SIZE was not declared in PPC64LE.
* [MESOS-6226] - Master crashes while transitioning tasks to 'TASK_UNREACHABLE'.
* [MESOS-6233] - Master CHECK fails during recovery while relinking to other masters.
* [MESOS-6234] - Potential socket leak during Zookeeper network changes.
* [MESOS-6245] - Driver based schedulers performing explicit acknowledgements cannot acknowledge updates from HTTP based executors.
* [MESOS-6246] - Libprocess links will not generate an ExitedEvent if the socket creation fails.
* [MESOS-6248] - mesos-slave cannot start , Assertion `isError()' failed.
* [MESOS-6257] - Resources not recovered after rescinding an offer on DESTROY on shared volumes.
* [MESOS-6259] - CNI isolator should not `CHECK` for `resolv.conf` under `rootContainerDir`.
* [MESOS-6260] - Composing containerizer needs to properly handle nested container launch.
* [MESOS-6262] - Default executor should kill all other tasks in a task group if any task exits with a non-zero exit status.
* [MESOS-6263] - Mesos containerizer should figure out the correct sandbox directory for nested launch.
* [MESOS-6269] - CNI isolator doesn't activate loopback interface.
* [MESOS-6270] - Agent crashes when trying to recover pods.
* [MESOS-6274] - Agent should not allow HTTP executors to re-subscribe before containerizer recovery is done.
* [MESOS-6283] - Fix the Web UI allowing access to the task sandbox for nested containers.
* [MESOS-6289] - Pass the 'user' into nested container launch.
* [MESOS-6290] - Support nested containers for logger in Mesos Containerizer.
* [MESOS-6295] - Excessive logging on agent when oversubscription modules are attached.
* [MESOS-6300] - A destroyed nested container is not reflected in the parent container's children map.
* [MESOS-6301] - Recursive destroy in MesosContainerizer is problematic.
* [MESOS-6302] - Agent recovery can fail after nested containers are launched.
* [MESOS-6308] - CHECK failure in DRF sorter.
* [MESOS-6317] - Race in master/allocator when updating oversubscribed resources of an agent.
* [MESOS-6319] - ContentType/AgentAPITest.NestedContainerLaunch/1 is flaky.
* [MESOS-6321] - CHECK failure in HierarchicalAllocatorTest.NoDoubleAccounting.
* [MESOS-6322] - Agent fails to kill empty parent container.
* [MESOS-6323] - 'mesos-containerizer launch' should inherit agent environment variables.
* [MESOS-6324] - CNI should not use `ifconfig` in executors `pre_exec_command`.
* [MESOS-6363] - Default executor should not crash with a failed assertion if it notices a disconnection from the agent for non checkpointed frameworks.
* [MESOS-6370] - The executor library does not invoke the shutdown callback upon recovery timeout.
* [MESOS-6386] - "Reached unreachable statement" in LinuxCapabilitiesIsolatorTest.
* [MESOS-6391] - Command task's sandbox should not be owned by root if it uses container image.
* [MESOS-6393] - Deprecated SSL_ environment variables are non functional already.
* [MESOS-6420] - Mesos Agent leaking sockets when port mapping network isolator is ON.
* [MESOS-6445] - Reconciliation for unreachable agent after master failover is incorrect.
* [MESOS-6446] - WebUI redirect doesn't work with stats from /metric/snapshot.
* [MESOS-6457] - Tasks shouldn't transition from TASK_KILLING to TASK_RUNNING.
* [MESOS-6461] - Duplicate framework ids in /master/frameworks endpoint 'unregistered_frameworks'.
* [MESOS-6482] - Master check failure when marking an agent unreachable.
* [MESOS-6483] - Check failure when a 1.1 master marking a 0.28 agent as unreachable.
* [MESOS-6497] - Java Scheduler Adapter does not surface MasterInfo.
* [MESOS-6502] - _version uses incorrect MESOS_{MAJOR,MINOR,PATCH}_VERSION in libmesos java binding.
* [MESOS-6527] - Memory leak in the libprocess request decoder.
** Documentation
* [MESOS-5221] - Add Documentation for Nvidia GPU support.
* [MESOS-5808] - Elasticsearch misspelled on homepage.
* [MESOS-6028] - mesos-execute has a typo in volume help.
* [MESOS-6103] - Mesos version is not uptodate in getting-started page.
* [MESOS-6343] - Documentation Error: Default Executor does not implicitly construct resources.
** Epic
* [MESOS-2449] - Support group of tasks (Pod) constructs and API in Mesos.
* [MESOS-3421] - Support sharing of resources across task instances.
* [MESOS-4312] - Porting Mesos on Power (ppc64le).
* [MESOS-4791] - Operator API v1.
* [MESOS-5344] - Partition-aware Mesos frameworks.
* [MESOS-6014] - Added port mapping CNI plugin.
** Improvement
* [MESOS-2533] - Support HTTP checks in Mesos.
* [MESOS-3567] - Support TCP checks in Mesos.
* [MESOS-4049] - Allow user to control behavior of partitioned agents/tasks.
* [MESOS-4155] - Speed up ExamplesTest.*.
* [MESOS-4172] - GarbageCollectorIntegrationTest.Restart is slow.
* [MESOS-4324] - Allow access to shared persistent volumes as read only or read write by tasks.
* [MESOS-4325] - Offer shareable resources to frameworks only if it is opted in.
* [MESOS-4431] - Support sharing of persistent volumes via shared resources.
* [MESOS-4663] - Speed up ExamplesTest.PersistentVolumeFramework.
* [MESOS-4694] - DRFAllocator takes very long to allocate resources with a large number of frameworks.
* [MESOS-4892] - Support arithmetic operations for shared resources with consumer counts.
* [MESOS-5038] - Added a any mechanism for futures.
* [MESOS-5070] - Introduce more flexible subprocess interface for child options.
* [MESOS-5425] - Consider using IntervalSet for Port range resource math.
* [MESOS-5464] - The max number of completed executors for a mesos slave should be configurable.
* [MESOS-5565] - Add logging when Offer::Operation::Launch message has no tasks.
* [MESOS-5716] - Document docker private registry with authentication support in Unified Containerizer.
* [MESOS-5732] - MasterAPITest.UnreserveResources is slow.
* [MESOS-5756] - Cmake build system needs to regenerate protobufs when they are updated.
* [MESOS-5790] - Ensure all examples in Scheduler HTTP API docs are valid JSON.
* [MESOS-5822] - Add a build script for the Windows CI.
* [MESOS-5870] - Fix the large preview logo in Slack.
* [MESOS-5901] - Make the command executor unversioned.
* [MESOS-5936] - Operator SUBSCRIBE api should provdide more task metadata than just state changes.
* [MESOS-5944] - Remove `O_SYNC` from StatusUpdateManager logs.
* [MESOS-5949] - Allow frameworks to learn the time when an agent became unreachable.
* [MESOS-5951] - Remove "strict registry" code.
* [MESOS-5954] - Docker executor does not use HealthChecker library.
* [MESOS-5955] - The "mesos-health-check" binary is not used anymore.
* [MESOS-5961] - HTTP and TCP health checks should support docker executor and bridged mode.
* [MESOS-5965] - Implement garbage collection for unreachable agent lists in registry.
* [MESOS-5978] - Improve run time for arithmetic operators for Resources.
* [MESOS-5983] - Number of libprocess worker threads is not configurable for log-rotation module.
* [MESOS-6006] - Abstract mesos-style.py to allow future linters to be added more easily.
* [MESOS-6008] - Add the infrastructure for a new python-based CLI.
* [MESOS-6025] - Validate health check protobuf in the master.
* [MESOS-6037] - Offer::Operation.type should be optional.
* [MESOS-6039] - Update elfio to version 3.2.
* [MESOS-6050] - Add an agent flag for 'runtime_dir'.
* [MESOS-6051] - Add functions to the 'Launcher' abstraction to aid in checkpointing the exit status of containers.
* [MESOS-6060] - Add MOUNT or PATH disk type in logging resources.
* [MESOS-6063] - Track recovered and prepared subsystems for a container.
* [MESOS-6065] - Support provisioning image volumes in an isolator.
* [MESOS-6075] - Avoid libprocess functions in `mesos-containerizer launch`.
* [MESOS-6080] - Expose metrics in scheduler library.
* [MESOS-6088] - Update launch helper to checkpoint exit status of launched process.
* [MESOS-6090] - Change master to always update registry before in-memory state.
* [MESOS-6096] - Update mesos-execute to support launching task groups.
* [MESOS-6098] - Frameworks UI shows metrics for used resources plus offers.
* [MESOS-6140] - Add a parallel test runner.
* [MESOS-6218] - Avoided to concat cgroup internally in subsystems.
* [MESOS-6220] - HTTP handler failures should result in 500 response rather than 503 response.
* [MESOS-6242] - Expose unknown container case on Containerizer::wait.
* [MESOS-6243] - Expose failures and unknown container cases from Containerizer::destroy.
* [MESOS-6282] - CNI isolator should print plugin's stderr.
* [MESOS-6299] - Master doesn't remove task from pending when it is invalid.
* [MESOS-6310] - Remove or define non-POSIX function.
* [MESOS-6371] - Remove the 'recover()' interface in 'ContainerLogger'.
** Task
* [MESOS-3370] - Deprecate the external containerizer.
* [MESOS-4390] - Shared Volumes Design Doc.
* [MESOS-5039] - Add Subsystem abstraction for cgroups unified isolator.
* [MESOS-5040] - Add cgroups_subsystems flag for cgroups unified isolator.
* [MESOS-5041] - Add cgroups unified isolator.
* [MESOS-5042] - Add cpu subsystem support in cgroups unified isolator.
* [MESOS-5043] - Add cpuacct subsystem support in cgroups unified isolator.
* [MESOS-5045] - Add memory subsystem support in cgroups unified isolator.
* [MESOS-5046] - Add net_cls subsystem support in cgroups unified isolator.
* [MESOS-5047] - Add perf_event subsystem support in cgroups unified isolator.
* [MESOS-5051] - Create helpers for manipulating Linux capabilities.
* [MESOS-5144] - Cleanup memory leaks in libprocess finalize().
* [MESOS-5228] - Add tests for Capability API.
* [MESOS-5232] - Add capability information to ContainerInfo protobuf message.
* [MESOS-5275] - Add capabilities support for unified containerizer.
* [MESOS-5488] - Implement READ_FILE Call in v1 master API.
* [MESOS-5515] - Implement READ_FILE Call in v1 agent API.
* [MESOS-5516] - Implement GET_STATE Call in v1 agent API.
* [MESOS-5651] - Add devices subsystem support in cgroups unified isolator.
* [MESOS-5652] - Enable cgroups unified isolator.
* [MESOS-5788] - Added JAVA API adapter for seamless transition to new scheduler API.
* [MESOS-5809] - Implement GET_FRAMEWORKS Call in v1 agent API.
* [MESOS-5810] - Implement GET_EXECUTORS Call in v1 agent API.
* [MESOS-5811] - Implement GET_TASKS Call in v1 agent API.
* [MESOS-5855] - Create a 'Disk (not) full' example framework.
* [MESOS-5970] - Remove HTTP_PARSER_VERSION_MAJOR < 2 code in decoder.
* [MESOS-5973] - Remove CgroupsCpushareIsolator.
* [MESOS-5974] - Remove CgroupsMemIsolator.
* [MESOS-5975] - Remove CgroupsPerfEventIsolator.
* [MESOS-5976] - Remove CgroupsNetClsIsolator.
* [MESOS-5977] - Remove CgroupsDevicesIsolator.
* [MESOS-5987] - Update health check protobuf for HTTP and TCP health check.
* [MESOS-6017] - Introduce `PortMapping` protobuf.
* [MESOS-6020] - Remove `slavePid` from the Containerizer::launch API.
* [MESOS-6021] - Consolidate two `Containerizer::launch` methods into one.
* [MESOS-6023] - Create a binary for the port-mapper plugin.
* [MESOS-6036] - Define the Framework API protobufs required for TaskGroups.
* [MESOS-6042] - Validate TaskGroup launch in the master.
* [MESOS-6043] - Add interface for launching nested containers in Containerizer.
* [MESOS-6045] - Implement LAUNCH_GROUP operation in master.
* [MESOS-6067] - Support provisioner to be nested aware for Mesos Pods.
* [MESOS-6068] - Refactor MesosContainerizer::launch to prepare for nesting support.
* [MESOS-6070] - Renamed containerizer::Termination to ContainerTermination.
* [MESOS-6071] - Validate that an explicitly specified DEFAULT executor has disk resources.
* [MESOS-6073] - Update the streaming function for ContainerID to be nesting aware.
* [MESOS-6076] - Implement RunTaskGroup handler on the agent.
* [MESOS-6077] - Added a default (task group) executor.
* [MESOS-6102] - Add event for agent added in master operator API.
* [MESOS-6130] - Make the disk usage isolator nesting-aware.
* [MESOS-6150] - Introduce the new isolator recover interface for nested container support.
* [MESOS-6151] - Populate `CommandInfo` correctly for default executors.
* [MESOS-6156] - Make the `network/cni` isolator nesting aware.
* [MESOS-6160] - Add protobuf definition for a Volume::Source that specifies a path from parent contianer's sandbox.
* [MESOS-6186] - Make the generic `cgroups` isolator nesting aware.
* [MESOS-6188] - Make the `gpu/nvidia` isolator nesting aware.
* [MESOS-6189] - Add a virtual method to Isolator to indicate if it supports nesting.
* [MESOS-6190] - Make the docker/runtime isolator nesting aware.
* [MESOS-6191] - Make the filesystem/linux isolator nesting aware.
* [MESOS-6192] - Make the appc/runtime isolator nesting aware.
* [MESOS-6194] - Make the disk/du isolator nesting aware.
* [MESOS-6199] - Make the volume/image isolator nesting aware.
* [MESOS-6204] - Introduce a "runtime" directory owned by the containerizer for checkpointing container information.
* [MESOS-6227] - Update the default executor to launch/wait/destroy child containers.
* [MESOS-6230] - Add support for health checks to the default executor.
* [MESOS-6235] - Add 'argv' variant of 'os::system'.
* [MESOS-6241] - Add agent::Call / agent::Response API for managing nested containers.
* [MESOS-6258] - Add `volume/sandbox_path` isolator to support Volume::Source::SANDBOX_PATH.
* [MESOS-6265] - Adjust cgroups layout for nested containers.
* [MESOS-6272] - Allow WebUI/other tools to access the task sandbox for a nested container.
* [MESOS-6284] - MesosContainerizer should skip non-nesting aware isolators for nested container.
* [MESOS-6287] - MesosContainer should allow 'wait' on terminated nested container.
* [MESOS-6312] - Update CHANGELOG to mention addition of agent '--runtime_dir' flag.
* [MESOS-6344] - Allow `network/cni` isolator to take a search path for CNI plugins instead of single directory.
* [MESOS-6408] - Changelog for `mesos-cni-port-mapper` to 1.1.0.
** Wish
* [MESOS-5929] - Total cluster resources on master Mesos UI should have better spacing.
Release Notes - Mesos - Version 1.0.3
-------------------------------------
* This is a bug fix release.
All Issues:
** Bug
* [MESOS-6142] - Frameworks may RESERVE for an arbitrary role.
Release Notes - Mesos - Version 1.0.2
-------------------------------------
* This is a bug fix release.
All Issues:
** Bug
* [MESOS-4638] - Versioning preprocessor macros.
* [MESOS-4973] - Duplicates in 'unregistered_frameworks' in /state
* [MESOS-4975] - mesos::internal::master::Slave::tasks can grow unboundedly.
* [MESOS-5613] - mesos-local fails to start if MESOS_WORK_DIR isn't set.
* [MESOS-6013] - Use readdir instead of readdir_r.
* [MESOS-6026] - Tasks mistakenly marked as FAILED due to race b/w sendExecutorTerminatedStatusUpdate() and _statusUpdate().
* [MESOS-6074] - Master check failure if the metrics endpoint is polled soon after it starts.
* [MESOS-6100] - Make fails compiling 1.0.1.
* [MESOS-6104] - Potential FD double close in libevent's implementation of `sendfile`.
* [MESOS-6118] - Agent would crash with docker container tasks due to host mount table read.
* [MESOS-6122] - Mesos slave throws systemd errors even when passed a flag to disable systemd.
* [MESOS-6152] - Resource leak in libevent_ssl_socket.cpp.
* [MESOS-6212] - Validate the name format of mesos managed docker containers.
* [MESOS-6216] - LibeventSSLSocketImpl::create is not safe to call concurrently with os::getenv.
* [MESOS-6233] - Master CHECK fails during recovery while relinking to other masters.
* [MESOS-6234] - Potential socket leak during Zookeeper network changes.
* [MESOS-6245] - Driver based schedulers performing explicit acknowledgements cannot acknowledge updates from HTTP based executors.
* [MESOS-6246] - Libprocess links will not generate an ExitedEvent if the socket creation fails.
* [MESOS-6269] - CNI isolator doesn't activate loopback interface.
* [MESOS-6274] - Agent should not allow HTTP executors to re-subscribe before containerizer recovery is done.
* [MESOS-6324] - CNI should not use `ifconfig` in executors `pre_exec_command`.
* [MESOS-6391] - Command task's sandbox should not be owned by root if it uses container image.
* [MESOS-6393] - Deprecated SSL_ environment variables are non functional already.
* [MESOS-6420] - Mesos Agent leaking sockets when port mapping network isolator is ON.
* [MESOS-6446] - WebUI redirect doesn't work with stats from /metric/snapshot.
* [MESOS-6457] - Tasks shouldn't transition from TASK_KILLING to TASK_RUNNING.
* [MESOS-6461] - Duplicate framework ids in /master/frameworks endpoint 'unregistered_frameworks'.
* [MESOS-6502] - _version uses incorrect MESOS_{MAJOR,MINOR,PATCH}_VERSION in libmesos java binding.
* [MESOS-6527] - Memory leak in the libprocess request decoder.
** Improvement
* [MESOS-6075] - Avoid libprocess functions in `mesos-containerizer launch`.
* [MESOS-6299] - Master doesn't remove task from pending when it is invalid.
Release Notes - Mesos - Version 1.0.1
-------------------------------------
* This is a bug fix release.
All Issues:
** Bug
* [MESOS-5388] - MesosContainerizerLaunch flags execute arbitrary commands via shell.
* [MESOS-5862] - External links to .md files broken.
* [MESOS-5911] - Webui redirection to leader in browser does not work.
* [MESOS-5913] - Stale socket FD usage when using libevent + SSL.
* [MESOS-5922] - mesos-agent --help exit status is 1.
* [MESOS-5923] - Ubuntu 14.04 LTS GPU Isolator "/run" directory is noexec.
* [MESOS-5927] - Unable to run "scratch" Dockerfiles with Unified Containerizer.
* [MESOS-5928] - Agent's '--version' flag doesn't work.
* [MESOS-5930] - Orphan tasks can show up as running after they have finished.
* [MESOS-5943] - Incremental http parsing of URLs leads to decoder error.
* [MESOS-5945] - NvidiaVolume::create() should check for root before creating volume.
* [MESOS-5959] - All non-root tests fail on GPU machine.
* [MESOS-5969] - Linux 'MountInfoTable' entries not sorted as expected.
* [MESOS-5982] - NvidiaVolume errors out if any binary is missing.
* [MESOS-5986] - SSL Socket CHECK can fail after socket receives EOF.
* [MESOS-5988] - PollSocketImpl can write to a stale fd.
** Improvement
* [MESOS-5830] - Make a sweep to trim excess space around angle brackets.
** Task
* [MESOS-5970] - Remove HTTP_PARSER_VERSION_MAJOR < 2 code in decoder.
Release Notes - Mesos - Version 1.0.0
-------------------------------------
This release contains the following new features:
* Scheduler and Executor v1 HTTP APIs are now considered stable.
* [MESOS-4791] - **Experimental** support for v1 Master and Agent APIs. These
APIs let operators and services (monitoring, load balancers) send HTTP
requests to '/api/v1' endpoint on master or agent. See
`docs/operator-http-api.md` for details.
* [MESOS-4828] - **Experimental** support for a new `disk/xfs' isolator
has been added to isolate disk resources more efficiently. Please refer to
docs/mesos-containerizer.md for more details.
* [MESOS-4355] - **Experimental** support for Docker volume plugin. We added a
new isolator 'docker/volume' which allows users to use external volumes in
Mesos containerizer. Currently, the isolator interacts with the Docker
volume plugins using a tool called 'dvdcli'. By speaking the Docker volume
plugin API, most of the Docker volume plugins are supported.
* [MESOS-4641] - **Experimental** A new network isolator, the
`network/cni` isolator, has been introduced in the `MesosContainerizer`. The
`network/cni` isolator implements the Container Network Interface (CNI)
specification proposed by CoreOS. With CNI the `network/cni` isolator is
able to allocate a network namespace to Mesos containers and attach the
container to different types of IP networks by invoking network drivers
called CNI plugins.
* [MESOS-2948, MESOS-5403] - The authorizer interface has been refactored in
order to decouple the ACLs definition language from the interface.
It additionally includes the option of retrieving `ObjectApprover`. An
`ObjectApprover` can be used to synchronously check authorizations for a
given object and is hence useful when authorizing a large number of objects
and/or large objects (which need to be copied using request based
authorization). NOTE: This is a **breaking change** for authorizer modules.
* [MESOS-5405] - The `subject` and `object` fields in authorization::Request
have been changed from required to optional. If either of these fields is
not set, the request should only be authorized if any subject/object should
be allowed.
NOTE: This is a semantic change for authorizer modules.
* [MESOS-4931, MESOS-5709, MESOS-5704] - Authorization based HTTP endpoint
filtering enables operators to restrict what part of the cluster state a
user is authorized to see.
Consider for example the `/state` master endpoint: an operator can now
authorize users to only see a subset of the running frameworks, tasks, or
executors. The following endpoints support HTTP endpoint filtering:
'/state', '/state-summary', '/tasks', '/frameworks','/weights',
and '/roles'. Additonally the following v1 API calls support filtering:
'GET_ROLES','GET_WEIGHTS','GET_FRAMEWORKS', 'GET_STATE', and 'GET_TASKS'.
* [MESOS-4909] - Tasks can now specify a kill policy. They are best-effort,
because machine failures or forcible terminations may occur. Currently, the
only available kill policy is how long to wait between graceful and forcible
task kill. In the future, more policies may be available (e.g. hitting an
HTTP endpoint, running a command, etc). Note that it is the executor's
responsibility to enforce kill policies. For executor-less command-based
tasks, the kill is performed via sending a signal to the task process:
SIGTERM for the graceful kill and SIGKILL for the forcible kill. For docker
executor-less tasks the grace period is passed to 'docker stop --time'. This
feature supersedes the '--docker_stop_timeout', which is now deprecated.
* [MESOS-4908] - The task kill policy defined within 'TaskInfo' can now be
overridden when the scheduler kills the task. This can be used by schedulers
to forcefully kill a task which is already being killed, e.g. if something
went wrong during a graceful kill and a forcible kill is desired. Note that
it is the executor's responsibility to honor the 'Event.kill.kill_policy'
field and override the task's kill policy and kill policy from a previous
kill task request. To use this feature, schedulers and executors must
support HTTP API; use the '--http_command_executor' agent flag to ensure
the agent launches the HTTP API based command executor.
* [MESOS-4949] - The executor shutdown grace period can now be configured in
`ExecutorInfo`, which overrides the agent flag. When shutting down an
executor the agent will wait in a best-effort manner for the grace period
specified here before forcibly destroying the container. The executor must
not assume that it will always be allotted the full grace period, as the
agent may decide to allot a shorter period and failures / forcible
terminations may occur. Together with kill policies this gives frameworks
flexibility around how to clean up tasks and executors.
* [MESOS-3094] - **Experimental** support for launching mesos tasks on
Windows. Note that there are no isolation guarantees provided yet.
* [MESOS-4090] - The `mesos.native` python module has been split into two,
`mesos.executor` and `mesos.scheduler`. This change also removes
un-necessary 3rd party dependencies from `mesos.executor` and
`mesos.scheduler`. `mesos.native` still exists, combining both modules for
backwards compatibility with existing code.
* [MESOS-1478] - Phase I of the Slave to Agent rename is complete. To support
the rename, new duplicate flags (e.g., --agent_reregister_timeout), new
binaries (e.g., mesos-agent) and WebUI sandbox links have been added. All
the logging output has been updated to use the term 'agent' now. Flags,
binaries and scripts with 'slave' keyword have been deprecated (see
"Deprecations section below").
* [MESOS-4312] - **Experimental** support for building and running mesos on
IBM PowerPC platform.
* [MESOS-4189] - Weights for resource roles can now be configured dynamically
via the new '/weights' endpoint on the master.
* [MESOS-4424] - Support for using Nvidia GPUs as a resource in the
Mesos "unified" containerizer. This support includes running containers
with and without filesystem isolation (i.e. running both imageless
containers as well as containers using a docker image). Frameworks must
opt-in to receiving GPU resources via the GPU_RESOURCES framework
capability (see the scarce resource problem in MESOS-5377). We support
'nvidia-docker'-style docker containers by injecting a volume that
contains the Nvidia libraries / binaries when the docker image has
the 'com.nvidia.volumes.needed' label. Support for the docker
containerizer will come in a future release.
* [MESOS-5724] - SSL certificate validation allows for additional IP address
subject alternative name extension verification.
Deprecations:
* [MESOS-2281] - Deprecated the plain text format for credentials in favor of
the JSON format.
* [MESOS-4910] - Deprecate the --docker_stop_timeout agent flag.
* [MESOS-5001] - The 'allocator/event_queue_dispatches' metric is now
deprecated in favor 'of allocator/mesos/event_queue_dispatches'.
* [MESOS-5029] - Deprecated the ExecutorInfo.source field in favor of
ExecutorInfo.labels.
* [MESOS-3781] - Deprecated flags with keyword 'slave' in favor of 'agent'.
* [MESOS-3779] - Deprecated sandbox links with 'slave' keyword in the WebUI.
* [MESOS-3784] - Deprecated `slave` subcommand for mesos-cli.
* [MESOS-5155] - Deprecated `SetQuota` and `RemoveQuota` ACLs. This change is
applicable to the local authorizer as well as any custom authorizer module.
* [MESOS-5666] - Deprecated camel cased `taskInfo` and `executorInfo` in
isolator `ContainerConfig`.
* [MESOS-5863] - Deprecated `SSL_*` environment variables used by libprocess
SSL support in favor of using `LIBPROCESS_SSL_*`.
Additional API Changes:
* [MESOS-4580] - Returning `202` (Accepted) for /reserve and related endpoints.
* [MESOS-4735] - Added 'output_file' field to CommandInfo.URI in Scheduler API
and v1 Scheduler HTTP API.
* [MESOS-5014] - Changed Call and Event Type enums in scheduler.proto
from required to optional for the purpose of backwards compatibility.
* [MESOS-5015] - Changed Call and Event Type enums in executor.proto
from required to optional for the purpose of backwards compatibility.
* [MESOS-5029] - Added 'labels' to ExecutorInfo.
* [MESOS-5030] - Added non-terminal task metadata to the container resource
usage information.
* [MESOS-5408] - Deleted the /observe HTTP endpoint.
* [MESOS-4843, MESOS-5150, MESOS-5286, MESOS-5335, MESOS-5336] - Authorization
has been added to the '/metrics/snapshot', '/logging/toggle', '/quota',
'/files/browse', '/files/download', '/files/read', '/flags', and
'/containers' endpoints. If a Mesos cluster has authorization enabled, these
endpoints now require that ACLs be set to authorize principals to access
them. Note that the '/metrics/snapshot' and '/files/*' endpoints are used by
the web UI, and thus using the web UI in a cluster with authorization
enabled will require that ACLs be set appropriately.
* [MESOS-5064] - Remove default value for the agent `work_dir`. This flag is
now required, and the agent will exit immediately if it is not provided.
* [MESOS-5637] - Authorized endpoints consistently return `503` (Service
Unavailable) instead of `500` (Internal Server Error) when the authenticator
or the authorizer fails to process the request.
* [MESOS-5657] - Executors should not inherit environment variables from the
agent.
* [MESOS-5680] - We should not 'chown -R' on persistent volumes every time
container tries to use it.
* [MESOS-5642] - Namespace and header file of `Allocator` has been moved to
be consistent with other packages.
* [MESOS-5851] - The flag `--authenticate_http` has been deprecated in favor
of `--authenticate_http_readwrite`. This new flag enables authentication for
all HTTP endpoints which support authentication and allow modification of
the state of the cluster. A new flag has also been added,
`--authenticate_http_readonly`, which enables authentication for those
authenticatable endpoints that cannot be used to modify the cluster state.
* [MESOS-5833] - Disable the experimental `registry_strict` master flag.
3rd Party Upgrades:
* [MESOS-4805] - Upgraded vendored ry-http-parser-1c3624a to nodejs/http-parser 2.6.1.
* [MESOS-4678] - Upgraded vendored protobuf 2.5.0 to 2.6.1.
* [MESOS-4803] - Upgraded vendored libev 4.15 to 4.22.
* [MESOS-4612] - Upgraded vendored ZooKeeper 3.4.5 to 3.4.8.
Binary API Changes:
* [MESOS-5055] - Slave/Agent Rename Phase I - Update strings in the log message
and standard output.
* [MESOS-3782] - Slave/Agent Rename Phase I - Duplicate/Rename binaries.
* [MESOS-5057] - Slave/Agent Rename Phase I - Update strings in error messages and
other strings.
* [MESOS-5230] - Slave/Agent Rename Phase I: Rename '/include/mesos/slave' folder
All Issues:
** Bug
* [MESOS-1495] - Create separate local data file to manage releases
* [MESOS-1575] - master sets failover timeout to 0 when framework requests a high value
* [MESOS-1865] - Redirect to the leader master when current master is not a leader
* [MESOS-2043] - Framework auth fail with timeout error and never get authenticated
* [MESOS-2198] - Document that TaskIDs should not be reused
* [MESOS-2201] - ReplicaTest.Restore fails with leveldb greater than v1.7.
* [MESOS-2331] - MasterSlaveReconciliationTest.ReconcileRace is flaky
* [MESOS-2858] - FetcherCacheHttpTest.HttpMixed is flaky.
* [MESOS-3181] - Implement package rebundling for Windows
* [MESOS-3319] - Mesos will not build when configured with gperftools enabled
* [MESOS-3402] - mesos-execute does not support credentials
* [MESOS-3573] - Mesos does not kill orphaned docker containers
* [MESOS-3714] - `os::environ` collides with the `environ` macro in Windows headers.
* [MESOS-3737] - `limiter.hpp` causes template specialization error on Windows 10/MSVC 1900
* [MESOS-3739] - Mesos does not set Content-Type for 400 Bad Request
* [MESOS-3881] - Implement `stout/os/pstree.hpp` on Windows
* [MESOS-3902] - The Location header when non-leading master redirects to leading master is incomplete.
* [MESOS-3923] - Implement AuthN handling in Master for the Scheduler endpoint
* [MESOS-3976] - C++ HTTP Scheduler Library does not work with SSL enabled
* [MESOS-4099] - parallel make tests does not build all test targets
* [MESOS-4269] - Minor typo in src/linux/cgroups.cpp
* [MESOS-4279] - Docker executor truncates task's output when the task is killed.
* [MESOS-4387] - Added a new test cases for reviveOffers in allocator test
* [MESOS-4434] - Install 3rdparty package boost, glog, protobuf and picojson when installing Mesos
* [MESOS-4447] - Renamed reserved() API to reservations()
* [MESOS-4462] - Port `gmtime_r`
* [MESOS-4463] - Implement `hsterror`
* [MESOS-4464] - Implement cpu count facilities on Windows
* [MESOS-4465] - Implement pagesize facilities in Windows
* [MESOS-4466] - Implement `waitpid` in Windows
* [MESOS-4469] - Implement memory querying in Windows
* [MESOS-4470] - Implement `uname` in Windows
* [MESOS-4471] - Implement process querying/counting in Windows
* [MESOS-4472] - Implement `getenv` in Windows
* [MESOS-4473] - Implement `shell` in Windows
* [MESOS-4474] - Implement `sendfile` in Windows
* [MESOS-4580] - Consider returning `202` (Accepted) for /reserve and related endpoints
* [MESOS-4611] - Passing a lambda to dispatch() always matches the template returning void
* [MESOS-4633] - Tests will dereference stack allocated agent objects upon assertion/expectation failure.
* [MESOS-4634] - Tests will dereference stack allocated master objects upon assertion/expectation failure.
* [MESOS-4658] - process::Connection can lead to process::wait deadlock
* [MESOS-4662] - PortMapping network isolator should not assume BIND_MOUNT_ROOT is a realpath.
* [MESOS-4672] - Implement aufs based provisioner backend.
* [MESOS-4673] - Agent fails to shutdown after re-registering period timed-out.
* [MESOS-4680] - HTTP requests to non leading mesos-master redirect to top level page
* [MESOS-4684] - Create base docker image for test suite.
* [MESOS-4705] - Linux 'perf' parsing logic may fail when OS distribution has perf backports.
* [MESOS-4744] - mesos-execute should allow setting role
* [MESOS-4807] - IOTest.BufferedRead writes to the current directory
* [MESOS-4810] - ProvisionerDockerPullerTest.ROOT_INTERNET_CURL_ShellCommand fails.
* [MESOS-4827] - Destroy Docker container crashes Mesos slave
* [MESOS-4875] - overlayfs does not work when launching tasks
* [MESOS-4876] - bind backend does not work when launching tasks
* [MESOS-4885] - Unzip should force overwrite
* [MESOS-4901] - Build fails on some systems due to unportable use of time.h
* [MESOS-4911] - Executor driver does not respect executor shutdown grace period.
* [MESOS-4912] - LinuxFilesystemIsolatorTest.ROOT_MultipleContainers fails.
* [MESOS-4922] - Setup proper /etc/hostname, /etc/hosts and /etc/resolv.conf for containers in network/cni isolator.
* [MESOS-4924] - MAC OS build failed
* [MESOS-4942] - Docker runtime isolator tests may cause disk issue.
* [MESOS-4950] - Implement reconnect funtionality in the scheduler library.
* [MESOS-4952] - Annoying image provisioner logging for when images are not used.
* [MESOS-4954] - URI fetcher error message if plugin is not found is mis-leading.
* [MESOS-4957] - Typo in Mesos portal
* [MESOS-4961] - ContainerLoggerTest.LOGROTATE_RotateInSandbox is flaky
* [MESOS-4963] - Incorrect CXXFLAGS with GCC 6
* [MESOS-4972] - Implement `os::rename`
* [MESOS-4978] - Update mesos-execute with Appc changes.
* [MESOS-4981] - Framework (re-)register metric counters broken for calls made via scheduler driver
* [MESOS-4984] - MasterTest.SlavesEndpointTwoSlaves is flaky
* [MESOS-5000] - MasterTest.MasterLost is flaky
* [MESOS-5005] - Enforce that DiskInfo principal is equal to framework/operator principal
* [MESOS-5010] - Installation of mesos python package is incomplete
* [MESOS-5012] - Protobuf change for external storage.
* [MESOS-5013] - Add docker volume driver isolator for Mesos containerizer.
* [MESOS-5018] - FrameworkInfo Capability enum does not support upgrades.
* [MESOS-5031] - Authorization Action enum does not support upgrades.
* [MESOS-5060] - Requesting /files/read.json with a negative length value causes subsequent /files requests to 404.
* [MESOS-5063] - SSLTest.HTTPSPost and SSLTest.HTTPSGet tests fail
* [MESOS-5064] - Remove default value for the agent `work_dir`
* [MESOS-5082] - Fix a bug in the Nvidia GPU device isolator that exposes a discrepancy between clang and gcc in 'using' declarations
* [MESOS-5113] - `network/cni` isolator crashes when launched without the --network_cni_plugins_dir flag
* [MESOS-5114] - Flags::parse does not handle empty string correctly.
* [MESOS-5115] - Grant access to /dev/nvidiactl and /dev/nvidia-uvm in the Nvidia GPU isolator.
* [MESOS-5121] - pivot_root is not available on PowerPC
* [MESOS-5125] - Commit message hook iterates over words, rather than lines.
* [MESOS-5126] - Commit message hook iterates over the commented lines.
* [MESOS-5127] - Reset `LIBPROCESS_IP` in `network\cni` isolator.
* [MESOS-5128] - PersistentVolumeTest.AccessPersistentVolume is flaky
* [MESOS-5131] - Slave allows the resource estimator to send non-revocable resources.
* [MESOS-5132] - Commit message hook lints the diff in verbose mode.
* [MESOS-5138] - Fix Nvidia GPU test build for namespace change of MasterDetector
* [MESOS-5142] - Add agent flags for HTTP authorization.
* [MESOS-5146] - MasterAllocatorTest/1.RebalancedForUpdatedWeights is flaky.
* [MESOS-5153] - Sandboxes contents should be protected from unauthorized users
* [MESOS-5162] - Commit message hook behaves incorrectly when a message includes a "*".
* [MESOS-5166] - ExamplesTest.DynamicReservationFramework is slow
* [MESOS-5181] - Master should reject calls from the scheduler driver if the scheduler is not connected.
* [MESOS-5184] - Mesos does not validate role info when framework registered with specified role
* [MESOS-5196] - Sandbox GC shouldn't return early in the face of an error.
* [MESOS-5199] - The mesos-execute prints confusing message when launching tasks.
* [MESOS-5216] - Document docker volume driver isolator.
* [MESOS-5224] - buffer overflow error in slave upon processing malformed UUIDs
* [MESOS-5225] - Command executor can not start when joining a CNI network
* [MESOS-5226] - The image-less task launched by mesos-execute can not join CNI network
* [MESOS-5230] - Slave/Agent Rename Phase I: Rename '/include/mesos/slave' folder
* [MESOS-5233] - python packages installation is broken
* [MESOS-5237] - The windows version of `os::access` has differing behavior than the POSIX version.
* [MESOS-5239] - Persistent volume DockerContainerizer support assumes proper mount propagation setup on the host.
* [MESOS-5240] - Command executor may escalate after the task is reaped.
* [MESOS-5244] - Compilation failure on Ubuntu 16.04
* [MESOS-5253] - Isolator cleanup should not be invoked if they are not prepared yet.
* [MESOS-5263] - pivot_root is not available on ARM
* [MESOS-5265] - Update mesos-execute to support docker volume isolator.
* [MESOS-5266] - add test cases for docker volume driver
* [MESOS-5277] - Need to add REMOVE semantics to the copy backend
* [MESOS-5279] - DRF sorter add/activate doesn't check if it's adding a duplicate entry
* [MESOS-5282] - Destroy container while provisioning volume images may lead to a race.
* [MESOS-5287] - boto is no longer a Mesos dependency.
* [MESOS-5293] - Endpoint handlers for master and agent are implemented surprisingly differently.
* [MESOS-5294] - Status updates after a health check are incomplete or invalid
* [MESOS-5295] - The task launched by non-checkpointed HTTP command executor will keep running till executor shutdown grace period (5s) after agent process exits.
* [MESOS-5304] - /metrics/snapshot endpoint help disappeared on agent.
* [MESOS-5308] - ROOT_XFS_QuotaTest.NoCheckpointRecovery failed.
* [MESOS-5312] - Env `MESOS_SANDBOX` is not set properly for command tasks that changes rootfs.
* [MESOS-5318] - Make `os::close` always catch structured exceptions on Windows
* [MESOS-5326] - Error symbolic link of include/slave
* [MESOS-5330] - Agent should backoff before connecting to the master
* [MESOS-5340] - libevent builds may prevent new connections
* [MESOS-5341] - Enabled docker volume support for DockerContainerizer
* [MESOS-5351] - DockerVolumeIsolatorTest.ROOT_INTERNET_CURL_CommandTaskRootfsWithVolumes is flaky
* [MESOS-5354] - Update "driver" as optional for DockerVolume.
* [MESOS-5359] - The scheduler library should have a delay before initiating a connection with master.
* [MESOS-5380] - Killing a queued task can cause the corresponding command executor to never terminate.
* [MESOS-5381] - Network portmapping isolator disable IPv6 failed
* [MESOS-5382] - Implement os::fsync
* [MESOS-5383] - Implement os::setHostname
* [MESOS-5386] - Add `HANDLE` overloads for functions that take a file descriptor
* [MESOS-5389] - docker containerizer should prefix relative volume.container_path values with the path to the sandbox.
* [MESOS-5390] - v1 Executor Protos not included in maven jar
* [MESOS-5397] - Slave/Agent Rename Phase 1: Update terms in the website
* [MESOS-5403] - Introduce ObjectApprover Interface to Authorizer.
* [MESOS-5405] - Make fields in authorization::Request protobuf optional.
* [MESOS-5407] - Slave/Agent rename: diagrams in docs
* [MESOS-5408] - Delete the /observe HTTP endpoint
* [MESOS-5413] - `network/cni` isolator should skip the bind mounting of the CNI network information root directory if possible
* [MESOS-5414] - configure failed on ubuntu and centos
* [MESOS-5415] - bootstrap of libprocess fails.
* [MESOS-5416] - make check of stout fails.
* [MESOS-5422] - Website README.md is out of dated
* [MESOS-5423] - Updating the website section in release-guide is out of dated
* [MESOS-5428] - Update the mechanism to define flags in FlagsBase derived clases
* [MESOS-5429] - Enhance error message for mesos-ps
* [MESOS-5432] - Javadoc in project website didn't include the generated protobuf
* [MESOS-5434] - Incomplete bootstrap 3.3.6 upgrade in webui
* [MESOS-5436] - GPU resource broke framework data table in webUI
* [MESOS-5437] - AppC appc_simple_discovery_uri_prefix is lost in configuration.md
* [MESOS-5438] - Add more verbose log for mesos-cat, mesos-tail or mesos-scp
* [MESOS-5445] - Allow libprocess/stout to build without first doing `make` in 3rdparty.
* [MESOS-5449] - Memory leak in SchedulerProcess.declineOffer
* [MESOS-5450] - Make the SASL dependency optional.
* [MESOS-5451] - Show Framework ID in log for long-lived-framework
* [MESOS-5453] - CNI should not store subnet of address in NetworkInfo
* [MESOS-5477] - Implement GET_HEALTH Call in v1 master API.
* [MESOS-5478] - Implement GET_HEALTH Call in v1 agent API.
* [MESOS-5479] - Implement GET_VERSION Call in v1 master API.
* [MESOS-5480] - Implement GET_VERSION Call in v1 agent API.
* [MESOS-5531] - Re-enable style-check for stout.
* [MESOS-5537] - http v1 SUBSCRIBED scheduler event always has nil http_interval_seconds
* [MESOS-5543] - /dev/fd is missing in the Mesos containerizer environment
* [MESOS-5554] - Change major/minor device types for Nvidia GPUs to `unsigned int`
* [MESOS-5556] - Fix method of populating device entries for `/dev/nvidia-uvm`, etc.
* [MESOS-5561] - Need to remove references to "messages/messages.hpp" from `State` API
* [MESOS-5571] - Scheduler JNI throws exception when the major versions of JAR and libmesos don't match
* [MESOS-5575] - Attempting to Parse PID logging is too verbose
* [MESOS-5577] - Modules using replicated log state API require zookeeper headers
* [MESOS-5587] - FullFrameworkWriter makes master segmentation fault.
* [MESOS-5595] - GMock warning in FaultToleranceTest.SchedulerReregisterAfterFailoverTimeout
* [MESOS-5600] - DRF sorter unnecessarily re-sorts due to misuse of "dirty" bit.
* [MESOS-5601] - DRF sorter does not re-calculate share if a client weight is updated.
* [MESOS-5607] - Refactored overlay, overlayfs and aufs checking to fs::supported
* [MESOS-5609] - Put initial scaffolding in place for implementing SUBSCRIBE call on v1 Master API.
* [MESOS-5611] - Error message is not clear when create docker volume with absolute path
* [MESOS-5615] - When using command executor, the ExecutorInfo is useless for sandbox authorization
* [MESOS-5616] - Add missing comments for GET_FLAGS, GET_HEALTH, GET_VERSION, GET_LOGGING_LEVEL, GET_LEADING_MASTER
* [MESOS-5627] - Quota-related authorization actions should be removed rather than deprecated.
* [MESOS-5629] - Agent segfaults after request to '/files/browse'
* [MESOS-5637] - Authorized endpoint results are inconsistent for failures.
* [MESOS-5642] - Move include/mesos/v1/master/allocator.proto to its own directory and package
* [MESOS-5657] - Executors should not inherit environment variables from the agent.
* [MESOS-5660] - ContainerizerTest.ROOT_CGROUPS_BalloonFramework fails because executor environment isn't inherited
* [MESOS-5664] - Invalid resources sent to '/reserve' are silently dropped
* [MESOS-5667] - CniIsolatorTest.ROOT_INTERNET_CURL_LaunchCommandTask fails on CentOS 7.
* [MESOS-5668] - Add CGROUP namespace to linux ns helper.
* [MESOS-5669] - CNI isolator should not return failure if /etc/hostname does not exist on host.
* [MESOS-5670] - MemoryPressureMesosTest.CGROUPS_ROOT_SlaveRecovery is flaky.
* [MESOS-5671] - MemoryPressureMesosTest.CGROUPS_ROOT_Statistics is flaky.
* [MESOS-5673] - Port mapping isolator may cause segfault if it bind mount root does not exist.
* [MESOS-5674] - Port mapping isolator may fail in 'isolate' method.
* [MESOS-5680] - We should not 'chown -R' on persistent volumes every time container tries to use it.
* [MESOS-5684] - Master captures `this` when creating authorization callback
* [MESOS-5685] - The /files/download endpoint's authorization can be compromised
* [MESOS-5691] - SSL downgrade support will leak sockets in CLOSE_WAIT status
* [MESOS-5692] - Add helper function "begin_with/end_with" to strings
* [MESOS-5695] - Add missing comments for GET_ROLES, GET_WEIGHTS, SUBSCRIBE, CREATE_VOLUMES, DESTROY_VOLUMES, SET_QUOTA
* [MESOS-5698] - Quota sorter not updated for resource changes at agent.
* [MESOS-5715] - Enhance startsWith/endsWith's performance
* [MESOS-5723] - SSL-enabled libprocess will leak incoming links to forks
* [MESOS-5724] - SSL certificate validation should allow IP only verification.
* [MESOS-5727] - Command executor health check does not work when the task specifies container image.
* [MESOS-5748] - Potential segfault in `link` and `send` when linking to a remote process
* [MESOS-5755] - NVML headers are not installed as part of 3rdparty install with --enable-install-module-dependencies
* [MESOS-5757] - Authorize orphaned tasks
* [MESOS-5760] - MAC OS Build failed
* [MESOS-5763] - Task stuck in fetching is not cleaned up after --executor_registration_timeout.
* [MESOS-5766] - Missing License Information for Bundled NVML headers
* [MESOS-5794] - Agent's /containers endpoint should skip terminated executors.
* [MESOS-5799] - docker::inspect() may get wrong output when a docker container is not in "running" state
* [MESOS-5806] - CNI isolator should prepare network related /etc/* files for containers using host mode but specify container images.
* [MESOS-5834] - Mesos may pass --volume-driver to the Docker daemon multiple times.
* [MESOS-5844] - PersistentVolumeEndpointsTest.OfferCreateThenEndpointRemove test is flaky
* [MESOS-5845] - The fetcher can access any local file as root
* [MESOS-5848] - Docker health checks are malformed.
* [MESOS-5851] - Create mechanism to control authentication between different HTTP endpoints
* [MESOS-5863] - Enabling SSL causes fetcher fail to fetch from HTTPS sites.
* [MESOS-5891] - /help endpoint does not set Content-Type to HTML.
** Documentation
* [MESOS-4381] - Improve upgrade compatibility documentation.
* [MESOS-4514] - Document how to implement Mesos HTTP operator endpoints.
* [MESOS-4689] - Design doc for v1 Operator API
* [MESOS-4726] - Document scheduler driver calls in framework development guide.
* [MESOS-4750] - Document: Mesos Executor expects all SSL_* environment variables to be set
* [MESOS-4785] - Reorganize ACL subject/object descriptions.
* [MESOS-4787] - HTTP endpoint docs should use shorter paths
* [MESOS-5215] - Update the documentation for '/reserve' and '/create-volumes'
* [MESOS-5313] - Failed to set quota and update weight according to document
* [MESOS-5366] - Update documentation to include contender/detector module
* [MESOS-5419] - Document all known client libraries for the Scheduler/Executor API
* [MESOS-5583] - Improve authorization documentation when setting permissive flag.
* [MESOS-5586] - Move design docs from wiki to web page
* [MESOS-5702] - CNI documentation example is not explicit enough about external plugins
** Epic
* [MESOS-1478] - Slave to Agent rename (Phase I).
* [MESOS-2297] - Add authentication support for HTTP API
* [MESOS-2948] - Generalize authorizer interface in order to allow for arbitrary Subjects, Actions and Objects
* [MESOS-4189] - Dynamic weights
* [MESOS-4843] - Authorize Master Operator Endpoints
* [MESOS-4847] - Agent HTTP Authentication
* [MESOS-4931] - Authorization based filtering for endpoints.
* [MESOS-5150] - Authorize Agent HTTP Endpoints
* [MESOS-5703] - Authorize operator endpoints for Mesos 1.0
** Improvement
* [MESOS-1571] - Signal escalation timeout is not configurable.
* [MESOS-2145] - Distinguish frameworks according to their state in the webui
* [MESOS-2154] - Port CFS quota support to Docker Containerizer
* [MESOS-2281] - Deprecate plain text Credential format.
* [MESOS-2372] - Test script for verifying compatibility between Mesos components
* [MESOS-2602] - Provide a way to "push" cluster state updates to a registered service.
* [MESOS-2720] - Publish the schema for operator endpoints