Commit Graph

1147 Commits

Author SHA1 Message Date
Alexandre Derumier
4f01611d13 nexenta : add nodes and disable options
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-20 13:07:02 +02:00
Alexandre Derumier
911ce8504f sheepdog : add nodes and disable options
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-20 13:06:52 +02:00
Alexandre Derumier
35d6dfaf9e rbd: add nodes and disable options
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-20 13:06:36 +02:00
Alexandre Derumier
69971d8bae nexenta: volume_resize
resize volume using nexenta api. (online or offline).

we can't use qmp block_resize with libiscsi to online update disk size in guest (throw error), so return undef;

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:19 +02:00
Alexandre Derumier
9ffffc2e24 sheepdog : volume_resize
use collie command to resize disk (online or offline).

we can't use qmp block_resize to online resize size in guest (throw error) , so return undef.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:16 +02:00
Alexandre Derumier
e7a42a764e rbd : volume_resize
resize disk with rbd command if vm is offline
otherwise we can use qmp block_resize if vm is online

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:14 +02:00
Alexandre Derumier
3bac137c9f ISCSIDirect : volume_resize
die as we can't resize scsi device plugins

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:11 +02:00
Alexandre Derumier
0244a7b9c6 ISCSIPlugin : volume_resize
die as we can't resize iscsi devices

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:09 +02:00
Alexandre Derumier
530defb603 lvmplugin : volume_resize
resize the lvm device (online or offline)

return 1 to use qmp block_resize to online update size in guest

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:06 +02:00
Alexandre Derumier
81f5058c01 plugins : add volume_resize
this add qemu-img resize for file devices (raw - qcow2) if vm is offline.

otherwise we need to use online qmp block_resize

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:03 +02:00
Alexandre Derumier
7e6c05dc2c Storage : add global volume_resize
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:00 +02:00
Alexandre Derumier
6f714585f2 ISCSIDirect : volume_size_info
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-06 06:10:21 +02:00
Alexandre Derumier
3a0c324642 ISCSIDirect : fixes and cleanup
-use "lunX" for volume name.
previously it was only the lun number, and it conflict with current syntax to disk alloc disk size.

-scsi-ls return size in Gb, so we need to convert to bytes

-small cleanups

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-06 06:10:16 +02:00
Alexandre Derumier
60301ee037 nexenta: volume_size_info
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-06 06:10:13 +02:00
Alexandre Derumier
c95c307373 rbd : volume_size_info
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-06 06:10:10 +02:00
Alexandre Derumier
c732d5dbac sheepdog : volume_size_info
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-06 06:10:06 +02:00
Alexandre Derumier
a1301c92d6 ISCSIPlugin : remove specific volume_size_info
no need to use volume_size_info, we can use generic volume_size_info from Plugin. (file_size_info)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-06 06:10:03 +02:00
Dietmar Maurer
86a9a680de use rpcinfo instead of Ping
This works for NFS servers behind firewalls.
2012-08-01 08:45:33 +02:00
Dietmar Maurer
f3d4ef4626 move check_connection into activate_storage 2012-08-01 07:16:33 +02:00
Dietmar Maurer
f18199e580 volume_size_info: make it work with raw devices 2012-07-31 11:01:02 +02:00
Alexandre Derumier
c3013a8be5 nexentaplugin : volume_size_info
return nothing for now.

This also avoid de call soap api each time in sub path.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:45:21 +02:00
Alexandre Derumier
0002d9cc30 rbdplugin: volume_size_info
return nothing for now

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:45:18 +02:00
Alexandre Derumier
27923b43c7 sheepdogplugin: volume_size_info
return nothing for now

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:45:16 +02:00
Alexandre Derumier
baf6965931 iscsidirectplugin : volume_size_info
return nothing for now

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:45:14 +02:00
Alexandre Derumier
a548fd488f iscsiplugin:volume_size_info
return nothing for now, as we can't get volume used inside the volume, stats are empty.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:45:06 +02:00
Alexandre Derumier
e47e548e51 add volume_size_info for generic plugin
this use path and file_size_info like before

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:44:46 +02:00
Alexandre Derumier
20ccac1b6d add volume_size_info sub
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:44:03 +02:00
Dietmar Maurer
6d64e9e065 fix lvmscan 2012-07-25 15:50:23 +02:00
Dietmar Maurer
7028645e2e catch exception 2012-07-19 11:22:35 +02:00
Alexandre Derumier
03b5bfdf9c iscsi: add check_connection
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-19 11:00:39 +02:00
Alexandre Derumier
4d284721ed nfs: add check_connection
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-19 11:00:06 +02:00
Alexandre Derumier
c9eeac0131 add check_connection in storage_check_enabled.
Currently, if a storage have an infinite timeout (nfs hard option or iscsi with high timeout for failover),
and if the storage is down or is doing ha failover with dual controller

- pvestatd hang on storage_info. (So pve-manager see the host as down, and hang on differents parts, gui,rrds display)

- pvedaemon hang on differents place (storage disk list,vm_status, hardware info,...)

- I also see a lot of qemu-img info process hanging in uninterruptible sleep state with iscsi storage.

This patch add a check to see if the storage is accessible.

For nfs and iscsi : ping with a timeout of 2 second.  (Maybe this can be polish with some kind of filesystem/storage read test with timeout...)

Default for other storage plugins is to check nothing. (not a problem with sheepdog,ceph,libiscsi... as commands have timeout)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-19 10:58:19 +02:00
Dietmar Maurer
8c3abf126f re-add hack for empty pool
fresh created and empty rbd pool, throw a 500 error with "pool xxx doesn't contain rbd images" message.
2012-07-18 06:04:09 +02:00
Dietmar Maurer
f7a1e35f69 fix sheepdog path
We always need to specify a port, else kvm does not find the disk.
2012-07-17 15:12:49 +02:00
Dietmar Maurer
411476cd32 cleanup rbd driver 2012-07-17 13:26:36 +02:00
Dietmar Maurer
8661655414 register all plugins 2012-07-17 12:58:38 +02:00
Dietmar Maurer
2677f6239d cleanup white space errors 2012-07-17 11:55:38 +02:00
Alexandre Derumier
40cd7d27d5 add nexenta plugin
storage definition
------------------
portal 192.168.0.1
target iqn.1986-03.com.sun:....
login myloginwithjsonpermission
password jsonuserpassword
pool Yourpool
blocksize 4K

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-17 11:49:53 +02:00
Alexandre Derumier
b345cad347 add iscsidirect plugin
This use libiscsi

storage definition:
------------------
portal 192.168.0.1
target iqn.1986-03.com.sun:....

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-17 11:48:27 +02:00
Dietmar Maurer
e9256323c0 sheepdog: implement storage status 2012-07-16 09:51:26 +02:00
Dietmar Maurer
7f8373d270 delete trailing white spaces 2012-07-16 09:13:19 +02:00
Dietmar Maurer
be6339fc3a sheepdog: use '-r' to get sizes in bytes, code cleanup
Use a common method collie_cmd() to assemble command using
correct server/port settings.
2012-07-16 09:10:17 +02:00
Dietmar Maurer
caf1960c76 register sheepdog plugin 2012-07-16 07:26:08 +02:00
Alexandre Derumier
e4fc8228a7 add sheepdog plugin
storage definition
-------------------
portal 127.0.0.1:7000

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-16 07:14:53 +02:00
Alexandre Derumier
1270370d9b set shared=1 to sheepdog plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-16 07:03:42 +02:00
Dietmar Maurer
6bf5629866 fix offline migration bug
Alway pass volname and storeid to plugin->path()
2012-07-16 06:45:13 +02:00
Alexandre Derumier
d70e7f6c0d rbd : add owner attribute when rbs ls
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-19 06:42:35 +02:00
Alexandre Derumier
4e2d3bc8ea rbd : use keyring file instead keyfile
we need 1 keyring by rbd storage

/etc/pve/priv/ceph/storagename.keyring

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-18 13:44:56 +02:00
Dietmar Maurer
571abaa611 add newline to error message 2012-06-18 06:30:27 +02:00
Alexandre Derumier
3e195ccccb rbd : rbd_ls: doesn't throw error if pool doesn't contain image
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-18 06:04:57 +02:00
Alexandre Derumier
4f4f94801d rbd : set shared as default
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-06 12:19:09 +02:00
Alexandre Derumier
e5427b0097 rados block plugin update
config file
-----------
rbd: rbdtest
        monhost 10.3.94.27:6789;10.3.94.28:6789;10.3.94.29:6789
        pool pool2
        username admin
        authsupported cephx;none
        content images

key for user admin must be specified in:
---------------------------------------
/etc/pve/priv/ceph/storeid.username.key

/etc/pve/priv/ceph/rbdtest.admin.key   for this exemple.

(so we can have multiple users key by storage and multiple storage with same username)

I change "sub path" in Storage.pm to pass $storeid as third argument.

I rename property id to username, to be more clear.

removal of rbd_ prefix.

removal of trailing whitespace

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-02 12:00:33 +02:00
Alexandre Derumier
0509010d6e Add rados block plugin storage
This add rados plugin storage.

We need rbd command from ceph repository (ceph-common package) to create/delete volumes,I didn't have add depends for the moment.

/etc/pve/storage.cfg sample config

rbd: rbdtest
        rbd_monhost 10.3.94.27:6789;10.3.94.28:6789;10.3.94.29:6789
        rbd_pool pool2
        rbd_id admin
        rbd_key AQAmOcZPwNY7GRAAuvJjVAKIm1r3JKqLCa4LGQ==
        rbd_authsupported cephx;none
        content images

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-01 07:18:11 +02:00
Dietmar Maurer
5521b5805b fix return value for path() 2012-05-23 13:11:20 +02:00
Dietmar Maurer
be2e0c16b1 import run_command 2012-05-23 12:56:25 +02:00
Dietmar Maurer
d9e4e1ce2c use File::Path 2012-05-23 12:48:44 +02:00
Dietmar Maurer
7a2d5c1a26 use Sockets 2012-05-23 12:43:28 +02:00
Dietmar Maurer
1dc01b9f30 new plugin architecture 2012-05-23 08:00:13 +02:00
Dietmar Maurer
5c009b733e avoid call to lvs when deactivating devices
Because this can be slow if there are many devices.
2012-04-23 06:31:04 +02:00
Dietmar Maurer
75d75990b4 fix bug #171: fix path_to_volume_id for unmounted NFS 2012-04-18 12:34:39 +02:00
Dietmar Maurer
369977e8bb fix bug #148: set maxfiles for default local storage 2012-04-05 14:40:01 +02:00
Dietmar Maurer
dc2deeb8fe use dir_glob_* from PVE::Tools 2012-03-28 08:00:59 +02:00
Dietmar Maurer
da156fb3ef add line break to error message 2012-03-28 06:36:38 +02:00
Dietmar Maurer
446073f681 allow to set option 'maxfiles' 2012-03-23 07:43:28 +01:00
Dietmar Maurer
6bf7eb0903 use Digest::SHA instead of Digest::SHA1 2012-03-20 11:27:51 +01:00
Dietmar Maurer
d642361b29 new lvm option 'saferemove' to zero-out data when removing LVs 2012-03-09 09:43:01 +01:00
Dietmar Maurer
88c3abaf6e zero-ot data on LVM volumes 2012-03-07 12:32:02 +01:00
Dietmar Maurer
b755bdb0f9 delete volume requires Datastore.Allocate 2012-02-22 12:08:54 +01:00
Dietmar Maurer
0c1473f928 only list iscsi when enabled (content == images) 2012-02-15 09:33:12 +01:00
Dietmar Maurer
888709239d also list tar.gz and tar.lzo backup files 2012-02-07 12:54:16 +01:00
Dietmar Maurer
1f6610f386 fix upload permissions. Only allow iso/tmpl upload. 2012-02-06 10:10:55 +01:00
Dietmar Maurer
2494896aaa parse backup files and return owner vmid 2012-02-01 11:47:44 +01:00
Dietmar Maurer
05f697c983 use correct package prefix 2012-01-26 13:10:50 +01:00
Dietmar Maurer
8fba271817 moved format definition to pve-common 2012-01-26 11:55:28 +01:00
Dietmar Maurer
5f642f73b8 add permission checks 2012-01-26 09:25:39 +01:00
Dietmar Maurer
95e8e21cc5 allow optional slash in mount path
Seems NFS4 use that smetimes
2012-01-26 05:55:12 +01:00
Dietmar Maurer
db2ec87f83 use -e to test if volume exists
Because rootdir is a directory, not a file
2011-12-02 10:31:49 +01:00
Dietmar Maurer
02fae308ed fix iscsi size bug 2011-11-28 07:38:02 +01:00
Dietmar Maurer
3af60e62fa ignore errors from vgs 2011-11-25 09:43:29 +01:00
Dietmar Maurer
f81372ac59 improve error messages 2011-11-25 07:42:26 +01:00
Dietmar Maurer
6703353bb8 do not activate LVM volumes with vgchange -aly 2011-11-25 07:27:25 +01:00
Dietmar Maurer
c63913bf57 fix bug 44: allow to store vztmpl on NFS 2011-11-17 12:15:39 +01:00
Dietmar Maurer
1ac17c745e improved container support (rootdir) 2011-11-14 07:11:36 +01:00
Dietmar Maurer
d22a6133ab allow container rootdir on NFS 2011-11-07 11:14:32 +01:00
Dietmar Maurer
03f03009ba fix description 2011-11-03 09:33:27 +01:00
Dietmar Maurer
4ea5bca4e3 use correct prefix 2011-11-03 09:32:32 +01:00
Dietmar Maurer
7814e05f6f implement file upload API 2011-11-03 09:22:53 +01:00
Dietmar Maurer
87191fbe8f add content type attribute 2011-10-31 11:45:16 +01:00
Dietmar Maurer
686e1d032b fix parse_volname_dir to support backup images 2011-10-20 11:05:05 +02:00
Dietmar Maurer
6a4d7398b3 allow multiple content types 2011-10-20 08:02:52 +02:00
Dietmar Maurer
568de3d125 allow backup to local storage and code cleanups 2011-10-18 11:23:31 +02:00
Dietmar Maurer
883eeea67d add copy API example for stefan 2011-10-12 07:39:50 +02:00
Dietmar Maurer
9dec0cb1f7 only activate lvm volumes on local node
Pass -aly to lvcreate.
2011-09-29 08:42:00 +02:00
Dietmar Maurer
6c64928f88 avoid warning about uninitialize value 2011-09-23 06:57:40 +02:00
Dietmar Maurer
dfe98e6437 Fix digest handling 2011-09-07 12:01:25 +02:00
Dietmar Maurer
04a2e4f39f fix shared attribute in storage list 2011-08-26 06:23:24 +02:00
Dietmar Maurer
b6cf0a6659 imported from svn 'pve-storage/pve2' 2011-08-23 07:43:03 +02:00