Skip to content

Example workshop inventory

Copy to workshop.yaml and edit host SSH targets. Full reference: Fleet.

name: suse-virt-rodeo-emea
lab:
  dir: /root/suse-virt-workshop
  source: git:https://github.com/avaleror/suse-virt-workshop.git
  target: baremetal
  concurrency: 4
  ports:
    harvester: 8443
    rancher: 30002
defaults:
  ssh_user: root
hosts:
  - id: student-01
    ssh: 203.0.113.11
    public_ip: 203.0.113.11
    labels: { room: a }
  - id: student-02
    ssh: 203.0.113.12
    public_ip: 203.0.113.12
    labels: { room: a }
rodeo fleet doctor -f workshop.yaml
rodeo fleet deploy -f workshop.yaml -j 4
rodeo fleet status -f workshop.yaml
rodeo fleet diagnose -f workshop.yaml   # pull logs if a host fails
rodeo fleet retry -f workshop.yaml --failed-only
rodeo fleet access -f workshop.yaml

AWS host-acquire (F4a MVP)

# workshop.yaml — hosts: [] until provision fills them
name: demo
lab:
  dir: /root/lab
  profile: harvester
defaults:
  ssh_user: ec2-user              # openSUSE Leap Marketplace
provider:
  type: aws
  count: 2
  region: eu-central-1
  instance_type: i7i.8xlarge      # preferred: local NVMe; metal also OK
  # ami omitted → Leap 16.0 (x86_64)* from aws-marketplace (e.g. v20260629)
  subnet_id: subnet-…
  security_group_ids: [sg-…]
hosts: []
pip install 'rodeo-cli[aws]'
# Creds: ~/.aws/credentials  OR  AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY
# Subscribe once: AWS Marketplace → openSUSE Leap
# SSH key: auto ~/.rodeo/ssh/id_ed25519 → EC2 key pair "rodeo"
rodeo fleet provision -f workshop.yaml
rodeo fleet doctor -f workshop.yaml
rodeo ssh student-01
rodeo ssh student-01/rancher
rodeo fleet deprovision -f workshop.yaml --yes

See Fleet F4.

Single-host AWS (rodeo up --target aws)

Same provider: shape in rodeo-plan.yaml:

deployment_target: aws
provider:
  type: aws
  region: eu-central-1
  instance_type: i7i.8xlarge      # preferred: local NVMe
  # Leap 16 by default; pin with ami: ami-… for SLES 16 if needed
  subnet_id: subnet-…
  security_group_ids: [sg-…]
  ssh_user: ec2-user
  volume_size_gib: 100            # root EBS; lab disks on NVMe via host_context
pip install 'rodeo-cli[aws]'
rodeo up --yes --profile harvester --target aws
rodeo ssh primary
rodeo ssh primary/rancher
# tear down the EC2 host (not nested VMs alone):
rodeo destroy --cloud --yes