Following the official tutorial, when deploying the example nodejs application, Waypoint errors out with:
* Constraint "${attr.consul.version} semver >= 1.7.0": 1 nodes excluded by filter
Full logs below. And my consul version is above 1.7.0 (at 1.12.0).
Steps to Reproduce
Follow the tutorial
nomad agent -dev -network-interface=enp8s0 -config=nomad.config
with this nomad.config to account for the host volume:
client {
host_volume "waypoint-server" {
path = "/data/waypoint-server"
read_only = false
}
}
with a waypoint install command (adjusted for host volume):
waypoint install -platform=nomad -accept-tos -nomad-host-volume=waypoint-server -nomad-consul-service=false
waypoint, indeed, creates it's db:
[email protected]: ~# ls -Rlh /data
/data:
total 4.0K
drwxr-xr-x 2 systemd-network vagrant 4.0K May 22 22:35 waypoint-server
/data/waypoint-server:
total 44K
-rw------- 1 systemd-network vagrant 64K May 22 22:42 data.db
-rw------- 1 systemd-network vagrant 0 May 22 22:35 waypoint-restore.db.lock
the official example nodejs waypoint was used --> https://github.com/hashicorp/waypoint-examples/blob/main/nomad/nodejs/waypoint.hcl
Expected behavior
The nodejs application to start.
Waypoint Platform Versions
- Waypoint CLI Version:
- Waypoint Server Platform and Version: (like
docker
, nomad
, kubernetes
)
- Waypoint Plugin: (like
aws/ecs
, pack
, azure
)
[email protected]:~# waypoint version
CLI: v0.8.2 (5b8885480)
Server: v0.8.2
[email protected]:~# consul version
Consul v1.12.0
Revision 09a8cdb4
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)
[email protected]:~# nomad version
Nomad v1.3.0 (52e95d64113e01be05d585d8b4c07f6f19efebbc)
[email protected]:~# vault version
Vault v1.10.3 (af866591ee60485f05d6e32dd63dde93df686dfb)
[email protected]:~# docker info
Client:
Debug Mode: false
Server:
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 13
Server Version: 19.03.11
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 7eba5930496d9bbe375fdf71603e610ad737d2b2
runc version: v1.0.0-0-g84113ee
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.4.0-80-generic
Operating System: Ubuntu 20.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.775GiB
Name: vagrant
ID: 7CYX:MNFM:YUVU:RI3M:XT3C:YZSH:R3ZP:VSOQ:M55N:QAW2:JSFU:74TB
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Additional context
Add any other context about the problem here.
logs from a generic ubuntu focal:
[email protected]:~/waypoint-examples/nomad/nodejs# ls
index.js package.json public README.md views waypoint.hcl
[email protected]:~/waypoint-examples/nomad/nodejs# waypoint init
✓ Configuration file appears valid
✓ Connection to Waypoint server was successful
✓ Project "example-nodejs" and all apps are registered with the server.
Project initialized!
You may now call 'waypoint up' to deploy your project or
commands such as 'waypoint build' to perform steps individually.
[email protected]:~/waypoint-examples/nomad/nodejs# waypoint up
Performing operation locally
» Building example-nodejs...
✓ Running build v1
Warning! Buildpacks are known to have issues on architectures other than amd64. The architecure being reported by the Docker server is "x86_64". We will still attempt to build the image,
but may run into issues.
Creating new buildpack-based image using builder: heroku/buildpacks:20
✓ Creating pack client
✓ Building image
│ [exporter] Adding layer 'process-types'
│ [exporter] Adding label 'io.buildpacks.lifecycle.metadata'
│ [exporter] Adding label 'io.buildpacks.build.metadata'
│ [exporter] Adding label 'io.buildpacks.project.metadata'
│ [exporter] Setting default process type 'web'
│ [exporter] Saving example-nodejs...
│ [exporter] *** Images (42f4521666c2):
│ [exporter] example-nodejs
│ [exporter] Adding cache layer 'heroku/nodejs-engine:dist'
│ [exporter] Adding cache layer 'heroku/nodejs-npm:toolbox'
✓ Injecting entrypoint binary to image
Generated new Docker image: example-nodejs:latest
✓ Running push build v1
✓ Tagging Docker image: example-nodejs:latest => nodejs-example:1
✓ Docker image pushed: nodejs-example:1
» Deploying example-nodejs...
✓ Running deploy v1
✓ Job registration successful
✓ Evaluation status changed: "pending" -> "complete"
⚠️ Evaluation "59459995-c2e7-30cc-dbcf-3a3c04c51400" finished with status "complete" but failed to place all allocations
⚠️ Task Group "example-nodejs-01g3gwqgmrh02msgt0jhvg2v5t" (failed to place 1 allocation):
* Constraint "${attr.consul.version} semver >= 1.7.0": 1 nodes excluded by filter
⚠️ Evaluation "860af1f2-6dd1-d4a1-ea55-ba161bda2c6b" waiting for additional capacity to place remainder
example-nodejs-01g3gwqgmrh02msgt0jhvg2v5t
! Failed to schedule all allocations
full focal -vvv waypoint deploy log
archlinux full debug
discuss.hashicorp topic
EDIT:
I upgraded nomad to 1.3.1 and reran on a fresh focal install, pretty much the same results, I have a gist of the waypoint deploy -vvv
step and the accompanying nomad stdout here.
Vagrantfile
EDIT: workaround with consul Vagrantfile
vagrant up && vagrant ssh
then
sudo -i
./start.sh
bug plugin/nomad core/install