Commit Graph
61 Commits
Author SHA1 Message Date
Nicolas Raynaud ffb6a8fa3f feat(VHD import): ensure uploaded file is a VHD (#5906) 2021-09-21 16:25:50 +02:00
Nicolas Raynaud 5bb2767d62 fix(xo-server/{disk,vm}.import): fix import of very small VMDK files (#5903) 2021-09-17 09:17:34 +02:00
Nicolas Raynaud 1c91fb9dd5 feat(xo-{server,web}): improve OVA import error reporting (#5797) 2021-06-02 16:23:08 +02:00
Nicolas Raynaud c219ea06bf feat(backup/s3): add http and region parameters to S3 (#5658) 2021-04-28 11:30:23 +02:00
Nicolas Raynaud e5d711dd28 fix(fs/S3Handler#_write): work when file doesn't exist (#5561) 2021-02-16 13:45:01 +01:00
Nicolas Raynaud 9394db986d fix(import/disk): allow uppercase extensions (#5574)
See https://xcp-ng.org/forum/topic/4216/cannot-import-a-large-vhd-using-import-disk-option
2021-02-15 12:05:49 +01:00
Nicolas Raynaud 289b7a3dbe fix(fs/s3): TimeoutError: Connection timed out after 120000ms (#5397) 2021-01-14 23:23:40 +01:00
Nicolas Raynaud b00750bfa3 chore(xo-vmdk-to-vhd): fix integration tests (#5490) 2021-01-09 19:19:34 +01:00
Nicolas Raynaud f7fd0d9121 fix(upload-ova): compatibility with latest API (#5432) 2020-12-07 11:11:37 +01:00
Nicolas Raynaud fdf52a3d59 feat(OVA/VMDK import): transmit VMDK tables in multipart POST request (#5372)
See xoa-support#3060

The VMDK block tables could become bigger than the max allowed size of a websocket message. The tables are now sent in a multipart POST in the same transaction as the file.
2020-11-23 10:27:35 +01:00
Nicolas Raynaud 949ddbdcd7 feat(new SR): use zfs type when XCP-ng 8.2+ #5302 (#5330) 2020-11-16 15:04:39 +01:00
Nicolas Raynaud bf12c3ff74 fix(xo-server/backup-ng): use getRemoteWithCredentials (#5315)
Introduced in #4907

Fix #5253

Otherwise the handler will be incorrectly defined due to the obfuscation of credentials.
2020-10-06 18:13:27 +02:00
Nicolas Raynaud fc81cf4d70 fix(xo-web/remotes): fix S3 secret key edit UI (#5305)
Fixes #5233
2020-10-02 11:38:18 +02:00
Nicolas Raynaud aed09b152a fix(import/ova): speedup the import of gziped vmdk disks nested in .ova (#5275)
This the followup to #5085

Avoid unzipping the entire file from the beginning before each read.
The test case when from 10min down to 26 seconds.

When reading a block from the gzipped file, we keep the current state in memory, if the next read happens at an offset greater than the previous read, we just carry one decompressing the file until the desired position.

The previous code would decompress from the start of the file for every read operation.
2020-09-28 15:42:55 +02:00
Nicolas Raynaud f755365e23 fix(xo-web/remotes): fix editing bucket and directory for S3 (#5276) 2020-09-28 15:33:06 +02:00
Nicolas Raynaud 4bb702fe89 fix(fs/S3): support 50GB+ files (#5242) 2020-09-27 20:49:41 +02:00
Nicolas Raynaud f3527a44d7 fix(vm/import): make the UI respond instantly to .ova file drop (#5274)
When dropping a file on the import zone, the UI didn't acknowledge the file until the vmdk table were parsed.

Now the UI parses the XML instantly, displays it on the UI, and start parsing the tables in the background. If the user clicks the "import" button, the system will finish parsing the tables and start the upload in when fell swoop. Hiding the parsing time in the upload time.
2020-09-27 19:45:32 +02:00
Nicolas Raynaud 14b8cda543 fix(xo-vmdk-to-vhd/grabTables): read each entry independently (#5255)
Reading all entries at once cause problems on some VMDKs (those generated by VirtualBox) because they appear to be distributed throughout the VMDK thus making the buffer not fit in memory.

See https://xcp-ng.org/forum/topic/3374/cannot-import-ova-from-virtualbox/14?_=1599689219209
2020-09-16 11:46:10 +02:00
Nicolas Raynaud 1d4f5d068a fix(xo-web/VM import): make description optional (#5258) 2020-09-11 08:45:10 +02:00
Nicolas Raynaud 407586e2d5 feat(remotes): AWS S3 backup storage (#5037) 2020-07-30 16:47:04 +02:00
Nicolas Raynaud adcc5d5692 feat(import/ova): allow import of gzipped vmdk disks (#5085) 2020-07-28 11:52:44 +02:00
Nicolas Raynaud 7c91524111 fix(OVA import): allow import of .ova files generated by Red Hat (#5159)
See xoa-support#2713.

 - use <rasd:Address> when <rasd:AddressOnParent> is not available on disks
 - avoid dotfiles and pax headers in tar parser.
2020-07-27 08:24:01 +02:00
Nicolas Raynaud f580e0d26f fix(import/OVA): fix big size parsing in OVA files (#5129) 2020-07-03 11:48:39 +02:00
Nicolas Raynaud 3578d16e9e fix(xo-server): correctly import vmdkToVhd (#5087)
Introduced in 5ee1ceced
2020-06-15 17:00:49 +02:00
Nicolas Raynaud 9274223701 chore(server): dont handle errors in registerHttpRequest() handlers (#5021)
`registerHttpRequest()` has built in error handling/logging.
2020-05-26 12:19:24 +02:00
Nicolas Raynaud ecee11a24c feat(xo-server/OVA import): comptibility with version 2.0 (#4921) 2020-05-25 08:50:32 +02:00
Nicolas Raynaud 6cf211a9ad fix(xo-server-perf-alert): make message compatible with XenCenter (#5004) 2020-05-18 14:56:11 +02:00
Nicolas Raynaud 0dbbe7104d fix(xo-server/OVA import): fix memory issue (#4920)
Affects both VDMK and OVA import because an OVA file contains VMDK disks.

The input VMDK stream was put in memory instead of braking the upload speed when the VHD stream was slower than the input stream.

The reason is that pipette/slicer makes no attempts at pausing the input stream, so it will store everything in memory if the writing of the VHD stream is slower than the reading of the VMDK stream (https://github.com/Medium/pipette#layering-philosophy "They do not make upstream calls to the flow-control methods pause() and resume()")

The proposed solution is to remove pipette and handle the case ourselves.
2020-04-22 17:25:17 +02:00
Nicolas Raynaud 8d9a7e9af1 fix(xo-server/xosan): fix SR size limit (#4910) 2020-04-07 09:54:14 +02:00
Nicolas Raynaud 5ee1ceced3 feat(upload-ova): new CLI to import OVA VMs (#3630) 2020-03-31 14:44:10 +02:00
Nicolas Raynaud eeef536803 fix(xo-server/importOvaVm): set memory_static_min (#4866) 2020-03-12 09:48:40 +01:00
Nicolas Raynaud 2726045fb0 fix(XOSAN): fix XOSAN installer (#4839) 2020-03-11 10:19:46 +01:00
Nicolas Raynaud d69e61a634 feat(xo-web,xo-server): ability to import a VHD/VMDK disk (#4138) 2019-11-28 11:35:31 +01:00
Nicolas Raynaud 2b0f1b6aab feat(xo-web/vm/console): direct connection to SSH button (#4415) 2019-09-17 12:02:33 +02:00
Nicolas Raynaud 03eb2d81f0 feat(xo-server/patching): fewer XCP-ng updater plugin requests (#4477)
Fixes #4358
2019-09-05 11:58:54 +02:00
Nicolas Raynaud 286a0031dd VHD: add test on stream length 2018-10-11 08:40:00 -07:00
Nicolas Raynaud dcbd7e1113 remove intellij file 2018-10-11 08:36:44 -07:00
Nicolas Raynaud 0a43454c8a VHD: add test on stream length 2018-10-11 08:23:45 -07:00
Nicolas Raynaud 18a5ba0029 VHD: remove unnecessary rounding 2018-10-11 07:17:15 -07:00
Nicolas Raynaud c426d0328f VHD: revert version increment 2018-10-11 07:15:50 -07:00
Nicolas Raynaud 91b2456c15 VHD: expose file length on the stream object 2018-10-10 18:36:54 -07:00
Nicolas Raynaud 585aa74e0c Merge branch 'master' into nr-vhd-stream-length
# Conflicts:
#	CHANGELOG.md
2018-10-10 18:35:20 -07:00
Nicolas Raynaud eefaec5abd VHD: expose file length on the stream object 2018-10-10 16:35:46 -07:00
Nicolas Raynaud c7a5eebff6 VHD: expose file length on the stream object 2018-10-10 16:28:59 -07:00
Nicolas Raynaud d3dcf6d305 XOSAN: fix issue where displayed gluster size could be wrong. 2017-09-08 09:50:25 +02:00
Nicolas Raynaud 7d5e7f5c73 add some notes 2016-08-30 11:26:35 -07:00
Nicolas Raynaud 15a8b97410 0.0.12 2016-08-30 10:10:21 -07:00
Nicolas Raynaud 874162df87 remove stream declared size 2016-08-30 10:03:57 -07:00
Nicolas Raynaud 0c8b9d8539 0.0.11 2016-08-26 17:37:15 -07:00
Nicolas Raynaud 7c6579b264 allow the reading of some cases of malformed VMDK files
- if the L1 is advertised in the header
 - and the L1 table is right after the descriptor (with or without marker)
 - and the L2 table is just after L1 (with or without marker)
 - and L2 is not fragmented
 - and the grains are in ascending order in the file
 - then we skip all the tables and read the grains directly
2016-08-26 17:36:41 -07:00
Nicolas Raynaud e3473721f6 0.0.10 2016-08-24 09:42:12 -07:00
Nicolas Raynaud 28799c62a9 spawn only one promise in _read() of the outpur stream
- instrument VirtualBuffer to detect unwanted concurrency
 - move VMDK version detection to header parsing
 - chunk zero pages in the output stage
 - avoid sending too much data at once in the output stage (with a shadow file)
2016-08-24 09:39:02 -07:00
Nicolas Raynaud 4ac58b3f44 0.0.9 2016-08-22 03:53:26 +02:00
Nicolas Raynaud a9758e6997 fix postion computation in vitual buffer 2016-08-22 03:32:06 +02:00
Nicolas Raynaud bb546c6bb7 chunk the padding buffers of the output stage 2016-08-22 03:30:16 +02:00
Nicolas Raynaud d877a6f1ad 0.0.8 2016-08-18 21:40:20 +02:00
Nicolas Raynaud ef7a563d97 avoid constructing 0 byte long buffer and async stream._read() function 2016-08-18 21:39:23 +02:00
Nicolas Raynaud df33772eba 0.0.7 2016-08-18 17:11:23 +02:00
Nicolas Raynaud 97c1cc8ed9 remove the custom virtual buffer in favor of pipette 2016-08-18 17:10:14 +02:00
Nicolas Raynaud f869c02395 0.0.6 2016-08-17 19:20:09 +02:00
Nicolas Raynaud 43e0217008 check for out of order blocks in vhd output 2016-08-17 19:19:51 +02:00