This commit migrates the Nomad package from the 0.10.x line of releases
to 0.11.X.
This allows us to also bump the version of Go that is used to 1.14.x.
NOTE: 1.14.x will be needed for the rest of the 0.11.x releases as Nomad
only bumps patch versions of Go within a release series.
CHANGELOG:
FEATURES:
Container Storage Interface [beta]: Nomad has expanded support
of stateful workloads through support for CSI plugins.
Exec UI: an in-browser terminal for connecting to running allocations.
Audit Logging (Enterprise): Audit logging support for Nomad
Enterprise.
Scaling APIs: new scaling policy API and job scaling APIs to support external autoscalers
Task Dependencies: introduces lifecycle stanza with prestart and sidecar hooks for tasks within a task group
BACKWARDS INCOMPATIBILITIES:
driver/rkt: The Rkt driver is no longer packaged with Nomad and is instead
distributed separately as a driver plugin. Further, the Rkt driver codebase
is now in a separate
repository.
IMPROVEMENTS:
core: Optimized streaming RPCs made between Nomad agents [GH-7044]
build: Updated to Go 1.14.1 [GH-7431]
consul: Added support for configuring enable_tag_override on service stanzas. [GH-2057]
client: Updated consul-template library to v0.24.1 - added support for working with consul connect. Deprecated vault_grace [GH-7170]
driver/exec: Added no_pivot_root option for ramdisk use [GH-7149]
jobspec: Added task environment interpolation to volume_mount [GH-7364]
jobspec: Added support for a per-task restart policy [GH-7288]
server: Added minimum quorum check to Autopilot with minQuorum option [GH-7171]
connect: Added support for specifying Envoy expose path configurations [GH-7323] [GH-7396]
connect: Added support for using Connect with TLS enabled Consul agents [GH-7602]
BUG FIXES:
core: Fixed a bug where group network mode changes were not honored [GH-7414]
core: Optimized and fixed few bugs in underlying RPC handling [GH-7044] [GH-7045]
api: Fixed a panic when canonicalizing a jobspec with an incorrect job type [GH-7207]
api: Fixed a bug where calling the node GC or GcAlloc endpoints resulted in an error EOF return on successful requests [GH-5970]
api: Fixed a bug where /client/allocations/... (e.g. allocation stats) requests may hang in special cases after a leader election [GH-7370]
cli: Fixed a bug where nomad agent -dev fails on Windows [GH-7534]
cli: Fixed a panic when displaying device plugins without stats [GH-7231]
cli: Fixed a bug where alloc exec command in TLS environments may fail [GH-7274]
client: Fixed a panic when running in Debian with /etc/debian_version is empty [GH-7350]
client: Fixed a bug affecting network detection in environments that mimic the EC2 Metadata API [GH-7509]
client: Fixed a bug where a multi-task allocation maybe considered healthy despite a task restarting [GH-7383]
consul: Fixed a bug where modified Consul service definitions would not be updated [GH-6459]
connect: Fixed a bug where Connect enabled allocation would not stop after promotion [GH-7540]
connect: Fixed a bug where restarting a client would prevent Connect enabled allocations from cleaning up properly [GH-7643]
driver/docker: Fixed handling of seccomp security_opts option [GH-7554]
driver/docker: Fixed a bug causing docker containers to use swap memory unexpectedly [GH-7550]
scheduler: Fixed a bug where changes to task group shutdown_delay were not persisted or displayed in plan output [GH-7618]
ui: Fixed handling of multi-byte unicode characters in allocation log view [GH-7470] [GH-7551]
* Remove unneeded dependencies
* Stop vendoring other dependencies (fluidsynth, hidapi, libltc, qm-dsp)
* Fix using incorrect libusb version (libusb package is just a legacy compat layer)
* Move build-time dependencies to nativeBuildInputs
* Install freedesktop files & man page
* Drop libintl replacement that no longer applies
Also removed `pkgs.hydra-flakes` since flake-support has been merged
into master[1]. Because of that, `pkgs.hydra-unstable` is now compiled
against `pkgs.nixFlakes` and currently requires a patch since Hydra's
master doesn't compile[2] atm.
[1] https://github.com/NixOS/hydra/pull/730
[2] https://github.com/NixOS/hydra/pull/732
This prevents duplication in cross-compiled nixos machines. The
bootstrapped glibc differs from the natively compiled one, so we get
two glibc’s in the closure. To reduce closure size, just use
stdenv.cc.libc where available.
Qiskit Aqua: An extensible library of quantum computing algorithms.
This commit follows the new Qiskit scheme of breaking one large package
into smaller packages (terra, aer, etc), and then having a single
meta-package "qiskit" that comprises them.
So now we have only packages for human interaction in php.packages and
only extensions in php.extensions. With this php.packages.exts have
been merged into the same attribute set as all the other extensions to
make it flat and nice.
The nextcloud module have been updated to reflect this change as well
as the documentation.
Fix extensions that were broken by the extension refactoring and
remove pthreads and pinba, which had asserts which broke evaluation,
were in need of refactoring and of dubious value.
Make mkExtension put headers in the dev output and use them, instead of
a different part of the current source tree, when referring to another
extension by using internalDeps.
This means external extensions can be built against the internal ones.
This means php packages can now refer to other php packages by looking
them up in the php.packages attribute and gets rid of the internal
recursive set previously defined in php-packages.nix. This also means
that in applications where previously both the php package and the
corresponding version of the phpPackages package set had to be
specified, the php package will now suffice.
This also adds the phpWithExtensions parameter to the
php-packages.nix, which can be used by extensions that need a fully
featured PHP executable.
This packages k3s as a single self-contained binary (as upstream k3s
does), but without having to download any impure already-built binaries.
The upstream packaging scripts are used. Due to k3s's rather complicated
packaging arrangement, this ends up being a rather long derivation.
A slight rewrite of buildEnv which:
1. Makes buildEnv recursively add itself to its output, so that it can
be accessed from any php derivation.
2. Orders the extension text strings according to their internalDeps
attribute - dependencies have to be put before dependants in the
php.ini or they will fail to load due to missing symbols.
The tests for many of the extensions run just fine, for some a small
portion fail. This runs the tests by default and disables the tests
extensions with any failing tests.
This moves yet more extensions from the base build to
phpPackages.ext. Some of the extensions are a bit quirky and need
patching for this to work, most notably mysqlnd and opcache.
Two new parameters are introduced for mkExtension - internalDeps and
postPhpize. internalDeps is used to specify which other internal
extensions the current extension depends on, in order to provide them
at build time. postPhpize is for when patches and quirks need to be
applied after running phpize.
Patch notes:
- For opcache, older versions of PHP have a bug where header files are
included in the wrong order.
- For mysqlnd, the config.h is never included, so we include it in the
main header file, mysqlnd.h. Also, the configure script doesn't add
the necessary library link flags, so we add them to the variable
configure should have added them to.
This has many advantages:
- Each variant can be installed without pulling in the dependencies of the
other variants, which makes it possible to build an SDL variant
without X11 dependencies
- Hydra can now build binaries without downloading 1GB of data, so users
do not have to build them on their own machines
- Users do not have to redownload 1GB of data after each dependency
update
Includes the following fixes:
- Add dependency on libGL for GLX variant as it will fail in some
environments otherwise
- Pass -j and -l to make to enable parallel building
- Quote homepage URI and use https
- Add a .desktop file and icons
This allows you to specify the system-wide flake registry. One use is
to pin 'nixpkgs' to the Nixpkgs version used to build the system:
nix.registry.nixpkgs.flake = nixpkgs;
where 'nixpkgs' is a flake input. This ensures that commands like
$ nix run nixpkgs#hello
pull in a minimum of additional store paths.
You can also use this to redirect flakes, e.g.
nix.registry.nixpkgs.to = {
type = "github";
owner = "my-org";
repo = "my-nixpkgs";
};
Using `bazel_self` for self-references makes managing bazel versions
easier: their less risk of changing defaults or copy pasted code for no
versions leading to incorrect self-references.
Qiskit Ignis is a toolbox for quantum hardware verification,
noise characterization, and error correction.
This commit follows the new Qiskit scheme of breaking one large package
into smaller packages (terra, aer, etc), and then having a single
meta-package "qiskit" that comprises them.
This is built from the same source as minijail, but is for all intents
and purposes a seperate package. It builds different things, with no
overlap, and is under a different license.
Also, add opcache to default extensions since it significantly
increases PHP's performance and is by default enabled on Debian based
distributions. Not having it enabled by default results in a puzzling
performance loss for anyone attempting to migrate from Debian/Ubuntu
to NixOS who is unaware of this. Therefore, enable it by default. /talyz
* format with nixpkgs-fmt
* quote homepage as per RFC 0045
* split name → pname & version
* do not use aliases
* switch to wafHook
* move build tools to nativeBuildInputs
it's tricky to enable in nghttp2's default build, however, because it needs
to be usable by curl, a very core nix package, and we get cyclical
dependencies if we add python to its requirements. having it available as
a separate build is better than nothing, though.
This reverts commit 5e8545e723.
It breaks eval:
attribute 'rev' missing, at /var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/mr-est/eval-0-gleber.ewr1.nix.ci/pkgs/top-level/make-tarball.nix:106:39
Upgrades Hydra to the latest master/flake branch. To perform this
upgrade, it's needed to do a non-trivial db-migration which provides a
massive performance-improvement[1].
The basic ideas behind multi-step upgrades of services between NixOS versions
have been gathered already[2]. For further context it's recommended to
read this first.
Basically, the following steps are needed:
* Upgrade to a non-breaking version of Hydra with the db-changes
(columns are still nullable here). If `system.stateVersion` is set to
something older than 20.03, the package will be selected
automatically, otherwise `pkgs.hydra-migration` needs to be used.
* Run `hydra-backfill-ids` on the server.
* Deploy either `pkgs.hydra-unstable` (for Hydra master) or
`pkgs.hydra-flakes` (for flakes-support) to activate the optimization.
The steps are also documented in the release-notes and in the module
using `warnings`.
`pkgs.hydra` has been removed as latest Hydra doesn't compile with
`pkgs.nixStable` and to ensure a graceful migration using the newly
introduced packages.
To verify the approach, a simple vm-test has been added which verifies
the migration steps.
[1] https://github.com/NixOS/hydra/pull/711
[2] https://github.com/NixOS/nixpkgs/pull/82353#issuecomment-598269471