ghfields / rpooler

A guided installation script for zfs rpools
30 stars 6 forks source link

initial portability refactoring #32

Open lloydie opened 5 years ago

lloydie commented 5 years ago

Hi Garrett,

The diff looks worse than it is.

Really looking forward to your feedback.

lloydie commented 5 years ago
ghfields commented 5 years ago

This is amazing. You have given this more attention than have in a while. I see many inline comments I'll address. Today is full of other commitments for me, but I'll look at this ASAP.

lloydie commented 5 years ago

Hi Garret,

I appreciate that. I still need to track down my boot bug, ill get it sometime today. When you review the code and make appropriate changes im really looking forward to getting stuck in to feature requests.

Do you find it strange that my original post only got yourself responding. I wonder the numbers of zfs on root users, every single one of them must have at least a script surely ? I'm trying to build a linux distro thats more like solaris zfs,dtrace, zones/containers that is my use case.

I get we are a minority in a minority, but surely every single reader of the zfsonlinux wiki didn't just copy and paste get a host system and that's the end of the story, :) stable for ever. i wish.

If Linus needs Oracle's sign-off and GKH has no love for zfs. We are never "it seems" going to have a "blessed" / "default" path for getting zfs on root. This to me makes the requirement of an "installer" absolutely critical to user adoption, i must be missing something.

Regardless i think with the addition of a heap of tests this process can absolutely be made "stable" and that is my goal.

On Sun, Feb 3, 2019 at 12:50 PM Garrett Fields notifications@github.com wrote:

This is amazing. You have given this more attention than have in a while. I see many inline comments I'll address. Today is full of other commitments for me, but I'll look at this ASAP.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ghfields/rpooler/pull/32#issuecomment-460048880, or mute the thread https://github.com/notifications/unsubscribe-auth/AQNsMkSGCFDxI3g696EeNw_pFajUvDpwks5vJtsBgaJpZM4af_WE .

lloydie commented 5 years ago

Other ideas.

https://github.com/symmetryinvestments/zfs-on-root-installer

The most complete example i found, however it really goes beyond a "zfs patch" and is basically an "installer", why re-event the wheel breakage is certain some good ideas through.

https://github.com/nosuz/ubuntu-instant-root-on-zfs This one has zpool / number of drives options which is cool, we should add that functionality.

All the other 30 or so repos i've found are basically the wiki to one extent or another.

ghfields commented 5 years ago

Did you ever get your boot bug resolved? Still trying to get to the review.

Something happened Feb 4 with the first "vagrant ubuntu-bionic-ubiquity" commit (79b163a). The pull request changed from added 34 additional files to the request. I'm sure this is accidental and has to do with what else you are doing inside your master branch.

lloydie commented 5 years ago

No, got side tracked trying to make a basic test-suite actually trying to solve the bug :)

Figured i get to that while you considered the pull request, got into a bit of a rabbit hole.

Packer is awesome by the way just a little learning curve, i can get basic travis going but incorporating a "full" silent build for "testing" basically means implementing the preseed.cfg stuff so that the actual ubuntu install is "silent".

I've had a couple of boots work with hard coded paths etc, so i think the bug is only typo. I'm trying different things trying to get a "silent" packer built iso/install, i figured the bug would just go away when i finished with the packer stuff.

The ubiquity installer adds the additional layer of indirection that is a bit tricky to solve, from the packer pov. I'm getting ubuntu-minimal builds now but using debootstap method, i wasn't going to issue pull request without further discussions.

I Should have just fixed the bug in place sorry got very carried away with the potential of packer :)

i fix right now !

On Wed, Feb 6, 2019 at 1:39 PM Garrett Fields notifications@github.com wrote:

Did you ever get your boot bug resolved? Still trying to get to the review.

Something happened Feb 4 with the first "vagrant ubuntu-bionic-ubiquity" commit (79b163a https://github.com/ghfields/rpooler/commit/79b163abc920b7d536da92e34f06dab22a38fda7). The pull request changed from added 34 additional files to the request. I'm sure this is accidental and has to do with what else you are doing inside your master branch.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ghfields/rpooler/pull/32#issuecomment-461025889, or mute the thread https://github.com/notifications/unsubscribe-auth/AQNsMo-MZgC_8AtkEh4riMyKVF27NB0mks5vKtr6gaJpZM4af_WE .

lloydie commented 5 years ago

bug strange, build i'm doing something stupid with efi and virtualbox.

Fix will not change code much, but.

Rabbit Hole:

Hashicorp Magic:

Hacking is Awesome: We have a ci-cd setup, basic but it's a start :)

ubuntu-bionic-zfs-install.iso

This is "silent install" preseeded, it is very feature limited obviously. But hard-coded disk values at that point make the iso like a golden-image. I can only do debootstrap method at the moment.

Ive got lots of patches :)

I'm just putting all the pieces together now but:

ubuntu-zfs on root. cool !

1 artifact i really like of the test suite, if it passes :)

ubuntu-bionic-zfs-install.iso

This is a configured preseeded automated installer, that is to say it's your current install but fitting into the hashicorp developer workflow and model.

Setting up the entire pipeline is really fun. But we need virtualbox disks and iso which are not small and have fail points. But the ability to create any and all virtual pools is entirely do-able, actually easy :)

Handling multiple disks is required absolutely. But to be honest my skills in zfs are basic at best in reference to providing an interface to building pools. I get raidz mirrors vdevs zil most of the stuff but that is it.

Designing the interface to create the pools, i need help :) but this has awesome potential.

Essentially text as code infrastructure environments "hashicorp magic" with any "ubuntu-ubiquity for now" operating system install.

I see a grub menu running of a single iso capable of the following:

Config: -ssh -user -etc/etc Install: -ubuntu -arch -etc/etc

If

lloydie commented 5 years ago

closed by mistake.

lloydie commented 5 years ago

Sorry if im doing everything wrong with github im sure i am. Any guidance is welcome btw.

If your cool with pull. bugs and alterations, ideas, thoughts not withstanding.

All the issues my branch will close all of yours :) Except encryption for now !

I'm losing the war with packer at the moment, but i will win !

I've got all four branches ready to go. i just have to polish the code i've left it really unfactored just in case you didn't like any way the pull request did any thing :)

ideologysec commented 4 years ago

hey @ghfields what's the status of getting this merged? I did some work on getting the jonathonf/zfs ppa working in the install script, would love to get that turned into a pull request but not if these fairly major changes are going to land soon?