@galthaus galthaus released this Apr 7, 2017

Assets 5
Add a drpjoin script that calls to the discovery join script.

@galthaus galthaus released this Sep 13, 2018 · 73 commits to master since this release

Assets 5

v3.11.0 - kexec, Apple boot, and DHCP enhancements.

This release adds:

  • the ability to kexec from/to bootenvs that support it (but not image-deploy, yet)
  • the ability to network install Apple Mac systems
  • The ability to assign reservations to specific subnets to allow for MAC reuse in the DHCP server.

As always, more doc updates too.

Features

  • Better Plugin and Content Package cross-references in the docs
  • Add Kexec support
    • Enable by setting the parameter kexec-ok to true on machine, profile on machine, or global
    • When a bootenv has kexec information (see drp-community-content - discover), the runner will attempt a kexec instead of a reboot. This will function into sledgehammer, into the linux install operating systems, and out of the centos kickstart installs.
  • Update FAQ for lots of learnings
  • DHCP reservation subnet scoping - this allows reservations to be bound to specific subnet. This allows for mac and IP reuse with subnets.
  • DHCP server can support /31 address spaces (point-to-point addressing)
  • Add the user doing the action to the events.
  • Support Apple's netboot protocols to handle booting and installing Mac systems.

Bug Fixes

  • Fix issue with ChangePassword incorrectly invalidating tokens (Thanks, bagricola@squiz.co.uk)
  • Remove CGO being used for the native built systems. This fixes the libc dependency.
  • Allow PATCH API call to work with the KEY:value id pattern
  • Add missing sprig feature flag
  • Fix docker container signing key.
  • Handle crashs in template rendering. Return better errors to cli and logs.

Links

Caveats/Issues: http://provision.readthedocs.io/en/latest/doc/upgrade.html#version-to-version-notes

Update Procedures: http://provision.readthedocs.io/en/latest/doc/upgrade.html#steps

Operations: http://provision.readthedocs.io/en/latest/doc/operation.html

@galthaus galthaus released this Apr 17, 2017 · 73 commits to master since this release

Assets 5
Merge pull request #991 from digitalrebar/kribdocs

Simplify KRIB docs

@galthaus galthaus released this Aug 3, 2018 · 142 commits to master since this release

Assets 5

v3.10.0 - More Boot Options and Bug Fixes

This release adds lots of new and more flexible boot and template options. It also has bug fixes.

Features

  • Tasks can now specify OS in meta data. This will allow the runner to run tasks that match that meta
    data. This allows a task to work for both windows and linux.
  • Add an interpreter meta data field to template info (and JobAction) to allow the system to run things other than bash or inferred powershell.
  • Update docs to reference more of the auto constructed content docs
  • Allow for parameters to be upgraded to Secure Parameters when the field is changed. This is done automatically for content packages. A SIGHUP is required for Parameters that are created through the API path.
  • Add RequiredFeatures meta data to content packages. This field is checked against the current DRP feature-flags and rejected if a required feature is missing.
  • Document Terraform pool and filter features.
  • Add ComBoot support to DHCP
  • Add our own built ipxe images to support ComBoot and other helpful flags.
    • Include ipxe.lkrn
    • include comboot.c32
  • Allow non-bootenvs to render mac-based templates
  • Add a prometheus metrics endpoint with some initial stats
  • Add arbitrary event watcher in drpcli - drpcil events watch optional filters
  • Add '--zip-file=filename' for off-line install.sh execution.
  • Numerous doc fixes
  • Allow .Machine.MacAddr to be expanded with no parameter.
  • Add sprig text template library function to template expansion (no ago, now, env, or expandenv allowed)

Bug Fixes

  • Clean up the jobs created on runs to be accurate on EndTime and things run.
  • If machine reboots without runner's knowledge, allow the runner to restart properly when it runs again.
  • PowerShell should be run with the -File flag to try to get better error codes.
  • Get Code coverage working again for unit tests.
  • Fix doc typos
  • General code clean-ups (spelling, formatting, lint errors)
  • Add more detail to template render errors so that users can see why the template is looping.
  • Fix runner to watch for workflow changes too
  • Fix some job-log read-ability issues

Links

Caveats/Issues: http://provision.readthedocs.io/en/latest/doc/upgrade.html#version-to-version-notes

Update Procedures: http://provision.readthedocs.io/en/latest/doc/upgrade.html#steps

Operations: http://provision.readthedocs.io/en/latest/doc/operation.html

@galthaus galthaus released this Jun 22, 2018 · 249 commits to master since this release

Assets 2

v3.9.0 - RBAC, Secure Params, and Simple HA DRP

In this release, DRP grows RBAC through the Role and Tenant objects, the ability to store parameters securely and restrict access to them, and a simple hot-standby style high availability model using Consul as a data store.

Features

  • Parameters can now be stored securely.
    • Uses a separate store for encryption keys
    • Parameter data is stored encrypted on disk
    • Secure parameters are only available through task rendering
      or API calls with specific key usage.
  • Update package-repositories to work better
    • Allow for complete remote isos / files without iso explosion
    • Allow remote and local repos at different stages.
    • Choose sane defaults for each OS type
  • Simple HA DRP
    • Use consul backend for secure and data storage
    • Manage virtual IP for access (requires L2 locality)
    • Does not replicate tftpboot directory (rsync or shared storage is required)
  • Allow drpcli to generate CSRs for use with the certs plugin
  • Allow PowerShell commands in windows environments from drpcli
  • Update Training / Lab Setup scripts for recent changes
  • Add NIC information to gohai output
  • RBAC support
    • Add Roles to define scopes of operations on objects.
    • Add Tenants to restrict access to subsets of objects.
    • Allow users to be in a tenant and restricted by roles
    • Allow tokens to have roles as well.
    • Add docs about RBAC
    • Add API info calls to allow UX to understand Tenants
    • Update UX to operate on RBAC components
  • Doc updates for UX information
  • Add upgrade option to install.sh with docs.
  • FAQ Updates
  • Add drpcli machines helper for the workflow field
  • Allow API to send gzipped data iff client supports it
  • Allow List operations to send "slim" objects without Param or Meta data.
  • Add drpcli contents document command to build RST doc of content pack
  • Add content package section to docs.

Bugs

  • Have Job logs sent after a buffer is full or timeout to reduce log spam
  • FIx broken index lookups
  • Fix race condition in plugin startup
  • Fix race condition in job key lookup
  • Fix various lint and other code check tool issues.
  • Fix logging and error messages around TFTP usage
  • Add missing content action events
  • Fix consul backend data store.

Links

Caveats/Issues: http://provision.readthedocs.io/en/latest/doc/upgrade.html#version-to-version-notes

Update Procedures: http://provision.readthedocs.io/en/latest/doc/upgrade.html#steps

Operations: http://provision.readthedocs.io/en/latest/doc/operation.html

@galthaus galthaus released this May 1, 2018 · 461 commits to master since this release

Assets 3

v3.8.2 - Fix install.sh to return success at the end

Bug fix release and a few tweaks.

Features

  • Add additional helpers for rendering - see docs

Bugs

  • Fix install.sh to return success after download.

Links

Caveats/Issues: http://provision.readthedocs.io/en/latest/doc/upgrade.html#version-to-version-notes

Update Procedures: http://provision.readthedocs.io/en/latest/doc/upgrade.html#steps

Operations: http://provision.readthedocs.io/en/latest/doc/operation.html

@galthaus galthaus released this Apr 30, 2018 · 467 commits to master since this release

Assets 2

v3.8.1 - Bug Fix DHCP Requests

Bug fix release and a few tweaks.

Features

  • install.sh will attempt to use faster download tools with --fast-downloader flag
  • Plugins have additional function calls to validate themselves and their environment.
  • zip file includes ALL-LICENSE file

Bugs

  • Improve/Fix Reservation interactions with leases and NAK actions to force clients to change to newly added reservations.
  • Don't explode already exploded isos during an uploads call if nothing changed.

Links

Caveats/Issues: http://provision.readthedocs.io/en/latest/doc/upgrade.html#version-to-version-notes

Update Procedures: http://provision.readthedocs.io/en/latest/doc/upgrade.html#steps

Operations: http://provision.readthedocs.io/en/latest/doc/operation.html

@galthaus galthaus released this Apr 12, 2018 · 496 commits to master since this release

Assets 2

v3.8.0 - Workflows!

Lots of general fixes and improvements, but the big feature for this release is WORKFLOWS!!! Workflows are a first class element of the system now. They have their own API endpoint and machine object field. They simplify all the MATH that used to be in the change-stage/map.

Features

  • Workflows
    • Create Workflow object that replaces change-stage/map method for changing stages on machines
    • Maintain backwards compatibility with the change-stage/map system.
    • Update Machine object to have workflow as first class field
    • Update Validations to properly control workflow states.
  • Add Windows-based drpcli to drp
  • drpcli process jobs function can return from connectivity loss
  • drpcli refactored into a state machine to support workflows
  • Allow events to be publish but not propagated. This allows for local log file logging of events without loops.
  • Alter some logging defaults to make default logging sane and less spammy.
  • Documentation Updates all around
  • drpcli caches access tokens for a few minutes to enable faster multi-call uses.
  • Add .ParamAsYAML and .ParamAsJSON to the render engine to generate text blobs
  • Add drpcli contents upload that acts as create or update from a file.
  • Allow for http Range headers to reduce streaming content and allow for partial job log downloading.

Bugs

  • Don't explode already exploded isos during an uploads call if nothing changed.
  • Add retry support in API Req.Do call to handle network failures.
  • Clean-up plugin management code to be more FSM like and handle transitions with locking cleaner.
  • Clean-up subnet validation and add unit tests.
  • Fix security issue in create validation.
  • Fix runner agent not testing runnable correctly in a few cases.
  • Fix tokens to have correct create permissions.
  • Fix missing swagger json sections.
  • Fix content validation to validate against the running system to reduce transient errors.
  • Fix deadlocks in stage/task validation.
  • When changing a user's password, change the secret as well. Ensure token rotation.
  • Re-enable that the DRP server function can run without assets for terraform testing.
  • Increase validation of bootenv fields and requirements.
  • Fix UEFI looping bug

Links

Caveats/Issues: http://provision.readthedocs.io/en/latest/doc/upgrade.html#version-to-version-notes

Update Procedures: http://provision.readthedocs.io/en/latest/doc/upgrade.html#steps

Operations: http://provision.readthedocs.io/en/latest/doc/operation.html

@galthaus galthaus released this Mar 3, 2018 · 678 commits to master since this release

Assets 2

@galthaus galthaus released this Mar 3, 2018 · 680 commits to master since this release

Assets 2

v3.7.2 - Bug fixes, Doc clean-up, Interface Data

Features

  • Add icons/colors to embedded content
  • Add ParamAsJSON template helper.
  • Allow machines to modify their own registrations
  • Add new fields to interface object so that callers can get gateway and DNS information for main interface.
  • Doc updates

Bugs

  • When the last task shutdowns the machine, the system should mark the machines task list complete.

Links

Caveats/Issues: http://provision.readthedocs.io/en/latest/doc/upgrade.html#version-to-version-notes

Update Procedures: http://provision.readthedocs.io/en/latest/doc/upgrade.html#steps

Operations: http://provision.readthedocs.io/en/latest/doc/operation.html