I'm currently building out multi-node deployment capabilities via thing-flinger and realized that zpools that should have been created when create_virtual_hardware.sh ran as part of the install-prereqs command don't exist. Looking at the output of thing-flinger I noticed the following error:
readarray -t ZPOOLS
++ grep '"oxp_' /root/omicron_staging/tools/../smf/sled-agent/config.toml
++ sed 's/[ ",]//g'
grep: can't open "/root/omicron_staging/tools/../smf/sled-agent/config.toml"
This appears to be because create_virtual_hardware.sh assumes it is running inside the omicron repo directly and has access to the smf directory which is not the case with thing-flinger.
thing-flinger deploy install does install config.toml into /opt/oxide/sled-agent/pkg, but that happens after install-prereqs.
A simple fix seems to be to just copy the config file into /root/omicron_staging/smf/sled-agent/config.toml during install-prereqs before we run create_virtual_hardware.sh.
I'm currently building out multi-node deployment capabilities via thing-flinger and realized that zpools that should have been created when
create_virtual_hardware.shran as part of theinstall-prereqscommand don't exist. Looking at the output of thing-flinger I noticed the following error:This appears to be because
create_virtual_hardware.shassumes it is running inside the omicron repo directly and has access to thesmfdirectory which is not the case with thing-flinger.thing-flinger deploy installdoes installconfig.tomlinto/opt/oxide/sled-agent/pkg, but that happens after install-prereqs.A simple fix seems to be to just copy the config file into
/root/omicron_staging/smf/sled-agent/config.tomlduringinstall-prereqsbefore we runcreate_virtual_hardware.sh.