- Updated `wwctl upgrade` to handle updates - Maintained `.Container` and `.ContainerName` in tstruct - Added `ContainerName()` methods to node and profile objects - Added `--container`, `-C` aliases to wwctl commands (`<node|profile> <add|set>`) - Added `wwctl container` alias - Added support for `container_exit.sh` if `image_exit.sh` is not found Signed-off-by: Jonathon Anderson <janderson@ciq.com>
58 lines
2.1 KiB
Bash
58 lines
2.1 KiB
Bash
#! /usr/bin/env bash
|
|
|
|
# This file is a scratchpad for curling wwapird.
|
|
|
|
# version
|
|
curl http://localhost:9871/version
|
|
|
|
# secure version
|
|
curl --cacert /usr/local/etc/warewulf/keys/cacert.pem \
|
|
--key /usr/local/etc/warewulf/keys/client.key \
|
|
--cert /usr/local/etc/warewulf/keys/client.pem \
|
|
https://localhost:9871/version
|
|
|
|
# image list all
|
|
curl http://localhost:9871/v1/image
|
|
|
|
# image import
|
|
curl -d '{"source": "docker://ghcr.io/warewulf/warewulf-rockylinux:8", "name": "rocky-8", "update": true, "default": true}' -H "Content-Type: application/json" -X POST http://localhost:9871/v1/image
|
|
|
|
# image delete
|
|
curl -X DELETE http://localhost:9871/v1/image?imageNames=rocky-8
|
|
|
|
# image build
|
|
curl -d '{"imageNames": ["rocky-8"], "force": true}' -H "Content-Type: application/json" -X POST http://localhost:9871/v1/imagebuild
|
|
|
|
# node list all
|
|
curl http://localhost:9871/v1/node
|
|
|
|
# node list one
|
|
curl http://localhost:9871/v1/node?nodeNames=testnode1 # this works! case sensitive
|
|
|
|
# This is a list of testnode[1-2] with URL escapes.
|
|
curl http://localhost:9871/v1/node?nodeNames=testnode%5B1-2%5D
|
|
|
|
# node add single discoverable node
|
|
curl -d '{"nodeNames": ["testApiNode0"], "discoverable": true}' -H "Content-Type: application/json" -X POST http://localhost:9871/v1/node
|
|
|
|
curl -d '{"nodeNames": ["testApiNode1"], "discoverable": true}' -H "Content-Type: application/json" -X POST http://localhost:9871/v1/node
|
|
|
|
|
|
# list the node we just added
|
|
curl http://localhost:9871/v1/node?nodeNames=testApiNode0
|
|
|
|
# This gets me a little farther, but still no param data:
|
|
curl -d '{"nodeNames": ["testApiNode0"], "ipmiIpAddr": "10.0.8.220", "updateMask": "ipmiIpAddr,nodeNames"}' -H "Content-Type: application/json" -X PATCH http://localhost:9871/v1/node
|
|
|
|
# Node set with post:
|
|
curl -d '{"nodeNames": ["testApiNode0"], "ipmiIpaddr": "6.7.8.9"}' -H "Content-Type: application/json" -X POST http://localhost:9871/v1/nodeset
|
|
|
|
# node status
|
|
curl http://localhost:9871/v1/nodestatus
|
|
|
|
curl http://localhost:9871/v1/nodestatus?nodeNames=testApiNode0
|
|
|
|
# node delete single node
|
|
curl -X DELETE http://localhost:9871/v1/node?nodeNames=testApiNode0
|
|
curl -X DELETE http://localhost:9871/v1/node?nodeNames=testApiNode1
|