commit 42495f8cd90baa6ce034eccbfe4579eb2e01f0d3
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 24 23:28:59 2020 -0500
build: update to v4.5.0
M go.mod
M go.sum
commit a971bfbb9a32cfe5d80ae6d79fa29b6a3b3a01ef
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 24 13:30:45 2020 -0500
fix(static,api): clean paths for general files
M backend/fs.go
A clitest/static_test.go
M frontend/frontend.go
commit 4132b526a415c9e21f84c8e74fea3e5f8354c918
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Sep 22 23:33:27 2020 -0500
build: update to v4.5.0-beta02
M go.mod
M go.sum
commit ca2932ed2830c4fd34ade8849bb54a439632fe89
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Sep 22 22:24:52 2020 -0500
build: Update to v4.5.0-beta01
M go.mod
M go.sum
commit cb068869fadd723f1237be956b9e905e0bbf34bd
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Mon Sep 21 16:33:55 2020 -0500
feat(cli): Update for cli RackN URL signing
M clitest/fixInteractive.sh
M clitest/test-data/output/TestEndpointCli/8e370dd79b74669671136f037e0adb61/stdout.expect
M clitest/test-data/output/TestMachineCli/machines/stdout.expect
M clitest/test-data/output/TestPluginCli/plugins/stdout.expect
M clitest/test-data/output/TestPluginProviderCli/extended/stdout.expect
M clitest/test-data/output/TestProfileCli/profiles/stdout.expect
M clitest/test-data/output/TestStageCli/stages/stdout.expect
M clitest/test-data/output/TestSystemCli/system.get.john2/stdout.expect
M clitest/test-data/output/TestSystemCli/system/stdout.expect
M go.mod
M go.sum
commit d7b41af379da053b662700a2734bc654c92a6bb0
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Sep 17 09:26:33 2020 -0500
fix(plugin): Add config timeout back to plugin config.
Oops, the timeout on the config POST call did not get un-commented out
after writing the config post unit tests. Add it back to keep a
plugin that deadlocks from hanging everything else.
M backend/plugins.go
commit 8647a3852b0d72c599f8ce18175f78e3d8ef218f
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Wed Sep 16 17:18:46 2020 -0500
fix(test): new runner tests alter profile tests
M clitest/test-data/output/TestMachineProfilesAndParams/machines.count/stdout.expect
commit 1dfeb85069072236b7343ce1a2659e0ffcd8da53
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Wed Sep 16 17:06:06 2020 -0500
fix(build): revert leaked provision tree ref
M go.mod
M go.sum
commit 9d9b1b9b730e85ec1b174448c04b9dcfbebad800
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Sep 16 09:32:58 2020 -0500
fix(pluginConfigure): Get rid of deadlock while starting plugins.
This gets rid of deadlocks that can happen when the plugin Configure
call needs to make API calls back to dr-provision as part of its
configuration process. can happen whenever loading content that
creates of modifies and existing plugin. To fix it, we make two
changes:
1. Run the start and configure parts of the plugin afterSave method as
deferred goroutines. THis defers any API calls the plugin mayh
make until after the global lock taken to introduce new content has
been removed.
2. Remove the split backend strategy we had been using to validate
content changes. This led to us holding rt.allLocked in two
different places, which defeated the fix in point 1.
M backend/dataTracker_test.go
M backend/pluginProvider_test.go
M backend/pluginProviders.go
M backend/plugins.go
M backend/profiles_test.go
M backend/runningPlugin.go
M backend/utils.go
M clitest/plugins_test.go
A clitest/test-data/dangerPluginChangeOne.yaml
A clitest/test-data/dangerPluginCreate.yaml
A clitest/test-data/dangerPluginRemove.yaml
A clitest/test-data/output/TestPluginsFromDangerContent/contents.destroy.dangerContent/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/contents.upload.test-data/dangerPluginChangeOne.yaml/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/contents.upload.test-data/dangerPluginCreate.yaml/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/contents.upload.test-data/dangerPluginRemove.yaml/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugin_providers.upload.dangerzone.from/tools/build/dangerzone/stderr.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugin_providers.upload.dangerzone.from/tools/build/dangerzone/stderr.expect~
A clitest/test-data/output/TestPluginsFromDangerContent/plugin_providers.upload.dangerzone.from/tools/build/dangerzone/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugin_providers.upload.incrementer.from/tools/build/dangerzone/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.actions.danger1.5390b768d8d29fb7a7e173e9e11110cf/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.runaction.danger1.restartProvider.fb937d1d56ed1ec43145a4ad884b35e2/stderr.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.runaction.danger1.restartProvider.fb937d1d56ed1ec43145a4ad884b35e2/stderr.expect~
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.runaction.danger1.restartProvider.fb937d1d56ed1ec43145a4ad884b35e2/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.runaction.danger1.startProvider.fb937d1d56ed1ec43145a4ad884b35e2/stderr.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.runaction.danger1.startProvider.fb937d1d56ed1ec43145a4ad884b35e2/stderr.expect~
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.runaction.danger1.startProvider.fb937d1d56ed1ec43145a4ad884b35e2/stdout.expect
A clitest/test-data/output/TestPluginsFromDangerContent/plugins.runaction.danger1.stopProvider.fb937d1d56ed1ec43145a4ad884b35e2/stdout.expect
M cmds/dangerzone/dangerzone.go
M cmds/dr-waltool/waltool.go
M datastack/stack.go
M datastack/stack_test.go
M datastack/streamingSync_test.go
M frontend/content.go
M midlayer/fake_midlayer_server_test.go
M server/server.go
commit 186b3ce6bd8bf140e4088ae3277b3f5c5ec8aaea
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Sep 15 09:40:56 2020 -0500
Close plugin start/config race test
M backend/conncache.go
M backend/conncache_test.go
M backend/plugins.go
commit a4b0133c114bdeba2622fa81e85dae3dbe17fd7d
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Sep 14 19:07:34 2020 -0500
fix(plugins): Have rplugin provider stop use contexts.
This should be less racy and prone to deallock than our current
situation.
M backend/plugins.go
M backend/runningPlugin.go
commit 855a0bc9d1ed89043f8ce0bdafa45bbc8c9690f9
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Sep 14 15:32:19 2020 -0500
Fix TFTP race errors
M go.mod
M go.sum
M midlayer/static_test.go
M midlayer/tftp.go
M midlayer/tftp_test.go
commit ec76b43c7c44b73fc6be69306cddb9a441190b56
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Mon Sep 14 14:47:43 2020 -0500
feat(filter): Add ability to search list parameters
M backend/machines.go
M clitest/machines_test.go
A clitest/test-data/output/TestMachineProfilesAndParams/machines.count.array.In.foo/stdout.expect
A clitest/test-data/output/TestMachineProfilesAndParams/machines.count/stdout.expect
A clitest/test-data/output/TestMachineProfilesAndParams/machines.list.array.In.89ee53bbd48ddc638860e97ff599cb76/stdout.expect
A clitest/test-data/output/TestMachineProfilesAndParams/machines.list.array.In.foo.sort.Name.31f81301b37ac8a6230abeb9c6bb5514/stdout.expect
A clitest/test-data/output/TestMachineProfilesAndParams/machines.set.Name.bob.param.array.to.7ccac9cb7ab41e82608fb323cb49dff7/stdout.expect
A clitest/test-data/output/TestMachineProfilesAndParams/machines.set.Name.fred.param.array.to.3468457c6c69383c04c818bb993115a0/stdout.expect
A clitest/test-data/output/TestMachineProfilesAndParams/params.create.02868fc512d61f16316da1df9ced3e18/stdout.expect
A clitest/test-data/output/TestMachineProfilesAndParams/params.destroy.array/stdout.expect
M clitest/test-data/output/TestPluginProviderCli/plugin_providers/stdout.expect
M go.mod
M go.sum
commit 9cda5bef98c69bedb13a0318b9623b7c5dca654d
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Sep 10 15:27:37 2020 -0500
test(selfRunner): Update unit tests to account for the selfRunner machine.
Since we now run the clitests with a self runner going (to make sure that
setup and teardown of the selfRunner do The Right Thing), adjust all
the unit tests to account for the extra data returned.
M clitest/pools_test.go
M clitest/test-data/output/TestAuth/info.get/stdout.expect
M clitest/test-data/output/TestAuth/machines.list.611601b3efac342fd10027372140fe8c/stdout.expect
M clitest/test-data/output/TestAuth/machines.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M clitest/test-data/output/TestContentCli/contents.list.2/stdout.expect
M clitest/test-data/output/TestContentCli/contents.list.3/stdout.expect
M clitest/test-data/output/TestContentCli/contents.list.4/stdout.expect
M clitest/test-data/output/TestContentCli/contents.list.5/stdout.expect
M clitest/test-data/output/TestContentCli/contents.list/stdout.expect
M clitest/test-data/output/TestContentsFunctionalCli/contents.list.2/stdout.expect
M clitest/test-data/output/TestContentsFunctionalCli/contents.list/stdout.expect
M clitest/test-data/output/TestFilesCli/files.upload.common_test.go.as.greg/stdout.expect
M clitest/test-data/output/TestInfoCli/info.get/stdout.expect
M clitest/test-data/output/TestIsosCli/isos.upload.common_test.go.as.greg/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list.2/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list.3/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list.4/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list.5/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list.6/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list.BootEnv=local/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list.Runnable=true/stdout.expect
M clitest/test-data/output/TestMachineCli/machines.list/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.058d21c0e6cb3c5289eff59b3e780a8c/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.17f7c9ff57515bedf56514ceb45706c6.2/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.17f7c9ff57515bedf56514ceb45706c6/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.3b65b8bf83bb0df91e244e42ea277903/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.4ea62458ff1801b8063a65624f7bab27/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.600afa17281a93239aef10d9ebae62bf/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.78a052c944648e1e91fbd61ee97bd6d4/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.9bbab6f5d538a729971bcb5032ad341b/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.b8e73264cb6ef962cfaf17b04fac6d71/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.b9e60201987d64e4aa36caf65d997a5c/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.bc0b07788588a908ce638d2a92692494/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.ccabbbc19b05719ba189fc8a1b3673fd/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.cf145f5a6380cce06c9dd39303105707/stdout.expect
M clitest/test-data/output/TestMachineParamFiltering/machines.list.ed03be6aa5645fe42f7f7a2df21d89ee/stdout.expect
A clitest/test-data/output/TestPoolCli/machines.361d9187023d11f3b966d823b2ccea0e/stderr.expect
A clitest/test-data/output/TestPoolCli/machines.destroy.Name.pt-9/stderr.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.59ab771ce8d93254d638f2f2e828a34d/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.15/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.16/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.17/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.18/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.19/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.2/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.20/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.21/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.22/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.23/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.25/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.3/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae.8/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=default.f416df4e47ccbd4730144dbbe25020ae/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.10/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.11/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.12/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.13/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.14/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.15/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.16/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.20/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.21/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.22/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.23/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.24/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.26/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.27/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.28/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.29/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.30/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.31/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.32/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.33/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.34/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.36/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.37/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.38/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.4/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.44/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.45/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.46/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.48/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.49/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.5/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.50/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.51/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.52/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.6/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.7/stdout.expect
M clitest/test-data/output/TestPoolCli/machines.list.Pool=fred.f416df4e47ccbd4730144dbbe25020ae.9/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.add.fred.0f86f614bb1fcf631e0eae0b38d663a7.2/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.add.fred.0f86f614bb1fcf631e0eae0b38d663a7.3/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.add.fred.0f86f614bb1fcf631e0eae0b38d663a7.4/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.add.fred.0f86f614bb1fcf631e0eae0b38d663a7.5/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.add.fred.0f86f614bb1fcf631e0eae0b38d663a7.6/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.add.fred.0f86f614bb1fcf631e0eae0b38d663a7.7/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.add.fred.0f86f614bb1fcf631e0eae0b38d663a7/stdout.expect
A clitest/test-data/output/TestPoolCli/pools.manage.allocate.fred.17a36955f29940aeee09edc24af6054d/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.allocate.fred.ed091a9217beb3cbe48a7ee4a1afa799/stdout.expect
A clitest/test-data/output/TestPoolCli/pools.manage.allocate.fred.f559fcccb5c4682baf82f3699b23f1d3/stderr.expect
M clitest/test-data/output/TestPoolCli/pools.manage.release.fred.0f86f614bb1fcf631e0eae0b38d663a7/stdout.expect
A clitest/test-data/output/TestPoolCli/pools.manage.release.fred.17a36955f29940aeee09edc24af6054d/stdout.expect
A clitest/test-data/output/TestPoolCli/pools.manage.release.fred.f559fcccb5c4682baf82f3699b23f1d3/stderr.expect
M clitest/test-data/output/TestPoolCli/pools.manage.remove.fred.0f86f614bb1fcf631e0eae0b38d663a7.11/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.remove.fred.0f86f614bb1fcf631e0eae0b38d663a7.12/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.remove.fred.0f86f614bb1fcf631e0eae0b38d663a7.2/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.remove.fred.0f86f614bb1fcf631e0eae0b38d663a7.4/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.remove.fred.0f86f614bb1fcf631e0eae0b38d663a7.6/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.remove.fred.0f86f614bb1fcf631e0eae0b38d663a7.7/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.manage.remove.fred.0f86f614bb1fcf631e0eae0b38d663a7/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.2/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.20/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.21/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.22/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.23/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.29/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.30/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.31/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.32/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.34/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.35/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.39/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.40/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.41/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.42/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.43/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.44/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.48/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.49/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.55/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.56/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.57/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.58/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.59/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.60/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.61/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.62/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.63/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.64/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.65/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.66/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.67/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.68/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.69/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.7/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.70/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.71/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.default.8/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.11/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.12/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.13/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.14/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.15/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.16/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.17/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.18/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.19/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.20/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.21/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.22/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.27/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.28/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.29/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.30/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.31/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.36/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.37/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.38/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.39/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.40/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.41/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.42/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.43/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.44/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.47/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.48/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.49/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.5/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.56/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.57/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.58/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.6/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.61/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.62/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.63/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.64/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.65/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.7/stdout.expect
M clitest/test-data/output/TestPoolCli/pools.status.fred.8/stdout.expect
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 datastack/stack.go
M server/selfManage.go
M server/server.go
commit 197f4ca171e44258bcf52e95b1b9d621c14e1d27
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Sep 10 13:00:00 2020 -0500
test(selfRunner): Allow for clean server shutdowns.
This refactors the midlayer.Service abstraction to use Close() instead
of Shutdown(), as when we are shutting down we don't really care about
letting all the connections gracefully exit.
server.Server is also refactored to accept a Context that can be used to
shut everything down from the outside.
selfRunner has been refactored to run as a midlayer.Service.
functions that run a server as a goroutine for test coverage purposes
now pass in a Context to server.Server that is used to kill the Server
when tests finish.
Still need to fix up unit tests and the like.
M clitest/common_test.go
M cmds/dr-provision/dr-provision.go
M cmds/dr-test/dr-test.go
M midlayer/dhcp.go
M midlayer/service_impl.go
M midlayer/tftp.go
M server/selfManage.go
M server/server.go
M server/server_test.go
M server/watcher.go
M test/server.go
M utils/prom_gateway.go
commit 4c83b44b240d792652a3275cc81116c3d9f2f896
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Sep 10 11:12:14 2020 -0500
test(selfRunner): Start covering the selfRunner code during unit tests.
Since we are changing up how the selfRunner works, we may as well start unit
testing it as well.
M clitest/common_test.go
M server/selfManage.go
M test/server.go
commit 0cc34688671deec261e5bb25d428c2ab74a64af4
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Sep 9 15:10:05 2020 -0500
fix(selfRunner): Have the selfRunner run as a subprecess.
It is now a bog-standard drpcli machines processjobs instead of a goroutine.
This will keep a fault in the agent from taking dr-provision down if something
goes wrong.
M clitest/test-data/output/TestPluginProviderCli/plugin_providers/stdout.expect
M go.mod
M go.sum
M server/selfManage.go
M server/server.go
commit e7e557a392007ad5da781f78def917e041446cca
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 10 10:53:30 2020 -0500
fix(dhcp): Make customer bootloader message less scary.
M midlayer/pxe.go
commit a6f2edd833f9d15d3c9eba83257d97324d75a635
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Sep 8 12:33:41 2020 -0500
fix(manager): rebuild catalog should init the environment.
M frontend/plugins.go
commit beb4a25f6a70283eaae5623286a9c5dacc5c7c72
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Fri Sep 4 13:55:11 2020 -0500
fix: udpate to latest client
M go.mod
M go.sum
commit b3e592f836ed2b1eb5e84a4a4b9f1bb519ff3c0b
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Fri Sep 4 01:03:16 2020 -0500
fix(ha,manager): remove deadlock potiential
M midlayer/dhcp.go
M server/server.go
commit 6e9be3ce6df8a970fa5f201845255b4af4113bb8
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 3 22:34:02 2020 -0500
fix(test): update a unit tests.
M clitest/test-data/output/TestSystemCli/system.get.john2/stdout.expect
M clitest/test-data/output/TestSystemCli/system/stdout.expect
commit 940a8ed8d4fd0c462e35c02dcb33d52944350262
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 3 21:28:39 2020 -0500
fix(ha,manager): add electable to the status of ha systems
M datastack/streamingSync.go
M datastack/streamingSyncActive.go
M datastack/streamingSyncPassive.go
M frontend/system.go
M go.mod
M go.sum
commit e55fdad88b45160e7e8b6af20c1fb08355a98741
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 3 11:36:32 2020 -0500
fix(server): put IsUp back
M server/server.go
commit a51bcdd81b4ebee34396a4c8571212eec9093088
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 3 11:26:30 2020 -0500
fix: go mod refs
M go.mod
M go.sum
commit 6bd8d11d8d6373d740c55044542a062355b3357b
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 3 11:16:51 2020 -0500
fix(manager,ha): more tweaks with HA code review
M datastack/stack.go
M datastack/streamingSyncPassive.go
M datastack/wal.go
M frontend/system.go
M server/server.go
commit e1d4f92bb17605d2a7a9657e1c76252d68fe8765
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Sep 3 08:45:46 2020 -0500
refactor(datastack): Fix LINT issues in file
M datastack/streamingSyncPassive.go
commit dec88dfcb5f8e18f28f95400f8c6a6929cccb08d
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Wed Sep 2 21:25:11 2020 -0500
fix(ha,mamager): add shorter timeouts and short circuit failures
M datastack/streamingSyncPassive.go
M frontend/frontend.go
M frontend/system.go
M go.mod
M go.sum
M server/server.go
commit a3ab45915cf960c3abfe6e219928064e658425ef
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Wed Sep 2 13:37:54 2020 -0500
fix(manager,ha): Reindex objects on restart
M datastack/endpoint_stack.go
M datastack/stack.go
M frontend/frontend.go
M frontend/system.go
M go.mod
M go.sum
M server/server.go
commit ec8814e691749997ddc8157fa596b2d15d4c185c
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Sep 1 17:52:42 2020 -0500
fix(manager,ha): more tweaks to be more active.
This has signal issues and needs rebase.
M frontend/frontend.go
M midlayer/dhcp.go
M server/server.go
commit 906f84fbe235093b3c7db6d5bddc93cfee0f1d97
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Sep 1 12:07:05 2020 -0500
feat(manager,ha): allow passive to be more active.
M frontend/frontend.go
M frontend/info.go
M frontend/system.go
M server/server.go
commit 63ba987aea884bfd1401dd2d6ab67c34c97c89aa
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Sep 3 14:12:04 2020 -0500
feat(ha-ip-helper): COntrol the HA VIP using a script.
This adds the ability to have dr-provision call an external script
whenever it needs to add or remove an IP address to a network interface.
The script takes 3 arguments in the following order:
add|remove interface addr/netmask
The script needs to add or remove the passed adcdress from the passed
interface. dr-provision will take care of sending any gratuitous ARP
packets that are required.
M midlayer/ha.go
M server/server.go
commit 28f4d2b9a50aa9223c64ac12c77ca1317cb1dc16
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Sep 3 11:58:50 2020 -0500
fix(tests) Fix unit tests and pull in latest client code.
This brings the v4 branch up to date with all the bugfixes in the
4.4.0 branch.
M clitest/test-data/output/TestInfoCli/info.get/stdout.expect
M cmds/dr-waltool/waltool.go
M go.mod
M go.sum
commit f6125970a0d3873791c7eee1c50bb116250b6039
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Sep 2 15:05:23 2020 -0500
fix(aggParams): Test API aggregation and decoding bug.
The API had a longstanding bug that did not allow for multiple sets of
params to be added to a Request as documnted. Pull in that fix and add unit
tests to make sure everything functions as documented.
M clitest/secure_params_test.go
A clitest/test-data/output/TestSecureParamUpgrade/machines.addprofile.Name.bob.bob/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.create.bob/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.destroy.Name.bob/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test.0526e14e902277370e0dccbf146ef3e4.2/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test.0526e14e902277370e0dccbf146ef3e4.3/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test.0526e14e902277370e0dccbf146ef3e4/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test.2/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test.3/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test.4511eb3c21e6a5af9838d6483226101c/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test.f82e3e46e25100eddbb25d4c814e4866/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.get.Name.bob.param.test/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.remove.Name.bob.param.test/stdout.expect
A clitest/test-data/output/TestSecureParamUpgrade/machines.set.Name.bob.param.test.to.bar/stdout.expect
commit 2dba7989e8408131ef37143865e5a2ffbee645fd
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Sep 2 13:04:57 2020 -0500
fix(roles): Re-add claim processing on raw models.
Oops, the glue code that enabled this vanished in a fit of overzealous
refactoring November of 2019. Add it back, updated for current code.
M backend/jwt-utils.go
M backend/roles.go
M clitest/info_test.go
A clitest/test-data/output/TestInfoCli/info.get/stdout.expect
M datastack/stack.go
commit ebdc456b12c4cd8d719161177519d12870a03e8e
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Aug 31 08:51:57 2020 -0500
fix(dhcp-and-profile): Fix a couple of bugs found by Jan.
First, we should not be saving Paramers that come from installed content
when we have to rewrite them to handle transparently securing secure
params.
Second, fix the DHCP server to ignore more repeated packets, and loosen the
logic used to detect whether an incoming renewal request should be checked
to see if it has migrated from one subnet to another.
M backend/dataTracker.go
M datastack/stack.go
M midlayer/dhcp.go
M midlayer/dhcp_test.go
M midlayer/fake_midlayer_server_test.go
commit ca0d113ef877e5107cf3c28af2315014b0f6e146
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Aug 14 09:40:32 2020 -0500
feat(walTool): Add more debugging to dr-waltool.
M cmds/dr-waltool/waltool.go
commit 084118f844b2dc47c5663192de6abc21f56b96f8
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Sep 2 11:03:52 2020 -0500
perf(newModels): Pull in models.New perf enhancement from client code
M go.mod
M go.sum
commit a0f4910786977de8a00723cf32a26b23476c4356
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Wed Aug 26 14:47:33 2020 -0500
fix(manager): Send create events on endpoint creates
M backend/endpoint_manager.go
commit 3cff2111fe3ca043fbc9299ffdd4b9819f0e6a1e
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Aug 25 15:18:23 2020 -0500
doc(dr-waltool): Clean up help for the dr-waltool command.
The help output for dr-waltool and its subcommands was all over the place.
This rationalizes it and cleans it up.
M cmds/dr-waltool/waltool.go
commit 22823ee4594bfd5ffffbc5ec68703f9c35c87831
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Aug 25 13:03:40 2020 -0500
fix(plugins): clear plugin errors on plugin_provider load
In order to make sure the plugin valid state is accurate,
clear it to get a good value when a plugin_provider starts
M backend/pluginProviders.go
commit bc792e8126e020dadf186dd261ad5ebdf40070c9
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Aug 21 14:49:42 2020 -0500
perf(startup): More startup performance enhancements.
* Use easyjson for handling JSON encoding and decoding of WalEntry objects.
While it requires code generation, it is more efficient at skipping
the data we are going to defer unmarshalling anyways. The only thing
faster would be simdjson, but it would limit where we could run to CPUs
to either ARM64 or AMD64 with AVX instructions, and I am not quite ready
to go there yet.
* Make WalEntry a models.Model.
* Teach index.BulkModify how to parallelize bulk operations on index data.
With these two changes, we get rid of a bunch of logic that we used to
use to cache in-flight replay data for later decoding, along with a bunch
of overhead relating to progressively sorting items that have to do extra
work to calculate their Key.
* Use pgzip to unzip individual commit records above a certain size.
pgzip allows the gzip decompression to run ahead of the rest of the
walEntry processing. It is a net win when processing basefiles and larger
commits.
M backend/utils.go
M cmds/dr-waltool/waltool.go
M datastack/index/index.go
M datastack/perTxWalReplay.go
M datastack/stack.go
M datastack/stack_legacy.go
M datastack/wal.go
A datastack/walEntry.go
A datastack/walEntry_easyjson.go
M go.mod
M go.sum
commit 5d87a958eb240150c117d5731846512eedc282a1
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Aug 25 11:11:14 2020 -0500
fix(contexts): add validation for plugin to context and vice versa
M backend/contexts.go
M backend/plugins.go
commit 3f7679258878d5250e641586b2d44311a32fbd23
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Aug 25 09:48:26 2020 -0500
fix(manager): don't loop forever doing the last action.
M backend/endpoint_manager.go
commit 1633ae98b768a1b486994920e5d0affb5d401383
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Mon Aug 24 22:47:24 2020 -0500
fix(manager): fix plugin ref and return success on buildCatalog
M frontend/plugins.go
commit aed309c7bfb596b4913bcc188b9ee7a34efdbb83
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Mon Aug 24 15:42:01 2020 -0500
feat(cli): count action unit test updates (just help)
M clitest/test-data/output/TestBootEnvCli/bootenvs/stdout.expect
M clitest/test-data/output/TestEndpointCli/8e370dd79b74669671136f037e0adb61/stdout.expect
M clitest/test-data/output/TestInterfaceCli/interfaces/stdout.expect
M clitest/test-data/output/TestJobCli/jobs/stdout.expect
M clitest/test-data/output/TestLeaseCli/leases/stdout.expect
M clitest/test-data/output/TestMachineCli/machines/stdout.expect
M clitest/test-data/output/TestParamCli/params/stdout.expect
M clitest/test-data/output/TestPluginCli/plugins/stdout.expect
M clitest/test-data/output/TestPluginProviderCli/extended/stdout.expect
M clitest/test-data/output/TestPluginProviderCli/plugin_providers/stdout.expect
M clitest/test-data/output/TestPoolCli/pools/stdout.expect
M clitest/test-data/output/TestProfileCli/profiles/stdout.expect
M clitest/test-data/output/TestReservationCli/reservations/stdout.expect
M clitest/test-data/output/TestRoleCLI/roles/stdout.expect
M clitest/test-data/output/TestStageCli/stages/stdout.expect
M clitest/test-data/output/TestSubnetCli/subnets/stdout.expect
M clitest/test-data/output/TestTaskCli/tasks/stdout.expect
M clitest/test-data/output/TestTemplateCli/templates/stdout.expect
M clitest/test-data/output/TestUserCli/users/stdout.expect
M clitest/test-data/output/TestWorkflowCli/workflows/stdout.expect
M go.mod
M go.sum
commit 5002796ff9abd4e787deaadb37401f47cd5bfbf8
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Aug 20 13:22:37 2020 -0500
feat(plugin): Allow for manual plugin starting/stopping/restarting.
Unitl now, you never had a choice about when a plugin would start its
provider -- if hte provider was present, it was started, and the only way to
stop or restart it was to change or remove the plugin. This adds
three new actions to plugins that allow you to stop, start, and restart
a provider.
M backend/plugins.go
M backend/requestTracker.go
M clitest/plugins_test.go
A clitest/test-data/output/TestPluginsFromContent/plugins.actions.incr1.5390b768d8d29fb7a7e173e9e11110cf/stdout.expect
A clitest/test-data/output/TestPluginsFromContent/plugins.runaction.incr1.restartProvider.5390b768d8d29fb7a7e173e9e11110cf/stderr.expect
A clitest/test-data/output/TestPluginsFromContent/plugins.runaction.incr1.restartProvider.5390b768d8d29fb7a7e173e9e11110cf/stdout.expect
A clitest/test-data/output/TestPluginsFromContent/plugins.runaction.incr1.startProvider.5390b768d8d29fb7a7e173e9e11110cf/stderr.expect
A clitest/test-data/output/TestPluginsFromContent/plugins.runaction.incr1.startProvider.5390b768d8d29fb7a7e173e9e11110cf/stdout.expect
A clitest/test-data/output/TestPluginsFromContent/plugins.runaction.incr1.stopProvider.5390b768d8d29fb7a7e173e9e11110cf/stdout.expect
commit b704193c5374bd65b129b020ae2bbfaf615d5220
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Aug 19 12:22:39 2020 -0500
fix(template): Fix colliding per-object template namespaces.
The recent template validation refactor could allow templates defined
in tasjs, stages, and bootenvs to ovewrite each other in the case that
they the embedded template Names are identical.
M backend/template.go
M clitest/tasks_test.go
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/contents.destroy.brothers/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/contents.destroy.cousins/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/contents.upload.23e5f8def92a47ed55dace976053ab63/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/contents.upload.f744a44bd44def8386601187c1ab7f68/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.actions.00000000-0000-0000-0000-000000000001/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.actions.00000000-0000-0000-0000-000000000002/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.actions.00000000-0000-0000-0000-000000000003/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.actions.00000000-0000-0000-0000-000000000004/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.actions.00000000-0000-0000-0000-000000000005/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.create.0a82fade04be1e460f621e53f83a6662/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.create.37e881403871eb3f52e143a9ddc9d9fe/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.create.82061cc2fdcfe579da3360080e78b067/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.create.b00b350fa781398949be55351182d5f0/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.create.d239ca5f88a5957585f6004156f8f162/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.update.00000000-0000-0000-0000-000000000001.6e0fd891340aa6bf13467800af9650e6/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.update.00000000-0000-0000-0000-000000000002.6e0fd891340aa6bf13467800af9650e6/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.update.00000000-0000-0000-0000-000000000003.6e0fd891340aa6bf13467800af9650e6/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.update.00000000-0000-0000-0000-000000000004.6e0fd891340aa6bf13467800af9650e6/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/jobs.update.00000000-0000-0000-0000-000000000005.6e0fd891340aa6bf13467800af9650e6/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/machines.create.2da0827218e42314e6d85df2047165f4/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/machines.deletejobs.Name.darryl/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/machines.destroy.Name.darryl/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/templates.create.99dd53801b37d33e2b78b1df8c0e1d6b/stdout.expect
A clitest/test-data/output/TestTasksWithIdenticalTemplateNames/templates.destroy.darryl/stdout.expect
commit 6351d57323ec04a7b311d1f83b307085ef7d78f0
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Aug 3 12:28:10 2020 -0500
feat(replaceWritable): Content install can now replace writable objects.
The content and plugin provider upload API calls now accept a
replaceWritable param, which (if true) will have the upload process
remove any objects in the local writable store that has the same
unique identifier.
M backend/dataTracker.go
M backend/pluginProvider_test.go
M backend/pluginProviders.go
M clitest/contents_test.go
M clitest/test-data/output/TestAuth/info.get/stdout.expect
M clitest/test-data/output/TestContentCli/contents.create.john.john2/stderr.expect
M clitest/test-data/output/TestContentCli/contents.create.test-data/content.yaml/stderr.expect
M clitest/test-data/output/TestContentCli/contents.create/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
A clitest/test-data/output/TestContentReplaceWritable/contents.destroy.bob/stdout.expect
A clitest/test-data/output/TestContentReplaceWritable/contents.upload.test-data/bob1.yaml.4deeee6b7fd499130841cdda831b21d3/stdout.expect
A clitest/test-data/output/TestContentReplaceWritable/contents.upload.test-data/bob1.yaml/stderr.expect
A clitest/test-data/output/TestContentReplaceWritable/stages.create.bob/stdout.expect
A clitest/test-data/output/TestContentReplaceWritable/stages.show.bob.2/stdout.expect
A clitest/test-data/output/TestContentReplaceWritable/stages.show.bob.3/stdout.expect
A clitest/test-data/output/TestContentReplaceWritable/stages.show.bob.4/stderr.expect
A clitest/test-data/output/TestContentReplaceWritable/stages.show.bob/stdout.expect
M clitest/test-data/output/TestContentRequiredFeatures/contents.create.ac4d20bab548d64d6607863b30220999/stderr.expect
M clitest/test-data/output/TestContentsFunctionalCli/contents.create.15403cc39b7ae9e66716216634f1cd9a/stderr.expect
M clitest/test-data/output/TestContentsFunctionalCli/contents.create.740c331718d653ae77e7875d61c12c77/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/TestTasksInContentBundles/contents.upload.08029c88c6feb80bd58ff4ee5706a970/stderr.expect
M clitest/test-data/output/TestTasksInContentBundles/contents.upload.67d0d4d863f66bdc6d92728b359211bc/stderr.expect
M clitest/test-data/output/TestTasksInContentBundles/contents.upload.d6378f265d68e2d7d070802786c140ec/stderr.expect
M clitest/test-data/output/TestTasksInContentBundles/contents.upload.f1830d56d1454a58c88a24b232dd348d/stderr.expect
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 datastack/stack.go
M datastack/stack_test.go
M frontend/content.go
M frontend/plugin_providers.go
M frontend/plugins.go
M go.mod
M go.sum
commit 051f7d53e31564220d06e379a40fbd2a8dfe1560
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Aug 18 10:07:32 2020 -0500
fix(revalidate): Fix data race when validating content bundles.
So, it turns out we were still falling through to the old revalidate
everything code after processing a content bundle change list. Not
only was this hiding a few bugs with the new code, it caused spurious
data races in the parallel revalidate everything code.
Rework changes to make content bundle changes validate as intended and
thereby avoid the spurious data race.
M backend/dataTracker.go
M backend/profiles_test.go
M backend/utils.go
commit f4f1b3338ee8b26c1760a585d90f5fb4a07d403f
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Aug 17 11:57:18 2020 -0500
perf(startup): Parallelize object processing on startup
This adds parallelism in two places at system startup.
The first is when bulk unmarshalling data from the WAL. The
max batch size has been increased from 4 megs to 32, and actual
unmarshalling load is equally divided among the CPUs present on the
system if the total amount of data being unmarshalled passes a certain
threshold.
The second is when validating data when building the datatracker. The
data load for parallelization is divided across all CPUs in the same fashion
as when being bulk unmarshalled, unless the objects in question are
backed by a RawModel -- trying to parallelize operations on them resulted
in concurrent map access panics.
M backend/dataTracker.go
M datastack/index/index.go
M datastack/stack.go
commit 8c399a9cbe95312c6e2233db7e6baf724b9f6602
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Aug 17 11:00:52 2020 -0500
perf(startup): Cache sorted indexes.
This adds functionality to the Index layer to recognize when we are
asking for a sorted version of a base index, and caches the result
for later use if we are. The cache will be invalidated if anything
is added, removed, or modified in the base layer of the index.
To enable this to work properly, Names have been added to all Makers
where applicable, to give each index a set of unique keys to work with.
M backend/bootenv.go
M backend/catalog_items.go
M backend/contexts.go
M backend/endpoints.go
M backend/jobs.go
M backend/lease.go
M backend/machines.go
M backend/param.go
M backend/pluginProviders.go
M backend/plugins.go
M backend/pools.go
M backend/profiles.go
M backend/raw_model.go
M backend/reservation.go
M backend/roles.go
M backend/stage.go
M backend/subnet.go
M backend/task.go
M backend/template.go
M backend/tenants.go
M backend/user.go
M backend/version_sets.go
M backend/workflow.go
M datastack/index/index.go
M datastack/index/index_test.go
commit 19b3d4baad7c7d044785ad22a30cd506a3221567
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Aug 14 13:32:55 2020 -0500
Perf enchancements to machine processing during startup
M backend/bootenv.go
M backend/dataTracker.go
M backend/machines.go
commit e5c8dd5e3b928830a24617429d8bb4129e5f90c9
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Aug 14 09:40:32 2020 -0500
feat(walTool): Add more debugging to dr-waltool.
M backend/dataTracker.go
M cmds/dr-waltool/waltool.go
M datastack/stack.go
commit 1be10310c811cb69dd3f07eca56c4c8159aff35c
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Aug 14 12:14:54 2020 -0500
test(parProfiles): Add staged transaction blocking tests.
Add a test to testParallelProfiles that tests transaction
unblocking at scale.
M backend/profiles_test.go
commit 9a5ae53ddf5a5b29fdd3fb45bd4fdc7a0f4849ee
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Fri Aug 14 12:00:30 2020 -0500
fix(transact): fix possible channel miss on wake up and tighten read acquire
The channel semantics are annoying that you can miss wakeups because
of timing. So, close the channel instead of message passing to
ensure that we are unblocking the waiter. This is a better
semantic for this use.
Also, make the read acquire code a little tighter and clearer.
Add some debugging helper functions.
M transact/tx.go
commit e94416d99a771fcf31e015196cbcc170c291c89e
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Fri Aug 14 00:24:18 2020 -0500
fix(replication): fix some holes in sync and order of stream commits
The synchronizers variable on stack was not protected in all cases by
the spaceLock. Also, some races occur around the syncStream buf because
the atomic check for open could immediately close and generate a panic.
This moves the sychronizer notifications for commits into the flusher
to maintain order. This means that the flusher could be blocked if
a passive receiver runs slow, but it would slow down the system while
the system waited for the commit to complete. Not sure there is much
difference between the two places. We could up the queue depth on the
commit streaming queue.
M datastack/content.go
M datastack/streamingSyncActive.go
M datastack/wal.go
commit ad2e97cc8f236e8a4c90edf55b01b8e5b1008353
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Aug 12 12:49:36 2020 -0500
fix(transact): Rework deadlock avoidance and unblocking.
This reworks the transact system to track deadlocks and runnability
in terms of other transactions instead of objects, which simplifies
that code and makes it easier to reason about.
M transact/tx.go
M transact/tx_test.go
commit 8eca55e53a6e892ef72457c92414e742ab0b9ea6
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Aug 11 09:48:17 2020 -0500
fix(dhcp): Fix probable sources of DHCP corruption
First, coalesce all DHCP packet handling into a single transaction per packet.
This will make the retgry logic properly attempt to start handling the DHCP
request from the start when we need to.
Second, stop using a buffer pool for DHCP handling.
Based on the weird lease patterns, I suspect that there has been some
unchecked memory reuse caused by trying to pool the per-request byte
buffers under high request pressure. Switch back to relying on garbage
collection to keep everything sane.
Third, check for changed interfaces every 5 seconds.
We were checking the interface map on the machine with every DHCP request,
which on systems handling a heavy DHCO load would eat a lot of CPU and memory.
This refactors things to only check for available interface changes every
5 seconds.
Stress tested with
$ perfdhcp -4 -R300 -l virt -L 5432 -r 1000 -t 5 -a 100
on a subnet that only has space for 200 addresses, no apparent address
corruption or wandering leases.
M backend/dhcpUtils.go
M backend/dhcpUtils_test.go
A cmds/h2ip/h2ip.go
M midlayer/abp.go
M midlayer/dhcp.go
M midlayer/fake_midlayer_server_test.go
M midlayer/pxe.go
commit 1e494ce3a61880e04f9f26224c927d87803a61ae
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Jul 30 12:47:07 2020 -0500
fix(dhcp): Simplify lease address allocation codepaths.
This gets rid of a significant amount of duplicated code in the lease
address allocation codepath that has snuck in, and pulls most of the
lease validity checking that happens as part of DISCOVER handling
into a single transaction.
M backend/dhcpUtils.go
M backend/dhcpUtils_test.go
M backend/lease.go
M backend/requestTracker.go
M backend/subnet.go
M midlayer/00_aone_test.go
M midlayer/common_test.go
M midlayer/dhcp-tests/0000-basic-ipxe-discover/0000.logs-expect
M midlayer/dhcp-tests/0000-basic-pxe-discover/0000.logs-expect
M midlayer/dhcp-tests/0000-basic-uefi-discover/0000.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0000.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0001.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0002.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0003.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0004.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0005.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0006.logs-expect
M midlayer/dhcp-tests/0001-test-lease-wraparound/0015.logs-expect
M midlayer/dhcp-tests/0003-ipxe-uefi-discover/0000.logs-expect
M midlayer/dhcp-tests/0004-option82-reflection/0000.logs-expect
M midlayer/dhcp-tests/0004-option82-reflection/0001.logs-expect
M midlayer/dhcp-tests/0004-option82-reflection/0002.logs-expect
M midlayer/dhcp-tests/0004-option82-reflection/0003.logs-expect
M midlayer/dhcp-tests/0004-option82-reflection/0004.logs-expect
M midlayer/dhcp-tests/0004-option82-reflection/0005.logs-expect
M midlayer/dhcp.go
A midlayer/dhcp_scale_test.go
M transact/tx.go
commit 152e282e4509f8b10f56c5136ab8faebd8e60b4f
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Aug 7 11:11:13 2020 -0500
fix(walTool): Profiles not writing data.
the cpuProfile and memProfile flags were not operating correctly.
Fix them and ensure that loaded data is still in memory when
we go to save the alloc and inUse memory profiles.
Signed-off-by: Victor Lowther <victor.lowther@gmail.com>
M cmds/dr-waltool/waltool.go
commit 0f9706efb199d7361a8c566bc6a655b3ed8a7190
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Aug 4 08:26:38 2020 -0500
fix(secureBoot): Grub does not work in UEFI with proxy DHCP.
There is a known issue with Grub not reading DHCP options from
the cirrent packet. Until that is resolved upstream, detect the
situation and fall back to not using secure boot mode.
M backend/dhcpUtils.go
M midlayer/pxe.go
commit 6d7568a4ee0074c8290ef339fd813e275e92f8cf
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Aug 7 09:53:42 2020 -0500
fix(unittest): Sigh, don't check the size of incrementer
M clitest/test-data/output/TestPluginsFromContent/plugin_providers.upload.incrementer.from/tools/build/incrementer/stdout.expect
commit 732e9632556a1288cef3685fc0889befc607eefc
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Aug 6 14:14:21 2020 -0500
fix(contentLoad): Fix plugin-related content load bugs.
The backend Validate function has no idea where the sockets for talking
to running plugins were located, so it could wander off into lala land
when it needed to communicate with a plugin. Fix this by making
datastack responsible for keeping track of it instead.
Identical content detection did not consider any content to be identical,
due to content validation fields and the ReadOnly field being guaranteed
to be different. Before checking to see whether items are identical,
set ReadOnly to be true (since at that point it is guaranteed to be
anyways), and clear out validation.
Add a unit test to test that plugin add/change/remove triggers the
start/change/stop events to plugin providers as appropriate.
Signed-off-by: Victor Lowther <victor.lowther@gmail.com>
M backend/dataTracker.go
M backend/dataTracker_test.go
M backend/plugin_controller.go
M backend/runningPlugin.go
M backend/utils.go
M clitest/plugins_test.go
A clitest/test-data/incrPluginChangeOne.yaml
A clitest/test-data/incrPluginCreate.yaml
A clitest/test-data/incrPluginRemove.yaml
A clitest/test-data/output/TestPluginsFromContent/contents.destroy.incrContent/stdout.expect
A clitest/test-data/output/TestPluginsFromContent/contents.upload.test-data/incrPluginChangeOne.yaml/stdout.expect
A clitest/test-data/output/TestPluginsFromContent/contents.upload.test-data/incrPluginCreate.yaml/stderr.expect
A clitest/test-data/output/TestPluginsFromContent/contents.upload.test-data/incrPluginCreate.yaml/stdout.expect
A clitest/test-data/output/TestPluginsFromContent/contents.upload.test-data/incrPluginRemove.yaml/stdout.expect
A clitest/test-data/output/TestPluginsFromContent/plugin_providers.upload.incrementer.from/tools/build/incrementer/stdout.expect
M datastack/stack.go
M server/server.go
commit 085d72dce07363c2929ce5209be579512e67895f
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Aug 5 12:31:23 2020 -0500
fix(indexCorruption): Indexes were being corrupted by duplicate adds/removes
The index.Add and index.Remove code was not properly accounting for having duplicate items passed to Add and Remove,
respectively. That caused Remove to remove extra unrelated items in the case of being called with duplicates,
potentially leading to a panic dues to slices being out of bounds. Add was potentially allowing multiple items in the
Index to have the same Key(), which violates our deeply held beliefs that all keys must be unique for sanity's sake.
This fixes both of those issues by refactoring the Add and Remove codepaths to be aware of duplicates and handle them --
in the case of the Remove codepath, duplicates are ignored, and in the case of the Add codepath, the last of the
objects with identical Key() values will be the one that winds up in the index.
Signed-off-by: Victor Lowther <victor.lowther@gmail.com>
M datastack/index/index.go
M datastack/index/index_test.go
commit 7128c8c8550706bdf27ee8afd8975820319d86db
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Aug 4 17:12:42 2020 -0500
doc: update swagger for new pieces
M server/swagger.base.yml
commit 472f01aecb7459d5f21e6e067170bceb59afaa37
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Jul 30 12:24:54 2020 -0500
doc: minor tweak
M CONTRIBUTING.rst
commit f0a28e8ff500a752b6cbf007fec732db4640e8ab
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Thu Jul 30 12:22:27 2020 -0500
build: update v4.4.0 provision and provision-plugins
M go.mod
M go.sum
commit e0e511b4add3ae9c1c1804048a276e80e7ca31bf
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Wed Jul 29 16:34:08 2020 -0500
build: update to latest drpcli
M go.mod
M go.sum
commit f07844ef7ff8c1573c0dd2c8caaa99ba9161de9c
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Jul 29 12:31:47 2020 -0500
fix(template): Allow template IDs to start with nuimbers
A clitest/catalog_test.go
M go.mod
M go.sum
commit 03c1bf97ecd14c6a422a3da6f91b899c547514ec
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Wed Jul 29 11:05:07 2020 -0500
fix(embedded): add version to embedded drpcli
M tools/build_cli.sh
commit 24708dbe1954377f3b844fbc5072d141020de27b
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Jul 28 13:50:39 2020 -0500
perf(contentPalLoad): Validate that botched updates get rolled back
M backend/bootenv.go
M backend/stage.go
M backend/task.go
M backend/template.go
M clitest/contents_test.go
A clitest/test-data/bob1.yaml
A clitest/test-data/bob2.yaml
A clitest/test-data/bob3.yaml
A clitest/test-data/bob4.yaml
M clitest/test-data/output/TestBootenvStageHandling/stages.create.30f84558be9d7caefb08a7672ef6a725/stdout.expect
M clitest/test-data/output/TestContentCli/contents.create.test-data/content.yaml/stderr.expect
A clitest/test-data/output/TestContentLoadValidation/bootenvs.create.0fd684c07aaf1096509e7449b0e1c140/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/bootenvs.create.7284e44c2281470dc7a0ae35e0922b05/stderr.expect
A clitest/test-data/output/TestContentLoadValidation/bootenvs.create.8fef9e18ebddc6023f741c0e379308da/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/bootenvs.create.be5b231134c9ddc72eb2b6c679fb0dd0/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/bootenvs.destroy.unknownBob/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/contents.destroy.bob/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/contents.upload.test-data/bob1.yaml.2/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/contents.upload.test-data/bob1.yaml/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/contents.upload.test-data/bob2.yaml/stderr.expect
A clitest/test-data/output/TestContentLoadValidation/contents.upload.test-data/bob3.yaml/stderr.expect
A clitest/test-data/output/TestContentLoadValidation/contents.upload.test-data/bob4.yaml/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.bootenvs/bob.2/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.bootenvs/bob.3/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.bootenvs/bob.4/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.bootenvs/bob.5/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.bootenvs/bob/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.stages/fred.2/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.stages/fred.3/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.stages/fred.4/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.stages/fred.5/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.stages/fred/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.uk/fred.2/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.uk/fred.3/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.uk/fred.4/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.uk/fred.5/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/files.static.uk/fred/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/machines.create.bob/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/machines.destroy.Name.bob/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/machines.update.Name.bob.050d0da24857c13849b0458615134e40/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/prefs.set.unknownBootEnv.ignore/stdout.expect
A clitest/test-data/output/TestContentLoadValidation/prefs.set.unknownBootEnv.unknownBob/stderr.expect
A clitest/test-data/output/TestContentLoadValidation/prefs.set.unknownBootEnv.unknownBob/stdout.expect
M clitest/test-data/output/TestTaskCli/tasks.create.8d20432a4e21ef071b283910d9596673/stderr.expect
M clitest/test-data/output/TestTaskCli/tasks.create.c63da551ae6c6bf9e78f37d69408c66c/stderr.expect
M clitest/test-data/output/TestTaskCli/tasks.create.dedd6ced565015e77ca12954ca5e76b9/stderr.expect
M clitest/test-data/output/TestTasksWithElevatedTokens/tasks.create.416f18fb9dc46b108e9d06571a7d1709/stderr.expect
M clitest/test-data/output/TestTasksWithElevatedTokens/tasks.create.de8d8a847507a34220f8ff818a1aa85a/stderr.expect
M go.mod
M go.sum
M pacman/PKGBUILD
commit eab5a14b56a921902b3c0636877e9fa5e0fd6c6a
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Jul 28 11:12:31 2020 -0500
Factor out common template munging code
M backend/dataTracker.go
M backend/stage.go
M backend/template.go
M backend/utils.go
commit f83312864d9f3f19a3d59a976820681a13b6bdce
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Jul 28 13:06:43 2020 -0500
feat(license): All HaId To match endpoint info as well
M backend/license.go
commit bd7e346898df7975981fe8d7bd2bd6d86d2094dc
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Jul 28 00:13:48 2020 -0500
fix(backend): minor change with lease fill
M backend/dataTracker.go
commit 3d8dc32d75ec487ac9bb7b85905dece2c8ca88d2
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Fri Jul 24 14:09:26 2020 -0500
fix(template): Fix up template validation handling.
It turns out that cramming all the tempaltes together to validate them
can have some negative side effects, and did not give is the leyer of
consistency checking I thought it had been giving us.
Instead, rework template validation in the following ways:
1. Disallow templates that have embedded {{define}} or {{begin}}
blocks. These let you create extra named and anonymous go
templates, which can conflict with ones defined directly by Template
objects. Support for these may be readded at a later date once
we work out exactly how to validate and ensure that all templates in
a given sacope are uniquely named.
2. Allow for incremental redefinition of the root template pool when
templates are added and remove, and move the location of the root
pool from the datatracker to the datastack. This makes keeping track
of the root pool simpler.
Moving it to the datastack makes keeping validated root templates in
sync with the datatrackers simpler.
M backend/bootenv.go
M backend/dataTracker.go
M backend/stage.go
M backend/task.go
M backend/template.go
M backend/utils.go
M datastack/stack.go
commit 5d28529490a144b63c52ef2a7047a384700e03d5
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Fri Jul 24 14:13:43 2020 -0500
fix(manager): close response body on proxy
fix(manager): scope for endpoint joining should include all objects
fix(manager): machine test should not set Endpoint unless it means it
M backend/endpoint_manager.go
M frontend/endpoint.go
M go.mod
M go.sum
commit 0d9d1488f0b8f8bcfe7d8bfd6581ae44ac0767dd
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Jul 22 15:47:10 2020 -0500
fix(pools): Clarify a few codepaths in the pool code per Greg.
Still doesn't look quite right, but it is as right as we can
get it without some sort of distributed transaction mechanism.
M frontend/pools.go
commit 751d1f3df4feb1f2623eb6f159be3ccf6421316e
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Thu Jul 16 11:19:55 2020 -0500
fix(contents): Improve how we validate content packs.
This commit changes how we validate objects that are added, changed,
or removed by adding, removing, or updating a content pack. Instead
of rewriting the indexes with the changes and then revalidating all of
the data, we keep track of what has been added, removed, or changed by
the index rewrites and then run the changes through the appropriate
create/update/remove routines in the backend for their side effects.
This allows us to precisely report on any errors that making the
requested change would cause and return them, instead of getting
unrelated errors mixed up in the output.
It also refactors a bit of the split-manager-datastack to only expose
objects from other endpoints to the frontend code where is is needed.
The idea is that backend operations on local data should never
accidentally pull in data from other endpoints. There are a few
places where that layering is intentionally violated -- mostly around
pooling and endpoint object management -- and those areas need to be
addressed before this commit can be accepted.
M backend/bootenv.go
M backend/contexts.go
M backend/dataTracker.go
M backend/endpoint_manager.go
M backend/hooks.go
M backend/license.go
M backend/profiles.go
M backend/requestTracker.go
M backend/roles.go
M backend/stage.go
M backend/subnet.go
M backend/task.go
M backend/template.go
M backend/utils.go
M clitest/bootenv_test.go
M clitest/contents_functional_test.go
M clitest/test-data/output/TestAuth/roles.destroy.stage/stderr.expect
M clitest/test-data/output/TestAuth/roles.destroy.task/stderr.expect
A clitest/test-data/output/TestContentsFunctionalCli/contents.create.15403cc39b7ae9e66716216634f1cd9a/stderr.expect
A clitest/test-data/output/TestContentsFunctionalCli/contents.create.740c331718d653ae77e7875d61c12c77/stderr.expect
A clitest/test-data/output/TestContentsFunctionalCli/contents.create.d100b6546aa478bed0df87b28de5b4b6/stdout.expect
A clitest/test-data/output/TestContentsFunctionalCli/contents.update.Pack1.2b39d1a2d37a7b6a6a516b308f64943e/stderr.expect
A clitest/test-data/output/TestContentsFunctionalCli/contents.update.Pack1.9bd529bd15b272b95e51535ff4261dc8/stdout.expect
A clitest/test-data/output/TestContentsFunctionalCli/contents.update.Pack1.fef6a27ccd18e22e0f1f99a6560ae342/stderr.expect
M clitest/test-data/output/TestContentsFunctionalCli/profiles.list.3/stdout.expect
M clitest/test-data/output/TestContentsFunctionalCli/profiles.list.4/stdout.expect
M clitest/test-data/output/TestContextStuff/contexts.destroy.dangerzone/stderr.expect
M clitest/test-data/output/TestJobCli/jobs.actions.john/stderr.expect
M clitest/test-data/output/TestJobCli/jobs.log.john/stderr.expect
M clitest/test-data/output/TestProfileInProfile/profiles.destroy.profile1/stderr.expect
M clitest/test-data/output/TestProfileInProfile/profiles.destroy.profile2.2/stderr.expect
M clitest/test-data/output/TestProfileInProfile/profiles.destroy.profile2/stderr.expect
M clitest/test-data/output/TestSubnetCli/subnets.destroy.john.3/stderr.expect
M clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred.2/stderr.expect
M clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred.2/stdout.expect
M clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred/stderr.expect
M clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred/stdout.expect
M clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default.5/stdout.expect
M datastack/index/index.go
M datastack/stack.go
M frontend/actions.go
M frontend/bootenvs.go
M frontend/endpoint.go
M frontend/endpoints.go
M frontend/frontend.go
M frontend/info.go
M frontend/jobs.go
M frontend/machines.go
M frontend/meta.go
M frontend/params.go
M frontend/pools.go
M frontend/tasks.go
M frontend/users.go
M frontend/version_sets.go
commit ac592cf6af794f20a85855907d2f44dc9e3b4c04
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Mon Jul 20 09:54:46 2020 -0500
refactor(manager): rework datastore to not mingle datastack objects
This reworks the datastack objects from the main datastack. This
uses a merge of data on read.
M backend/endpoint_manager.go
M backend/requestTracker.go
M datastack/endpoint_stack.go
M datastack/stack.go
M datastack/streamingSyncActive.go
M datastack/streamingSync_test.go
M datastack/wal.go
M frontend/debug.go
M frontend/system.go
commit 04e2e4fe5fb0c38cfed392c1fef86a603d220b17
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Jul 27 12:37:01 2020 -0500
feat(waltool): Merge dr-backup into walfsck, making it dr-waltool.
Along the way, rewrite walfsck to use a nice CLI interface with
the ability to make it moduilar and add extra help as needed.
D cmds/dr-backup/main.go
D cmds/dr-humanize/main.go
A cmds/dr-waltool/waltool.go
D cmds/walfsck/walfsck.go
M go.mod
M go.sum
M pacman/PKGBUILD
M tools/build.sh
commit 84c85d1f9f346263d9da520baf6c15a0077f8305
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Mon Jul 27 10:31:33 2020 -0500
fix(dhcp): Lower log priority of packets from unconfigured interfaces.
They don't need to be debug, as at that point they tend to overwhelm
other, more desired logging if they are present at all. Lower their
logging to trace.
M midlayer/dhcp.go
commit c27c2d12168dbb90018bbb76732225d089bb41be
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Wed Jul 22 12:52:32 2020 -0500
perf(jobPurge): Speed up certain Machine and Job index operations.
A performance trace from David Neal shows that the purgeJobs function
was taking an excessive amount of time to determine what jobs to
remove, accounting for around 20% of the total CPU time eaten by a
perf trace that also included a content pack reload. Closer analysis
determined that half of that time was taken up by repeatedly
converting UUIDs from theior native byte array format to a printable
string for index comparison purposes. Since they are byte arrays
natively, we can just use the native byte array comparison and
equality testing instead.
Go ahead and make this change for every index operation that deals
with UUIDs, since they were all doing string-based comparisons.
Overall, the job purge work was unneeded in any case, since David has
both of the purge parameters set to "never". We now detect that case
and avoid querying the Job index at all if true.
M backend/jobs.go
M backend/machines.go
commit 72a7e3456d0ba7219ecb73e12aebaa14949b8f32
Author: Greg Althaus <galthaus@austin.rr.com>
Date: Tue Jul 21 17:10:36 2020 -0500
fix(manager): AddEndpoint should return endpoint object on success
M frontend/plugins.go
commit c8f14462f1b0abd878b5d014cd993b90b231e47c
Author: Victor Lowther <victor.lowther@gmail.com>
Date: Tue Jul 21 12:48:41 2020 -0500
fix(dhcp): Properly handle lease requested addresses in DISCOVER
We were not properly ignoring the lease requested address in the
DISCOVER codepath when there was conflicting non-expired lease with
the address being requested, leading to a DISCOVER -> OFFER -> REQUEST
-> NAK loop. Fix it by noticing the situation and zeroing out the
requested address, which will cause us to allocate a new address.
M backend/dhcpUtils.go
M backend/dhcpUtils_test.go
End of Note