8.3.2.74. v4.3.0ΒΆ

commit c9b254af742db5344e6248f3eda2d81ba1f6ffa6
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Jun 4 13:04:15 2020 -0500

    fix(tests): fix purgelocal cli test

M   clitest/test-data/output/TestBootEnvCli/bootenvs/stdout.expect

commit b9f830a635342a29c922d0a18097e01fc6082215
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Jun 4 11:52:13 2020 -0500

    build: update to v4.3.0 tags

M   go.mod
M   go.sum

commit 7f16b681ddef23b5b1aea5b4dff6887dc6117123
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Jun 3 11:54:30 2020 -0500

    perf(frontend): Build and test with the jsoniter tag enabled.

    It turns out that Gin has the ability to switch between using the
    stdlib json for encoding and using jsoniter for encoding.  We already
    use and are satisfied with jsoniter in other places for encoding,
    so use it in the frontend as well for speed and memory consumption
    wins.

    All unit tests appear to pass, so this should be a safe merge.

M   clitest/fixInteractive.sh
M   tools/build-one.sh
M   tools/test.sh

commit ffc178f7fa9f980cadd307f4a1b4c47445895cea
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri May 29 06:31:58 2020 -0500

    fix(localInstall): Cleanly seperate local vs. remote install files.

    We were running into an issue where centos-7 installs were breaking
    after updating centos-7 support to 2004.  The root cause turned out be
    be the blanket redirect to a remote repo causing the install process
    to interleave files between local install files and remote install
    files, which was causing the centos installs to fail when a remote
    update blob was wanting to pull in a file that was not referenced in
    the local package repository metadata.  To alleviate that issue,
    refactor the dynamic FS code to cleanly seperate local repo vs. remote
    install repo presence and handling -- if there is a local repo, we
    will not do remote redirection at all for any files that should be
    present locally.

    Along the way, fix several bugs around handling package-repositories,
    ISO uploading, and static-lookasides that could result in getting out
    of sync in determining when we should handle a file transfer request
    locally vs. transparently proxying it vs. reverse-proxying it.

    Also add an API endpoint (at DELETE /api/v3/bootenvs/:name/purgeLocal)
    that purges all ISO and install trees associated with a specific
    bootenv and arch.  This can be used to clean up bootenv files that are
    no longer needed, and can be used to flip between local fs remote
    install for testing purposes.

M   backend/bootenv.go
M   backend/dataTracker.go
M   backend/fs.go
M   backend/machines.go
M   backend/profiles.go
M   backend/renderData.go
M   backend/renderData_test.go
M   clitest/bootenv_test.go
M   clitest/repo_test.go
M   clitest/test-data/output/TestAuth/params.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/params.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.2/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.3/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.4/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.5/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list/stdout.expect
M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/install.6/stdout.expect
M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/install.8/stdout.expect
M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/url.6/stdout.expect
M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/url.8/stdout.expect
M   datastack/content.go
M   frontend/bootenvs.go
M   midlayer/static_test.go
M   midlayer/tftp.go

commit 01c572d85080154685558e03470948ae3c6c1b6c
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Jun 2 12:17:32 2020 -0500

    build: ignore rel_notes directory

M   .gitignore

commit 042886c203c5b1ae638ce04a69d02f96ce02f833
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu May 28 14:12:09 2020 -0500

    fix(wal): Fix a stupid off-by-one error in new WAL code.

    When creating a new WAL segment, we set the firstCommit to 0 and
    lastCommit to the lastCommit of the current working WAL segment plus
    one.  However, the validation code expects the values to be equal in
    that case, so restarting dr-provision right after creating a new WAL
    segment but before writing a transaction into it will cause the
    restart to fail.  Fix it by fixing the validation function to look for
    the correct values instead.

M   datastack/wal.go

commit 4048520748efcaa1bf7716eb00f5ef79d40c6f2f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed May 27 13:41:22 2020 -0500

    feat(frontend): Ratelimit certian audit entries.

    Successful logins with username/passowrd pairs will only generate a
    log message once per hour per username/clientIP, and failed auth
    attempts with an invalid token will only generate an audit log every
    hour per clientIP.  Along the way, arrange for token validate errors
    to return something meaningful, and discriminate between token
    validation failures due to a missing key and token validation failures
    due to a malformed token.

    In the future, we may add a preference to control how often these log
    messages are shown.

M   backend/jwt-utils.go
M   frontend/frontend.go
M   frontend/machines.go
M   frontend/system.go

commit e94cd82988beb8866df0ead64161efb56bf8bcdb
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Apr 30 12:25:22 2020 -0500

    fix(pluginActions): Plugin output action does not have to be JSON.

    THe output of a running plugin response to an action has never been
    guaranteed to be JSON, or even something convertible to JSON.  Fix
    that broken assumption by just converting it to a string if it cannot
    be unmarshalled to JSON.

M   backend/requestTracker.go
M   backend/runningPlugin.go

commit cd9d3eef5209c1367b06019102beef2818cc8c20
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat May 23 13:00:13 2020 -0500

    build: fix unit tests to be more stable.

M   backend/profiles_test.go
M   go.mod
M   go.sum

commit 51e707c6d22270aa375709ae8518afd76e2eec50
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu May 21 17:35:01 2020 -0500

    fix(startup): Delete invalid WAL files that do not have data

    If dr-provision was shut down while it was trying to create a new WAL
    segment but was unable to do so due to a disk full condition, the
    system can be left in a state where manual intervention is required to
    come back up even after the disk space issue has been resolved.  This
    patch recognizes a few of those invalid WAL segment conditions and
    just deletes the invalid WAL segment instead of erroring out.

M   clitest/bootenv_test.go
M   datastack/stack.go
M   datastack/streamingSyncPassive.go
M   datastack/wal.go

commit c10194d0b33dce9b7b34714f78e6aff5ba073bf6
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed May 20 16:53:22 2020 -0500

    fix(ipxe): Bump ipxe version to 1.20.1

    We haven't built ipxe from scratch for a couple of years.  Bump it to
    get crunchy new hardware and bugfixes.

M   embedded/assets/ipxe-arm64.efi
M   embedded/assets/ipxe.efi
M   embedded/assets/ipxe.lkrn
M   embedded/assets/ipxe.pxe

commit b70973ee5b35a5f9f798b20396fdb0a4df7e24d1
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed May 20 16:38:42 2020 -0500

    fix(bootloader): Fix crash when bootloaders is not fully populated

    The bootloader chooser code crashed when only a subset of the
    default bootloaders was overridden.  This patch fixes that.

M   backend/bootenv.go

commit e96d3563f5611111c36714636f4917a1da517a03
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed May 20 12:00:22 2020 -0500

    fix(datastack): make sure content pack name is loaded

M   datastack/stack.go

commit 4e8dbcb5925cbeb468068a1e7caffa57b6571857
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon May 18 12:45:21 2020 -0500

    perf(dhcp): Improve DHCP parallelism in packet processing.

    DHCP packet processing has (until this commit) has the ability to
    bottleneck the rest of the system, due to the midlayer DHCP packet
    handling code having no ability to throttle itself and the backend
    DHCP lease handling code being effectively serialized behind a mutex.

    Thsoe two issues in combination with excessively slow WAL flushes and
    a DHCP broadcast storm can combine to cause the DHCP server to
    effectively deadlock everything else and spin up extra goroutines
    until the server runs out of memory.

    This patch fixes both of those issues.

    In the midlayer, we will now only handle one DHCP packet request/reply
    cycle per macaddress at a time.  This will help handle DHCP
    performance during broadcast storms and cases where we are reciving
    multiple incoming packets from the same server due to misconfigured
    relays, switch misconfiguration, or whatever.  Any duplicate packets
    from the same MAC address (as determined by MAC address and DHCP
    message type) are now ignored entirely.  This sets the upper bound of
    goroutines that the DHCP midlayer code can have outstanding to be
    equal to the number of simultaneous DHCP clients trying to exchange
    packets woith it instead of the upper bound being equal to the number
    of packets recieved. Along the way, un-export a few types and methods
    that the outside world does not need to know about.

    In the backend, the DHCP utility functions are serialized based on
    DHCP strategy and token instead of serializing behind a single mutex.

M   backend/dhcpUtils.go
M   backend/dhcpUtils_test.go
M   midlayer/abp.go
M   midlayer/dhcp.go
M   midlayer/dhcpUtil.go
M   midlayer/dhcp_test.go
M   midlayer/fake_midlayer_server_test.go
M   midlayer/onie.go
M   midlayer/pxe.go

commit c02aa1363637d189ab2f31394df1685064470fad
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon May 11 11:34:12 2020 -0500

    feat(machines): Add a HardwareAddr index to Machines.

    Recent events have shown us that relying on the machine Address to be
    populated, sane, and up-to-date is not a winning strategy in the face
    of DHCP servers that are not under out control -- if those DHCP
    servers are oversubscribed, then it is possible for the IP address of
    a system to change any time it is not up and running and under our
    control.  However, we still need to be able to create new Machines,
    and we need a better method of checking whether or not a Machine is
    already present based on a set of known criteria.  Probably the best
    set of known criteria is the set of MAC addresses present on the
    system, but we don't have a good way of querying for nodes based on
    that information.  As a starting point, add an Index to Machines that
    allows us to see what Machines have HardwareAddrs we are interested
    in.

    While we are at it, make machine validation use the new Index to make
    sure machines do not have overlapping HardwareAddrs, and stop
    uniqueness checking on Machine.Address if skipIPBasedBooting is true.

M   backend/machines.go
M   clitest/test-data/output/TestCorePieces/machines.indexes/stdout.expect

commit f46257d3766aec0913d3dc1da8c59fbb73a20111
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu May 14 11:21:00 2020 -0500

    build: Update to v4.3.0-beta12

M   go.mod
M   go.sum

commit ca8f40fcbdcca4e2c2e49fd384a8afe6a4c4624b
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed May 13 11:54:55 2020 -0500

    fix(backend): Update machine token to have token access

M   backend/machines.go
M   go.mod
M   go.sum

commit f3a8da3f9b012305a456cfea2fafdc3e60b1c0c7
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sun May 10 16:18:48 2020 -0500

    build: v4.3.0-beta10

M   go.mod
M   go.sum

commit 2bdb4aa28adde3c6503e17785f901d28e08a83a3
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue May 5 11:38:12 2020 -0500

    perf(replay): Improve WAL replay speed.

    This improves WAL replay speed in a few key ways:

    1. Get rid of unneeded extra marshalling and remarshalling.
       During the replay process, we created two in-memory Stores
       to keep track of what had and had not been loaded.  This
       involved at least two more remarshals than was necessary.
       This codepath has been removed in favor of unmarshalling
       directly into the indexes on demand.
    2. Skip validation on wal segments and base files with the
       archived flag set, and update the rotate process to set the
       archived flag on any non-current wal segments and base files.
    3. Switch to jsoniter for all unmarshalling during the replay
       process.

    At this point, the biggest slowdown when dealing with large numbers
    of wal files is the overhead of parsing the JSON represenation of
    each individual WAL replay entry.  This overhead could be alleviated
    by switching to a length-prefixed encoding, which would also reduce
    a large number of memory copies in favor of turning everything into
    what would be basically a series of direct file reads.  However, this
    will change the on-disk format of the WAL segments.  The current changes
    already cut reload time in half, which in conjunction with the automatic
    rotate code should keep startup time reasonable.  If we want to go ahead
    commit to changing the on-disk format, that will probably cut replay times
    another 80% based on CPU utilization charts.

M   cmds/wal2git/wal2git.go
M   datastack/perTxWalReplay.go
M   datastack/stack.go
M   datastack/stack_legacy.go
M   datastack/stack_test.go
M   datastack/wal.go
M   go.mod
M   go.sum

commit be896e4daebabf97f9c9a9ef6528c372b56b9521
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed May 6 14:54:55 2020 -0500

    fix(prefs): Make the no ip pref always visible.

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   server/server.go

commit 03fa120eb1853a94e23dce83c53b4636945d3c46
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed May 6 11:52:55 2020 -0500

    feat(info): Add context counts to the info struct

M   frontend/info.go
M   go.mod
M   go.sum

commit 735d6c87bfc0e6f112103d7ee3afefd53a42ec72
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue May 5 16:51:53 2020 -0500

    docs: Fix Offest to Offset

M   frontend/bootenvs.go
M   frontend/contexts.go
M   frontend/jobs.go
M   frontend/leases.go
M   frontend/machines.go
M   frontend/params.go
M   frontend/plugins.go
M   frontend/profiles.go
M   frontend/reservations.go
M   frontend/roles.go
M   frontend/stages.go
M   frontend/subnets.go
M   frontend/tasks.go
M   frontend/templates.go
M   frontend/tenants.go
M   frontend/users.go
M   frontend/workflows.go

commit 2ed690920001f92268401441308533285d9a1496
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue May 5 16:30:24 2020 -0500

    doc: add whoami to swagger.doc.base

M   server/swagger.base.yml

commit e4a3fe4122d3c283091c267aedf6141af716e945
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon May 4 16:47:41 2020 -0500

    fix(test): update tests for new proxy pieces

M   backend/profiles_test.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.2/stdout.expect
M   clitest/test-data/output/TestContentCli/contents.list.3/stdout.expect
M   clitest/test-data/output/TestContentCli/contents.list.33d4eb22c5df62e83097c23fc4597c5a/stderr.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.Cow/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.list.Cow=john/stderr.expect
M   clitest/test-data/output/TestContentCli/contents.list/stdout.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/TestContentsFunctionalCli/contents.list.2/stdout.expect
M   clitest/test-data/output/TestContentsFunctionalCli/contents.list/stdout.expect
M   clitest/test-data/output/TestCorePieces/gohai.0c113ca6d57519b559ba5a426be3c6b6/stdout.expect
M   clitest/test-data/output/TestCorePieces/machines.indexes/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
M   test/server.go

commit 260fcc54a46950cad08f1ad5de401ce85cbe9087
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon May 4 12:20:47 2020 -0500

    fix(runner): allow error logging to be squealched for internal runner

    Also fix a runner reference issue

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

commit 39196369537bcc186d420b693904492c74498f53
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon May 4 10:59:12 2020 -0500

    build: Make sure we are at go 1.13 for server builds

M   tools/build.sh

commit d90b269446cf3b1a9c1fda2f0748a09067af1d00
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon May 4 10:50:21 2020 -0500

    fix(backend): Update machines search options

M   backend/machines.go

commit 4afa4584ee232077c4d31f2c91ee49e8930a3b8c
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon May 4 09:16:31 2020 -0500

    fix(secure): don't check for public key if no secure parameters.

    mostly a perf nit, and fix two string formats.

M   backend/dataTracker.go

commit 8faa61dea571d4c0c98781232acd01be1b13c1ea
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon May 4 09:10:23 2020 -0500

    fix(backend): bootenv startup can be missing global profile, handle it

    This was lost along the way and this puts it back.  normally it isn't
    an issue, but some startup tests can fail.

M   backend/bootenv.go

commit 147544e568ceaa81541fe1d6ee2bda5d7ca527da
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon May 4 10:35:32 2020 -0500

    fix(tests): Update go.mod and fix unit tests.

    Need a new go.mod and updated unit tests.

M   clitest/test-data/output/TestAuth/info.get/stdout.expect
M   clitest/test-data/output/TestBootEnvLinks/machines.create.705b3b81d0728cad275b917c9d6c482f/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/TestContentsFunctionalCli/machines.addprofile.3e7031fe-3062-45f1-835c-92541bc9cbd3.p1-prof/stdout.expect
M   clitest/test-data/output/TestContentsFunctionalCli/machines.create.7df3aabd2b2a9aa089f7c54b01060cb9/stdout.expect
M   clitest/test-data/output/TestJobCli/machines.create.32cb4c9864de6e606c2e84397f300c18/stdout.expect
M   clitest/test-data/output/TestJobCli/machines.show.3e7031fe-3062-45f1-835c-92541bc9cbd3/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.addprofile.3e7031fe-3062-45f1-835c-92541bc9cbd3.jean/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.addprofile.3e7031fe-3062-45f1-835c-92541bc9cbd3.jill/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.create.2912607b00fab33ffd503f06c4ee28b8.3/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.create.2912607b00fab33ffd503f06c4ee28b8/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.create.cfb21459eb66dff02c687e0bdfed8ab9/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.list.2/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.list.4/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.list.Address=192.168.100.110/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.list.BootEnv=local/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.list.Name=john/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.list.Runnable=true/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.list.Uuid=3e7031fe-3062-45f1-835c-92541bc9cbd3/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.removeprofile.3e7031fe-3062-45f1-835c-92541bc9cbd3.jean/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.removeprofile.3e7031fe-3062-45f1-835c-92541bc9cbd3.jill/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.removeprofile.3e7031fe-3062-45f1-835c-92541bc9cbd3.justine/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.3e7031fe-3062-45f1-835c-92541bc9cbd3.2/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.3e7031fe-3062-45f1-835c-92541bc9cbd3.3/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.3e7031fe-3062-45f1-835c-92541bc9cbd3.4/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.3e7031fe-3062-45f1-835c-92541bc9cbd3.5/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.3e7031fe-3062-45f1-835c-92541bc9cbd3/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.Key.3e7031fe-3062-45f1-835c-92541bc9cbd3/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.Name.john/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.show.Uuid.3e7031fe-3062-45f1-835c-92541bc9cbd3/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.stage.3e7031fe-3062-45f1-835c-92541bc9cbd3.c23ab3adaec8ca15ff3ffd0971be6152.2/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.stage.3e7031fe-3062-45f1-835c-92541bc9cbd3.c23ab3adaec8ca15ff3ffd0971be6152/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.stage.3e7031fe-3062-45f1-835c-92541bc9cbd3.stage1/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.stage.3e7031fe-3062-45f1-835c-92541bc9cbd3.stage2.c23ab3adaec8ca15ff3ffd0971be6152.2/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.stage.3e7031fe-3062-45f1-835c-92541bc9cbd3.stage2.c23ab3adaec8ca15ff3ffd0971be6152/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.15ef88524f82284ee914fdb15df5a1ef/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.21522342df50227b4f678203d499d51a/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.5372645be509d5c9bddcfa65cf87f668/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.workflow.Name.john.Workflow1Good/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines.workflow.Name.john/stdout.expect
M   clitest/test-data/output/TestMachineCli/machines/stdout.expect
M   clitest/test-data/output/TestMachineFileImport/machines.create.test-data/base/machines/create.json/stdout.expect
M   clitest/test-data/output/TestMachineFileImport/machines.create.test-data/base/machines/create.yaml/stdout.expect
M   clitest/test-data/output/TestMachineFileImport/machines.update.a2d9b43a-b545-464b-8bc4-088daa7fa7c4.test-data/base/machines/update.yaml/stdout.expect
M   clitest/test-data/output/TestMachineFileImport/machines.update.b2d9b43a-b545-464b-8bc4-088daa7fa7c4.test-data/base/machines/update.json/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.create.d9f0531fa4024e3ff7769eb17cfc54f5/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.690238bdc309eb5c935bd1ef198c333a/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.8262863ab5bf8686ee11f596d6750a78.2/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.c40dfd7560a930cb472f04d5f0870f26.2/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.c40dfd7560a930cb472f04d5f0870f26.3/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.c40dfd7560a930cb472f04d5f0870f26/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.cf4c104a7c6130db6cfbff841bfdf2d2.2/stdout.expect
M   clitest/test-data/output/TestMachineLocked/machines.update.3e7031fe-3062-45f1-835c-92541bc9cbd3.cf4c104a7c6130db6cfbff841bfdf2d2/stdout.expect
M   clitest/test-data/output/TestMachineParamFiltering/machines.create.82199705e9583857ab4b2133215d536a/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
M   clitest/test-data/output/TestMachineParamFiltering/machines.update.Name.bob.add360d3da0026952990148998b3eca1/stdout.expect
M   clitest/test-data/output/TestMachineSkipIPBooting/bootenvs.create.9cf761ce793e16734a1dc898f0391af4/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.create.2912607b00fab33ffd503f06c4ee28b8/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.add.3e7031fe-3062-45f1-835c-92541bc9cbd3.at.0.task4.task3.task2.task1.2/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.add.3e7031fe-3062-45f1-835c-92541bc9cbd3.at.0.task4.task3.task2.task1/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.add.3e7031fe-3062-45f1-835c-92541bc9cbd3.task1.task2.task3.task4.2/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.add.3e7031fe-3062-45f1-835c-92541bc9cbd3.task1.task2.task3.task4.3/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.add.3e7031fe-3062-45f1-835c-92541bc9cbd3.task1.task2.task3.task4/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.del.3e7031fe-3062-45f1-835c-92541bc9cbd3.task1.task1/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.del.3e7031fe-3062-45f1-835c-92541bc9cbd3.task1.task3/stdout.expect
M   clitest/test-data/output/TestMachineTaskCli/machines.tasks.del.3e7031fe-3062-45f1-835c-92541bc9cbd3.task2.task4/stdout.expect
M   clitest/test-data/output/TestParamsDefaultGet/machines.create.2912607b00fab33ffd503f06c4ee28b8/stdout.expect
M   clitest/test-data/output/TestProcessJobsCli/machines.create.2912607b00fab33ffd503f06c4ee28b8/stdout.expect
M   clitest/test-data/output/TestProcessJobsCli/machines.show.3e7031fe-3062-45f1-835c-92541bc9cbd3/stdout.expect
M   clitest/test-data/output/TestProfileInProfile/machines.create.58feacab1055a30ea9f8579a0e387671/stdout.expect
M   clitest/test-data/output/TestProfileInProfile/machines.removeprofile.Name.machine1.profile2/stdout.expect
M   clitest/test-data/output/TestProfileInProfile/machines.update.Name.machine1.4e29ca2dbfa5158cfd5b31e6aabfb19a/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   go.mod
M   go.sum

commit 12359a501f139717f6aac83dba11e0a9e44a1ff2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Apr 30 09:33:57 2020 -0500

    feat(boot):  Add ability to skip booting machines by address.

    If the new preference `skipIPBasedBooting` is true, then templates
    referenced in a BootEnv with a Path that contains either

        {{ .Machine.Address }}

    or
        {{ .Machine.HexAddress }}

    will not be rendered into the static file space.  The aim of this
    is to combat machines booting into incorrect boot environments
    when we are not the DHCP server and we cannot rely on the other DHCP
    server to reliably serve is the same IP address every time.

M   backend/bootenv.go
M   backend/dataTracker.go
M   clitest/machines_test.go
A   clitest/test-data/output/TestMachineSkipIPBooting/bootenvs.create.9cf761ce793e16734a1dc898f0391af4/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/bootenvs.destroy.phredhammer/stderr.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/bootenvs.destroy.phredhammer/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.192.168.124.0.ipxe.2/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.192.168.124.0.ipxe.3/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.192.168.124.0.ipxe/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.de.ad.be.ef.00.00.ipxe.2/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.de.ad.be.ef.00.00.ipxe.3/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.de.ad.be.ef.00.00.ipxe/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.de.ad.be.ef.00.01.ipxe.2/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.de.ad.be.ef.00.01.ipxe.3/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.de.ad.be.ef.00.01.ipxe/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/01-de-ad-be-ef-00-00.2/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/01-de-ad-be-ef-00-00.3/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/01-de-ad-be-ef-00-00/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/01-de-ad-be-ef-00-01.2/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/01-de-ad-be-ef-00-01.3/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/01-de-ad-be-ef-00-01/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/C0A07A00.2/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/C0A07A00.3/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/C0A07A00/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/C0A77C00/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/C0A87C00.2/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/C0A87C00.3/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/files.static.pxelinux.cfg/C0A87C00/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/machines.create.31bc5a1940b57e5ee30cfb69e55f46a4/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/machines.destroy.Name.bob/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/machines.destroy.bob/stderr.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/prefs.set.skipIPBasedBooting.false/stdout.expect
A   clitest/test-data/output/TestMachineSkipIPBooting/prefs.set.skipIPBasedBooting.true/stdout.expect
M   go.sum

commit ab7e3fb245487eb0016323bc08dc9ea0fb30e62a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Apr 30 09:04:06 2020 -0500

    feat(wal): Add parameters controlling WAL aging and data retention.

    This allows us to tune base and WAL retention parameters at runtime.

M   backend/dataTracker.go
M   datastack/stack.go
M   server/server.go

commit 5362b788b4001f505e8a84f6bf9be7775cc997bc
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Apr 29 13:51:26 2020 -0500

    feat(whoami) Add server-side API for machine fingerprint checking

    This adds the server-side requirements for checking machine fingerprints.

    THis will wind up replacing significant chunks of the early machine detection
    process with something more robust.  Most of the work will actually be done
    in drp-community-content.

M   backend/dataTracker.go
M   backend/machines.go
M   frontend/machines.go
M   go.sum

commit 2d035b837208ce8de5c653d2ae22043b1c801c85
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat May 2 22:13:26 2020 -0500

    feat(ha): add vip to info for HA and update to v430-beta6

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

commit c2501407f567a137735902277f7ca321720b178c
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Apr 22 17:46:49 2020 -0500

    fix(templates) Rerender the unknowBootEnv at the right time.

    Sigh, the last template rendering rewrite was trying to rerender
    the unknown BootEnv before the real preference for it had been loaded at
    startup time

    While I was at it, I also added some locking bugs that could cause transient
    boot failures when reloading content bundles -- the window for those was
    small, but it existed.  So, I went ahead and consolidated all of the
    things that were allowed to mess with dynamic lookasides into a
    single function that guaranteed to update everything at once.

    Along the way writing unit tests I also noticed that we didn't notice if
    removing a content bundle via the API would wind up breaking any of our
    default preferences for stages, bootenvs, or workflows.  We properly
    notice that sort of thing now.

M   backend/bootenv.go
M   backend/dataTracker.go
M   backend/fs.go
M   backend/machines.go
M   clitest/bootenv_test.go
A   clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred.2/stderr.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred.2/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred/stderr.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/contents.destroy.fred/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/contents.upload.565da64b3ada6cfe028e71ea33d15c8f/stderr.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/contents.upload.5fdf57df2708a2fb098686d8e788bfa7/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/contents.upload.9bc477c70d5870bc2753e30acc821dc1/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default.2/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default.3/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default.4/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default.5/stderr.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default.5/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default.6/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/files.static.pxelinux.cfg/default/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/prefs.set.unknownBootEnv.fred.2/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/prefs.set.unknownBootEnv.fred/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/prefs.set.unknownBootEnv.ignore.2/stdout.expect
A   clitest/test-data/output/TestUnknownBootEnvRerender/prefs.set.unknownBootEnv.ignore/stdout.expect
M   datastack/stack.go

commit 93bcf79445b132cb709ff7bb4f313ace9600e171
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sun Apr 19 14:31:11 2020 -0500

    feat(wal)Allow for WAL and base file rotation.

    This forces a new base when a new WAL is created and the current base
    is older than 3 days.  It will keep up to 5 bases or 14 days worth of
    older data.

    These are initial, tenative heuristics, and should be exposed as preferences
    to reflect real-world backup, archiving, and troubleshooting needs.

    This also adds a wal2git tool, which can be used to perform in-depth
    historical change analysis on data saved in the WAL files.

M   backend/dataTracker.go
M   backend/machines.go
M   backend/profiles_test.go
A   cmds/wal2git/wal2git.go
M   datastack/perTxWalReplay.go
M   datastack/stack.go
M   datastack/stack_legacy.go
M   datastack/streamingSync_test.go
M   datastack/wal.go
M   frontend/machines.go
M   frontend/users.go
M   go.mod
M   go.sum
R098        backend/timeParse.go    utils/timeParse.go

commit 3f1206a53eaeb8cff93b57abf3f3b10c8cbd7317
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sun Apr 26 23:11:27 2020 -0500

    feat(ha): replication token storage and distribution

    The replication token is stored in the ha-state file
    and update when baseTokenSecret or systemGrantorSecret
    are changed.  This also triggers a replication event
    that will send a new token to the passive nodes as well.

    The token stored in the ha-state file overrides the
    parameter token.

    The active node after startup will store a replication
    token in the state file for use if it becomes a passive
    node.

M   backend/dataTracker.go
M   datastack/stack.go
M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   go.mod
M   go.sum
M   server/server.go

commit d5d071d31fabfdc643c45d74bd25466532d2b7cd
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Apr 25 23:14:37 2020 -0500

    feat(license): Ensure DRP version is less than or equal to license version

M   backend/license.go
A   backend/license_test.go

commit 5a5d9f4b3606293dd00489d45bf6c98274189c09
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Apr 25 23:25:38 2020 -0500

    feat(info): Add errors/ha state to info; give passive an info call

    Add the datastack errors to the info structure.  This is
    reset everytime the datastack changes.

    Add ha state to the info structure.  The active will return
    the connected passive nodes and what they are doing. The passive
    nodes will return the active node.

    The passive node will also have a frontend that allows an insecure
    info get call without license and stats information.

M   backend/dataTracker.go
M   clitest/test-data/output/TestAuth/info.get/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/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   frontend/frontend.go
M   frontend/info.go
M   go.mod
M   go.sum
M   server/server.go

commit 64ff4ae6c1626b319a2e9802a896ea4610560c23
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 23 17:58:40 2020 -0500

    build: update gitignore for addition running sites and profile data

M   .gitignore

commit 52fbb8d5166a62aff65a39e8c7b5e1dced7a2a0f
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 23 17:54:46 2020 -0500

    fix(pluin): Make the json buffer readable

M   backend/requestTracker.go

commit 45f3642b0b064d889f21d95c54289bea264166f3
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 23 17:31:55 2020 -0500

    fix(plugin): plugin actions silently returned 409 because of bad json

M   backend/requestTracker.go
M   frontend/actions.go

commit ed2984c787dfcb2243c046e60e81be3add0c1ee4
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 23 17:31:32 2020 -0500

    fix(embedded): build break forgot to remove the test for vmware files

M   embedded/assets_test.go

commit a2e5ef130dc4f7356b169c33693fdbfd35483ac7
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 23 12:41:00 2020 -0500

    feat(embedded): Move the esxi scripts to the vmware plugin.

M   embedded/assets.go
D   embedded/assets/make-esxi-bootenvs.sh
D   embedded/assets/make-esxi-content-pack.sh

commit c5f2d9f39cfc2ecb3bd6550152262010bf83396c
Author: Shane Gibson <shane@rackn.com>
Date:   Wed Apr 22 08:24:06 2020 -0700

    fix(provision-server): Correct ESXi content pack generator script.

M   embedded/assets/make-esxi-content-pack.sh

commit 2c664bf3628f02d483c94e9d160fe998aad14458
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Apr 18 10:54:54 2020 -0500

    fix(server): update messages for humanize option

    Updated help to say don't use unless directed by support.
    Updated the metrics error message to be conditional to give "clearer" info
    Updated some of the startup steps to be skipped if humanize is on.

M   server/server.go

commit 0a79a78347d64eeefbb49a2b7887a176be2da5da
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 16 17:36:47 2020 -0500

    build: update go.mod and go.sum to pull in v4.3.0-beta4

M   go.mod
M   go.sum

commit 7becac2a5e41778db5d103d252f77281afb12e12
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 16 17:33:37 2020 -0500

    build: test to see if explode_iso.sh doesn't kill everything with set +e

M   tools/test.sh

commit 3bfc22554eefebb602e162435ac22362254c448f
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 16 17:03:47 2020 -0500

    fix(test): more fixes for travis testing.

M   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.2ecdaf7149a93de6416fadf4103378f4/stdout.expect
M   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.3d80c60d79af743312fa0b0f74b768ef/stdout.expect
M   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.52f01326fe9f4a63388c0baacde3898c/stdout.expect

commit 4b4ec0c1019584d3893d58d88581bf49575c2df5
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 16 16:41:29 2020 -0500

    fix(test): add some sleeps to drain the output buffer.

A   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.2ecdaf7149a93de6416fadf4103378f4/stdout.expect
A   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.3d80c60d79af743312fa0b0f74b768ef/stdout.expect
A   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.52f01326fe9f4a63388c0baacde3898c/stdout.expect
M   clitest/workflow_test.go

commit 348ccb9648c8f91aac8345c82f3a01379af0edac
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Apr 16 15:34:57 2020 -0500

    build: add tools/build to path for tests.

M   tools/test.sh

commit 9ffe90f1e9cf1976e1c5b76ad6f2ae26802d24bb
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Apr 16 14:41:03 2020 -0500

    Try again with debugging in test.sh turned on

M   tools/test.sh

commit 068ca7c8e4825d2d7e07469c377a6468a8252cf4
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Apr 16 11:29:47 2020 -0500

    Test to see if testing in Travis works again.

M   tools/test.sh

commit e432db437907c12e5a4deeceb315ca3fc2dc79fe
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Apr 16 09:51:23 2020 -0500

    Bump dep for digitalrebar/provision

M   go.mod
M   go.sum

commit 172e75fd554e9339abc9e9f6395485da1c7fd78b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Apr 15 15:59:23 2020 -0500

    Save requested and sent options in DHCP leases

M   go.mod
M   go.sum
M   midlayer/abp.go
M   midlayer/dhcp.go
M   midlayer/dhcp_test.go
M   midlayer/pxe.go

commit df2b33151298e586106eaec54d8c1d102155f44f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Apr 15 14:30:35 2020 -0500

    Fix up startup and tests to make them not crash

M   backend/requestTracker.go
M   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.tasks.add.Name.bob.at.0.stage.stage1.stage.stage2.3/stdout.expect
M   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.tasks.add.Name.bob.at.0.stage.stage2.2/stdout.expect
M   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.update.Name.bob.fcdf2207b703b5b633350ee1b553faeb/stdout.expect

commit cff6a73e0df73917b5232c07b7395155609f9b7f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Apr 14 12:54:31 2020 -0500

    Allow adding stages to the end of the mutable part of the task list

M   backend/machines.go
M   clitest/fixInteractive.sh
M   clitest/tasks_test.go
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/contents.destroy.stuff/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/contents.upload.860ff01ab667156fa426298aafdcad79/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.create.bob/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.deletejobs.Name.bob/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.destroy.Name.bob/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.create.Name.bob.2/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.create.Name.bob.3/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.create.Name.bob.4/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.create.Name.bob.5/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.create.Name.bob/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.state.Name.bob.to.finished.2/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.state.Name.bob.to.finished.3/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.state.Name.bob.to.finished.4/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.state.Name.bob.to.finished.5/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.jobs.state.Name.bob.to.finished/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.tasks.add.Name.bob.at.0.stage.stage1.stage.stage2.2/stderr.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.tasks.add.Name.bob.at.0.stage.stage1.stage.stage2.3/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.tasks.add.Name.bob.at.0.stage.stage1.stage.stage2/stderr.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.tasks.add.Name.bob.at.0.stage.stage2.2/stdout.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.tasks.add.Name.bob.at.0.stage.stage2/stderr.expect
A   clitest/test-data/output/TestAddingStageToWorkflowTaskList/machines.update.Name.bob.fcdf2207b703b5b633350ee1b553faeb/stdout.expect
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
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

commit d3493a1cc1d0262e7559e413dbcbb30aa9a848b0
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Apr 9 13:54:36 2020 -0500

    Add updates to allow localRepo processing to deal with oddly named Linux distro variants

M   backend/bootenv.go
M   backend/renderData.go
M   backend/stage.go
M   backend/task.go

commit 2f323756426a065b0e3b8e4e5a650f32651a3cf2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Apr 7 19:15:11 2020 -0500

    Fix up vmware bootenv generation to make keeping things straight easier

M   embedded/assets/make-esxi-bootenvs.sh

commit e40cdcd2da23d4c4c8a97ed4853b1f733454164f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Apr 7 15:05:55 2020 -0500

    Make bootenv overridable bootloaders function when using remote file repositories

M   backend/bootenv.go
M   midlayer/pxe.go

commit 8f121e0253fca6405c2d407594557033d9e1d259
Author: Shane Gibson <shane@rackn.com>
Date:   Fri Apr 3 12:20:48 2020 -0700

    Fix vmware bootenv generation

M   embedded/assets/make-esxi-bootenvs.sh

commit 1fb6b9ab3d4f2431f5207e3c542ac01fcece8378
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Apr 7 08:59:52 2020 -0500

    Clear and reload all dynamic files and trees when reloading the datatracker

M   backend/dataTracker.go
M   backend/fs.go

commit c2bb6fcb796b0d87d485aed627a43aef43ccc691
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Apr 6 13:50:04 2020 -0500

    Fix up unit tests

M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/install.2/stdout.expect
M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/install.4/stdout.expect
M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/install.6/stdout.expect
M   clitest/test-data/output/TestRepos/machines/c9196b77-deef-4c8e-8130-299b3e3d9a10/install.8/stdout.expect
M   clitest/test-data/output/TestSystemCli/system.actions/stdout.expect

commit 3de8c0d7cb936f3e10337e0f2b80e4a352c3ec3a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sat Apr 4 17:06:21 2020 -0500

    Switch template rerendering to do a better job of garbage collection

M   backend/bootenv.go
M   backend/dataTracker.go
M   backend/fs.go
M   backend/jobs.go
M   backend/machines.go
M   backend/renderData.go
M   backend/stage.go

commit 07bd02495ecdd53e928d118f4c48744b5377a254
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Mar 31 10:56:09 2020 -0500

    Move file exploding code into the datatracker, and add SyncExplodeFile to the replication stream.

M   datastack/stack.go
M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   frontend/file_common.go
M   frontend/system.go

commit a0daf939b4dd401372c4acdce98fb3ad330fd4f2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Mar 25 15:48:12 2020 -0500

    Make Ubuntu and Debian installs skip the security repo on local installs

M   backend/renderData.go

commit 15b50d823386e3f1e4f6a4dd85686552791596f6
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Mar 24 10:21:12 2020 -0500

    Hopeful fix for both sides of the option82/missing relay issue

M   backend/dhcpUtils.go
M   backend/dhcpUtils_test.go
M   backend/renderData_test.go
M   backend/requestTracker.go
M   backend/subnet.go
M   clitest/test-data/output/TestContentCli/contents.create.https/gi333thub.com/digitalrebar/provision-content/releases/download/v1.3.0/drp-community-content.yamljj/stderr.expect
M   midlayer/dhcp-tests/0000-basic-ipxe-discover/0001.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0007.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0013.logs-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0016.logs-expect
M   midlayer/dhcp-tests/0002-proxy-pxe-discover/0000.logs-expect
M   midlayer/dhcp-tests/0002-proxy-uefi-discover/0000.logs-expect
M   midlayer/dhcp-tests/0003-apple-nbsp-select/0000.logs-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0002.logs-expect
M   midlayer/dhcp-tests/0004-option82-reflection/0003.logs-expect
A   midlayer/dhcp-tests/0004-option82-reflection/0004.logs-expect
A   midlayer/dhcp-tests/0004-option82-reflection/0004.request
A   midlayer/dhcp-tests/0004-option82-reflection/0004.response-expect
A   midlayer/dhcp-tests/0004-option82-reflection/0005.logs-expect
A   midlayer/dhcp-tests/0004-option82-reflection/0005.request
A   midlayer/dhcp-tests/0004-option82-reflection/0005.response-expect
M   midlayer/dhcp.go

commit 0a3b5fd5e1067c3b60f68977d99d2440c9e9106f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Mar 26 14:13:37 2020 -0500

    Rework passive retry code to make it functional, and fix a stupid bug with plugin synch.

M   datastack/stack.go
M   datastack/streamingSyncPassive.go

commit ad90e88f88c7eebe4abe69364ed605b78dfea006
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Mar 24 14:53:56 2020 -0500

    Allow a stream restart if the first attempt at fetching a base commit does not pan out.

M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go

commit 35e7e2a47a1c7942a40718c55f27d0b6fb5bee92
Author: Shane Gibson <shane@rackn.com>
Date:   Thu Apr 2 11:11:24 2020 -0700

    Add ESXi 7.0.0 bootenv map info

M   embedded/assets/make-esxi-bootenvs.sh

commit 21e2d92bd9012c81f6fae69759d036287acc5e80
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Mar 19 14:07:09 2020 -0500

    Add license validation for per-bootenv and per-machine custom bootenvs

M   backend/license.go
M   backend/plugins.go
M   backend/requestTracker.go
M   cmds/license/license.go
M   midlayer/pxe.go

commit 9abd323b8340a4cf861c3a4323947b4c6c0fd72a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Mar 18 11:17:13 2020 -0500

    Cache plugin_provider Stores in the datatracker

M   datastack/stack.go
M   datastack/streamingSyncActive.go

commit 6e75539aca0730b41ff27aeb1beb0f87fa742223
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Mar 17 14:44:56 2020 -0500

    Sort vmware targets in ISO_MAP

    That makes finding ones that do not have proper isos or bad definitons easier to find.
    Also fix the path to use to load the boot.cfg in uefi mode.

M   embedded/assets/make-esxi-bootenvs.sh

commit cad2875774128803bd15392b83be2893acc0c482
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Mar 17 12:25:29 2020 -0500

    Hack up make-esxi-bootenvs.sh to make it generate SecureBoot compatible envs

    There are also other changes:

    * Move ISO_MAP to the top level, fix up various ISO references to point to
      the newest hotness for all referenced isos
    * Refactor ISO_NAMES and SPECIFIC_ISOS to be associative arrays.
      This lets the script more easily detect targets that were not built due to
      a missing ISO file, and targets that were not built because they refer to
      isos that do not exist in ISO_MAP.
    * Fixed a crapton of quoting issues.

M   embedded/assets/make-esxi-bootenvs.sh

commit 581510a08b1d4c4923e870e05491868281b9488e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Mar 13 13:37:35 2020 -0500

    Add support for a per-OS archive containing bootloaders.

    The new file is a tarball (compressed or not) that contains loaders mentioned
    in the bootenv.Loaders map.  It must be named like so:

        bootenv.OS.Name + ".loaders"

    It must contain loaders in the exact layout specified by the Loaders map.

M   backend/bootenv.go

commit c0e483552f14b432b07ecc30b0eff20d75fbf6a7
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Mar 13 10:54:04 2020 -0500

    Add cli unit tests for static lookaside

M   clitest/bootenv_test.go
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/bootenvs.destroy.no-phredhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/bootenvs.destroy.phredhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/bootenvs.install.test-data/no-phredhammer.yml/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/bootenvs.install.test-data/phredhammer.yml/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/bootenvs.show.phredhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/profiles.add.global.param.static-lookaside.to.a2acf6c9162154161c241a2e87640054/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/profiles.remove.global.param.static-lookaside/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/templates.destroy.local3-elilo.tmpl/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/templates.destroy.local3-ipxe.tmpl/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByName/templates.destroy.local3-pxelinux.tmpl/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/bootenvs.destroy.no-phredhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/bootenvs.destroy.phredhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/bootenvs.install.test-data/no-phredhammer.yml/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/bootenvs.install.test-data/phredhammer.yml/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/bootenvs.show.phredhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/profiles.add.global.param.static-lookaside.to.1aa9c0b8576d7bed36c3e4c263d8b695/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/profiles.remove.global.param.static-lookaside/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/templates.destroy.local3-elilo.tmpl/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/templates.destroy.local3-ipxe.tmpl/stdout.expect
A   clitest/test-data/output/TestBootEnvStaticLookasideByPath/templates.destroy.local3-pxelinux.tmpl/stdout.expect

commit 65fe9fb4dd9505d1c2e4e48cff827c37e4d4223e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Mar 13 10:13:31 2020 -0500

    Add unit tests exercising static file proxy handling and static lookaside

M   backend/bootenv.go
M   backend/dataTracker.go
M   backend/fs.go
M   backend/profiles.go
M   midlayer/static_test.go

commit 8357ed469678c35362bd0d40d664e28c467b7c28
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Mar 11 14:38:53 2020 -0500

    Untie GetInterfaces from the datatracker

M   backend/interfaces.go
M   backend/interfaces_test.go
M   frontend/interfaces.go
M   midlayer/static_test.go

commit 55d6819fbefad7b8fdcf9d2061acc73329cf77d7
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Mar 11 11:00:15 2020 -0500

    Beef up the static file server.

    This adds support for a new param called `static-lookaside`, which can be used
    to redirect arbitrary parts of the file system served by the static file server
    to remote http-accessible datastores.

    Also added support for having the static file server use all of the proxy handling
    logic that the HTTP_PROXY environment variables support.

M   backend/bootenv.go
M   backend/dataTracker.go
M   backend/fs.go
M   backend/profiles.go
M   backend/utils.go
M   clitest/test-data/output/TestAuth/params.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/params.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/TestParamCli/params.list.2/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.3/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.4/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.5/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list/stdout.expect
M   datastack/content.go
M   datastack/stack.go
M   go.sum
M   midlayer/static_test.go
M   midlayer/tftp_test.go
M   server/server.go

commit ee4cb42877ee87ff35a86b286b9bbb52a172e97d
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Mar 5 13:11:17 2020 -0600

    Oops, have coverage include the transact package when running tests

M   tools/test.sh

commit cad03868bac00577286bd0eff3bc1b9bac40ccaf
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Mar 5 13:10:50 2020 -0600

    Add unit tests for new feature flag, and bump provision dep in go.mod

M   clitest/test-data/output/TestAuth/info.get/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

commit d171d50ca8cbdf5f2e14370815a5c566b60f3e3e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 28 15:50:51 2020 -0600

    Add support for bootenv overrides to the DHCP service

M   backend/bootenv.go
M   backend/dataTracker.go
M   backend/fs.go
M   clitest/test-data/output/TestAuth/bootenvs.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/bootenvs.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestAuth/params.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/params.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.create.9ac6649586a3c79996d0b5e459845a0b/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.create.fa874ddcd87d0d565c8a8a5fab3fd067/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.create.fred/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.2/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.3/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.33d4eb22c5df62e83097c23fc4597c5a/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.4/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.5/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.708af06cd4868a90764f58b0dd2011f9/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.Available=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.Name=ignore/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.OnlyUnknown=false/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.OnlyUnknown=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.ReadOnly=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.Valid=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.sort=Name.reverse=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.sort=Name/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.show.ignore/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.show.john.2/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.show.john.3/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.show.john.4/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.update.john.5252824dac7667f6695ad70fc5658d22/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.update.john.d9f8bf3d839831231ebd2474a7a5cecf/stdout.expect
M   clitest/test-data/output/TestBootEnvLinks/bootenvs.create.test-data/linkhammer.yml/stdout.expect
M   clitest/test-data/output/TestBootEnvLinks/bootenvs.show.linkhammer/stdout.expect
M   clitest/test-data/output/TestBootEnvLookaside/bootenvs.install.test-data/no-phredhammer.yml/stdout.expect
M   clitest/test-data/output/TestBootEnvLookaside/bootenvs.install.test-data/phredhammer.yml/stdout.expect
M   clitest/test-data/output/TestBootEnvLookaside/bootenvs.show.phredhammer/stdout.expect
M   clitest/test-data/output/TestBootenvStageHandling/bootenvs.create.fred/stdout.expect
M   clitest/test-data/output/TestBootenvStageHandling/bootenvs.show.fred/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/bootenvs.create.2821b7fbef3ac86a5137eeb673f990fc/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/TestCorePieces/2df325711fa0d8b85ba33f9846817da8/stdout.expect
M   clitest/test-data/output/TestCorePieces/a98887b36060c32b63908a01f0020907/stdout.expect
M   clitest/test-data/output/TestCurrentTaskReposition/bootenvs.create.env1/stdout.expect
M   clitest/test-data/output/TestCurrentTaskReposition/bootenvs.create.env2/stdout.expect
M   clitest/test-data/output/TestMultiArch/bootenvs.create.311da3fd52a0f11d56afd8a977848c66/stdout.expect
M   clitest/test-data/output/TestMultiArch/bootenvs.create.4553dccd9f552aef35a55761a88fc0d6/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.2/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.3/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.4/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list.5/stdout.expect
M   clitest/test-data/output/TestParamCli/params.list/stdout.expect
M   clitest/test-data/output/TestPrefsCli/bootenvs.install.bootenvs/local3.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-centos-install.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-debian-install.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-scientificlinux-install.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-ubuntu-install.yml/stdout.expect
M   clitest/test-data/output/TestTaskPrereqs/bootenvs.create.three/stdout.expect
M   clitest/test-data/output/TestTaskPrereqs/bootenvs.create.two/stdout.expect
M   clitest/test-data/output/TestWorkflowCli/bootenvs.create.nlName. FrednlTemplates.nl  - Name. ipxenl    Path. /ipxenl    Contents. squotefoosquotenl  - Name. ipxe-macnl    Path. /ipxe-macnl    Contents. squotebarsquotenl/stdout.expect
M   clitest/test-data/output/TestWorkflowCli/bootenvs.list.sort.Name/stdout.expect
M   datastack/content.go
M   go.sum
M   midlayer/pxe.go
M   midlayer/tftp_test.go

commit c08f73c4aa9c8d44a44adff17ce4c1c767488ced
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Mar 2 08:33:20 2020 -0600

    Bump dep on jsonpatch

M   go.mod

commit 77a284e3de69db4cf9b2237650f8c49695508953
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Mar 3 12:58:40 2020 -0600

    Update v4.3.0-beta2

M   go.mod
M   go.sum

commit 904f4d260b8dc5dd200b9dfb80791dc986bb82bf
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Feb 24 14:46:52 2020 -0600

    fix(server): fix internal directory leak when running runner

M   server/selfManage.go

commit 8e94558eba638ae350695e0efa1d3a1afa914005
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Feb 24 12:24:54 2020 -0600

    fix(content): clean up extra content layers and remove them on delete

    The removal of content layers was not cleaning up the saas-content
    directory.  This will fix that and clean up on start up the extra
    ones.

M   datastack/content.go
M   datastack/stack.go
M   datastack/stack_test.go
M   frontend/content.go

commit 071e2e0bb450566f5e9f0ffb21dc1f0a7d88a8fe
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 27 12:07:05 2020 -0600

    Sigh, go 1.14 changed the low-level format of invalid URL errors

M   backend/renderData_test.go
M   clitest/test-data/output/TestContentCli/contents.create.https/gi333thub.com/digitalrebar/provision-content/releases/download/v1.3.0/drp-community-content.yamljj/stderr.expect

commit cbfe2e5eedd256f8233389bf359f23568da64530
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 25 13:19:07 2020 -0600

    Oops, readd support for 32 bit binaries

A   datastack/cb2iov_32.go
A   datastack/cb2iov_64.go
M   datastack/wal.go

commit 6954a5b8f8a0699f4758421edac137bf56a35cbf
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 25 11:43:51 2020 -0600

    Use vectored writes in the flusher to cut down on syscall overhead

M   datastack/wal.go

commit c2d6d044613e794dcac39c6c5d0262f44b37095e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 25 10:52:40 2020 -0600

    Push commit and CRC calculations down into the flusher

M   datastack/stack.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go
M   datastack/wal.go

commit 6fc645623db05f57bf46a2022f43b3b364e23ed2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 25 09:25:00 2020 -0600

    Make a commit buffer abstraction to encapsulate what a commit byte buffer looks like

M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go
M   datastack/wal.go

commit 8c542a0d43a316ed27a24a8e4de16e7811110deb
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 24 15:45:33 2020 -0600

    Simplify active-side implementation of syncStream.commit

M   datastack/streamingSyncActive.go
M   datastack/wal.go

commit 547943b16d5730ce4a8154c78123722d9251c821
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 24 15:28:41 2020 -0600

    Refactor eachCommit to allow for items that may want to read the entire commit including metadata

M   datastack/streamingSyncActive.go
M   datastack/wal.go

commit 1030adf07e4e82fcda1900e82f53b44a4e46ef52
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 24 14:23:26 2020 -0600

    Oops, fix busted commit ID ordering invariant (ugly hackjob version)

M   datastack/streamingSyncPassive.go
M   datastack/wal.go

commit e091b2415c4e69dc10448fbb865145a5504649f0
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 24 13:11:26 2020 -0600

    Add sequence check for commits during WAL load

M   datastack/wal.go

commit 416b23bf4242acde54530fd01c336280252bde9c
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 21 15:29:17 2020 -0600

    Remember how we were configured in HA mode.

    This allows running in HA mode to restart in the same mode they last
    shut down from, no matter what config they got from systemd or the command line.

    It also refactors how we test to see if the server is up to get rid
    of some spurious failures that were happening in the CLI test.

M   server/server.go
M   test/server.go

commit 1fc0fc0b1e05027b86d16ee9f434dfff9bd7a7d5
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 21 09:40:11 2020 -0600

    Rename datastack.Roots to datastack.Config, and make it include models.Info.

    This makes it simpler for either side of the config stream to make
    whatever checks it needs to make against the Info from the other side of the
    stream.

M   backend/bootenv.go
M   backend/dataTracker.go
M   backend/dataTracker_test.go
M   backend/jobs.go
M   backend/pluginProvider_test.go
M   backend/pluginProviders.go
M   backend/profiles_test.go
M   backend/renderData.go
M   backend/requestTracker.go
M   backend/runningPlugin.go
M   cmds/dr-backup/main.go
M   cmds/dr-humanize/main.go
M   datastack/content.go
M   datastack/perTxWalReplay.go
M   datastack/stack.go
M   datastack/stack_legacy.go
M   datastack/stack_test.go
M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go
M   datastack/wal.go
M   frontend/file_common.go
M   frontend/plugin_providers.go
M   frontend/system.go
M   midlayer/fake_midlayer_server_test.go
M   server/server.go

commit 5d71ea5144774a6b79a47fa40963d4de17d79544
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 21 09:00:09 2020 -0600

    Document what datastack/test-data contains and how to add to it.

A   datastack/test-data/HOWTO-generate-a-datastack-test-tar

commit 08f437a60e02a17e11f8d4793907286f5a3743a7
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 20 16:57:56 2020 -0600

    Add working unit tests for datastack migration from various older formats

M   datastack/stack_test.go
M   datastack/test-data/target/digitalrebar/params/foo.json
M   datastack/test-data/target/digitalrebar/profiles/global.json
M   datastack/test-data/target/digitalrebar/users/rocketskates.json
A   datastack/test-data/v4.0.21-data-unclean.tar.gz
A   datastack/test-data/v4.1.3-data-unclean.tar.gz
A   datastack/test-data/v4.2.5-data-unclean.tar.gz
A   datastack/test-data/v4.2.5-data.tar.gz
M   datastack/wal.go

commit cb7dfbeca050b2076fb52438acf8a5a47c1b0fe9
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 20 12:48:14 2020 -0600

    Add test files for Humanize and data format upgrade tests

A   datastack/test-data/v4.0.21-data.tar.gz
A   datastack/test-data/v4.1.3-data.tar.gz
A   datastack/test-data/v4.3.0-alpha1-data.tar.gz

commit 28f53735ae50d9ba30c306ffc38398bd2c59a06a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 20 11:59:01 2020 -0600

    Fix up some locking and secrets-counting unit tests

M   backend/profiles_test.go
M   datastack/streamingSyncActive.go

commit dfc19220c1e23ed1ef6c0e56603798cf9e3755c5
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 20 11:00:23 2020 -0600

    Add tempalte and target data for testing migration of datastacks from various formats

A   datastack/test-data/target/digitalrebar/params/foo.json
A   datastack/test-data/target/digitalrebar/preferences/baseTokenSecret.json
A   datastack/test-data/target/digitalrebar/preferences/completeJobsPurgedAfter.json
A   datastack/test-data/target/digitalrebar/preferences/debugBootEnv.json
A   datastack/test-data/target/digitalrebar/preferences/debugDhcp.json
A   datastack/test-data/target/digitalrebar/preferences/debugFrontend.json
A   datastack/test-data/target/digitalrebar/preferences/debugPlugins.json
A   datastack/test-data/target/digitalrebar/preferences/debugRenderer.json
A   datastack/test-data/target/digitalrebar/preferences/defaultBootEnv.json
A   datastack/test-data/target/digitalrebar/preferences/defaultStage.json
A   datastack/test-data/target/digitalrebar/preferences/failedJobsPurgedAfter.json
A   datastack/test-data/target/digitalrebar/preferences/jobsToKeep.json
A   datastack/test-data/target/digitalrebar/preferences/knownTokenTimeout.json
A   datastack/test-data/target/digitalrebar/preferences/logLevel.json
A   datastack/test-data/target/digitalrebar/preferences/systemGrantorSecret.json
A   datastack/test-data/target/digitalrebar/preferences/unknownBootEnv.json
A   datastack/test-data/target/digitalrebar/preferences/unknownTokenTimeout.json
A   datastack/test-data/target/digitalrebar/profiles/global.json
A   datastack/test-data/target/digitalrebar/users/rocketskates.json
A   datastack/test-data/target/secrets/profiles-global.json
A   datastack/test-data/target/secrets/stages-local.json
A   datastack/test-data/target/secrets/stages-none.json
A   datastack/test-data/target/wal/nextReplay
A   datastack/test-data/template/digitalrebar/preferences/baseTokenSecret.json
A   datastack/test-data/template/digitalrebar/preferences/completeJobsPurgedAfter.json
A   datastack/test-data/template/digitalrebar/preferences/debugBootEnv.json
A   datastack/test-data/template/digitalrebar/preferences/debugDhcp.json
A   datastack/test-data/template/digitalrebar/preferences/debugFrontend.json
A   datastack/test-data/template/digitalrebar/preferences/debugPlugins.json
A   datastack/test-data/template/digitalrebar/preferences/debugRenderer.json
A   datastack/test-data/template/digitalrebar/preferences/defaultBootEnv.json
A   datastack/test-data/template/digitalrebar/preferences/defaultStage.json
A   datastack/test-data/template/digitalrebar/preferences/failedJobsPurgedAfter.json
A   datastack/test-data/template/digitalrebar/preferences/jobsToKeep.json
A   datastack/test-data/template/digitalrebar/preferences/knownTokenTimeout.json
A   datastack/test-data/template/digitalrebar/preferences/logLevel.json
A   datastack/test-data/template/digitalrebar/preferences/systemGrantorSecret.json
A   datastack/test-data/template/digitalrebar/preferences/unknownBootEnv.json
A   datastack/test-data/template/digitalrebar/preferences/unknownTokenTimeout.json
A   datastack/test-data/template/digitalrebar/profiles/global.json
A   datastack/test-data/template/digitalrebar/users/rocketskates.json
A   datastack/test-data/template/secrets/profiles-global.json
A   datastack/test-data/template/secrets/stages-local.json
A   datastack/test-data/template/secrets/stages-none.json
A   datastack/test-data/template/wal/nextReplay

commit f94466b18aa02a15c79e29672b7ed4aa927a4bff
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 20 10:57:43 2020 -0600

    Refactor streamBase to fix several bugs

M   datastack/streamingSyncPassive.go

commit e0b83c72cde324b1f348fc4685c6e20e918a32d2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 20 10:57:18 2020 -0600

    Switch from math/rand to crypto/rand for random seeds on base files

M   datastack/stack.go
M   datastack/stack_legacy.go

commit 89e664852bab0fdcf86c6a017b4559474d212630
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 20 10:56:17 2020 -0600

    Make sure Humanize clears validation on all saved objects

M   datastack/wal.go

commit 0ed072a19120258d71954e89346efc3e5ec7ef40
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 19 15:33:51 2020 -0600

    Add a standalone humanizer

A   cmds/dr-humanize/main.go

commit c4c287e2455d004a2cd2ad162503c7b28e2bffd9
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 19 15:23:56 2020 -0600

    Make sure secrets are saved in the old format when humanizing a stack

M   datastack/wal.go

commit 85326fac7f907c48bb2a23dfba45d3a49df86e14
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 19 14:56:47 2020 -0600

    Make sure all keys are generated for new objects on startup for unit test sanity

M   backend/dataTracker.go

commit d86f54619558d8630e67594a3cfa686702d2e39b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 19 11:39:18 2020 -0600

    Add high-availability license restrictions to the default license.

M   cmds/license/license.go
M   frontend/frontend.go

commit 4b19376f66e530af1a276a2d65cb66aec314e6b7
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 19 11:07:32 2020 -0600

    Add TLS cert tracking over the synchronization protocol.

M   datastack/stack.go
M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go
M   server/server.go

commit d17e137bd11226898843362eaafb09dfdf70a696
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 18 14:52:52 2020 -0600

    Fix up datastack tests to account for SyncRealtime

M   datastack/streamingSync_test.go

commit 643c7f4d2e71736241a55672b7c08195e8a5f6ef
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 18 14:25:46 2020 -0600

    Failover and failback works

M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   server/server.go

commit bac46552bbd31f64db49ec61b516eb4bf6270a13
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 18 13:06:16 2020 -0600

    Client-side deadline code seems to work

M   datastack/streamingSyncPassive.go

commit 42d518aa6eb4711ba79c936a5cc28aa6b2f48073
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 18 12:42:59 2020 -0600

    Add a sync stream entry to let the passive side know it is caught up and reading live replication data

M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go

commit d5b2382a36cbd248fba476dfa990ef519520b29f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 18 12:41:26 2020 -0600

    Un-break dr-backup

M   cmds/dr-backup/main.go

commit d99f73c5c42c53e2a40cdab818aaf6d606210a87
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 17 13:25:32 2020 -0600

    Active/passive failover works-ish

M   backend/dhcpUtils.go
M   cmds/dr-backup/main.go
M   datastack/stack.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go
M   datastack/wal.go
M   server/server.go

commit 486214689cb616bfb4c72d424d9fabb5a8117e80
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sun Feb 16 16:13:51 2020 -0600

    Add a new flag for replication token.  It enables streaming replication if set.

M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go
M   server/server.go

commit 9e4486732e96c6dad2cff5279280fde54783e7b2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sun Feb 16 14:00:27 2020 -0600

    Add a protocol version field to the stream syncrequest struct

M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go

commit 98d230e6fae51fb83c8666df586025a49ff0a2bf
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sun Feb 16 13:00:41 2020 -0600

    Add some negative tests for replication failure

M   datastack/streamingSync_test.go

commit 29c57270ae1ab75ef452b850143c0540ad617094
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 14 16:02:59 2020 -0600

    Add replication testing for the real passive side as well

M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go

commit b60659fff7deaf412e0b2838446827a251557b87
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 14 11:48:50 2020 -0600

    Validate that streaming replication starts from the appropriate commit in all cases.

M   datastack/stack.go
M   datastack/stack_legacy.go
M   datastack/streamingSync.go
M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   datastack/streamingSync_test.go
M   datastack/wal.go

commit ba2ccf9aa98a5b4a76546ef9ec73cdfe7578e203
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 13 13:04:04 2020 -0600

    Start creating a new WAL and base format that includes rolling CRC64 checksums

M   datastack/streamingSyncActive.go
M   datastack/wal.go

commit eb35a3c85a45ad0c908b58d1d6257bb508695922
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 10 15:17:17 2020 -0600

    Fix a couple of accounting errors in streaming commit item size replay calculation, and fix broken clitests

M   backend/jobs.go
M   datastack/content.go
M   datastack/streamingSyncActive.go
M   datastack/wal.go

commit 024649a4694bd0c53cfabe3ed257af743dc109f7
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 10 14:36:26 2020 -0600

    Oops, use the actual error when reporting a sync failure

M   frontend/system.go

commit 994f9599ad78e081f7d739137710400aad2ef134
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 10 12:00:41 2020 -0600

    Stream job logs during replication as well.

M   backend/jobs.go
M   datastack/content.go
M   datastack/streamingSyncPassive.go

commit e422c264db9207797673235fa73847b193f7e3ed
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 10 08:33:13 2020 -0600

    Oops, pre-add content streaming

M   datastack/streamingSyncActive.go
M   datastack/streamingSyncPassive.go
M   go.mod
M   go.sum

commit 50cb36d86fa8656205fa77aaa15165b9bd49bb1a
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 7 09:51:49 2020 -0600

    Add xattr-based etag handling for all static assets to optimize replication

M   backend/dataTracker.go
M   backend/fs.go
M   backend/utils.go
M   clitest/bootenv_test.go
M   clitest/test-data/output/TestAuth/info.get/stdout.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.598210b84fe6c462e3ea35ec100c7466/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.b24ec2283fb58a58c22861abe39a4f40/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.def4fb594e00b9aac12d8809a46417a4/stderr.expect
M   clitest/test-data/output/TestPluginProviderCli/extended.show.john/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   cmds/dr-backup/main.go
M   datastack/stack.go
M   datastack/streamingSyncPassive.go
M   frontend/file_common.go
M   frontend/frontend.go
M   frontend/jobs.go
M   frontend/plugin_providers.go
M   go.mod
M   go.sum
M   midlayer/static_test.go
M   tools/test.sh

commit cc73174a804d3344aaf9e5d505eb7fd753f96dda
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 5 14:13:18 2020 -0600

    Etag handling checkpoint

M   datastack/stack.go
M   go.mod
M   go.sum

commit 38fe69fb4eaac8e4f1b968d2f27bb543c836decd
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Jan 30 17:02:55 2020 -0600

    Start working on streaming data replication

M   backend/dataTracker.go
M   backend/pluginProvider_test.go
M   backend/pluginProviders.go
A   cmds/dr-backup/main.go
M   datastack/content.go
M   datastack/stack.go
M   datastack/stack_legacy.go
M   datastack/stack_test.go
A   datastack/streamingSync.go
A   datastack/streamingSyncActive.go
A   datastack/streamingSyncPassive.go
A   datastack/streamingSync_test.go
M   datastack/wal.go
M   frontend/content.go
M   frontend/file_common.go
M   frontend/files.go
M   frontend/gzip.go
M   frontend/system.go
M   go.mod
M   go.sum

commit f9db683bb2980fb909a34064b07ff717cd65c573
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sat Jan 25 21:19:12 2020 -0600

    Rename clientRefresh and bump some deps

M   frontend/file_common.go
M   frontend/frontend.go
M   frontend/jobs.go
M   frontend/plugin_providers.go
M   go.mod
M   go.sum

commit 4bf5abaf7f719dc1365aad4c9df04afae3985dd6
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 24 15:58:23 2020 -0600

    Skip etag checking when dealing with Range requests

M   frontend/frontend.go

commit a83bd2697f594bd7f1e7db198cf409fe10df74cd
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 24 12:20:37 2020 -0600

    Add ETag and If-None-Match support in a few critical places

M   datastack/stack.go
M   frontend/file_common.go
M   frontend/frontend.go
M   frontend/jobs.go
M   frontend/plugin_providers.go

commit 4b978a555e4cf6c6fc92ee926c593154002e8163
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 24 10:09:24 2020 -0600

    Remove more no-longer-required checkpoints

M   backend/bootenv_test.go
A   clitest/test-data/output/TestContentCli/contents.create.4c4e8ae2275d5c4ad58d3e7b5442a889.2/stdout.expect
M   clitest/test-data/output/TestLogsCli/logs.get/stdout.expect
M   datastack/stack.go
M   datastack/wal.go
M   frontend/content.go
M   server/server.go
M   server/watcher.go

commit df7653e5e036e5f264901aa3c7bf6c1d269d13a8
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 14 15:41:15 2020 -0600

    Switch to monolithic base store checkpoint

M   backend/bootenv_test.go
M   backend/dataTracker_test.go
M   backend/dhcpUtils_test.go
M   backend/interfaces_test.go
M   backend/jobs.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/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/workflow_test.go
M   datastack/perTxWalReplay.go
M   datastack/stack.go
A   datastack/stack_legacy.go
M   datastack/stack_test.go
M   datastack/wal.go
M   frontend/content.go
M   midlayer/fake_midlayer_server_test.go
M   server/server.go
M   server/server_test.go

commit cab444503ce9d18cdb9b728e367ad4bbdf46ca8b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 13 13:33:53 2020 -0600

    Bump logger version to fix a race condition in the logger package

M   go.mod
M   go.sum

commit cd844e1a960023dabde2a317f921aec52abc1581
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 13 13:33:28 2020 -0600

    Fix up validation and account for create and update being idempotent

M   backend/dataTracker.go
M   clitest/contents_test.go
M   clitest/test-data/output/TestContentCli/contents.create.4c4e8ae2275d5c4ad58d3e7b5442a889.2/stderr.expect

commit 9455169e018f0a9900ae4b455d47d416faad8e89
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 13 12:19:02 2020 -0600

    Stop caring whetner new content get uploaded via PUT or POST, since it is idempotent anyways.

M   frontend/content.go

commit ae439686ac94c689d6fc23620c12f54f8231e8ac
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 13 12:16:53 2020 -0600

    Fix layername tracking, and keep old raw object schema definitions around

M   clitest/test-data/output/TestContentsFunctionalCli/contents.create.1f5703894e259aac1cceb0ff6196146b/stderr.expect
M   datastack/stack.go

commit 5aab8fc19de0b68c5dc016a670bfc80e94debbfd
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 13 09:02:19 2020 -0600

    Rework the datastack to not use a StackedStore.

    Instead, rely on index metadata to add and remove objects when we
    swap out layers.  Additionally, normalize when an object reports its
    bundle as BackingStore -- we were inconsistently adding it only to
    certian object types.  This fixes things up to never set the bundle
    when the object is stored in the writable store.

M   backend/machines.go
M   backend/pluginProvider_test.go
M   backend/pluginProviders.go
M   backend/user.go
M   clitest/test-data/output/TestAuth/plugins.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/plugins.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestAuth/profiles.list.611601b3efac342fd10027372140fe8c.2/stdout.expect
M   clitest/test-data/output/TestAuth/profiles.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/profiles.list.e8e0775e692adbcb8acdf3799178655c.2/stdout.expect
M   clitest/test-data/output/TestAuth/profiles.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestContentCli/contents.create.test-data/content.yaml/stderr.expect
M   clitest/test-data/output/TestContentVersions/contents.upload.21097743cda060ed4b47350748c0ca7b/stderr.expect
M   clitest/test-data/output/TestContentsFunctionalCli/contents.create.1f5703894e259aac1cceb0ff6196146b/stderr.expect
M   clitest/test-data/output/TestContentsFunctionalCli/contents.create.caec0e7d1b4b772a78e6dece471da19b/stderr.expect
M   clitest/test-data/output/TestContentsFunctionalCli/contents.update.Pack1.7e2795c1d3dd2c0dfc2149a79191333b/stderr.expect
M   clitest/test-data/output/TestContentsFunctionalCli/profiles.list.2/stdout.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/TestContentsFunctionalCli/profiles.list.5/stdout.expect
M   clitest/test-data/output/TestContentsFunctionalCli/profiles.list/stdout.expect
M   clitest/test-data/output/TestLoadIncrementer/plugins.list/stdout.expect
M   clitest/test-data/output/TestPluginCli/plugins.list.2/stdout.expect
M   clitest/test-data/output/TestPluginCli/plugins.list.3/stdout.expect
M   clitest/test-data/output/TestPluginCli/plugins.list.4/stdout.expect
M   clitest/test-data/output/TestPluginCli/plugins.list.5/stdout.expect
M   clitest/test-data/output/TestPluginCli/plugins.list/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.10d73d74561c9e31b1b8fa5bf73dd92a/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.2/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.2d116c713d0075f8da30be5bf8a50f67/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.3/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.4/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.5/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.78d603ecdbe958a094edc5726b86fa52/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.e3f3dd04190749d1c215bddb7de3ca2c/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list.e5be561fb290b2e75818092f6ac03900/stdout.expect
M   clitest/test-data/output/TestProfileCli/profiles.list/stdout.expect
M   clitest/test-data/output/TestSecureParams/107f75f68fff17441b286c8fe6a6e4ba/stdout.expect
M   clitest/test-data/output/TestSecureParams/14aa5d9a6501cad34347d8361129cdfb/stdout.expect
M   clitest/test-data/output/TestSecureParams/202798cfaafbd57ccfb46bc336c49e7c/stdout.expect
M   clitest/test-data/output/TestSecureParams/65eb352f6bbae96b3bb8405b1c5c1d0e/stdout.expect
M   clitest/test-data/output/TestSecureParams/76e008e0460c02509e0ba35cbe1b2043/stdout.expect
M   clitest/test-data/output/TestSecureParams/7aa3701f079ef933122f351075a45e40/stdout.expect
M   clitest/test-data/output/TestSecureParams/88c1a624a67720a37456e18e5cd08bca/stdout.expect
M   clitest/test-data/output/TestSecureParams/9821faf3e21abe65ea0ae9b6d410896f/stdout.expect
M   clitest/test-data/output/TestSecureParams/a020e4244b91aa41fb842365d369673b/stdout.expect
M   clitest/test-data/output/TestSecureParams/a13adcf688d2af312f9eb3cb15350c5d/stdout.expect
M   clitest/test-data/output/TestSecureParams/a7512e88392fbf45e66bd6b968a7d200/stdout.expect
M   clitest/test-data/output/TestSecureParams/a8b33f72101cc8ce825bb1930e64c23b/stdout.expect
M   clitest/test-data/output/TestSecureParams/affc93a252f85ff626a1df249f23cfc3/stdout.expect
M   clitest/test-data/output/TestSecureParams/b3768329f49a1853cf3daad5c516110b/stdout.expect
M   clitest/test-data/output/TestSecureParams/bd5a907e9277d82f419d78df61d64deb/stdout.expect
M   clitest/test-data/output/TestSecureParams/d2e09e883fb98f066207b265d9807a4b/stdout.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   datastack/index/index.go
M   datastack/stack.go
A   datastack/stack_test.go
M   frontend/content.go

commit 242da0d27bf044902c7d3a2f5d39e4b8027b69cc
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Jan 8 08:49:23 2020 -0600

    Pull in raw_model validation fixes and get rid of some globals

    Now the only globals in the datastack package are for a couple
    of ancillary object pools.

M   backend/profiles_test.go
M   backend/requestTracker.go
M   datastack/stack.go
M   datastack/wal.go
M   go.mod
M   go.sum
M   pacman/PKGBUILD

commit b322c816b0ec6dda78adfdf6a3fc4ae4a1719a91
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 7 13:45:47 2020 -0600

    Make frontend ignorant of actual directory locations

A   datastack/content.go
M   datastack/perTxWalReplay.go
M   datastack/stack.go
M   datastack/wal.go
M   frontend/content.go
M   frontend/file_common.go
M   frontend/frontend.go
M   frontend/system.go
M   server/server.go

commit dcda3c6af828cc0ad1497e53e9aa00e5a3b6d9ab
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 7 11:09:45 2020 -0600

    Add a frontent API method to get the binary for a given plugin provider

M   frontend/plugin_providers.go

commit 03e231def5a1faf9a948f3c4dd16211ac932d2a3
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 7 10:39:40 2020 -0600

    Always calculate SHA256 of a plugin provider on load

M   backend/pluginProviders.go
M   datastack/pluginProvider.go
M   datastack/stack.go

commit 047417cfdad4efa208b61126489e2f46bae4dd58
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 6 13:29:38 2020 -0600

    Swizzle datastack stuff up to refer to Stack instead of DataStack

M   backend/dataTracker.go
M   backend/dataTracker_test.go
M   backend/pluginProvider_test.go
M   backend/pluginProviders.go
M   backend/plugin_controller.go
M   backend/profiles_test.go
M   backend/utils.go
M   datastack/perTxWalReplay.go
M   datastack/pluginProvider.go
M   datastack/stack.go
M   datastack/wal.go
M   frontend/content.go
M   midlayer/fake_midlayer_server_test.go
M   server/server.go
M   server/watcher.go

commit df1f48532155564a260db226547996d106bf3824
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Dec 20 12:08:18 2019 -0600

    Move all on-disk data handling code from backend in to datastack.

    This seperates the validation and sanity-checking code from the code
    that is responsible for maintaining consistent state on disk.

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/interfaces_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/pluginProvider_test.go
M   backend/pluginProviders.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/runningPlugin.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/utils.go
M   backend/workflow.go
M   backend/workflow_test.go
M   clitest/test-data/output/TestContentsFunctionalCli/contents.create.caec0e7d1b4b772a78e6dece471da19b/stderr.expect
M   clitest/test-data/output/TestLogsCli/logs.get/stdout.expect
M   clitest/test-data/output/TestSystemCli/system.actions/stdout.expect
R098        backend/index/index.go  datastack/index/index.go
R100        backend/index/index_test.go     datastack/index/index_test.go
R094        backend/perTxWalReplay.go       datastack/perTxWalReplay.go
A   datastack/pluginProvider.go
R069        backend/stack.go        datastack/stack.go
R088        backend/wal.go  datastack/wal.go
M   frontend/content.go
M   frontend/frontend.go
M   frontend/indexes.go
M   go.sum
M   midlayer/dhcp.go
M   midlayer/fake_midlayer_server_test.go
M   server/server.go
M   server/watcher.go

commit 0c465ff72b711e1826066f9ab7806f843e9429f6
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Dec 12 12:57:33 2019 -0600

    Move indexes from DataTracker to the stacked store.

    THis is prep work for exposing streaming WAL changes.  The
    code that synthesizes the WAL streams needs to be able to handle
    the case where the WAL entries a requestor wants to start at are no longer
    present on the system -- in that case, the system will synthesize an
    entry that encapsulates its entire mutable state and use that as a
    base.  This needs to be fairly fast, so it will have to access the indexes.

M   backend/bootenv.go
M   backend/contexts.go
M   backend/dataTracker.go
M   backend/hooks.go
M   backend/index/index.go
M   backend/index/index_test.go
M   backend/jobs.go
M   backend/lease.go
M   backend/license.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/reservation.go
M   backend/roles.go
M   backend/stack.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/wal.go
M   backend/workflow.go
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   frontend/content.go
M   go.mod
M   go.sum

commit 23b01203cbc4b73c5a9a39711c5dbdce4f737095
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Dec 12 14:02:03 2019 -0600

    Rename fe.melody to fe.eventStream

M   frontend/frontend.go
M   frontend/websocket.go

commit 166efc9404c7b0137e180e0eefcd270922d444d1
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 5 16:30:53 2020 -0600

    Make tx logic shorter and easier to follow in acquireRead and acquireWrite

    This fixes a logic bug introduced in the last fix and makes it harder for
    such bugs to enter again.

M   backend/tx.go

commit 4a42baaebb6c982add27d100c275921d09a34852
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 4 17:18:08 2020 -0600

    Fix a couple more corner cases in tx deadlock avoidance, add unit tests to cover them

M   backend/tx.go
M   backend/tx_test.go

commit 67141e0f1cfd0b669382c85a3d28a6ffc32347a2
Author: Michael Rice <michael@michaelrice.org>
Date:   Tue Feb 4 14:59:33 2020 -0600

    added fedora to renderData

    Added fedora to the list of yum style repos in renderData

    Related: #182

    Signed-off-by: Michael Rice <michael@michaelrice.org>

M   backend/renderData.go

commit 2e43d9534613de2f9e82d4e017acaaee25f7c76f
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Jan 28 11:44:15 2020 -0600

    Add Contexts to the swagger template

M   server/swagger.base.yml

commit 4af2a3315994ecc1cd31fae2b9a44f97cbec90fd
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 27 10:30:25 2020 -0600

    Handle transaction lock checking corner case where acquireWrite can deadlock due to pending reads

M   backend/tx.go
M   backend/tx_test.go

commit 5f56d627121d9c5a9100f0c10ee51e76b5f9dea9
Author: Shane Gibson <shane@rackn.com>
Date:   Sat Jan 11 16:45:53 2020 -0800

    Update ESXi bootenv/content pack management scripts

M   embedded/assets.go
A   embedded/assets/make-esxi-bootenvs.sh
R096        embedded/assets/make-esxi-bootenv.sh    embedded/assets/make-esxi-content-pack.sh
M   embedded/assets_test.go

commit 1c7c4de80f00c769ad325fb40cea9c1405f87f30
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Jan 11 15:38:13 2020 -0600

    Make sure that we don't send RS_LOCAL_PROXY to plugins.

M   backend/runningPlugin.go

commit cb458536ecf4bdeb1ae94e69f9dc582a5c714589
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Jan 8 12:00:44 2020 -0600

    Remove drbundler from the update process.  It is mostly gone.

M   frontend/system.go

commit 741a9c18d65bc8d08e05b47843edd66d0971cdd8
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Jan 2 09:44:42 2020 -0500

    Add rpi4 mac renderer for DRP template expansion

M   backend/renderData.go

commit f08f61f7dba7b7fd4f0c858f2db86e6c7e6471fb
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Jan 1 19:27:36 2020 -0500

    Add unit test for link in bootenvs.

    Allow link to refer to links.

M   backend/fs.go
M   clitest/bootenv_test.go
A   clitest/test-data/linkhammer.yml
A   clitest/test-data/output/TestBootEnvLinks/bootenvs.create.test-data/linkhammer.yml/stdout.expect
A   clitest/test-data/output/TestBootEnvLinks/bootenvs.destroy.linkhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvLinks/bootenvs.install.test-data/linkhammer.yml/stderr.expect
A   clitest/test-data/output/TestBootEnvLinks/bootenvs.show.linkhammer/stdout.expect
A   clitest/test-data/output/TestBootEnvLinks/machines.create.3d5b0b0361779666bf68dc10ad07021f/stdout.expect
A   clitest/test-data/output/TestBootEnvLinks/machines.create.705b3b81d0728cad275b917c9d6c482f/stdout.expect
A   clitest/test-data/output/TestBootEnvLinks/machines.destroy.Name.test1/stderr.expect
A   clitest/test-data/output/TestBootEnvLinks/machines.destroy.Name.test1/stdout.expect

commit 8c1e7d3e9b6dedaa60cd2663d4762e5d70a96a39
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Jan 1 13:58:20 2020 -0500

    Add Link for templates.  This allows for the system
    to have a Link templateinfo that maps a PATH (dynamic)
    to a real file in the filesystem.  This Link can be
    templated as well.

M   backend/fs.go
M   backend/renderData.go
M   clitest/test-data/output/TestAgent/tasks.create.1bb276b9915eda35d2aae32b522541a8/stdout.expect
M   clitest/test-data/output/TestAuth/bootenvs.list.611601b3efac342fd10027372140fe8c/stdout.expect
M   clitest/test-data/output/TestAuth/bootenvs.list.e8e0775e692adbcb8acdf3799178655c/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.2/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.3/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.33d4eb22c5df62e83097c23fc4597c5a/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.4/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.5/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.708af06cd4868a90764f58b0dd2011f9/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.Available=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.Name=ignore/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.OnlyUnknown=false/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.OnlyUnknown=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.ReadOnly=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.Valid=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.sort=Name.reverse=true/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list.sort=Name/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.list/stdout.expect
M   clitest/test-data/output/TestBootEnvCli/bootenvs.show.ignore/stdout.expect
M   clitest/test-data/output/TestBootEnvLookaside/bootenvs.install.test-data/no-phredhammer.yml/stdout.expect
M   clitest/test-data/output/TestBootEnvLookaside/bootenvs.install.test-data/phredhammer.yml/stdout.expect
M   clitest/test-data/output/TestBootEnvLookaside/bootenvs.show.phredhammer/stdout.expect
M   clitest/test-data/output/TestContentsFunctionalCli/bootenvs.create.2821b7fbef3ac86a5137eeb673f990fc/stdout.expect
M   clitest/test-data/output/TestCorePieces/2df325711fa0d8b85ba33f9846817da8/stdout.expect
M   clitest/test-data/output/TestCorePieces/a98887b36060c32b63908a01f0020907/stdout.expect
M   clitest/test-data/output/TestJobCli/tasks.create.193f4b1ffc609e47bcda6959e40b0354/stdout.expect
M   clitest/test-data/output/TestJobOsFilter/tasks.create.1e93421a3148c08126c615603e91fed6/stdout.expect
M   clitest/test-data/output/TestMachineCli/stages.addprofile.stage2.stage-prof/stdout.expect
M   clitest/test-data/output/TestMachineCli/stages.create.66f9863e0266c1adc798e9b1f28dbf15/stdout.expect
M   clitest/test-data/output/TestMultiArch/bootenvs.create.311da3fd52a0f11d56afd8a977848c66/stdout.expect
M   clitest/test-data/output/TestMultiArch/bootenvs.create.4553dccd9f552aef35a55761a88fc0d6/stdout.expect
M   clitest/test-data/output/TestPrefsCli/bootenvs.install.bootenvs/local3.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-centos-install.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-debian-install.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-scientificlinux-install.yml/stdout.expect
M   clitest/test-data/output/TestRepos/bootenvs.create.test-data/fake-ubuntu-install.yml/stdout.expect
M   clitest/test-data/output/TestTaskCli/tasks.create.6ab78af598245eaf249f6bb3daf279ca/stdout.expect
M   clitest/test-data/output/TestTaskCli/tasks.create.97e2b6da70fc22c79855dcb2a34f6f0e/stdout.expect
M   clitest/test-data/output/TestTasksWithElevatedTokens/tasks.create.3d318eb3d24e0d141ae6ef50c9fa5ef8/stdout.expect
M   clitest/test-data/output/TestTasksWithElevatedTokens/tasks.create.531d31d2bf87ade06a1b16c125c73544/stdout.expect
M   clitest/test-data/output/TestTasksWithElevatedTokens/tasks.list.Elevated=true/stdout.expect
M   clitest/test-data/output/TestTasksWithElevatedTokens/tasks.list/stdout.expect
M   clitest/test-data/output/TestWorkflowAgent/tasks.create.3fd4582512be832e14019e91bbacd4d8/stdout.expect
M   clitest/test-data/output/TestWorkflowAgent/tasks.create.415490e60495cb7f5084f2065bd91785/stdout.expect
M   clitest/test-data/output/TestWorkflowAgent/tasks.create.5878cf40050f948177538facfaf3d29a/stdout.expect
M   clitest/test-data/output/TestWorkflowAgent/tasks.create.b406e4099a3f6c84921796cea1aaca38/stdout.expect
M   clitest/test-data/output/TestWorkflowAgent/tasks.create.cf5ae57e1cc4469ec455589990eb6608/stdout.expect
M   clitest/test-data/output/TestWorkflowAgent/tasks.create.e0782aaf3fbde89447a3c1db1ca0cc50/stdout.expect
M   clitest/test-data/output/TestWorkflowCli/bootenvs.create.nlName. FrednlTemplates.nl  - Name. ipxenl    Path. /ipxenl    Contents. squotefoosquotenl  - Name. ipxe-macnl    Path. /ipxe-macnl    Contents. squotebarsquotenl/stdout.expect
M   clitest/test-data/output/TestWorkflowCli/bootenvs.list.sort.Name/stdout.expect
M   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.1197530255841b706fed1f4597b458f0/stdout.expect
M   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.62af6c3eb6ecb2b5c9ade166f789e6b0/stdout.expect
M   clitest/test-data/output/TestWorkflowContextSwitching/tasks.create.d7cb1716668170f08abcee7978a8d749/stdout.expect
M   go.mod
M   go.sum

commit 388d9bc3d231fd30ac92a726504392d72a65114b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Dec 10 11:15:11 2019 -0600

    Make private keys for Paramers with secure params participate in the transaction log

M   backend/dataTracker.go
M   backend/dataTracker_test.go
M   backend/machines.go
M   backend/param.go
M   backend/pluginProvider_test.go
M   backend/pluginProviders.go
M   backend/plugins.go
M   backend/profiles.go
M   backend/profiles_test.go
M   backend/raw_model.go
M   backend/requestTracker.go
M   backend/stack.go
M   backend/stage.go
M   backend/tx.go
M   backend/utils.go
M   backend/wal.go
M   frontend/content.go
M   frontend/params.go
M   midlayer/fake_midlayer_server_test.go
M   server/server.go

End of Note