Skip to content

Tags

Tags give the ability to mark specific points in history as being important
This project is mirrored from https://github.com/neondatabase/autoscaling. Pull mirroring updated .
  • v0.23.1
    v0.23.1
    
    Enables SSH access to VMs by default — see #766 and #726 for more.
  • v0.23.0
    v0.23.0
    
    Substantial release with many bugfixes and quality-of-life improvements.
    Notable inclusions: SSH support for VMs, opt-in higher log throughput,
    tech debt resolution inside the scheduler.
    
    Features:
    
    - neonvm: Clock synchronization using kvm_ptp (#732)
    - neonvm: Enable SSH access into the VMs (#726)
    - neonvm-controller: Expose default set of metrics (#739)
    - neonvm-controller: Custom reconciler metrics (#757)
    
    No breaking changes (kind of; see "Protocol changes").
    
    Protocol changes:
    
    - agent,plugin: Refer to memory quantities in bytes, not memory slots (#653)
    - agent: Send compute unit in requests to plugin (#744)
    
    Fixes:
    
    - neonvm-runner: Use the right file extension for ISO images (#735)
    - agent: Add small random amount to plugin requset tick (#745)
    - agent: Sleep for random delay before first metrics request (#746)
    - neonvm-runner: Pass logs through virtio-serial (#724)
    
    No other changes.
    
    Upgrade path from v0.22.0:
    
    - The neonvm deployment must be updated BEFORE making use of the new
      vm-builder version, else ssh access and clock synchronization will not
      work.
    - The new `spec.enableSSH` field on VMs is ignored by previous versions
      of the scheduler and autoscaler-agents; no ordering requirement there.
    - The scheduler MUST be updated before autoscaler-agents, due to the
      protocol changes between them.
  • v0.22.0
    v0.22.0
    
    Larger-than-normal release, been a while since the last one because of
    holidays. Contains a bunch of substantial bugfixes, alongside some other
    smaller improvements.
    
    No new features.
    
    No breaking changes (kind of; see "Protocol changes").
    
    Protocol changes:
    
    - agent,plugin: Don't send ComputeUnit from plugin (#707)
    
    Fixes:
    
    - neonvm-runner: Fix iptables rules for traffic from localhost (#701)
    - neonvm-controller: Fix runner pod cgroup cpu scaling (#702)
    - neonvm-controller: Update VM resources status once the scaling phase is done (#708)
    - neonvm-controller: Unify up/down memory scaling (#704)
    
    Other changes:
    
    - agent: Add project ID label to per VM metrics (#699)
    - neonvm: Add manual QMP access (#703)
    - agent: Send monitor requests in 1 CU increments (#713)
    - neonvm-controller: Extract QMP commands for memory scaling (#704)
    
    Upgrade path from v0.21.0:
    
    - Scheduler must be upgraded before autoscaler-agent (and, if rolling
      back, rolled back after), due to protocol change in #707.
    - The per-VM metrics have a new label added; this *may* inadvertently
      break certain usage.
  • v0.21.0
    v0.21.0
    
    Relatively small release, with significant changes to per-VM metrics,
    and some other minor improvements elsewhere.
    
    Features:
    
    - agent: Include autoscaling bounds annotation in per-VM metrics (#695)
    
    Breaking changes:
    
    - agent: Separate per-VM memory and cpu metrics (#684)
      - The `autoscaling_vm_resources` metric is now split into
        `autoscaling_vm_cpu_cores` and `autoscaling_vm_memory_bytes`, with
        the "resource" label removed.
    
    No protocol changes.
    
    Fixes:
    
    - neonvm/whereabouts: Require amd64 to fix issues with ARM nodes (#691)
      - Previously released as v0.20.0-patch1
    - plugin: Fix nil deref on failed ExtractVmInfo on VM update (#690)
      - Previously released as v0.20.0-patch1
    - agent: Clarify some logs about monitor requests (#687)
    - Revert neonvm/runner: Treat guest-side disk flush requests as no-ops (#628)
      - This was previously released as v0.20.0-patch2.
    
    Other changes:
    
    - vm-builder: Set vector scrape interval from 15s to 1s (#650)
    
    Upgrade path from v0.20.0:
    
    - Components can be deployed in any order.
    - The per-VM metrics exposed by the autoscaler-agent have changed in a
      backwards-incompatible way. Any usage must be updated.
  • v0.20.0-patch2
    v0.20.0-patch2
    
    Reverts the neonvm/runner 'cache=unsafe' change. See #694 for more.
  • v0.20.0-patch1
    v0.20.0-patch1
    
    Small release with a couple bugfixes:
    - neonvm/whereabouts: Require amd64 to fix issues with ARM nodes (#691)
      - This was a regression from v0.19.x because v0.20.0 unintentionally
        removed the affinity selector.
    - plugin: Fix nil deref on failed ExtractVmInfo on VM update (#690)
      - Not a regression, but occurs more on staging after v0.20.0 because
        of unrelated changes.
  • v0.20.0
    v0.20.0
    
    A larger release, focused on stability and cleaning up internals.
    
    Features:
    
    - neonvm/controller: Add pprof endpoint (#670)
    
    Breaking changes:
    
    - plugin: Remove config nodeOverrides (#654)
    - plugin: Make compute unit config global (#655)
    
    Protocol changes:
    
    - agent,plugin: Requests include agent's last permit (#649)
    
    Fixes:
    
    - agent: Fix plugin approved resource metrics (#647)
    - util/watch: Fix triggered relist (#667)
    
    Other changes:
    
    - neonvm: Whereabouts CNI updated v0.6.1 → v0.6.2 (#636)
    - util/watch: Remove resourceVersion from List calls (#672)
    - neonvm/runner: Treat guest-side disk flush requests as no-ops (#628)
      - Sets "cache=unsafe" for various disk mounts
    - agent/billing: Log URL on billing requests (#681)
    - agent: Log config on startup (#682)
    - agent: Replace schedwatch/trackcurrent with global value (#675)
    
    Upgrade path from v0.19.x:
    
    - Upgraded scheduler MUST be released before upgraded autoscaler-agents.
      If you need to roll back, the autoscaler-agents MUST be completely
      rolled back before the scheduler.
  • v0.19.1-patch1
    v0.19.1-patch1
    
    Adds #643 - forgot to change kernel version in release workflow.
  • v0.19.1
    v0.19.1
    
    Small release: Kernel upgrade, deps upgrade, and neonvm devx
    improvements.
    
    Main items are:
    
    - Go 1.21 (#639)
    - Kubernetes 1.25.16 (#640)
    - neonvm: Allow per-VM custom runner image (#632)
    - neonvm: Switch to kernel 6.1.63 (#638)
  • v0.19.0
    v0.19.0
    
    Somewhat larger release, lots of new, small features in NeonVM and some
    larger changes finally merged.
    
    Features:
    
    - neonvm: Enable symbolified kernel backtraces (#618)
    - agent: Expose per-VM size metrics on :9101 (#596)
    - neonvm: Allow per-VM custom kernel images (#621)
    - neonvm: Add ability to append to kernel command line (#625)
    
    Fixes:
    
    - neonvm/controller: Remove noisy webhook validation log lines (#613)
    
    Other changes:
    
    - vm-builder: Remove neon-specifics (#600)
    - agent/billing: Use `autoscaling.neon.tech/billing-endpoint-id` for events (#579)
    - vm-builder: Use same output format as `docker build` (#605)
    
    Upgrade path from v0.18.x:
    
    - No ordering requirements. Don't use the new NeonVM CRD fields until
      all components have been updated.
  • v0.18.6-patch3
    v0.18.6-patch3
    
    Just one change, the fix from #614 - fixing an autoscaler-agent bug when
    there's a scheduler restart during a monitor upscale request.
  • v0.18.6-patch2
    v0.18.6-patch2
    
    Another couple bugfixes:
    
    - neonvm: Update in resources for neonvm controllers (#610)
    - neonvm/controller: Set migration as failed if underlying VM not found (#611)
    - agent/schedwatch: Fix deadlock (#612)
  • v0.18.6-patch1
    v0.18.6-patch1
    
    Follow-up release to v0.18.6, forgot to include the fix to neonvm ipam
    acquiring from #598.
  • v0.18.6
    v0.18.6
    
    Medium-size release, mostly fixes, with one new feature :)
    
    Fixes:
    
    - vm-builder: fail on docker errors (#599)
    - plugin: Fix watch events for migration pods (#601)
    - Fix indirect dependency on k8s.io/*@v0.21.3 (#607)
    
    Features:
    
    - neonvm: Add support for spec-defined sysctl settings (#547)
  • v0.18.5
    Even smaller release, disabling prepared statements support in vm-builder's pgbouncer config.
    For more, see #589.
  • v0.18.4
    v0.18.4
    
    Small release, fixing vm-builder's pgbouncer config that prevented
    dropping databases. For more, see #584.
  • v0.18.3
    v0.18.3
    
    Bugfix (#585) for scheduler's handling when a migration is deleted.
    The bug was introduced in v0.18.1.
    
    No other changes.
  • v0.18.2
    v0.18.2
    
    Another relatively small release.
    
    Bugfixes:
    
    - vm-builder: Turn off --auto-discover-databases (#571)
    - agent/core: Fix never downscaling after single failure (#573)
    - agent/core: Add rate limit for vm-monitor downscale (#574)
    
    Other changes:
    
    - agent: Log when handling VM events (#583)
  • v0.18.1
    v0.18.1
    
    Relatively small release, mostly to get the vm-builder changes in.
    Also some dependency bumps that are worth releasing separately.
    
    External changes:
    
    - util: Move patch.go into its own package (#535)
    - vm-builder: Update pgbouncer to 1.21.0 + support prepared statements (#566)
    
    Bugfixes and misc changes to components:
    
    - agent: Fix oversized websocket close frames (#569)
    - plugin: Use pod ownerReferences to tell if VM, not label (#563)
    
    Devx changes:
    
    - Makefile: Check kubectl context before applying (#540)
    - lint workflow: Add job to check generated go code (#546)
    - golangci: Enable unparam linter (#562)
    - Fix vm-monitor build (#570)
    
    Dep bumps:
    
    - bump github.com/cilium/cilium (#532)
    - bump golang.org/x/net (#559)
  • v0.18.0-patch2
    v0.18.0-patch2
    
    Another handful of fixes for issues noticed on staging. This release
    contains only the changes from #556, #557, #558, and #560. The various
    PRs for follow-ups from v0.18.0 are all tracked in #550.