Commit Graph

595 Commits

Author SHA1 Message Date
Alex Dadgar 1a4f25031c Merge pull request #1181 from hashicorp/f-plan-cli
cli: nomad plan command
2016-05-24 20:09:12 -07:00
Alex Dadgar 3cbb89c61e Merge pull request #1188 from hashicorp/f-no-failed-allocs
Failed Allocation Metrics stored in Evaluation
2016-05-24 20:06:28 -07:00
Alex Dadgar d7d9ecad59 meta flag test 2016-05-24 18:53:46 -07:00
Alex Dadgar b7ca0669b8 output and test fix 2016-05-24 18:42:05 -07:00
Alex Dadgar fcc57fbc66 rename SpawnedBlockedEval and simplify map safety check 2016-05-24 18:12:59 -07:00
Diptanu Choudhury 227477533c Using the bind addr as server's IP if advertise addr and addresses.HTTP is not specified 2016-05-24 17:27:09 -07:00
Alex Dadgar 2a4d5f0ef9 Compress HTTP API responses and have the api client utilize this 2016-05-24 10:26:53 -07:00
Alex Dadgar 120ff47cd1 Merge pull request #1182 from hashicorp/f-json-encoder
Use codegen for json marshalling
2016-05-20 14:30:25 -07:00
Alex Dadgar e4cb2d400b print spawned eval in monitor 2016-05-19 13:16:10 -07:00
Alex Dadgar 16353c48a7 Show task group failures in eval-monitor 2016-05-18 22:02:51 -07:00
Alex Dadgar 636f886e30 Use codegen for json marshalling: 20% faster, 12% less bytes allocated, 85% less allocations 2016-05-18 09:45:46 -07:00
Diptanu Choudhury bf27cc1261 Merge pull request #1174 from hashicorp/f-config-consul-block
Using the auto-register flag
2016-05-18 04:16:38 +02:00
Alex Dadgar d7bb9c58ed tests 2016-05-17 13:33:48 -07:00
Alex Dadgar fca7db1a9f comments, refactor and help string 2016-05-17 13:33:48 -07:00
Alex Dadgar df653b5f1d Alligned properly 2016-05-17 13:33:48 -07:00
Alex Dadgar db3dfec715 better colors and verify help text 2016-05-17 13:33:48 -07:00
Alex Dadgar 93cf38b1ca verbose output 2016-05-17 13:33:48 -07:00
Alex Dadgar 3f7615c6a1 little better output 2016-05-17 13:33:48 -07:00
Alex Dadgar 5d6b83fd2e initial implementation of nomad plan 2016-05-17 13:33:48 -07:00
Dara Kong 9b2b39c7d6 Fix "http_api_response_headers" config not working
On startup, the agent starts with either a dev or default config.  Extra
config files are merged into final config.

The HTTPAPIResponseHeaders config was missing from the merge logic
therefore it would always result in empty value (regardlesss of any
config files specified).
2016-05-16 20:57:54 -07:00
Alex Dadgar a5ab96d40e Merge pull request #1168 from hashicorp/f-plan-endpoint
Job.Plan endpoint
2016-05-16 13:15:40 -07:00
Alex Dadgar a231f6f998 Switch to using the harness 2016-05-16 12:49:18 -07:00
Alex Dadgar 312c51fc2d improve help message for fs missing input 2016-05-16 11:08:28 -07:00
Alex Dadgar 157833b3a1 Merge pull request #1150 from hashicorp/f-fs-command
Refactor fs subcommands into fs command
2016-05-16 11:05:29 -07:00
Jake Champlin 5412c29edb
Update per comments 2016-05-16 13:17:37 -04:00
Diptanu Choudhury c07770fd4d Using the auto-register flag 2016-05-16 18:23:01 +02:00
Sean Chittenden dc28ab0cb5
Speling police 2016-05-15 09:41:34 -07:00
Diptanu Choudhury 6521f3fa5f Testing if stats is present and it is a map 2016-05-14 01:20:51 -07:00
Diptanu Choudhury 1b3356375d Using advertise addr for the http address 2016-05-14 01:09:05 -07:00
Diptanu Choudhury ecd995b283 Added some docs 2016-05-14 00:36:26 -07:00
Diptanu Choudhury d94e651c6e Merge branches 'master' and 'f-config-consul-block' of github.com:hashicorp/nomad into f-config-consul-block 2016-05-13 13:05:11 -07:00
Diptanu Choudhury df9d256132 Making Nomad register services with consul in dev mode 2016-05-13 10:19:49 -07:00
Alex Dadgar b634486ebd Plan api 2016-05-11 18:51:48 -07:00
Diptanu Choudhury 439d7bf326 Fixed an agent test 2016-05-11 17:26:53 -07:00
Diptanu Choudhury 347cb890d2 Removed allocID and task name from consul service 2016-05-11 16:26:41 -07:00
Diptanu Choudhury 83fed62a0a Implemented registering client and server services 2016-05-11 16:07:02 -07:00
Sean Chittenden 7b8a5dcc15
Fix the unit tests for TestPrettyPrintOff
A different failing test masked that this wasn't even being run.

Pointy Hat: sean- for testing first on Travis in a branch vs verifying locally
2016-05-11 15:48:43 -07:00
Alex Dadgar 81f0286dd8 Merge branch 'master' into f-plan-endpoint 2016-05-11 15:39:36 -07:00
Diptanu Choudhury d9497632ed Added tests for parsing consul client configuration 2016-05-11 15:22:58 -07:00
Diptanu Choudhury a4092a7a35 Adding logic for checking health of client 2016-05-11 15:22:58 -07:00
Diptanu Choudhury 4ff76424cb Added a check command 2016-05-11 15:22:58 -07:00
Diptanu Choudhury 075a1379c0 Added parsing logic for config block 2016-05-11 15:22:58 -07:00
Sean Chittenden 693e1c6ea9
Fix unit tests for TestPrettyPrintBare 2016-05-11 15:20:57 -07:00
Alex Dadgar ccc3caae4a Merge branch 'f-job-diff2' into f-plan-endpoint 2016-05-11 11:25:25 -07:00
Sean Chittenden 36a50e0f15
Update tests for pretty printing that includes a newline.
Add a test verifying that pretty printing can be disabled, too.
2016-05-11 10:55:01 -07:00
Sean Chittenden 2fe9b6e97a
Append a newline when pretty-printing the response
Instead of typing `curl http://foo/v1/nodes?pretty; echo` to inject a
newline into your terminal, now pretty will provide its own newline.
2016-05-10 15:46:20 -07:00
Alex Dadgar ab0b57a9a1 Initial plan endpoint implementation - WIP 2016-05-05 11:21:58 -07:00
Jake Champlin 6d3c76ceb3
Refactor fs subcommands into fs command
Refactors `nomad fs` command to eliminate `fs` subcommands.
Automatically displays the file, if the path specified is a file; lists
the directory if the path is a directory; or displays stat information
if the `-stat` flag is set.

Currently running `nomad fs ls` to find a file, then running the exact
same command with the exception of `cat` instead of `ls` is time
consuming and awkward. This allows operational testing to be greatly
enhanced, and makes our lives so much better.
2016-05-04 23:59:38 -07:00
Sean Chittenden 09729cf706 When checkpoint emits a log message indicating an agent is out of
date, include the current version along with the available version
according to checkpoint.

Inspired by: log output in hashicorp/consul#993
2016-05-04 23:56:37 -07:00
Alex Dadgar 8f16473c6e Better error handling 2016-04-22 15:59:56 -07:00
Alex Dadgar 6c6dacd042 Fix missing format variable 2016-04-18 18:53:05 -07:00
Alex Dadgar e8bb0ab864 Merge pull request #1090 from hashicorp/f-inspect-submittable
Make inspect output submittable via HTTP API
2016-04-13 17:18:54 -07:00
Alex Dadgar 7b41cfec7b Merge pull request #1089 from hashicorp/f-validate-driver-on-submit
Validate driver config on job register
2016-04-13 16:54:59 -07:00
Alex Dadgar 538389c056 Make inspect output submittable 2016-04-13 16:53:39 -07:00
Alex Dadgar 3c9e0c9c47 Lower number of submitted jobs 2016-04-13 16:33:30 -07:00
Alex Dadgar 1a8024a59b check for exact match on job for inspect/stop 2016-04-13 16:05:58 -07:00
Alex Dadgar f38ed64938 Validate driver config on job register 2016-04-13 15:55:46 -07:00
Alex Dadgar 273dfaf2c7 Periodic jobs always are evaluated in UTC TZ 2016-04-12 09:47:25 -07:00
Alex Dadgar 60153ed845 Add -self flag to node-drain 2016-04-11 15:20:49 -07:00
Diptanu Choudhury 953127fff7 Merge pull request #1053 from hashicorp/remove-interfaces
removing interfaces from config
2016-04-09 09:18:17 -07:00
Alex Dadgar 42924b9037 Merge pull request #1052 from iverberk/b-fix-panic-on-fs-job-parameter
Fixes a panic when fs commands with a job parameter return zero allocations
2016-04-08 11:27:20 -07:00
Alex Dadgar b6e1057974 Sort the task resources in alloc-status 2016-04-07 14:55:48 -07:00
Ivo Verberk b5beb70fbd Make sure we exit on errors 2016-04-07 22:56:17 +02:00
Diptanu Choudhury 891b201eef removing interfaces from config 2016-04-07 13:25:38 -07:00
Ivo Verberk a7b1842824 Fixes a panic when fs commands with a job parameter return zero allocations 2016-04-07 20:22:09 +02:00
Diptanu Choudhury 102d1065a7 Showing the status of the first job when it's prefixed matched and the user input matched exact 2016-03-30 22:17:41 -07:00
Alex Dadgar 9a1b1f01c8 run -output adds job key 2016-03-29 15:02:14 -07:00
Alex Dadgar 7bee675b6c node-status -self command and docs 2016-03-29 12:36:24 -07:00
Alex Dadgar ec89e77316 Merge pull request #997 from hashicorp/fs-cat-api
Added the /fs/cat/ api
2016-03-28 14:14:47 -07:00
Diptanu Choudhury 9d495a4be4 Added the /fs/cat/ api 2016-03-28 11:06:22 -07:00
Diptanu Choudhury 946ccfc512 Fixes the logic for job-stop confirmation prompt 2016-03-27 19:21:23 -07:00
Diptanu Choudhury b45387c03c Fixes the logic for node drain confirmation prompt 2016-03-27 19:17:29 -07:00
Alex Dadgar f9a48e23f9 nomad run -output emits the JSON representation of the job 2016-03-25 18:24:51 -07:00
Alex Dadgar 25dc8a0dcb Explain restart decision and display in alloc-status 2016-03-25 12:47:14 -07:00
Alex Dadgar 647c20e465 Merge pull request #978 from hashicorp/f-enforce-user
Operator specifiable blacklist for task's using certain users
2016-03-25 12:44:05 -07:00
Alex Dadgar 69d432a5a0 Merge pull request #983 from hashicorp/f-destroy-conf
Confirmation on destructive commands
2016-03-25 10:31:38 -07:00
Alex Dadgar 5d48a2bc71 Confirmation on destructive commands 2016-03-24 14:43:20 -07:00
Pete Shima 73879faa9d Move update servers cli output to the correct commands location 2016-03-24 13:31:23 -07:00
Alex Dadgar 45dfae8f6f Operator specifiable blacklist for task's using certain users 2016-03-24 10:55:14 -07:00
Alex Dadgar 74971e0e90 Merge pull request #965 from hashicorp/f-nomad-fingerprinter
client: add nomad fingerprinter
2016-03-22 17:55:42 -07:00
Alex Dadgar aefa4b9207 add nomad fingerprinter 2016-03-22 17:12:30 -07:00
Alex Dadgar e2c0ca48b8 node-status fix panic 2016-03-22 16:25:25 -07:00
Alex Dadgar 1e67be4c6f Fix indentation of init file 2016-03-21 18:16:57 -07:00
Alex Dadgar f5aa697da8 Merge pull request #952 from hashicorp/f-nomad-inspect
cli: Add nomad inspect command
2016-03-21 13:01:48 -07:00
Alex Dadgar 9cfb4ee633 inspect/stop uses prefix search 2016-03-21 13:00:14 -07:00
Alex Dadgar 90a61172b4 Add nomad inspect command 2016-03-21 12:46:35 -07:00
Diptanu Choudhury 82908d5fa9 Merge pull request #941 from hashicorp/f-interface-name
Use an interface name to find the bind addr for rpc, http and serf components
2016-03-20 23:57:44 -07:00
Diptanu Choudhury acd016c7c0 Overriding the device configuration if addresses is present 2016-03-20 23:41:16 -07:00
Diptanu Choudhury 98fd0b889a Added a comment about iteration of ips in a network device 2016-03-20 23:22:16 -07:00
Alex Dadgar d8d1447f8c less verbose output and show node's total resources 2016-03-20 17:36:40 -07:00
Alex Dadgar 7b36d7ec55 Reduce verbosity of alloc-status 2016-03-20 16:52:24 -07:00
Diptanu Choudhury cfb9ae91a1 Using the interfaces for configuring bind addrs for nomad servers 2016-03-19 00:54:19 -07:00
Diptanu Choudhury 6e6f2940f0 Setting the ip from the network interface to Addresses 2016-03-18 22:26:13 -07:00
Diptanu Choudhury e72faaa1c0 Parsing interfaces from the config file 2016-03-18 22:05:57 -07:00
Diptanu Choudhury 4f689d1a38 Using the interface name to find bind address for network services 2016-03-18 21:44:22 -07:00
Diptanu Choudhury 601008706d Added an interfaces config 2016-03-18 13:50:29 -07:00
Jake Champlin 4f01d2f8bf Allow fs commands to use job-id
Adds `-job` flag argument to `nomad fs` commands to randomly lookup a
job's allocation-id to use in an `fs` command.

Can be used when debugging a job, where a specific allocation ID is not
a strict requirement.
2016-03-18 15:05:35 -04:00
Diptanu Choudhury a3991ad866 Merge pull request #936 from hashicorp/always-prefix-match
Always defaulting to prefix match
2016-03-17 17:26:52 -07:00
Diptanu Choudhury 7ed107d04e Always defaulting to prefix match 2016-03-17 17:25:38 -07:00
Alex Dadgar bf74e2f790 display server leaders per region 2016-03-17 16:04:09 -07:00
Diptanu Choudhury cbca7addb4 Fixes example.init 2016-03-15 21:21:49 -07:00
Alex Dadgar 719f5d34ed Merge pull request #910 from hashicorp/f-reserved-resources
Reserve Client Resources + Config Validation
2016-03-15 21:09:13 -07:00
Alex Dadgar 4288d3b7d7 Add artifact to init 2016-03-15 20:28:33 -07:00
Alex Dadgar 9f878a16bf Download artifacts and remove old code for drivers 2016-03-15 13:28:57 -07:00
Dmitry Smirnov 7c3bb51cfa codespell: minor spelling corrections
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
2016-03-16 05:28:31 +11:00
Alex Dadgar 9bfcd47398 Remove unused configs 2016-03-13 19:22:57 -07:00
Alex Dadgar 7d4c19ed99 reserve resources on the node 2016-03-13 19:05:41 -07:00
Alex Dadgar 979a0d07f9 Get rid of individual network resources 2016-03-11 19:02:44 -08:00
Alex Dadgar 363b6fea51 Custom parsing of Nomad config with validation + Reserved resources block (not used yet) 2016-03-11 18:24:58 -08:00
Diptanu Choudhury 7276bd5e84 Merge pull request #907 from hashicorp/f-task-resources
Showing Task Resources in alloc status
2016-03-11 15:14:49 -08:00
Diptanu Choudhury b07c23fd5e Showing Task Resources in alloc status 2016-03-11 14:28:51 -08:00
Diptanu Choudhury 4589798ade Simplified the logic of limit 2016-03-10 19:02:39 -08:00
Diptanu Choudhury c96e909e43 Merge pull request #902 from hashicorp/f-fs-error
Improved the error related to fs commands
2016-03-10 14:08:33 -08:00
Diptanu Choudhury a9904c9187 Improved the error related to fs commands 2016-03-10 14:07:33 -08:00
Diptanu Choudhury 512d0c317a Merge pull request #897 from hashicorp/syslog-addr
Using unix domain sockets for docker syslog collector
2016-03-10 11:49:21 -08:00
Ivo Verberk 318352cc0f Validate config keys 2016-03-10 19:16:35 +01:00
Diptanu Choudhury b18cbaa416 Using unix domain sockets for docker syslog collector 2016-03-09 23:28:26 -08:00
Diptanu Choudhury a5d5919664 Fixed an issue around parsing client max and min ports 2016-03-09 12:25:30 -08:00
Alex Dadgar da984cb4d2 Guard client/ api to ensure the client is running 2016-03-07 11:26:54 -08:00
Jake Champlin 3852aa4ae4 Cleanup style, and make cleaner 2016-03-07 09:58:35 -05:00
Jake Champlin edd60b4fb1 Print resource usage w/ alloc-status + node-status
When alloc-status is called, in it's long form only, print the resource
utilization for that single allocation.

When node-status is called, in it's long form only, print the TOTAL
resource utilization that is occurring on that single node.

Nomad Alloc Status:

```
% nomad alloc-status 195d3bf2
ID              = 195d3bf2
Eval ID         = c917e3ee
Name            = example.cache[1]
Node ID         = 1b2520a7
Job ID          = example
Client Status   = running
Evaluated Nodes = 1
Filtered Nodes  = 0
Exhausted Nodes = 0
Allocation Time = 17.73µs
Failures        = 0

==> Task "redis" is "running"
Recent Events:
Time                   Type      Description
04/03/16 21:20:45 EST  Started   Task started by client
04/03/16 21:20:42 EST  Received  Task received by client

==> Status
Allocation "195d3bf2" status "running" (0/1 nodes filtered)
  * Score "1b2520a7-6714-e78d-a8f7-68467dda6db7.binpack" = 1.209464
  * Score "1b2520a7-6714-e78d-a8f7-68467dda6db7.job-anti-affinity" = -10.000000

==> Resources
CPU  MemoryMB  DiskMB  IOPS
500  256       300     0
```

Nomad Node Status:

```
% nomad node-status 57b3a55a
ID         = 57b3a55a
Name       = biscuits
Class      = <none>
DC         = dc1
Drain      = false
Status     = ready
Attributes = arch:amd64, cpu.frequency:3753.458875, cpu.modelname:Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz, cpu.numcores:8, cpu.totalcompute:30027.671000, driver.docker:1, driver.docker.version:1.10.2, driver.exec:1, driver.raw_exec:1, hostname:biscuits, kernel.name:linux, kernel.version:4.4.0-9-generic, memory.totalbytes:25208934400, os.name:ubuntu, os.version:16.04, unique.cgroup.mountpoint:/sys/fs/cgroup, unique.network.ip-address:127.0.0.1, unique.storage.bytesfree:219781419008, unique.storage.bytestotal:246059892736, unique.storage.volume:/dev/sdb3

==> Allocations
ID        Eval ID   Job ID   Task Group  Desired Status  Client Status
2c236883  aa11aca8  example  cache       run             running
32f6e3d6  aa11aca8  example  cache       run             running

==> Resource Utilization
CPU   MemoryMB  DiskMB  IOPS
1000  512       600     0
```
2016-03-07 09:58:35 -05:00
Alex Dadgar 30482f1cd6 fix test 2016-03-06 18:41:33 -08:00
Alex Dadgar 89e3de7784 agent: Configurable heartbeat 2016-03-04 15:44:12 -08:00
Alex Dadgar 82d8210287 Remove documentation about assigning node-id 2016-03-04 10:36:30 -08:00
Jake Champlin ce27b1e8ea Add -allocs to help output 2016-03-03 14:46:24 -05:00
Jake Champlin 4e6737651a Only fetch running allocs, use args, add docs
Only fetch running allocations, not total allocated ids, add
documentation, and cleanup things.
2016-03-03 14:09:07 -05:00
Jake Champlin c4a3f5047b Include number of allocations in node-status
We recently ran into an issue on a small percentage of nomad-clients
where the nomad-client was running successfully, but due to a race
condition, could not correctly bind to the docker socket. This caused
all of our nomad jobs to be allocated to a single nomad-client instead
of being spread evenly across our clients. The only way to discover this
was to run `nomad node-status <node>` and count each job allocation per
node.

This can lead to a fairly long debugging process if there are several
nomad-clients. Including the number of allocations for each node in the
`node-status` command would save a large amount of debug time.

```
jake@biscuits [12:08:41] [~]
-> % nomad node-status
ID        Datacenter  Name      Class   Drain  Status  Allocations
2b0aabc5  dc1         biscuits  <none>  false  ready   0
```

```
jake@biscuits [12:08:55] [~]
-> % nomad node-status
ID        Datacenter  Name      Class   Drain  Status  Allocations
2b0aabc5  dc1         biscuits  <none>  false  ready   1
```
2016-03-03 12:19:56 -05:00
Alex Dadgar 61972c9ddc Refactor task runner to include driver starting into restart policy and add recoverable errors 2016-02-28 16:56:05 -08:00
Diptanu Choudhury e3d6c4a9dd Adding version information to snapshots 2016-02-24 19:06:30 -08:00
Alex Dadgar cc1b35a90c client: standardize error logging format 2016-02-24 15:57:58 -08:00
Alex Dadgar 143972b6d9 Job GC endpoint 2016-02-20 15:50:41 -08:00
Alex Dadgar 70b07f7ad6 Make the client only reserve 512 ports. 2016-02-20 11:43:02 -08:00
Alex Dadgar d1011c9668 Fixes 2016-02-19 15:49:32 -08:00
Diptanu Choudhury 72c52e3158 Testing default http port is being set 2016-02-16 17:54:17 -08:00
Diptanu Choudhury f33a010f8d Added a test for testing that http addr is set properly 2016-02-16 13:42:48 -08:00
Diptanu Choudhury 0e7a2d68c1 fixing the logic of addr resolution 2016-02-16 13:13:40 -08:00
Alex Dadgar c000dce72b Add human readable output to fs 2016-02-12 15:36:52 -08:00
Diptanu Choudhury d34a74371a Merge pull request #797 from hashicorp/reserve-ports
Reserving ports for client in every platform
2016-02-12 14:33:13 -08:00
Diptanu Choudhury fe66b8b928 Adding comments 2016-02-12 14:25:32 -08:00
Diptanu Choudhury 772ed1eb7e Reserving ports for client in every platform 2016-02-12 13:21:56 -08:00
Diptanu Choudhury 92103c9091 Merging the value of http advertise addr if user is providing one 2016-02-12 09:40:28 -08:00
Diptanu Choudhury c84a000416 Fixed some more tests 2016-02-11 22:33:41 -08:00
Diptanu Choudhury c6e395fa0e Fixed tests 2016-02-11 17:34:46 -08:00
Diptanu Choudhury 0016b2f82d Setting the output for default logger to nomad's logoutput 2016-02-11 16:05:31 -08:00
Diptanu Choudhury d2fa769514 Added the log config to init example 2016-02-11 12:21:19 -08:00
Diptanu Choudhury 9e994cb8d0 Fixed some tests 2016-02-11 10:42:56 -08:00
Diptanu Choudhury 1e4c42f29d Starting the syslog collector along with a docker container 2016-02-09 18:24:30 -08:00
Diptanu Choudhury 4644f8a9d4 Added a test for merge 2016-02-08 16:27:31 -08:00
Diptanu Choudhury e89bcf52b8 Moving code to mount and unmount chroot into allocdir 2016-02-08 14:11:53 -08:00
Diptanu Choudhury e53ebc9e3c Extracted the cgroup info into isolation struct 2016-02-08 13:48:26 -08:00