-
Notifications
You must be signed in to change notification settings - Fork 66
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
Thank you thank you thank you! #1
Comments
Oh... This driver is incomplete! Are you still working on this locally and haven't pushed latest commits up? |
I can probably help here :) |
Hi, yes I just started to learn go in order to get the docker machine driver running and yes, it is incomplete at the moment. Just before the cool stuff should start, I found out that the qemu stuff is missing in the library I chose. My current plan is to drop the library and implement it myself, qemu create should not be that hard. |
so I noticed that too and you forked that library. Have you considered some other alternative libraries? Example: This one is used by the teraform proxmox provider and seems to have all of the necessary bits to get a docker-machine driver going. We don't really need to implement the entire PVE API! |
I have not tried every library and started with one that implemented tests, so my first try was to get the tests running and now they run :-) Yes, we only need some basic functionality. Driver should be very straight forward ... yet I still struggle with GO in some places, yet I hope to get it to work in the next two weeks. If you want to work with me on this, it should be very easy to get it working (top down prototype). One big problem will be to the IP, we only have the MAC and we only can get the IP with a qemu-guest-agent or by finding it out in a dhcp server. |
So I'm actually considering forking and trying to build a working full e2e
version that create a running instance with the teraform library. Is that
okay? :) -- If I focus all day today I might get it working.
Regarding networking and ip address allocation -- I would leave this to
DHCP and nothing more. Why? Because anyone that sets up Proxmox VE or a
Proxmox VE cluster **knows** what they're doing and likely has some
non-trivial infra setup (like DHCP, DNS and other basic infrastructure
things; I do).
James Mills / prologic
E: prologic@shortcircuit.net.au
W: prologic.shortcircuit.net.au
…On Sun, Mar 4, 2018 at 12:35 PM, Andreas Steinel ***@***.***> wrote:
I have not tried every library and started with one that implemented
tests, so my first try was to get the tests running and now they run :-)
Good to know that the api you mentioned is used somewhere, I'm just very
new to the whole go thing, so I have not checked the reverse usage of the
libraries in order to get the most used, or at least one that works.
Yes, we only need some basic functionality. Driver should be very straight
forward ... yet I still struggle with GO in some places, yet I hope to get
it to work in the next two weeks. If you want to work with me on this, it
should be very easy to get it working (top down prototype). One big problem
will be to the IP, we only have the MAC and we only can get the IP with a
qemu-guest-agent or by finding it out in a dhcp server.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABOv-kUvp4K1R0aI_fP7rTrXauuTJ2YXks5tbFAXgaJpZM4Sbd2P>
.
|
Yes, go ahead. At least I kickstarted the development. I'm going to bed now (Germany), have a nice day in Australia :-D
As far as I understand it, you need to get the IP from the driver to log in via SSH and that is not so trivial. Hopefully I'm wrong and just create, start, stop and status is necessary. |
I believe your choice of library to fork and improve upon is the right one. After evaluating the terraform one it's a bit inadequate and I'm not sure tested very well. The code is a bit messy too :/ |
You made any more progress on this? Would be nice to have a full e2e working version that successfully creates a vm with some hard coded values for which os image to run and what the ip address will be. |
FWIW you have 7 watchers and 4 star gazers :) |
I worked on a new API client that implements the necessary qemu stuff, yet other go projects were more important at the time. I hope that I can continue next weekend. |
Took some time but I got at least the creation working, next up is unfortunately not the GetIP stuff, but how to "find" the VM after creation. Proxmox VE does use internally only IDs and we have to retrieve the created VM ID and store it somehow. |
I would get the Docker Machine "name" and Proxmox VE Node ID and store a
mapping in $HOME/.docker-machine/.... alongside the otehr docker-machine
configs for the machines.
Probably straigtup .json config file/mapping would be fine honestly.
James Mills / prologic
E: prologic@shortcircuit.net.au
W: prologic.shortcircuit.net.au
…On Mon, Apr 16, 2018 at 12:30 PM, Andreas Steinel ***@***.***> wrote:
Took some time but I got at least the creation working, next up is
unfortunately not the GetIP stuff, but how to "find" the VM after creation.
Proxmox VE does use internally only IDs and we have to retrieve the created
VM ID and store it somehow.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABOv-qJivrXjqup4erGIvjRSHenCxN2cks5tpPFLgaJpZM4Sbd2P>
.
|
Yes, hopefully there is already some interface to attach to, I'd like to stick as close to the Docker Machine stuff as possible. |
There would *have* to be given many drivers store their configs there.
James Mills / prologic
E: prologic@shortcircuit.net.au
W: prologic.shortcircuit.net.au
…On Mon, Apr 16, 2018 at 2:59 PM, Andreas Steinel ***@***.***> wrote:
Yes, hopefully there is already some interface to attach to, I'd like to
stick as close to the Docker Machine stuff as possible.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABOv-la8__mCuzUKNTIEwSIvzkAXztoGks5tpRQygaJpZM4Sbd2P>
.
|
That's what I thought and what I tried to find. I cannot find any explicit code in the drivers, yet I keep looking and experimenting with other drivers to get a glimpse of whats going on. |
I'll poke around a bit tonight when I get back from work to see what other
drives do.
Perhaps there isn't an "interface" per se; but a "convention"?
LMK if you beat me to it :)
James Mills / prologic
E: prologic@shortcircuit.net.au
W: prologic.shortcircuit.net.au
…On Tue, Apr 17, 2018 at 4:20 AM, Andreas Steinel ***@***.***> wrote:
There would *have* to be given many drivers store their configs there.
That's what I thought and what I tried to find. I cannot find any explicit
code in the drivers
<https://github.com/docker/machine/tree/master/drivers>, yet I keep
looking and experimenting with other drivers to get a glimpse of whats
going on.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABOv-i7EXiAN-KPz-IY9gmNc22IWmrypks5tpc_kgaJpZM4Sbd2P>
.
|
Yeah, it is some "convention" and the internal class state seems to be dumped into the configuration file. Hell this is great ... we don't need to worry. Everything is in |
Cooool :) Nice!
Is the current repo in a working state?
What's currently working? Can you update the README? (I'll take a look at
things tonight and have another play)
James Mills / prologic
E: prologic@shortcircuit.net.au
W: prologic.shortcircuit.net.au
…On Tue, Apr 17, 2018 at 1:16 PM, Andreas Steinel ***@***.***> wrote:
Yeah, it is some "convention" and the internal class state seems to be
dumped into the configuration file. Hell this is great ... we don't need to
worry.
Everything is in ~/.docker/machine/machines/<name>/config.json
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABOv-sDohJPcgZhzW1a6TwsQdrhVTLgcks5tpk25gaJpZM4Sbd2P>
.
|
Just now, i pushed another version with working guest agent ip detection and it is now stuck in the key-based ssh login sequence. Have a look at the commit messages, I try to document what i've done and what is next on the agenda. |
👍
On Tue, Apr 17, 2018 at 14:57 Andreas Steinel ***@***.***> wrote:
Just now, i pushed another version with working guest agent ip detection
and it is now stuck in the key-based ssh login sequence.
Have a look at the commit messages, I try to document what i've done and
what is next on the agenda.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABOv-o3Musu7Vv0n4vSQQvJiXp0oGxAOks5tpmVhgaJpZM4Sbd2P>
.
--
James Mills / prologic
E: prologic@shortcircuit.net.au
W: prologic.shortcircuit.net.au
|
Finally pushed changes to do the nasty key adding manually and I now can run it with the patches version of boot2docker/boot2docker/pull/1319 |
Nice!
James Mills / prologic
E: prologic@shortcircuit.net.au
W: prologic.shortcircuit.net.au
…On Mon, Jun 18, 2018 at 1:48 PM, Andreas Steinel ***@***.***> wrote:
Finally pushed changes to do the nasty key adding manually and I now can
run it with the patches version of boot2docker/boot2docker#1319
<boot2docker/boot2docker#1319>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABOv-qoV2eYsb8bBk85VMHY4mw0f73SUks5t-BIAgaJpZM4Sbd2P>
.
|
Finally! Someone wrote a
docker-machine
driver for Proxmox VE :)Thank you!
I'll be testing this out today and report back with any issues and hopefully I will have BW to contribute!
The text was updated successfully, but these errors were encountered: