timansky
2f5bc26369
Merge remote-tracking branch 'origin/main' into issue-37
2025-01-29 09:12:49 +05:00
timansky
46ccf11ece
Return error if path does not exists
2025-01-29 09:12:08 +05:00
Timur Kumakbayev
7bc3922674
Merge pull request #39 from amulet1/support-pods
...
Add support for "podname" and "vnprefix" parameters (#29 )
2025-01-29 09:09:46 +05:00
amulet1
d01feb85a8
Added support for "podname" and "vnprefix" parameters ( #29 )
...
The "podname" value (mutually exclusive with "vgname") specifies Purestorage pod name.
The "vnprefix" value is an optional prefix to prepend to volume names.
The "vnprefix" can be used in combination with "podname" or "vgname".
Examples of volume name "vm-100-disk-0" mapping to PureStorage:
"podname mypod" => mypod::vm-100-disk-0
(same as "vnprefix mypod::")
"vgname mypve" => mypve/vm-100-disk-0
(same as "vnprefix mypve/")
"podname mypod", "vnprefix dev-" => mypod::dev-vm-100-disk-0
(same as "vnprefix mypod::dev-")
"vgname mypve", "vnprefix dev-" => mypve/dev-vm-100-disk-0
(same as "vnprefix mypve/dev-")
Also:
* Made "vgname" parameter optional
* Moved array address parameters check to purestorage_api_request()
* Removed volume info caching (#15 ), eliminated purestorage_volume_info()
* Modified purestorage_list_volumes() to return only disk names we recognize [ $vmid = undef case ]
* Use substr() instead of regex to strip volume name prefix in purestorage_get_volumes()
* Show PVE volume names in "Info ::" messages
* Added description of new parameters to README.md
2025-01-27 20:59:51 -05:00
timansky
75625bdbdb
return path in map_volume ( #37 )
2025-01-28 05:10:45 +05:00
Timur Kumakbayev
fbd1493369
Merge pull request #36 from amulet1/support-clone
...
Add support for volume and snapshot cloning
2025-01-28 03:28:26 +05:00
amulet1
236ab82740
Added support for volume and snapshot cloning
...
Implemented purestorage_volume_restore()
Enabled volume and snapshot cloning
Eliminated purestorage_snap_volume_rollback()
Instant cloning can be done using "qm clone" with --full no
(template cloning would work from GUI too)
Examples:
To clone VM 100 to 123:
qm clone 100 123 --full no
To clone VM 100's snapshot ABCD to VM 123:
qm clone 100 123 --full no --snapname ABCD
2025-01-27 17:22:38 -05:00
Timur Kumakbayev
ae51b4b510
Merge pull request #31 from amulet1/dev2
...
Various improvements
2025-01-28 02:50:03 +05:00
Timur Kumakbayev
1eeec41f40
Merge pull request #35 from kolesa-team/development
...
fix linter rules name
2025-01-28 02:31:15 +05:00
timansky
6ca954e50f
fix linter rules name
2025-01-28 02:30:17 +05:00
Dmitry Petrov
25aba73428
Merge branch 'main' into dev2
2025-01-27 16:28:39 -05:00
amulet1
c249fe46cb
Merged $params into $action in purestorage_api_request()
...
* Added prepare_api_params() function to assemble api call parameters
* Redesigned and simplified purestorage_volume_info()
* Adjusted all api calls to have call parameters inside of $action
2025-01-27 16:16:34 -05:00
Timur Kumakbayev
f248f00e14
Merge pull request #34 from amulet1/pvesm
...
Add an option to configure the plugin using `pvesm`
2025-01-28 01:12:59 +05:00
Timur Kumakbayev
424b94b2a9
Merge pull request #33 from amulet1/sparseinit
...
Enabled "sparseinit" feature
2025-01-28 01:12:44 +05:00
Dmitry Petrov
6b37e1ea81
Updated README.md
...
Added pvesm as a method to configure the plugin.
2025-01-27 09:57:34 -05:00
amulet1
a0fcb1437c
Enabled "sparseinit" feature
...
This dramatically speeds up copy/restore operations by skipping writing zeroes to unallocated blocks
2025-01-27 09:52:20 -05:00
amulet1
752b6fe06f
Merged $body into $action parameter in purestorage_api_request()
2025-01-25 12:22:14 -05:00
amulet1
71542b1b94
Replaced purestorage_request() with purestorage_api_request()
...
Combined $type and $method parameters into $action hash reference
2025-01-25 12:21:53 -05:00
amulet1
725e99023f
Made purestorage_request() static
2025-01-25 12:21:13 -05:00
amulet1
4a1bec377f
Started redesign of purestorage_request()
...
Simplified code, eliminated purestorage_get_auth_token()
2025-01-25 12:19:14 -05:00
Timur Kumakbayev
78a46db7c4
Merge pull request #17 from kolesa-team/development
...
Do not convert to prerelease
2025-01-20 03:03:24 +05:00
timansky
3a76010d96
Do not convert to prerelease
2025-01-20 03:02:51 +05:00
Timur Kumakbayev
fc989677bb
Merge pull request #16 from kolesa-team/temp
...
More fixes
v0.0.4
2025-01-20 02:33:23 +05:00
Timur Kumakbayev
d9018eec0f
Merge pull request #14 from PwrBank/main
...
Troubleshooting commands
2025-01-19 20:56:17 +05:00
PwrBank
c6770fc4cd
Update README.md
...
Updated troubleshooting commands, as suggested by @timansky
2025-01-17 06:49:47 -06:00
amulet1
6474161796
Unmap volume before renaming it
...
PVE storage subsystem does not unmap disk before moving it to another guest.
Also added check to make sure the target volume (if specified) does not exist.
2025-01-16 15:41:31 -05:00
amulet1
829cf63e1f
Added purestorage_get_volume_info() and purestorage_get_existing_volume_info()
...
The functions return first matching volume object.
Use purestorage_get_existing_volume_info() in purestorage_get_wwn()
2025-01-16 15:41:07 -05:00
amulet1
660d9bff76
Make hgsuffix truly optional
...
Replaced the default value "pve" with ""
Resolves #5
2025-01-16 15:40:30 -05:00
PwrBank
e9342bee43
Merge branch 'kolesa-team:main' into main
2025-01-16 11:32:40 -06:00
PwrBank
d97f93c340
Update README.md
...
Added some troubleshooting commands
2025-01-16 11:32:29 -06:00
Timur Kumakbayev
265904dfa3
Merge pull request #10 from kolesa-team/development
...
Release v0.0.3
v0.0.3
2025-01-16 21:57:34 +05:00
timansky
6e68385d96
remove zigmund from codeowners
2025-01-16 21:56:45 +05:00
timansky
b8e620f4c1
Merge remote-tracking branch 'origin/main' into development
2025-01-16 21:56:29 +05:00
Timur Kumakbayev
f508c00b4f
Merge pull request #13 from PwrBank/main
...
Update README.md
2025-01-16 21:34:26 +05:00
PwrBank
077514702f
Update README.md
...
Fixed type on the manual install instructions
2025-01-16 08:25:58 -06:00
timansky
e4aae03d51
README added lvm case
2025-01-16 08:59:08 +05:00
Timur Kumakbayev
081c0b8459
Merge pull request #12 from amulet1/main
...
Various fixes and improvements (#9 )
2025-01-16 08:55:19 +05:00
amulet1
246cba516e
Added wrapper to run_command() to streamline error handling
...
Replaced run_command() occurences with exec_command() which takes care of errors
Setting $DEBUG set to 2+ will show shell commands we are executing in the log
2025-01-15 12:47:39 -05:00
Dmitry Petrov
17ddc7ecc4
Merge pull request #4 from kolesa-team/main
...
Merge README.md changes
2025-01-15 09:43:30 -05:00
Timur Kumakbayev
621ebf7dd2
Merge pull request #8 from PwrBank/patch-1
2025-01-15 18:36:34 +05:00
PwrBank
c26a4a659e
Update README.md
...
Clarified to create the Custom folder if it does not exist
Corrected the copy command
2025-01-15 07:12:53 -06:00
Timur Kumakbayev
c3830d827f
Merge pull request #6 from amulet1/fixes
...
Various fixes
2025-01-15 16:42:09 +05:00
Timur Kumakbayev
6dbf308f17
Merge pull request #4 from kolesa-team/development
...
- snapshot eradicate on remove
2025-01-15 16:42:01 +05:00
Dmitry Petrov
16721e35d1
Updated recommended multipah.conf file
...
Added Pure wwids to blacklist_exceptions section.
2025-01-14 14:32:45 -05:00
Dmitry Petrov
d2fecfd95a
unmap_volume(): Do not die if volume is already unmapped
...
(accidentally reintroduced the issue in prior commit)
2025-01-14 13:35:00 -05:00
Dmitry Petrov
a8de2749c5
unmap_volume(): Use $wwid instead of $path where possible
...
Other changes:
* Replaced readlink() with abs_path()
* Added error check for blockdev call
2025-01-14 11:43:40 -05:00
Dmitry Petrov
4484ff1a01
Simplified rename_volume()
2025-01-13 20:03:35 -05:00
Dmitry Petrov
3f1c997a75
Cleanup: removed unneeded assert_* functions
2025-01-13 15:34:21 -05:00
Dmitry Petrov
13b66fdfaf
parse_volume(): return volume format as 'raw'
...
This fixes an issue with migration of EFI disks.
2025-01-13 14:51:54 -05:00
Dmitry Petrov
01d502007c
Show slave disk names on one line in unmap_volume()
2025-01-13 12:30:26 -05:00