amuck-landowner

Capisso VMPanel

clone1018

New Member
Hey guys! I've got an update for you! I just completed the initial work on slave/master/panel communications and it looks like we're almost at 40% of the way to alpha!

The screenshot below is basically showing the panel talking to the master (hosted externally, this manages your slaves, can be hosted locally), the master talking to the slave (the thing that hosts your vms), and then the response of a command 'xm/xl list' going all the way back up, for both servers. Another great thing it's showing, is since we communicate with all of your slaves on a master, the communications are sent asynchronously. Meaning you don't need to wait for the response of 1 to start 2, making having 100+ slaves just as fast as 1.

IwSetkI.png
 

H4G

New Member
Verified Provider
Why not SaaS? Obviously you can't do the open source thing but easier to push updates through. Somewhat secure, less chances of the code being tampered with.

The question would be, how many providers would use a hosted platform.

I personally would. As a matter of fact, I really would use VirtPanel if they had a better UI and maybe a few features here and there.
 

clone1018

New Member
Sure, we plan on offering a hosted panel service with some pretty neat features, Capisso VMPanel makes this especially easy since we support having your node communication master on another server.
 

kaniini

Beware the bunny-rabbit!
Verified Provider
The screenshot below is basically showing the panel talking to the master (hosted externally, this manages your slaves, can be hosted locally), the master talking to the slave (the thing that hosts your vms), and then the response of a command 'xm/xl list' going all the way back up, for both servers.
Lets do the exact same thing SolusVM does and run arbitrary commands on the slaves to manage them... because, this totally couldn't go wrong, could it?

Oh, wait...

These hypervisors provide formal API bindings.  Why aren't you using them?
 

clone1018

New Member
Lets do the exact same thing SolusVM does and run arbitrary commands on the slaves to manage them... because, this totally couldn't go wrong, could it?

Oh, wait...

These hypervisors provide formal API bindings.  Why aren't you using them?
I am, don't worry! This is just an example :). The point of this test was to make sure I could execute commands on the slaves and get output back. I've already started hooking up the libvirt bindings and everything appears to be working great. Now all I have to do is setup image fullsync/demand and we should be able to automatically create a VM on any of the slave servers.

I'll keep you updated!
 

kaniini

Beware the bunny-rabbit!
Verified Provider
I am, don't worry! This is just an example :). The point of this test was to make sure I could execute commands on the slaves and get output back. I've already started hooking up the libvirt bindings and everything appears to be working great. Now all I have to do is setup image fullsync/demand and we should be able to automatically create a VM on any of the slave servers.

I'll keep you updated!
Why do you need to execute arbitrary commands on the server, exactly?  Like, why are you even testing that?
 

Francisco

Company Lube
Verified Provider
Why do you need to execute arbitrary commands on the server, exactly?  Like, why are you even testing that?
In one of the earlier solus builds there used to be a 'command.php' window which you could feed it a command that would run with 'vzctl exec...' and then return you the details.

Francisco
 
Last edited by a moderator:

D. Strout

Resident IPv6 Proponent
In one of the earlier solus builds there used to be a 'command.php' window which you could feed it a command that would run with 'vzctl exec...' and then return you the details.
Definitely no potential for a vulnerability there...

[/sarcasm] (in case it wasn't obvious)
 
Last edited by a moderator:

Francisco

Company Lube
Verified Provider
Definitely no potential for a vulnerability there...

[/sarcasm] (in case it wasn't obvious)
They had a security issue back then and removed it. It's possible someone was able to inject something nasty into it, who knows.

Francisco
 

D. Strout

Resident IPv6 Proponent
They had a security issue back then and removed it. It's possible someone was able to inject something nasty into it, who knows.


Francisco
Yeah but I can only imagine it's easy to accidentally leave nasty little back doors in place when you have code like that in there.
 

Zen

New Member
Why do you need to execute arbitrary commands on the server, exactly?  Like, why are you even testing that?
They were testing whether the data stream (input, receive output) was working BEFORE implementing bindings. You wouldn't implement an entire feature without testing it at its earliest working stage.
 

kaniini

Beware the bunny-rabbit!
Verified Provider
They were testing whether the data stream (input, receive output) was working BEFORE implementing bindings. You wouldn't implement an entire feature without testing it at its earliest working stage.
Then you use PING/PONG API calls.  You NEVER EVER write something to expose direct command execution over an RPC layer, ever.  EVER.

Do you think this is a game?
 
Last edited by a moderator:

jhadley

New Member
Verified Provider
Sure, we plan on offering a hosted panel service with some pretty neat features, Capisso VMPanel makes this especially easy since we support having your node communication master on another server.
Talk to me if/when you start doing this - maybe we can do an integration.
 

Zen

New Member
Then you use PING/PONG API calls.  You NEVER EVER write something to expose direct command execution over an RPC layer, ever.  EVER.

Do you think this is a game?
I'm trying to interpret what he stated since he seems to be hesitant to defend himself or his practices. 

"The point of this test was to make sure I could execute commands on the slaves and get output back."

Whether he issues arbitrary commands or not is irrelevant, he is testing as to whether or not he will receive output from input, the easiest way to test that in this case is to issue any direct command. It's hard for me to confirm given I have no idea what he's actually written, but that's what it sounds like.

And yes, when it comes to virtualization panels being home-brewed by everyone and their mother - I think it's quite the game. Especially when the market leader is still using mysql_. As far as I can tell, every panel out there other than pumped up commercial ones such as OnApp are currently using direct command execution - I never do it, you never do it, but guess what.. people do it! Don't act like it's out of this world.

I'm sure there is room in the world for one more nazi coder that can't handle anything other than his own perfect world, so by all means continue to entertain. Whether I am right or wrong in defending him or not, people have bad practices - I don't agree with that in production by any means but it makes sense to implement it for a basic PoC before working on something such as libvirt implementation.
 
Last edited by a moderator:

kaniini

Beware the bunny-rabbit!
Verified Provider
And yes, when it comes to virtualization panels being home-brewed by everyone and their mother - I think it's quite the game. Especially when the market leader is still using mysql_. As far as I can tell, every panel out there other than pumped up commercial ones such as OnApp are currently using direct command execution - I never do it, you never do it, but guess what.. people do it! Don't act like it's out of this world.
On the contrary.  I am acting as if it is the default approach, and taking action to ensure that any proposed replacement does not do these things.

You know, because, I might buy a VPS managed by one of these panels, and I'd rather not have my VPS get owned because the panel was written to the same spec as the panel it intends to replace.  I am not sure what the problem with that is, really.

What I will say is this: clone1018 showed some of his prototype code with me earlier today, and despite the fact that it is written in PHP (and thusly, not something I really personally would like to be coding on), so far at least in his actual prototype he is trying to do things the right way.

So, I will give him credit for that.
 

Aldryic C'boas

The Pony
I miss the old bbs days where one's handle and posting source were often enough to judge competency. Too many unknown high-and-mightys coming out of the woodwork now - and while constructive criticism is all fine and dandy, the 'holier than thou' shit without any actual evidence or qualifiers justifying the 'guruship' is getting a bit old.
 
Last edited by a moderator:

kaniini

Beware the bunny-rabbit!
Verified Provider
I miss the old bbs days where one's handle and posting source were often enough to judge competency. Too many unknown high-and-mightys coming out of the woodwork now - and while constructive criticism is all fine and dandy, the 'holier than thou' shit without any actual evidence or qualifiers justifying the 'guruship' is getting a bit old.
Yes, I agree wholeheartedly with the sentiment, but, I can understand why people looking to make a commercial product might want to keep their source closed.  At least he is willing to share it for auditing on request.
 

clone1018

New Member
Luke has made tons of progress on the Salty library, which has allowed me to build most of the node management functions. Here's a good example of what node setup will be like:

BQirkQf.png

I am in the process of adding a token so that not just everyone can download your install script, but it wont contain anything that could hurt you. Besides that, let me know what you think!
 
Last edited by a moderator:

kaniini

Beware the bunny-rabbit!
Verified Provider
Looks reasonable enough, as mentioned on IRC.  I like the self-discovery of nodes (guessing that is done via Salt itself).
 
Top
amuck-landowner