mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-06 16:40:47 +00:00
releng-gce: Add ZFS support to GCE image buliding and uploading
Approved by: delphij (re), gjb (re) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41527
This commit is contained in:
parent
78f901dcbd
commit
1b10bdf0e2
|
@ -4,7 +4,6 @@
|
|||
# Makefile for uploading Google Compute Engine disk images.
|
||||
#
|
||||
|
||||
GCE_IMG?= ${.OBJDIR}/gce.raw
|
||||
GCE_UPLOAD_TGTS= gce-check-depends \
|
||||
gce-do-package \
|
||||
gce-do-upload
|
||||
|
@ -27,10 +26,6 @@ SNAPSHOT_DATE= -v${BUILDDATE}
|
|||
GCE_FAMILY_SUFX= -snap
|
||||
.endif
|
||||
|
||||
# Really? Uppercase characters are not allowed? Sigh...
|
||||
# And don't even get me started on the '.'.
|
||||
GCE_TARGET:= ${OSRELEASE:S,.raw,,:tl:S,.,-,g}${SNAPSHOT_DATE}
|
||||
|
||||
gce-upload: ${GCE_UPLOAD_TGTS}
|
||||
|
||||
gce-check-depends:
|
||||
|
@ -53,25 +48,34 @@ gce-check-depends:
|
|||
. endif
|
||||
.endif
|
||||
|
||||
gce-do-package:
|
||||
@# Yes, really... Sigh.
|
||||
cd ${.OBJDIR} && mv gce.raw disk.raw
|
||||
cd ${.OBJDIR} && tar --format=gnutar -zcf \
|
||||
${GCE_TARGET:S,${.OBJDIR}/,,}.tar.gz disk.raw
|
||||
cd ${.OBJDIR} && mv disk.raw gce.raw
|
||||
touch ${.OBJDIR}/${.TARGET}
|
||||
|
||||
gce-do-login:
|
||||
@echo "This requires human interaction, which is not yet supported."
|
||||
@true
|
||||
|
||||
gce-do-upload:
|
||||
@# Fallthrough in case the bucket already exists.
|
||||
/usr/local/bin/gsutil mb gs://${GCE_BUCKET} || true
|
||||
/usr/local/bin/gsutil cp ${.OBJDIR}/${GCE_TARGET}.tar.gz \
|
||||
gs://${GCE_BUCKET}/
|
||||
/usr/local/bin/gcloud compute images create ${GCE_TARGET} \
|
||||
--family=${GCE_FAMILY}${GCE_FAMILY_SUFX} ${GCE_LICENSE} \
|
||||
--source-uri gs://${GCE_BUCKET}/${GCE_TARGET}.tar.gz
|
||||
.for _FS in ${GCE_FSLIST}
|
||||
GCE_IMG_${FS}= ${.OBJDIR}/gce.${_FS}.raw
|
||||
# Really? Uppercase characters are not allowed? Sigh...
|
||||
# And don't even get me started on the '.'.
|
||||
GCE_TARGET_${_FS}= ${OSRELEASE:S,.raw,,:tl:S,.,-,g}-${_FS}${SNAPSHOT_DATE}
|
||||
|
||||
gce-do-package-${_FS}:
|
||||
@# Yes, really... Sigh.
|
||||
cd ${.OBJDIR} && mv ${GCE_IMG_${_FS}} disk.raw
|
||||
cd ${.OBJDIR} && tar --format=gnutar -zcf \
|
||||
${GCE_TARGET_${_FS}:S,${.OBJDIR}/,,}.tar.gz disk.raw
|
||||
cd ${.OBJDIR} && mv disk.raw ${GCE_IMG_${_FS}}
|
||||
touch ${.OBJDIR}/${.TARGET}
|
||||
|
||||
gce-do-upload-${_FS}:
|
||||
@# Fallthrough in case the bucket already exists.
|
||||
/usr/local/bin/gsutil mb gs://${GCE_BUCKET} || true
|
||||
/usr/local/bin/gsutil cp ${.OBJDIR}/${GCE_TARGET_${_FS}}.tar.gz \
|
||||
gs://${GCE_BUCKET}/
|
||||
/usr/local/bin/gcloud compute images create ${GCE_TARGET_${_FS}} \
|
||||
--family=${GCE_FAMILY}${GCE_FAMILY_SUFX} ${GCE_LICENSE} \
|
||||
--source-uri gs://${GCE_BUCKET}/${GCE_TARGET_${_FS}}.tar.gz
|
||||
touch ${.OBJDIR}/${.TARGET}
|
||||
.endfor
|
||||
|
||||
gce-do-package: gce-do-package-${VMFS}
|
||||
gce-do-upload: gce-do-upload-${VMFS}
|
||||
|
|
|
@ -36,7 +36,7 @@ EC2_FSLIST= ufs zfs
|
|||
EC2_DESC= Amazon EC2 image
|
||||
EC2_DISK= ${OSRELEASE}.${EC2_FORMAT}
|
||||
GCE_FORMAT= raw
|
||||
GCE_FSLIST= ufs
|
||||
GCE_FSLIST= ufs zfs
|
||||
GCE_DESC= Google Compute Engine image
|
||||
GCE_DISK= disk.${GCE_FORMAT}
|
||||
OCI_FORMAT= qcow2
|
||||
|
|
Loading…
Reference in a new issue