Release Notes

In Development

New Features

  • A new configuration option is available under the ‘pools’ attribute of an OpenStack provider. This config value, ‘node-attributes’, can contain a dictionary of arbitrary key-value pairs and will be stored with the node data within ZooKeeper.

Upgrade Notes

  • A change to the ZooKeeper schema to support a new DELETED node state will require a total shutdown of all Nodepool launchers before restarting any of them with this version.

Bug Fixes

  • Fixes a regression of missing task statistics with OpenstackSDK versions greater than 0.19.0.

3.3.1

Bug Fixes

  • The nodes by label and state statistic gauges are now correctly reset to zero if no node of a label and state exists.
  • Task names are now consistently normalised to CamelCase without deliminators. Some statistics sent to statsd with - or _ characters will have changed keys, for example ComputePostOs-volumes_boot is now ComputePostOsVolumesBoot.

3.3.0

New Features

  • Two new metrics are now reported after each run of the diskimage builder: nodepool.builder.dib_image_build.<diskimage_name>.<ext>.rc will be set to the last result code of the diskimage builder. This metric can be used to set up alerting for failed disk image builds. nodepool.builder.dib_image_build.<diskimage_name>.<ext>.duration will receive the time it took to build the disk image.
  • The OpenStack driver now supports configuring instance properties on boot. These properties end up in the instance metadata and will be visible to the instance after boot. Use the instance-properties dict on provider pool label to set this per label type booted.
  • The static driver now updates labels and connection related attributes in Zookeeper at startup and on config change. Changing the name of a node will be handled via the registration/deregistration flow as before.

Bug Fixes

  • Bump minimum version of openstacksdk library to 0.17.2 to correct an issue causing a crash in OpenStack provider communication threads.

3.2.0

New Features

  • A new boolean pool variable ignore-provider-quota has been added to allow the provider quota to be ignored for a pool. Instead, nodepool only checks against the configured max values for the pool and the current usage based on stored data. This may be useful in circumstances where the provider is incorrectly calculating quota.
  • The detailed nodepool list outputs the node’s pool.
  • Diskimages env-vars can be set in the secure.conf file.

Upgrade Notes

  • A new node status (ABORTED) is added to the ZooKeeper data model. It is recommended that, during your nodepool upgrade, you shut down all launcher processes before restarting any of them. Running multiple launchers with mixed support of this new node status may cause unexpected errors to be reported in the logs.

Bug Fixes

  • For pre-existing cloud images (not managed by nodepool), referencing them by ID was failing since they could not be found with this data, only by name.

3.1.0

New Features

  • Nodepool now defaults to building qcow2 diskimages instead of failing if the diskimage doesn’t specify an image format and the diskimage isn’t used by any provider. This makes it more convenient to build images without uploading them to a cloud provider.
  • Added support for specifying security-groups for the nodes in openstack driver. Pool.security-groups takes list of SGs to attach to the server.
  • The static driver now pre-registers its nodes with ZooKeeper at startup and on configuration changes. A single node may be registered multiple times, based on the value of max-parallel-jobs.

Upgrade Notes

  • Nodepool can now support multiple node labels, although the OpenStack and static node drivers do not yet support specifying multiple labels, so this is not yet a user-visible change. This does, however, require shutting down all launcher processes before restarting them. Running multiple launchers with mixed support of multi-label will cause errors, so a full shutdown is required.

Bug Fixes

  • Fixed a bug where if a request handler is paused and an exception is thrown within the handler, the handler was not properly unpaused and the request remained in the list of active handlers.

3.0.1

New Features

  • The connection port can now be configured in the provider diskimages section.
  • Added support for configuring windows static nodes. A static node can now define a connection-type. The ssh-port option has been renamed to connection-port.

Deprecation Notes

  • ssh-port in static node config is deprecated. Please update config to use connection-port instead.