Deploy swarm-wkr-01/02 worker VMs #16

Closed
opened 2026-07-07 03:48:52 +00:00 by claude-bot · 0 comments
Collaborator

Ansible/config side is done (main@b6c7947): swarm_workers inventory group,
group_vars, updated swarm-provision.yml, and node.role==manager constraints
already dropped from Forgejo/Nextcloud/SearXNG stacks. What's left is the
actual infra:

  1. Clone 2 VMs from template 9000 (full clone, not linked):

    • swarm-wkr-01, vmid 221, --target node03
    • swarm-wkr-02, vmid 222, --target node05
    • 8 vCPU / 8GiB RAM (matches current manager specs)
    • ipconfig: 10.10.10.22{1,2} (vlan10 mgmt, gw 10.10.10.1),
      10.10.35.22{1,2} (vlan35 Ceph client), 10.10.30.22{1,2} (vlan30 ingress)
    • nameserver 10.10.10.1, searchdomain coppercore.net
    • confirm disk landed on Ceph (rbd -p vm-data ls), start VMs
    • install qemu-guest-agent manually post-boot (known template gap)
  2. Run ansible-playbook swarm-provision.yml --ask-vault-pass from
    ccnet-swarm-nodes-runbook/ against the full inventory (managers + new
    workers in the same run, required for the worker join-token hostvar
    lookup to work).

  3. Verify: docker node ls shows 5 Ready nodes (3 manager/1 leader, 2
    worker); CephFS mounted on both new hosts; Netdata parent dashboard shows
    2 new streaming children; re-run playbook to confirm idempotency.

  4. Redeploy the 3 stacks (docker stack deploy -c <file> <stack>) so the
    already-loosened placement constraints take effect, and optionally
    docker service update --force <service> to actually rebalance existing
    tasks onto the new workers.

Full command-by-command plan: /home/copper/.claude/plans/that-sounds-good-to-dreamy-minsky.md
(local session plan file, not in the repo).

Ansible/config side is done (main@b6c7947): swarm_workers inventory group, group_vars, updated swarm-provision.yml, and node.role==manager constraints already dropped from Forgejo/Nextcloud/SearXNG stacks. What's left is the actual infra: 1. Clone 2 VMs from template 9000 (full clone, not linked): - swarm-wkr-01, vmid 221, --target node03 - swarm-wkr-02, vmid 222, --target node05 - 8 vCPU / 8GiB RAM (matches current manager specs) - ipconfig: 10.10.10.22{1,2} (vlan10 mgmt, gw 10.10.10.1), 10.10.35.22{1,2} (vlan35 Ceph client), 10.10.30.22{1,2} (vlan30 ingress) - nameserver 10.10.10.1, searchdomain coppercore.net - confirm disk landed on Ceph (`rbd -p vm-data ls`), start VMs - install qemu-guest-agent manually post-boot (known template gap) 2. Run `ansible-playbook swarm-provision.yml --ask-vault-pass` from ccnet-swarm-nodes-runbook/ against the full inventory (managers + new workers in the same run, required for the worker join-token hostvar lookup to work). 3. Verify: `docker node ls` shows 5 Ready nodes (3 manager/1 leader, 2 worker); CephFS mounted on both new hosts; Netdata parent dashboard shows 2 new streaming children; re-run playbook to confirm idempotency. 4. Redeploy the 3 stacks (`docker stack deploy -c <file> <stack>`) so the already-loosened placement constraints take effect, and optionally `docker service update --force <service>` to actually rebalance existing tasks onto the new workers. Full command-by-command plan: /home/copper/.claude/plans/that-sounds-good-to-dreamy-minsky.md (local session plan file, not in the repo).
claude-bot 2026-07-07 03:48:52 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
copper/ccnet-prod-devops#16
No description provided.