Skip to content

v3.7.0

commit fecb57b19a128de17ba75d07ceec9c0e28ddd863
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Feb 21 08:15:30 2018 -0600

    Add missing arg to machine address change log message.

M   midlayer/dhcp.go

commit 9d8955811eac76fb196298727ef960b64ca6c50b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 20 14:56:53 2018 -0600

    Grab all needed locks when we might need to update a machine IP address

    Also crank up the logging tt make it a Warnf if we decide that DHCP
    should change the IP address of a machine.

M   midlayer/dhcp.go

commit 901c1be395a47bc50bda1a6a0589f3aaaefc4fff
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 20 12:33:43 2018 -0600

    Bump go deps, and get rid of the delayed EmbeddedAsset stuff

M   cmds/dr-provision/dr-provision.go
M   embedded/assets.go
M   embedded/assets_test.go
M   frontend/frontend.go
M   server/server.go

commit 493970bc8fe1dfd79a75401c4280b1bb89ef5e38
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 19 16:05:40 2018 -0600

    Oops, need params when rendering job tasks

M   backend/jobs.go

commit 0d9e11198514051d762b43c1ba5ce97590a8eabf
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Feb 16 13:09:59 2018 -0600

    return true on version call in dockerfile.

M   Dockerfile

commit 95022cfd306d27f33357529b9ca4b47677f05caf
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 16 11:42:41 2018 -0600

    Have the plugins only use stdlib for HTTP server stuff

M   midlayer/messaging_server.go

commit 85fa3fe043116f5d2e8fde257821c94ebdc017fb
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Feb 16 12:21:14 2018 -0600

    Update the dockerfile to print the dr-provision --version
    as last step

M   Dockerfile

commit 1126dc9e48c9634af2650ff475fc3bcb1da46ab9
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 15 14:26:08 2018 -0600

    Allow plugin providers to unpack assets to be served statically

M   midlayer/controller.go

commit b93ba49add1b7f0d55c9e370f8a859088b492ecc
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 15 13:45:42 2018 -0600

    Make sure we close files served via TFTP

M   midlayer/tftp.go

commit 6e2355ba8e2776177af5c2c1fb645c0dc438a8a9
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 15 13:44:45 2018 -0600

    Make sure the HTTP server closes files after it serves them.

M   backend/fs.go

commit f96ba5bf17321b5df12ad7da3216e0c228fa5661
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Feb 14 17:18:38 2018 -0600

    To make docker builds work correctly in
    docker-cloud which updates docker hub,
    we need to have a delay for docker builds
    until the zip is uploaded.  Add a delay
    in install.sh option for a file to
    show up.  Once the file shows up, we will
    continue the install.

M   .gitignore
M   Dockerfile
M   hooks/build

commit 8fa059777c3796bb385c6f175a55d237d7987200
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Feb 14 16:48:19 2018 -0600

    Still lame

A   hooks/build

commit 7be193e8614d5c1390394ef861f4bf6ae09acc02
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Feb 14 16:36:26 2018 -0600

    Try again with docker-cloud

M   Dockerfile

commit f2418fe21f8e4936c1c2d04464c9c9f938159684
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Feb 14 15:33:31 2018 -0600

    Add some debug prints

M   Dockerfile

commit b2e2338a3c7e2beff47299d8b5b6bc44f44d67aa
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Feb 14 14:05:45 2018 -0600

    Update the dockerfile to build tags correctly.
    Change the travis triggers to run on tag.

M   Dockerfile

commit 6231da6888db5632b01cdfd70ca678f06079fb1c
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Feb 14 10:06:15 2018 -0600

    Only validate the task list integrity when the stages don't change.

M   backend/machines.go

commit 042d5429d106bff9b27746f5113dfdb00e8bbf7a
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Feb 12 23:01:38 2018 -0600

    Add KeyName to model so that things can know what field is
    used for key.  Terraform provider can use this to
    figure out what translates to make.

M   backend/index/index.go
M   backend/index/index_test.go

commit 491e8b6a881c350562056c3000265836b507629f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 12 14:57:55 2018 -0600

    Have requestTracker.Find always return a copy.

    Only the backend should be able to mess with objects in the indexes
    directly.

    To start fixing this up, arrange for Find to always return a copy of
    the backend object instead of the object itself, unless we are calling
    it from the backend directly.

    Also add a test to catch the use case that is a consequence of not
    having this check in place.

M   backend/bootenv.go
M   backend/dhcpUtils_test.go
M   backend/lease.go
M   backend/machines.go
M   backend/renderData.go
M   backend/requestTracker.go
M   backend/stage.go
M   backend/user_test.go

commit 4385293a2d462c9a059d95c47d6829ca49bcc3ce
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 8 15:10:28 2018 -0600

    Make NextServer handling identical in Reservations and Subnets.

    Also update the documentation and comments to node that you only need
    to set NextServer if you are transferring TFTP or DHCP control away
    from dr-provision.

M   backend/reservation.go
M   backend/subnet.go
M   midlayer/common_test.go
M   midlayer/dhcp.go

commit 0316ed59fdf019ff73fe3681cee8cbbc5f1df518
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Feb 6 09:47:26 2018 -0600

    Iron out some proxy DHCP bugs, and add unit tests that exercise proxy DHCP support.

M   backend/subnet.go
M   midlayer/common_test.go
A   midlayer/dhcp-tests/0002-proxy-pxe-discover/0000.logs-expect
A   midlayer/dhcp-tests/0002-proxy-pxe-discover/0000.request
A   midlayer/dhcp-tests/0002-proxy-pxe-discover/0000.response-expect
A   midlayer/dhcp-tests/0002-proxy-uefi-discover/0000.logs-expect
A   midlayer/dhcp-tests/0002-proxy-uefi-discover/0000.request
A   midlayer/dhcp-tests/0002-proxy-uefi-discover/0000.response-expect
A   midlayer/dhcp-tests/0002-proxy-uefi-discover/0001.logs-expect
A   midlayer/dhcp-tests/0002-proxy-uefi-discover/0001.request
A   midlayer/dhcp-tests/0002-proxy-uefi-discover/0001.response-expect
M   midlayer/dhcp.go

commit ced701e306ca66528467854d944879686f214479
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 5 16:34:59 2018 -0600

    Move tftp file fallback handling to coalesceOptions

    Also fix busted listenOn implementation that was resulting in too many
    spurious NAKs

M   midlayer/dhcp.go

commit 864476baee0bc6237d3a877f3fe63f189dcab2ca
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 5 13:03:15 2018 -0600

    Oops, got checks for validating Active when subnet is a Proxy subnet backwards.

M   backend/subnet.go

commit 470d3287d25a47200b436f74de105f7589006076
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 5 12:23:02 2018 -0600

    Update docs for new DHCP features and update testcases.

    We no longer require that option 67 be specified on individual
    subnets. The docs have been updated to remove option 67 from examples.

    Basic discover testcases expanded to test PXE with legacy BIOS, UEFI,
    and iPXE seperately.

A   midlayer/dhcp-tests/0000-basic-ipxe-discover/0000.logs-expect
A   midlayer/dhcp-tests/0000-basic-ipxe-discover/0000.request
A   midlayer/dhcp-tests/0000-basic-ipxe-discover/0000.response-expect
R100    midlayer/dhcp-tests/0000-basic-pxe-discover/0001.logs-expect    midlayer/dhcp-tests/0000-basic-ipxe-discover/0001.logs-expect
R100    midlayer/dhcp-tests/0000-basic-pxe-discover/0001.request    midlayer/dhcp-tests/0000-basic-ipxe-discover/0001.request
R100    midlayer/dhcp-tests/0000-basic-pxe-discover/0001.response-expect    midlayer/dhcp-tests/0000-basic-ipxe-discover/0001.response-expect
R100    midlayer/dhcp-tests/0000-basic-pxe-discover/0002.logs-expect    midlayer/dhcp-tests/0000-basic-ipxe-discover/0002.logs-expect
R100    midlayer/dhcp-tests/0000-basic-pxe-discover/0002.request    midlayer/dhcp-tests/0000-basic-ipxe-discover/0002.request
R100    midlayer/dhcp-tests/0000-basic-pxe-discover/0002.response-expect    midlayer/dhcp-tests/0000-basic-ipxe-discover/0002.response-expect
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.request
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.response-expect
A   midlayer/dhcp-tests/0000-basic-uefi-discover/0000.logs-expect
A   midlayer/dhcp-tests/0000-basic-uefi-discover/0000.request
A   midlayer/dhcp-tests/0000-basic-uefi-discover/0000.response-expect

commit 6945e539190b03d9da5bda24254629ed8ae9b49f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 5 11:50:10 2018 -0600

    Option 67 is optional now.

    You no longer have to specify option 67 in a subnet or a reservation,
    the DHCP server now has sane defaults for what to do if it is missing
    for legacy BIOS and UEFI systems, and for iPXE vs non-iPXE.  You can
    still specify option 67 if you want to override the defaults.

    If (for whatever reason), you do not want systems to PXE boot from a
    subnet ever, you can toggle the new Unmanaged bit on the subnet.  This
    will tell dr-provision to never send any PXE related options in a DHCP
    response packet.

M   backend/subnet.go
M   midlayer/common_test.go
M   midlayer/dhcp.go

commit cb8862d0218d84b501f5424ae4037eab4b147ce8
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Feb 5 09:14:53 2018 -0600

    Trivial if statement reorder

M   midlayer/dhcp.go

commit 617af1bd1e33eb09f495acf50a1a677e3878cc0e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Sat Feb 3 21:36:11 2018 -0600

    Comment the heck out of the DhcpRequest methods.

    This also does a few trivial method and variable renames, and switches
    back to not including PXE specific options when we handle a DHCP
    packet as a regular DHCP server, as this seems to aviod the msot
    firmware bugs.

M   midlayer/common_test.go
M   midlayer/dhcp.go

commit 4c8bdf02b64b9e984c6b514ac893816d212f25c5
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Feb 2 17:00:21 2018 -0600

    Do a better job at seperating control flow from PXE and DHCP.

    This PR starts disentagling the DHCP and PXE control flows through the code.
    As a side effect, we no longer offer PXE related files when operating
    purely as a DHCP server.  This is a temporary situation, and will not persist.

M   backend/dhcpUtils.go
M   backend/lease.go
M   backend/subnet.go
M   midlayer/dhcp.go

commit 65f0aa9b73d15944126d5d3048cdc76e8fabdf69
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Feb 2 15:19:28 2018 -0600

    Try again to fix the error

M   server/server_test.go

commit 4dd8b23781cf9ce6498e7eae24cd051afe0da1ae
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Feb 2 14:58:38 2018 -0600

    Fix build break because my system has extra stuff.

M   server/server_test.go

commit eb6163e995d2b07ac246a50d868e0cc31f1c7c0b
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Feb 2 14:37:06 2018 -0600

    Add more server base line tests and fix a store error

M   server/cert.go
M   server/server.go
M   server/server_test.go

commit a34fd76a913545a06eea1746f32a98d95e53493e
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Feb 2 11:25:42 2018 -0600

    Allow more config in the cert construction path.
    Add more unit tests.  Remove dead code.

M   server/cert.go
A   server/cert_test.go
M   server/server.go

commit 14516bc7dd7f172be5cd2a27019ced028be1fe1e
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Feb 2 10:20:35 2018 -0600

    Add Lease filter tests and clean up some dead code.

M   backend/preference.go

commit c36cf4e1e945e41545edabf8cf4dca4c65d698b7
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Feb 1 21:00:53 2018 -0600

    Rework the UI url variables to reflect the new
    UI versioning and potential local UI.

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

commit 1cf8bf7a07eb4107111879c3f1d890859d2d4df8
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Feb 1 19:54:52 2018 -0600

    Don't require a lock when filtering websocket events.
    Split the authClaim piece into the claims matcher
    and the secret matcher.  Only use the claim matcher in
    the websocket filter path.

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

commit a472f1e7e7f43ea57c12deb301de5d02c8ca4483
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Feb 1 11:57:07 2018 -0600

    DRY up the content calls to use the common routines
    in models and move some models code from frontend to
    models.

M   frontend/content.go

commit f68c082bfa45fe91169365bd1bb71145c946392c
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 1 15:30:08 2018 -0600

    Move all Publish() and PublishEvent() calls to the RequestTracker.

    This allows us to lazily publish events when holding backend locks.
    Lazily published events will be sent when the locks are released.

M   backend/dataTracker.go
M   backend/event.go
M   backend/requestTracker.go
M   frontend/actions.go
M   frontend/events.go
M   frontend/frontend.go
M   midlayer/controller.go
M   midlayer/messaging_server.go
M   server/server.go

commit 931db53fc466b8db1a53b850d967b9dfb2864741
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 1 11:55:40 2018 -0600

    Tweak DHCP packet processing code to include the local port.

    This should make it easier to add unit testing support for binl/PXE on port
    4011.

M   midlayer/common_test.go
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.request
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.response-expect
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0001.request
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0001.response-expect
M   midlayer/dhcp-tests/0000-basic-pxe-discover/0002.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0000.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0000.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0001.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0001.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0002.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0002.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0003.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0003.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0004.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0004.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0005.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0005.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0006.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0007.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0007.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0013.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0013.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0014.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0015.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0015.response-expect
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0016.request
M   midlayer/dhcp-tests/0001-test-lease-wraparound/0016.response-expect
M   midlayer/dhcp.go
M   midlayer/dhcpUtil.go
M   midlayer/dhcp_test.go

commit 2811c44fdbb65160afd7291067e644dc95987e5c
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 1 10:49:09 2018 -0600

    Improve DHCP unit testing.

    Have the test runner clear leases at the end of each test scenario.

    Make diff macos compatible.

    Add a test case for handling lease creation and assignment when we run
    out of leases.

A   midlayer/dhcp-tests/0001-test-lease-wraparound/0000.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0000.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0000.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0001.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0001.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0001.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0002.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0002.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0002.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0003.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0003.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0003.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0004.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0004.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0004.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0005.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0005.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0005.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0006.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0006.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0006.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0007.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0007.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0007.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0008.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0009.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0010.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0011.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0012.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0013.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0013.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0013.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0014.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0014.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0014.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0015.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0015.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0015.response-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0016.logs-expect
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0016.request
A   midlayer/dhcp-tests/0001-test-lease-wraparound/0016.response-expect
M   midlayer/dhcp_test.go
M   midlayer/fixInteractive.sh

commit 4642691a2ba15ce4ea3930c3b5e03eb821178790
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Feb 1 09:22:15 2018 -0600

    Make DHCP tests run based on external test data like the CLI tests do

A   midlayer/dhcp-tests/.gitignore
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.logs-expect
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.request
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0000.response-expect
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0001.logs-expect
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0001.request
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0001.response-expect
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0002.logs-expect
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0002.request
A   midlayer/dhcp-tests/0000-basic-pxe-discover/0002.response-expect
M   midlayer/dhcp_test.go
A   midlayer/fixInteractive.sh

commit 3f75c947201e734ed612e5647a1579e4e594f4ab
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Jan 31 12:39:04 2018 -0600

    Bootstrap first working DHCP tests

M   midlayer/common_test.go
M   midlayer/dhcp.go
A   midlayer/dhcpUtil.go
A   midlayer/dhcp_test.go

commit b8a3303ad2457e6baf8545341c6a71111f1088ae
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 30 14:16:12 2018 -0600

    dhcp_test.go contains only common functionality.

R100    midlayer/dhcp_test.go   midlayer/common_test.go

commit 9a7097dc1000ad950c216017a2dfeae2ca0bd77d
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 30 14:14:42 2018 -0600

    Add a helper function to the DHCP test file.

M   midlayer/dhcp_test.go

commit 33e2eda60258571a1471fdf694b2df679dfc5025
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 30 14:13:43 2018 -0600

    Move a few DHCP logs from debug to Error.

M   midlayer/dhcp.go

commit 1d3ba4e0d920f983d3bb6430e651347b79d8e3fe
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 30 10:00:23 2018 -0600

    Move per-request handling to its own strucure.

    All per-request packet handling logic has been moved to a DhcpRequest
    struct, which contains all the information needed to process that
    request.  DhcpHandler has been refactored to build and run a
    DhcpRequest for every incoming packet.

M   midlayer/dhcp.go

commit ca7019fdb08209b7e3aba835fbd0a59f5d3f9827
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Jan 25 12:22:13 2018 -0600

    Stop conflating next-server and server-id

    We had been mixing up how we were using them when building packets,
    which was causing unneeded calls to the respondFrom.

M   midlayer/dhcp.go

commit 1a23637c27c515e28a29aadd3d98018a58bc175e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Jan 25 10:38:17 2018 -0600

    Fix DHCP unit tests to properly handle the new notion of when to offer a bootfile

M   backend/dataTracker.go
M   midlayer/dhcp.go

commit c0b0013d5133ed7f922a3a17c4c58b96d900d098
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Jan 25 09:46:34 2018 -0600

    Add pxelinux-mac and ipxe-mac stanzas to the local bootenv

M   backend/dataTracker.go

commit c654eb2cb2d3b20ee88803cb5ec940cf2890b45f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Jan 25 09:44:05 2018 -0600

    Change up NetBoot logic to accout for non-us DHCP servers.

    We still need to render templates for bootenvs that out DHCP server
    should not PXE boot to work properly when other DHCP servers are in
    play.

M   backend/bootenv.go

commit cc7f06d6f9296e61fa903157789b991af57c0cff
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Jan 25 09:31:50 2018 -0600

    Revert "Remove PXE boot templates from the local bootenv"

    This reverts commit fb22531969c56d91964e7ac50dcca2417411bf93.

M   backend/dataTracker.go

commit 0f4e3339fb6a22544d38c2643a1be0c216d855e3
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 23 14:05:39 2018 -0600

    Fix a couple of bugs exposed by testing

M   backend/dataTracker.go
M   backend/renderData_test.go

commit 6d46f7f6bedace143041dc654411d48e67f355e2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 19 17:04:01 2018 -0600

    Remove PXE boot templates from the local bootenv

M   backend/dataTracker.go

commit b4817feb772b17f8f8e6d619396f0155cb1a7524
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 19 16:48:00 2018 -0600

    Several updates to the DHCP service.

    We can now refrain from attempting to PXE boot a machine if:

    * There exists a reservation for the strat/token that has an empty
      bootfile option.  This allows us to have dr-provision refuse to PXE
      boot a machine without actually needing to create a machine record.

    * The machine we are offering the lease to (based on the machine
      Address) has a bootenv that does not have the usual templates needed
      for PXE booting.

    Additionally, the DHCP server can change the Machine address provided
    that the machine in question has a populated HardwareAddrs field, we
    issue a Lease for one of the HardwareAddrs, that Lease has a different
    address recorded than the Machine has, and we want to PXE boot the
    machine.

M   midlayer/dhcp.go

commit 5b6de19a1ec81cd1071e778535a292aead899793
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 19 16:46:28 2018 -0600

    Add a restriction to not allow Machines to have overlapping IP addresess, unless they have the unspecified IP address

M   backend/machines.go

commit de30f8ad2f5f8489b4fecc2e0a36fa6926917341
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 19 16:45:21 2018 -0600

    Add a couple more helper functions for looking up things by index to RequestTracker

M   backend/requestTracker.go

commit 00b3000b45ed7ca2d53da8b22a985ed3268524c2
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 19 16:43:51 2018 -0600

    Give BootEnvs a way to signal whether they are for PXE booting, and allow them to render templates for each MAC address a machine has

M   backend/bootenv.go
M   backend/renderData.go

commit 49ea8b158f3f9bd18e19a59dfd7052ee791f3a85
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 19 16:40:36 2018 -0600

    Add a quick and dirty index of MAC address -> Machine

M   backend/dataTracker.go
M   backend/machines.go

commit 03b580b1129f014272fa94d4945d047e249a2cc9
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 19 16:38:44 2018 -0600

    Make machines.New() work when passed a nil Machine

M   backend/machines.go

commit b7888c74f579e736b1b322930c253fed5dcf5a2c
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Jan 29 13:07:19 2018 -0600

    Update the content test cases and the meta data
    reported to reflect the actual overwrite
    possibilities for the local, basic, and default
    content stores.

M   frontend/content.go
M   test-data/usr/share/dr-provision/default.yaml

commit 72c40228da5fa1decefff155acf6a68bf69d6bac
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Jan 29 12:42:35 2018 -0600

    When saving a SaaS content layer, make sure that we
    use a non-existant file.  This keeps the system
    from removing the file when the replaced layer is
    removed.

    This handles the case where we are iterating on
    content, but not changing the version.  The content
    will still be available on system restart.

M   frontend/content.go

commit 023886cd3a3ef52283f5149ba5b0eed512310eb6
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Jan 29 12:10:22 2018 -0600

    Make sure that the default content has different meta
    data to identify it.

M   frontend/content.go
M   midlayer/stack.go

commit 6d1ee3127f0a572b21dac6161dd20496c9b70e25
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 29 12:30:07 2018 -0600

    Sigh, USR1 not available on Windows.  Use ABRT instead.

M   server/server.go

commit f97d325f09abb36c3dcfc6e0c3a7a50998ec696b
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 29 12:08:22 2018 -0600

    Switch to having USR1 dump stacks and contested mutexes.

    QUIT was not being caught reliably, and had an internal handler anyways.

M   server/server.go

commit d40003e1de80efb79b23017f91cccac07f98113f
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 29 09:47:09 2018 -0600

    Adding support for dumping stack traces on exit with SIGQUIT

M   server/server.go

commit 8db2c72449088da41dcaa6d9f46c27e5643fd711
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Jan 26 17:08:06 2018 -0600

    Have the frontend make all tasks sane-exit-codes unless
    already set to orignal-exit-codes

M   frontend/tasks.go

commit ab6b47a965dedfb571c82d1b459c47407bd568b0
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Fri Jan 26 10:58:55 2018 -0600

    Add plugin version so we can stop and start plugins
    that aren't correct for our system.

M   midlayer/controller.go

commit 1895515c48f8c38e77c6774d5cfebbbe732d3d98
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Jan 24 23:59:44 2018 -0600

    This addresses a deadlock in the event system.
    The unit tests would hang but still print messages in
    travis until it times out after an hour.

    The problem is that we test the event registration
    system by registering for an event and immediately
    sending it.  The problem is that the register send
    on the websocket is not blocking and can return
    before the registration is complete.  For our
    unit test, the sent event is handled before
    the registration is complete causing the event
    to not be sent on the websocket.

    To fix this, the register and deregister calls
    generate events.  The event stream register
    and deregister calls don't return until the
    event from the registration call returns.

    This allows for the system not "miss" events during
    registration.

M   frontend/websocket.go

commit 6556f5feecfade774ffd797351357471d60a2076
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Jan 24 12:17:43 2018 -0600

    Add protection about comms path length.
    Default is safe.  /tmp is safe.  Directories on MACs
    may not be.

M   frontend/plugins.go
M   midlayer/messaging.go
M   midlayer/messaging_client.go
M   server/server.go

commit fc929eef60b3daf62b43f3854c67594285221c6f
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Wed Jan 24 12:15:21 2018 -0600

    Clean up socket files on stop of a plugin.
    Clean up socket files on start of a plugin (in case of bad death).

    Shutdown the plugins on dr-provision shutdown.

    Change default socket file path to /var/run.

M   midlayer/controller.go
M   midlayer/messaging.go
M   midlayer/messaging_client.go
M   server/server.go

commit cab2e52e6603f38c8ce6c2bc4a9b50ddbcbac54c
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Jan 18 17:46:53 2018 -0600

    Add a feature tag for plugin-v2

M   frontend/info.go

commit 1ddcb9f35f170e9d8f0b2327c92a235c91a6088a
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Jan 18 15:35:01 2018 -0600

    Fix a bug where the actions lock map was missing.
    Add system action support and unit tests for that.

M   backend/bootenv.go
M   backend/lease.go
M   backend/param.go
M   backend/plugins.go
M   backend/preference.go
M   backend/profiles.go
M   backend/reservation.go
M   backend/stage.go
M   backend/subnet.go
M   backend/task.go
M   backend/template.go
M   backend/user.go
M   frontend/actions.go
M   frontend/bootenvs.go
M   frontend/frontend.go
M   frontend/jobs.go
M   frontend/leases.go
M   frontend/machines.go
M   frontend/plugins.go
M   frontend/profiles.go
M   frontend/reservations.go
M   frontend/stages.go
M   frontend/subnets.go
A   frontend/system.go
M   frontend/tasks.go
M   frontend/templates.go
M   frontend/users.go
M   midlayer/actions.go
M   midlayer/controller.go

commit 40d61d30f31ec5cf66d6eb8ea21f422117cb171e
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Tue Jan 16 10:46:54 2018 -0600

    This is an bit of an API rework with regard to
    models (mostly with plugins).  This only has
    incompatability with the plugins.  Other components
    should be fine.  Golang programs using the API
    might have an issue.

    1. Get rid of pointers in the models.  Since these are
    converted in and out of JSON for transport, we should
    not be using pointers in these structures.  It also
    makes them more useful for separated control through
    locking.  Less chance of point cross refs.

    2. Add description to subnet and reservation

    3. Remove the deprecated Parameters field of the plugins

M   backend/subnet.go
M   frontend/info.go
M   midlayer/actions.go
M   midlayer/controller.go

commit 35db43a76d1200edd25a3aa48421e26bbe597310
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Tue Jan 16 11:41:59 2018 -0600

    This reworks the plugin system and requires
    a complete rebuild of all plugins.

    1. Convert plugins to use unix domain sockets
    2. Use http2/Rest as API comm path
    3. Allow for return parameters.
    4. Create a server side path for publishing events and
       logging into the DRP log
    5. Get off of standard err and standard out.

M   backend/dataTracker.go
M   backend/event.go
M   backend/requestTracker.go
A   frontend/actions.go
M   frontend/bootenvs.go
M   frontend/frontend.go
M   frontend/jobs.go
M   frontend/leases.go
M   frontend/machines.go
M   frontend/plugins.go
M   frontend/profiles.go
M   frontend/reservations.go
M   frontend/stages.go
M   frontend/subnets.go
M   frontend/tasks.go
M   frontend/templates.go
M   frontend/users.go
M   midlayer/actions.go
M   midlayer/controller.go
M   midlayer/messaging.go
A   midlayer/messaging_client.go
A   midlayer/messaging_server.go
M   server/server.go

commit ec179bd9ce0c4fdf60d11e834f16651556f827f6
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 26 16:12:20 2018 -0600

    Fix busted machine rendering

    In the distant past, I foixed everything that can render templates to
    only do so after all validation checks had passed and the object was
    safely saved onto disk.  Except, for some reason that probably seemed
    good at the time, for machines.

    This PR corrects that oversight and also adds an addiional check to
    verify that machines do not wind up with duplicate IP addresses

M   backend/machines.go
M   backend/renderData.go
M   backend/requestTracker.go

commit 26e4273c95c4497ed77849b7cc881826c2f8fcf5
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 26 11:30:56 2018 -0600

    aargh -- stupid typo fix in previous fix

M   backend/renderData.go

commit 25e8187c59388e2941e165a10b49d69b7baf6b90
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jan 26 10:39:50 2018 -0600

    Fix up panic reporting for when an item is not renderable

M   backend/renderData.go

commit 8cf1bb0deedb988b936acd1783069428c3f66302
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Thu Jan 25 13:18:47 2018 -0600

    Add Fill() to all onloads.  There is probably
    better way, but this fixes it for now.

M   backend/bootenv.go
M   backend/jobs.go
M   backend/lease.go
M   backend/machines.go
M   backend/param.go
M   backend/plugins.go
M   backend/profiles.go
M   backend/reservation.go
M   backend/stage.go
M   backend/subnet.go
M   backend/task.go
M   backend/template.go
M   backend/user.go

commit ffedf11e5e5201ab7864848309d9ea0e1d510f3e
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Wed Jan 24 15:06:51 2018 -0600

    Change up DHCP debugging to include entire packets when logging at the Debug level

D   backend/dhcpOption.go
M   midlayer/dhcp.go
D   midlayer/dhcpOptions.go

commit fa003551fe211e987acb02d461fcf3b62b179a79
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Mon Jan 22 16:01:36 2018 -0600

    Tweak address cache for more proper operation.

    First, logs have been threaded through the address cache, so we can
    see what is being added to the local -> remote address cache at either
    Debug or Trace log levels.

    Second, close a potential hole that woul lead to deleting cache
    entries too early by moving to a timeout-per-cache-line system instead
    of an expired/non-expired bit, and increase the timeout to 10 minutes.

    Third, close a potential race with what the kernel thinks each
    connections local IP address should be by not asking for the local IP
    address until the http connection state is Active, which means that
    the client has sent us at least 1 byte.  The Linux kernel apparently
    does not assign the local address until the handshake as completed,
    and we were asking for the address before we checked to see that the
    conn state was Active.

M   backend/conncache.go
M   backend/conncache_test.go
M   backend/dataTracker.go
M   frontend/info.go
M   frontend/users.go
M   midlayer/dhcp.go
M   midlayer/static.go
M   midlayer/tftp.go
M   server/server.go

commit 7c3ab7c0e5565e94aae24bd4556cdc09d1789ee3
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Jan 22 18:27:22 2018 -0600

    Fix job data races from latest changes.

    Get some values under locks and store them.

M   frontend/jobs.go

commit 8d8641c59c08f22eff32be18525ff5970b06529e
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Mon Jan 22 17:26:56 2018 -0600

    Allow the dynamic parameters that are string to be strings
    without json parsing.

M   backend/machines.go

End of Note