-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate to Solaris CBE for updated packages, don't use OpenCSW packages #3
Conversation
Does this preserve the ability to install zstd and mbuffer like so? https://github.com/whoschek/wbackup-zfs/blob/a34b5f470482303540ff1c301962b3705ce428da/.github/workflows/python-app.yml#L281? In the current solaris VM image zstd and mbuffer are only available from OpenCSW. I don't care whether it comes from pkgutil or pkg as long as it can be easily installed from somewhere. |
I'd assume we could do both I guess since zstd nor mbuffer are in Solaris's package list. At this point I'm trying to get the image size down, this might all be moot if I can't. |
I don't think I can iterate on this any more. The image size for the gcc version is just slightly too large to fit within the 2G limit so I had to create a way to split the result. Here's the result of the last run: You can see:
Maybe since a split is required and it would need to be handled in |
I decided to go ahead and update the package list for the 'gcc' build to include the other recommended packages. Having a .xz.1 as 19MB is a bit weird, so makes sense to just go ahead and let it be a couple hundred MB and include useful stuff. |
don't change the Don't change the Readme.md, it's auto generated. The https://github.com/vmactions/base-builder/blob/main/build.sh And it's shared by all the other builders, so if you need to change the base, be careful. The project is generated/synced from the base builder by a workflow: https://github.com/vmactions/solaris-builder/blob/main/.github/workflows/generate.yml |
hrm, that definitely complicates things a bit then. I didn't realize there was so much cross-dependency stuff going on. I'm not sure how to handle changing the build.sh as there is a lot we need to do in solaris that might not be needed anywhere else. Maybe adding a new step of "hooks/sysUpdate.sh" that if it exists runs, then reboots before running "hooks/postBuild.sh" would meet the needs of this. The build.yml changes however I think make sense to be merged into the base as those are pretty sane. The readme actually got updated automatically when I created a tag in my own repo so I didn't directly do that. I'll try to submit a PR for base-builder, and we'll go from there. Just will make it a multi-step process since i'll need that merged before I can update this PR properly. |
@Neilpang Does this looks reasonable? vmactions/base-builder#1 If so, it should be pretty easy to move stuff around for solaris into the sysUpdate.sh and postBuild.sh hooks which I think will be compliant with what you're looking for. |
but like I said I have it saved here: https://github.com/bradh352/vmactions-solaris-builder/releases/download/2.0.0/solaris-11.4.42.111.0-x86-cbe.iso |
re-synced with latest changes ... |
NOTE: also needs changes in vmactions/base-builder#1 |
I made the changes you requested. I should note that I don't think there's any reason to keep the non-CBE-based builds at all. Not sure if anyone would find such an old build useful at all. The other alternative would be for the non-CBE builds to actually be upgraded, which when I tested it was possible, but the qcow2 image sizes really got huge because the ide driver doesn't support discard/trim. I didn't investigate if it was possible to switch the disk type post-upgrade to virtio and then try to evict the data and compact the qcow2 image. (virtio was added in 11.4.33). Finally, the non-CBE image probably shouldn't be used at all from a licensing perspective. The CBE image is meant to be free for developers, the other image you have I'm not sure what the licensing is. |
last build log from my fork with these changes: https://github.com/bradh352/vmactions-solaris-builder/actions/runs/10773345217 All appears successful. |
@Neilpang thanks for merging vmactions/base-builder#1 ... just need this merged now :) |
don't change the build.yml here, it was generated from the template from base builder. I think we can just replace the default image with CBE image. you don't need cbe-gcc any more. |
yeah, i know build.yml is generated, however i have to have it committed to actually build and test in my fork which is why its committed. I'll make the change to only use CBE at least. it won't hurt to have the build.yml committed, however, since your build script will just regenerate it base-builder when its in the right place. |
changes committed, building now in my fork : https://github.com/bradh352/vmactions-solaris-builder/actions/runs/10792803832 |
This should resolve vmactions/solaris-vm#38 as well as vmactions/solaris-vm#39
I tried using the original ISO, but that ISO doesn't support virtio so discards/trim don't work and the image size ballooned.
I've now switched to the CBE image.
IMPORTANT: This ISO image needs to be copied into a release artifact within
vmactions/solaris-builder
and the link needs to be updated inconf/solaris-11.4-gcc.conf
andconf/solaris-11.4.conf
to point to the new location. My fork will be deleted once this gets merged and therefore so will the current download location.Due to concerns with packages that are in OpenCSW but not in the official solaris repository, the OpenCSW package manager is still installed but it is not actually used, its meant for end users if they need it.
Changes:
jlumbroso/free-disk-space@main
to clean up some host VM space so we don't run outvirtio
for the VM disk bus, and pass thediscard=unmap
optiontrim
support in ZFSUpdates needed to https://github.com/vmactions/solaris-vm/:
BUILDER_VERSION
inconf/11.4-gcc.conf
andconf/11.4.conf
-cbe-gcc
build is larger than 2G now, its split into.qcow2.xz.0
and.qcow2.xz.1
)