1313# : "%/pool/ext/*/crypt/debug/global/oxide-sled-agent:default.log.*",
1414# : "%/pool/ext/*/crypt/debug/oxz_*/oxide-*.log.*",
1515# : "%/pool/ext/*/crypt/debug/oxz_*/system-illumos-*.log.*",
16- # : "!/pool/ext/*/crypt/debug/oxz_propolis-server_*/*.log.*"
16+ # : "!/pool/ext/*/crypt/debug/oxz_propolis-server_*/*.log.*",
17+ # : "/tmp/kstat/*.kstat"
1718# : ]
1819# : skip_clone = true
1920# :
@@ -32,6 +33,10 @@ _exit_trap() {
3233 local status=$?
3334 set +o errexit
3435
36+ if [[ " x$OPTE_COMMIT " != " x" ]]; then
37+ pfexec cp /tmp/opteadm /opt/oxide/opte/bin/opteadm
38+ fi
39+
3540 #
3641 # Stop cron in all zones (to stop logadm log rotation)
3742 #
@@ -65,12 +70,16 @@ _exit_trap() {
6570
6671 PORTS=$( pfexec /opt/oxide/opte/bin/opteadm list-ports | tail +2 | awk ' { print $1; }' )
6772 for p in $PORTS ; do
73+ pfexec /opt/oxide/opte/bin/opteadm dump-uft -p $p
6874 LAYERS=$( pfexec /opt/oxide/opte/bin/opteadm list-layers -p $p | tail +2 | awk ' { print $1; }' )
6975 for l in $LAYERS ; do
7076 pfexec /opt/oxide/opte/bin/opteadm dump-layer -p $p $l
7177 done
7278 done
7379
80+ mkdir -p /tmp/kstat
81+ pfexec kstat -p xde: > /tmp/kstat/xde.kstat
82+
7483 pfexec zfs list
7584 pfexec zpool list
7685 pfexec fmdump -eVp
@@ -88,9 +97,30 @@ _exit_trap() {
8897
8998 for z in $( zoneadm list -n | grep oxz_ntp) ; do
9099 banner " ${z/ oxz_/ } "
91- pfexec zlogin " $z " chronyc tracking
92- pfexec zlogin " $z " chronyc sources
100+ pfexec zlogin " $z " chronyc -n tracking
101+ pfexec zlogin " $z " chronyc -n sources -a
93102 pfexec zlogin " $z " cat /etc/inet/chrony.conf
103+ pfexec zlogin " $z " ping -sn oxide.computer 56 1
104+ pfexec zlogin " $z " ping -sn 1.1.1.1 56 1
105+ pfexec zlogin " $z " /usr/sbin/dig 0.pool.ntp.org @1.1.1.1
106+ pfexec zlogin " $z " getent hosts time.cloudfare.com
107+
108+ # Attempt to get chrony to do some time sync from the CLI with
109+ # messages being written to the terminal and with debugging
110+ # enabled if the chrony package was built with that option.
111+ # Since chronyd on the CLI needs to use the ports that the
112+ # service will be using, stop it first (with -s to wait for it
113+ # to exit).
114+ pfexec /usr/sbin/svcadm -z " $z " disable -s oxide/ntp
115+ # Run in dry-run one-shot mode (-Q)
116+ pfexec zlogin " $z " /usr/sbin/chronyd -t 10 -ddQ
117+ # Run in one-shot mode (-q) -- attempt to set the clock
118+ pfexec zlogin " $z " /usr/sbin/chronyd -t 10 -ddq
119+ # Run in one-shot mode (-q) but override the configuration
120+ # to talk to an explicit external service. This command line is
121+ # similar to that used by the pre-flight NTP checks.
122+ pfexec zlogin " $z " /usr/sbin/chronyd -t 10 -ddq \
123+ " 'pool time.cloudflare.com iburst maxdelay 0.1'"
94124 done
95125
96126 pfexec zlogin sidecar_softnpu cat /var/log/softnpu.log
@@ -104,6 +134,20 @@ z_swadm () {
104134 pfexec zlogin oxz_switch /opt/oxide/dendrite/bin/swadm $@
105135}
106136
137+ # only set this if you want to override the version of opte/xde installed by the
138+ # install_opte.sh script
139+ OPTE_COMMIT=" f3002b356da7d0e4ca15beb66a5566a92919baaa"
140+ if [[ " x$OPTE_COMMIT " != " x" ]]; then
141+ curl -sSfOL https://buildomat.eng.oxide.computer/public/file/oxidecomputer/opte/module/$OPTE_COMMIT /xde
142+ pfexec rem_drv xde || true
143+ pfexec mv xde /kernel/drv/amd64/xde
144+ pfexec add_drv xde || true
145+ curl -sSfOL https://buildomat.eng.oxide.computer/public/file/oxidecomputer/opte/release/$OPTE_COMMIT /opteadm
146+ chmod +x opteadm
147+ cp opteadm /tmp/opteadm
148+ pfexec mv opteadm /opt/oxide/opte/bin/opteadm
149+ fi
150+
107151#
108152# XXX work around 14537 (UFS should not allow directories to be unlinked) which
109153# is probably not yet fixed in xde branch? Once the xde branch merges from
@@ -150,6 +194,9 @@ cd /opt/oxide/work
150194
151195ptime -m tar xvzf /input/package/work/package.tar.gz
152196
197+ # shellcheck source=/dev/null
198+ source .github/buildomat/ci-env.sh
199+
153200# Ask buildomat for the range of extra addresses that we're allowed to use, and
154201# break them up into the ranges we need.
155202
@@ -293,7 +340,7 @@ E2E_TLS_CERT="/opt/oxide/sled-agent/pkg/initial-tls-cert.pem"
293340#
294341pfexec mkdir -p /usr/oxide
295342pfexec curl -sSfL -o /usr/oxide/oxide \
296- http://catacomb.eng.oxide.computer:12346/oxide-v0.1.0
343+ http://catacomb.eng.oxide.computer:12346/oxide-v0.1.1
297344pfexec chmod +x /usr/oxide/oxide
298345
299346curl -sSfL -o debian-11-genericcloud-amd64.raw \
371418
372419/usr/oxide/oxide --resolve " $OXIDE_RESOLVE " --cacert " $E2E_TLS_CERT " \
373420 project create --name images --description " some images"
374- /usr/oxide/oxide --resolve " $OXIDE_RESOLVE " --cacert " $E2E_TLS_CERT " \
421+ /usr/oxide/oxide \
422+ --resolve " $OXIDE_RESOLVE " \
423+ --cacert " $E2E_TLS_CERT " \
375424 disk import \
376425 --path debian-11-genericcloud-amd64.raw \
377426 --disk debian11-boot \
381430 --image debian11 \
382431 --image-description " debian 11 original base image" \
383432 --image-os debian \
384- --image-version " 11"
433+ --image-version " 11" \
434+ --parallelism 1
385435/usr/oxide/oxide --resolve " $OXIDE_RESOLVE " --cacert " $E2E_TLS_CERT " \
386436 image promote --project images --image debian11
387437
0 commit comments