amuck-landowner

OpenVZ to become "Virtuozzo Core" after PCS Merger Announcement

Geek

Technolojesus
Verified Provider
From Kir Kolyshkin's Blog:

http://openvz.livejournal.com/49158.html

Looking forward to 2015, we have very exciting news to share on the future on OpenVZ. But first, let's take a quick look into OpenVZ history.

Linux Containers is an ancient technology, going back to last century. Indeed it was 1999 when our engineers started adding bits and pieces of containers technology to Linux kernel 2.2. Well, not exactly "containers", but rather "virtual environments" at that time -- as it often happens with new technologies, the terminology was different (the term "container" was coined by Sun only five years later, in 2004).

Anyway, in 2000 we ported our experimental code to kernel 2.4.0test1, and in January 2002 we already had Virtuozzo 2.0 version released. From there it went on and on, with more releases, newer kernels, improved feature set (like adding live migration capability) and so on.

It was 2005 when we finally realized we made a mistake of not employing the open source development model for the whole project from the very beginning. This is when OpenVZ was born as a separate entity, to complement commercial Virtuozzo (which was later renamed to Parallels Cloud Server, or PCS for short).

Now it's time to admit -- over the course of years OpenVZ became just a little bit too separate, essentially becoming a fork (perhaps even a stepchild) of Parallels Cloud Server. While the kernel is the same between two of them, userspace tools (notably vzctl) differ. This results in slight incompatiblities between the configuration files, command line options etc. More to say, userspace development efforts need to be doubled.

Better late than never; we are going to fix it now! We are going to merge OpenVZ and Parallels Cloud Server into a single common open source code base. The obvious benefit for OpenVZ users is, of course, more features and better tested code. There will be other much anticipated changes, rolled out in a few stages.

As a first step, we will open the git repository of RHEL7-based Virtuozzo kernel early next year (2015, that is). This has become possible as we changed the internal development process to be more git-friendly (before that we relied on lists of patches a la quilt but with home grown set of scripts). We have worked on this kernel for quite some time already, initially porting our patchset to kernel 3.6, then rebasing it to RHEL7 beta, then final RHEL7. While it is still in development, we will publish it so anyone can follow the development process.

Our kernel development mailing list will also be made public. The big advantage of this change for those who want to participate in the development process is that you'll see our proposed changes discussed on this mailing list before the maintainer adds them to the repository, not just months later when the the code is published and we'll consider any patch sent to the mailing list. This should allow the community to become full participants in development rather than mere bystanders as they were previously.

Bug tracking systems have also diverged over time. Internally, we use JIRA (this is where all those PCLIN-xxxx and PSBM-xxxx codes come from), while OpenVZ relies on Bugzilla. For the new unified product, we are going to open up JIRA which we find to me more usable than Bugzilla. Similar to what Red Hat and other major Linux vendors do, we will limit access to security-sensitive issues in order to not compromise our user base.

Last but not least, the name. We had a lot of discussions about naming, had a few good candidates, and finally unanimously agreed on this one:
 

Virtuozzo Core
 

Francisco

Company Lube
Verified Provider
I always thought it was odd that the project was split apart.

Fingers crossed it works well. If anything it should bring in a lot more developers, no?

Francisco
 

Geek

Technolojesus
Verified Provider
The OpenVZ name has a lot of traction, I think its going to take a lot of work to make this name change happen and stick.
It's also had a spotty reputation for several years. I still hear about how awful OpenVZ is, be it in an article, forum, what have you... 90% of those people haven't used a container since 2010 and still think they're nothing more than resource-hungry beasts with minimal functionality/compatibility that can be easily oversold by any 17 year old Greenhorn and their 10-year old sister.  Perhaps containerization will be looked at in a different light now that it will have the ||s name on it.  THIS MEANS WE ALL HAVE ONE SHOT TO BE SMART OFF THE LINE... we could use this opportunity to turn things around so the Jonnys' of this world can't get to it first and f*** things up for the providers who possess more than a single-digit I.Q. and can manage nodes without the aide of a 4th-grader. If the service provider wants to screw themselves, fine, but it would be nice to give VZCore a solid reputation from the start instead of having to damn near send screenshots to potential clients to show that the node isn't overloaded... plus if I recall correctly there are a few nifty tools in PCS that aren't technically "available" in OpenVZ ... unless you can find where they're hiding. ;)

I know ... wishful thinking.  It does make sen
 
Last edited by a moderator:

Nett

Article Submitter
Verified Provider
Parallels Cloud Server is based on Virtuozzo, which is pretty much OpenVZ with some extra functionalities.

I have used PCS before, nothing surprising other than some cloud storage features.
 

Steven F

New Member
Verified Provider
Parallels Cloud Server is based on Virtuozzo, which is pretty much OpenVZ with some extra functionalities.

I have used PCS before, nothing surprising other than some cloud storage features.
I'm guessing we'll see a lot of cloud providers popping up. I wonder how this will affect OnApp.

Another big thing is the addition of VMs. I wonder if we'll see a drop in KVM/Xen offers.
 

Nett

Article Submitter
Verified Provider
Are they making Parallels Hypervisor open source? It's similar to KVM/Xen and comes with extra tools such as prlctl, making it easier to control than KVM/Xen.

Here is what prlctl offers, looking similar to vzctl from VZ right?


[root@pcs02 ~]# prlctl --help

prlctl version 6.7.23551.1040937

 

Usage: prlctl ACTION <ID | NAME> [OPTIONS] [-l user[[:passwd]@server[:port]]

Supported actions are:

  backup <ID | NAME> [-s,--storage <user[[:passwd]@server[:port]>] [--description <desc>]

    [-f,--full | -i,--incremental] [-u,--uncompressed]

  backup-list [iD | NAME] [-f,--full] [--vmtype ct|vm|all] [--localvms]

    [-s,--storage <user[[:passwd]@server[:port]>]

  backup-delete {<ID> | -t,--tag <backupid>} [-s,--storage <user[[:passwd]@server[:port]>]

  restore {<ID> | -t,--tag <backupid>} [-s,--storage <user[[:passwd]@server[:port]>]

    [-n,--name <new_name>] [--dst <path>]

  capture <ID | NAME> --file <name>

  clone <ID | NAME> --name <NEW_NAME> [--template]] [--dst path] [--changesid] [--linked] [--detach-external-hdd <yes|no>]

  console <ID | NAME>

  convert <PATH> [--dst <path>] [--force]

  create <NAME> {--ostemplate <name> | --distribution <name|list>} [--vmtype ct|vm] [--dst <path>]

                [--changesid] [--no-hdd]

  delete <ID | NAME>

  enter <ID | NAME>

  exec <ID | NAME> <command> [arg ...]

  list [-a,--all] [-t,--template] [--vmtype ct|vm|all] [-L] [-o,--output name[,name...]] [-s,--sort name]

  list -i,--info [-f,--full] [-j, --json] [<ID | NAME>] [--vmtype ct|vm|all]

  migrate <[src_node/]ID> <dst_node> [--dst <path>] [--changesid] [--keep-src] [--ssh <options>]

  pause <ID | NAME>

  register <PATH> [--preserve-uuid | --uuid <UUID>] [--force]

  reset <ID | NAME>

  resume <ID | NAME>

  restart <ID | NAME>

  start <ID | NAME>

  status <ID | NAME>

  change-sid <ID | NAME>

  stop <ID | NAME> [--kill | --noforce]

  snapshot <ID | NAME> [-n,--name <name>] [-d,--description <desc>]

  snapshot-delete <ID | NAME> -i,--id <snapid>

  snapshot-list <ID | NAME> [-t,--tree] [-i,--id <snapid>]

  snapshot-switch <ID | NAME> -i,--id <snapid> [--skip-resume]

  suspend <ID | NAME>

  unregister <ID | NAME>

  reset-uptime <ID | NAME>

  encrypt <ID | NAME> [--dry-run]

  decrypt <ID | NAME> [--dry-run]

  mount <ID | NAME> [{-o ro|rw | --info}]

  umount <ID | NAME>

  move <vm_id|vm_name> --dst <path>

  change-passwd <ID | NAME>

  problem-report <ID | NAME> <-d,--dump|-s,--send [--proxy [user[:password]@proxyhost[:port]]]> [--no-proxy] [--name <your name>] [--email <your E-mail>] [--description <problem description>]

  set <ID | NAME> [--cpus <N>] [--memsize <N>] [--videosize <n>]

    [--memquota <auto|min:max[:priority[:maxballoon]]] [--mem-hotplug <on|off>]

    [--description <desc>] [--autostart <on|off|auto>] [--autostart-delay <n>]

    [--autostop <stop|suspend>] [--applyconfig <conf>] [--name <name>] [--rename-ext-disks]

    [--tools-autoupdate <yes|no>]

    [--start-as-user <administrator|owner|user:passwd>]

    [--vnc-mode <auto | manual | off>] [--vnc-port <port>] [{--vnc-passwd <passwd> | --vnc-nopasswd}]

    [--cpu-hotplug <on|off>]

    [--distribution <name|list>]

    [--cpuunits <N>] [--cpulimit <N>] [--cpumask <{N[,N,N1-N2]|all}>]

    [--rate <class:KBits>] [--ratebound <yes|no>]

    [--ioprio <priority>] [--iolimit <limit>] [--iopslimit <limit>]

    [--offline-management <on|off>] [--offline-service <service_name>]

    [--hostname <hostname>] [--nameserver <addr>] [--searchdomain <addr>]

    [--userpasswd <user:passwd>]

    [--usedefanswers <on | off>]

    [--sync-host-printers <on | off>] [--sync-default-printer <on | off>]

    [--efi-boot <on | off>]

    [--ha-enable <yes|no>] [--ha-prio <priority>]

    [--template <yes|no>]

    [Device management options] [shared folder options]

    [Container management options]

Container management options are:

    [--swappages P[:p]] [--swap N] [--quotaugidlimit <n>]

    [--capability <name>:<on|off>[,<name>:<on|off>...] [--autocompact <on | off>]

    [--netfilter <disabled | stateless | stateful | full>]

Device management options are:

--device-connect <name>

--device-disconnect <name>

--device-del <name> [--destroy-image|--destroy-image-force|--detach-only]

--device-set <name> <Set options>

[set options] [--enable|--disable] [--connect|--disconnect]

--device-add <hdd | cdrom | net | fdd | serial | parallel | sound | usb | pci>

[Device options] [--enable|--disable] [--connect|--disconnect]

--device-add hdd [--image <image>]

[--type <expand | plain>] [--size <n>] [--split]

[--iface <ide|scsi|sata>] [--position <n>]

[--subtype <buslogic|lsi-spi|lsi-sas>]

[--mnt <path>]

--device-add hdd --device <real_name>

[--iface <ide|scsi|sata>] [--passthr] [--position <n>]

[--subtype <buslogic|lsi-spi|lsi-sas>]

--device-add cdrom {--device <name> | --image <image>}

[--iface <ide|scsi|sata>] [--passthr] [--position <n>]

[--subtype <buslogic|lsi-spi|lsi-sas>]

--device-add net {--type routed | --network <network_id>} [--mac <addr|auto>]

[--ipadd <addr[/mask]> | --ipdel <addr[/mask]> |

--dhcp <yes|no> | --dhcp6 <yes|no>] [--gw <gw>] [--gw6 <gw>]

[--nameserver <addr>] [--searchdomain <addr>] [--configure <yes|no>]

[--apply-iponly <yes|no>] [--ipfilter <yes|no>] [--macfilter <yes|no>]

[--preventpromisc <yes|no>]

[--adapter-type <e1000|rtl>]

--device-add fdd [--device <real_name>]

--device-add fdd --image <image> [--recreate]

--device-add serial {--device <name> | --output <file>

|--socket <name> [--socket-mode <server | client>]}

--device-add parallel {--device <name> | --output <file}

--device-add sound --output <name> --input <name>

--device-add pci --device <name>

--device-bootorder "<name1 name2 ...>"

Shared folder options are:

--shf-host <on | off>

--shf-host-add <name> --path <path> [--mode <ro|rw>]

[--shf-description <txt>] [--enable|--disable]

--shf-host-del <name>

--shf-host-set <name> [--mode <ro|rw>] [--path <path>]

[--shf-description <txt>] [--enable|--disable]

--shf-guest <on | off>

--shf-guest-automount <on | off>

[root@pcs02 ~]#
 

Geek

Technolojesus
Verified Provider
I think there are a couple threads about this now. Someone mind merging the one from yesterday? 

Are they making Parallels Hypervisor open source?
Just asked *VZ about that. We shall see.

https://twitter.com/jetfirenetworks/status/548991584214065153

I dunno about you, but I can't wait to get that sexy up in my QA. ;) 

I've heard there are a few nifty tools in PCS, but I've also heard that the similarities are striking. Time will tell.
 
Last edited by a moderator:

Steven F

New Member
Verified Provider
I think there are a couple threads about this now. Someone mind merging the one from yesterday? 

Just asked *VZ about that. We shall see.

https://twitter.com/jetfirenetworks/status/548991584214065153

I dunno about you, but I can't wait to get that sexy up in my QA. ;)

I've heard there are a few nifty tools in PCS, but I've also heard that the similarities are striking. Time will tell.
I looked and didn't see one.
 

Steven F

New Member
Verified Provider
Are they making Parallels Hypervisor open source? It's similar to KVM/Xen and comes with extra tools such as prlctl, making it easier to control than KVM/Xen.

Here is what prlctl offers, looking similar to vzctl from VZ right?
That would be a good thing, not having to learn a bunch of new commands... I'm glad they're similar.
 

coreyman

Active Member
Verified Provider
I think it's a good thing that they are moving in this direction. Let's hope they don't become big meanies though and close the source again at some point.
 

devonblzx

New Member
Verified Provider
That would be a good thing, not having to learn a bunch of new commands... I'm glad they're similar.
They were even more similar prior to the PCS switch.  Back when it was Virtuozzo (and vzctl as well), the only things I could think of being different were the vzfs (improvements but similar to simfs), the VZPP (power panel), and the optional SLM memory management which so many hosts advertised as a benefit because so many OpenVZ hosts didn't know how to properly allocate UBC.  UBC and SLM have pretty much been put aside by vswap now.

Like Kir had written, it had become more of a fork.  Parallels added a bunch of features and changed a variety of things about Virtuozzo (PCS) and it didn't reflect in OpenVZ.  OpenVZ runs their own seperate development.  I think it is good Parallels is recognizing this flaw and it seems they have been supporting OpenVZ more and more recently, offering the paid support option among other things.  This will benefit both sides, it will save them development costs, most likely result in more stable software for both sides, and if Virtuozzo Core does well, then most likely so will Parallels.
 
Last edited by a moderator:
Top
amuck-landowner