Skip to content
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

initial portability refactoring #32

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open

Conversation

lloydie
Copy link

@lloydie lloydie commented Feb 3, 2019

Hi Garrett,

The diff looks worse than it is.

Really looking forward to your feedback.

@lloydie
Copy link
Author

lloydie commented Feb 3, 2019

  • got a bug somewhere.
  • grub fails to find boot medium.
  • tried quick fix "i need to debug against yours again see what i've missed !"

@ghfields
Copy link
Owner

ghfields commented Feb 3, 2019

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
Copy link
Author

lloydie commented Feb 3, 2019 via email

@lloydie
Copy link
Author

lloydie commented Feb 3, 2019

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
Copy link
Owner

ghfields commented Feb 6, 2019

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
Copy link
Author

lloydie commented Feb 6, 2019 via email

@lloydie
Copy link
Author

lloydie commented Feb 6, 2019

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

Fix will not change code much, but.

Rabbit Hole:

  • I was trying to fix the bug, got tired of waiting so i thought i should do the right thing and build a basic test suite.

Hashicorp Magic:

  • I fire up Vagrant ssh with shared files for free, awesome. Zero to hero in minutes.
  • Need packer to use custom iso's. not so hero turns outs the complexity is rather non-trivial with subtle fixes with disk paths /by-id /by-uuid, and of coarse the need to be able to preseed ubiquity is some added work is required.

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

  • Just hacking around getting stuff working i get one artifact that i really like.

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:

  • Hit a pull request to zfs-install, travis magic kicks of Hashicorps magic kicks of rpooler magic kicks of ubiquity magic.

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 lloydie closed this Feb 6, 2019
@lloydie
Copy link
Author

lloydie commented Feb 6, 2019

closed by mistake.

@lloydie lloydie reopened this Feb 6, 2019
@lloydie
Copy link
Author

lloydie commented Feb 6, 2019

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
Copy link

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants