[pve-devel] Proxmox VE 3.0 released!

2013-05-24 Thread Martin Maurer
Hi all,

We just released Proxmox VE 3.0. Its based on the great Debian 7.0 release 
(Wheezy) and introduces a great new feature set:

http://pve.proxmox.com/wiki/VM_Templates_and_Clones

Under the hood, many improvements and optimizations are done, most important is 
the replacement of Apache2 by our own event driven API server.

A big Thank-you to our active community for all feedback, testing, bug 
reporting and patch submissions.

Release notes

http://pve.proxmox.com/wiki/Roadmap#Proxmox_VE_3.0

Download
http://www.proxmox.com/downloads

Upgrade from any 2.3 to 3.0
http://pve.proxmox.com/wiki/Upgrade_from_2.3_to_3.0

Install Proxmox VE on Debian Wheezy
http://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Wheezy

Best Regards,

Martin Maurer

mar...@proxmox.com
http://www.proxmox.com

___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] pve: cloning

2013-05-24 Thread Dietmar Maurer
 I can reproduce here too with full clone: (only with nexenta plugin in the
 game)

Are you still running 2.3?

I ask because the nexenta plugin does not work at all on Wheezy.

I need to disable the verify_hostname option for https:


iff --git a/PVE/Storage/NexentaPlugin.pm b/PVE/Storage/NexentaPlugin.pm
index 4c0e14a..3422b02 100644
--- a/PVE/Storage/NexentaPlugin.pm
+++ b/PVE/Storage/NexentaPlugin.pm
@@ -28,7 +28,7 @@ sub nexenta_request {
 my $token = encode_base64($scfg-{login}:$scfg-{password});
 $req-header(Authorization = Basic $token);
 
-my $ua = LWP::UserAgent-new; # You might want some options here
+my $ua = LWP::UserAgent-new(ssl_opts = { verify_hostname = 0 });
 my $res = $ua-request($req);
 die $res-content if !$res-is_success;


___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


[pve-devel] roadmap for proxmox 3.1 ?

2013-05-24 Thread Alexandre DERUMIER
Hi,

now that proxmox 3.0 has been released (Congrats Dietmar  Martin) :), maybe 
can we post some ideas for new features for proxmox 3.1 ? 

I don't known the target date for next release ? (3month ? 6 month ?)

Somes ideas here : (by priority for my own usage)

- live storage migration. (should be easy, we have already the drive-mirror 
code)
- cpu-add qmp command
- add hyper-v option (cpu flags) for windows vm. (this need next openvz-kernel, 
currently in testing)
- dhcp server implementation + nat + routing
- qemu-ga
- spice ??? 
- glusterfs storage driver

___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] roadmap for proxmox 3.1 ?

2013-05-24 Thread Dietmar Maurer

 maybe can we post some ideas for new features for proxmox 3.1 ?

Yes. Maybe we can use pve-manager/README to track all those ideas?

That way we have the list in git.

What do you think?

 I don't known the target date for next release ? (3month ? 6 month ?)

I guess something in between ;-) Depends on features, and that is not decided 
so far.

 Somes ideas here : (by priority for my own usage)
 
 - live storage migration. (should be easy, we have already the drive-mirror
 code)
 - cpu-add qmp command
 - add hyper-v option (cpu flags) for windows vm. (this need next openvz-
 kernel, currently in testing)
 - dhcp server implementation + nat + routing
 - qemu-ga
 - spice ???
 - glusterfs storage driver

___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] roadmap for proxmox 3.1 ?

2013-05-24 Thread Alexandre DERUMIER
Yes. Maybe we can use pve-manager/README to track all those ideas? 

That way we have the list in git. 

What do you think? 

Yes sure, good idea, I'll send a patch :)


(I also forgot update to extjs 4.2, but I can't help for this, sorry)




- Mail original - 

De: Dietmar Maurer diet...@proxmox.com 
À: Alexandre DERUMIER aderum...@odiso.com, pve-devel@pve.proxmox.com 
Envoyé: Vendredi 24 Mai 2013 15:04:03 
Objet: RE: [pve-devel] roadmap for proxmox 3.1 ? 


 maybe can we post some ideas for new features for proxmox 3.1 ? 

Yes. Maybe we can use pve-manager/README to track all those ideas? 

That way we have the list in git. 

What do you think? 

 I don't known the target date for next release ? (3month ? 6 month ?) 

I guess something in between ;-) Depends on features, and that is not decided 
so far. 

 Somes ideas here : (by priority for my own usage) 
 
 - live storage migration. (should be easy, we have already the drive-mirror 
 code) 
 - cpu-add qmp command 
 - add hyper-v option (cpu flags) for windows vm. (this need next openvz- 
 kernel, currently in testing) 
 - dhcp server implementation + nat + routing 
 - qemu-ga 
 - spice ??? 
 - glusterfs storage driver 
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] pve: cloning

2013-05-24 Thread Dietmar Maurer
I am unable to reproduce it:

# qm config 105
bootdisk: virtio0
cores: 1
ide2: none,media=cdrom
memory: 512
name: nextest
net0: virtio=AE:DE:EF:50:62:58,bridge=vmbr0
ostype: l26
sockets: 1
virtio0: nex1:vm-105-disk-1,size=1G

I can make a full clone without problems.

Please can you post your VM config?


 -Original Message-
 From: pve-devel-boun...@pve.proxmox.com [mailto:pve-devel-
 boun...@pve.proxmox.com] On Behalf Of Alexandre DERUMIER
 Sent: Freitag, 24. Mai 2013 06:16
 To: Michael Rasmussen
 Cc: pve-devel@pve.proxmox.com
 Subject: Re: [pve-devel] pve: cloning
 
 I can reproduce here too with full clone: (only with nexenta plugin in the
 game)
 
 (Works fine in command line, don't work only with gui)
 
 create full clone of drive ide0 (nexentatestapi:vm-277-disk-1) TASK ERROR:
 clone failed: unable to create image: Insecure dependency in exec while
 running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm line 186.
 
 nexenta - local : fail on alloc_image  (qemu-img create)
 
 rbd - nexenta : ok
 
 
 I don't known exactly how tainted mode work, we have already fixed a bug
 like this here:
 
 https://git.proxmox.com/?p=pve-
 storage.git;a=blobdiff;f=PVE/Storage/Plugin.pm;h=462d9e1e21d40d66b8545
 aadfd46669a10b986d8;hp=de2818cd62d0aab634258d27c54aba26ec123ed7;hb
 =7fc619d5d31c2eba2cfab6f1fcf6cb9dca7ddf55;hpb=32437ed2791882342928e
 081bcbffeb9c70cdc59
 
 
 
 - Mail original -
 
 De: Michael Rasmussen m...@datanom.net
 À: Michael Rasmussen m...@datanom.net
 Cc: Alexandre DERUMIER aderum...@odiso.com, pve-
 de...@pve.proxmox.com
 Envoyé: Vendredi 24 Mai 2013 01:33:58
 Objet: Re: [pve-devel] pve: cloning
 
 On Thu, 23 May 2013 09:16:38 +0200
 Michael Rasmussen m...@datanom.net wrote:
 
  Using the clone features from the nexenta-plugin does not work either:
  create full clone of drive virtio0 (nexenta_iscsi:vm-101-disk-1) TASK
  ERROR: clone failed: unable to create image: Insecure dependency in
  exec while running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm
  line 186.
 
 I have found out what is causing the above error. Every time you try to make
 a clone where the target for the clone is a different storage than the storage
 of the source the error above is thrown.
 
 Following use cases have been tried with the same result:
 source target result
 nexenta zfs fails
 nexenta local fails
 nexenta nexenta success
 zfs nexenta fails
 zfs local fails
 zfs zfs success
 
 seems that command 'exec' in IPC/Open3.pm cannot be executed on a
 tainted command which normally is seen when path is not untainted.
 
 
 --
 Hilsen/Regards
 Michael Rasmussen
 
 Get my public GnuPG keys:
 michael at rasmussen dot cc
 http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xD3C9A00E
 mir at datanom dot net
 http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE501F51C
 mir at miras dot org
 http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE3E80917
 --
 Your step will soil many countries.
 ___
 pve-devel mailing list
 pve-devel@pve.proxmox.com
 http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] roadmap for proxmox 3.1 ?

2013-05-24 Thread Michael Rasmussen

On 05-24-2013 14:41, Alexandre DERUMIER wrote:


- live storage migration. (should be easy, we have already the
drive-mirror code)
- cpu-add qmp command
- add hyper-v option (cpu flags) for windows vm. (this need next
openvz-kernel, currently in testing)
- dhcp server implementation + nat + routing
- qemu-ga
- spice ???
- glusterfs storage driver


Add this to list just after live storage migration:
- Activate currently deactivated storage plugins in gui which is 
considered stable

- Add my zfs plugin ;-)

Regarding my zfs plugin. It is completed and seems to function well. I 
will post a patch to this list later this evening. I would be nice if 
someone would take some time testing it.


--
Hilsen/regards
Michael Rasmussenattachment: vcard.vcf___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] pve: cloning

2013-05-24 Thread Michael Rasmussen

Are we using the same version of perl?

My test installation is a bare-bones install of 3.0rc2. I will upgrade 
later today to see if this changes anything.
Do I need to make a reinstall of 3.0 or will apt-get update  apt-get 
upgrade be sufficient?


On 05-24-2013 15:11, Dietmar Maurer wrote:

I am unable to reproduce it:

# qm config 105
bootdisk: virtio0
cores: 1
ide2: none,media=cdrom
memory: 512
name: nextest
net0: virtio=AE:DE:EF:50:62:58,bridge=vmbr0
ostype: l26
sockets: 1
virtio0: nex1:vm-105-disk-1,size=1G

I can make a full clone without problems.

Please can you post your VM config?



-Original Message-
From: pve-devel-boun...@pve.proxmox.com [mailto:pve-devel-
boun...@pve.proxmox.com] On Behalf Of Alexandre DERUMIER
Sent: Freitag, 24. Mai 2013 06:16
To: Michael Rasmussen
Cc: pve-devel@pve.proxmox.com
Subject: Re: [pve-devel] pve: cloning

I can reproduce here too with full clone: (only with nexenta plugin 
in the

game)

(Works fine in command line, don't work only with gui)

create full clone of drive ide0 (nexentatestapi:vm-277-disk-1) TASK 
ERROR:
clone failed: unable to create image: Insecure dependency in exec 
while

running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm line 186.

nexenta - local : fail on alloc_image  (qemu-img create)

rbd - nexenta : ok


I don't known exactly how tainted mode work, we have already fixed a 
bug

like this here:

https://git.proxmox.com/?p=pve-
storage.git;a=blobdiff;f=PVE/Storage/Plugin.pm;h=462d9e1e21d40d66b8545
aadfd46669a10b986d8;hp=de2818cd62d0aab634258d27c54aba26ec123ed7;hb
=7fc619d5d31c2eba2cfab6f1fcf6cb9dca7ddf55;hpb=32437ed2791882342928e
081bcbffeb9c70cdc59



- Mail original -

De: Michael Rasmussen m...@datanom.net
À: Michael Rasmussen m...@datanom.net
Cc: Alexandre DERUMIER aderum...@odiso.com, pve-
de...@pve.proxmox.com
Envoyé: Vendredi 24 Mai 2013 01:33:58
Objet: Re: [pve-devel] pve: cloning

On Thu, 23 May 2013 09:16:38 +0200
Michael Rasmussen m...@datanom.net wrote:

Using the clone features from the nexenta-plugin does not work 
either:
create full clone of drive virtio0 (nexenta_iscsi:vm-101-disk-1) 
TASK

ERROR: clone failed: unable to create image: Insecure dependency in
exec while running with -T switch at 
/usr/share/perl/5.14/IPC/Open3.pm

line 186.

I have found out what is causing the above error. Every time you try 
to make
a clone where the target for the clone is a different storage than 
the storage

of the source the error above is thrown.

Following use cases have been tried with the same result:
source target result
nexenta zfs fails
nexenta local fails
nexenta nexenta success
zfs nexenta fails
zfs local fails
zfs zfs success

seems that command 'exec' in IPC/Open3.pm cannot be executed on a
tainted command which normally is seen when path is not untainted.


--
Hilsen/Regards
Michael Rasmussen

Get my public GnuPG keys:
michael at rasmussen dot cc
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xD3C9A00E
mir at datanom dot net
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE501F51C
mir at miras dot org
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE3E80917
--
Your step will soil many countries.
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


!DSPAM:519f6703187841968616024!


--
Hilsen/regards
Michael Rasmussenattachment: vcard.vcf___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] pve: cloning

2013-05-24 Thread Alexandre DERUMIER
bootdisk: ide0 
cores: 1 
ide0: nexentatestapi:vm-277-disk-1,size=32G 
ide2: none,media=cdrom 
memory: 512 
name: test 
net0: e1000=8A:23:4D:FB:B0:3A,bridge=vmbr0 
ostype: l26 
sockets: 1 



with gui only:

create full clone of drive ide0 (nexentatestapi:vm-277-disk-1) 
TASK ERROR: clone failed: unable to create image: Insecure dependency in exec 
while running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm line 187. 


qm clone command line works fine


- Mail original - 

De: Dietmar Maurer diet...@proxmox.com 
À: Alexandre DERUMIER aderum...@odiso.com, Michael Rasmussen 
m...@datanom.net 
Cc: pve-devel@pve.proxmox.com 
Envoyé: Vendredi 24 Mai 2013 15:11:28 
Objet: RE: [pve-devel] pve: cloning 

I am unable to reproduce it: 

# qm config 105 
bootdisk: virtio0 
cores: 1 
ide2: none,media=cdrom 
memory: 512 
name: nextest 
net0: virtio=AE:DE:EF:50:62:58,bridge=vmbr0 
ostype: l26 
sockets: 1 
virtio0: nex1:vm-105-disk-1,size=1G 

I can make a full clone without problems. 

Please can you post your VM config? 


 -Original Message- 
 From: pve-devel-boun...@pve.proxmox.com [mailto:pve-devel- 
 boun...@pve.proxmox.com] On Behalf Of Alexandre DERUMIER 
 Sent: Freitag, 24. Mai 2013 06:16 
 To: Michael Rasmussen 
 Cc: pve-devel@pve.proxmox.com 
 Subject: Re: [pve-devel] pve: cloning 
 
 I can reproduce here too with full clone: (only with nexenta plugin in the 
 game) 
 
 (Works fine in command line, don't work only with gui) 
 
 create full clone of drive ide0 (nexentatestapi:vm-277-disk-1) TASK ERROR: 
 clone failed: unable to create image: Insecure dependency in exec while 
 running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm line 186. 
 
 nexenta - local : fail on alloc_image (qemu-img create) 
 
 rbd - nexenta : ok 
 
 
 I don't known exactly how tainted mode work, we have already fixed a bug 
 like this here: 
 
 https://git.proxmox.com/?p=pve- 
 storage.git;a=blobdiff;f=PVE/Storage/Plugin.pm;h=462d9e1e21d40d66b8545 
 aadfd46669a10b986d8;hp=de2818cd62d0aab634258d27c54aba26ec123ed7;hb 
 =7fc619d5d31c2eba2cfab6f1fcf6cb9dca7ddf55;hpb=32437ed2791882342928e 
 081bcbffeb9c70cdc59 
 
 
 
 - Mail original - 
 
 De: Michael Rasmussen m...@datanom.net 
 À: Michael Rasmussen m...@datanom.net 
 Cc: Alexandre DERUMIER aderum...@odiso.com, pve- 
 de...@pve.proxmox.com 
 Envoyé: Vendredi 24 Mai 2013 01:33:58 
 Objet: Re: [pve-devel] pve: cloning 
 
 On Thu, 23 May 2013 09:16:38 +0200 
 Michael Rasmussen m...@datanom.net wrote: 
 
  Using the clone features from the nexenta-plugin does not work either: 
  create full clone of drive virtio0 (nexenta_iscsi:vm-101-disk-1) TASK 
  ERROR: clone failed: unable to create image: Insecure dependency in 
  exec while running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm 
  line 186. 
  
 I have found out what is causing the above error. Every time you try to make 
 a clone where the target for the clone is a different storage than the 
 storage 
 of the source the error above is thrown. 
 
 Following use cases have been tried with the same result: 
 source target result 
 nexenta zfs fails 
 nexenta local fails 
 nexenta nexenta success 
 zfs nexenta fails 
 zfs local fails 
 zfs zfs success 
 
 seems that command 'exec' in IPC/Open3.pm cannot be executed on a 
 tainted command which normally is seen when path is not untainted. 
 
 
 -- 
 Hilsen/Regards 
 Michael Rasmussen 
 
 Get my public GnuPG keys: 
 michael at rasmussen dot cc 
 http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xD3C9A00E 
 mir at datanom dot net 
 http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE501F51C 
 mir at miras dot org 
 http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE3E80917 
 -- 
 Your step will soil many countries. 
 ___ 
 pve-devel mailing list 
 pve-devel@pve.proxmox.com 
 http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] pve: cloning

2013-05-24 Thread Dietmar Maurer
I am sorry, I cannot reproduce.

See 'man perlsec' for an intro to 'taint mode'

Maybe you can further debug yourself.

 -Original Message-
 From: Alexandre DERUMIER [mailto:aderum...@odiso.com]
 Sent: Freitag, 24. Mai 2013 15:20
 To: Dietmar Maurer
 Cc: pve-devel@pve.proxmox.com; Michael Rasmussen
 Subject: Re: [pve-devel] pve: cloning
 
 bootdisk: ide0
 cores: 1
 ide0: nexentatestapi:vm-277-disk-1,size=32G
 ide2: none,media=cdrom
 memory: 512
 name: test
 net0: e1000=8A:23:4D:FB:B0:3A,bridge=vmbr0
 ostype: l26
 sockets: 1
 
 
 
 with gui only:
 
 create full clone of drive ide0 (nexentatestapi:vm-277-disk-1) TASK ERROR:
 clone failed: unable to create image: Insecure dependency in exec while
 running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm line 187.
 
 
 qm clone command line works fine
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


[pve-devel] nexenta plugin question

2013-05-24 Thread Dietmar Maurer
I have a VM 105 using a single disk on nexenta storage:

# pvesm list nex1
nex1:vm-105-disk-1   raw 1073741824 105

After I convert to template I get:

# pvesm list nex1
nex1:vm-105-disk-1   raw 1073741824 105
nex1:vm-105-disk-1/base-105-disk-1   raw 1073741824 105

I thought we should hide the original volume? Also, It should not be
possible to delete nex1:vm-105-disk-1?
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] roadmap for proxmox 3.1 ?

2013-05-24 Thread Michael Rasmussen
On Fri, 24 May 2013 15:30:09 +0200 (CEST)
Alexandre DERUMIER aderum...@odiso.com wrote:

 I would be nice if someone would take some time testing it. 
 
 I'll try to build an test server next week to test. 
 which solaris distrib do you use? 
 
Omnios: http://omnios.omniti.com/
but OpenIndiana and Oracle Solaris (and express + pkg install
solaris/storage-server) should work also.

-- 
Hilsen/Regards
Michael Rasmussen

Get my public GnuPG keys:
michael at rasmussen dot cc
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xD3C9A00E
mir at datanom dot net
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE501F51C
mir at miras dot org
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE3E80917
--
You are here:
***
***
 *
  ***
   *
***
 *

 But you're not all there.


signature.asc
Description: PGP signature
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] nexenta plugin question

2013-05-24 Thread Michael Rasmussen
On Fri, 24 May 2013 14:22:45 +
Dietmar Maurer diet...@proxmox.com wrote:

 I have a VM 105 using a single disk on nexenta storage:
 
 # pvesm list nex1
 nex1:vm-105-disk-1   raw 1073741824 105
 
 After I convert to template I get:
 
 # pvesm list nex1
 nex1:vm-105-disk-1   raw 1073741824 105
 nex1:vm-105-disk-1/base-105-disk-1   raw 1073741824 105
 
 I thought we should hide the original volume? Also, It should not be
 possible to delete nex1:vm-105-disk-1?
 
This is something nexenta specific since nexenta does not provide a
volume rename. Since other solaris based distribution provides this
feature it is more clean in the zfsplugin:
nex1:vm-105-disk-1 raw 1073741824 105
nex1:base-105-disk-1   raw 1073741824 105

Also since the clone is a real zfs clone deleting nex1:vm-105-disk-1
will fail with the message: Cannot delete nex1:vm-105-disk-1 because of
depending clones. So to delete nex1:vm-105-disk-1 will require deletion
of nex1:base-105-disk-1 first.

-- 
Hilsen/Regards
Michael Rasmussen

Get my public GnuPG keys:
michael at rasmussen dot cc
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xD3C9A00E
mir at datanom dot net
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE501F51C
mir at miras dot org
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE3E80917
--
Hodie natus est radici frater.

[ Unto the root is born a brother ]


signature.asc
Description: PGP signature
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] pve: cloning

2013-05-24 Thread Alexandre DERUMIER
I am sorry, I cannot reproduce. 

See 'man perlsec' for an intro to 'taint mode' 

Maybe you can further debug yourself. 

Sure, no problem, I'll look at this next week.

- Mail original - 

De: Dietmar Maurer diet...@proxmox.com 
À: Alexandre DERUMIER aderum...@odiso.com 
Cc: pve-devel@pve.proxmox.com, Michael Rasmussen m...@datanom.net 
Envoyé: Vendredi 24 Mai 2013 15:31:44 
Objet: RE: [pve-devel] pve: cloning 

I am sorry, I cannot reproduce. 

See 'man perlsec' for an intro to 'taint mode' 

Maybe you can further debug yourself. 

 -Original Message- 
 From: Alexandre DERUMIER [mailto:aderum...@odiso.com] 
 Sent: Freitag, 24. Mai 2013 15:20 
 To: Dietmar Maurer 
 Cc: pve-devel@pve.proxmox.com; Michael Rasmussen 
 Subject: Re: [pve-devel] pve: cloning 
 
 bootdisk: ide0 
 cores: 1 
 ide0: nexentatestapi:vm-277-disk-1,size=32G 
 ide2: none,media=cdrom 
 memory: 512 
 name: test 
 net0: e1000=8A:23:4D:FB:B0:3A,bridge=vmbr0 
 ostype: l26 
 sockets: 1 
 
 
 
 with gui only: 
 
 create full clone of drive ide0 (nexentatestapi:vm-277-disk-1) TASK ERROR: 
 clone failed: unable to create image: Insecure dependency in exec while 
 running with -T switch at /usr/share/perl/5.14/IPC/Open3.pm line 187. 
 
 
 qm clone command line works fine 
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] pve: cloning

2013-05-24 Thread Michael Rasmussen
On Fri, 24 May 2013 17:11:12 +0200 (CEST)
Alexandre DERUMIER aderum...@odiso.com wrote:

 I am sorry, I cannot reproduce. 
 
 See 'man perlsec' for an intro to 'taint mode' 
 
 Maybe you can further debug yourself. 
 
 Sure, no problem, I'll look at this next week.
 
I have just upgraded my 3.0rc2 to 3.0 Release (And maybe some new
uploads today??)

After doing this upgrade I do not see the error anymore. Alexandre are
you sure your 3.0-test is have the latest updates?

-- 
Hilsen/Regards
Michael Rasmussen

Get my public GnuPG keys:
michael at rasmussen dot cc
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xD3C9A00E
mir at datanom dot net
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE501F51C
mir at miras dot org
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE3E80917
--
sillema sillema nika su


signature.asc
Description: PGP signature
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


[pve-devel] [PATCH] Added support for ZFS Storage Plugin

2013-05-24 Thread mir
From: Michael Rasmussen m...@datanom.net


Signed-off-by: Michael Rasmussen m...@datanom.net
---
 PVE/Storage.pm   |2 +
 PVE/Storage/Makefile |2 +-
 PVE/Storage/Plugin.pm|2 +-
 PVE/Storage/ZFSPlugin.pm |  646 ++
 4 files changed, 650 insertions(+), 2 deletions(-)
 create mode 100644 PVE/Storage/ZFSPlugin.pm

diff --git a/PVE/Storage.pm b/PVE/Storage.pm
index c6d9d12..8dbd46f 100755
--- a/PVE/Storage.pm
+++ b/PVE/Storage.pm
@@ -25,6 +25,7 @@ use PVE::Storage::RBDPlugin;
 use PVE::Storage::SheepdogPlugin;
 use PVE::Storage::ISCSIDirectPlugin;
 use PVE::Storage::NexentaPlugin;
+use PVE::Storage::ZFSPlugin;
 
 # load and initialize all plugins
 PVE::Storage::DirPlugin-register();
@@ -35,6 +36,7 @@ PVE::Storage::RBDPlugin-register();
 PVE::Storage::SheepdogPlugin-register();
 PVE::Storage::ISCSIDirectPlugin-register();
 PVE::Storage::NexentaPlugin-register();
+PVE::Storage::ZFSPlugin-register();
 PVE::Storage::Plugin-init();
 
 my $UDEVADM = '/sbin/udevadm';
diff --git a/PVE/Storage/Makefile b/PVE/Storage/Makefile
index ed65a18..88b6161 100644
--- a/PVE/Storage/Makefile
+++ b/PVE/Storage/Makefile
@@ -1,4 +1,4 @@
-SOURCES=Plugin.pm DirPlugin.pm LVMPlugin.pm NFSPlugin.pm ISCSIPlugin.pm 
RBDPlugin.pm SheepdogPlugin.pm ISCSIDirectPlugin.pm NexentaPlugin.pm
+SOURCES=Plugin.pm DirPlugin.pm LVMPlugin.pm NFSPlugin.pm ISCSIPlugin.pm 
RBDPlugin.pm SheepdogPlugin.pm ISCSIDirectPlugin.pm NexentaPlugin.pm 
ZFSPlugin.pm
 
 .PHONY: install
 install:
diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm
index 88e34a9..323ff5d 100644
--- a/PVE/Storage/Plugin.pm
+++ b/PVE/Storage/Plugin.pm
@@ -312,7 +312,7 @@ sub parse_config {
$d-{content} = $def-{content}-[1] if !$d-{content};
}
 
-   if ($type eq 'iscsi' || $type eq 'nfs' || $type eq 'rbd' || $type eq 
'sheepdog' || $type eq 'iscsidirect' || $type eq 'nexenta' ) {
+   if ($type eq 'iscsi' || $type eq 'nfs' || $type eq 'rbd' || $type eq 
'sheepdog' || $type eq 'iscsidirect' || $type eq 'nexenta' || $type eq 'zfs') {
$d-{shared} = 1;
}
 }
diff --git a/PVE/Storage/ZFSPlugin.pm b/PVE/Storage/ZFSPlugin.pm
new file mode 100644
index 000..909f71f
--- /dev/null
+++ b/PVE/Storage/ZFSPlugin.pm
@@ -0,0 +1,646 @@
+package PVE::Storage::ZFSPlugin;
+
+use strict;
+use warnings;
+use IO::File;
+use POSIX;
+use PVE::Tools qw(run_command file_read_firstline trim dir_glob_regex 
dir_glob_foreach);
+use PVE::Storage::Plugin;
+use PVE::JSONSchema qw(get_standard_option);
+
+use base qw(PVE::Storage::Plugin);
+
+my @ssh_opts = ('-o', 'BatchMode=yes');
+my @ssh_cmd = ('/usr/bin/ssh', @ssh_opts);
+
+sub zfs_request {
+my ($scfg, $method, @params) = @_;
+   my $luncmd = ();
+   my $cmd;
+   my $msg = '';
+   my $zfs;
+   
+   my $output = sub {
+   my $line = shift;
+   $msg .= $line\n;
+   };
+   
+   if (uc($scfg-{iscsiprovider}) eq 'COMSTAR') {
+   $luncmd = {
+   cmd = '/usr/sbin/stmfadm',
+   list_lu = 'list-lu',
+   create_lu   = 'create-lu',
+   delete_lu   = 'delete-lu',
+   import_lu   = 'import-lu',
+   add_view= 'add-view',
+   list_view   = 'list-view',
+   };
+   } else {
+   die 'unknown iscsi provider. Available [comstar]';
+   }
+   
+   $luncmd-{cmd} = 'sudo ' . $luncmd-{cmd} if ($scfg-{sudo});
+   if ($luncmd-{$method}) {
+   $cmd = [@ssh_cmd, $scfg-{portal}, $luncmd-{cmd}, 
$luncmd-{$method}, @params];
+   } else {
+   if ($method =~ /^zpool-list$/) {
+   $zfs = 'zpool';
+   $method = 'list';
+   } else {
+   $zfs = 'zfs';
+   }
+   $cmd = [@ssh_cmd, $scfg-{portal}, $zfs, $method, @params];
+   }
+   
+   eval {
+   run_command($cmd, outfunc = $output, errmsg = 'zfs error');
+   };
+   if ($@) {
+   my $cmdstr = '';
+   foreach my $c (@$cmd) {
+   if ($cmdstr eq '') {
+   $cmdstr = $c;
+   } else {
+   $cmdstr .=  $c;
+   }
+   }
+   die $@ .  [$cmdstr];
+   }
+   
+   return $msg;
+}
+
+sub zfs_parse_size {
+my ($text) = @_;
+
+return 0 if !$text;
+
+if ($text =~ m/^(\d+(\.\d+)?)([TGMK])?$/) {
+   my ($size, $reminder, $unit) = ($1, $2, $3);
+   return $size if !$unit;
+   if ($unit eq 'K') {
+   $size *= 1024;
+   } elsif ($unit eq 'M') {
+   $size *= 1024*1024;
+   } elsif ($unit eq 'G') {
+   $size *= 1024*1024*1024;
+   } elsif ($unit eq 'T') {
+   $size 

[pve-devel] [PATCH] Added support for ZFS Storage Plugin

2013-05-24 Thread mir
From: Michael Rasmussen m...@datanom.net


Signed-off-by: Michael Rasmussen m...@datanom.net
---
 www/manager/Makefile   |1 +
 www/manager/Utils.js   |2 +
 www/manager/dc/StorageView.js  |   11 +++
 www/manager/qemu/Clone.js  |3 +-
 www/manager/qemu/HDEdit.js |3 +-
 www/manager/storage/ZFSEdit.js |  172 
 6 files changed, 190 insertions(+), 2 deletions(-)
 create mode 100644 www/manager/storage/ZFSEdit.js

diff --git a/www/manager/Makefile b/www/manager/Makefile
index 013e762..27ef431 100644
--- a/www/manager/Makefile
+++ b/www/manager/Makefile
@@ -132,6 +132,7 @@ JSSRC=  
\
storage/RBDEdit.js  \
storage/SheepdogEdit.js \
storage/NexentaEdit.js  \
+   storage/ZFSEdit.js  \
dc/Summary.js   \
dc/OptionView.js\
dc/StorageView.js   \
diff --git a/www/manager/Utils.js b/www/manager/Utils.js
index 48ffade..aab95f7 100644
--- a/www/manager/Utils.js
+++ b/www/manager/Utils.js
@@ -642,6 +642,8 @@ Ext.define('PVE.Utils', { statics: {
return 'Sheepdog';
} else if (value === 'nexenta') {
return 'Nexenta';
+   } else if (value === 'zfs') {
+   return 'ZFS';
} else if (value === 'iscsidirect') {
return 'iSCSIDirect';
} else {
diff --git a/www/manager/dc/StorageView.js b/www/manager/dc/StorageView.js
index 2c81c0b..2bfa831 100644
--- a/www/manager/dc/StorageView.js
+++ b/www/manager/dc/StorageView.js
@@ -46,6 +46,8 @@ Ext.define('PVE.dc.StorageView', {
editor = 'PVE.storage.SheepdogEdit';
} else if (type === 'nexenta') {
editor = 'PVE.storage.NexentaEdit';
+   } else if (type === 'zfs') {
+   editor = 'PVE.storage.ZFSEdit';
} else {
return;
}
@@ -164,6 +166,15 @@ Ext.define('PVE.dc.StorageView', {
win.show();
}
},
+   {
+   text: 'ZFS',
+   iconCls: 'pve-itype-icon-node',
+   handler: function() {
+   var win = Ext.create('PVE.storage.ZFSEdit', 
{});
+   win.on('destroy', reload);
+   win.show();
+   }
+   }
 */
]
})
diff --git a/www/manager/qemu/Clone.js b/www/manager/qemu/Clone.js
index 58b1ee7..4ad7a0d 100644
--- a/www/manager/qemu/Clone.js
+++ b/www/manager/qemu/Clone.js
@@ -65,7 +65,8 @@ Ext.define('PVE.window.Clone', {
 rec.data.type === 'rbd' ||
 rec.data.type === 'iscsi' ||
 rec.data.type === 'sheepdog' ||
-rec.data.type === 'nexenta'
+rec.data.type === 'nexenta' ||
+   rec.data.type === 'zfs'
) {
 me.formatsel.setValue('raw');
 me.formatsel.setDisabled(true);
diff --git a/www/manager/qemu/HDEdit.js b/www/manager/qemu/HDEdit.js
index 66a823c..6b2cf8d 100644
--- a/www/manager/qemu/HDEdit.js
+++ b/www/manager/qemu/HDEdit.js
@@ -192,7 +192,8 @@ Ext.define('PVE.qemu.HDInputPanel', {
} else if (rec.data.type === 'lvm' || 
   rec.data.type === 'rbd' ||
   rec.data.type === 'sheepdog' ||
-  rec.data.type === 'nexenta') {
+  rec.data.type === 'nexenta' ||
+  rec.data.type === 'zfs') {
me.hdfilesel.setDisabled(true);
me.hdfilesel.setVisible(false);
me.formatsel.setValue('raw');
diff --git a/www/manager/storage/ZFSEdit.js b/www/manager/storage/ZFSEdit.js
new file mode 100644
index 000..0432386
--- /dev/null
+++ b/www/manager/storage/ZFSEdit.js
@@ -0,0 +1,172 @@
+Ext.define('PVE.storage.ZFSInputPanel', {
+extend: 'PVE.panel.InputPanel',
+
+onGetValues: function(values) {
+   var me = this;
+   
+   if (me.create) {
+   values.type = 'zfs';
+   values.content = 'images';
+   
+   } else {
+   delete values.storage;
+   }
+   
+   values.disable = values.enable ? 0 : 1; 
+   delete values.enable;
+   
+   values.sudo = values.enablesudo ? 1 : 0;
+   delete values.enablesudo;
+   
+   return 

[pve-devel] [PATCH 2/2] If remove of a base-image fails because of dependent clones we must recreate the lun since dependent clones require access to the image.

2013-05-24 Thread mir
From: Michael Rasmussen m...@datanom.net


Signed-off-by: Michael Rasmussen m...@datanom.net
---
 PVE/Storage/ZFSPlugin.pm |   14 ++
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/PVE/Storage/ZFSPlugin.pm b/PVE/Storage/ZFSPlugin.pm
index 909f71f..b02a87a 100644
--- a/PVE/Storage/ZFSPlugin.pm
+++ b/PVE/Storage/ZFSPlugin.pm
@@ -495,10 +495,16 @@ sub free_image {
 
 my ($vtype, $name, $vmid) = $class-parse_volname($volname);
 
-   eval {
-   zfs_delete_lu($scfg, $name);
-   };
-   zfs_delete_zvol($scfg, $name);
+zfs_delete_lu($scfg, $name);
+eval {
+zfs_delete_zvol($scfg, $name);
+};
+do {
+my $err = $@;
+zfs_create_lu($scfg, $name);
+zfs_add_lun_mapping_entry($scfg, $name);
+die 1: $err;
+} if $@;
 
 return undef;
 }
-- 
1.7.10.4

___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


Re: [pve-devel] [PATCH] Added support for ZFS Storage Plugin

2013-05-24 Thread Michael Rasmussen
Hi all,

Some instructions is needed to use this plugin.
How to use:
On every node you must transfer root's public certificate to the
storage - As root: ssh-copy-id IP

What works:
1) creating VM's
2) removing VM's
3) snapshotting VM's
4) rollback from shapshot
5) delete snapshot
6) convert to template
7) Cloning - both full and linked clone. This can also be done from
clones.

What does not work:
1) sudo. Implemented but it requires also the creation of user accounts
- both on storage and nodes. I think I will remove sudo later on if
  no one objects.
2) chap based login to target. Not implemented currently but this will
be implemented later.

As usual, feel free to comment and provide bug reports and/or patches.

-- 
Hilsen/Regards
Michael Rasmussen

Get my public GnuPG keys:
michael at rasmussen dot cc
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xD3C9A00E
mir at datanom dot net
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE501F51C
mir at miras dot org
http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0xE3E80917
--
The most important design issue... is the fact that Linux is supposed to
be fun...
-- Linus Torvalds at the First Dutch International
Symposium on Linux


signature.asc
Description: PGP signature
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel