oxide>codememory>1

clickhouse + omicron-standalone + propolis-server


Run these as separate commands in this order:

  1. cargo xtask ch-dev run to run a standalone Clickhouse [more info can the Running Pieces by Hand section of the simulated doc].

  2. cargo r --bin oximeter -- standalone --clickhouse '[::1]:8123' --log-level debug to run up a standalone oximeter instance.

  3. cd /oxide/workspace/propolis && cargo build --release to build release targets of propolis-server and propolis-cli.

  4. Given this propolis_server configuration:

    bootrom = "/oxide/workspace/propolis/instance-test/OVMF_CODE.fd"
    log = "debug"
    cpus = 4
    
    [block_dev.alpine_iso]
    type = "file"
    path = "/oxide/workspace/propolis/instance-test/alpine-standard-3.20.2-x86_64.iso"
    
    [dev.block0]
    driver = "pci-virtio-block"
    block_dev = "alpine_iso"
    pci-path = "0.4.0"
    
    [dev.net0]
    driver = "pci-virtio-viona"
    vnic = "vnic_prop0"
    pci-path = "0.5.0"	
    

    we then run:
    pfexec ./target/release/propolis-server run instance-test/propolis_config.toml --metric-addr '[::1]:12221' '[::1]:12400' to start up the propolis server.

    Note the paths for OVMF_CODE.fd and alpine-standard-3.20.2-x86_64.iso, which should be scp'ed to your host machine. The recommended versions may change, so double-check the propolis-standalone quickstart and alpine-downloads for updates.

  5. ./target/release/propolis-cli --server ::1 new test-vm to create a new VM named test-vm.

  6. ./target/release/propolis-cli --server ::1 state test-vm run to run the VM.

  7. ./target/release/propolis-cli --server ::1 serial test-vm if you need to attach to the serial console. For an alpine default image, the login name is root with an empty password.