This project is mirrored from https://gitee.com/mirrors/nomad.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
- 21 Oct, 2021 4 commits
-
-
Luiz Aoqui authored
-
Luiz Aoqui authored
-
James Rasell authored
website: fixup link formatting within interpolation doc.
-
Mahmood Ali authored
-
- 20 Oct, 2021 5 commits
-
-
Brandon Romano authored
Update HashiConf alert-banner expiration
-
Brandon Romano authored
Updates the HashiConf Alert Banner expiration to 10/20 @ 11pm (PT)
-
Michael Schurter authored
Add support for --init to docker driver.
-
Michael Schurter authored
Code cleanup: Remove extra if clause.
-
Mahmood Ali authored
Fix a bug where the scheduler may panic when preemption is enabled. The conditions are a bit complicated: A job with higher priority that schedule multiple allocations that preempt other multiple allocations on the same node, due to port/network/device assignments. The cause of the bug is incidental mutation of internal cached data. `RankedNode` computes and cache proposed allocations in https://github.com/hashicorp/nomad/blob/v1.1.6/scheduler/rank.go#L42-L53 . But scheduler then mutates the list to remove pre-emptable allocs in https://github.com/hashicorp/nomad/blob/v1.1.6/scheduler/rank.go#L293-L294, and `RemoveAllocs` mutates and sets the tail of cached slice with `nil`s triggering a nil-pointer derefencing case. I fixed the issue by avoiding the mutation in `RemoveAllocs` - the micro-optimization there doesn't seem necessary. Fixes https://github.com/hashicorp/nomad/issues/11342
-
- 19 Oct, 2021 3 commits
-
-
Shishir Mahajan authored
Signed-off-by:
Shishir Mahajan <smahajan@roblox.com>
-
Michael Schurter authored
-
Brandon Romano authored
website: Update alert banner for HashiConf
-
- 18 Oct, 2021 2 commits
-
-
Noel Quiles authored
Final cleanup/closer exp date
-
James Rasell authored
-
- 15 Oct, 2021 2 commits
-
-
Shishir Mahajan authored
Signed-off-by:
Shishir Mahajan <smahajan@roblox.com>
-
Mahmood Ali authored
Meant for development purposes only, so one can compile binary on a macos host then start a Docker container or scp the binary to a linux host easily. The resulting binary is statically linked and has very subtle differences. e.g. static binaries use go native network stack that honor /etc/hosts and /etc/resolve differently from the glibc implementation. In development environment, I don't expect these to materially change our experience.
-
- 14 Oct, 2021 11 commits
-
-
Florian Apolloner authored
-
Luiz Aoqui authored
-
Luiz Aoqui authored
-
Luiz Aoqui authored
-
Luiz Aoqui authored
-
Dave May authored
* Remove vendor folder during make clean * Add vendor warning to make dev build command
-
Luiz Aoqui authored
-
James Rasell authored
Log error if there are no event handlers registered
-
Mahmood Ali authored
Cgroup-v2 uses `cpu.weight` property instead of cpu shares: https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#cpu-interface-files . And it uses a different range (i.e. `[1, 10000]`) from cpu.shares (i.e. `[2, 262144]`) to make things more interesting. Luckily, the libcontainer provides a helper function to perform the conversion [`ConvertCPUSharesToCgroupV2Value`](https://pkg.go.dev/github.com/opencontainers/runc@v1.0.2/libcontainer/cgroups#ConvertCPUSharesToCgroupV2Value). I have confirmed that docker/libcontainer performs the conversion as well in https://github.com/opencontainers/runc/blob/v1.0.2/libcontainer/specconv/spec_linux.go#L536-L541 , and that CpuShares is ignored by libcontainer in https://github.com/opencontainers/runc/blob/v1.0.2/libcontainer/cgroups/fs2/cpu.go#L24-L29 .
-
Luiz Aoqui authored
-
Charlie Voiselle authored
-
- 13 Oct, 2021 5 commits
-
-
Michael Schurter authored
Support configurable dynamic port range
-
Michael Schurter authored
-
Dave May authored
* Rename folders to reflect purpose * Improve captured files test coverage * Rename CSI plugins output file * Add changelog entry * fix test and make changelog message more explicit Co-authored-by:
Luiz Aoqui <luiz@hashicorp.com>
-
Mahmood Ali authored
Fix a test corruption issue, where a test accidentally unsets the `NOMAD_LICENSE` environment variable, that's relied on by some tests. As a habit, tests should always restore the environment variable value on test completion. Golang 1.17 introduced [`t.Setenv`](https://pkg.go.dev/testing#T.Setenv) to address this issue. However, as 1.0.x and 1.1.x branches target golang 1.15 and 1.16, I opted to use a helper function to ease backports.
-
Dave May authored
* Add autocomplete to nomad job dispatch * Add autocomplete to nomad operator debug * Update incorrect comment * Update test to verify autocomplete * Add changelog * Apply lint suggestions * Create dynamic slices instead of specific length * Align style across predictors
-
- 12 Oct, 2021 6 commits
-
-
Jorge Marey authored
-
Dave May authored
* Include region and namespace in CLI output * Add region and prefix matching for server members * Add namespace and region API outputs to cluster metadata folder * Add region awareness to WaitForClient helper function * Add helper functions for SliceStringHasPrefix and StringHasPrefixInSlice * Refactor test client agent generation * Add tests for region * Add changelog
-
Florian Apolloner authored
-
Luiz Aoqui authored
-
Dave May authored
-
Luiz Aoqui authored
-
- 11 Oct, 2021 2 commits
-
-
Ben Buzbee authored
We see this error all the time ``` no handler registered for event event.Message=, event.Annotations=, event.Timestamp=0001-01-01T00:00:00Z, event.TaskName=, event.AllocID=, event.TaskID=, ``` So we're handling an even with all default fields. I noted that this can happen if only err is set as in ``` func (d *driverPluginClient) handleTaskEvents(reqCtx context.Context, ch chan *TaskEvent, stream proto.Driver_TaskEventsClient) { defer close(ch) for { ev, err := stream.Recv() if err != nil { if err != io.EOF { ch <- &TaskEvent{ Err: grpcutils.HandleReqCtxGrpcErr(err, reqCtx, d.doneCtx), } } ``` In this case Err fails to be serialized by the logger, see this test ``` ev := &drivers.TaskEvent{ Err: fmt.Errorf("errz"), } i.logger.Warn("ben test", "event", ev) i.logger.Warn("ben test2", "event err str", ev.Err.Error()) i.logger.Warn("ben test3", "event err", ev.Err) ev.Err = nil i.logger.Warn("ben test4", "nil error", ev.Err) 2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.643900Z","driver":"mock_driver","event":{"TaskID":"","TaskName":"","AllocID":"","Timestamp":"0001-01-01T00:00:00Z","Message":"","Annotations":null,"Err":{}}} 2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test2","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.644226Z","driver":"mock_driver","event err str":"errz"} 2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test3","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.644240Z","driver":"mock_driver","event err":"errz"} 2021-10-06T22:37:56.736Z INFO nomad.stdout {"@level":"warn","@message":"ben test4","@module":"client.driver_mgr","@timestamp":"2021-10-06T22:37:56.644252Z","driver":"mock_driver","nil error":null} ``` Note in the first example err is set to an empty object and the error is lost. What we want is the last two examples which call out the err field explicitly so we can see what it is in this case
-
Bryce Kalow authored
-