-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
HBASE-25375 Provide a VM-based release environment #2754
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not familiar with this usage of Virtualbox although I've used it under linux...
Anyway, if you think this is useful then let's try it.
Just one question, after launching the VM, we will call a release script diectly, or we still need to use docker based release script instead the VM?
It's been useful for me. I don't know if it's useful to other release managers. I don't want to add unused code to our repository, so if there isn't another release manager who thinks this will be helpful, let's not merge it.
I run the docker-based release script inside of this VM. I mention this at the very end of the README.md file, but maybe this information should be stated earlier, in a kind of summary usage statement. I'll wait for other RM's to chime in. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trying it. I have virtual box locally left over messing w/ vagrant/virtualbox to do a cluster on a node. I have just finished a few runs using docker desktop for Mac OS and it has been really slow. Usually I've gone to GCE when I wanted to go fast (network especially). If this gets us over slow Mac docker and is easier to set up, means less futzing with the environment to make sure all is good for signing and ssh'ing, we should consider it (would be good to integrate it more w/ the create-release stuff... rather than have it over here on the side). Will be back.
FYI @ndimiduk
I'd started virtualbox ... I updated it, and got this: $ vagrant up Vagrant has detected that you have a version of VirtualBox installed 4.0, 4.1, 4.2, 4.3, 5.0, 5.1, 5.2, 6.0 A Vagrant update may also be available that adds support for the version (I'd started it and see the rmvm as stopped in listing of machines). Updated vagrant... brew upgrade vagrant. 2.2.4 to 2.2.14. Then it did this again...
Reinstalled (because net says might work...) brew reinstall virtualbox ... hmm... still same complaint. This is enough comment for one text box. |
VirtualBox is really painful to use. It doesn't help that Vagrant and VirtualBox don't always update together. If it helps at all, the vm is working for my with this version pair,
|
Oh, one other idea: sometimes VirtualBox gets stuck in such a way that the only way to resolve it is by launching it's GUI and clicking through whatever error messages it displays. Sometimes I have to delete a VM from the GUI and then resend vagrant in order to get state cleared out of both systems. |
db41ba1
to
1bb5466
Compare
On another host (my build machine as it happens), it seems to just work. Trying test build... Looked like this when I logged in...
Seemed good bug gpg was not present in env.... so closed down... cleaned that up and then on restart got this.
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Build fails for me because no gpg key in vagrant env... $ gpg --sign repos/hbase/pom.xml When I run vagrant, there is a gpg-agent up that works.. has cached key... Vagrant supposed to hoist it up into the vm (the key may not have registered in agent when I did 'vagrant up'... maybe it has to be then?) |
Ok. Sorted out the virtualbox and vagrant stuff... Thats all good. Just stuck now on the gpg secret passing bit (Nick has been helping me out offline). |
I think this project has bit-rot since I used it last (which has been several months). My current best guess is that gpg version miss-match is preventing agent forwarding to work. My host machine has gpg 2.2.20 while the guest bionic vm install gpg 2.2.4. According to packages.u.o, I can get gpg 2.2.19 if I upgrade the vm to Ubuntu focal (20.04LTS). The alternative is to downgrade the gpg version running on the host OS. I don't think that's a good long-term solution though. |
Head's up though -- if the issue here is indeed gpg agent version mismatch, create-release in docker mode will have the same problems because it's also using an ubuntu bionic base for it's agent forwarding tests... |
On Mac its $ gpg --version Trying later ubuntu... |
Tried upping the vagrantfile ubuntu... removed the old image first. vagrant@rmvm:~$ more /etc/issue vagrant@rmvm: I didn't check to see if the gpg-agent process was present before I went about my business. |
Upgrading this VM to 20.04 (focal) gives me gpg 2.2.19 on the VM side. with this, and 2.2.26 on the mac side, i’m able to forward my agent and |
3d0a080
to
7bdb27b
Compare
This comment has been minimized.
This comment has been minimized.
fc18072
to
762e715
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I've updated the readme based on @saintstack 's comments. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Maybe some other release managers could take another look here? Maybe someone is feeling ambitious and would like to add box definitions for public clouds (i.e., via vagrant-google or vagrant-aws). In theory this is trivial, assuming an equivalent base box to the one used with the VirtualBox provider. |
762e715
to
1f7470a
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This adds a Vagrantfile and supporting automation that creates a virtual machine environment suitable for running the create-release scriping.
1f7470a
to
f1a68e7
Compare
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
Left some advocacy for this addition up on the JIRA |
Thanks for giving it a proper spin, @saintstack . Given that it has meaningful utility beyond myself, I'm good with merging this patch. It also provides a reference point for diagnosing what's slow on docker vs. the vm with the same hardware. |
@Apache9 do you have any further comments before merge? Hopefully the readme is more clear. |
This is merged. Thanks for taking time with it! @Apache9 I included a signed-off-by line with your name on it because you did approve an early version of this. If you get back to this ticket and have some reservations, let me know and I'll revert the commit and continue the discussion. |
No problem. Just go ahead. Thanks. |
This adds a Vagrantfile and supporting automation that creates a virtual machine environment
suitable for running the create-release scriping.