OS-8724 - Reserve vendor-data for SmartOS/Triton use
Reviewed by: Dan McDonald <danmcd at edgecast.io>
Reviewed by: Nahum Shalman <nahum.shalman at edgecast.io>
Approved by: Dan McDonald <danmcd at edgecast.io>
OS-8723 Expose virtio1 zone attribute via vmadm
Reviewed by: Nahum Shalman <nshalman at edgecast.io>
Reviewed by: Carlos Neira <cneira at edgecast.io>
Approved by: Nahum Shalman <nshalman at edgecast.io>
OS-8722 Propagate org.smartos:virtio image tag to bhyve zone attribute
Read the org.smartos:virtio tag from image manifests in validateImage(),
propagate it through validateImages() to the payload, and write it as a
zone attribute in buildZonecfgUpdate(). This allows boot.c (in
illumos-joyent) to select legacy or modern virtio mode based on the
image tag.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
OS-8721 SmartOS builds in Jenkins should guarantee different buildstamps per stage
Reviewed by: Travis Paul <tpaul at edgecast.io>
Approved by: Travis Paul <tpaul at edgecast.io>
OS-8711 Support cloud-init NoCloud datasource for Bhyve guests
Portions contributed by: Claude Opus 4.5 & 4.6 <noreply at anthropic.com>
Reviewed by: Dan McDonald <danmcd at edgecast.io>
Reviewed by: Carlos Neira <cneira at edgecast.io>
Approved by: Dan McDonald <danmcd at edgecast.io>
Refactor nocloud disk topology out of VM.js
Move the nocloud disk construction and validation logic from VM.js
into the nocloud modules.
Remove the DISK_SIZE_MIB and BLOCK_SIZE re-exports from the
nocloud module as they no longer need to be re-exported from
lofs-fat16.js.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
Prevent creating duplicate disk during sdc-migrate
Rename the nocloud createVolume function to createPcFs
to better reflect what it actually does.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
Store hash of metadata used to create nocloud volume
The hash is used to prevent unecessarily regenerating the filesystem.
Also refactor the involved functions to avoid many nested callbacks.
Reuse ip.netmaskToBits instead of duplicating netmask conversion
The local netmaskToCidr in nocloud.js was redundant with
netmaskToBits already exported from ip.js. Remove the duplicate
and use the shared utility.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>