8.3.2.48. v4.2.0ΒΆ

commit f8c869f2b4a20a1d4133b9fe450e7d1f269807ce
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sun Dec 29 14:28:05 2019 -0600

    Update to v4.2.0

M   go.mod
M   go.sum

commit a84379953276cc72ce88cb54c23639271d5565af
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Dec 28 16:27:28 2019 -0600

    Fix more of the embedded bsdtar code (again)

M   embedded/assets/explode_iso.sh

commit 40dad3a0a96dcbf273b277c08e4a05901e60ffc2
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Dec 28 16:13:17 2019 -0600

    Fix busted hname that should be uname

M   embedded/assets/explode_iso.sh

commit 03934bf6624787881d51c0d3bbb5c9c6b4c3a2f3
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Dec 26 15:02:41 2019 -0600

    Update to v420-beta11

M   go.mod
M   go.sum

commit ffb7acba771be07d8538c2f4443b5ebfff280fa2
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Dec 26 11:32:10 2019 -0600

    Fix connection leak on drp-in-drp.

M   go.mod
M   go.sum
M   server/selfManage.go

commit af22dc7f20796a4d1c134b2a7e0eff3792603928
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Dec 19 16:46:06 2019 -0600

    Add options to run DRP Agent inside itself.

M   go.mod
M   go.sum
A   server/selfManage.go
M   server/server.go

commit db35007edb2b5ff9dd4ac9a54aa088d0a81509a7
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Dec 20 10:09:38 2019 -0600

    Fix a couple of ordering issues that can mess up log playback.

M   backend/perTxWalReplay.go
M   backend/stack.go
M   backend/wal.go

commit c718b467b06dc25202cf2a24a35a283d6c3e864c
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Dec 16 15:01:42 2019 -0600

    Do not cache anything that comes in via the API

M   frontend/frontend.go

commit e0df0bf108892b1836e8a131cc7f267b139cf49f
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Dec 14 14:58:15 2019 -0600

    Fix tests.

M   backend/renderData_test.go

commit 01bb2bc916284d310c9e5c156ae8f5e74fff6a78
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Dec 14 14:26:48 2019 -0600

    Enable multiple baseToken and system grantors.
    This enables rolling token updates and manager additions

M   backend/dataTracker.go
M   backend/jwt-utils.go
M   backend/requestTracker.go
M   frontend/frontend.go

commit 96e1a2d54dd212d61e7d9948f7c240c9bc453a49
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Dec 12 01:00:56 2019 -0600

    Update to beta7

M   go.mod
M   go.sum

commit 2d3e07bd482d1213f3359c27f3f4269ee4748730
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Dec 11 22:42:02 2019 -0600

    Fix read-only raw-models.

M   backend/dataTracker.go

commit c3b4566a09b6eda4ac774c7ef94708dc46083b08
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Dec 11 09:59:08 2019 -0600

    Update the sprig library to include deepequal

M   go.mod
M   go.sum

commit d0c2f5b3bb0f23015caf0e3a897fea464c0d1fc0
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Dec 10 14:36:06 2019 -0600

    Update the license

M   LICENSE

commit 3b5102ad89e8de3090839fba58f739d3c0c57698
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Dec 10 13:10:45 2019 -0600

    Let the badness continue for a little while with
    regard to validated parameters.  Objects will be validated, but
    not available.

M   clitest/params_test.go
M   clitest/test-data/output/TestParamValidation/machines.set.Name.bob.param.goodDefault.to.7b98d2564df78c56a60805f6e8e11a86/stderr.expect
M   clitest/test-data/output/TestParamValidation/machines.set.Name.bob.param.goodDefault.to.7b98d2564df78c56a60805f6e8e11a86/stdout.expect
M   clitest/test-data/output/TestParamValidation/machines.show.Name.bob/stdout.expect
M   clitest/test-data/output/TestParamValidation/profiles.set.bob.param.goodDefault.to.7b98d2564df78c56a60805f6e8e11a86/stderr.expect
M   clitest/test-data/output/TestParamValidation/profiles.set.bob.param.goodDefault.to.7b98d2564df78c56a60805f6e8e11a86/stdout.expect
M   clitest/test-data/output/TestParamValidation/profiles.show.bob/stdout.expect

commit a854dcf9656bb4b26b67ddee77458bd0c6f53b37
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Dec 10 11:33:43 2019 -0600

    Fix (by breaking the test until HA/manager stuff gets fixed) unit test.

M   backend/profiles_test.go

commit 5c0d33d93e17c180aed8ef5090df159bf872fe0b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Dec 9 11:38:49 2019 -0600

    Make a couple of changes to the fallback license

M   backend/license.go
M   clitest/machines_test.go
M   clitest/test-data/output/TestUserCli/users.token.rocketskates.scope.all.ttl.330.action.list.specific.asdgag/stdout.expect
M   clitest/test-data/output/TestUserCli/users.token.rocketskates/stdout.expect
M   cmds/license/license.go

commit 4e2f4b6f0efcff2b576c2f037391f81a795f544b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Dec 9 08:56:13 2019 -0600

    Fix up crash Greg found.

M   backend/wal.go
M   go.mod
M   go.sum

commit e9cc3434b734b021ecad485854c90d780f8a7493
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sun Dec 8 14:39:04 2019 -0600

    Update DRP to 420-beta3
    Also remove jq from DRP and use drpcli instead.

M   embedded/assets.go
M   go.mod
M   go.sum
M   tools/build_cli.sh
M   tools/download-assets.sh

commit d4ca8fc1d2830018a0d585b9ec03d5738f779189
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Dec 7 21:53:17 2019 -0600

    Address a couple of things.
    For manager for now, don't let secure parms fail
    validation for forced objects.

    For manager usage, requests needed secure parameters
    should be forward to the owning endpoint.

    Fix a type test that was missed on the GzipWriter

    Fix a segfault on a nil object in request tracker.

M   backend/dataTracker.go
M   backend/machines.go
M   backend/param.go
M   backend/plugins.go
M   backend/profiles.go
M   backend/raw_model.go
M   backend/requestTracker.go
M   backend/stage.go
M   frontend/endpoint.go
M   frontend/frontend.go
M   frontend/params.go
M   go.mod

commit 0cce276e2776d2023e0359df80bc42a6f25983d5
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Dec 6 09:32:33 2019 -0600

    Update to v4.2.0-beta2 to handle new text/table object viewer

M   backend/wal.go
M   clitest/test-data/output/TestBootEnvCli/bootenvs.create.john.john2/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.create/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.destroy/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.exists/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.show.john.john2/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.show/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.update/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.uploadiso.john.john2/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.uploadiso/stderr.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs/stdout.expect
M   clitest/test-data/output/TestCertsCli/certs.csr.root/stderr.expect
M   clitest/test-data/output/TestCertsCli/certs.csr/stderr.expect
M   clitest/test-data/output/TestCertsCli/certs/stdout.expect
M   clitest/test-data/output/TestContentCli/contents.bundlize.greg.yaml.greg/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.bundlize/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.convert.gg.ff/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.convert/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.create.john.john2/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.create/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.destroy/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.exists/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.list.33d4eb22c5df62e83097c23fc4597c5a/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.list.Cow/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.list.Cow=john/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.show.john.john2/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.show/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.update/stderr.expect
M   clitest/test-data/output/TestContentCli/contents/stdout.expect
M   clitest/test-data/output/TestCorePieces/gohai.0c113ca6d57519b559ba5a426be3c6b6/stdout.expect
M   clitest/test-data/output/TestEventsCli/events.post.e1.e2/stderr.expect
M   clitest/test-data/output/TestEventsCli/events.post/stderr.expect
M   clitest/test-data/output/TestEventsCli/events/stdout.expect
M   clitest/test-data/output/TestFilesCli/files.destroy.asdg.asgs/stderr.expect
M   clitest/test-data/output/TestFilesCli/files.destroy/stderr.expect
M   clitest/test-data/output/TestFilesCli/files.exists.cow.flka/stderr.expect
M   clitest/test-data/output/TestFilesCli/files.exists/stderr.expect
M   clitest/test-data/output/TestFilesCli/files.upload.asg.two.three.four/stderr.expect
M   clitest/test-data/output/TestFilesCli/files.upload/stderr.expect
M   clitest/test-data/output/TestFilesCli/files/stdout.expect
M   clitest/test-data/output/TestInfoCli/info.get.john2/stderr.expect
M   clitest/test-data/output/TestInfoCli/info/stdout.expect
M   clitest/test-data/output/TestInterfaceCli/interfaces.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestInterfaceCli/interfaces.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestInterfaceCli/interfaces.exists/stderr.expect
M   clitest/test-data/output/TestInterfaceCli/interfaces.show.john.john2/stderr.expect
M   clitest/test-data/output/TestInterfaceCli/interfaces.show/stderr.expect
M   clitest/test-data/output/TestInterfaceCli/interfaces/stdout.expect
M   clitest/test-data/output/TestIsosCli/isos.destroy.asdg.asgs/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos.destroy/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos.exists.cow.ted/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos.exists/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos.upload.asg.two.three.four/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos.upload/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos/stdout.expect
M   clitest/test-data/output/TestJobCli/jobs.actions.john.june/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.actions/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.create.john.john2/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.create/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.destroy/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.exists/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.log.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.log/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.show.john.john2/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.show/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs.update/stderr.expect
M   clitest/test-data/output/TestJobCli/jobs/stdout.expect
M   clitest/test-data/output/TestLeaseCli/leases/stdout.expect
M   clitest/test-data/output/TestLogsCli/logs/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.action.john/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.action/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.actions/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.addprofile/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.bootenv/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.create.john.john2/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.create/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.destroy/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.exists/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.get/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.params/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.removeprofile/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.runaction.3e7031fe-3062-45f1-835c-92541bc9cbd3.increment.576c47cb28f5c9217182dd4ccc70e8a2/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.runaction.3e7031fe-3062-45f1-835c-92541bc9cbd3.increment.fred/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.runaction.fred/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.runaction/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.set/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.show.john.john2/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.show/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.stage/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.update/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.wait.jk.jk.jk.jk.jk/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.wait.jk.jk/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.wait.jk/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.wait/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines.workflow/stderr.expect
M   clitest/test-data/output/TestMachineCli/machines/stdout.expect
M   clitest/test-data/output/TestObjectCli/objects/stdout.expect
M   clitest/test-data/output/TestParamCli/params.create.john.john2/stderr.expect
M   clitest/test-data/output/TestParamCli/params.create/stderr.expect
M   clitest/test-data/output/TestParamCli/params.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestParamCli/params.destroy/stderr.expect
M   clitest/test-data/output/TestParamCli/params.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestParamCli/params.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestParamCli/params.exists/stderr.expect
M   clitest/test-data/output/TestParamCli/params.show.john.john2/stderr.expect
M   clitest/test-data/output/TestParamCli/params.show/stderr.expect
M   clitest/test-data/output/TestParamCli/params.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestParamCli/params.update/stderr.expect
M   clitest/test-data/output/TestParamCli/params/stdout.expect
M   clitest/test-data/output/TestPluginCli/plugins.create.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.create/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.destroy/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.exists/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.get/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.params/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.set/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.show.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.show/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.update/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.09d97845218a735a666971a10980d301/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.0c91328a59b1a437296cd06540a4721e/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.20f8914e1b4909c4007d04f355a4c62d/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.2b572dd05f47479393c7cca470a88798/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.7866a2f387cf70e1a0f13654f3bb4553/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.e17d592746947ed9f303f424e1225256/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.show.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.show/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.destroy.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.destroy/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.exists/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.show.john.john2/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.show/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.upload.john.as.john2.asdga/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.upload/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers/stdout.expect
M   clitest/test-data/output/TestPrefsCli/prefs.set.dedc382c32100c7b987f2098da769fe4/stderr.expect
M   clitest/test-data/output/TestPrefsCli/prefs.set.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestPrefsCli/prefs.set.john/stderr.expect
M   clitest/test-data/output/TestPrefsCli/prefs.set/stderr.expect
M   clitest/test-data/output/TestPrefsCli/prefs/stdout.expect
M   clitest/test-data/output/TestProcessJobsCli/machines.processjobs.p1.p2.p3.b98773fd65e6e32eee9e8a357b6a3e55/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.add.john2.extra/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.add.john2/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.add/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.create.john.john2/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.create/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.destroy/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.exists/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.get/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.8c93ef5280e8fa7f9edad653aebde74a/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.params.john.c196accbc95fe0a614ab0b5aa5231c7f/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.params/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.remove.john2.extra/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.remove.john2/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.remove/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.set/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.show.john.8c93ef5280e8fa7f9edad653aebde74a/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.show.john.john2/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.show/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles.update/stderr.expect
M   clitest/test-data/output/TestProfileCli/profiles/stdout.expect
M   clitest/test-data/output/TestReservationCli/reservations.create.john.john2/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.create/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.destroy/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.exists/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.show.john.john2/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.show/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations.update/stderr.expect
M   clitest/test-data/output/TestReservationCli/reservations/stdout.expect
M   clitest/test-data/output/TestRoleCLI/roles.create.john.john2/stderr.expect
M   clitest/test-data/output/TestRoleCLI/roles.create/stderr.expect
M   clitest/test-data/output/TestRoleCLI/roles/stdout.expect
M   clitest/test-data/output/TestStageCli/stages.add.john2.extra/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.add.john2/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.add/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.create.john.john2/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.create/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.destroy/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.exists/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.get/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.params/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.remove.john2.extra/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.remove.john2/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.remove/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.set/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.show.john.john2/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.show/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestStageCli/stages.update/stderr.expect
M   clitest/test-data/output/TestStageCli/stages/stdout.expect
M   clitest/test-data/output/TestSubnetCli/subnets.create.john.john2/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.create/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.destroy/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.exists/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.get.john.option.45.77/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.get/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.leasetimes.john.june.32.55/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.leasetimes/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.nextserver.john.june.1.24.36.16/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.nextserver/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.pickers.john.june.test1,test2,test3/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.pickers/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.range.john.1.24.36.7.1.24.36.16.1.24.36.16/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.range/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.set.john.option.45.to.34.77/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.set/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.show.john.john2/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.show/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.subnet.john.june.1.24.36.16/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.subnet/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets.update/stderr.expect
M   clitest/test-data/output/TestSubnetCli/subnets/stdout.expect
M   clitest/test-data/output/TestSystemCli/system.get.john2/stdout.expect
M   clitest/test-data/output/TestSystemCli/system.runaction/stderr.expect
M   clitest/test-data/output/TestSystemCli/system.upgrade/stderr.expect
M   clitest/test-data/output/TestSystemCli/system/stdout.expect
M   clitest/test-data/output/TestTaskCli/tasks.create.john.john2/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.create/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.destroy/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.exists/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.show.john.john2/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.show/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks.update/stderr.expect
M   clitest/test-data/output/TestTaskCli/tasks/stdout.expect
M   clitest/test-data/output/TestTemplateCli/templates.create.john.john2/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.create/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.destroy/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.exists.john.john2.2/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.exists/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.show.john.john2/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.show/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.update/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.upload.asg.two.three.four/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.upload.asg/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.upload/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates/stdout.expect
M   clitest/test-data/output/TestUserCli/users.create.john.john2/stderr.expect
M   clitest/test-data/output/TestUserCli/users.create/stderr.expect
M   clitest/test-data/output/TestUserCli/users.destroy.john.june/stderr.expect
M   clitest/test-data/output/TestUserCli/users.destroy/stderr.expect
M   clitest/test-data/output/TestUserCli/users.exists.john.john2/stderr.expect
M   clitest/test-data/output/TestUserCli/users.exists/stderr.expect
M   clitest/test-data/output/TestUserCli/users.password.one.two.three/stderr.expect
M   clitest/test-data/output/TestUserCli/users.password.one/stderr.expect
M   clitest/test-data/output/TestUserCli/users.password/stderr.expect
M   clitest/test-data/output/TestUserCli/users.passwordhash/stderr.expect
M   clitest/test-data/output/TestUserCli/users.show.john.john2/stderr.expect
M   clitest/test-data/output/TestUserCli/users.show/stderr.expect
M   clitest/test-data/output/TestUserCli/users.token.greg.greg2.greg3/stderr.expect
M   clitest/test-data/output/TestUserCli/users.token.greg.greg2/stderr.expect
M   clitest/test-data/output/TestUserCli/users.token/stderr.expect
M   clitest/test-data/output/TestUserCli/users.update.john.john2.john3/stderr.expect
M   clitest/test-data/output/TestUserCli/users.update/stderr.expect
M   clitest/test-data/output/TestUserCli/users/stdout.expect
M   clitest/test-data/output/TestWorkflowCli/workflows.create.john.john2/stderr.expect
M   clitest/test-data/output/TestWorkflowCli/workflows.create/stderr.expect
M   clitest/test-data/output/TestWorkflowCli/workflows/stdout.expect
M   go.mod
M   go.sum

commit f9204e0560a69a5d06f1603b2e886996bd3cf727
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Dec 5 14:08:11 2019 -0600

    Add time limited trial license generation.

    The fallback license is now regenerated on every rebuild of dr-provision.
    It soft-expires in 3 months, and hard-expires in 6.

    I expect a fair amount of haggling and tweaking.

M   .gitignore
M   backend/license.go
M   clitest/test-data/output/TestUserCli/users.token.rocketskates.scope.all.ttl.330.action.list.specific.asdgag/stdout.expect
M   clitest/test-data/output/TestUserCli/users.token.rocketskates/stdout.expect
A   cmds/license/license.go
M   tools/build.sh

commit 2ab84dace41f8221b651eb3670976d1162517a35
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Dec 5 11:22:14 2019 -0600

    Fix hang on server shutdown

M   backend/bootenv_test.go
M   backend/stack.go
M   backend/wal.go

commit 0822b21df319071be9ed6883f3f63ff65b81dc6e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Dec 4 15:52:17 2019 -0600

    Oops, redo undone bump to travis Go requirements

M   .travis.yml

commit 78af3312f6f48b0725647cfc0c252e130bf95638
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Dec 4 15:24:01 2019 -0600

    Fix up unit tests and unit test logging

M   clitest/common_test.go
M   clitest/test-data/output/TestAuth/plugin_providers.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/plugin_providers.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestFilesCli/files.upload.common_test.go.as.greg/stdout.expect
M   clitest/test-data/output/TestIsosCli/isos.upload.common_test.go.as.greg/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.list/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.show.incrementer/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.list.3/stdout.expect

commit fb0fe93b4da4b638621429beb1cef097a4db1af7
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Dec 4 14:45:12 2019 -0600

    Fix hang when force-stopping a plugin that fails to configure

M   backend/plugins.go
M   backend/runningPlugin.go

commit bbfbbadf50bbac07c4fd7191e97ee9c6f3c63cca
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Dec 4 14:44:41 2019 -0600

    Allow for closing down the flusher safely when we stop a stackedStore

M   backend/stack.go
M   backend/wal.go

commit b7b4136c0ce5660868bd226689faa9101d2a811d
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Nov 19 14:20:18 2019 -0600

    Make plugin Publish handling robust in the face of shutdowns

M   backend/contexts.go
M   backend/dataTracker_test.go
M   backend/machines.go
M   backend/pluginProviders.go
M   backend/plugins.go
M   backend/requestTracker.go
M   backend/runningPlugin.go
M   clitest/common_test.go
M   frontend/actions.go
M   frontend/frontend.go
M   frontend/job_create.go
M   ipxe/build_iso.sh
M   server/server.go

commit 4b045cad2d73bcd1b1c0997d42c125e3a2e63648
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Nov 15 13:05:58 2019 -0600

    Batch transaction commits.

    This adds opportunistic commit batching.  The model is to start a
    timer whenever we want to flush a commit to disk, then wait around
    until one of a few conditions are met:

    * we have recieved an additional 127 commits to flush
    * we have a megabyte of data to commit
    * we have exceeded the average time of (last 16 flushes + 1 millisecond)

    Once any of those conditions are met, we write out all the accumulated
    data in one go and fsync the log at the end.  The flusher will try
    forever to flush the data with increasing delays, after 10 sucessive
    retrys it will start spamming the log with messages.

    In practice, the first two conditions are present to prevent
    dr-provision from accumulating too much outstanding log data to flush,
    and the third condition is what should maintain a steady stream of
    writes and syncs, as (depending on the backing store) writes with
    flushes can take on the order of microseconds (NVME devices) to
    milliseconds (hard disks), and the higher latency the device the
    larger (and hopefully more bandwidth efficient) the writes to the WAL
    are.

M   backend/stack.go
M   backend/wal.go

commit 1509713e97e0a436faa1128bf045d2283f58e86f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Nov 13 16:22:00 2019 -0600

    Just handle registering extra storage types in the frontend directly on startup

M   frontend/frontend.go
M   server/server.go

commit 567f78dcda3d248185c7b76d8c16012b83f306a0
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Nov 13 15:44:40 2019 -0600

    Move around where we register Store types with the frontend to before we try starting things

M   server/server.go

commit f4a0a08d554f7e89c75782ac5ccda7dd609b7142
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Nov 13 14:52:42 2019 -0600

    Make a couple of tweaks to plugin_providers.  Manager now uploads and reuploads for me.

M   backend/pluginProviders.go

commit 0241fa7f962437c2f660e3110aa1ab306cc816e0
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Nov 13 10:17:35 2019 -0600

    Refactor out runningPlugin more thuroughly, and make dangerzome more dangerous.

    Dangerzome os more dangerous to try and get it to deadlock at configure
    and runAction time by listing all of the contents at both times.

    If the locking for running actions and configuring plugins gets broken,
    these should catch it duing unit tests

M   backend/machines.go
M   backend/pluginProvider_test.go
M   backend/pluginProviders.go
M   backend/plugin_controller.go
M   backend/plugins.go
M   backend/requestTracker.go
A   backend/runningPlugin.go
M   cmds/dangerzone/dangerzone.go
M   frontend/actions.go
M   frontend/frontend.go
M   frontend/job_create.go
M   frontend/plugin_providers.go

commit 729927ab074e1d3ff23a093caba75e08a4d8fd44
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Nov 13 10:08:56 2019 -0600

    Remove unused functions in context handler

M   backend/contexts.go

commit 596df81dedc55c02f91d9517f2ad7a2b6b6ec857
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Nov 12 17:08:31 2019 -0600

    Split signal handling and plugin startup into separate goroutines

M   server/server.go

commit fa8b4b32385215692c34131c61a481dcc92b464d
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Nov 12 15:26:18 2019 -0600

    Fix a few bugs around plugin load and unload

M   backend/pluginProvider_test.go
M   backend/pluginProviders.go
M   backend/plugins.go
M   backend/profiles_test.go
M   backend/requestTracker.go
M   backend/wal.go
M   server/server.go

commit fef71b070dccf8f00ec7e9395371cb30ae0891a4
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Nov 12 12:42:03 2019 -0600

    Rework plugin loading to get rid of some races.

    This also adds a couple of plugin loading tests in the backend.

M   backend/dataTracker_test.go
A   backend/pluginProvider_test.go
M   backend/pluginProviders.go
M   backend/plugins.go
M   clitest/common_test.go
M   clitest/test-data/output/TestFilesCli/files.upload.common_test.go.as.greg/stdout.expect
M   clitest/test-data/output/TestIsosCli/isos.upload.common_test.go.as.greg/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugins.list/stdout.expect

commit 9acddccc0903f39a70683ffb5bcf7bcff624fb59
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Nov 12 10:38:29 2019 -0600

    Change how file handles are managed in the wal code

M   backend/wal.go

commit 52af33fc1e240baaa5a00e6d07b416569aef24a1
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Nov 11 14:11:09 2019 -0600

    Oops, missed some tests during checkpoint refactor.

M   backend/bootenv_test.go
M   backend/profiles_test.go
M   backend/user_test.go
M   backend/wal.go

commit 408ec74714ad63e42d06733061a93d9f0f0c4217
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Nov 11 13:55:59 2019 -0600

    Modify log replay to include checkpointing capabilities

M   backend/bootenv_test.go
M   backend/dhcpUtils_test.go
M   backend/interfaces_test.go
M   backend/jwt_utils_test.go
M   backend/lease_test.go
M   backend/machines_test.go
M   backend/param_test.go
M   backend/preference_test.go
M   backend/profiles_test.go
M   backend/renderData_test.go
M   backend/reservation_test.go
M   backend/stack.go
M   backend/stage_test.go
M   backend/subnet_test.go
M   backend/task_test.go
M   backend/template_test.go
M   backend/user_test.go
M   backend/wal.go
M   backend/workflow_test.go

commit 22edf332a4a708557e89ce4d3977fb6deaafcb42
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Nov 11 08:19:21 2019 -0600

    Kick off a background replay when we finish a log batch.

    Unlike the startup, shutdown, and content reload replays,
    the per-batch replays are allowed to fail -- this allows us to handle
    transient write errors in a semi-graceful fashion.

M   backend/bootenv_test.go
M   backend/dhcpUtils_test.go
M   backend/interfaces_test.go
M   backend/jwt_utils_test.go
M   backend/lease_test.go
M   backend/machines_test.go
M   backend/param_test.go
M   backend/preference_test.go
M   backend/profiles_test.go
M   backend/renderData_test.go
M   backend/reservation_test.go
M   backend/stack.go
M   backend/stage_test.go
M   backend/subnet_test.go
M   backend/task_test.go
M   backend/template_test.go
M   backend/user_test.go
M   backend/wal.go
M   backend/workflow_test.go

commit 7637f03ceda0507315af56533d5990163d02236a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sun Nov 10 19:31:35 2019 -0600

    Make sure AvailableActions are returned sorted

M   backend/requestTracker.go

commit 862d3094767737673d4423c97f14b8a8ddc6867f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sun Nov 10 18:02:15 2019 -0600

    Switch to batched WAL writes, update unit tests to ensure that replay and chaining works properly

M   backend/bootenv_test.go
M   backend/dataTracker_test.go
M   backend/dhcpUtils_test.go
M   backend/interfaces_test.go
M   backend/jwt_utils_test.go
M   backend/lease_test.go
M   backend/machines_test.go
M   backend/param_test.go
A   backend/perTxWalReplay.go
M   backend/preference_test.go
M   backend/profiles_test.go
M   backend/renderData_test.go
M   backend/requestTracker.go
M   backend/reservation_test.go
M   backend/stack.go
M   backend/stage_test.go
M   backend/subnet_test.go
M   backend/task_test.go
M   backend/template_test.go
M   backend/user_test.go
M   backend/wal.go
M   backend/workflow_test.go

commit 950f8520c6da057f0fa76226e450efe89c280608
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Nov 8 10:47:36 2019 -0600

    Final plugin fixups

M   backend/requestTracker.go
M   clitest/plugins_test.go
A   clitest/test-data/output/TestLoadIncrementer/plugin_providers.upload.incrementer.from/tools/build/dangerzone/stderr.expect
A   clitest/test-data/output/TestLoadIncrementer/plugins.list/stdout.expect
A   clitest/test-data/output/TestLoadIncrementer/system.actions/stdout.expect
A   clitest/test-data/output/TestLoadIncrementer/system.runaction.isSane/stderr.expect
A   clitest/test-data/output/TestLoadIncrementer/system.runaction.isSane/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.action.3e7031fe-3062-45f1-835c-92541bc9cbd3.command/stderr.expect
A   clitest/test-data/output/TestMachineCli/machines.action.3e7031fe-3062-45f1-835c-92541bc9cbd3.reset_count.2/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.runaction.3e7031fe-3062-45f1-835c-92541bc9cbd3.command/stderr.expect
M   clitest/test-data/output/TestPluginActionsInTaskList/machines.currentlog.Name.phred.3/stdout.expect
M   clitest/test-data/output/TestPluginActionsInTaskList/machines.currentlog.Name.phred.4/stdout.expect
M   clitest/test-data/output/TestPluginActionsInTaskList/machines.currentlog.Name.phred.5/stdout.expect
A   clitest/test-data/output/TestPluginCli/plugins.destroy.i-woman.3/stderr.expect
A   clitest/test-data/output/TestPluginCli/plugins.destroy.i-woman/stderr.expect
M   clitest/test-data/output/TestSystemCli/system.action.command/stderr.expect
M   clitest/test-data/output/TestSystemCli/system.actions/stdout.expect
M   clitest/test-data/output/TestSystemCli/system.runaction.command/stderr.expect
M   frontend/actions.go

commit 8a1a14c494c0f82108910d1b2a6ce29ce6627295
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Nov 8 10:46:08 2019 -0600

    Fix a race that can happen when waiting on a log replay to finish

M   backend/requestTracker.go
M   backend/wal.go

commit 5c5c0ce52ec1473a379bb3cf58c9d56eb0b7da55
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Nov 7 17:12:27 2019 -0600

    Many plugin fixups and WAL handling refactors

M   backend/dataTracker.go
M   backend/event.go
M   backend/pluginProviders.go
M   backend/plugins.go
M   backend/requestTracker.go
M   backend/wal.go
M   clitest/test-data/output/TestAuth/plugin_providers.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/plugin_providers.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.list/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.show.incrementer/stdout.expect
M   clitest/test-data/output/TestPluginCli/plugins.create.348f85563278f65434960e4c279ccb57/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.create.d58257185010dd9a8a2cee80628f0146/stderr.expect
M   clitest/test-data/output/TestPluginCli/plugins.create.e0b19abe05aa4de7b384ecb918c09948/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.list.2/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.list.3/stdout.expect
M   frontend/websocket.go

commit 1a797f5be37e2db7c1d2079accfaedf8638556be
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Nov 4 15:51:16 2019 -0600

    Refactor plugin code to make it use finegrained locking

M   backend/contexts.go
M   backend/dataTracker.go
M   backend/dataTracker_test.go
M   backend/event.go
M   backend/machines.go
D   backend/plugin.go
A   backend/pluginProviders.go
M   backend/plugin_actions.go
M   backend/plugin_controller.go
M   backend/plugin_messaging.go
D   backend/plugin_messaging_client.go
D   backend/plugin_messaging_server.go
M   backend/plugins.go
M   backend/requestTracker.go
M   backend/stack.go
M   backend/wal.go
M   clitest/00_aone_test.go
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.show.dangerzone/stdout.expect
M   cmds/dangerzone/dangerzone.go
M   frontend/actions.go
M   frontend/frontend.go
M   frontend/job_create.go
M   frontend/plugin_providers.go
M   frontend/prefs.go
M   frontend/websocket.go
M   midlayer/fake_midlayer_server_test.go
M   server/server.go

commit 052388487f167baa0393fd4c0b56575397b571a1
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Nov 1 13:02:07 2019 -0500

    Prevent thundering herd when several thousand logins using the same password hit the system at once.

M   backend/user.go

commit 687cafd91e61bd4555e6af9af1fe095b6819a529
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Nov 1 10:14:28 2019 -0500

    Lease creation in parallel works for now

M   backend/dhcpUtils.go
M   backend/dhcpUtils_test.go
M   backend/subnet.go
M   backend/tx.go

commit ad6adc18ea90924dc0a14b5c44fab654530fd84e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 30 14:47:13 2019 -0500

    Fix several locations that we were illegaly modifying leases

M   backend/dataTracker.go
M   backend/dhcpUtils.go
M   backend/jobs.go
M   backend/requestTracker.go
M   backend/subnet.go
M   midlayer/dhcp.go

commit a044a8ef97620566fe87ebad0bed4f79591fbf50
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 30 13:11:24 2019 -0500

    Change a couple of places we are grabbing a lease to use Find instead

M   backend/dhcpUtils.go

commit 91bed51f31f240c367c803625bf27ed19757211c
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 30 12:44:58 2019 -0500

    Save instead of adding leases to the index directly in a couple of places

M   backend/dhcpUtils.go

commit 578505621d13255289cee4e503dab640d427ad3a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Oct 31 08:44:55 2019 -0500

    Release ownership when aborting write transactions as well.

    No idea how this got past the unit tests.

M   backend/tx.go

commit f753d85691228ff5f4e497c2fc28a77f4ca856fd
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 30 12:27:33 2019 -0500

    Add more detailed logging when a retiring transaction cannot unblock anything

M   backend/tx.go

commit c0c0e8c9b51f2f4198988a7efab96be6363ab4d6
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 30 11:02:25 2019 -0500

    Defer creating a wal file until we are ready to commit it.

    This reduces the number of idle gzip.Writers in the backend, reducing
    memory pressure on the pool of writers we keep around.

    This combined with the previous change drastically cuts down on the
    amount of memory we use in highly parallel situations.

M   backend/requestTracker.go
M   backend/tx.go
M   backend/wal.go

commit da505d69efe2986cda1842f269981e2f2d333e59
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 30 09:25:26 2019 -0500

    Defer allocation of a new gzip.Writer until it is needed in the frontend

    This defers allocation of a new gzip.Writer in the frontend until we start
    actually writing out the response body.  It vastly cuts down on the amount of space
    we eind up using in highly parallel and blocking situations.

M   frontend/frontend.go
A   frontend/gzip.go

commit e3042ea0cca4d2d4f68eeaddcd9f9ab2d959d4e0
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Oct 29 16:30:24 2019 -0500

    Handle new storage types on startup with an index

M   backend/dataTracker.go

commit d092c13e0ec79a28419df26b5634dfbab1b022b4
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Oct 29 10:29:44 2019 -0500

    Switch over to using indexes instead of full scans in the backend where reasonable

M   backend/bootenv.go
M   backend/contexts.go
M   backend/dataTracker.go
M   backend/jwt-utils.go
M   backend/machines.go
M   backend/profiles.go
M   backend/renderData.go
M   backend/requestTracker.go
M   backend/roles.go
M   backend/stage.go
M   backend/task.go
M   backend/user.go
M   backend/utils.go
M   clitest/bootenv_test.go
M   clitest/common_test.go
M   clitest/contents_test.go
M   clitest/jobs_test.go
M   clitest/params_test.go
M   clitest/plugins_test.go
M   clitest/prefs_test.go
M   clitest/reservation_test.go
M   clitest/stages_test.go
M   clitest/subnet_test.go
M   clitest/tasks_test.go
M   clitest/template_test.go
M   clitest/test-data/output/TestCorePieces/machines.indexes/stdout.expect
M   clitest/test-data/output/TestCorePieces/tasks.indexes/stdout.expect
M   clitest/test-data/output/TestCorePieces/users.indexes/stdout.expect
M   clitest/test-data/output/TestFilesCli/files.upload.common_test.go.as.greg/stdout.expect
M   clitest/test-data/output/TestIsosCli/isos.upload.common_test.go.as.greg/stdout.expect
M   clitest/test-data/output/TestProfileInProfile/profiles.destroy.profile1/stderr.expect
M   clitest/test-data/output/TestTemplateCli/templates.upload.template_test.go.as.greg.2/stdout.expect
M   clitest/test-data/output/TestTemplateCli/templates.upload.template_test.go.as.greg/stdout.expect
M   clitest/user_test.go
M   cmds/dr-test/dr-test.go
M   embedded/assets/swagger-ui/o2c.html
M   frontend/endpoint.go
M   frontend/frontend.go
M   frontend/websocket.go
M   midlayer/dhcpUtil.go
M   midlayer/pxe.go
M   midlayer/tftp.go
M   midlayer/tftp_test.go

commit db46b5b7657c0908def77a3d6728b9588c614788
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Oct 23 12:25:30 2019 -0500

    Improvee CPU and memory usage of the tx interlock tracker.

    Replace maps with slices to track wanted keys and to track
    transactions overall.  This cuts memory usage of the transaction
    tracker in half under heavy load, and cuts the CPU time by a third.

M   backend/bootenv.go
M   backend/bootenv_test.go
M   backend/contexts.go
M   backend/dataTracker.go
M   backend/dhcpUtils.go
M   backend/dhcpUtils_test.go
M   backend/lease.go
M   backend/lease_test.go
M   backend/machines.go
M   backend/machines_test.go
M   backend/param_test.go
M   backend/plugin.go
M   backend/profiles.go
M   backend/profiles_test.go
M   backend/renderData.go
M   backend/requestTracker.go
M   backend/reservation.go
M   backend/reservation_test.go
M   backend/roles.go
M   backend/stage.go
M   backend/stage_test.go
M   backend/subnet.go
M   backend/subnet_test.go
M   backend/task.go
M   backend/task_test.go
M   backend/template.go
M   backend/template_test.go
M   backend/tenants.go
M   backend/tx.go
M   backend/user.go
M   backend/user_test.go
M   clitest/test-data/output/TestRoleCLI/roles.destroy.superuser/stderr.expect
M   frontend/endpoint.go
M   frontend/file_common.go
M   frontend/frontend.go
M   go.mod
M   go.sum
M   midlayer/dhcp.go
M   midlayer/dhcp_test.go

commit 041c16f878ef3c33cd4a0a82f99645bb60e3dff3
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Aug 9 16:40:01 2019 -0500

    Start adding tx interlock code

M   backend/bootenv.go
M   backend/bootenv_test.go
M   backend/contexts.go
M   backend/dataTracker.go
M   backend/dhcpUtils.go
M   backend/dhcpUtils_test.go
M   backend/index/index.go
M   backend/index/index_test.go
M   backend/jobs.go
M   backend/jwt_utils_test.go
M   backend/lease.go
M   backend/lease_test.go
M   backend/license.go
M   backend/machines.go
M   backend/machines_test.go
M   backend/param.go
M   backend/param_test.go
M   backend/plugin.go
M   backend/plugin_controller.go
M   backend/plugins.go
M   backend/preference.go
M   backend/preference_test.go
M   backend/profiles.go
M   backend/profiles_test.go
M   backend/raw_model.go
M   backend/renderData.go
M   backend/renderData_test.go
M   backend/requestTracker.go
M   backend/reservation.go
M   backend/reservation_test.go
M   backend/roles.go
M   backend/stage.go
M   backend/stage_test.go
M   backend/subnet.go
M   backend/subnet_test.go
M   backend/task.go
M   backend/task_test.go
M   backend/template.go
M   backend/template_test.go
M   backend/tenants.go
A   backend/tx.go
A   backend/tx_test.go
M   backend/user.go
M   backend/user_test.go
M   backend/utils.go
M   backend/wal.go
M   backend/workflow.go
M   backend/workflow_test.go
M   clitest/fixInteractive.sh
M   clitest/profiles_test.go
M   frontend/actions.go
M   frontend/endpoint.go
M   frontend/file_common.go
M   frontend/frontend.go
M   frontend/indexes.go
M   frontend/info.go
M   frontend/jobs.go
M   frontend/machines.go
M   frontend/meta.go
M   frontend/params.go
M   frontend/plugins.go
M   frontend/prefs.go
M   frontend/users.go
M   go.mod
M   go.sum
M   midlayer/dhcp.go
M   midlayer/dhcp_test.go
M   midlayer/fake_midlayer_server_test.go

commit 1d5983a9c8fbf35eaed9fbec03f2d1efded7bd43
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sat Sep 21 19:40:08 2019 -0500

    Kill off a couple of functions no-one uses anymore

M   backend/requestTracker.go

commit f6d4099668d0fd085c0463c0377a3387e77b9208
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sat Sep 21 17:43:24 2019 -0500

    Remove most direct references to backend.Stores.

    This refactors the type signatures of rt.Do and rt.AllLocked to
    no longer pass a copy of the locked Stores to the thunk directly.

    All places that were using the Stores directly have been refactored
    to use helpers on the RequestTracker instead.

M   backend/bootenv.go
M   backend/bootenv_test.go
M   backend/contexts.go
M   backend/dataTracker.go
M   backend/dataTracker_test.go
M   backend/dhcpUtils.go
M   backend/dhcpUtils_test.go
M   backend/jobs.go
M   backend/lease.go
M   backend/lease_test.go
M   backend/machines.go
M   backend/machines_test.go
M   backend/param_test.go
M   backend/plugin.go
M   backend/plugin_controller.go
M   backend/plugins.go
M   backend/preference_test.go
M   backend/profiles.go
M   backend/profiles_test.go
M   backend/raw_model.go
M   backend/renderData.go
M   backend/renderData_test.go
M   backend/requestTracker.go
M   backend/reservation.go
M   backend/reservation_test.go
M   backend/roles.go
M   backend/stack.go
M   backend/stage.go
M   backend/stage_test.go
M   backend/subnet.go
M   backend/subnet_test.go
M   backend/task.go
M   backend/task_test.go
M   backend/template.go
M   backend/template_test.go
M   backend/tenants.go
M   backend/user.go
M   backend/user_test.go
M   backend/workflow.go
M   frontend/actions.go
M   frontend/content.go
M   frontend/endpoint.go
M   frontend/file_common.go
M   frontend/frontend.go
M   frontend/indexes.go
M   frontend/info.go
M   frontend/job_create.go
M   frontend/jobs.go
M   frontend/machines.go
M   frontend/meta.go
M   frontend/params.go
M   frontend/plugins.go
M   frontend/prefs.go
M   frontend/users.go
M   midlayer/dhcp.go
M   midlayer/dhcp_test.go
M   midlayer/fake_midlayer_server_test.go
M   server/server.go

commit a1abd2cf4c3d345c8b75c414ac06ccee5e114f98
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Dec 4 12:19:24 2019 -0600

    Switch dangerzone to use websocket-style event processing, and prep for 4.2.0

M   clitest/test-data/output/TestAuth/plugin_providers.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/plugin_providers.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestFilesCli/files.upload.asg.two.three.four/stderr.expect
M   clitest/test-data/output/TestFilesCli/files.upload/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos.upload.asg.two.three.four/stderr.expect
M   clitest/test-data/output/TestIsosCli/isos.upload/stderr.expect
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.list/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.show.dangerzone/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugin_providers.show.incrementer/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.list.2/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.list.3/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.list/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/plugin_providers.show.incrementer/stdout.expect
M   cmds/dangerzone/dangerzone.go
M   go.mod
M   go.sum

commit cfd2843b86c4441b6044578e7eeafaf12c703a02
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Dec 4 08:37:21 2019 -0600

    Start messing with grub2 for SecureBoot purposes

M   grub2/docker/Dockerfile
M   grub2/docker/build_grub.sh

commit cae6cf8b9910d66b8cf2193f5f078f44e00564bb
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Nov 19 15:14:19 2019 -0600

    Relax via change checking when shooting down leases on moved servers.

    Instead of doing strict equality checking on the via addresses, do that
    and check to see if the via address is in the range the lease subnet covers.

    This fixes an issue where we are recieving multiple REQ packets for the same lease
    from different relays, or from a relay and directly -- instead of ACKing one and NAKing
    the other (which really confuses the DHCP client), we just ACK both.

    Based on an issue Greg at Ubisoft was seeing.

M   backend/dhcpUtils.go

commit c8330f17e20e30d4b760d6b3b7f492d36fb0f7b4
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Nov 6 08:49:52 2019 -0600

    Oops, missed a required lock for Contexts that we may need when modifying Tasks

M   backend/task.go

End of Note