Compare commits

...

7412 Commits

Author SHA1 Message Date
Julien Fontanet
766175b4a0 feat(xo-server): multi processes 2018-05-15 15:47:32 +02:00
Julien Fontanet
0e2270fb6e feat(xo-web): 5.19.2 2018-05-15 14:46:33 +02:00
Julien Fontanet
593493ec0c feat(xo-server): 5.19.4 2018-05-15 14:46:07 +02:00
Julien Fontanet
d92898a806 feat(xo-vmdk-to-vhd): 0.1.0 2018-05-15 14:45:19 +02:00
Julien Fontanet
7890e46551 feat(xo-server-backup-reports): 0.11.0 2018-05-15 14:42:32 +02:00
Julien Fontanet
ef942a6209 feat(Backup NG): implrtment logs and reports (#2869) 2018-05-15 14:40:11 +02:00
Nicolas Raynaud
fdde916388 feat(xo-web/vms-import): redirect to VM or home page (#2942)
If a single VM has been imported, redirect to its page.

If multiple VMs has been imported, redirect to the homepage with all other VMs filtered out.
2018-05-14 17:42:11 +02:00
Julien Fontanet
31314d201b fix(xo-server/backupNg/delta): await deletion/merge 2018-05-14 15:38:11 +02:00
Julien Fontanet
a29a949c51 fix(xo-server/backupNg/delta): deleteFirst iff retention > 1 2018-05-14 15:37:09 +02:00
Julien Fontanet
cc1ce8c5f8 chore: update yarn.lock 2018-05-14 13:53:03 +02:00
Nicolas Raynaud
a21bf4ebe5 chore: major VHD code restructuring (#2808)
Related to #2792
2018-05-14 13:48:16 +02:00
Julien Fontanet
3d0420dbd9 fix(xo-server/backupNg): clean metadata on VM iself (#2945) 2018-05-14 11:47:34 +02:00
Julien Fontanet
04c74dd30f fix: missing bit of last commit 2018-05-11 20:17:02 +02:00
Julien Fontanet
2f256291ae fix(xo-server/backup legacy/delta import): autofix path (#2941)
Because the path might be incorrect and be `_full.vhd` instead of `_delta.vhd`.

I know…
2018-05-11 20:16:00 +02:00
Julien Fontanet
bcb66a4145 fix(xo-server/backup NG/listReplicatedVms): avoid templates and snapshots 2018-05-11 18:45:47 +02:00
Fabrice Marsaud
2d9368062e fix(xo-web/xoa-updater): dont block paying plans when updater is on error (#2939) 2018-05-11 17:18:24 +02:00
Pierre Donias
b110bacf61 fix(xo-server/patches): bulk install (#2935) 2018-05-09 17:32:11 +02:00
Julien Fontanet
78afdc0af5 feat(xo-web): 5.19.1 2018-05-07 13:19:59 +02:00
Julien Fontanet
ad6cd7985a feat(xo-server): 5.19.3 2018-05-07 13:07:21 +02:00
Julien Fontanet
a61661776d fix(xo-server/listVmBackupsNg): handle missing vhds field
This field is only present on delta backups
2018-05-07 11:02:14 +02:00
Julien Fontanet
1a9ebddcab fix(xo-server/listBackupNgPartitionFiles): missing await
Strange things though, it works in dev compilation mode…

Fixes #2929
2018-05-07 10:33:44 +02:00
Julien Fontanet
7ab907a854 feat(xo-server/backup NG): file restore (#2889) 2018-05-06 18:38:47 +02:00
Olivier Lambert
68a34f7cdb feat(changelog): update changelog 2018-05-05 12:05:56 +02:00
Rajaa.BARHTAOUI
da4ff3082d feat(xo-web/health): list VM snapshots related to non-existing backup jobs (#2899)
Fixes #2828
2018-05-04 15:59:11 +02:00
Rajaa.BARHTAOUI
9c05a59b5f feat(xo-web/SR/advanced): add VDI UUID in coalesce table (#2919)
Fixes #2903
2018-05-04 12:28:15 +02:00
Rajaa.BARHTAOUI
6780146505 feat(xo-web/patches): better "restart host" warnings (#2909)
Fixes #2866
2018-05-04 10:41:02 +02:00
Julien Fontanet
2758833fc6 feat(xo-server): 5.19.2 2018-05-03 19:12:48 +02:00
Julien Fontanet
2786d7ec46 fix(vhd/createSyntheticReadStream): sectorsPerBlock → sectorsPerBlockData 2018-05-03 19:11:01 +02:00
Julien Fontanet
945a2006c9 feat(xo-server/legacy backup/import): use synthetic stream (#2913) 2018-05-02 17:48:13 +02:00
badrAZ
b9e574e32f fix(SR/tab-stats): fix IOPS's and IOwait's values format (#2914) 2018-05-02 14:17:13 +02:00
Julien Fontanet
34f1ef1680 feat(xo-server): 5.19.1 2018-05-01 17:26:15 +02:00
Julien Fontanet
4ac4310bc1 fix(xo-server/importDeltaVm): remove extra return
It prevented the VBD creation in case of a new VDI.
2018-05-01 17:25:46 +02:00
Julien Fontanet
a10997ca66 feat(xo-web): 5.19.0 2018-05-01 16:13:20 +02:00
Julien Fontanet
0e52a4c7dc feat(xo-server): 5.19.0 2018-05-01 16:12:44 +02:00
Julien Fontanet
a4b3e22c2b feat(xo-server-perf-alert): 0.1.0 2018-05-01 16:10:10 +02:00
Julien Fontanet
441bd7c754 feat(xo-server-auth-saml): 0.5.2 2018-05-01 16:09:06 +02:00
badrAZ
ddbd32d1cb chore(xo-web/backup-ng/new): single effect to toggle modes (#2908) 2018-04-30 11:19:45 +02:00
Pierre Donias
a5b0cbeaea feat(xo-server-perf-alert): SR disk space (#2905) 2018-04-27 17:38:19 +02:00
Rajaa.BARHTAOUI
c6f3b2b1ce feat(xo-web/XOA update): display "Downgrade" when trial is over (#2845)
Fixes #1483
2018-04-27 10:05:27 +02:00
Pierre Donias
3d869d9fa1 chore(xo-web/health): remove irrelevant actions on VDIs (#2882) 2018-04-26 17:37:28 +02:00
Julien Fontanet
7a5229741f chore: disable tests on Node 9 due to upath error 2018-04-26 17:21:00 +02:00
Rajaa.BARHTAOUI
78e0c2d8fa feat(xo-web/SortedTable): support link actions (#2893) 2018-04-26 15:46:10 +02:00
Pierre Donias
5928984069 feat(xo-web/home): sort by container name (#2901)
Fixes #2680
2018-04-26 15:21:48 +02:00
Julien Fontanet
61a472f108 chore(xo-server/vhd/createReadStream): improve genericity (#2865)
It should now be pretty easy to make it work to generate a delta VHD, which should be very useful when mergin multiple deltas together (during deletion.
2018-04-24 18:06:58 +02:00
Julien Fontanet
e45f78ea20 fix(xo-web/backup-ng): delete backups sequentially (#2855)
- sequentially: to limit merge issues
- from newest to oldest: to avoid unnecessary merges
2018-04-23 16:35:34 +02:00
Olivier Lambert
b3ae9d88eb feat(vm): expose vendor device features in advanced tab. Fixes #2883 (#2894) 2018-04-23 15:02:40 +02:00
Pierre Donias
f7f26537be fix(xo-web/vm/network): bad import after file name change (#2892)
Fixes #2891

Introduced by 769c32a1b1
2018-04-23 14:08:56 +02:00
Julien Fontanet
96848fc6d4 fix(xo-server/importDeltaVm): create VBDs earlier (#2885)
To avoid orphan VDIs AMAP.
2018-04-20 17:33:36 +02:00
Julien Fontanet
51e6f0c79f feat(xo-server-usage-report): 0.4.2 2018-04-19 09:39:47 +02:00
badrAZ
4f94ad40b7 fix(xo-server-usage-report): handle missing metrics (#2880) 2018-04-18 16:30:30 +02:00
Pierre Donias
43e1eb9939 fix(xo-web/Ellipsis): handle patchedRender wrapping (#2881)
Also use Ellipsis on resource set name in home/VM view
2018-04-18 11:00:09 +02:00
Julien Fontanet
1f6d7de861 feat(xo-server-usage-report): 0.4.1 2018-04-17 14:03:32 +02:00
Julien Fontanet
bd623c2daf feat(xo-web): 5.18.3 2018-04-17 11:36:00 +02:00
Pierre Donias
40c71c2102 fix(xo-web/SelectSr): "pool" typo (#2878)
Fixes #2875
2018-04-17 11:05:56 +02:00
Nicolas Raynaud
72a1580eff fix(xo-server/vhd-merge.integ.spec): increase timeout (#2874) 2018-04-17 11:04:30 +02:00
Julien Fontanet
9e2404a0d7 feat(xo-web): 5.18.2 2018-04-16 17:32:24 +02:00
Julien Fontanet
7dd84d1518 feat(xo-server): 5.18.3 2018-04-16 17:29:02 +02:00
Julien Fontanet
d800db5d09 fix(xo-web/backup-ng/new): fix empty srs & remotes
Send `undefined` instead of `false`.
2018-04-16 17:26:27 +02:00
Julien Fontanet
2714ccff38 fix(xo-server/backupNg.{create,edit}Job): check srs param 2018-04-16 17:15:35 +02:00
Julien Fontanet
1d493e411b fix(xo-server/backups-ng): correctly detect delta exports
Fixes #2833
2018-04-16 16:54:55 +02:00
Julien Fontanet
2a0c222f2d chore(xo-server): use xen-api 0.16.9 2018-04-16 16:30:59 +02:00
Julien Fontanet
641d68de0e feat(xen-api): 0.16.9 2018-04-16 16:29:41 +02:00
Julien Fontanet
2dd0fd660b chore(xo-server/backups-ng): update todo list 2018-04-16 16:28:09 +02:00
badrAZ
bb5441c7bc feat(xo-web/SelectSr): add container name to SRs that have the same names (#2824)
Fixes #1762
2018-04-16 16:16:55 +02:00
badrAZ
eeea9e662b fix(xo-web/backup-ng/new): rename edit button and change cancel icon (#2858)
See #2711
2018-04-16 15:49:54 +02:00
badrAZ
8d4874e240 fix(xo-web/backupNg/new): make the default retention equals 1 (#2872)
See #2711
2018-04-16 15:27:55 +02:00
badrAZ
a8ba4a1a8e feat(xo-web): stats for SRs (#2847) 2018-04-16 14:40:00 +02:00
Julien Fontanet
0c027247ec fix(normalize-packages): homepage for scoped packages 2018-04-15 23:41:27 +02:00
badrAZ
164cb39c1b fix(xo-web/backup/new): schedules values can be null (#2773) 2018-04-13 17:10:03 +02:00
Julien Fontanet
52503de645 fix(xo-web/initial fetch): support path prefix
Related to #2775
2018-04-13 17:01:43 +02:00
Julien Fontanet
83b8b5de61 fix(xo-web/updater): support path prefix
Related to #2775
2018-04-13 17:01:43 +02:00
Rajaa.BARHTAOUI
3e326c4e62 feat(xo-web/updater): disable upgrade button when not needed (#2816)
Fixes #1594
2018-04-13 16:46:58 +02:00
Julien Fontanet
a6b0690416 fix(xo-server): unmanaged VDI snapshots are VDI-unmanaged 2018-04-13 11:36:10 +02:00
Julien Fontanet
dcd007c5c7 fix(xen-api): fix sync test in watchTask (#2868) 2018-04-12 18:02:51 +02:00
Julien Fontanet
eb090e4874 fix(xen-api): getObject* should not return null 2018-04-12 11:06:08 +02:00
Julien Fontanet
4b716584f7 feat(xo-server): 5.18.2 2018-04-11 17:48:59 +02:00
Julien Fontanet
4bc348f39f fix(xo-server/vhd/createReadStream): emit empty if missing sectors 2018-04-11 17:47:43 +02:00
Julien Fontanet
9c75992fe4 feat(xo-web): 5.18.1 2018-04-11 17:32:58 +02:00
Julien Fontanet
4bb2702ac5 feat(xo-server): 5.18.1 2018-04-11 17:32:58 +02:00
Julien Fontanet
ea8133cb41 fix(xo-server/vhd/createReadStream): handle unallocated blocks (#2859)
Fixes #2857
2018-04-11 17:24:46 +02:00
Pierre Donias
fc40c7b03d fix(xo-web/new SR): create button not showing (#2854)
Fixes #2853
2018-04-11 10:21:06 +02:00
Julien Fontanet
7fe5b66fdb feat(xo-server-auth-saml): log profile when no name found 2018-04-10 19:09:30 +02:00
Julien Fontanet
0f1d052493 chore: update dependencies 2018-04-09 18:11:53 +02:00
badrAZ
56a182f795 fix(xo-web/backup-ng/new): dont add a target more than once (#2849)
Fixes #2848
2018-04-09 17:22:38 +02:00
Julien Fontanet
e8da1b943b fix(xo-server/backups-ng): create all forks at the same time (#2842)
Fixes #2790
2018-04-09 16:42:05 +02:00
Julien Fontanet
3913b0eba1 feat(xen-api): 0.16.8 2018-04-09 13:58:52 +02:00
Julien Fontanet
7990e45095 fix(xen-api): allow UUIDs for ro calls 2018-04-09 13:56:47 +02:00
Julien Fontanet
a7068ec166 fix(xo-server/importDeltaVm): better network matching (#2834)
Fixes #2093
2018-04-07 01:00:19 +02:00
Pierre Donias
55b35ac0cf NFS version and options (#2841)
Add NFS version & NFS options. Fixes #2706
2018-04-06 17:46:18 +02:00
Julien Fontanet
a251f8ca75 fix(xo-server/backups-ng): don't remove startable VMs (#2840)
Fixes #2724
2018-04-06 17:12:36 +02:00
Rajaa.BARHTAOUI
172ce2c7a1 feat(xo-web/jobs/new): use SortedTable (#2670)
See #2416
2018-04-06 16:45:46 +02:00
Olivier Lambert
3cef668a75 feat(xo-web,xo-server): create HBA SR (#2836)
Fixes #1992
2018-04-06 16:01:48 +02:00
Olivier Lambert
e6deb29070 fix(SR): incorrect case in deviceConfig for iSCSI probe (#2839) 2018-04-06 15:03:04 +02:00
Olivier Lambert
51609d45a2 feat(xo-web,xo-server): expose VM Xen Tools version (#2838)
Fixes #2650
2018-04-06 14:26:44 +02:00
Rajaa.BARHTAOUI
5cb6dc6d92 feat(xo-web): create new disk from SR view (#2726)
Fixes #2229
2018-04-06 13:54:32 +02:00
Nicolas Raynaud
c5174a61b7 chore(xo-server/debounce): reduce test flakiness (#2831) 2018-04-06 10:14:25 +02:00
badrAZ
93e987982c fix(xo-web/logs): displays the correct calls state when the job is interrupted (#2734)
Fixes #2732
2018-04-05 16:46:43 +02:00
Julien Fontanet
fc421428fd fix: missing ESLint config changes 2018-04-05 16:15:26 +02:00
Julien Fontanet
7400bd657a chore: coding style fixes 2018-04-05 15:53:57 +02:00
Julien Fontanet
da62cba3f8 chore: update dependencies 2018-04-05 11:00:03 +02:00
Patrick Tully
461cc7e547 fix(xo-web/icons.scss): remove extra commas (#2817) 2018-04-05 10:57:18 +02:00
badrAZ
b898ed4785 feat(xo-server/xapi-stats): new implementation (#2648) 2018-04-04 14:20:30 +02:00
Julien Fontanet
149530e73f feat(cron): 1.0.3 2018-04-03 17:21:21 +02:00
Julien Fontanet
7e627c953e fix(cron): selecting the first sunday of the month 2018-04-03 17:21:21 +02:00
Pierre Donias
bc86984f19 chore(xo-server/createNetwork): set other_config.automatic to false (#2825)
Fixes #2818

If a network has its other_config.automatic value set to any value other than
false then XenCenter's New VM wizard will create a VIF connected to this network
See https://citrix.github.io/xenserver-sdk/#network
2018-04-03 15:32:39 +02:00
Julien Fontanet
e40f3acdd4 feat(xo-web): 5.18.0 2018-03-30 18:04:11 +02:00
Julien Fontanet
63d93224e0 feat(xo-server): 5.18.0 2018-03-30 18:03:53 +02:00
badrAZ
c87356c319 feat: ability to delete a default template (#2812)
Fixes #2666
2018-03-30 18:03:12 +02:00
Julien Fontanet
74f4a83aea feat(xo-server-usage-report): 0.4.0 2018-03-30 17:55:57 +02:00
Julien Fontanet
e67038a04d feat(xo-server-auth-saml): 0.5.1 2018-03-30 17:54:30 +02:00
badrAZ
1fa73b57a2 feat(xo-web/dashboard/overview): add filters for pools and hosts (#2769)
Fixes #1631
2018-03-30 17:44:36 +02:00
badrAZ
73c746fdd3 fix(xo-web/backup-ng/new): xoa plan verification (#2813) 2018-03-30 17:22:21 +02:00
Julien Fontanet
ab1413b741 feat(xen-api): more info to task destroyed before completion error 2018-03-30 15:28:53 +02:00
Julien Fontanet
c087eaf229 chore(xo-server): increase blocked threshold from 10 to 50 2018-03-30 15:09:47 +02:00
Julien Fontanet
8b9f9ffa3e feat(xo-server/snapshotVm): increase concurrency to 2 2018-03-30 12:39:51 +02:00
Julien Fontanet
a83fa90d87 chore(xo-server/snapshotVm): avoid using waitObjectState 2018-03-30 12:39:50 +02:00
Julien Fontanet
505f06c1d8 chore(xo-server/backups-ng): dont fork streams if 1 target 2018-03-30 12:39:50 +02:00
Julien Fontanet
2ac1093543 chore(xo-server/backups-ng): rm unneeded defer decorators 2018-03-30 12:39:50 +02:00
Pierre Donias
b3d8ce2041 feat(xo-web/new-vm): hide IP field if IP pools are not configured (#2811)
Fixes #2739
2018-03-29 17:19:38 +02:00
Rajaa.BARHTAOUI
b47789bf82 feat(xo-web): confirm modal before manual backup run (#2717)
Fixes #2355
2018-03-29 15:06:50 +02:00
Julien Fontanet
0a5e1a9bce fix(xo-server/backups-ng): discriminate replicated against the VM (#2809)
Fixes #2807
2018-03-29 13:47:16 +02:00
Julien Fontanet
f333679319 fix(xo-server/backups-ng): dont snapshot on unhealthy vdi chain 2018-03-29 10:51:22 +02:00
Julien Fontanet
20d3faa306 fix(xo-server/backups-ng): delete unused snapshot on delta failure 2018-03-29 10:49:48 +02:00
Julien Fontanet
cf11ed0830 fix(xo-server/backups-ng): dont delete snapshot on failure 2018-03-29 09:47:32 +02:00
Julien Fontanet
acd390ac42 todo(xo-server/backups-ng): do not delete rolling snapshot in case of failure 2018-03-28 17:52:07 +02:00
badrAZ
8a2fbe3ab5 feat(xo-web/backup): ability to migrate legacy to NG (#2801)
Fixes #2711
2018-03-28 14:33:43 +02:00
Julien Fontanet
7a6e7ec153 fix(xo-web/backup-ng): display ids like in logs 2018-03-28 11:48:42 +02:00
Julien Fontanet
7d90346c91 feat(xen-api): 0.16.7 2018-03-28 11:46:45 +02:00
Julien Fontanet
abb5193ced chore(xen-api/getObject*): clearer error messages 2018-03-28 11:46:45 +02:00
Julien Fontanet
52e845834e chore(xen-api): more explicit tests 2018-03-28 11:46:45 +02:00
Julien Fontanet
c1c17fad44 fix(xen-api/getObject): match obj.$id against refs 2018-03-28 11:46:45 +02:00
Julien Fontanet
d7b4025893 todo(xo-server/backups-ng): detect and gc uncomplete replications 2018-03-28 11:46:45 +02:00
Rajaa.BARHTAOUI
934356571c feat(xo-web/home): fix toolbar in header (#2798)
Fixes #1581
2018-03-28 11:29:27 +02:00
Julien Fontanet
738d98eb42 chore(xo-server): update http-server-plus to 0.10
Fixes #2803
2018-03-28 00:11:17 +02:00
Nicolas Raynaud
7e689076d8 chore(xo-server/vhd-merge): various updates (#2767)
Fixes #2746 

- implement parent locators
- tests
- remove `@nraynaud/struct-fu`
2018-03-27 18:39:36 +02:00
Rajaa.BARHTAOUI
0b9d031965 feat(xo-web/jobs/overview): use SortedTable (#2677)
See #2416
2018-03-27 16:56:56 +02:00
badrAZ
53f470518b feat(xo-server-usage-report): various improvements (#2788)
Fixes #2770
2018-03-27 16:07:29 +02:00
Rajaa.BARHTAOUI
664d648435 feat(xo-web/vm/disks): use SortedTable (#2429)
See #2416
2018-03-27 11:13:05 +02:00
Julien Fontanet
0d718bd632 feat(xo-server/backup NG): merge VHD in a worker (#2799) 2018-03-27 10:13:05 +02:00
badrAZ
ed5e0c3509 feat(xo-web/xoa/update): warn before upgrade if jobs running (#2795)
Fixes #2250
2018-03-26 18:01:29 +02:00
Julien Fontanet
20d5047b55 chore(xo-server/ag2s): use async-iterator-to-stream instead 2018-03-26 16:32:46 +02:00
Pierre Donias
4cfe3ec06e fix(xo-server/new-vm): race condition on VIFs (#2796)
Fixes #2794
2018-03-26 11:18:36 +02:00
Julien Fontanet
87664ff16a chore(xo-server-auth-saml): config description 2018-03-26 11:10:16 +02:00
Pierre Donias
adf278fc83 fix(xo-web/home): pagination (#2791)
Fixes #2730
2018-03-21 16:54:29 +01:00
Pierre Donias
a4d0fa62d2 chore(xo-web/restore): minor improvements & fixes (#2789)
Fixes #2692
2018-03-21 15:51:12 +01:00
Pierre Donias
ff59d091f1 fix(xo-server-cloud): check token before getResourceDownloadToken call (#2783) 2018-03-20 15:36:03 +01:00
Pierre Donias
4cac99d79a feat(xo-web/home): put sort criteria in URL (#2780)
Fixes #2585
2018-03-20 10:41:03 +01:00
Rajaa.BARHTAOUI
d1a046279d feat(xo-web/modal): autofocus strong-confirm text input (#2749) 2018-03-19 15:34:52 +01:00
Julien Fontanet
cb9fa5c42b chore: update dependencies 2018-03-19 14:55:19 +01:00
Julien Fontanet
05f9e6895b feat(xo-web): 5.17.3 2018-03-16 17:49:31 +01:00
Julien Fontanet
63b5ee6f96 feat(xo-server): 5.17.4 2018-03-16 17:49:11 +01:00
Julien Fontanet
36d2de049f feat(xo-server/vhd): createReadStream (#2763)
A stream to a synthetic full VHD.
2018-03-16 17:47:10 +01:00
Julien Fontanet
86b0d5e2b7 fix(xo-server/backupNg.importVmBackup): do not try to detect base VDI 2018-03-16 17:38:56 +01:00
Julien Fontanet
d34f641130 fix(xo-server/backupNg.importVmBackup): do not try to detect base VM 2018-03-16 17:30:42 +01:00
Julien Fontanet
39d7b4c7bd fix(xo-server/backupNg.importVmBackup): fix VM name for delta 2018-03-16 17:15:18 +01:00
Julien Fontanet
ad0d4156fb fix(xo-server/backupNg.importVmBackup): add missing version for delta 2018-03-16 17:15:18 +01:00
badrAZ
80187e2789 feat(xo-web/self-service): add the internal networks to the networks' select (#2664) 2018-03-16 16:57:44 +01:00
badrAZ
89e25c9b81 fix(xo-web/dashboard/overview): missing patches not fetched (#2772)
Fixes #2768
2018-03-16 16:37:57 +01:00
Julien Fontanet
ca51d59815 chore(xo-server/chainVhd): allow parent and child to be in different dirs (#2762) 2018-03-16 16:24:45 +01:00
Julien Fontanet
433f445e99 fix(xo-server/backups): no checksum files for VHDs (#2761)
Because keeping them up-to-date after chainings and merges is too expensive (requires reading the whole file).

In legacy backups they were keeping up-to-date and great costs and never used for verification anyway.
2018-03-16 16:24:25 +01:00
Julien Fontanet
474a765e1b chore(xo-server/chainVhd): remove checksum recomputing (#2759)
It's high time to remove this.
2018-03-16 16:24:02 +01:00
badrAZ
7d4b17380d feat(Backups NG): fourth iteration (#2756) 2018-03-16 16:23:19 +01:00
Julien Fontanet
b58b1d94cd fix(xo-server/xapi): add missing import 2018-03-16 16:21:20 +01:00
Olivier Lambert
16e7257e3b feat(host/pool): clearer memory info (#2771)
Fixes #2750
2018-03-16 14:19:59 +01:00
Julien Fontanet
ca1a46f980 chore(xo-server/backups-ng): add todo items 2018-03-14 15:52:26 +01:00
Julien Fontanet
596bd12f59 chore(xo-server/vhd): add format cheatsheet 2018-03-14 15:51:02 +01:00
badrAZ
301ab65c01 fix(xo-web/backup/overview): fix the race condition between subscriptions (#2766)
Fixes #2733
2018-03-14 14:15:47 +01:00
Pierre Donias
35f210e074 fix(xo-server/xosan): make tmpBoundObjectId unique (#2760)
Fixes #2758
2018-03-13 16:05:38 +01:00
Julien Fontanet
c239b518e0 chore(xo-server/checksum): documentation 2018-03-13 15:57:08 +01:00
Julien Fontanet
f45935aa44 chore(xo-server/vhd-merge): abstract FD handling (#2757)
Due to our smart implementation, the Vhd class does not need to be aware of the fact that the file is already opened.
2018-03-13 15:09:21 +01:00
Julien Fontanet
782505b292 feat(xo-server): close inactive HTTP connections on stop 2018-03-13 10:22:06 +01:00
Julien Fontanet
1368e3b86d chore: update dependencies 2018-03-13 10:06:23 +01:00
Julien Fontanet
ab9c24401e feat(xo-web): 5.17.2 2018-03-12 17:54:09 +01:00
Julien Fontanet
831f4e48d1 feat(xo-server): 5.17.3 2018-03-12 17:53:34 +01:00
Julien Fontanet
f5511449af fix(xo-server/vm.create): work around a race condition (#2755)
Fixes #2747
2018-03-12 17:52:53 +01:00
Julien Fontanet
80c1e39b53 feat(Backups NG): third iteration (#2729) 2018-03-12 17:26:20 +01:00
badrAZ
3ce4e86784 fix(xo-web/sorted-table): returns undefined if userData is empty (#2752)
Fixes #2748
2018-03-12 17:19:15 +01:00
Julien Fontanet
fb617418bb feat(xo-server): 5.17.2 2018-03-09 19:12:00 +01:00
Pierre Donias
9fb0f793b2 fix(prettierrc): add trailingComma to avoid conflicts with eslint (#2744) 2018-03-09 11:55:02 +01:00
Julien Fontanet
3b21a097ab fix(xo-web): handle incorrect filters (#2743)
Fixes #2740
2018-03-09 11:30:22 +01:00
Rajaa.BARHTAOUI
ef09a42a89 feat(xo-web): disconnect VDI from Health view (#2655)
See #2505
2018-03-08 14:48:30 +01:00
Julien Fontanet
74d8f2a859 fix(xo-server): test with Babel 7 2018-03-08 11:00:00 +01:00
Julien Fontanet
48910f9c0f fix(xo-server/remote-handlers): do not swallow sync() value 2018-03-08 10:51:24 +01:00
Julien Fontanet
788a1accbd feat(xo-server): update to Babel 7 (#2731) 2018-03-08 10:11:14 +01:00
Julien Fontanet
b254e7e852 chore: update dependencies 2018-03-08 00:13:54 +01:00
Julien Fontanet
e288fa1b8a feat(xo-web): 5.17.1 2018-03-07 21:22:18 +01:00
Julien Fontanet
eb9ec68494 feat(xo-server): 5.17.1 2018-03-07 21:21:33 +01:00
Julien Fontanet
10ab4f2d79 fix(xo-server): work around minor Babel issue 2018-03-07 21:11:20 +01:00
badrAZ
b1986dc275 feat(Backups NG): second iteration (#2718) 2018-03-07 20:57:28 +01:00
Julien Fontanet
831e36ae5f fix(xo-server/exportDeltaVm): cannot assign ro name_label 2018-03-07 20:41:20 +01:00
Julien Fontanet
77a2d37d98 fix(xo-server/exportDeltaVm): do not leak the snapshot name
Fixes #2727
2018-03-07 20:30:09 +01:00
Julien Fontanet
37b90e25dc fix(xo-server/jobs): userIds are strings
Fixes #2728
2018-03-07 20:17:22 +01:00
Julien Fontanet
41f16846b6 chore(xo-server): addChecksumToReadStream → createChecksumStream (#2725)
`addChecksumToReadStream` was overly complicated and its usage was limited.

`createChecksumStream` is similar but does not pipe the readable stream in by itself.
2018-03-06 17:48:21 +01:00
Julien Fontanet
3e89c62e72 chore(xo-server): replace eventToPromise with fromEvent 2018-03-06 16:40:29 +01:00
Julien Fontanet
b7d3762c06 chore(xo-server): delete unused schedules on clean 2018-03-06 16:39:00 +01:00
Julien Fontanet
481bc9430a chore(xo-server/utils): remove unnecessary moment-timezone import 2018-03-06 16:38:07 +01:00
Julien Fontanet
13f2470887 chore(xo-server): remove createRawObject
Replace both `createRawObject()` and `Object.create()` by `{ __proto__: null }`.
2018-03-06 16:36:41 +01:00
Julien Fontanet
0308fe4e6e chore(xo-server): add checksum handling for VM import 2018-03-06 16:36:13 +01:00
Julien Fontanet
197273193e chore(xo-server): explicitly check for a schedule 2018-03-06 16:35:42 +01:00
Julien Fontanet
e4b11a793b chore(xo-server): move checksum streams into own module 2018-03-06 16:34:22 +01:00
Julien Fontanet
927d3135c4 chore(xo-server): rename removeSchedule to deleteSchedule 2018-03-06 16:32:59 +01:00
Julien Fontanet
aa533c20d6 fix(xo-server): respect compression param 2018-03-06 16:31:11 +01:00
Julien Fontanet
7fd615525a chore(xen-api): TODO do not cancel a finished task 2018-03-06 16:26:05 +01:00
Julien Fontanet
6abf3fc0af feat: add code of conduct 2018-03-06 10:18:05 +01:00
Julien Fontanet
6bb0929822 chore(xo-server/backupNg): remove unnecessary destructuring 2018-03-03 10:51:57 +01:00
Julien Fontanet
feebc04e55 chore(xo-server/BackupsNg): remove schedule default value
A backup NG job cannot be run without a schedule anyway
2018-03-03 10:26:45 +01:00
Julien Fontanet
2d406cd7c1 chore(xo-server/backupNg): rename importVmbackup{Ng,} 2018-03-03 10:25:01 +01:00
Julien Fontanet
788bfe632f chore(xo-server/exportDeltaVm): pass cancel token to _snapshotVm 2018-03-03 10:21:10 +01:00
Julien Fontanet
1149102f37 chore(xo-server/exportDeltaVm): pass name to _snapshotVm
Instead of setting it manually afterward.
2018-03-03 10:20:35 +01:00
Julien Fontanet
8bd949f618 chore(xo-server/exportDeltaVm): use _snapshotVm directly 2018-03-03 10:19:51 +01:00
Julien Fontanet
489b142a66 chore(xo-server): remove unnecessary getObject in exportDeltaVm 2018-03-03 10:15:24 +01:00
Julien Fontanet
cbbbb6da4f chore(xo-server): doc attrs of VMs created by Backup NG 2018-03-03 10:14:06 +01:00
Julien Fontanet
6701c7e3af chore(xo-server): use checksumFile helper unlink 2018-03-03 10:07:09 +01:00
Julien Fontanet
ecd460a991 feat(xo-web): 5.17.0 2018-03-02 19:57:24 +01:00
Julien Fontanet
b4d7648ffe feat(xo-server): 5.17.0 2018-03-02 19:57:04 +01:00
Julien Fontanet
eb3dfb0f30 feat(Backups NG): first iteration (#2705) 2018-03-02 19:56:08 +01:00
Julien Fontanet
2b9ba69480 fix(xo-server): getJob return the correct job 2018-03-02 19:53:16 +01:00
Julien Fontanet
8f784162ea chore(xo-server): Xapi#exportDeltaVm make streams writable 2018-03-02 19:52:35 +01:00
Julien Fontanet
a2ab64b142 chore(xo-server): Xapi#exportDeltaVm accept a snapshot 2018-03-02 19:52:00 +01:00
Julien Fontanet
052817ccbf chore(xo-server): RemoteHandler#rename handle cheksum 2018-03-02 19:51:03 +01:00
Julien Fontanet
48b2297bc1 chore(xo-server): handle nested job props (#2712) 2018-03-02 19:29:08 +01:00
Nicolas Raynaud
e76a0ad4bd feat(xo-server): improve VHD merge speed (#2643)
Avoid re-opening/closing the files multiple times, introduce a lot of latency in remote FS.
2018-03-02 19:08:01 +01:00
Olivier Lambert
baf6d30348 fix(changelog): remove useless spaces 2018-03-02 18:31:32 +01:00
Olivier Lambert
7d250dd90b feat(changelog): move and update changelog 2018-03-02 18:30:22 +01:00
Rajaa.BARHTAOUI
efaabb02e8 feat(xo-web): confirm modal before host emergency shutdown (#2714)
Fixes #2230
2018-03-02 18:05:58 +01:00
Julien Fontanet
0c3b98d451 fix(xo-server): forward createOutputStream errors with checksum 2018-03-02 15:29:26 +01:00
Julien Fontanet
28d1539ea6 fix(xo-server): fix Xapi#snapshotVm
It was broken by #2701.
2018-03-02 10:53:49 +01:00
Julien Fontanet
8ad02d2d51 feat(xo-web): ActionButton accept data-* props instead of handlerParam (#2713) 2018-03-02 09:57:26 +01:00
Julien Fontanet
1947a066e0 chore: disable flow for test
Still some config issues which I have to fix.
2018-03-01 16:30:02 +01:00
Julien Fontanet
d99e643634 chore(xo-server): inject schedule in jobs (#2710) 2018-03-01 16:27:51 +01:00
Rajaa.BARHTAOUI
65e1ac2ef9 chore(xo-web): consistently use "Username" label (#2709)
Fixes #2651
2018-03-01 15:58:48 +01:00
Julien Fontanet
64a768090f fix(xo-server): typo, executor → executors 2018-03-01 13:37:40 +01:00
Julien Fontanet
488eed046e chore(xo-server): pluggable job executors (#2707) 2018-03-01 12:10:08 +01:00
Julien Fontanet
dccddd78a6 chore(xo-web): rewrite smart-backup-pattern (#2698)
Fix a few issues
2018-02-28 17:07:16 +01:00
Julien Fontanet
3c247abcf9 chore(xo-web): add exact prop to NavLink (#2699) 2018-02-28 17:05:44 +01:00
Julien Fontanet
db795e91fd feat(complex-matcher): 0.3.0 2018-02-28 16:40:18 +01:00
Julien Fontanet
f060f56c93 feat(complex-matcher): number comparison (#2702)
`foo:>=42` matches `{ foo: 42 }` but not `"bar"` nor `{ foo: 37 }`.
2018-02-28 16:36:54 +01:00
Julien Fontanet
51be573f5e chore(xo-web): rewrite smart-backup-pattern 2018-02-28 16:23:29 +01:00
Julien Fontanet
4257cbb618 chore(xo-server): improve jobs code (#2696)
- add type filtering (default to `call`)
- support passing extra params to the call
- Flow typing
2018-02-28 16:22:41 +01:00
Julien Fontanet
e25d6b712d chore(xo-web): addSubscriptions provide initial props (#2697) 2018-02-28 16:09:56 +01:00
Julien Fontanet
b499d60130 chore(xo-server): improve scheduling code (#2695) 2018-02-28 15:59:19 +01:00
Julien Fontanet
68e06303a4 chore(xo-server): more cancelable Xapi methods (#2701) 2018-02-28 15:25:22 +01:00
badrAZ
60085798f2 fix(xo-web/jobs/vm.revert): use the snapshot's id instead of the vm's id (#2685)
Fixes #2498
2018-02-28 14:33:05 +01:00
badrAZ
c62cab39f1 feat(xo-web/VM): change the "share" button position (#2667)
Fixes #2663
2018-02-28 14:10:27 +01:00
Julien Fontanet
30483ab2d9 feat(xo-web): pass userData to SortedTable actions (#2700) 2018-02-28 13:43:41 +01:00
Julien Fontanet
c38c716616 chore(xo-server): use sepecific Babel plugins instead of stage-0 (#2694) 2018-02-28 12:59:23 +01:00
Julien Fontanet
ded1127d64 chore: mutualize Babel 7 config 2018-02-26 22:30:37 +01:00
Julien Fontanet
38d6130e89 chore(xo-cli): remove flow test 2018-02-26 21:58:32 +01:00
Julien Fontanet
ee47e40d1a feat(xo-web/logs): display real job status (#2688) 2018-02-26 18:02:39 +01:00
Julien Fontanet
80e66415d7 feat(xo-server): 5.16.2 2018-02-26 11:26:02 +01:00
Julien Fontanet
81e6372070 feat(xen-api): 0.16.6 2018-02-26 11:23:20 +01:00
Julien Fontanet
dbfbd42d29 fix(xo-server): identifiable names for VM export snapshots
Fixes #2668
2018-02-24 23:00:50 +01:00
Julien Fontanet
e0d34b1747 fix(xo-server): CR with lazy streams (#2675) 2018-02-23 17:50:17 +01:00
Julien Fontanet
9a8f9dd1d7 feat(xo-web): display attached VDI snapshots in Health (#2684)
Fixes #2634
2018-02-23 16:30:40 +01:00
Pierre Donias
75521f8757 fix(xo-server): do not count snapshots in self quotas (#2682)
Fixes #2626
2018-02-23 15:00:23 +01:00
Julien Fontanet
11d4cb2f04 fix(xo-server): detect interruption of full backups (#2686) 2018-02-23 13:07:48 +01:00
Rajaa.BARHTAOUI
d90cb09b56 feat(xo-web): disconnect VDIs from SR/disks view (#2602)
See #2505
2018-02-23 10:03:20 +01:00
Rajaa.BARHTAOUI
a02d393457 fix(xo-web/VM): allow self-service user to insert CD (#2647)
Fixes #2503
2018-02-22 16:42:43 +01:00
Julien Fontanet
01a5963947 feat(xen-api): allow createTask in read-only mode (#2679)
Fixes #2678
2018-02-22 15:50:35 +01:00
Julien Fontanet
7ef314d9f4 chore(lint-staged): rewritten in JS (#2676)
- simpler code, no need to hack around the shell
- no more double formatting
- no longer use git stash, simply cache files in memory
2018-02-22 11:45:44 +01:00
Julien Fontanet
2ff25d1f61 fix(xo-server): limit number of VDI exports (#2673)
Fixes #2672
2018-02-21 19:26:39 +01:00
Julien Fontanet
ede12b6732 fix(xo-server): limit number of VM exports (#2671)
Fixes #2669
2018-02-21 17:37:07 +01:00
Julien Fontanet
8a010f62fd chore(xo-server): remove unused Xapi#exportVdi 2018-02-21 17:32:30 +01:00
badrAZ
51da4a7e70 fix(xo-web/VM): show error when setting resource set fails (#2638)
Fixes #2620
2018-02-20 14:44:24 +01:00
Julien Fontanet
fd2580f5da feat(xo-cli): document config export (#2662) 2018-02-20 11:43:38 +01:00
Julien Fontanet
c5fdab7d47 feat(cron): 1.0.2 2018-02-20 11:42:19 +01:00
Julien Fontanet
ae094438b1 fix(cron): Schedule#next() with moment 2018-02-20 11:41:12 +01:00
Julien Fontanet
3e5af9e894 chore: update dependencies 2018-02-19 18:10:05 +01:00
Julien Fontanet
10093afb91 feat(cron): 1.0.1 2018-02-19 17:06:17 +01:00
Julien Fontanet
58032738b9 chore(cron): replace luxon with moment-timezone (#2657) 2018-02-19 17:04:04 +01:00
Julien Fontanet
89cbbaeeea chore: fix yarn.lock 2018-02-19 15:52:17 +01:00
Julien Fontanet
5ca08eb400 feat(xo-server): 5.16.1 2018-02-19 14:11:10 +01:00
Julien Fontanet
fad049d2ac feat(xo-web): 5.16.2 2018-02-19 14:10:37 +01:00
Julien Fontanet
87466cb5bd feat(value-matcher): 0.2.0 2018-02-19 14:08:38 +01:00
Julien Fontanet
bb69ad8019 feat(xo-server-backup-reports): 0.10.0 2018-02-19 14:02:13 +01:00
Julien Fontanet
d5373b85c7 feat(xen-api): 0.16.5 2018-02-19 13:59:17 +01:00
Julien Fontanet
d71e699582 feat(xo.getAllObjects): implement ndjson handler (#2500) 2018-02-19 13:41:44 +01:00
Julien Fontanet
f464751752 fix(xen-api): enforce event timeout (#2653) 2018-02-19 11:45:10 +01:00
badrAZ
d69f355206 feat(xo-web/jobs): show number of VMs in logs status selector (#2636)
Fixes #2618
2018-02-19 11:05:03 +01:00
badrAZ
769c32a1b1 fix(xo-web): the name 'ip' is used by the module ip-regex (#2654) 2018-02-19 10:05:10 +01:00
Julien Fontanet
44075d2ad5 chore: update dependencies 2018-02-18 21:53:23 +01:00
badrAZ
2b4ae3f1c2 feat(xo-server-backup-reports): improve the unhealthy VDI chain message (#2640)
Fixes #2639
2018-02-16 15:24:55 +01:00
Julien Fontanet
8689b48c55 fix(xo-server/authentication): fail fast with empty passwords
There is no reason to attempt authentication with empty passwords, and this work around issues with some LDAP servers which may allow binds with empty passwords.

See xoa-support#469.
2018-02-16 11:47:01 +01:00
Julien Fontanet
443882f4be feat(scripts): dev 2018-02-15 15:20:06 +01:00
Pierre Donias
9c3adaedf0 fix(select-objects/SelectSshKey): initialize state (#2646)
Fixes #2645
2018-02-15 12:38:04 +01:00
Julien Fontanet
4ba4d383f0 feat(backup): parallelism improvements (#2641)
Do not limit the concurrency at the job level, only limit VHD merges (2) and VM snapshots (1).
2018-02-15 12:14:39 +01:00
Julien Fontanet
947febcdaa chore(xo-server): update limit-concurrency-decorator to 0.3.0 2018-02-14 17:05:25 +01:00
badrAZ
b0a152612e feat(backup): new "skipped" state (#2612)
Fixes #2591
2018-02-14 11:22:30 +01:00
badrAZ
c9991655cf fix(xo-server): remove VM from nonexistent resource sets (#2637) 2018-02-13 16:58:05 +01:00
badrAZ
8971d218bb feat: share a vm in a resource set (#2611)
Fixes #2589
2018-02-13 15:24:20 +01:00
Julien Fontanet
8b05486945 fix(xo-server/scheduling): use local TZ by default 2018-02-13 14:50:10 +01:00
Julien Fontanet
42cd5d8e58 chore(xo-server/utils): remove scheduleFn 2018-02-13 14:49:50 +01:00
Julien Fontanet
31f420937e chore: fix yarn.lock 2018-02-13 14:41:12 +01:00
badrAZ
952d086c5e feat: use @xen-orchestra/cron (#2619)
Fixes #2616
2018-02-13 14:39:26 +01:00
Julien Fontanet
422a04795f chore: update dependencies 2018-02-13 12:05:52 +01:00
Julien Fontanet
28a8807cfb chore(xo-web): remove unused package.json entries 2018-02-13 11:16:02 +01:00
Julien Fontanet
c6327a953b chore(cron): improve documentation 2018-02-13 10:44:21 +01:00
Julien Fontanet
cc71f2e4a3 feat(cron): 1.0.0 2018-02-12 12:21:22 +01:00
Julien Fontanet
701086ec26 feat(cron): add Schedule#startJob() 2018-02-12 12:17:05 +01:00
Julien Fontanet
20acaebb68 fix(xo-server/vhd-merge): explicit error when no block found 2018-02-11 13:38:24 +01:00
Julien Fontanet
22997cd903 chore: improve Babel 7 configs
- easier to customize
- all target configuration is done in package.json
2018-02-10 23:09:29 +01:00
Julien Fontanet
7cb720b11f chore: format all code (#2632) 2018-02-09 17:56:03 +01:00
Julien Fontanet
8bf35b2a63 feat(xo-web): 0.16.1 2018-02-09 15:34:17 +01:00
Julien Fontanet
8b72690c17 feat(xo-server-cloud): 0.2.2 2018-02-09 15:33:51 +01:00
Julien Fontanet
a0cc768af9 feat(scripts): benchmarks (#2631) 2018-02-09 15:01:00 +01:00
Pierre Donias
9fc73e03a2 fix(XOSAN): ask for registration (#2628)
Fixes #2625
2018-02-09 13:36:30 +01:00
badrAZ
edd57f7205 feat(dashboard/health): add pool filter (#2583)
Fixes #2302
2018-02-08 20:22:32 +01:00
Julien Fontanet
8b155b62dc feat: restore prettier (#2630) 2018-02-08 17:45:16 +01:00
Julien Fontanet
bf5daa1a9b feat: better lint-staged (#2629) 2018-02-08 17:31:30 +01:00
Julien Fontanet
4f154e33bc fix(value-matcher): add AndPattern to Pattern union 2018-02-08 10:52:35 +01:00
Julien Fontanet
395bcade67 chore: fix issue template 2018-02-08 09:55:00 +01:00
Julien Fontanet
985a038482 chore: improve normalization 2018-02-07 17:40:55 +01:00
Julien Fontanet
2da04c5bb1 fix: lint & tests 2018-02-07 14:43:14 +01:00
Julien Fontanet
1baf8cfaa6 chore: update dependencies 2018-02-07 14:03:34 +01:00
Julien Fontanet
956a9a7dde chore: xen-orchestra is now the main repo 2018-02-07 10:40:09 +01:00
Julien Fontanet
d7bb457fd0 chore(xo-web): adapt to monorepo 2018-02-07 10:39:32 +01:00
Julien Fontanet
563ff38c25 Merge branch 'xo-web/master' 2018-02-07 10:18:09 +01:00
Julien Fontanet
05caaa0814 feat(xo-web): move all files to packages/xo-web 2018-02-07 10:18:09 +01:00
Julien Fontanet
1f283d285a feat(cron): 0.2.0 2018-02-06 17:30:36 +01:00
Julien Fontanet
adaa7ca413 feat(cron): wait promise before next run (#47) 2018-02-06 17:29:28 +01:00
Julien Fontanet
247e797d2b feat(cron): 0.1.2 2018-02-06 15:42:26 +01:00
Julien Fontanet
9c7c030b00 fix(cron): handle setTimeout max delay (#45) 2018-02-06 15:41:19 +01:00
Julien Fontanet
867c9ea66c fix(cron): correctly compute the delay 2018-02-06 15:28:54 +01:00
badrAZ
59985adc5d feat(backups): improve smart backup feedback (#2320)
Fixes #2253
2018-02-06 14:39:51 +01:00
Julien Fontanet
fd4504f0ee chore(xen-api): tested with XS 7.2 & 7.3 2018-02-06 14:36:33 +01:00
Julien Fontanet
6c6aacc64e feat(cron): 0.1.1
New release due to publish issue.
2018-02-06 12:04:49 +01:00
Julien Fontanet
678adc0726 feat(cron): 0.1.0 2018-02-06 10:22:17 +01:00
Julien Fontanet
be3b684866 feat(cron): better API (#40) 2018-02-06 10:20:11 +01:00
Julien Fontanet
179aadafa4 feat(xo-server): update value-matcher to 0.1.0 2018-02-05 15:52:05 +01:00
Julien Fontanet
f9dc129601 chore(value-matcher): remove unused @babel/polyfill 2018-02-05 15:47:24 +01:00
Julien Fontanet
6beea2d208 feat(value-matcher): 0.1.0 2018-02-05 15:44:02 +01:00
Julien Fontanet
57ef84ad3b feat(value-matcher): add __and operator (#43) 2018-02-05 15:34:55 +01:00
Julien Fontanet
9d9fdcff1e feat(normalize-packages): remove lint-staged 2018-02-05 14:34:45 +01:00
Julien Fontanet
83e82e4789 chore: remove legacy ghooks config 2018-02-05 14:18:10 +01:00
Julien Fontanet
4a12e0b6a0 chore: predev scripts should run prebuild 2018-02-05 14:16:54 +01:00
Julien Fontanet
642118959e chore: always use yarn to run scripts 2018-02-05 14:15:57 +01:00
Julien Fontanet
600011be17 fix(test): make flow ignore node_modules 2018-02-05 13:38:54 +01:00
Julien Fontanet
6765251332 fix(test): build modules required for tests 2018-02-05 13:38:28 +01:00
Julien Fontanet
afa5b046cb fix(test): ignore some no-missing-import errors 2018-02-05 12:05:22 +01:00
Julien Fontanet
138d5627b5 chore(complex-matcher): remove unnecessary invoke 2018-02-04 16:35:57 +01:00
badrAZ
682d9e88ec feat(SortedTable): add actions property (#2609)
Fixes #2596
2018-02-02 15:34:12 +01:00
Julien Fontanet
191c531bad chore(README): xo-server is now here 2018-02-01 17:44:27 +01:00
Julien Fontanet
f026e51c54 fix(xo-server): pass appDir to appConf 2018-02-01 16:30:39 +01:00
Julien Fontanet
693afc52ff chore(gitignore): add missing entry 2018-02-01 14:38:19 +01:00
Julien Fontanet
b22914e88a chore(xo-server): adapt to monorepo 2018-02-01 14:23:17 +01:00
Julien Fontanet
50b081608f Merge branch 'xo-server/master' 2018-02-01 14:17:39 +01:00
Julien Fontanet
214528a880 feat(xo-server): move all files to packages/xo-server 2018-02-01 14:17:39 +01:00
Julien Fontanet
4f13b32f9a fix(collection/redis): rebuidIndexes don't fail on missing items (#651)
Instead of failing when an id refers to a no missing item, simply remove it from the index.
2018-02-01 14:15:57 +01:00
Julien Fontanet
8ce8f5763c chore(cron): update dependencies 2018-02-01 11:52:45 +01:00
Pierre Donias
1e5b2f54c3 chore: use debounce-input-decorator (#2608) 2018-02-01 11:34:42 +01:00
Julien Fontanet
348bc16d6d feat: cron (#34) 2018-02-01 11:28:16 +01:00
Julien Fontanet
ff2c69102d chore(complex-matcher): new parser implementation (#37) 2018-02-01 11:27:49 +01:00
Julien Fontanet
9479b7dc74 chore(xen-api): typo
Fixes vatesfr/xo-web#2606
2018-02-01 11:02:07 +01:00
Julien Fontanet
39f4e13915 chore(package): update dependencies 2018-02-01 10:33:26 +01:00
Julien Fontanet
5ea9f26ec4 chore(package): update dependencies 2018-02-01 10:14:53 +01:00
Julien Fontanet
c1d9cc7e2a 5.16.0 2018-01-31 18:41:15 +01:00
Julien Fontanet
6b80124a35 5.16.0 2018-01-31 18:39:34 +01:00
badrAZ
83a3754fe5 feat(vm/tab-advanced): move in/out of a resource set (#2601)
Fixes #1913
2018-01-31 18:39:12 +01:00
badrAZ
bf9b53c4d9 feat(vm.set): move a vm in to/out of a Self Service Group (#649)
See vatesfr/xo-web#1913
2018-01-31 18:37:29 +01:00
Rajaa.BARHTAOUI
2b5f7dc8de feat(settings/remotes): use SortedTable (#2465)
See #2416
2018-01-31 15:13:25 +01:00
Julien Fontanet
4349911076 fix(SortedTable): sort info in the URL (#2604)
Fixes #2584
2018-01-31 14:48:41 +01:00
Rajaa.BARHTAOUI
152f68624c feat(tasks): use SortedTable (#2532)
See #2416
2018-01-31 13:54:03 +01:00
Pierre Donias
3770194598 feat(vm/tab-network): allow self-user to create VIF (#2603)
Fixes #2593
2018-01-31 13:21:03 +01:00
Pierre Donias
2b4a7c40e1 feat(vm): allow self-user to create interface (#650)
See vatesfr/xo-web#2593
2018-01-31 13:16:03 +01:00
Julien Fontanet
62a9158074 chore: update dependencies 2018-01-31 09:44:37 +01:00
Nicolas Raynaud
354fd88028 feat(xo-server-perf-plugin): initial release (#33) 2018-01-31 09:41:28 +01:00
Pierre Donias
1b191c2bc9 fix(settings/servers): sortCriteria (#2600) 2018-01-30 16:53:46 +01:00
Pierre Donias
f94212729a feat: can force delete a VM if operation is blocked (#2598)
Fixes #2525
2018-01-30 10:48:04 +01:00
Julien Fontanet
43e5398d99 fix(api/vm): coding style 2018-01-30 10:36:26 +01:00
Julien Fontanet
920107e13f chore(vm.delete): deleteDisks by default 2018-01-30 10:26:26 +01:00
Pierre Donias
d52bed9618 feat(vm/delete): force param to bypass blocked_operations (#648)
See vatesfr/xo-web#2525
2018-01-30 10:19:26 +01:00
badrAZ
5ecc31b977 feat(VM/Snapshots): add grouped deletion to the SortedTable (#2597)
Fixes #2595
2018-01-29 17:15:11 +01:00
badrAZ
ed3ecc6f4e fix(form/select): autoSelectSingleOption fixes (#2594)
Fixes #2590

- emit option, not its value
- support `simpleValue` behavior
- only trigger when there are no selected options
2018-01-29 14:54:47 +01:00
badrAZ
add10ea556 feat(dashboard): allow the user in self service to see its quotas (#2268)
Fixes #1538
2018-01-29 10:44:43 +01:00
Julien Fontanet
d627fad299 5.15.7 2018-01-27 13:28:39 +01:00
Julien Fontanet
6f8b31eaa2 chore(package): update xen-api to 0.16.4 2018-01-26 16:38:59 +01:00
Julien Fontanet
8d47c83117 feat(xen-api): 0.16.4 2018-01-26 16:32:46 +01:00
Julien Fontanet
75ddf2681e fix(xen-api): only remove ghost tasks (#36)
Do not trigger incorrect "task destroyed before completion".
2018-01-26 16:28:22 +01:00
Julien Fontanet
4ad72b2ef0 chore(xen-api): _sessionCall "args" is optionnal 2018-01-26 16:16:00 +01:00
Julien Fontanet
a7334061ef fix(xen-api): _sessionCall "args" is an array 2018-01-26 16:13:18 +01:00
badrAZ
c89c7dab60 feat(job/log): improve Unhealthy VDI Chain message (#2588)
Fixes #2586
2018-01-26 16:00:04 +01:00
Julien Fontanet
0e0e4aae69 feat(complex-matcher): 0.2.1 2018-01-26 15:21:18 +01:00
Julien Fontanet
971c039086 feat(complex-matcher): number are matched recursively 2018-01-26 15:17:46 +01:00
Julien Fontanet
5e8e1968e1 feat(normalize-packages): remove babel-jest 2018-01-26 13:30:52 +01:00
Julien Fontanet
76a1c827d1 chore(package): update dependencies 2018-01-26 13:29:56 +01:00
Julien Fontanet
a4ab028ad6 feat(complex-matcher): 0.2.0 2018-01-25 16:57:29 +01:00
Pierre Donias
d2fdf0586c feat(modal): strong confirmation modal (#2529)
Fixes #2522 

- New modal that requires the user to type a message to confirm an action
- Integration of this modal on bulk VMs deletion
2018-01-25 15:03:16 +01:00
Julien Fontanet
0825806093 5.15.6 2018-01-25 10:12:54 +01:00
Julien Fontanet
44b1bee080 Merge branch 'stable' 2018-01-25 10:11:21 +01:00
badrAZ
d87f54d4a4 feat(job/log): display start/end time for each call and precise its duration (#2284)
Fixes part of #2270
2018-01-24 18:14:35 +01:00
Julien Fontanet
dc12896b19 chore(package): update react-virtualized (#2556)
`form/select` has been redeveloped for the occasion with the following features:
- not clearable when required and not multiple
- when no options available, marked as loading
- when required and only one option, it is automatically selected
2018-01-24 14:51:12 +01:00
Pierre Donias
23e992de85 fix(vm/network): remove "attached?" default filter (#2581)
Fixes #2548
2018-01-24 14:47:05 +01:00
Julien Fontanet
6f6b047537 chore(package): update xen-api to 0.16.3
Fixes vatesfr/xo-web#2579
2018-01-24 14:09:54 +01:00
Julien Fontanet
9fc6013934 feat(xen-api): 0.16.3 2018-01-24 14:07:32 +01:00
Julien Fontanet
8a02d557f4 feat(xen-api): handle ghost tasks (#35)
See vatesfr/xo-web#2579
2018-01-24 14:06:46 +01:00
Julien Fontanet
1406f1f8e5 5.15.5 2018-01-19 13:11:03 +01:00
Julien Fontanet
d5f6b65861 fix(Xapi#remoteCopyVm): fix VM renaming 2018-01-19 13:09:12 +01:00
Pierre Donias
8d2bbe86d5 fix(vm/create): bad resource set condition (#647) 2018-01-19 13:02:47 +01:00
badrAZ
1a2f553094 fix(vm): hide cores per socket selector when no container (#2221) 2018-01-18 15:35:03 +01:00
badrAZ
4d69866532 feat(migrate-vm-modal): controlled form (#2259) 2018-01-18 10:40:07 +01:00
Julien Fontanet
bdddea2e29 feat(complex-matcher): support numbers (#32) 2018-01-17 12:06:44 +01:00
Julien Fontanet
be4ca0eede chore(complex-matcher): remove @babel/polyfill
Should be unnecessary.
2018-01-17 11:01:32 +01:00
Pierre Donias
495c97b44b fix(xo): links to /xoa/update & www-xo forum (#2571) 2018-01-16 16:53:59 +01:00
Pierre Donias
e817b3254e fix(vm/network): duplicate key error (#2570)
Fixes #2553
2018-01-16 11:41:27 +01:00
Julien Fontanet
dd6987efe9 fix(SortedTable): infinite loop when displaying last page (#2568)
Fixes #2569
2018-01-15 16:56:00 +01:00
Julien Fontanet
d7f8d12d88 chore(prop-types-decorator): deprecate 2018-01-15 12:48:22 +01:00
Julien Fontanet
504895a730 chore(package): update dependencies 2018-01-15 12:37:00 +01:00
Rajaa.BARHTAOUI
cde92836f3 feat(user/ssh): use SortedTable (#2514)
See #2416
2018-01-12 14:56:47 +01:00
Pierre Donias
9158e33546 fix(proxy-console): socket.close() → socket.end() (#646) 2018-01-11 16:47:12 +01:00
Rajaa.BARHTAOUI
c787988b06 feat(pool,vm/logs): use SortedTable (#2513) 2018-01-11 14:51:59 +01:00
Julien Fontanet
316d71b34d chore(xen-api): remove unused import 2018-01-11 11:22:16 +01:00
Julien Fontanet
1b344b7d9c 5.15.4 2018-01-10 11:32:01 +01:00
Pierre Donias
3df01cd0cf chore(patching/bulk): omit XS-upgrade patches (#645)
Fixes vatesfr/xo-web#2564
2018-01-10 11:28:04 +01:00
Julien Fontanet
d2331bb62f fix(api/vm): export start and importDeltaBackup 2018-01-10 11:23:31 +01:00
Julien Fontanet
51504cc6a3 5.15.3 2018-01-09 17:55:19 +01:00
Julien Fontanet
cd03ebe49d fix(package): update xen-api to 0.16.2 2018-01-09 17:55:07 +01:00
Julien Fontanet
86c7ae3693 fix(package): update xen-api to 0.16.2 2018-01-09 17:50:34 +01:00
Julien Fontanet
6e3b85e764 chore(Xapi): remove unnecessary default values 2018-01-09 17:50:20 +01:00
Julien Fontanet
b3bc9a2edd fix(package): update xen-api to 0.16.2 2018-01-09 17:48:04 +01:00
Julien Fontanet
90369acb63 fix(xen-api): remove undefined fields during preparation 2018-01-09 17:47:46 +01:00
Julien Fontanet
94e84ce55f fix(package): update xen-api to 0.16.1 2018-01-09 17:31:37 +01:00
Julien Fontanet
68cef1aa5d feat(xen-api): 0.16.1 2018-01-09 17:28:42 +01:00
Julien Fontanet
2f9ecb8fa8 fix(xen-api): fix integer param preparation 2018-01-09 17:28:13 +01:00
Julien Fontanet
6281374cf3 chore(package): update dependencies 2018-01-09 17:25:42 +01:00
Julien Fontanet
13580923ea fix(api/vm): export delete method 2018-01-09 15:19:23 +01:00
Julien Fontanet
898434b267 Revert "chore(package): use React 16 (#2552)"
This reverts commit c8669dc88f.

Let's go back to React 15 until we move away from react-bootstrap.
2018-01-09 14:21:03 +01:00
Julien Fontanet
6f6e760a25 feat(normalize-packages): remove package-lock.json 2018-01-09 11:36:37 +01:00
Julien Fontanet
38fb549709 feat(import-packages): no commit hooks on move 2018-01-09 11:36:27 +01:00
Julien Fontanet
6e44c65a07 chore: fixes various warnings (#2554) 2018-01-08 15:18:15 +01:00
Julien Fontanet
736b00b4e2 chore(test): minor conf 2018-01-08 14:47:50 +01:00
Julien Fontanet
b5a139619a chore(build): remove Gulp & co. 2018-01-08 14:47:39 +01:00
Julien Fontanet
03028bca50 chore(Pagination): own implementation instead of react-bootstrap (#2549) 2018-01-08 14:43:50 +01:00
Julien Fontanet
b835c5bd40 chore(api): decaffeinate vm (#644) 2018-01-08 14:31:04 +01:00
Julien Fontanet
a65b1325fc chore(api): decaffeinate vbd (#642) 2018-01-08 13:56:41 +01:00
Julien Fontanet
cfcd302294 chore(api): decaffeinate vdi (#643) 2018-01-08 12:00:30 +01:00
Julien Fontanet
a601154fc7 chore(api): decaffeinate host (#641) 2018-01-08 11:48:32 +01:00
Julien Fontanet
c8669dc88f chore(package): use React 16 (#2552) 2018-01-08 09:46:08 +01:00
Julien Fontanet
82240979c2 chore(react-select): autofocus → autoFocus (#2550) 2018-01-08 09:40:35 +01:00
Julien Fontanet
db5d495105 fix(addSubscription): export as default 2018-01-05 15:52:35 +01:00
Julien Fontanet
6e8dfe8833 chore(utils): remove unused checkPropsState 2018-01-05 15:48:21 +01:00
Julien Fontanet
242d9e20c4 chore(addSubscriptions): move into own module 2018-01-05 15:48:21 +01:00
Julien Fontanet
d4e46a0696 chore(package): update dependencies 2018-01-05 13:40:06 +01:00
Julien Fontanet
d5deaf72f7 5.15.2 2018-01-04 11:52:24 +01:00
Julien Fontanet
f9c942d526 fix(Xapi#createVbd): explicitly cast to boolean (#640)
Fixes vatesfr/xo-web#2558

Necessary because Xapi objects may contains integers instead of booleans.
2018-01-04 11:49:07 +01:00
Julien Fontanet
e446eb0cd0 chore(build): fix PostCSS warning 2018-01-03 18:26:02 +01:00
Julien Fontanet
b63efe579a fix(build): temporary use stage-0
The compiled code has an issue with stage-3 and plugins
2018-01-03 15:50:08 +01:00
Julien Fontanet
f3410f1491 chore(package): remove unused redux devtool 2018-01-03 15:03:09 +01:00
Julien Fontanet
b27ac11d56 chore(jsx): remove unnecessary braces 2018-01-03 10:00:32 +01:00
Julien Fontanet
a55d73614e chore(package): missing peer dependency 2018-01-02 22:29:02 +01:00
Julien Fontanet
25cd1957c7 chore(package): update Babel conf
- preset-es2015 → preset-env
- preset-stage-0 → preset-stage-3 + handpicked plugins
2018-01-02 22:20:55 +01:00
Pierre Donias
abd97abc24 fix(xosan): beta-is-over message (#2546) 2018-01-02 21:50:40 +01:00
Julien Fontanet
6ddfd909f0 chore(package): add clean script 2018-01-02 19:01:33 +01:00
Julien Fontanet
e054eec555 chore(gulpfile): fix sourcemaps 2018-01-02 19:01:33 +01:00
Olivier Lambert
e253657770 feat(home): bulk suspend VMs (#2551)
Fixes #2547
2018-01-02 17:16:11 +01:00
Olivier Lambert
041c32a4a7 feat(vm.start): resume VM if suspended (#639) 2018-01-02 16:47:42 +01:00
Julien Fontanet
102e629e16 chore(package): update dependencies 2018-01-02 10:04:27 +01:00
Julien Fontanet
2d0e3b93cc chore(import-packages): simplify move_commit implementation 2017-12-31 17:43:05 +01:00
Julien Fontanet
668d572549 feat(import-packages): add commit mode and make it the default 2017-12-31 13:15:19 +01:00
Julien Fontanet
e023809c8c feat(import-packages): import all branches 2017-12-31 00:46:41 +01:00
Julien Fontanet
0bcabb9f0d chore(Xapi#createVdi): better implementation (#637)
- accept a VDI record as sole parameter
- accept a high level size parameter which will be parsed if necessary
- remove unused `Xapi#_createVdi()`
2017-12-29 23:26:56 +01:00
Julien Fontanet
594a9d5399 chore(Xapi#createVbd): returns undefined (#638)
The returned ref is unused for now.
2017-12-29 23:26:24 +01:00
Julien Fontanet
242a02836c 5.15.1 2017-12-29 17:26:35 +01:00
Julien Fontanet
b144382831 5.15.1 2017-12-29 17:24:16 +01:00
Pierre Donias
6936f223f3 fix(new-xosan): suggestions can be null as well (#2544) 2017-12-29 17:24:00 +01:00
Julien Fontanet
eb8dfc86ca 5.15.0 2017-12-29 16:50:51 +01:00
Pierre Donias
02c715e1cc feat(xosan): license management (#2528) 2017-12-29 16:48:21 +01:00
Julien Fontanet
7e64e1a11e 5.15.0 2017-12-29 16:09:36 +01:00
Pierre Donias
54772fad33 feat(xosan): license management (#628) 2017-12-29 16:07:49 +01:00
Olivier Lambert
8cb53b0c4e changelog for 5.15 2017-12-29 16:04:44 +01:00
Julien Fontanet
892139908b fix(Xapi#resizeVdi): XS 7.3 support (#636)
Fixes vatesfr/xo-web#2542

According to the documentation, no SR backends were supporting `resize_online`.
2017-12-29 10:20:04 +01:00
Julien Fontanet
ba6393165d fix(Xapi#moveVdi): XS 7.3 support (#635) 2017-12-29 09:57:32 +01:00
Julien Fontanet
2174a9cec7 fix(precommit hook): pass if no tests found 2017-12-28 17:19:39 +01:00
Julien Fontanet
629f68ffd7 fix(precommit hook): pass if no tests found 2017-12-28 17:18:32 +01:00
Julien Fontanet
5fe03f2934 fix(Xapi#editVm): XS 7.3 support for memory (#634)
Fixes vatesfr/xo-web#2540
2017-12-28 15:22:03 +01:00
Julien Fontanet
09e7f04794 dont use set_memory_limits if VM is running 2017-12-28 15:05:11 +01:00
Julien Fontanet
feecd51770 inline constants 2017-12-28 14:52:02 +01:00
Julien Fontanet
b5a855b2ad fix(Xapi#editVm): XS 7.3 support for memory
Fixes vatesfr/xo-web#2540
2017-12-28 14:50:11 +01:00
badrAZ
0b6bb65c17 chore(JobExecutor): use value-matcher (#633) 2017-12-28 11:51:23 +01:00
Pierre Donias
d3691313e6 chore(package): update complex-matcher (#2538) 2017-12-27 16:50:52 +01:00
Julien Fontanet
79ea50c829 feat(complex-matcher): 0.1.1 2017-12-27 16:39:57 +01:00
Julien Fontanet
8532d563de feat(complex-matcher): empty string is supported (#31) 2017-12-27 16:38:42 +01:00
Julien Fontanet
2e945e8349 chore(value-matcher): mark as public 2017-12-27 15:24:06 +01:00
Julien Fontanet
22e3037e85 feat(value-matcher): new package (#30) 2017-12-27 15:21:27 +01:00
Julien Fontanet
9aed4f6fba chore(package): use complex-matcher package (#2536) 2017-12-27 11:16:39 +01:00
Julien Fontanet
a505ded8a1 feat: run flow at root level 2017-12-27 10:49:31 +01:00
Julien Fontanet
bea7b90eb2 chore(xo-cli): update dependencies 2017-12-27 10:39:05 +01:00
Julien Fontanet
e1eb948c54 chore(package): update dependencies 2017-12-27 10:01:56 +01:00
Julien Fontanet
1b42523e2d feat(complex-matcher): new package (#28) 2017-12-22 13:08:24 +01:00
Julien Fontanet
ed7a40bc73 chore: update dependencies 2017-12-22 10:27:05 +01:00
Julien Fontanet
c8dc786008 chore: remove VM metadata export/import (#631) 2017-12-21 10:49:50 +01:00
Julien Fontanet
a6869638f5 chore(package): upgrade golike-defer to 0.4.1 (#632) 2017-12-21 09:55:13 +01:00
Julien Fontanet
3ef08d3d5e chore(package): update dependencies 2017-12-19 16:35:06 +01:00
Julien Fontanet
ef17cb1c6c fix: remove unused PropTypes 2017-12-18 17:08:38 +01:00
Julien Fontanet
ecc086f15d chore: do not use React.PropTypes directly 2017-12-18 17:00:04 +01:00
Julien Fontanet
be9eb8ce91 chore(package): update dependencies 2017-12-18 17:00:04 +01:00
Julien Fontanet
5b7a9fe969 fix(scripts/utils): ignore missing package.json 2017-12-18 14:10:13 +01:00
Julien Fontanet
97d54cab11 chore: update dependencies 2017-12-18 13:14:39 +01:00
Julien Fontanet
980a1cc205 chore(normalize-packages): remove ESLint config 2017-12-15 14:45:53 +01:00
Julien Fontanet
9517686e22 chore(normalize-packages): remove .travis.yml 2017-12-15 14:45:17 +01:00
Julien Fontanet
4905a0310a feat: use ESLint instead of standard (#630) 2017-12-15 14:18:47 +01:00
Julien Fontanet
d2f88d0a02 5.14.3 2017-12-15 14:04:42 +01:00
Julien Fontanet
76000d2563 feat(package): XenServer 7.3 support 2017-12-15 14:03:08 +01:00
Julien Fontanet
bc02d51882 feat(xen-api): 0.16.0 2017-12-15 13:59:34 +01:00
Julien Fontanet
aada9e4a33 feat(xen-api): XenServer 7.3 support (#27)
XenServer 7.3 has changed the error format.
2017-12-15 13:58:31 +01:00
Julien Fontanet
cf47a80676 chore(package): always use yarn 2017-12-14 18:51:47 +01:00
Julien Fontanet
c190067181 chore(README): always use yarn 2017-12-14 18:01:51 +01:00
Julien Fontanet
4490a2508b chore(package): update ignored files 2017-12-14 18:00:57 +01:00
Julien Fontanet
938e7704e6 chore(editorconfig): minor fixes and updates 2017-12-14 18:00:20 +01:00
Rajaa.BARHTAOUI
18ca6b935c feat(host/network): use SortedTable (#2512)
See #2416
2017-12-14 16:07:32 +01:00
Julien Fontanet
b3769019e5 fix(react-novnc): support IPv6 in URL (#2531)
Fixes #2530
2017-12-14 14:39:49 +01:00
Rajaa.BARHTAOUI
506a6b0cf4 feat(vm/network): use SortedTable (#2460)
See #2416
2017-12-14 11:42:52 +01:00
Julien Fontanet
a18df93c4f chore: remove incorrect file
This file has been added by mistake during prettier integration.
2017-12-13 16:06:57 +01:00
Julien Fontanet
d93eda34c9 feat(XapiStats): limit concurrency (#627)
Avoid major memory issues.
2017-12-12 19:22:55 +01:00
Pierre Donias
684269321b fix(select): multi select should not close on item selection (#2526)
New default behaviour introduced by react-select v1.0.0-rc.9
2017-12-12 13:10:41 +01:00
Julien Fontanet
b84ad98fd0 chore(remote-handlers): minor changes 2017-12-12 12:40:55 +01:00
Julien Fontanet
abf526f91a chore(normalize-package): remove eslint 2017-12-12 12:31:39 +01:00
Julien Fontanet
c06020745e chore(import-packages): support git URLs 2017-12-12 12:08:21 +01:00
Julien Fontanet
431b85c98f chore(package): split pretest into pretest and test 2017-12-12 12:07:06 +01:00
Julien Fontanet
299fdc19d6 chore(scripts): coding style 2017-12-12 12:06:32 +01:00
Julien Fontanet
7531a25588 feat(XapiStats): limit concurrency 2017-12-12 10:00:49 +01:00
Julien Fontanet
d8f89191e8 5.14.2 2017-12-11 15:36:37 +01:00
Julien Fontanet
d9ad53d954 fix(backupVm): remove XVA on failure (#626)
Fixes vatesfr/xo-web#2524
2017-12-11 14:40:52 +01:00
Julien Fontanet
043fc5cdfc feat(NFS): force unmount (#625)
See vatesfr/xo-web#2496
2017-12-08 17:22:27 +01:00
Rajaa.BARHTAOUI
d7eeeca268 SortedTable/groupedActions: disabled props (#2471)
* Fixes conflits

* Fixes

* Fixes
2017-12-08 15:37:19 +01:00
Pierre Donias
4c21175ca7 feat(notification/error): link to settings/logs for admins (#2521)
Fixes #2516
2017-12-07 11:08:11 +01:00
Julien Fontanet
377efcd054 feat(ButtonLink): a button which acts like a link (#2144) 2017-12-07 10:28:47 +01:00
Pierre Donias
072401f600 fix(VM/disks/attach): confusing button label (#2520) 2017-12-06 16:19:06 +01:00
Pierre Donias
1ce7d94261 feat(self/edit): add labels to each field (#2519)
Fixes #2509
2017-12-06 15:58:52 +01:00
Julien Fontanet
8178de8a6b chore: prettify non-source files 2017-12-06 13:52:12 +01:00
Julien Fontanet
eb37c7d7d8 chore(package): update prettier to 1.9.1 2017-12-06 13:47:01 +01:00
Pierre Donias
9465459ef9 fix(xoa-update): ansi_up (#2518) 2017-12-06 11:52:35 +01:00
Julien Fontanet
bf3f9b4ac2 chore(ci): test on old-LTS, LTS and stable 2017-12-05 18:37:03 +01:00
Pierre Donias
52a71cec91 fix(messages): bad prettier wrapping on some messages (#2517) 2017-12-05 17:37:53 +01:00
Julien Fontanet
4c91667d2c chore: remove dependency-check (#25) 2017-12-05 11:46:02 +01:00
Julien Fontanet
a3fe9aff94 chore(api): only set id from namespace if string 2017-12-05 09:00:07 +01:00
Julien Fontanet
ed45888d7f fix(xen-api): handle RO in createTask() and putResource() 2017-12-03 18:10:57 +01:00
Julien Fontanet
dbadc487ae chore(package): update dependencies 2017-12-03 18:10:57 +01:00
Julien Fontanet
a5b80655da chore: clean Babel configs (#24)
- avoid using stage-0
- remove deprecated preset-latest in favor of preset-env
2017-11-27 12:59:04 +00:00
Julien Fontanet
99d4789049 chore(xen-api): properly logout on disconnect() 2017-11-26 20:07:28 +00:00
Julien Fontanet
2de4163553 fix(xen-api): handle RO in callAsync() 2017-11-26 20:00:40 +00:00
Julien Fontanet
0fc0be19b2 feat(xen-api): XenApi#getRecord() 2017-11-26 20:00:40 +00:00
Julien Fontanet
3c271ffffd feat(xo-cli): prepare params 2017-11-26 20:00:40 +00:00
Julien Fontanet
155422bcb5 chore(package): remove dependency-check
Requires the code to be built.
2017-11-24 17:58:39 +01:00
Julien Fontanet
68b6dc5985 fix(xo#_watchObjects): call on start
The bug was introduced in bd18a92.
2017-11-24 17:43:12 +01:00
Julien Fontanet
1aa793886b feat(xo-server-transport-email): 0.5.0 2017-11-24 14:03:59 +01:00
Julien Fontanet
46cd2f10a5 feat(xo-server-auth-saml): 0.5.0 2017-11-24 14:02:06 +01:00
Julien Fontanet
337abe2a2b feat(xo-server-auth-ldap): 0.6.4 2017-11-24 14:00:37 +01:00
Julien Fontanet
0441103f0c feat(xo-cli): 0.10.1 2017-11-24 13:57:36 +01:00
Julien Fontanet
b5829e2484 chore(package): update dependencies 2017-11-24 13:35:51 +01:00
Rajaa.BARHTAOUI
2e1b32fadc feat(jobs/schedules): use SortedTable (#2483)
See #2416
2017-11-24 11:03:57 +01:00
Julien Fontanet
0c8f3ea824 chore(package): prepublish → prepublishOnly 2017-11-23 12:19:48 +01:00
Julien Fontanet
c23be2185a chore(package): prepublish → prepublishOnly 2017-11-23 12:19:30 +01:00
Julien Fontanet
c43ea11017 fix(api): do not log nested passwords (#624)
Fixes vatesfr/xo-web#2506
2017-11-23 11:21:06 +01:00
Julien Fontanet
bd18a9270e feat(config): run clean after import (#623) 2017-11-22 15:18:02 +01:00
Julien Fontanet
e24cba9684 feat: more normalization
- remove config.commitizen
- remove left over devDependencies[babel-eslint]
- remove scripts.commitmsg
2017-11-21 14:55:35 +01:00
Julien Fontanet
084e96be0e chore: eslint instead of standard (#22)
Custom rules:

- comma dangle
- no `var`s
- use `const` AMAP
2017-11-21 14:35:44 +01:00
Julien Fontanet
5dfefe8d35 chore: eslint instead of standard 2017-11-21 11:47:21 +01:00
Julien Fontanet
bf45cdd2b8 chore(package): update dependencies 2017-11-20 15:20:55 +01:00
Julien Fontanet
4a6ba998d4 feat(xo-server-backup-reports): 0.9.1 2017-11-20 13:55:52 +01:00
Julien Fontanet
7f953c62af chore: update human-format to 0.9.0 2017-11-20 13:53:28 +01:00
Julien Fontanet
c9412b02af chore: update dev dependencies 2017-11-20 13:52:04 +01:00
Julien Fontanet
536a9d6e50 chore(xo-server-backup-reports): remove unnecessary babel-preset-stage-0 2017-11-20 13:47:45 +01:00
Julien Fontanet
4ee0944037 feat(xo-server-backup-reports): add plugin version in footer (#23) 2017-11-20 10:20:40 +01:00
Julien Fontanet
98f5db9fbd feat: standard and jest only on committed files 2017-11-17 15:45:15 +01:00
Julien Fontanet
fd47403ec9 5.14.2 2017-11-17 14:59:08 +01:00
Julien Fontanet
bbefa3a009 5.14.1 2017-11-17 14:57:12 +01:00
Julien Fontanet
575fe300fa feat(xo-server-backup-reports): 0.9.0 2017-11-17 14:51:21 +01:00
badrAZ
137b8e7f7f feat(job/log): add merge size and speed (#2488)
Fixes #2426
2017-11-17 14:42:34 +01:00
badrAZ
4749e452c4 feat(xo-server-backup-reports): add merge size and speed (#21)
See vatesfr/xo-web#2426
2017-11-17 14:17:30 +01:00
badrAZ
0881b66ab6 feat(backups): get the merged data size and its duration for Delta backups (#618)
See vatesfr/xo-web#2426
2017-11-17 13:07:08 +01:00
Julien Fontanet
4a8c5a980a chore(xo): remove unused import 2017-11-16 17:03:50 +01:00
Julien Fontanet
233aca7911 chore(xo): replace superagent by fetch 2017-11-16 16:51:48 +01:00
Pierre Donias
50966dce5d fix(xapi-object-to-xo/vm): auto_poweron (#621)
Fixes vatesfr/xo-web#2489
2017-11-16 11:21:49 +01:00
Julien Fontanet
0e6bcefee6 feat: run clean at startup (#620)
Fixes vatesfr/xo-web#2492
2017-11-16 11:10:09 +01:00
Julien Fontanet
41ec831df0 feat(xo.clean): remove all but 1e4 most recent logs
See vatesfr/xo-web#2492
2017-11-15 11:11:32 +01:00
Julien Fontanet
0178ce0a91 fix(logs): better filters without false positives (#2468) 2017-11-15 10:50:07 +01:00
Julien Fontanet
142233453a fix(lint-staged): always create stash (#2494)
To avoid failing `git stash pop`.
2017-11-14 18:17:14 +01:00
Julien Fontanet
b12a804fb3 fix(test): eslint run 2017-11-14 16:20:12 +01:00
Julien Fontanet
3fe5efbfab feat: prettier integration (#2490) 2017-11-14 15:25:02 +01:00
Nicolas Raynaud
f33ea6c47c feat(xosan): rc1 (#608) 2017-11-13 17:58:53 +01:00
Julien Fontanet
f419ec5702 chore(package): update dependencies 2017-11-13 17:36:10 +01:00
Julien Fontanet
24b7dc1c30 feat(xen-api): 0.15.1 2017-11-13 17:25:54 +01:00
Julien Fontanet
4619e387ad chore(Xapi#createCloudInitConfigDrive): ignore all import errors
Fixes vatesfr/xo-web#2478
2017-11-13 17:18:55 +01:00
Julien Fontanet
d7d2425435 chore(Xapi#createCloudInitConfigDrive): remove useless param 2017-11-13 17:15:05 +01:00
Julien Fontanet
2c99a4db0f feat(xen-api): expose putResource URL on failure 2017-11-13 16:03:58 +01:00
Pierre Donias
d71323a67d feat(SortedTable): pass objects instead of ids to action handlers (#2476) 2017-11-09 15:10:54 +01:00
Olivier Lambert
8dd5428ef6 feat(vm.deltaCopy): add *Continuous Replication* tag to copies (#617)
Fixes vatesfr/xo-web#2473
2017-11-08 15:10:59 +01:00
Julien Fontanet
88d9111196 feat: run jest at root level 2017-11-08 15:04:07 +01:00
Julien Fontanet
8ec30ec76d chore(package): update xen-api to 0.15.0
Fibonacci backoff on XenAPI calls.
2017-11-08 11:34:24 +01:00
Julien Fontanet
eb46711e34 chore(package): update dependencies 2017-11-08 11:31:44 +01:00
Julien Fontanet
748b09d8fa feat(home): use more formatSizeShort 2017-11-08 11:18:39 +01:00
Julien Fontanet
17e9885586 feat(xen-api): 0.15.0 2017-11-08 11:02:33 +01:00
Julien Fontanet
826628b18f chore(normalize-packages): remove commitizen 2017-11-08 10:56:18 +01:00
Olivier Lambert
e6a32b53fc feat(home/VM): add sparklines in the expanded view (#2470)
Fixes #2469

* chore(home): mutualize MiniStats
2017-11-08 10:12:35 +01:00
Julien Fontanet
7ce9e8a959 chore(grid): add docs 2017-11-07 16:26:59 +01:00
Julien Fontanet
a49c9d646c fix(Travis): do not test on Node 4 2017-11-06 10:14:18 +01:00
Julien Fontanet
d7e2690430 fix(XoStore): import repair directly from level 2017-11-06 10:09:24 +01:00
Julien Fontanet
71ab2dedb9 chore(package): update dependencies 2017-11-06 10:00:38 +01:00
Julien Fontanet
b817cb86d0 5.14.1 2017-11-03 09:53:24 +01:00
Pierre Donias
3e1b2119c4 fix(new-vm): handle creation without vGPU (#2467)
Fixes #2466
2017-11-03 09:53:09 +01:00
Julien Fontanet
bfa31be3b7 5.14.0 2017-10-31 17:52:13 +01:00
Julien Fontanet
9e9027d4c6 5.14.0 2017-10-31 17:47:24 +01:00
Pierre Donias
584da2f56a feat(VM): add vGPUs support (#2463)
Fixes #2413
2017-10-31 17:46:23 +01:00
Pierre Donias
a43dfc62c2 feat(VM): create/destroy vGPUs (#615)
See vatesfr/xo-web#2413
2017-10-31 17:46:07 +01:00
Olivier Lambert
6a071942a5 feat(changelog): update changelog for 5.14 release 2017-10-31 13:48:01 +01:00
Nicolas Raynaud
ac8787e930 fix(XOSAN): missing brackets in JSX (#2454) 2017-10-30 16:59:10 +01:00
Julien Fontanet
ab60bc46cf chore(xo/deleteMessage): typo (#2461) 2017-10-30 14:52:37 +01:00
Julien Fontanet
c84f61d388 feat: standard run at root level
Simplify & uniformize standard confirmation.
Single pass for all packages, which is faster.

Unfortunately, it breaks atom's linter-js-standard.
2017-10-30 10:59:35 +01:00
Julien Fontanet
11b1ff478e feat: use Yarn workspaces
Much faster installation which is very important for CI.

We'll see if it proves difficult for deps management.
2017-10-30 10:59:35 +01:00
Julien Fontanet
ea7c44b544 feat(xen-api): implements Fibonacci backoff (#17) 2017-10-28 13:14:15 +02:00
Olivier Lambert
b67310ae75 feat(vm): add snapshot description. (#2459)
Fixes #2458
2017-10-27 14:02:11 +02:00
Julien Fontanet
56cf6fba2f feat(vm.deltaCopy): include time in replication name (#614)
Fixes vatesfr/xo-web#2431
2017-10-26 18:18:37 +02:00
Pierre Donias
020618554a feat(SortedTable/individualActions): disabled prop (#2456) 2017-10-25 11:22:48 +02:00
Julien Fontanet
38ec7ac34f 5.13.3 2017-10-24 15:51:19 +02:00
Julien Fontanet
ef9f75514f feat(xapi-objects-to-xo): add gpuGroup and vgpuType (#613)
See vatesfr/xo-web#2413
2017-10-23 15:48:08 +02:00
Olivier Lambert
bd4644dd4f use camelCase everywhere 2017-10-23 15:40:39 +02:00
Olivier Lambert
f419cd6ac8 finalize all needed XAPI to XO objects for VGPU management 2017-10-23 15:21:35 +02:00
Olivier Lambert
e714303f96 use double escape to get the right type 2017-10-23 11:57:59 +02:00
Julien Fontanet
a78151c93e feat(home): sort VMs by snapshots (#2451)
Fixes #2450
2017-10-23 11:46:04 +02:00
Julien Fontanet
285b1fb36e fix(new-vm): multiline cloud config 2017-10-23 11:39:18 +02:00
Julien Fontanet
50581c539c chore(xo-cli): use modern ES 2017-10-23 11:14:46 +02:00
Julien Fontanet
16e8c87cc6 5.13.2 2017-10-23 10:17:00 +02:00
Olivier Lambert
6eed3f2fc7 last modifications 2017-10-21 18:50:09 +02:00
Olivier Lambert
7c5000d588 feat(objects): add gpu group and vgpu type 2017-10-20 22:30:11 +02:00
Olivier Lambert
93ffb77e81 fix(vm snapshot): copyVm accepts Id (#2447)
Fixes #2446
2017-10-20 16:46:56 +02:00
Julien Fontanet
ec0dd0b174 chore(recover-account): live → leave 2017-10-20 10:14:43 +02:00
Julien Fontanet
88f6d77047 fix(vm/snapshots): reverse chronological order
Fixes #2442
2017-10-19 16:31:56 +02:00
Pierre Donias
3ff63927f3 feat(updater): troubleshooting link on updater error (#2443)
Fixes #1610
2017-10-19 10:15:34 +02:00
Julien Fontanet
a5f55c5f92 5.13.2 2017-10-18 17:53:50 +02:00
Julien Fontanet
7412a6c01b fix(constant-stream): move outside of node_modules
npm 5 correctly not package all node_modules entries, therefore breaking
xo-server package.
Stop doing this for the moment.
2017-10-18 17:53:00 +02:00
Julien Fontanet
d396593d99 5.13.1 2017-10-18 17:40:28 +02:00
Julien Fontanet
62b64ad0b6 feat(file restore): improve multiple files selection UX (#2440)
- keep select empty
- keep select open after file selection
- remove selected files from options

Fixes #2438
2017-10-18 17:34:23 +02:00
Julien Fontanet
5983ea32fd 5.13.1 2017-10-18 17:20:58 +02:00
Pierre Donias
6f33a79644 feat(patches): hide paid patches to XS-free users (#2441)
Fixes #2382
2017-10-18 17:14:46 +02:00
Pierre Donias
5716130e6f feat(patching): expose paid prop & do not install paid patches (#612)
See vatesfr/xo-web#2382
2017-10-18 17:14:41 +02:00
Olivier Lambert
67f31407d7 feat(home/host): include XS version in expanded view. Fixes #2439 2017-10-18 16:25:42 +02:00
Julien Fontanet
37f0bffcaa feat(xo-cli): 0.10.0 2017-10-17 17:14:38 +02:00
Julien Fontanet
0e6a460332 feat(xo-cli): register supports expiresIn flag
See vatesfr/xo-web#1769
2017-10-17 17:13:33 +02:00
Julien Fontanet
f05d2d0063 chore(gulpfile): do not watch node_modules 2017-10-17 17:08:05 +02:00
Julien Fontanet
28172607c6 feat(token.create): expiresIn param (#611)
Fixes vatesfr/xo-web#1769
2017-10-17 15:22:34 +02:00
Julien Fontanet
682deb4b56 chore(Scheduler): columns break under large 2017-10-16 15:36:07 +02:00
Julien Fontanet
64fac454b5 chore(Scheduler): align center 2017-10-16 15:35:38 +02:00
Julien Fontanet
cdd9eed3d8 chore(utils/scheduleFn): add comment regarding month range 2017-10-16 15:25:30 +02:00
Julien Fontanet
e9c60bc958 fix(SchedulePreview): fix month mapping (#2435)
Fix #2427
2017-10-16 15:13:25 +02:00
badrAZ
7a8c0831bd fix(backup): use retention instead of depth (#2092)
Fixes #1935
2017-10-16 10:21:47 +02:00
Julien Fontanet
0ca1af8606 feat(Scheduler): group months/days and hours/minutes 2017-10-16 10:19:18 +02:00
Julien Fontanet
34ef2700f2 fix(api): do not log password param (#610)
Fixes vatesfr/xo-web#2363
2017-10-16 10:06:24 +02:00
Julien Fontanet
e81f88e676 feat(SortedTable): snappier filter (#2430)
- lower typing debounce (500ms → 250ms)
- no more debounce on selection in filters list
- no more debounce on clear
2017-10-16 09:55:50 +02:00
Julien Fontanet
e96a8af9ef feat(scheduling): group hours in 4 rows of 6 (#2433)
Easier to understand than in 3 rows of 8.
2017-10-16 09:32:15 +02:00
Julien Fontanet
d8393d8500 feat(SortedTable): save page in URL (#2421)
Fixes vatesfr/xo-web#2405
2017-10-09 17:57:26 +02:00
Julien Fontanet
38742d0668 chore(package): update xen-api to 0.14.3
Related to vatesfr/xo-web#2418
2017-10-09 12:37:19 +02:00
Julien Fontanet
0c9f6e0923 feat(xen-api): 0.14.3 2017-10-09 12:02:11 +02:00
Julien Fontanet
56d6347209 fix(xen-api): barrier compat with XS < 6.1 (#15)
New implementation needs to modify the pool record but is simpler and does not rely on `event.inject`.

Fixes vatesfr/xo-web#2418.
2017-10-09 11:58:02 +02:00
Julien Fontanet
44b74e6135 feat(vm/snapshots): use SortedTable (#2417)
See #2416.
2017-10-09 10:13:18 +02:00
Julien Fontanet
f31417a85b fix: tests and coding style 2017-10-06 19:34:12 +02:00
Julien Fontanet
1c6967594c chore(package): update dependencies 2017-10-06 17:36:34 +02:00
Julien Fontanet
2db582339a feat(xo-cli): 0.9.1 2017-10-05 20:48:23 +02:00
Julien Fontanet
7f6386dd8c fix(xo-cli): remove incorrect change 2017-10-05 20:47:47 +02:00
Julien Fontanet
92e33efc04 Merge remote-tracking branch 'xo-server-transport-slack/master' 2017-10-05 18:18:25 +02:00
Julien Fontanet
805409cb48 chore: remove husky from packages deps 2017-10-05 18:01:00 +02:00
Julien Fontanet
93400352ca Merge remote-tracking branch 'xo-vmdk-to-vhd/master' 2017-10-05 17:58:30 +02:00
Julien Fontanet
585b943a52 Merge remote-tracking branch 'xo-server-auth-google/master' 2017-10-05 17:44:35 +02:00
Julien Fontanet
a0bf1bca8b Merge remote-tracking branch 'xen-api/master' 2017-10-05 17:36:11 +02:00
Julien Fontanet
738e3a0fbe feat(normalize-packages): remove .editorconfig and .gitignore 2017-10-05 17:32:32 +02:00
Julien Fontanet
05f3171910 feat(import-packages): script to import packages into monorepo 2017-10-05 17:30:39 +02:00
Julien Fontanet
f0771e4fed chore: update root deps
Do not use yarn workspaces for the moment because it's still quite buggy.
2017-10-05 16:15:00 +02:00
Julien Fontanet
a3cd3b3fb1 feat(xo-cli): 0.9.0 2017-10-05 15:41:14 +02:00
Julien Fontanet
323577f1ca chore(package): update dependencies 2017-10-05 15:38:49 +02:00
Julien Fontanet
d22619adc7 feat(list-objects): move filter to server-side 2017-10-05 13:30:20 +02:00
Julien Fontanet
59f8a58b21 feat(SortedTable): always use a valid page (#2403)
Fixes #2401
2017-10-04 18:08:45 +02:00
Julien Fontanet
4d1f647a89 feat(SortedTable): compacter pagination 2017-10-04 17:56:19 +02:00
Pierre Donias
86e5206b4d fix(XOSAN): ask user to restart toolstacks after installing XOSAN pack (#2404) 2017-10-04 17:55:34 +02:00
Julien Fontanet
d9ab8e83dc fix(XoBackups#deltaCopyVm): wait for the VDI exports to finish (#603)
It should prevent the creation of orphan snapshots on the source side.
2017-10-03 11:49:41 +02:00
Julien Fontanet
d5e783e7e6 chore(package): update dependencies 2017-10-02 11:42:08 +02:00
Julien Fontanet
105ede5b1d fix(SortedTable): fix item selection 2017-10-01 12:46:25 +02:00
Julien Fontanet
bb8a25cc9d 5.13.0 2017-09-29 16:06:39 +02:00
Pierre Donias
54c3d843be feat(SortedTable): keyboard shortcuts support (#2383)
Fixes #2330
2017-09-29 16:04:52 +02:00
Pierre Donias
4a1407786c feat(xosan): beta phase 2+ (#2394)
XOSAN: beta phase 2+
2017-09-29 15:24:09 +02:00
Julien Fontanet
f20604d3ad 5.13.0 2017-09-29 15:03:22 +02:00
Nicolas Raynaud
6b17e80e28 feat(xosan): beta 2+ (#601) 2017-09-29 14:46:34 +02:00
Olivier Lambert
f5e3aef86c feat(changelog): finishing changelog for 5.13 release 2017-09-29 14:00:14 +02:00
Julien Fontanet
37c8a7c2b2 fix(i18n): use utf-8 dots instead of 3 dots for ellipsis (#2393)
Fixes #2391
2017-09-29 13:39:56 +02:00
Olivier Lambert
1a788fae7e Merge branch 'next-release' into olt-dots 2017-09-29 11:45:38 +02:00
Julien Fontanet
8efc083a70 style(SortedTable): fix double props due to bad merge 2017-09-29 11:29:40 +02:00
Julien Fontanet
f196a9ebc4 feat(SortedTable): display message when no items (#2389)
Fixes #2388

Also:
- pagination is hidden when only one page (of non filtered items)
- filter is hidden when there are items
2017-09-29 11:07:47 +02:00
Olivier Lambert
06704ce467 fix(i18n): use utf-8 dots instead of 3 dots for ellipsis. Fixes #2391 2017-09-29 10:52:15 +02:00
Julien Fontanet
8524db2903 chore(SortedTable): avoid creating functions in render for rowAction (#2390) 2017-09-29 10:01:05 +02:00
Nicolas Raynaud
c996b61eae fix(pif.reconfigureIp): send '' to XAPI for null values (#607)
Fixes vatesfr/xo-web#2346
2017-09-28 19:24:39 +02:00
Julien Fontanet
60df3bc633 feat(SortedTable): ability to select ALL items (#2375)
Fixes #2324
2017-09-28 16:24:57 +02:00
Julien Fontanet
025cb6c6ca chore: update yarn.lock
Due to new releases of yarn
2017-09-28 14:56:53 +02:00
Julien Fontanet
5014b95206 feat(SortedTable): extend checkbox hitbox to the whole cell (#2385)
Fix #2329
2017-09-28 11:48:29 +02:00
Olivier Lambert
a2464fa968 feat(changelog): changelog for 5.13 release 2017-09-28 10:56:23 +02:00
Pierre Donias
033153c8b9 feat(VM/disks): handle add/remove VDI with self service (#2369)
Fixes #2348
2017-09-27 17:37:00 +02:00
Pierre Donias
1715dadf8f feat(self): handle add/remove VDI on VM (#605)
See vatesfr/xo-web#2348
2017-09-27 17:36:23 +02:00
Pierre Donias
a74a857ffe feat(remotes/new): warning message when SMB type is selected (#2384)
Fixes #2316
2017-09-27 16:42:55 +02:00
Julien Fontanet
f0fe369cfd fix(new/sr): loading with concurrent tasks (#2381) 2017-09-27 11:41:01 +02:00
Julien Fontanet
457ba5f24c feat(new/sr): auto select single IQN/LUN (#2380) 2017-09-27 11:13:43 +02:00
Julien Fontanet
d41b04313a chore(SelectIqn): cleaner code (#2378) 2017-09-27 10:47:51 +02:00
Olivier Lambert
34be34e7b3 fix(new-sr): fix lun detection (#2377)
Fixes #2374
2017-09-27 10:39:18 +02:00
Olivier Lambert
70d75d1c69 fix(iscsi): fix chapUser/chapPassword case (#606)
Fixes vatesfr/xo-web#2339
2017-09-26 19:50:25 +02:00
Julien Fontanet
dbc9fdcfa6 feat(SortedTable): add link to filter syntax doc (#2364)
Fixes #2305
2017-09-26 14:07:51 +02:00
Olivier Lambert
76b20f0fb6 fix(sparklines): pin to react-sparklines 1.6.0 to fix #2370 (#2373) 2017-09-26 10:30:17 +02:00
Julien Fontanet
80ca2052c2 feat(SortedTable): new filterUrlParam prop (#2366)
Fixes #2301
2017-09-25 17:37:33 +02:00
Julien Fontanet
3e5d8be507 feat(settings/servers): use SortedTable (#2365)
Fixes #2340
2017-09-25 12:14:59 +02:00
Julien Fontanet
1b76ad4252 feat(xo.getAllObjects): accepts filter and limit params (#604) 2017-09-25 10:56:12 +02:00
Julien Fontanet
22772a5fac feat(xo-server-recover-account): password generation support
Fixes vatesfr/xo-web#2360
2017-09-20 11:54:06 +02:00
Julien Fontanet
3bd7798eda fix(HTTPS): correctly use secure options
Extra TLS options where not used due to incorrect code, it is now fixed.
2017-09-15 11:43:02 +02:00
Julien Fontanet
a6c2622f6b chore(Xo#getObjects): remove unused code 2017-09-13 17:15:15 +02:00
Julien Fontanet
454412d9d4 chore(utils/lightSet): minor improvement in clear method 2017-09-13 14:38:40 +02:00
Julien Fontanet
114e5e1fa0 fix(xo): correctly return the promises
Fixes #2347
2017-09-13 11:42:05 +02:00
Julien Fontanet
c38d4e275b chore(package): update dependencies 2017-09-12 13:24:10 +02:00
Julien Fontanet
8cc9dea9aa chore(package): update dependencies 2017-09-11 13:04:45 +02:00
Julien Fontanet
1037083ed2 chore(JobExecutor): remove unused property 2017-09-08 17:36:44 +02:00
Nicolas Raynaud
7f87a03830 fix(XOSAN): estimated gluster size could be wrong (#602) 2017-09-08 09:59:38 +02:00
Nicolas Raynaud
d3dcf6d305 XOSAN: fix issue where displayed gluster size could be wrong. 2017-09-08 09:50:25 +02:00
Julien Fontanet
4815af35cf feat(Collection/Redis): case insensitive indexes (#600)
Fixes vatesfr/xo-web#2337
2017-09-06 16:58:52 +02:00
badrAZ
f5fc17c10e feat(jobs): fail the smart backup job when it's empty (#594)
See vatesfr/xo-web#2253
2017-09-04 16:14:20 +02:00
Julien Fontanet
06ad1dcb02 fix(XoBackups#deltaCopyVm): do not always delete base (#599)
Only when there are no VMs with the TAG_SOURCE_VM for this source VM.
2017-09-04 16:03:15 +02:00
Julien Fontanet
cb4276a2ee chore(package): update dependencies 2017-09-04 15:44:09 +02:00
badrAZ
cf5f9d4080 fix(Xapi#CreateVm): wait for the cloned vifs to be correctly deleted (#574) 2017-09-04 15:18:42 +02:00
Julien Fontanet
02439bd23d fix(SortedTable): clicking on indeterminate master unselect all 2017-09-01 16:18:05 +02:00
Julien Fontanet
f5febef10f 5.12.1 2017-08-31 18:32:01 +02:00
Julien Fontanet
f89d8d22a0 fix(vm.deltaCopy): fix initial case 2017-08-31 18:31:30 +02:00
Julien Fontanet
a9eb1f3d27 5.12.0 2017-08-31 18:06:42 +02:00
Julien Fontanet
757a1e2353 5.12.0 2017-08-31 18:04:49 +02:00
Olivier Lambert
9a0544c4aa feat(changelog): add changelog for 5.12 2017-08-31 17:59:25 +02:00
Pierre Donias
31c365313b feat(xosan): beta 2 (#2331) 2017-08-31 17:56:53 +02:00
Pierre Donias
b44017ca95 feat(pool/actions): add SR, add VM and disconnect server (#2308)
Fixes #2307
2017-08-31 17:50:59 +02:00
Nicolas Raynaud
08d7c189eb feat(xosan): beta 2 (#598) 2017-08-31 17:35:48 +02:00
Julien Fontanet
289112af27 feat(SortedTable): support range selection with shift key (#2328)
Fixes #2323
2017-08-31 17:25:48 +02:00
Julien Fontanet
4d2dc4eece feat(backups): add retention param for CR (#2325)
Fixes #1692
2017-08-31 17:21:56 +02:00
Julien Fontanet
5e11e87a0c feat(vm.deltaCopy): retention param (#597)
See vatesfr/xo-web#1692
2017-08-31 17:20:58 +02:00
Pierre Donias
712101d8d6 feat(render-xo-item): icon color to show if PIF is physically connected (#2327)
Fixes #2326
2017-08-30 17:53:10 +02:00
Pierre Donias
828ba5d448 fix(ActionBar): pending prop & undefined prop access (#2322) 2017-08-28 15:54:01 +02:00
Olivier Lambert
03a2ff8e8c fix(migrate): re-display migrate button for offline VMs (#2321) 2017-08-28 15:23:33 +02:00
Julien Fontanet
84d7ba5758 chore(package): update dependencies 2017-08-28 11:57:12 +02:00
badrAZ
75487203cf fix(job/log): remove unused function (#2319) 2017-08-24 15:24:21 +02:00
badrAZ
6ad751f079 feat(SortedTable): add grouped actions feature (#2288)
Fixes #2276
2017-08-24 15:23:40 +02:00
Pierre Donias
78ddad839e feat(home): resource sets filter dropdown (#2314)
Fixes #2303
2017-08-17 17:03:33 +02:00
Pierre Donias
812cecdcc4 fix(groups): "Add user" selector should be empty after adding a user (#2312)
Fixes #2196
2017-08-17 10:48:24 +02:00
Pierre Donias
4b49da7d8f feat(srs/advanced): total VDIs to coalesce (#2309)
Fixes #2300
2017-08-16 18:08:46 +02:00
Pierre Donias
fc8c37d66c fix(home): set to page 1 when filter changes (#2311)
Fixes #2310
2017-08-16 17:42:26 +02:00
Julien Fontanet
0d618e6477 fix(sr/disks): fix links
Thanks @Danp2 :)
2017-08-14 11:29:58 +02:00
badrAZ
d7e2b12d3d feat(tasks): add pool filter (#2295)
Fixes #2293
2017-08-11 18:01:08 +02:00
badrAZ
2ae4ed3999 fix: display "loading" while fetching objects (#2294)
Fixes  #2285
2017-08-11 17:47:12 +02:00
badrAZ
eaaf70e52e feat(logs): add a call state filter (#2290)
Fixes #2246
2017-08-11 16:07:19 +02:00
Julien Fontanet
bb4ebcd198 chore(sr/disks): fix link to snapshot 2017-08-09 17:40:16 +02:00
Julien Fontanet
083f3df29d 5.11.3 2017-08-09 16:23:20 +02:00
Julien Fontanet
429fa1553b fix(package): update xen-api to 0.14.2
Fixes vatesfr/xo-web#2304
2017-08-09 16:20:29 +02:00
Julien Fontanet
15809333c1 0.14.2 2017-08-09 16:17:51 +02:00
Julien Fontanet
815855964e chore(package): update dev dependencies 2017-08-09 16:17:28 +02:00
Julien Fontanet
5649a10c44 fix(Xapi#barrier): handle merged events 2017-08-09 16:15:38 +02:00
Julien Fontanet
a8b7431a02 feat(card/Card): allow passing extra props 2017-08-09 14:27:07 +02:00
Julien Fontanet
a5ec70f7fa chore(card/Card): remove unused propType 2017-08-09 14:26:50 +02:00
Julien Fontanet
75dfdd4854 fix(sr/disks): link to dashboard/health if snapshot parent is missing 2017-08-09 14:26:06 +02:00
badrAZ
3f29dd129f fix(vm/action-bar): no migrate when VM is halted (#2291)
Fixes #2233
2017-08-08 14:53:36 +02:00
Julien Fontanet
075f94d438 5.11.2 2017-08-08 13:05:21 +02:00
Julien Fontanet
a2b06972d0 fix(Xapi#_deleteVm): fix parallel calls
Fixes vatesfr/xo-web#2297
2017-08-08 13:03:44 +02:00
Julien Fontanet
5bb27131a3 0.14.1 2017-08-08 12:57:04 +02:00
Julien Fontanet
d06aacbe25 feat(xapi#barrier): can be done on a specific object
The function now returns an up-to-date record of the object.
2017-08-08 12:56:35 +02:00
Julien Fontanet
7b19341406 fix(xo/createSubscription): race condition on unsubscribe
Issue if the sole subscriber unsubscribe before the call finishes
2017-08-08 10:15:50 +02:00
badrAZ
838ad58946 feat(pool): ability to designate a new master (#2289)
Fixes #2213
2017-08-03 12:38:19 +02:00
Olivier Lambert
5488a2d60a Merge pull request #593 from vatesfr/setPoolMaster
feat(pool): ability to designate a new master
2017-08-03 11:37:31 +02:00
badrAZ
851182a92e feat(pool): ability to designate a new master
See vatesfr/xo-web#2213
2017-08-03 11:21:53 +02:00
Julien Fontanet
f263097008 5.11.1 2017-08-02 14:19:56 +02:00
Julien Fontanet
21fee6122f fix(vm.deltaCopy): correctly destroy VDIs (2) (#591) 2017-08-02 14:17:38 +02:00
Julien Fontanet
68a94da44c feat(vm.deltaCopy): force param to bypass VDI chains check (#592) 2017-08-02 12:41:20 +02:00
Julien Fontanet
1ded2f8101 5.11.0 2017-07-31 18:30:54 +02:00
Julien Fontanet
e3d436a019 fix(vm.deltaCopy): correctly destroy VDIs (#589) 2017-07-31 18:30:31 +02:00
Julien Fontanet
ec4a7325da 5.11.0 2017-07-31 18:26:18 +02:00
Julien Fontanet
d9a5764dda 0.14.0 2017-07-31 18:04:32 +02:00
Julien Fontanet
9859afe8b7 feat(Xapi#barrier): waits for all events to have been received 2017-07-31 18:04:00 +02:00
Olivier Lambert
efbd588c9e feat(objects): remove a useless br (#2283) 2017-07-31 17:49:00 +02:00
Julien Fontanet
76357fb918 fix(CollectionRedis): do not fail when entry does not exist (#590) 2017-07-31 14:35:31 +02:00
Olivier Lambert
e535e064fa feat(changelog): add changelog for 5.11 version 2017-07-31 11:23:24 +02:00
Pierre Donias
448068178b feat(action-bar): implement as standard JSX (#2281) 2017-07-28 17:26:16 +02:00
Pierre Donias
2a6c476189 fix(vm.create): assign device to VDIs (#586) 2017-07-27 19:39:08 +02:00
Julien Fontanet
7132a68a73 fix(Xapi#_getUnhealthyVdiChainLength): do not fail on missing VDI 2017-07-27 11:26:47 +02:00
Julien Fontanet
7308d9ca96 fix(xo): fix API method name 2017-07-27 10:50:46 +02:00
badrAZ
b9e2a28915 feat(sr): get the non-healthy vdi chains (#587)
See  vatesfr/xo-web#2178
2017-07-26 14:04:30 +02:00
badrAZ
e642f54815 feat(SR/advanced): display the non-healthy vdi chains (#2273)
Fixes #2178
2017-07-26 14:03:55 +02:00
Julien Fontanet
465c25e71c chore(package): update dependencies 2017-07-25 13:06:55 +02:00
Julien Fontanet
c6851cd31e chore(package): update dev dependencies 2017-07-25 12:59:55 +02:00
badrAZ
ebb6cb17ea fix: a user with ACLs should not be able to create a VM (#2220)
Fixes #2191 #2202
2017-07-24 11:32:59 +02:00
Pierre Donias
08a0aa9f98 fix(new-vm): disks' device property (#2271)
- existingDisks: use vbd.position as the device
- new VDIs: do not assign any device, xo-server will do it
2017-07-21 17:20:17 +02:00
Pierre Donias
8a933c98e3 fix: multiple fixes (#2272) 2017-07-21 10:36:14 +02:00
badrAZ
026e4a8982 fix(server.set): some props requires server to be disconnected (#580) 2017-07-18 10:59:19 +02:00
Pierre Donias
e5bd024de2 fix(Xapi#createBondedNetwork): mac param should be a string (#588) 2017-07-17 20:58:15 +02:00
Julien Fontanet
f05117b6a4 5.10.2 2017-07-07 15:11:11 +02:00
badrAZ
4932f417b6 fix(CollectionRedis): update indexes on update/remove (#581) 2017-07-07 14:52:29 +02:00
Julien Fontanet
363b22bffe feat(logs): display duration for each call (#2266) 2017-07-07 12:19:18 +02:00
Pierre Donias
6d0dcce5e3 fix(vdi.set): properly get resource set when resizing (#585) 2017-07-06 10:35:09 +02:00
Julien Fontanet
1194f7e1b3 feat(xo.clean): rebuild Redis indexes (#583) 2017-07-06 10:19:57 +02:00
Julien Fontanet
a4087530c5 0.13.7 2017-07-05 18:05:28 +02:00
Julien Fontanet
d5fae68b98 fix(cli): fix URL handling 2017-07-05 18:05:24 +02:00
Julien Fontanet
457483f373 5.10.1 2017-07-05 17:46:36 +02:00
Pierre Donias
7f706bdbe9 fix(Xapi#findAvailableSharedSr): should not be async (#584)
Fixes vatesfr/xo-web#2262
2017-07-05 17:46:22 +02:00
Julien Fontanet
79a85659aa 5.10.5 2017-07-05 17:36:31 +02:00
Julien Fontanet
9f7c01599e chore(Xapi#connect): use auth var directly 2017-07-05 17:17:54 +02:00
Julien Fontanet
b462f57060 fix(Xapi#uploadPoolPatch): fix patch upload (#582)
Fixes vatesfr/xo-web#2254
2017-07-05 10:44:24 +02:00
Julien Fontanet
28faaf32d2 chore(package): update xen-api to 0.13.6 2017-07-05 10:36:35 +02:00
Julien Fontanet
9a0090570c 0.13.6 2017-07-05 10:35:20 +02:00
Julien Fontanet
5ef22f9921 fix(Xapi#watchTask): do not parse task result
It is not always a XML-RPC value.
2017-07-05 10:35:00 +02:00
Julien Fontanet
1239f80018 feat(cli): accept credentials as part of the URL 2017-07-05 10:08:34 +02:00
Julien Fontanet
49d1d060d6 chore(README): various changes 2017-07-05 10:07:38 +02:00
Julien Fontanet
c21c6f3a55 fix(Xapi#uploadPoolPatch): fix patch upload
Fixes vatesfr/xo-web#2254
2017-07-04 17:45:36 +02:00
Pierre Donias
eca145e113 chore(intl/locales/fr): update and new translations (#2260) 2017-07-04 14:44:52 +02:00
Julien Fontanet
1b161843ed fix(backup.list): do not fail on unparseable files
This method used to fails when encountering non-XO files, it should silently ignore them.
2017-07-04 14:44:37 +02:00
Julien Fontanet
084650e8ba feat(utils/asyncMap): collection can be a promise 2017-07-04 14:06:40 +02:00
Julien Fontanet
dd5c32f889 chore(utils): no longer export isPromise 2017-07-04 14:06:22 +02:00
Julien Fontanet
04b75fb3b3 chore(intl/locales/fr): update translation 2017-07-04 12:21:27 +02:00
Julien Fontanet
582e220a02 chore(intl/messages): remove extraneous space 2017-07-04 12:21:07 +02:00
Julien Fontanet
2e87abefc4 fix(react-novnc): use correct port 2017-07-04 11:40:34 +02:00
Julien Fontanet
2cfa31609e chore(*): update dev dependencies 2017-07-04 11:07:35 +02:00
Julien Fontanet
64101c8337 chore: update dependencies 2017-07-04 10:42:44 +02:00
Julien Fontanet
241fed25a2 chore(xo-server-auth-github): remove trace dep
Conflicts with Node 8.
2017-07-04 10:42:44 +02:00
Julien Fontanet
5ea19ee56f chore(intl/locales/es): update (#2256) 2017-07-03 16:24:04 +02:00
Julien Fontanet
209b34e451 Update README.md 2017-07-03 09:25:58 +02:00
Julien Fontanet
2ee733399e 5.10.4 2017-06-30 19:34:31 +02:00
Julien Fontanet
73f228c719 Merge branch 'next-release' into stable 2017-06-30 19:34:19 +02:00
Julien Fontanet
ba79673715 5.10.3 2017-06-30 19:32:53 +02:00
Julien Fontanet
86b0962063 fix(react-novnc): url.port is not undefined when empty 2017-06-30 19:32:08 +02:00
Julien Fontanet
e2a482a6ca 5.10.2 2017-06-30 19:15:43 +02:00
Julien Fontanet
8924444cc1 fix(react-novnc): use correct var (sic) 2017-06-30 19:14:35 +02:00
Julien Fontanet
8e83b0ffd2 5.10.1 2017-06-30 19:12:55 +02:00
Julien Fontanet
451384bcdc fix(react-novnc): default ports if missing 2017-06-30 19:12:17 +02:00
Julien Fontanet
b733164c50 5.10.0 2017-06-30 18:27:46 +02:00
badrAZ
72d9d8ba86 feat(backups): optional VDI→SR mapping (#2201)
Fixes #2070
2017-06-30 18:27:31 +02:00
Julien Fontanet
b73add61c6 5.10.0 2017-06-30 18:14:24 +02:00
Olivier Lambert
7c7646c65c feat(changelog): add the last changes for 5.10 release 2017-06-30 17:37:47 +02:00
Olivier Lambert
b1c087451e feat(console): remove the tip regarding console layout issues (#2251) 2017-06-30 17:30:53 +02:00
Julien Fontanet
46067a4e56 fix(vm.migrate): handle empty optional sr param
Fixes vatesfr/xo-web#2248
2017-06-30 17:30:00 +02:00
badrAZ
6089ebae2a fix(vdi.set): cannot exceed the limited size defined in the resourceSet (#571)
If this VDI is attached to a single VM in a resource set, check user and limits.

Fixes vatesfr/xo-web#2198
2017-06-30 17:13:47 +02:00
Nicolas Raynaud
58ec9f4676 update noVNC to latest upstream version (#455)
See vatesfr/xo-web#404
2017-06-30 16:57:03 +02:00
Nicolas Raynaud
f0f72f3bdd update noVNC to latest upstream version (#1780)
Fixes #404
2017-06-30 16:55:42 +02:00
badrAZ
0ab3267541 feat(self-service): improve IP pool UI (#2228)
Fixes #2203
2017-06-30 16:38:01 +02:00
badrAZ
995e76d323 feat(job/log): add more details on a backup (#2245)
Fixes #2239
2017-06-30 16:33:31 +02:00
badrAZ
d4f8d98d2b feat(vm.importDeltaBackup): custom VDI→SR mapping (#567)
See vatesfr/xo-web#2070
2017-06-30 15:52:12 +02:00
Julien Fontanet
9df1716480 chore(XoBackups#deltaCopyVm): remove debug 2017-06-30 14:58:38 +02:00
Olivier Lambert
62a9f805c2 feat(changelog): add one enhancement 2017-06-30 13:43:37 +02:00
Julien Fontanet
9c34e64d0e chore: improve backup/export/import code (#575)
Should fixes vatesfr/xo-web#2227
2017-06-30 13:09:04 +02:00
Olivier Lambert
84ea95a641 feat(changelog): initial changelog for 5.10 release 2017-06-30 10:08:44 +02:00
Julien Fontanet
5e50ed15bd feat(xo-server-cloud): 0.2.1 2017-06-29 17:49:55 +02:00
Julien Fontanet
b0bff55dac fix(xo-server-cloud): reopen connection on close 2017-06-29 17:49:09 +02:00
Julien Fontanet
81cad34170 chore(xo-server-cloud): add yarn.lock 2017-06-29 17:47:08 +02:00
Julien Fontanet
c38379e229 chore(xo-server-cloud): update dependencies 2017-06-29 17:46:57 +02:00
Julien Fontanet
49ae88ff98 fix(XapiStats): do not use Xapi#getResource().readAll() 2017-06-29 17:27:18 +02:00
Julien Fontanet
33548c95aa debug: display end of export VDI stream 2017-06-29 15:11:48 +02:00
Julien Fontanet
1c2748c04b chore(Xapi#importDeltaVm): use asyncMap 2017-06-29 15:11:48 +02:00
Julien Fontanet
40041cd727 chore(Xapi): import pCatch directly from promise-toolbox 2017-06-29 15:11:48 +02:00
Julien Fontanet
cfc6374995 chore: replace ::pCatch(noop) with ::ignoreErrors() 2017-06-29 15:11:48 +02:00
Julien Fontanet
e3f1545cdb chore(XoBackups#rollingDeltaVmBackup): use cancel token 2017-06-29 15:11:48 +02:00
Julien Fontanet
bc853da09a chore(Xapi#exportDeltaVm): make it cancelable 2017-06-29 15:11:48 +02:00
Julien Fontanet
7bcece7f76 chore(Xapi#exportDeltaVm): remove unnecessary function 2017-06-29 15:11:48 +02:00
Julien Fontanet
168f48eea9 fix(Xapi#createCloudInitConfigDrive): ignore VDI_IO_ERROR while importing 2017-06-29 15:11:48 +02:00
Julien Fontanet
fd81f24030 fix(Xapi#createCloudInitConfigDrive): delete VDI on failure 2017-06-29 15:11:48 +02:00
Julien Fontanet
d851a8147d chore(Xapi#importVdiContent): rename stream to body 2017-06-29 15:11:48 +02:00
Julien Fontanet
e0e4099750 fix(XoBackups#deltaCopyVm): better use $onFailure 2017-06-29 15:11:48 +02:00
Julien Fontanet
adc54c8c51 chore(Xapi): use task param with {put,get}Resource 2017-06-29 15:11:48 +02:00
Julien Fontanet
0350838438 chore(package): update xen-api to 0.13.3 2017-06-29 15:11:48 +02:00
Julien Fontanet
5f10d9af5e chore(package): update http-request-plus to 0.4.0 2017-06-29 15:11:48 +02:00
Julien Fontanet
07945ef8a6 0.13.5 2017-06-29 15:09:17 +02:00
Julien Fontanet
35d7fa4a85 fix(Xapi#putResource): behave if close occurs before finish 2017-06-29 15:07:17 +02:00
Olivier Lambert
316de42cd9 feat(host): forget host. Fixes #1934 (#2244)
feat(host): forget host. Fixes #1934
2017-06-29 12:27:47 +02:00
Olivier Lambert
ad3a0d4c39 feat(host): forget a host in XAPI. Fixes vatesfr/xo-web#1934 (#578)
See vatesfr/xo-web#1934
2017-06-29 11:37:23 +02:00
Nicolas Raynaud
c6ca365e26 fix(Xapi#create{,Bonded}Network): clean in case of partial failure (#576) 2017-06-28 16:26:10 +02:00
Julien Fontanet
589d21bac0 chore(package): update promise-toolbox to 0.9.5 2017-06-27 11:32:13 +02:00
Julien Fontanet
0eb7bcd013 chore(Xapi#_createTask): replace with upstream Xapi#createTask 2017-06-27 11:32:13 +02:00
Julien Fontanet
87f694f698 chore(Xapi#_watchTask): replace with upstream Xapi#watchTask 2017-06-27 11:32:08 +02:00
Julien Fontanet
fbb6870310 0.13.4 2017-06-27 09:51:08 +02:00
Julien Fontanet
81efe25fbc chore(package): update http-request-plus to v0.4.0 2017-06-27 09:50:32 +02:00
Julien Fontanet
63d440677b fix(Xapi#*Resource): correctly link cancel token to tasks 2017-06-27 09:49:26 +02:00
Julien Fontanet
2e0df47581 chore(Xapi#putResource): no need to inject session_id in query again 2017-06-26 12:19:52 +02:00
Julien Fontanet
a84ced70a6 chore(package): update dependencies 2017-06-26 12:17:04 +02:00
Julien Fontanet
4a9498e25e 0.13.3 2017-06-26 10:03:34 +02:00
Julien Fontanet
1978e218f4 feat(Xapi#*Resource): task can be a ref to an existing task
Or a promise to a ref.
2017-06-23 21:24:27 +02:00
Julien Fontanet
2ab912c4f4 feat(Xapi#*Resource): link the cancel token with the task 2017-06-23 21:24:27 +02:00
Julien Fontanet
ca329fa2ff feat(Xapi#*Resource): use task by default if watching events 2017-06-23 21:24:27 +02:00
badrAZ
bc2256fc86 fix(vm/action-bar): always display migrate button (#2232)
Fixes #2212
2017-06-23 14:50:43 +02:00
Julien Fontanet
db122ed8c5 0.13.2 2017-06-23 11:06:48 +02:00
Julien Fontanet
28d7f106b2 feat(Xapi#putResource): opt-in task creation and watching 2017-06-23 11:05:19 +02:00
Julien Fontanet
d6e46adfde feat(Xapi#getResource): opt-in task creation and watching 2017-06-23 11:05:19 +02:00
Julien Fontanet
93109fe9b8 chore(Xapi#watchTask): reject if task has been destroyed before settling 2017-06-22 19:03:52 +02:00
Julien Fontanet
439992d96f feat(Xapi#createTask): create an ephemeral task
Ephemeral means the task is automatically destroyed when settled.
2017-06-22 18:33:22 +02:00
Julien Fontanet
ff1653383b chore(package): update xen-api to 0.13.1 2017-06-22 15:41:23 +02:00
Julien Fontanet
f94fe0b325 0.13.1 2017-06-22 15:39:31 +02:00
Julien Fontanet
cc543ae33a chore(examples): usage for --raw 2017-06-22 15:34:08 +02:00
Julien Fontanet
5df1e62d53 chore(Xapi#putResource): always close the connection when data has been sent 2017-06-22 15:29:08 +02:00
Julien Fontanet
1dff6f81fc feat(examples): also accept UUID and name labels 2017-06-21 14:33:15 +02:00
Julien Fontanet
f0d85f4c4e fix(vm): remove unused imports 2017-06-20 19:19:29 +02:00
Julien Fontanet
1801f9cb06 feat(Home): display total disk size for each VM 2017-06-20 19:07:57 +02:00
Julien Fontanet
4be018ad15 feat(selectors/createSumBy): sum collection of items 2017-06-20 17:51:47 +02:00
Julien Fontanet
5dcf060975 chore(selectors/createPicker): avoid running collection wrapper when possible 2017-06-20 17:51:00 +02:00
Julien Fontanet
de7672bdfb feat(better-stacks): ignore modules starting with internal 2017-06-20 15:30:40 +02:00
Julien Fontanet
975da2c057 chore(package): update dependencies 2017-06-20 15:30:40 +02:00
Julien Fontanet
59f6b1f0c8 fix(StateButton): missing semicolons in CSS 2017-06-20 15:19:51 +02:00
Julien Fontanet
ae38a85b19 chore(package): update dependencies 2017-06-20 15:08:41 +02:00
badrAZ
324dbbcfc8 fix(modal/alert): resolve on close (#2224)
Fixes #2222
2017-06-20 15:08:33 +02:00
Julien Fontanet
ecf2d95318 fix(Xapi#watchTask): correctly handle already settled tasks 2017-06-20 15:06:43 +02:00
Julien Fontanet
a1af272180 chore(Xapi#putResource): avoid unnecessary function creation 2017-06-20 14:52:24 +02:00
Julien Fontanet
72f0793aeb fix(Xapi#putResource): consume the response stream 2017-06-20 14:42:36 +02:00
Julien Fontanet
9770b77df4 feat(sr/disks): improve filters 2017-06-20 10:41:50 +02:00
Julien Fontanet
0f91de389a fix(Health): check VBDs for orphaned VDI snapshots
VDI snapshots attached to a VM are not considered orphaned.
2017-06-19 16:41:55 +02:00
Julien Fontanet
e150be6a3e 0.13.0 2017-06-14 14:05:01 +02:00
Julien Fontanet
d71b13f2a2 feat(Xapi#putResource): handle redirects 2017-06-14 14:04:43 +02:00
Julien Fontanet
66c88b37a4 chore(package): update http-request-plus to v0.3.0 2017-06-13 17:43:30 +02:00
Julien Fontanet
a7198d2e83 chore(examples): various improvements and fixes 2017-06-13 17:40:50 +02:00
Julien Fontanet
d3584b5820 feat: expose isOpaqueRef() 2017-06-13 14:03:04 +02:00
Julien Fontanet
e2e6267dd7 fix(Xapi#putResource): handle aborted connection 2017-06-13 14:03:00 +02:00
Pierre Donias
23ce94fdae fix(Xapi#canSrHaveNewVdiOfSize): better content_type check (#573)
Fixes vatesfr/xo-web#2215
2017-06-13 09:25:59 +02:00
Julien Fontanet
aa5baecdc3 feat(examples): moved into their own directory 2017-06-12 17:53:52 +02:00
Julien Fontanet
601b2aa6bb fix(Xapi#putResource): do not fail on early cancel hack 2017-06-12 17:36:48 +02:00
Julien Fontanet
d09ba38dbd feat(Xapi#constructor): url can contain credentials 2017-06-12 16:53:06 +02:00
Julien Fontanet
b847c2b7b5 chore(resources): add TODO 2017-06-12 16:53:06 +02:00
Julien Fontanet
30e44cb533 chore(Xapi#callAsync): use _sessionCall instead of call 2017-06-12 16:18:00 +02:00
Julien Fontanet
d43b83081b 0.12.3 2017-06-08 17:23:54 +02:00
Julien Fontanet
699363c548 chore(package): update promise-toolbox to v0.9.4
Fix an minor issue regarding Cancel#toString().
2017-06-08 17:21:16 +02:00
Julien Fontanet
6ea3eb4ba6 feat(Xapi#callAsync): cancellable async call 2017-06-08 17:21:16 +02:00
Julien Fontanet
4aa20b6f6a fix(Xapi#watchTask): handle already settled tasks 2017-06-08 17:21:16 +02:00
Julien Fontanet
9c8ea27238 feat(cli): auto Promise.all 2017-06-08 17:21:16 +02:00
Julien Fontanet
22c515b0e7 feat(Xapi#watchTask): returns a promise which settled when the task finishes 2017-06-08 17:21:16 +02:00
Julien Fontanet
7f5a623b37 feat(sr/general): display disks size 2017-06-08 11:59:44 +02:00
Julien Fontanet
c7cf73ff05 fix(sr/disks): difference between no VM and unknown VM 2017-06-08 11:59:08 +02:00
Julien Fontanet
4aab425cef 5.9.1 2017-06-08 10:23:34 +02:00
Julien Fontanet
a4ab8e712d 5.9.4 2017-06-08 10:22:01 +02:00
Julien Fontanet
fd75326bb8 fix(Xapi#_assertHealthyVdiChain): fix for NFS SR prior XS 7.1 (#568)
Fixes vatesfr/xo-web#2207
2017-06-08 10:18:40 +02:00
Julien Fontanet
51e09ecfcc feat(jobs): no concurrent runs (#570) 2017-06-08 09:43:19 +02:00
Julien Fontanet
0d9666639f fix(sr): unused imports 2017-06-06 17:08:12 +02:00
Julien Fontanet
6c26c09685 fix(sr/general): show VDI snaphots 2017-06-06 16:57:56 +02:00
Julien Fontanet
819f650b48 chore(sr/general): better retrieve VM associated to VDI 2017-06-06 16:57:56 +02:00
Julien Fontanet
353eba6365 fix(sr/disks): show the correct attached VM for snapshots 2017-06-06 16:57:55 +02:00
Julien Fontanet
063302b91d feat(renderXoUnknownItem): expose it 2017-06-06 16:57:55 +02:00
Julien Fontanet
562b51bc2f feat(SortedTable): can accept component instead of itemRenderer 2017-06-06 16:57:55 +02:00
Julien Fontanet
e33a6f9a05 chore(xo): use tap() from promise-toolbox 2017-06-05 15:50:16 +02:00
Danp2
b9db4e7704 fix(xo/deleteGroup): properly handle confirm rejection (#2197)
Resolve issue with canceling / exiting dialog
2017-06-05 15:48:31 +02:00
Julien Fontanet
3270d9c3a7 chore(plugins): coding style 2017-06-02 16:57:32 +02:00
Julien Fontanet
6d7399f96c fix(plugins): remove collpase button if not configurable 2017-06-02 16:57:32 +02:00
Julien Fontanet
886ef87bc5 fix(plugins): primary style on save button 2017-06-02 16:57:32 +02:00
Julien Fontanet
1e5dc9efe7 fix(json-schema-input/string): consider empty value as undefined (#2192) 2017-06-02 16:21:30 +02:00
Julien Fontanet
72a53c0c09 Revert "fix: ensure a scope is used"
This reverts commit 3fbfbb1b2687de3d7c056a6790ad735b19eb9254.

No longer necessary, this is now fixed in vatesfr/xo-server@8c7d254244
2017-06-02 16:02:36 +02:00
Julien Fontanet
05e75c9a26 fix(Xo#registerPlugin): do not error if plugin not configured (#566) 2017-06-02 15:16:27 +02:00
Julien Fontanet
8c7d254244 fix(plugin.configure): auto inject default values (#565) 2017-06-02 14:48:15 +02:00
Julien Fontanet
28ec66bf3b fix(backups): handle object values without id prop 2017-06-02 12:11:55 +02:00
Julien Fontanet
9a5a0d7a2b fix: ensure a scope is used 2017-06-02 10:20:20 +02:00
Julien Fontanet
a18d88a3f1 chore(configuration): typo 2017-06-02 09:59:53 +02:00
Julien Fontanet
c49d68e457 5.9.3 2017-06-01 23:00:19 +02:00
Julien Fontanet
13fd265e49 fix(Xapi#_assertHealthyVdiChain): fix incorrect test
Related to 1336920a1a
2017-06-01 22:58:47 +02:00
Julien Fontanet
ea7b03a00c 5.9.2 2017-06-01 15:54:46 +02:00
Julien Fontanet
1336920a1a fix(Xapi#_assertHealthyVdiChain): behave when VDI is undefined
Fixes vatesfr/xo-web#2189
2017-06-01 15:54:10 +02:00
Pierre Donias
024d14d529 fix(Xapi#_installPoolPatchAndRequirements): ignore required patch if already installed (#564) 2017-06-01 15:28:03 +02:00
Julien Fontanet
61089c1128 5.9.1 2017-06-01 12:57:38 +02:00
Pierre Donias
8a74210049 fix(Xapi#createTemporaryVdiOnHost): properly get available SR (#562) 2017-06-01 12:57:14 +02:00
Julien Fontanet
a45a1b19b6 5.9.0 2017-05-31 18:15:32 +02:00
Julien Fontanet
9199784a23 5.9.0 2017-05-31 18:14:51 +02:00
Julien Fontanet
f3d3c62809 fix(xapi-objects-to-xo): XenServer 5 support (#561) 2017-05-31 18:10:03 +02:00
Julien Fontanet
7e2bd52f25 0.12.2 2017-05-31 18:06:27 +02:00
Julien Fontanet
e65dd15edc feat(transports): add plain XML-RPC as last fallback (#65) 2017-05-31 18:05:46 +02:00
Pierre Donias
c7e447db6f feat(host): update patches when joining pool (#2187)
Fixes #878
2017-05-31 17:59:11 +02:00
Pierre Donias
fec976a494 feat(host): update patches when joining pool (#560)
See vatesfr/xo-web#878
2017-05-31 17:58:39 +02:00
Pierre Donias
f81615f8b6 feat(dashboard/health): VDIs attached to control domain (#2183)
Fixes #2126
2017-05-31 16:33:37 +02:00
badrAZ
c18b49a4a1 feat(vm.drCopy): block start operation on copy (#558)
Fixes vatesfr/xo-web#2097
2017-05-31 16:07:57 +02:00
badrAZ
12caceb02b feat: start a VM even when forbidden (#2161)
Fixes #2119
2017-05-31 16:05:57 +02:00
Pierre Donias
872eabefba feat(patching): support pool patching on XS 7.1 (#559)
See vatesfr/xo-web#2058
2017-05-31 15:47:31 +02:00
Julien Fontanet
30f71ab444 feat(selectors/createDoesHostNeedRestart): use host.rebootRequired (#2179) 2017-05-31 15:33:05 +02:00
Pierre Donias
fe04481ca3 feat(xo): subscribe to missing patches instead of explicitly checking (#2182) 2017-05-31 15:02:05 +02:00
Pierre Donias
7766e8edcd Better createDoesHostNeedRestart selector 2017-05-31 14:54:07 +02:00
Olivier Lambert
31d417c9d3 feat(changelog): added info for 5.9 release 2017-05-31 13:46:29 +02:00
Julien Fontanet
feda929f0b feat(xapi-object-to-xo/host): patchesRequiringReboot (#556)
See vatesfr/xo-web#2124
2017-05-31 12:17:47 +02:00
Pierre Donias
5ed29197cf Use host.rebootRequired boolean 2017-05-30 16:26:32 +02:00
Pierre Donias
ff5f3e12d3 feat(selectors/createDoesHostNeedRestart): use host.patchesRequiringReboot
Fixes #2124
2017-05-30 16:26:32 +02:00
Pierre Donias
6718193dee patchesRequiringReboot -> rebootRequired 2017-05-30 16:15:08 +02:00
Pierre Donias
d63ac7df1c feat(xapi-object-to-xo/host): patchesRequiringReboot
See vatesfr/xo-web#2124
2017-05-30 16:15:08 +02:00
Julien Fontanet
e462ff3f4b fix(Xapi#deleteVbd): add missing method 2017-05-30 16:05:50 +02:00
Julien Fontanet
8f84b767d2 chore(vbd.delete): use Xapi#deleteVbd() 2017-05-30 15:59:56 +02:00
badrAZ
240180405c fix(job/logs): correctly extract vm id from returned value (#2167) 2017-05-30 15:51:37 +02:00
badrAZ
edca6495fc feat(self-service): add button "Select all" to the selects (#2181) 2017-05-30 12:39:20 +02:00
Julien Fontanet
b7d746ee09 feat: improve HTTP handling (#546)
`Xo#httpRequest()` is used to make a request respecting XO settings like the proxy.

`Xapi#getResource()` and `Xapi#putResource()` are used to receive and send resources to/from a XenServer.
2017-05-29 15:07:24 +02:00
BCedric
8a9b753b01 feat(host/patches): advise to patch from pool (#2130)
Fixes #2057
2017-05-29 14:52:54 +02:00
Julien Fontanet
83f3fcd913 fix(package): upgrade golike-defer to v0.1.0 (#555)
Errors are automatically caught and reported.
2017-05-29 10:46:41 +02:00
Julien Fontanet
445fc696c9 fix(backup/new): clarify enabled setting (#2177) 2017-05-29 10:39:15 +02:00
Julien Fontanet
781ffa5574 0.12.1 2017-05-26 17:50:47 +02:00
Julien Fontanet
8fe3b1a368 feat(Xapi#putResource): accept buffers 2017-05-26 17:49:14 +02:00
Julien Fontanet
039075736c fix(backups): fix unlink ENOENT (#552) 2017-05-26 15:53:26 +02:00
Julien Fontanet
492e2362be chore(utils/firstDefined): fix comment, null is considered defined 2017-05-26 15:50:28 +02:00
badrAZ
1acee209be feat(backup/new): DR previous backups can be removed first (#2173)
Fixes #2157
2017-05-26 13:34:16 +02:00
badrAZ
1bead03151 feat(vm.rollingDrCopy): previous backups can be removed first (#553)
See vatesfr/xo-web#2157
2017-05-26 13:18:07 +02:00
Julien Fontanet
e64dc51a17 feat(xo-cli): 0.8.4 2017-05-25 13:16:13 +02:00
Julien Fontanet
7f4df49933 chore(xo-cli): update all dependencies 2017-05-25 13:15:47 +02:00
Julien Fontanet
2bc77ee0cd feat(xo-lib): 0.9.0 2017-05-25 13:14:33 +02:00
Julien Fontanet
b25adf7f57 chore(xo-lib): update all dependencies 2017-05-25 13:08:57 +02:00
Olivier Lambert
6785c48709 feat(tasks): display task description if it exists (#2172)
Fixes #2125
2017-05-25 12:45:33 +02:00
Olivier Lambert
808e674503 feat(menu): hide About entry if non-admin (on XOA) (#2170) 2017-05-24 17:36:13 +02:00
Julien Fontanet
6b2650282d 5.8.3 2017-05-23 18:53:10 +02:00
Julien Fontanet
475be2ee30 fix(vm/advanced): behave with missing container 2017-05-23 18:52:39 +02:00
Julien Fontanet
12e1da4ef2 5.8.2 2017-05-23 18:24:21 +02:00
Julien Fontanet
780d072bb7 fix(new/vm): check pool is defined (#2169)
Fixes #2168
2017-05-23 17:38:07 +02:00
Julien Fontanet
bd0c2385e2 feat(Xapi#exportDeltaVm): detect unhealthy VDI chains (#551)
Fixes vatesfr/xo-web#2047
2017-05-23 16:42:15 +02:00
Julien Fontanet
689720b4b0 fix(package): update xen-api to 0.12 2017-05-23 15:50:36 +02:00
Julien Fontanet
69c48e2770 0.12.0 2017-05-23 15:47:01 +02:00
Julien Fontanet
aa934ad725 chore(package): update all dependencies 2017-05-23 15:46:53 +02:00
Julien Fontanet
8596ca607d fix(Xapi#call): mark as disconnected on network failures (#64)
Related to vatesfr/xo-web#2099
2017-05-23 15:45:16 +02:00
Julien Fontanet
191a14e6c0 chore(package): upgrade fs-extra to 3.0.1 2017-05-23 14:50:58 +02:00
badrAZ
9c5df507ae feat(vm.start): with force can bypass blocked operation (#550)
See vatesfr/xo-web#2119
2017-05-23 10:59:22 +02:00
Julien Fontanet
643ea9e523 feat: methods to get/put an HTTP resource (#63) 2017-05-22 15:51:41 +02:00
badrAZ
90be44738d feat(backups): transferred data size for CR & DR (#548)
See vatesfr/xo-web#2096
2017-05-19 15:55:25 +02:00
Julien Fontanet
dbbf6d8c1f feat(Xapi#moveVdi): do nothing if already on the correct SR
Fxies vatesfr/xo-web#2158
2017-05-19 11:20:46 +02:00
Julien Fontanet
ce2a08373e feat(xo-server-usage-report): 0.3.2 2017-05-18 17:04:19 +02:00
Julien Fontanet
d9e2229335 fix(xo-server-usage-report): handle missing UUIDs (#12)
Should not happen but the plugin is no longer failing.
2017-05-18 16:57:13 +02:00
badrAZ
61454e2030 fix errors 2017-05-18 15:49:27 +02:00
badrAZ
6f79e8145e fix(xo-server-usage-report): test if uuid exists 2017-05-18 15:25:47 +02:00
Pierre Donias
a39e6846fe fix(package): update http-request-plus to 0.1.3 (#549)
Fixes patching and stats issues.
2017-05-18 11:34:38 +02:00
Julien Fontanet
f7e5a5cf92 fix(Icon): prop-types → prop-types-decorator 2017-05-17 15:49:34 +02:00
Nicolas Raynaud
3574c8de5c fix(package): update react-select to 1.0.0-rc.4 (#2150)
Fixes #2142
2017-05-17 15:46:04 +02:00
Julien Fontanet
b09ab4d403 fix(Button): fix @propTypes() use 2017-05-17 15:30:36 +02:00
Julien Fontanet
9d251b5876 fix(setUpApi): compat with ws 3.0.0 2017-05-17 14:52:11 +02:00
Julien Fontanet
a3ecb520cb chore(package): update some dependencies 2017-05-17 14:04:26 +02:00
Julien Fontanet
60c4673992 feat(xo-server-backup-reports): 0.8.0 2017-05-17 10:32:56 +02:00
Julien Fontanet
7c597539ff feat(xo-server-backup-reports): clearer sections separation 2017-05-17 10:28:53 +02:00
Julien Fontanet
8b80c12aa4 feat(xo-server-backup-reports): better date format 2017-05-17 10:28:25 +02:00
Julien Fontanet
9c802c7b0c feat(xo-server-backup-reports): improve mail subject 2017-05-17 10:18:04 +02:00
Julien Fontanet
00c0ba9863 feat(xo-server-backup-reports): simplify section titles 2017-05-17 10:17:48 +02:00
Julien Fontanet
ca11656844 chore(xo-server-backup-reports): use globalSuccess 2017-05-17 10:17:14 +02:00
Julien Fontanet
9d27730a4a feat(xo-server-backup-reports): emphasise dt 2017-05-17 10:15:54 +02:00
Julien Fontanet
4ce0ca702c fix(xo-server-backup-reports): second symbol is lowercase 2017-05-17 10:14:06 +02:00
Julien Fontanet
242e28ddb9 feat(xo-server-backup-reports): better icons 2017-05-17 10:13:39 +02:00
Julien Fontanet
40d20b0f9c fix(xo-server-backup-reports): report on failure by default 2017-05-17 09:49:22 +02:00
Olivier Lambert
1997f4af51 feat(host): add RAM usage for memory bar in tooltip. Fixes #2149 2017-05-16 21:33:40 +02:00
Danp2
347cd063a3 Fix scanFilesError (#2153) 2017-05-16 21:08:46 +02:00
Julien Fontanet
d157a94f89 fix(Scheduling#_add): do not throw on failure 2017-05-16 20:14:11 +02:00
Julien Fontanet
12e4186972 fix(Scheduling#updateSchedule): confusion in the comment 2017-05-16 20:13:45 +02:00
Julien Fontanet
46dbd320d3 chore(Scheduling#updateSchedule): _disable() is sync 2017-05-16 17:34:47 +02:00
Julien Fontanet
07c70361da chore(Scheduling#updateSchedule): add comment 2017-05-16 17:34:36 +02:00
Julien Fontanet
b92611f4e0 chore(Scheduling#updateSchedule): explicit tests 2017-05-16 17:32:20 +02:00
Julien Fontanet
9f922b1c4e chore(Scheduling#updateSchedule): use id directly 2017-05-16 17:32:13 +02:00
Julien Fontanet
c0cf6b2551 fix(xo-server-backup-reports): remove log 2017-05-16 17:15:02 +02:00
badrAZ
eff3221f7d feat(xo-server-backup-reports): use related schedule's timezone (#11)
Fixes vatesfr/xo-web#2133
2017-05-16 16:19:49 +02:00
Olivier Lambert
74a4519a33 fix(i18n): English typo 2017-05-16 15:20:52 +02:00
BCedric
20acf7cfb2 feat(vm/general): display when the VM was last running (#2147)
Fixes #1613
2017-05-16 15:16:44 +02:00
badrAZ
214f04d7a2 feat(job-executor/execStatus): inject timezone from related schedule (#547)
See vatesfr/xo-web#2133
2017-05-16 12:53:02 +02:00
Julien Fontanet
be57004257 chore(xo-server-backup-reports): code cleanup (#10) 2017-05-16 12:48:47 +02:00
Julien Fontanet
99bc34b2da fix(form/toggle): remove debug trace 2017-05-15 16:48:50 +02:00
Julien Fontanet
f65b5e3ddd feat(settings/server): add click for info on error icon 2017-05-15 16:48:09 +02:00
Julien Fontanet
dc10492b84 fix(xo/connectServer): refresh subscription also in case of error 2017-05-15 16:48:08 +02:00
Julien Fontanet
6f7c10537b fix(vm/advanced): add missing key prop 2017-05-15 16:48:08 +02:00
Julien Fontanet
7f503cfc21 chore(form/toggle): simplify implementation 2017-05-15 16:48:08 +02:00
Julien Fontanet
9dbef0c20a chore(Icon): use propTypes decorator 2017-05-15 16:48:08 +02:00
Julien Fontanet
923166b4e3 feat(Icon): pass extraneous props down 2017-05-15 16:48:08 +02:00
Julien Fontanet
b420128e40 chore(settings/servers): remove useless styles 2017-05-15 16:48:08 +02:00
Julien Fontanet
8875640eb6 feat(servers): default label inherited from pool 2017-05-15 16:39:48 +02:00
badrAZ
f29c3a4c49 feat(backups): get transferred data size (#542)
Fixes vatesfr/xo-web#2096
2017-05-12 17:42:23 +02:00
Julien Fontanet
2b3dff46aa chore: use http-request-plus instead of custom implementation (#540) 2017-05-12 17:33:39 +02:00
Julien Fontanet
7776a6ce23 5.8.1 2017-05-12 16:13:44 +02:00
Julien Fontanet
f52218748f 5.8.1 2017-05-12 16:13:15 +02:00
Julien Fontanet
8db949734a feat(settings/servers): improve self-signed error 2017-05-12 16:07:49 +02:00
Julien Fontanet
dc37009737 fix: deferreds should not throw errors (#544) 2017-05-12 14:37:54 +02:00
badrAZ
bb5bdfb9b2 feat(settings/servers): allow unauthorized certificates (#2148)
Fixes #2138
2017-05-12 12:01:08 +02:00
badrAZ
d7ce5eb651 feat(servers): allow unauthorized certificates (#545)
See vatesfr/xo-web#2138
2017-05-12 12:00:12 +02:00
badrAZ
730ed8bc69 feat(xo-server-backup-reports): add the transmission data speed (#9)
See vatesfr/xo-web#2096
2017-05-12 11:33:18 +02:00
Julien Fontanet
32b8076c82 chore: remove unnecessary Xapi#deleteVm(_, true) 2017-05-11 18:47:45 +02:00
Julien Fontanet
8b1f9a1b0e chore(utils): remove now useless eslint directives 2017-05-11 18:47:45 +02:00
Julien Fontanet
0d49361f50 feat(utils/asyncMap): better map + Promise.all (#543)
Because it waits for all promises to settle.
2017-05-11 17:34:41 +02:00
Julien Fontanet
26f630d9d6 0.11.0 2017-05-11 16:36:01 +02:00
Julien Fontanet
7481874ba2 feat(allowUnauthorized): accept self-signed certificates (#62)
Related to vatesfr/xo-web#2138
2017-05-11 16:35:02 +02:00
BCedric
9fac3ecd81 feat(backup/file-restore): explicit compatible backups (#2146) 2017-05-11 14:59:31 +02:00
badrAZ
52a5ce95b6 feat(xo-server-backup-reports): ability to report only failed backups (#8)
Fixes vatesfr/xo-web#2095
2017-05-09 18:28:17 +02:00
BCedric
8a84cc2627 fix: display when host is disabled (#2121)
Fixes #2098
2017-05-09 17:16:38 +02:00
Julien Fontanet
f361c22fce chore(backups): use norecovery for XFS (#541) 2017-05-09 16:12:03 +02:00
Julien Fontanet
61179ec67d feat(prop-types): can also be used to set context types 2017-05-09 14:33:15 +02:00
badrAZ
59fc5955ba fix(vm/advanced): affinity host selector (#2143)
Do not remove the current affinity host from the options.

Fixes #2141.
2017-05-09 10:57:31 +02:00
Julien Fontanet
a348585e76 chore(package): update all dependencies 2017-05-08 18:34:58 +02:00
Julien Fontanet
6e1155adc6 fix(Xapi#moveVdi): fix interpolation in debug 2017-05-08 18:20:21 +02:00
Julien Fontanet
e853ba6244 chore(BaseComponent): use explicit tests 2017-05-07 22:17:20 +02:00
Julien Fontanet
7a4f62a793 chore(.mention-bot): no longer used 2017-05-05 14:08:35 +02:00
Julien Fontanet
4b9e15bbbc chore(job-executor/match): explicitly test against undefined 2017-05-05 14:08:11 +02:00
badrAZ
fb40ae7264 feat(vm): ability to choose the cores per socket when creating or editing a VM (#2127)
Fixes #130
2017-05-04 16:12:17 +02:00
badrAZ
f629047be2 chore(vm/new-vm): use _linkState instead of _getOnChange (#2134) 2017-05-04 16:06:50 +02:00
Olivier Lambert
278d8adf1b fix(dashboard): compute correctly the total SR size and used space (#2132)
Fixes #2123
2017-05-03 17:12:58 +02:00
Olivier Lambert
87087d55aa feat(sr): also display unmanaged VDIs (#2131) 2017-05-03 17:07:03 +02:00
Julien Fontanet
cf72467510 feat(xo-server-recover-account): reset password and set permission to admin (#538)
Fixes vatesfr/xo-web#2129
2017-05-03 15:43:32 +02:00
Julien Fontanet
3a0f40633a feat(xapi-objects-to-xo): expose unmanaged VDIs (#539) 2017-05-03 15:13:55 +02:00
Olivier Lambert
12a6b75bfb use a vdi-unmanaged type for base copy 2017-05-03 14:24:39 +02:00
Olivier Lambert
db8e7817a3 WIP: base copy management 2017-05-03 12:42:45 +02:00
Julien Fontanet
8d135bc1fc chore: remove invoke() 2017-05-03 11:02:59 +02:00
Julien Fontanet
2c00f0ffab chore: inline isString() 2017-05-03 11:02:46 +02:00
badrAZ
9adce54987 feat(vm/advanced): cores per socket are now configurable (#537)
See vatesfr/xo-web#130
2017-05-02 16:56:07 +02:00
Julien Fontanet
46e95fe7eb feat(backup/new): min timeout is 1s 2017-04-28 22:30:32 +02:00
Julien Fontanet
090c9ea4d7 5.8.0 2017-04-28 16:35:45 +02:00
Julien Fontanet
264611bb71 5.8.0 2017-04-28 16:33:32 +02:00
Julien Fontanet
d51d147b92 feat(package): update xen-api to v0.10.0
Speed improvement with XS >= 7.0
2017-04-28 16:32:07 +02:00
Julien Fontanet
5e1d627834 0.10.0 2017-04-28 16:26:08 +02:00
Julien Fontanet
37b23bdc47 feat: JSON-RPC with fallback to XML-RPC (#50)
Better performance for XS >=7.0
2017-04-28 16:22:35 +02:00
Julien Fontanet
9e1f97811e feat(xo-server-usage-report): 0.3.1 2017-04-28 16:18:25 +02:00
Olivier Lambert
647eb7299e feat(changelog): update changelog 2017-04-28 16:06:47 +02:00
Olivier Lambert
027652e80a feat(changelog): release 5.8 2017-04-28 11:35:40 +02:00
badrAZ
185d380c36 feat(vm/advanced): ability to switch between Cirrus/Standard VGA adapters (#531) (#2091)
Fixes #158
2017-04-27 17:07:54 +02:00
badrAZ
a0a944310f feat(VM): ability to switch between Cirrus/Standard VGA adapters (#531)
See vatesfr/xo-web#158
2017-04-27 16:12:36 +02:00
Julien Fontanet
61c6c98fca fix(xo.importConfig): respect data dependency (#535) 2017-04-27 11:32:59 +02:00
Julien Fontanet
188b8d2d1a feat(vm.deltaCopy): append creation date to copy's name
Fixes vatesfr/xo-web#2118
2017-04-26 17:23:03 +02:00
Olivier Lambert
9008b5c4e7 fix(dashboard): flip usage/total. Fixes #2115 2017-04-26 16:42:40 +02:00
Julien Fontanet
f5ad59803e fix(Wizard): take care of falsy children 2017-04-26 12:43:08 +02:00
badrAZ
c6b0e38fec fix: use retention instead of depth (#524)
See vatesfr/xo-web#1935
2017-04-25 17:20:51 +02:00
Julien Fontanet
92e69570e1 chore(package): update all dependencies 2017-04-25 17:03:50 +02:00
Pierre Donias
81d1d7ba13 feat(XOSAN): ask user to restart toolstacks after pack installation (#2114) 2017-04-25 16:29:16 +02:00
Pierre Donias
62f7a0c54b feat(xosan): save pack installation datetime in pool (#534) 2017-04-25 16:15:09 +02:00
Julien Fontanet
3328e71805 fix(backup/new): correctly edit schedule.enabled 2017-04-25 15:04:08 +02:00
Julien Fontanet
665fc2b7f9 fix: no longer compatible with Node 4 2017-04-25 15:01:09 +02:00
badrAZ
dfd17bc96c fix(xo-server-usage-report): hosts missing patches (#7)
Fixes vatesfr/xo-web#2106
2017-04-25 14:57:17 +02:00
Julien Fontanet
d7e3dbac26 fix(spelling): VDB → VBD 2017-04-25 14:32:46 +02:00
Olivier Lambert
905182bf2e feat(vm/disks): boot order only for HVMs and devices cannot be non-bootable (#2113)
Fixes #2015
2017-04-25 14:31:41 +02:00
Julien Fontanet
a0146290ee fix(package): downgrade resect to 2.5.4
Since reselect 3, selectors are pure which is incompatible with our use of inputs via closures:

```js
_getFoo = createSelector(
  () => this.props.bar,
  () => this.state.baz,
  (bar, baz) => /* ... */
)
```
2017-04-25 14:14:04 +02:00
Julien Fontanet
173aa22432 fix(intl/messages): correctly format numbers (#2112) 2017-04-25 12:29:56 +02:00
Julien Fontanet
9e5b871ebe chore(Wizard): use React.Children.map 2017-04-25 12:00:44 +02:00
Julien Fontanet
8824ce55ec chore(package): update some dependencies 2017-04-25 12:00:44 +02:00
Olivier Lambert
155edf5533 feat(dashboard): fix power test and remove users link for non-admins (#2111)
Fixes #2108
2017-04-25 12:00:34 +02:00
Olivier Lambert
6d06e1f89d feat(Menu): remove About if non admins (#2110)
Fixes #2109
2017-04-25 11:29:47 +02:00
Julien Fontanet
6d1e2c47d3 5.7.10 2017-04-24 17:53:00 +02:00
Julien Fontanet
8b9b0346cb chore(backup/new): do not send unnecessary job props 2017-04-24 17:51:13 +02:00
Julien Fontanet
41924f7e66 fix(job.getAll): timeout is a number 2017-04-24 17:46:30 +02:00
Julien Fontanet
2340045dd1 5.7.4 2017-04-24 15:51:01 +02:00
Julien Fontanet
0d11817e3f 5.7.9 2017-04-24 15:50:35 +02:00
Julien Fontanet
a8cb209717 chore(backup/new): clarify timeout meaning 2017-04-24 15:49:43 +02:00
Julien Fontanet
ddfbf1d6c4 feat(plugin): expose plugin description 2017-04-24 15:37:52 +02:00
Olivier Lambert
cf45ffddf1 feat(sr/disks): provide filters for snapshots (#2103)
Fixes #2102
2017-04-24 15:26:29 +02:00
Pierre Donias
2e0ea51c30 fix(dashboard): replace unused labelId by tooltip (#2100)
Fixes #2090
2017-04-21 17:41:51 +02:00
Pierre Donias
8639faeffc fix(Xapi#installSupplementalPackOnAllHosts): synchronize call_plugin (#532) 2017-04-21 16:32:58 +02:00
Julien Fontanet
0f7f8c7330 chore(Combobox): use uncontrollableInput 2017-04-20 12:08:16 +02:00
Julien Fontanet
808f72409f fix(home): replace history when setting initial filter 2017-04-19 17:19:14 +02:00
Julien Fontanet
f8e2d29372 chore(Button): own implementation instead of react-bootstrap (#2089) 2017-04-18 10:12:02 +02:00
Julien Fontanet
22dec27c65 chore(package): update standard to v10 (#2067) 2017-04-13 17:34:49 +02:00
Julien Fontanet
89b3806a7a fix(vm/action-bar): pending status for copy 2017-04-13 17:34:20 +02:00
Julien Fontanet
b6bedf9253 chore(ButtonGroup): own implementation instead of react-bootstrap 2017-04-13 14:43:32 +02:00
Julien Fontanet
0d4983043b feat(vm/tab-snapshots): add pending status on new snasphot 2017-04-13 14:16:07 +02:00
Julien Fontanet
f9ff3fe168 fix(vm/tab-disks): fix StateButton prop 2017-04-13 14:16:07 +02:00
Julien Fontanet
4a25c5323f feat(servers): add pending status 2017-04-13 14:16:07 +02:00
Julien Fontanet
9b4e2d3bb8 feat(vm/action-bar): add pending status 2017-04-13 14:16:07 +02:00
Julien Fontanet
3915efcf92 feat(ActionButton): add pending prop 2017-04-13 14:16:07 +02:00
Julien Fontanet
4591ff8522 chore(ActionButton): do not reassign redirectOnSuccess 2017-04-13 14:16:07 +02:00
Julien Fontanet
e3491797f3 chore(ActionButton): do not use React.PropTypes directly 2017-04-13 14:16:07 +02:00
Julien Fontanet
6eee167675 chore(ActionButton): props documentation 2017-04-13 14:16:07 +02:00
Julien Fontanet
16b965b28a chore(ActionButton): use relative import for Icon 2017-04-13 14:16:07 +02:00
Julien Fontanet
5125410efd chore(ActionButton): do not use react-bootstrap 2017-04-13 14:16:07 +02:00
Julien Fontanet
abf73193fd feat(xo-cli): 0.8.3 2017-04-13 13:57:57 +02:00
karolsok
1a4da2a8de feat(intl): improve pl translation (#2088) 2017-04-13 09:50:29 +02:00
Julien Fontanet
991fbaec86 5.7.8 2017-04-12 17:32:37 +02:00
Pierre Donias
fb399278b3 fix(new-vm): add network predicate in VIF item (#2087)
Fixes #2086
2017-04-12 17:32:00 +02:00
Julien Fontanet
ff1b643cf4 5.7.3 2017-04-12 17:14:10 +02:00
Julien Fontanet
b868092365 fix(vms/new): only display Shared checkbox in resource set
Fixes #2061
2017-04-12 17:07:00 +02:00
Pierre Donias
80fdc6849f fix(XOSAN): use new pack format to check if XOSAN pack is installed (#2085) 2017-04-12 16:53:08 +02:00
Pierre Donias
a73acedc4d fix(XOSAN): ignore error if pack has already been installed (#529)
Fixes vatesfr/xo-web#2084
2017-04-12 16:33:56 +02:00
Julien Fontanet
7ffeb44e77 fix(xapi-objects-to-xo): only use refs for XS templates (#528)
Using refs as ids for user templates causes issues on VM creation
2017-04-12 13:58:51 +02:00
karolsok
25ffcb952b fix(user/lang selector): fix Polski spelling (#2083) 2017-04-12 12:33:28 +02:00
Julien Fontanet
5ae1488864 0.2.0 2017-04-12 10:01:34 +02:00
Julien Fontanet
fb3ff165db fix: fix URLs 2017-04-12 10:01:21 +02:00
Julien Fontanet
cdf59bb877 chore(package): update all dependencies 2017-04-12 10:00:30 +02:00
Julien Fontanet
b6371dde23 feat: scope is now configurable (#23)
Fixes #1 as well

Thanks @Maelstrom96
2017-04-12 09:52:17 +02:00
Julien Fontanet
3989bfa832 5.7.2 2017-04-11 17:02:57 +02:00
Julien Fontanet
083ac1e2d6 5.7.7 2017-04-11 17:02:51 +02:00
Julien Fontanet
5a4b553a60 fix(form/Toggle): onChange now emits the raw value
Fixes #2080
2017-04-11 16:54:13 +02:00
Julien Fontanet
b1135ef566 fix(backup/new): do not send timeout=null on creation 2017-04-11 16:38:17 +02:00
Julien Fontanet
1928d1e00f chore(backup/new): remove now unnecessary code 2017-04-11 16:33:30 +02:00
Julien Fontanet
a369f7f387 fix(backup/new): wrap tags in array
Fixes #176
2017-04-11 16:12:08 +02:00
Olivier Lambert
33d9801dfe feat(i18n): add Polish language, fixes #2079 2017-04-11 08:51:44 +02:00
Julien Fontanet
8c7a031cca chore: coding style 2017-04-10 17:32:38 +02:00
Julien Fontanet
9484d87e76 chore(backup/new): clearer timeout label 2017-04-10 17:24:53 +02:00
Julien Fontanet
4b6822d6e5 fix(backup/new): default owner is current user 2017-04-10 17:23:10 +02:00
Julien Fontanet
7241a0529b fix(utils/addSubscription): only use setState() when mounted 2017-04-10 17:05:50 +02:00
Julien Fontanet
66083b4e50 fix(backup/new): timeout should be in seconds
Fixes #2076
2017-04-10 16:47:04 +02:00
Julien Fontanet
740e1ccd5b fix(job.set): make all fields optional (2) 2017-04-10 16:45:27 +02:00
Julien Fontanet
bc03f2ed17 fix(job.set): make all fields optional 2017-04-10 16:15:45 +02:00
Julien Fontanet
4b5cb86d87 chore(Xapi#_createVbd): base default empty prop on VDI presence 2017-04-10 16:15:45 +02:00
Julien Fontanet
b877d6088b fix(models/utils/parseProp): reduce verbosity 2017-04-10 16:15:45 +02:00
Julien Fontanet
26cfd439e1 fix(xapi-objects-to-xo): use $ref for VM-template ids
Fixes vatesfr/xo-web#2075
2017-04-10 16:15:44 +02:00
karolsok
f631b3cc64 feat(intl): pl translation (#2068) 2017-04-10 16:07:01 +02:00
Julien Fontanet
8f4a43de75 feat(xo-server-transport-email): 0.4.2 2017-04-10 11:32:29 +02:00
Julien Fontanet
e2d4a41d9a fix(xo-server-transport-email): fix From header
Fix vatesfr/xo-web#2074
2017-04-10 11:32:13 +02:00
Julien Fontanet
bb58d9b4d6 5.7.6 2017-04-07 16:16:06 +02:00
Julien Fontanet
93ebff1055 fix(backup/new): default to non smart backup 2017-04-07 16:12:51 +02:00
Julien Fontanet
08aec1c09a fix(backup/new): job creation was broken 2017-04-07 16:10:56 +02:00
Julien Fontanet
8ca98a56fe 5.7.5 2017-04-07 15:52:13 +02:00
Julien Fontanet
705f53e3e5 fix(scheduling): timezone selection 2017-04-07 15:51:49 +02:00
Julien Fontanet
adaf069d20 5.7.4 2017-04-07 15:27:46 +02:00
Julien Fontanet
d7be7d8660 fix(select-objects): do not treat empty string as a value (2) 2017-04-07 15:25:41 +02:00
Julien Fontanet
faddee86b6 fix(select-objects): do not treat empty string as a value 2017-04-07 15:23:27 +02:00
Julien Fontanet
c4fcc65d16 fix(backup/new): coding style 2017-04-07 15:17:51 +02:00
Julien Fontanet
890631d33b fix(select-objects): correctly handle incorrect values with non-multi 2017-04-07 15:17:32 +02:00
Julien Fontanet
8e8145bb48 chore(backup/new): controlled inputs (#2072) 2017-04-07 15:02:53 +02:00
Julien Fontanet
d73d6719a5 5.7.3 2017-04-06 19:30:33 +02:00
Julien Fontanet
eafcf66f4d 5.7.1 2017-04-06 19:30:09 +02:00
Pierre Donias
3419bee198 feat(pack,patch): support 7.1 packs/patches format (#2069)
Fixes #2058
2017-04-06 19:05:51 +02:00
Pierre Donias
a8fad8193b feat(pack,patch): XS 7.1 mechanism (#527)
See vatesfr/xo-web#2058
2017-04-06 19:05:43 +02:00
Julien Fontanet
4368fad393 fix(react-novnc): do not error if canvas is not mounted 2017-04-06 17:28:29 +02:00
badrAZ
ca695c38cd feat(vm.revertSnapshot): restore power state (#526)
Fixes vatesfr/xo-web#834
2017-04-06 15:24:30 +02:00
badrAZ
ab93fdbf10 feat: Display a warning when the CD drive is not completely installed (#2066)
Fixes #2064
2017-04-06 15:22:42 +02:00
Julien Fontanet
8fd7697a45 fix(vm/disks): attach/create disk for non-PV VM 2017-04-06 12:15:22 +02:00
badrAZ
6e0f98a809 feat(VBD): expose the VBD device (#525)
See vatesfr/xo-web#2064
2017-04-06 11:07:16 +02:00
badrAZ
1121a60912 feat(host/network): use StateButton (#2063)
Fixes #2060
2017-04-06 09:58:41 +02:00
Julien Fontanet
d2af0152d0 feat(xo-server-transport-email): 0.4.1 2017-04-06 09:38:34 +02:00
Julien Fontanet
e7b4bd2fe4 5.7.2 2017-04-05 15:07:39 +02:00
Julien Fontanet
fcd8bdd1b3 chore(backup/new): simplify smart-backup condition 2017-04-05 14:52:52 +02:00
badrAZ
e6f140f575 fix(select-objects): display missing objects (#2059)
Fixes #2052
2017-04-05 14:52:21 +02:00
Julien Fontanet
37f825ab6d chore(package): use passport-google-oauth20 directly 2017-04-03 10:59:11 +02:00
Julien Fontanet
bfe4c45fcf fix(xo/configurePlugin): do not swallow error 2017-04-03 10:31:21 +02:00
Julien Fontanet
8901d3ce64 fix(sample config): IPv6 used by default 2017-03-31 18:25:30 +02:00
Julien Fontanet
f95370124b 5.7.1 2017-03-31 18:05:29 +02:00
Julien Fontanet
2564343816 fix(xo-json-schema-input/vm): controlled mode 2017-03-31 18:03:35 +02:00
Julien Fontanet
03734eb761 fix(logs): do not fail on non-string params 2017-03-31 18:03:35 +02:00
Julien Fontanet
92104f4ab7 feat(xo-server-usage-report): 0.3.0 2017-03-31 17:03:14 +02:00
Julien Fontanet
408a2498d0 feat(xo-server-backup-reports): 0.7.0 2017-03-31 17:02:23 +02:00
Julien Fontanet
2641966285 5.7.0 2017-03-31 16:37:22 +02:00
Julien Fontanet
29d63a9fdd 5.7.0 2017-03-31 16:36:40 +02:00
Julien Fontanet
ca94b236a8 feat(settings/plugins): easier edition 2017-03-31 16:35:14 +02:00
Julien Fontanet
fa1ec30ba5 chore(json-schema-input): controlled inputs (#2001) 2017-03-31 16:21:54 +02:00
Julien Fontanet
8d473001aa feat(xo-server-transport-email): 0.4.0 2017-03-31 15:03:44 +02:00
Julien Fontanet
ceaf0bd745 feat(xo-server-transport-email): finer SSL/TLS config 2017-03-31 15:01:11 +02:00
Julien Fontanet
a96849bc89 chore(xo-server-transport-email): update all deps 2017-03-31 15:00:38 +02:00
Olivier Lambert
2b1423aebe fix(changelog): it seems we are in 2017. 2017-03-31 14:55:56 +02:00
Julien Fontanet
09dc2265fe fix(Xapi#uploadPoolPatch): use HTTPs 2017-03-31 11:19:27 +02:00
Julien Fontanet
a1fa139ef1 fix(Xapi): accept self-signed certs for export/import VDI/VM 2017-03-31 11:19:26 +02:00
Pierre Donias
373332141f fix(pool/packs): starter plan required to install packs (#2055) 2017-03-31 11:01:17 +02:00
Olivier Lambert
ecf2cf15b5 fix(changelog): typo in 5.7 release 2017-03-31 10:32:50 +02:00
Olivier Lambert
4ee0831d93 feat(changelog): updates for 5.7 2017-03-31 10:31:11 +02:00
Pierre Donias
7df2a88c13 feat(xosan/pack): check XS version requirement (#2054) 2017-03-31 10:18:43 +02:00
Olivier Lambert
3d52556c67 feat(changelog): updates for 5.6 2017-03-31 10:11:38 +02:00
badrAZ
df26a500c4 feat(servers): add a label to servers (#523)
See vatesfr/xo-web#1965
2017-03-29 16:32:02 +02:00
badrAZ
437b160a3f feat(servers): add label property (#2051)
Fixes #1965
2017-03-29 16:23:51 +02:00
Pierre Donias
5c87b82e0c feat(new-vm,vm): select an affinity host (#2039)
See #1983
2017-03-29 14:07:55 +02:00
Julien Fontanet
182b7ae84d fix: commitmsg instead of commit-msg 2017-03-29 13:40:10 +02:00
Julien Fontanet
e6e254bd86 chore(xo-cli): update dependencies 2017-03-29 13:39:31 +02:00
Julien Fontanet
3b4e7a0bfe feat(xo-cli): ask password if not provided 2017-03-29 13:30:33 +02:00
Julien Fontanet
a0887bb5b3 fix: do not use yarn test 2017-03-29 13:19:20 +02:00
Julien Fontanet
5c6a592aba chore: update dependencies 2017-03-29 13:18:09 +02:00
badrAZ
7f2bc79d5f feat(ActionButton): improve error reporting (#2050)
Fixes #2048
2017-03-29 12:03:19 +02:00
Pierre Donias
837a61acf3 fix(home): not visible items should never be selected (#2042)
Fixes #2027
Fixes #2035
2017-03-29 10:53:31 +02:00
badrAZ
a465218ba3 feat(jobs): configure job timeout (#522)
See vatesfr/xo-web#1956
2017-03-29 10:39:52 +02:00
badrAZ
5971eed72a feat(jobs): configure job timeout (#2043)
Fixes #1956
2017-03-29 10:39:29 +02:00
Julien Fontanet
1ead6eb916 fix(Xapi): export/import of VDI/VM should use HTTPs 2017-03-28 17:33:17 +02:00
Julien Fontanet
c8c0b24420 feat(xo-server-auth-ldap): 0.6.3 2017-03-28 16:21:42 +02:00
Julien Fontanet
0da5d4376d feat(xo-server-auth-ldap): example with group filtering 2017-03-28 16:21:42 +02:00
Pierre Donias
1b8224030b fix(ipPools): prevent creating 2 IP pools with the same name (#2041)
Fixes #1731
2017-03-24 12:26:52 +01:00
Pierre Donias
ed3ec3fa8b fix(vm/disks): do not show bootable flags for non PV VMs (#2040)
Fixes #1996
2017-03-24 11:49:46 +01:00
Julien Fontanet
44fe1b31ba chore(package): update all dependencies 2017-03-24 11:39:35 +01:00
Julien Fontanet
0856d3d5c9 fix: update yarn.lock 2017-03-24 11:38:32 +01:00
Pierre Donias
f6b74ea836 feat(vm): affinity host (#521)
See vatesfr/xo-web#1983
2017-03-24 11:35:00 +01:00
Pierre Donias
aa98ca49e5 feat(locales): Hungarian (hu) (#2038)
Fixes #2019
2017-03-24 10:36:03 +01:00
badrAZ
44d35c2351 feat: more uses of StateButton (#2034) 2017-03-23 17:46:26 +01:00
badrAZ
df8eb7a000 feat({backup,job}/overview): clearer state (#2023)
Fixes #1958
2017-03-23 09:42:23 +01:00
Julien Fontanet
ac061c8750 chore(backup/new): improve description of report 2017-03-22 12:13:35 +01:00
Julien Fontanet
656d3e55ac feat(backup/new): report on failure by default 2017-03-22 12:09:13 +01:00
greenkeeper[bot]
e0cef71700 fix(package): update ms to version 1.0.0 (#520)
https://greenkeeper.io/
2017-03-19 22:49:02 +01:00
greenkeeper[bot]
47f3788f55 fix(package): update ms to version 1.0.0 (#61)
https://greenkeeper.io/
2017-03-19 22:48:05 +01:00
Julien Fontanet
19d1f70458 fix(xapi-objects-to-xo): PV drivers check for XS >= 7.1
Fixes vatesfr/xo-web#2024
2017-03-17 18:05:05 +01:00
badrAZ
840a236e61 feat(xo-server-backup-reports): group failed/successful VMs (#6)
Fixes vatesfr/xo-web#1950
2017-03-17 17:01:05 +01:00
Julien Fontanet
50641287f8 fix(XoApp): wait for signin before show pages 2017-03-17 14:48:33 +01:00
Julien Fontanet
0bc072aa65 feat(Home): add a None filter 2017-03-17 14:26:21 +01:00
Julien Fontanet
9d7d665520 chore(Home#_getDefaultFilter): cleaner code 2017-03-17 14:26:21 +01:00
Julien Fontanet
819ea94e7b fix(xo): keep user in store up to date 2017-03-17 14:26:21 +01:00
badrAZ
40753568df fix(settings/remotes): no duplicate names (#2021)
Fixes #1879
2017-03-17 14:11:15 +01:00
badrAZ
b07b998304 fix(xo-server-usage-report): add name for all objects (#5)
Fixes vatesfr/xo-web#2017
2017-03-16 18:00:23 +01:00
badrAZ
8793aed561 feat(home): improve inter-types linkage (#2015)
Fixes #2012
2017-03-16 10:11:52 +01:00
Julien Fontanet
377a50bc09 fix: minor warnings 2017-03-15 17:02:03 +01:00
Julien Fontanet
fe5a43fbdf chore: update yarn.lock 2017-03-15 16:09:17 +01:00
badrAZ
43c103e436 feat(new-vm): shared VM in resource set (#518)
Fixes vatesfr/xo-web#1964.
2017-03-15 14:45:36 +01:00
badrAZ
7f44220220 feat(new VM): share a VM (#2013) 2017-03-15 14:38:28 +01:00
greenkeeper[bot]
0df1610ca9 chore(package): update gulp-csso to version 3.0.0 (#2009)
https://greenkeeper.io/
2017-03-14 14:51:53 +01:00
Julien Fontanet
24c8b9e02d chore(auto-controlled-component): remove base-component dep 2017-03-14 11:43:47 +01:00
Pierre Donias
01b311f2ba fix(new-vm): remove bootable option (#2008)
Fixes #2007
2017-03-14 11:27:49 +01:00
Pierre Donias
a2bb3182f4 feat(backup/logs): show job tag in table (#2005)
Fixes #1982
2017-03-14 10:54:39 +01:00
Pierre Donias
c86e15a310 feat(xo/utils/getDefaultNetworkForVif): match network with same VLAN (#1997)
Fixes #1990
2017-03-13 18:03:14 +01:00
Julien Fontanet
6ff4f096a3 chore(build): do not build tests 2017-03-10 14:46:06 +01:00
Julien Fontanet
862e5a95e7 fix(package): update babel-plugin-lodash 2017-03-09 17:51:47 +01:00
Julien Fontanet
73e2c7e849 chore(package): use babel-plugin-dev 2017-03-09 17:50:08 +01:00
Julien Fontanet
0b0937e233 chore(base-component): remove shallow-equal dep 2017-03-09 15:22:52 +01:00
Julien Fontanet
6bf114859f chore(base-component): remove invoke dep 2017-03-09 15:20:14 +01:00
Julien Fontanet
db6d67eeb7 feat(JsonSchemaInput/EnumInput): handle enumNames 2017-03-08 18:08:59 +01:00
Julien Fontanet
e820b13f9f fix(xo-cli): add final newline for --list-objects 2017-03-08 18:02:12 +01:00
Pierre Donias
d8d82441c3 fix(Xapi#createVm): only one disk should be bootable (#516)
See vatesfr/xo-web#1994.

For more complex setups, create the VMs and change bootable flags afterward.
2017-03-08 16:31:22 +01:00
Julien Fontanet
63be8afd35 chore(README): reverse XenServer versions order 2017-03-08 15:00:01 +01:00
Olivier Lambert
1166db7834 chore(README): add 7.1 and fix XenServer (#60) 2017-03-08 14:59:03 +01:00
Olivier Lambert
4f489e1854 feat(sr): add lvmohba SR type management (#517) 2017-03-08 14:03:57 +01:00
badrAZ
3662f4f256 fix(xo-server-usage-report): handle renamed VMs (#3) 2017-03-08 09:56:45 +01:00
Julien Fontanet
a345d89aac fix(home): changing type reset paging
Fixes #1993
2017-03-06 15:47:42 +01:00
Pierre Donias
e8f8ebb112 feat(XOSAN): select suggestion, SVG graph (#1991) 2017-03-06 12:01:38 +01:00
Julien Fontanet
9ab275df5d fix(vm.set): behave if the resource set no longer exist 2017-03-04 16:27:25 +01:00
Julien Fontanet
66c1754eb8 chore(package): update xo-common to v0.1.1 2017-03-04 16:16:58 +01:00
Julien Fontanet
b03335eb94 feat(xo-common): 0.1.1 2017-03-04 16:11:32 +01:00
Julien Fontanet
31e3677111 fix(api-errors): correctly forwards all params 2017-03-04 16:10:37 +01:00
Julien Fontanet
e67bab1f5c fix(package): require Node >= 4.5 2017-03-04 03:24:49 +01:00
Julien Fontanet
ceb6667112 fix: coding style 2017-03-03 16:32:58 +01:00
badrAZ
cafba0b361 fix(vm.resume): remove unused force param (#514) 2017-03-03 15:49:12 +01:00
badrAZ
9bc1a51def feat(xo-server-usage-report): add VM names (#2) 2017-03-03 13:26:24 +01:00
Julien Fontanet
d215885dab chore(xo-server-usage-report): remove unused files 2017-03-02 21:04:49 +01:00
Julien Fontanet
1dad5b5c3a 5.6.3 2017-03-02 19:07:29 +01:00
Pierre Donias
5cc5ee4e87 fix(XOSAN): XS v7.0 required to install XOSAN (#1981) 2017-03-02 17:38:55 +01:00
Julien Fontanet
68a1c93fbb chore(xo-server-usage-report): fix URLs 2017-03-02 16:36:02 +01:00
Julien Fontanet
9c6302fa50 Merge remote-tracking branch 'xo-server-usage-report/master' 2017-03-02 16:30:23 +01:00
Julien Fontanet
d60440e512 chore(xo-server-cloud): fix homepage URL 2017-03-02 16:27:55 +01:00
Julien Fontanet
957b9319cb fix: coding style 2017-03-02 16:21:30 +01:00
Julien Fontanet
9a28b9d1f1 0.2.2 2017-03-02 16:20:36 +01:00
Julien Fontanet
543d061251 chore: add headers to template 2017-03-02 16:20:36 +01:00
Julien Fontanet
acba90b293 feat: minify HTML 2017-03-02 16:20:36 +01:00
Julien Fontanet
8992e9988f chore: various updates 2017-03-02 16:20:36 +01:00
Julien Fontanet
3ce87b9cb3 fix: inject image directly in HTML 2017-03-02 16:20:36 +01:00
Julien Fontanet
cbe7b3046c chore: better compressed xo.png 2017-03-02 16:20:36 +01:00
Julien Fontanet
62344cb814 chore: remove unused logo.png 2017-03-02 16:20:36 +01:00
Julien Fontanet
72d45a5fd2 0.2.1 2017-03-02 16:20:36 +01:00
Julien Fontanet
c4e4dd501d 0.2.0 2017-03-02 16:20:36 +01:00
Julien Fontanet
e8d2b32a14 5.6.2 2017-03-01 17:09:19 +01:00
Julien Fontanet
f492909e42 fix(linting): ignored files go into /.gitignore 2017-03-01 15:19:39 +01:00
Julien Fontanet
3e4efcf297 fix(vm.importBackup): fix datetime in VM name 2017-03-01 14:57:02 +01:00
Julien Fontanet
4ccadac148 5.6.4 2017-03-01 14:46:09 +01:00
Julien Fontanet
6e148c18b0 fix(vm.importDeltaBackup): fix datetime in VM name (#513) 2017-03-01 14:34:29 +01:00
Julien Fontanet
75f849982e fix(Xapi#exportVdi): returned promise has a cancel() method (#512) 2017-03-01 14:12:56 +01:00
Julien Fontanet
8722ef45ac chore: add mention-bot config 2017-03-01 13:27:54 +01:00
greenkeeper[bot]
3d96765b1f fix(package): update event-to-promise to version 0.8.0 (#57)
https://greenkeeper.io/
2017-03-01 11:15:07 +01:00
Pierre Donias
7ea17750a1 fix(pool/patches): disable patching for free plan (#1972) 2017-03-01 10:13:09 +01:00
greenkeeper[bot]
02d052c071 chore(package): update standard to version 9.0.0 (#19)
https://greenkeeper.io/
2017-03-01 00:53:36 +01:00
greenkeeper[bot]
4c52fe11d3 chore(package): update standard to version 9.0.0 (#56)
https://greenkeeper.io/
2017-03-01 00:18:56 +01:00
Julien Fontanet
663e1f1a4b fix(menu): XOSAN only displayed to admins
Fixes #1968
2017-02-28 17:54:21 +01:00
Julien Fontanet
079310c67e fix(store/reducer/object): missing part of previous fix 2017-02-28 17:01:36 +01:00
Julien Fontanet
5cf7f1f886 fix(store/reducer/object): handle type change
Fixes #1967
2017-02-28 16:14:07 +01:00
Julien Fontanet
b347c78a8c fix(vm.create): do not get stuck when installing from ISO 2017-02-28 15:43:06 +01:00
Julien Fontanet
c70d92cf09 chore(package): update all dependencies 2017-02-28 11:07:23 +01:00
Julien Fontanet
4590bed56e chore(package): use stage-3 instead of stage-0 2017-02-28 11:06:25 +01:00
Julien Fontanet
7c00d118f3 feat: remove html-pdf
Simply send HTML reports for now.
2017-02-28 11:04:48 +01:00
Julien Fontanet
9f64af859e chore(package): update react-select to v1.0.0-rc.3 2017-02-28 10:44:04 +01:00
Julien Fontanet
007aa776cb chore(package): update index-modules to v0.3.0 2017-02-28 10:33:12 +01:00
Julien Fontanet
66bc092edd chore(package): update husky to v0.13.1 2017-02-28 10:30:44 +01:00
Julien Fontanet
140a88ee12 chore(package): update jest to v19.0.2 2017-02-28 10:29:44 +01:00
Julien Fontanet
88ae24855a feat(models/utils/parseProp): do not warn on empty string 2017-02-28 09:58:41 +01:00
Julien Fontanet
356884ea53 feat: reduce the default debugging level 2017-02-28 09:58:41 +01:00
Julien Fontanet
68e37fff79 feat(xo-server-transport-email): 0.3.3 2017-02-27 15:43:18 +01:00
Julien Fontanet
6958e71efd chore(xo-server-transport-email): no longer needs lodash 2017-02-27 15:42:04 +01:00
Julien Fontanet
d0618182d1 feat(xo-server-transport-email): test also sends an attachment 2017-02-27 15:42:04 +01:00
Julien Fontanet
e8891e27dd fix(typo): iterface → interface 2017-02-27 15:42:04 +01:00
Julien Fontanet
adb80933ee chore(package): make package publishable 2017-02-27 14:03:24 +01:00
Julien Fontanet
23b942c7da fix(package): use julien.fontanet@vates.fr as author 2017-02-27 14:03:16 +01:00
Julien Fontanet
7eef7d4636 fix(package): license is AGPL3 2017-02-27 14:02:54 +01:00
badrAZ
51fba21dd6 feat(vm.import): throw if type is xva and data is provided (#506) 2017-02-27 11:57:40 +01:00
Julien Fontanet
f42758938d fix(package): migrate ghooks→husky config 2017-02-27 11:41:31 +01:00
Julien Fontanet
e19fd81536 chore: update yarn.lock 2017-02-27 11:40:28 +01:00
Julien Fontanet
73835ded96 chore(store/actions/createAction): minor optimizations 2017-02-27 11:37:56 +01:00
Julien Fontanet
1ec1a8bd94 chore(package): update superagent to version 3.5.0 (#1962)
Closes #1947

https://greenkeeper.io/
2017-02-27 11:34:57 +01:00
greenkeeper[bot]
f0b6d57ba8 chore(package): update modular-css to version 4.1.1 (#1952)
https://greenkeeper.io/
2017-02-27 11:33:12 +01:00
Julien Fontanet
6aa5d608bf chore(package): babel-preset-es2015 → babel-preset-env 2017-02-27 11:22:34 +01:00
Julien Fontanet
21ad2c5744 fix(package): commit-msg → commitmsg 2017-02-27 11:20:40 +01:00
Julien Fontanet
dea1163159 fix(package): jest is a dev dependency 2017-02-27 11:20:19 +01:00
Julien Fontanet
c4c2e8cf74 chore(package): fix for jest 19 2017-02-27 11:19:38 +01:00
Julien Fontanet
5883c35cf3 chore(package): update all dependencies 2017-02-27 11:18:46 +01:00
Julien Fontanet
4d2719a424 5.6.3 2017-02-24 16:12:25 +01:00
Nicolas Raynaud
7cf2d0d01c fix(xosan) (#509)
- fix 2 bricks configuration
- limit bricks size to 2TB
- fix arbiter cleanup
2017-02-24 16:11:59 +01:00
Julien Fontanet
5a08b512a7 fix(xosan.createSR): use address prop 2017-02-24 14:56:27 +01:00
Pierre Donias
aa6ff6cd64 fix(xapi.installSupplementalPackOnAllHosts): multi-pipe stream (#508)
Fixes vatesfr/xo-web#1957
2017-02-24 11:41:47 +01:00
Julien Fontanet
72baa1a786 feat(xo-server-cloud): 0.2.0 2017-02-23 19:58:22 +01:00
Julien Fontanet
4d72569030 feat(xo-server-cloud): retry connecting to xoa-updater 2017-02-23 19:42:53 +01:00
Julien Fontanet
f9a3ad14d1 5.6.1 2017-02-23 18:39:04 +01:00
Julien Fontanet
89421d292c 5.6.2 2017-02-23 18:38:14 +01:00
Julien Fontanet
55c6515bac fix(vhdMerge): ensure parent.bat.size >= child.bat.size
Fixes vatesfr/xo-web#1939
2017-02-23 18:35:52 +01:00
Pierre Donias
1b86f533f7 feat(XOSAN) (#1955) 2017-02-23 18:34:20 +01:00
Pierre Donias
5db6f6a58c feat(XOSAN) (#505) 2017-02-23 18:33:23 +01:00
Julien Fontanet
eeedf6ab28 feat(Vhd#ensurebatSize): no need to wait before writing footer 2017-02-23 18:31:05 +01:00
Julien Fontanet
3758cd207b fix(Vhd#ensureBatSize): Buffer#size → Buffer#length 2017-02-23 18:31:05 +01:00
Julien Fontanet
c15ede6239 fix(Vhd#ensureBatSize): avoid style error 2017-02-23 18:31:05 +01:00
Julien Fontanet
e54e31e059 feat(vhdMerge): avoid unnecessary footer write 2017-02-23 18:31:05 +01:00
Julien Fontanet
8c573aa8e4 chore(Vhd): add debugs 2017-02-23 18:31:05 +01:00
Julien Fontanet
654559086c chore(Vhd#writeBlockSectors): expect end sector instead of # of sectors 2017-02-23 18:31:05 +01:00
Julien Fontanet
b0d9679568 chore(Vhd#coalesceBlock): do not pass blockAddr 2017-02-23 18:31:05 +01:00
Julien Fontanet
87fdaf7fa7 chore(Vhd): merge readBlockBitmap() readBlockData() into _readBlock() 2017-02-23 18:31:05 +01:00
Julien Fontanet
bb3a365166 fix(Vhd#writeBlockSectors): pass correct params to Vhd#readBlockBitmap() 2017-02-23 18:31:05 +01:00
Julien Fontanet
2be183d980 various updates 2017-02-23 18:31:05 +01:00
Julien Fontanet
c6dc846838 fix(Vhd#ensureBatSize): extend BAT at correct offset 2017-02-23 18:31:05 +01:00
Julien Fontanet
1142f1d59a various updates 2017-02-23 18:31:05 +01:00
Julien Fontanet
126c470979 fix(Vhd#getEndOfHeaders): correctly compute parent locator size 2017-02-23 18:31:05 +01:00
Julien Fontanet
d679dc3e8b fix(vhdMerge): update diskGeometry and originalSize 2017-02-23 18:31:05 +01:00
Julien Fontanet
d5422dfe89 fix(Vhd#ensureBatSize): do not round maxTableEntries 2017-02-23 18:31:05 +01:00
Julien Fontanet
d64237b4f2 fix(package): dependency-check should ignore constant-stream 2017-02-23 18:31:05 +01:00
Julien Fontanet
7b7e4942f2 fix(constant-stream): optimize data length 2017-02-23 18:31:05 +01:00
Julien Fontanet
e4c343a587 chore(Vhd#_writeStream): merge back into Vhd#_write() 2017-02-23 18:31:05 +01:00
Julien Fontanet
1a8ae21478 feat(Vhd#_write): can also handle streams 2017-02-23 18:31:05 +01:00
Julien Fontanet
dd37a5b584 chore(Vhd#_write): simplify code 2017-02-23 18:31:05 +01:00
Julien Fontanet
eec340e6c0 chore(Vhd#_getBatEntry): remove logging 2017-02-23 18:31:05 +01:00
Julien Fontanet
c2fb5ba1f0 fix(vhdMerge): update currentSize and timestamp 2017-02-23 18:31:05 +01:00
Julien Fontanet
36d7e17b86 fix(Vhd#ensureBatSize): update BAT before writing footer 2017-02-23 18:31:05 +01:00
Julien Fontanet
5a1dc49428 fix(Vhd#ensureBatSize): various fixes 2017-02-23 18:31:05 +01:00
Julien Fontanet
47caf54772 fix(Vhd#ensureBatSize): extend local BAT buffer as well 2017-02-23 18:31:05 +01:00
Julien Fontanet
6af50a8c44 feat(Vhd#ensurebatSize): do not move first block if not necessary 2017-02-23 18:31:05 +01:00
Julien Fontanet
1b27407970 chore(Vhd#_getFirstAndLastBlocks): value → sector 2017-02-23 18:31:05 +01:00
Julien Fontanet
4da6306c67 fix(Vhd#_getFirstAndLastBlocks): should not be async 2017-02-23 18:31:05 +01:00
Julien Fontanet
f950b7a725 fix(Vhd#_readBlockData) 2017-02-23 18:31:05 +01:00
Julien Fontanet
930cf9ed04 fix(Vhd#ensureBatSize): update header.maxTableEntries 2017-02-23 18:31:05 +01:00
Julien Fontanet
744016e752 chore(vhd-merge): Vhd#_read() 2017-02-23 18:31:05 +01:00
Julien Fontanet
2fb4e907df fix(vhdMerge): ensure parent.bat.size >= child.bat.size
Fixes vatesfr/xo-web#1939
2017-02-23 18:31:05 +01:00
Julien Fontanet
ef2a815e52 chore(vhdMerge): ensure block sizes are identical 2017-02-23 18:31:05 +01:00
Julien Fontanet
33a81d4f3c chore(vhd-merge): rename and clean BAT methods
- readAllocationTableEntry() → _getBatEntry()
- writeAllocationTableEntry() → _setBatEntry()
2017-02-23 18:31:05 +01:00
Julien Fontanet
4911df0bf9 chore(Vhd#writeAllocationTableEntry): commit the change in the file 2017-02-23 18:31:05 +01:00
Julien Fontanet
2b612b5db7 feat(constant-stream): emit the same data n times 2017-02-23 18:31:05 +01:00
Julien Fontanet
bfe81b52ef chore(vhd-merge): Vhd#_writeStream() 2017-02-23 18:31:05 +01:00
Julien Fontanet
26f6a4beb9 chore(vhd-merge): Vhd#_readStream() 2017-02-23 18:31:05 +01:00
Pierre Donias
532a368606 feat(xo-server-cloud): new plugin (#1) 2017-02-23 18:04:03 +01:00
Julien Fontanet
52e9c3053a fix(console proxy): works with ws v2
Fixes vatesfr/xo-web#1954
2017-02-23 16:59:41 +01:00
Julien Fontanet
908d1f1ec8 feat(Xo#defineProperties): helper to define multiple properties 2017-02-23 12:23:18 +01:00
Julien Fontanet
6a1120f95b feat(Xo#defineProperty): accept a thisArg param 2017-02-23 12:18:54 +01:00
Julien Fontanet
2a2780c25c feat(Xapi#deleteVm): delete disks by default 2017-02-23 11:06:10 +01:00
Julien Fontanet
7d4152197b chore: update yarn.lock 2017-02-22 22:07:52 +01:00
greenkeeper[bot]
9c742600ff fix(package): update jest to version 19.0.1 (#504)
https://greenkeeper.io/
2017-02-22 12:10:12 +01:00
greenkeeper[bot]
6c4178e107 chore(package): update jest to version 19.0.0 (#54)
https://greenkeeper.io/
2017-02-21 10:54:36 +01:00
greenkeeper[bot]
a035bf132a fix(package): update pretty-format to version 19.0.0 (#503)
https://greenkeeper.io/
2017-02-21 10:52:37 +01:00
Julien Fontanet
05a68030b6 feat(xo-cli): use | between types in commands listing 2017-02-17 11:28:51 +01:00
Julien Fontanet
b989d157a0 feat(redis): can connect via Unix socket
Fixes vatesfr/xo-web#1944
2017-02-16 11:32:35 +01:00
greenkeeper[bot]
46416fb026 chore(package): update notifyjs to version 3.0.0 (#1940)
https://greenkeeper.io/
2017-02-15 12:41:38 +01:00
Julien Fontanet
c5f3228ba7 chore(package): use husky instead of ghooks 2017-02-15 10:50:00 +01:00
Julien Fontanet
54ed37c95d chore: update yarn.lock 2017-02-14 15:21:44 +01:00
Julien Fontanet
fd79b47d9e fix(tasks): do not break on unknown host 2017-02-14 15:13:37 +01:00
greenkeeper[bot]
be8333824b chore(package): update browserify to version 14.1.0 (#1938)
https://greenkeeper.io/
2017-02-14 09:05:21 +01:00
Julien Fontanet
db3728f9e4 feat(xo-server-auth-ldap): 0.6.2 2017-02-13 17:45:53 +01:00
Julien Fontanet
ca2d3f5b48 fix(xo-server-auth-ldap): correctly use previous values for booleans 2017-02-13 17:44:34 +01:00
Julien Fontanet
f3a992a55f chore(xo-server-auth-ldap): use lodash and promise-toolbox utils 2017-02-13 17:44:09 +01:00
Julien Fontanet
b5d1e7c459 chore(xo-server-auth-ldap): clarify bind.dn description 2017-02-13 17:09:41 +01:00
Julien Fontanet
eecd89772f chore(xo-server-auth-ldap): remember optional inputs 2017-02-13 16:58:27 +01:00
Julien Fontanet
261587511b chore(package): update all dependencies 2017-02-13 16:13:19 +01:00
Julien Fontanet
ff798801fb chore(package): update xen-api to v0.10.0-2 2017-02-13 16:08:09 +01:00
Julien Fontanet
9b4aab0d19 chore: update yarn.lock 2017-02-13 16:07:20 +01:00
Julien Fontanet
02d1fb436d 0.10.0-2 2017-02-13 15:52:26 +01:00
Julien Fontanet
1c97bf9019 0.10.0-1 2017-02-13 15:50:45 +01:00
Julien Fontanet
bfc4bb1f4c fix(package): commitmsg hook 2017-02-13 15:50:22 +01:00
Julien Fontanet
ccdce32562 chore(package): update all dependencies 2017-02-13 15:50:09 +01:00
Julien Fontanet
87fdcf14e5 feat(Xapi#_rawCall): add method to error object 2017-02-13 15:47:09 +01:00
greenkeeper[bot]
a0570f41fb fix(package): update fs-promise to version 2.0.0 (#27)
https://greenkeeper.io/
2017-02-13 10:36:44 +01:00
greenkeeper[bot]
6e42cf9952 fix(package): update fs-promise to version 2.0.0 (#501)
https://greenkeeper.io/
2017-02-13 10:34:33 +01:00
Julien Fontanet
4c3a8ca312 fix(Xapi#createVm): wait for VM record to have all its VBDs/VIFs (#500) 2017-02-09 16:49:58 +01:00
Julien Fontanet
a63eb48f03 fix(Xapi#createVm): do not wait for a new record 2017-02-09 16:06:25 +01:00
Julien Fontanet
d0214f805e fix(Xapi#createVm): _waitObject → _waitObjectState 2017-02-09 16:06:25 +01:00
badrAZ
d736bd6501 fix(vm.create): VIFs param is optional (#499) 2017-02-09 11:16:20 +01:00
Julien Fontanet
5fd42bf216 feat: new vhd-cli package 2017-02-07 19:24:07 +01:00
Pierre Donias
2ce4a11e0a fix(vm.delete): import mapFilter (#497) 2017-02-07 11:27:30 +01:00
Julien Fontanet
55daffc791 fix(pool): predicate for host to add is now dynamic (#1923) 2017-02-07 11:17:33 +01:00
Pierre Donias
e5ab8fe3e4 feat(vm.delete): remove ACLs (#496) 2017-02-02 22:11:13 +01:00
Julien Fontanet
3e55d8d9df fix(README): issues should be reported on xo-web's tracker 2017-02-02 16:00:21 +01:00
Julien Fontanet
d9f4a196d0 feat(xo-server-auth-ldap): 0.6.1 2017-02-02 15:55:19 +01:00
Julien Fontanet
768ef8a316 chore(xo-server-auth-ldap): update all deps 2017-02-02 15:49:29 +01:00
Julien Fontanet
a478d02e5d fix(xo-server-auth-ldap): handle connection failures 2017-02-02 15:49:27 +01:00
Julien Fontanet
b98a7de3ae chore(xo-server-auth-ldap): use promise-toolbox 2017-02-02 15:49:25 +01:00
Pierre Donias
375baf7fe5 feat(home): link to VM's resource set (#1920)
Fixes #1905
2017-02-01 17:01:40 +01:00
Pierre Donias
815e74c93c feat(vm): allow snapshot with ACLs (#1916)
Fixes #1865
2017-02-01 15:35:54 +01:00
Pierre Donias
547d6fbc93 feat(pool/advanced): install supplemental pack on all pool's hosts (#1910)
See #1896
2017-02-01 13:08:16 +01:00
Julien Fontanet
657b74a084 Revert "feat(vm.snapshot): copy ACLs from VM to snapshot (#495)"
This reverts commit dfee98b66b.

Should not be necessary: snapshots inherit ACLs from their VM.
2017-02-01 10:24:26 +01:00
Pierre Donias
dfee98b66b feat(vm.snapshot): copy ACLs from VM to snapshot (#495)
See vatesfr/xo-web#1865

Also, correctly remove ACLs on VM deletion.
2017-02-01 10:22:17 +01:00
greenkeeper[bot]
b45a4b9e6c chore(package): update chartist-plugin-legend to version 0.6.1 (#1915)
https://greenkeeper.io/
2017-02-01 09:21:28 +01:00
greenkeeper[bot]
3436d0256a chore(package): update modular-css to version 3.0.0 (#1914)
https://greenkeeper.io/
2017-01-31 08:35:26 +01:00
Julien Fontanet
f65b9f695e 5.6.1 2017-01-30 18:07:39 +01:00
Julien Fontanet
4056385cd3 feat(backups): do not rely on JSON format for lvm commands (#493) 2017-01-30 18:04:27 +01:00
greenkeeper[bot]
2627cfd426 chore(package): update react-chartist to version 0.12.0 (#1912)
https://greenkeeper.io/
2017-01-30 10:53:38 +01:00
Pierre Donias
96d56d43bc feat(Xapi#installSupplementalPackOnAllHosts) (#491)
See vatesfr/xo-web#1896
2017-01-30 10:53:26 +01:00
Olivier Lambert
34b18c00a1 fix(lang): button verbiage. Fixes #1911 2017-01-30 10:07:00 +01:00
Julien Fontanet
2e31ff42ed 0.1.2 2017-01-27 19:25:22 +01:00
Julien Fontanet
9a3b8f2b10 fix: template path 2017-01-27 19:25:18 +01:00
Julien Fontanet
079790bce6 fix(package): add images/ to files list 2017-01-27 19:25:09 +01:00
Julien Fontanet
d99c4c6d14 0.1.1 2017-01-27 19:16:08 +01:00
Julien Fontanet
6839b4d8a4 fix(package): add template to files list 2017-01-27 19:16:04 +01:00
Julien Fontanet
4c47cc6ea8 0.1.0 2017-01-27 18:24:17 +01:00
Julien Fontanet
de81649a98 chore: add yarn.lock 2017-01-27 18:24:14 +01:00
Julien Fontanet
d31eab673e chore: remove ghooks 2017-01-27 18:24:05 +01:00
badrAZ
31189be2c8 Implementation (#15) 2017-01-27 18:22:01 +01:00
Julien Fontanet
45dd2c6519 chore: limit concurrency at 1 for installation 2017-01-27 17:05:48 +01:00
Julien Fontanet
5176d2000e chore: upgrade husky to v0.13.1 and lerna to v2.0.0-beta.34 2017-01-27 17:01:53 +01:00
Julien Fontanet
6f606761e4 chore(xo-server-test-plugin): add yarn.lock 2017-01-27 16:55:02 +01:00
Julien Fontanet
cfabadffe4 chore: exclusively use yarn instead of npm 2017-01-27 16:54:32 +01:00
Julien Fontanet
eba8f95e58 5.6.0 2017-01-27 16:42:07 +01:00
Julien Fontanet
e13af7f5f0 5.6.0 2017-01-27 16:41:29 +01:00
Julien Fontanet
7e2da1ff93 [WiP] feat(backups): implements file restore for LVM (#490)
Fixes vatesfr/xo-web#1878
2017-01-27 16:37:34 +01:00
Nicolas Raynaud
ca08613292 fix(VM import): behave if network is not an object (#1908) 2017-01-27 13:03:30 +01:00
Pierre Donias
4ab63591a0 feat(host/advanced): install a supplemental pack (#1895)
Fixes #1460
2017-01-25 16:08:45 +01:00
Pierre Donias
b7b7e81468 feat(host.installSupplementalPack) (#487)
See vatesfr/xo-web#1460
2017-01-25 16:08:31 +01:00
Pierre Donias
5b4f98b03b fix(scheduling): improve TimePicker UI (#1898)
Fixes #1893
2017-01-25 15:59:03 +01:00
Pierre Donias
0c7768f5d2 fix(vm.delete): IP addresses should always be deallocated (#488)
Fixes vatesfr/xo-web#1906
2017-01-25 15:46:33 +01:00
Pierre Donias
8fe6a56dfc fix(Xapi#installAllPoolPatchesOnHost): ignore PATCH_ALREADY_APPLIED error (#489)
Fixes vatesfr/xo-web#1904
2017-01-25 15:46:15 +01:00
Pierre Donias
f396d61633 feat(settings/logs): easy bug reporting from errors (#1907)
See #1602
2017-01-25 15:06:18 +01:00
Julien Fontanet
7523cb3489 chore: improve filter description 2017-01-25 12:43:29 +01:00
Julien Fontanet
505a9d7c70 chore(package): update inquirer to v3.0.1 2017-01-25 11:12:08 +01:00
Julien Fontanet
7b9dae980d fix(vm.create): properly handle optional param VDIs 2017-01-24 13:36:36 +01:00
Julien Fontanet
9f8c0c8cdf fix(scheduling): month range is 0-11 not 1-12 (#1894)
* fix(scheduling): month range is 0-11 not 1-12

* fix(scheduling): remove unused import
2017-01-19 17:46:37 +01:00
Julien Fontanet
198777ffab fix(xo): improve plugin errors 2017-01-19 16:42:38 +01:00
Olivier Lambert
b59ba6b7bb feat(api): add description for some API calls (#486)
Fixes vatesfr/xo-web#1882
2017-01-17 15:15:18 +01:00
Pierre Donias
29c5ca1132 feat(host/advanced): display installed supplemental packs (#1890)
Fixes #1506
2017-01-16 18:03:57 +01:00
Pierre Donias
05d6f3d1ed feat(iso-device): show DVDs in ISO selector (#1889)
Fixes #1880
2017-01-16 17:06:56 +01:00
Julien Fontanet
8cdee4d173 chore(xo): disable too many listeners warning 2017-01-16 15:50:18 +01:00
Julien Fontanet
c9ed5fbe00 chore: update yarn.lock 2017-01-16 15:18:46 +01:00
Olivier Lambert
536e82de3d feat(readme): add live chat link and icon 2017-01-16 14:54:57 +01:00
Pierre Donias
c59be7c315 fix(backup/new): smart backup pool filter (#1888)
Leaving the pool filter empty now means no filtering on pools, it should be clearer.

See #1885
2017-01-16 14:49:50 +01:00
Julien Fontanet
e698e89968 feat(/signout): URL to sign out 2017-01-16 14:33:58 +01:00
Julien Fontanet
9581764cc8 feat: add normalize-package script 2017-01-16 12:01:32 +01:00
Pierre Donias
b327bb5bd0 feat(backup/file-restore): restore multiple files (#1886)
Fixes #1877
2017-01-16 09:33:30 +01:00
Pierre Donias
02f198d42c feat(backup.fetchFiles): multiple files support (#485)
See vatesfr/xo-web#1877
2017-01-16 09:33:22 +01:00
Julien Fontanet
f03493a252 chore: integration of imported packages 2017-01-13 18:54:27 +01:00
Pierre Donias
61d2d0263b feat(patching): eject tools ISOs before patching host (#479)
Fixes #1798
2017-01-13 18:20:31 +01:00
badrAZ
ed477e99a8 feat(plugin): provide a getDataDir() to plugins (#483)
It returns the path of a directory where the plugin can store data.
2017-01-13 18:13:44 +01:00
Julien Fontanet
22f2a05c8a Merge remote-tracking branch 'xo-server-test-plugin/master' 2017-01-13 14:00:47 +01:00
Julien Fontanet
a703ecc7e1 Merge remote-tracking branch 'xo-cli/master' 2017-01-13 14:00:45 +01:00
Julien Fontanet
c90a687179 Merge remote-tracking branch 'xo-server-load-balancer/master' 2017-01-13 14:00:41 +01:00
Julien Fontanet
e08689ff0e Merge remote-tracking branch 'xo-server-auth-ldap/master' 2017-01-13 14:00:37 +01:00
Julien Fontanet
80ffd811c9 Merge remote-tracking branch 'xo-server-auth-saml/master' 2017-01-13 14:00:33 +01:00
Julien Fontanet
56b583fc99 Merge remote-tracking branch 'xo-server-backup-reports/master' 2017-01-13 14:00:30 +01:00
Julien Fontanet
37a4e108be Merge remote-tracking branch 'xo-server-transport-nagios/master' 2017-01-13 14:00:26 +01:00
Julien Fontanet
9ca531541d Merge remote-tracking branch 'xo-server-transport-email/master' 2017-01-13 14:00:23 +01:00
Julien Fontanet
e304c554d0 Merge remote-tracking branch 'xo-server-auth-github/master' 2017-01-13 14:00:19 +01:00
Julien Fontanet
a7dfa7a381 Merge remote-tracking branch 'xo-server-transport-xmpp/master' 2017-01-13 14:00:09 +01:00
Olivier Lambert
1449be8d66 feat(host): expose supplemental packs (#480) 2017-01-12 17:54:48 +01:00
Julien Fontanet
090d48b636 0.3.2 2017-01-12 17:13:55 +01:00
Julien Fontanet
55567bf666 fix(package): use nodemailer 2.6.4
nodemailer 2.7.0 breaks Node 4 compatibility
2017-01-12 17:13:51 +01:00
Julien Fontanet
5867d84eaa 0.3.1 2017-01-12 16:24:45 +01:00
Julien Fontanet
4d8f1ab169 chore(package): update all dependencies 2017-01-12 16:23:21 +01:00
Julien Fontanet
6a2963be41 chore(configuration schema): add description for from.name and from.address 2017-01-12 16:17:55 +01:00
Julien Fontanet
b10f7b35ee chore(xo-collection): update all deps 2017-01-11 16:50:48 +01:00
Julien Fontanet
dc1bb8992f chore(xo-collection): use jest instead of mocha/must/sinon 2017-01-11 16:32:10 +01:00
Julien Fontanet
5eb7119821 chore: global gitignore 2017-01-11 14:07:49 +01:00
Julien Fontanet
3fa8fc19dc chore: global EditorConfig 2017-01-11 12:03:14 +01:00
Julien Fontanet
a3103587f5 chore(package): use husky instead of ghooks 2017-01-11 10:07:16 +01:00
Julien Fontanet
1bb11b574f chore: update yarn.lock 2017-01-11 10:05:18 +01:00
greenkeeper[bot]
405efe6a31 chore(package): update react-redux to version 5.0.0 (#1825)
https://greenkeeper.io/
2017-01-11 09:22:07 +01:00
Julien Fontanet
341d98e00d chore(xo-acl-resolver): minor fixes regarding monorepo 2017-01-10 18:29:52 +01:00
Julien Fontanet
7eee0f4341 Merge remote-tracking branch 'xo-acl-resolver/master' 2017-01-10 18:11:47 +01:00
Julien Fontanet
0b71b7862a feat: basic README 2017-01-10 18:07:05 +01:00
Julien Fontanet
e2893a0eba chore: fix packages URLs 2017-01-10 18:05:01 +01:00
Julien Fontanet
0c39a4e193 chore: add yarn.lock for all packages 2017-01-10 17:51:50 +01:00
Julien Fontanet
066072b22d chore: configure Travis globally 2017-01-10 17:51:31 +01:00
Pierre Donias
73663c3703 fix(locales/fr): multiple fixes (#1876) 2017-01-10 17:42:41 +01:00
Julien Fontanet
d548503590 chore(xo-remote-parser): update all deps 2017-01-10 16:24:28 +01:00
Julien Fontanet
3a02fc99a2 chore: global husky instead of local ghooks 2017-01-10 16:13:37 +01:00
Julien Fontanet
d8ae943d8a chore: lerna is a dev dep 2017-01-10 15:54:29 +01:00
Julien Fontanet
63dae9ed70 chore: ignore log files
- lerna-debug.log{,.*}
- yerna-error.log{,.*}
2017-01-10 15:54:14 +01:00
Julien Fontanet
97f57f1f2b Merge remote-tracking branch 'xo-remote-parser/master' 2017-01-10 15:20:28 +01:00
Julien Fontanet
060ba6423e Merge remote-tracking branch 'xo-lib/master' 2017-01-10 15:20:25 +01:00
Julien Fontanet
f31bbcdaab Merge remote-tracking branch 'xo-common/master' 2017-01-10 15:20:14 +01:00
Julien Fontanet
2a4bae54ab Merge remote-tracking branch 'xo-collection/master' 2017-01-10 15:20:08 +01:00
Julien Fontanet
95df2f66a3 initial commit 2017-01-10 12:21:59 +01:00
Julien Fontanet
c0c63f49b1 0.10.0-0 2017-01-09 18:30:20 +01:00
Julien Fontanet
4e1bef9537 feat: redirect event 2017-01-09 18:29:54 +01:00
Julien Fontanet
8b78727d20 chore: add yarn.lock 2017-01-09 18:29:38 +01:00
Julien Fontanet
4cd7025be4 chore(package): update all dependencies 2017-01-09 17:30:52 +01:00
Julien Fontanet
015ce2690d chore(package): simplify scripts 2017-01-09 15:12:04 +01:00
Julien Fontanet
3e7f552a63 chore(package): use husky instead of ghooks 2017-01-09 15:05:36 +01:00
greenkeeper[bot]
28902d8747 fix(package): update execa to version 0.6.0 (#478)
https://greenkeeper.io/
2017-01-09 10:50:31 +01:00
Julien Fontanet
421ee7125b chore: update yarn.lock 2017-01-09 10:12:31 +01:00
Julien Fontanet
1a6166b63c chore: update yarn.lock 2017-01-09 10:04:37 +01:00
Julien Fontanet
3828e75b7d fix(package): use bootstrap 4.0.0-alpha5 exactly
Bootstrap 4.0.0-alpha6 is not compatible, we'll migrate with beta1.

See #1871
2017-01-09 10:02:43 +01:00
greenkeeper[bot]
154da142c7 chore(package): update gulp-sourcemaps to version 2.2.3 (#1874)
https://greenkeeper.io/
2017-01-09 09:58:50 +01:00
Julien Fontanet
d534592479 5.5.4 2017-01-06 16:57:47 +01:00
Pierre Donias
b2f6ea9116 fix(vm.set): allocate resources when editing VM (#477)
Fixes vatesfr/xo-web#1695
2017-01-06 16:54:49 +01:00
Pierre Donias
312cd60dd1 feat(settings/servers): error handling (#1868)
Fixes #1833
2017-01-06 16:38:24 +01:00
Pierre Donias
8bf38bb29b feat(server): store connection error in database (#472)
See vatesfr/xo-web#1833
2017-01-06 16:38:17 +01:00
greenkeeper[bot]
6bf522f72f chore(package): update promise-toolbox to version 0.8.0 (#1870)
https://greenkeeper.io/
2017-01-06 11:39:58 +01:00
greenkeeper[bot]
9c6a78b678 fix(package): update promise-toolbox to version 0.8.0 (#476)
https://greenkeeper.io/
2017-01-06 11:34:27 +01:00
greenkeeper[bot]
128b169ae2 fix(package): update promise-toolbox to version 0.8.0 (#16)
https://greenkeeper.io/
2017-01-06 11:32:14 +01:00
greenkeeper[bot]
fdd33abe91 fix(package): update promise-toolbox to version 0.8.0 (#14)
https://greenkeeper.io/
2017-01-06 11:31:53 +01:00
greenkeeper[bot]
22882b1ff2 fix(package): update promise-toolbox to version 0.8.0 (#53)
https://greenkeeper.io/
2017-01-06 11:31:23 +01:00
greenkeeper[bot]
213898987d fix(package): update promise-toolbox to version 0.8.0 (#7)
https://greenkeeper.io/
2017-01-06 11:28:52 +01:00
Pierre Donias
a844f8d459 fix(backup/new): prevent negative depth values (#1869)
Fixes #1851
2017-01-06 11:12:56 +01:00
Pierre Donias
850199d7fc fix(resource-sets): recompute limits (#475)
Fixes vatesfr/xo-web#1866
2017-01-06 10:09:36 +01:00
Pierre Donias
4282928960 fix(vif/create): locking mode when allocating IP addresses (#474)
Fixes vatesfr/xo-web#1747
2017-01-06 09:55:55 +01:00
Julien Fontanet
8ee206174b fix(vm/advanced): PV args edition for all PV VMs
Currently only available if there are already PV args.
2017-01-05 16:51:56 +01:00
Olivier Lambert
1a08e24a5c feat(pool): harmonize links to hosts and storages (#1867)
Fixes #1864
2017-01-05 14:29:06 +01:00
greenkeeper[bot]
086cd0e038 chore(package): update modular-css to version 2.0.0 (#1862)
https://greenkeeper.io/
2017-01-04 09:43:32 +01:00
Julien Fontanet
356dd89d9f chore(package): upgrade jest to v 0.18.1 2017-01-03 18:30:28 +01:00
Julien Fontanet
42d123318c chore(pakcage): upgrade react/react-dom to v15.4.1 2017-01-03 15:28:53 +01:00
Julien Fontanet
89f160317c 5.5.3 2017-01-03 15:19:09 +01:00
Julien Fontanet
9ccd1a0362 chore: update yarn.lock 2017-01-03 15:18:27 +01:00
Pierre Donias
d116d014bc fix(host/network): PIF deletion (#1861)
Fixes #1853
2017-01-03 15:13:44 +01:00
Pierre Donias
7956cabcf4 feat(pool): combined stats tab (#1848)
Fixes #1324
2017-01-03 14:58:22 +01:00
Julien Fontanet
7dd2391e5a fix(group.setUsers): oldUsers → oldUsersIds 2017-01-03 11:20:25 +01:00
Pierre Donias
36c61ad357 feat(vm/snapshots): icon to indicate if a snapshot is quiesce (#1860)
Fixes #1858
2017-01-03 10:54:58 +01:00
Julien Fontanet
e0093f236a fix(group.create): do not attempt to parse empty prop 2017-01-03 10:47:10 +01:00
greenkeeper[bot]
25d60360d5 chore(package): update modular-css to version 1.0.0 (#1859)
https://greenkeeper.io/
2017-01-03 09:38:00 +01:00
Olivier Lambert
1e5579e3ad feat(icons): use microchip for the CPU icon 2017-01-02 17:14:05 +01:00
Julien Fontanet
8c5c32268a fix: users and groups serialization in Redis
Fixes vatesfr/xo-web#1852.
2017-01-02 16:52:51 +01:00
Julien Fontanet
77d43b2280 fix(settings/logs): correctly refresh users 2017-01-02 16:36:09 +01:00
Julien Fontanet
33e8929e8b fix(settings/groups): avoid error when adding a user 2017-01-02 16:36:02 +01:00
Julien Fontanet
b79fa9cb9f feat(backup/overview): sort by start if not end
Avoid unfinished (broken) jobs to stay at the top.
2017-01-02 16:34:36 +01:00
Olivier Lambert
a2812a85bd feat(vm): redirect to home after converting VM to template (#1857)
Fixes #1855
2017-01-02 14:12:33 +01:00
greenkeeper[bot]
b61ccc1af1 fix(package): update hashy to version 0.6.0 (#470)
https://greenkeeper.io/
2017-01-02 13:01:29 +01:00
Olivier Lambert
e8ff46a8ba fix(health): add link from SR to hosts and not only for pools. Fixes #1850 (#1856) 2017-01-02 11:29:32 +01:00
Julien Fontanet
7caf0e40f4 5.5.3 2017-01-02 10:56:08 +01:00
Julien Fontanet
a16508db10 fix(remotes): do not error on disabled remote
- testRemote()
- updateRemote()
- remoteRemote()
- forgetAllRemotes()
2016-12-25 20:07:42 +01:00
Julien Fontanet
351c01d642 fix(intl/messages): typo
Fix #1849
2016-12-24 09:15:54 +01:00
Julien Fontanet
044c9bed4c Update README.md 2016-12-23 11:01:25 +01:00
Julien Fontanet
e333b1d083 chore(package): use new shorter paths for Jest serializer 2016-12-22 16:58:26 +01:00
Julien Fontanet
81bff342b9 chore(package): update decorator-synchronized to version 0.2.3 2016-12-22 16:25:46 +01:00
Julien Fontanet
5ad49de642 5.5.2 2016-12-22 12:27:03 +01:00
Fabrice Marsaud
b45bb5c144 fix(xoa-updater): use the new source info (#1846) 2016-12-22 12:26:02 +01:00
Julien Fontanet
49d41a76a0 5.5.2 2016-12-22 11:22:45 +01:00
Julien Fontanet
b1732b3298 fix(file restore): work around for invalid delta VHD path (#467)
See vatesfr/xo-web#1842.
2016-12-22 11:20:51 +01:00
Julien Fontanet
9402596f69 5.5.1 2016-12-22 11:18:32 +01:00
Fabrice Marsaud
096687ae2c fix(xoa-updates): also refresh on plan change (#1843) 2016-12-22 11:16:45 +01:00
Julien Fontanet
9372cdb6c7 fix(vm.rollingDeltaBackup): do not hide error 2016-12-22 10:21:38 +01:00
badrAZ
81062638eb feat: attachments support (#13) 2016-12-22 10:09:15 +01:00
Julien Fontanet
1d8e54b83e chore(backups): use directly Xo#getRemoteHandler() 2016-12-22 09:50:16 +01:00
Julien Fontanet
30c5600271 chore(Xo#getRemoteHandler): use intermediary variable 2016-12-22 09:49:36 +01:00
Julien Fontanet
9f7e5c3a9a fix(Xo#getRemoteHandler): throws if remote is disabled 2016-12-22 09:49:04 +01:00
Julien Fontanet
37c9342717 fix(vm.rollingDeltaBackup): correctly delete snapshot in case of failure 2016-12-21 22:35:43 +01:00
Julien Fontanet
210b5de992 fix(backup/file-restore-modal): fetched timestamps are in seconds
Follow up to for #1840.
2016-12-20 17:10:55 +01:00
Julien Fontanet
8827f8e940 fix(backup.fetchFiles): encode URI suffix
Fix issue with whitespaces in the filename.
2016-12-20 17:07:13 +01:00
Julien Fontanet
58334bf4a1 fix(backup.list): timestamps should be integers 2016-12-20 17:07:13 +01:00
Julien Fontanet
b898a6702c chore(package): use husky instead of ghooks 2016-12-20 17:07:13 +01:00
Julien Fontanet
6d78a810b9 perf(RemoteHandlerAbstract/createReadStream): optimise code
- avoid async function: overhead with transpilation
- do as much as possible in parallel
- fix: do not add length property in range mode
2016-12-20 17:07:13 +01:00
Julien Fontanet
f742fdbf1b fix(backup/file-restore): fetched timestamps are in seconds
Fixes #1840
2016-12-20 16:49:37 +01:00
Julien Fontanet
8c0028055a chore(package): use husky instead of ghooks 2016-12-20 15:06:29 +01:00
Pierre Donias
e7026c522d fix(editable/XoSelect): update value before saving (#1835) 2016-12-20 13:54:22 +01:00
Julien Fontanet
c21fc4beda 5.5.0 2016-12-20 13:39:05 +01:00
Julien Fontanet
8fc4eb8cdf 5.5.1 2016-12-20 13:38:02 +01:00
Julien Fontanet
edf6fe782e chore: update yarn.lock 2016-12-20 13:36:39 +01:00
Pierre Donias
3cbb6c4a98 feat(backup): implement file restore (#1838)
Fixes #1590
2016-12-20 13:34:59 +01:00
Julien Fontanet
b3fac0c56f fix(backup.list): datetimes should be timestamps 2016-12-20 12:50:17 +01:00
Julien Fontanet
0b063b1f5e 5.5.0 2016-12-20 12:29:16 +01:00
Olivier Lambert
480f05e676 feat(vm): add install time (#465) 2016-12-20 12:19:11 +01:00
Julien Fontanet
1ac8af34ec feat(backup): implement file restore (#461)
See vatesfr/xo-web#1590

Current implementation has following limitations:

- only support local and NFS remotes
- requires installation of libvhdi-utils
- files can only be recovered one by one
2016-12-20 12:18:22 +01:00
Julien Fontanet
74f060b309 fix(package): rename to xo-server-transport-nagios 2016-12-20 11:50:49 +01:00
Julien Fontanet
12de0ca463 0.1.0 2016-12-20 11:45:11 +01:00
Julien Fontanet
72ed59b65b chore(package): make package publishable 2016-12-20 11:45:05 +01:00
Julien Fontanet
fe369bfa18 chore(package): update all dependencies 2016-12-20 11:43:45 +01:00
Olivier Lambert
568a50acc5 feat(changelog): update changelog 2016-12-19 17:59:14 +01:00
Pierre Donias
fbcb756cef fix(backup/new): remove "Only metadata" option (#1837)
Fixes #1818
2016-12-19 17:53:04 +01:00
Pierre Donias
81eb4ba4f9 fix(form/Select): make text wrap when too long (#1836)
Fixes #1832
2016-12-19 17:15:03 +01:00
Olivier Lambert
0cc14d2ab8 fix(intl): fix the place holder for NFS path, removing the initial slash 2016-12-19 13:48:49 +01:00
Julien Fontanet
116661d958 chore: add yarn.lock 2016-12-16 09:48:35 +01:00
Julien Fontanet
0dd70c57cd chore: factory function pass options directly 2016-12-16 09:48:19 +01:00
Julien Fontanet
df0aa1c46d fix(configure): do not modify passed configuration 2016-12-16 09:47:56 +01:00
Julien Fontanet
9b93a47e45 chore(package): update all dependencies 2016-12-16 09:47:26 +01:00
Julien Fontanet
06f6912fb9 chore(package): add mattermost as a keyword 2016-12-16 09:42:22 +01:00
greenkeeper[bot]
6aedadc982 chore(package): update jest to version 18.0.0 (#1831)
https://greenkeeper.io/
2016-12-15 12:34:05 +01:00
Olivier Lambert
a8d10dab3c feat(changelog): changelog for 5.5 release 2016-12-15 12:19:35 +01:00
Pierre Donias
1ff6ff1d7a fix(getDefaultNetworkForVif): allow PIFs with no IP (#1830)
Fixes #1788
2016-12-15 10:31:03 +01:00
badrAZ
c708fd65d7 feat: integration with xo-server-transport-nagios (#17) 2016-12-14 17:24:55 +01:00
Pierre Donias
8afe4a85dc fix(form/select-plain-object): make it controlled (#1829) 2016-12-14 17:18:31 +01:00
badrAZ
0c497900a2 implementation (#1) 2016-12-14 16:33:40 +01:00
Julien Fontanet
34ff8b0f02 feat(Xapi#exportDeltaVm): don't export VDIs with names starting with [NOBAK] (#464)
Fixes vatesfr/xo-web#826
2016-12-14 10:57:25 +01:00
Julien Fontanet
77c3684e28 chore(tests): execute tests directly in src/ 2016-12-13 18:20:17 +01:00
Julien Fontanet
93038ea838 chore(package): remove unused trace 2016-12-13 14:08:38 +01:00
Julien Fontanet
46348f7cba feat: yarn integration 2016-12-13 12:15:26 +01:00
Julien Fontanet
ccc0e45daf feat(tests): use Jest instead of mocha/chai/must 2016-12-13 12:15:03 +01:00
Julien Fontanet
46ca03b017 chore(package): clean scripts 2016-12-13 11:55:12 +01:00
Julien Fontanet
1bfe3197a5 chore(Travis): test with Node stable 2016-12-13 11:51:04 +01:00
Julien Fontanet
4d2617fe68 chore(package): requires Node >= 4 2016-12-13 11:49:54 +01:00
Julien Fontanet
92e289f9da fix(decorators/mixin): do not use arrow function for constructor
It works because of the transpilation but it's not valid ES2015.
2016-12-13 11:41:41 +01:00
greenkeeper[bot]
c57fbdce63 chore(package): update index-modules to version 0.2.1 (#1822) 2016-12-12 16:49:29 +01:00
greenkeeper[bot]
a8c7558a77 chore(package): update index-modules to version 0.2.1 (#463) 2016-12-12 16:49:10 +01:00
greenkeeper[bot]
c756e7ecbe chore(package): update index-modules to version 0.2.0 (#462)
https://greenkeeper.io/
2016-12-12 16:16:44 +01:00
Pierre Donias
1998c56e84 feat(vm.delete): release resource set and IP-pool addresses (#460)
Fixes vatesfr/xo-web#1657, fixes vatesfr/xo-web#1748
2016-12-12 15:14:31 +01:00
greenkeeper[bot]
0b92ceec90 chore(package): update babel-preset-env to version 1.0.1 (#23)
https://greenkeeper.io/
2016-12-10 17:36:47 +01:00
greenkeeper[bot]
bdc0278fd1 chore(package): update gulp-sass to version 3.0.0 (#1820)
https://greenkeeper.io/
2016-12-10 15:07:20 +01:00
greenkeeper[bot]
731bcc68ef chore(package): update babel-preset-env to version 1.0.0 (#5)
https://greenkeeper.io/
2016-12-09 22:56:24 +01:00
greenkeeper[bot]
7e5131c4d2 chore(package): update babel-preset-env to version 1.0.0 (#6)
https://greenkeeper.io/
2016-12-09 22:55:37 +01:00
greenkeeper[bot]
f0554fc77c chore(package): update babel-preset-env to version 1.0.0 (#14)
https://greenkeeper.io/
2016-12-09 22:55:29 +01:00
greenkeeper[bot]
c7814b1f04 chore(package): update babel-preset-env to version 1.0.0 (#14)
https://greenkeeper.io/
2016-12-09 22:55:16 +01:00
greenkeeper[bot]
d585b47360 chore(package): update babel-preset-env to version 1.0.0 (#16)
https://greenkeeper.io/
2016-12-09 22:55:06 +01:00
greenkeeper[bot]
4530d95f48 chore(package): update babel-preset-env to version 1.0.0 (#11)
https://greenkeeper.io/
2016-12-09 22:52:58 +01:00
Fabrice Marsaud
c3ac8d0587 fix(xoa-updater): propose refresh when xo-web is not up to date (#1815)
Fixes #1801.
2016-12-08 16:24:47 +01:00
Julien Fontanet
2ed55b1616 chore(decorators): remove unused @autobind. 2016-12-08 11:47:17 +01:00
Julien Fontanet
0c8d456fd3 chore(package): use bind-property-descriptor instead of custom implementation 2016-12-08 11:46:29 +01:00
Julien Fontanet
c7e6e72ce8 fix(events watching): stop if not connected
Fixes vatesfr/xo-web#1799
2016-12-07 23:18:05 +01:00
Julien Fontanet
f3a5e1e97c feat: yarn integration (#1813) 2016-12-07 14:36:51 +01:00
Julien Fontanet
919aa5fc43 feat(tests): basic tests for grid components 2016-12-07 14:06:20 +01:00
Julien Fontanet
416c98ffd2 chore(tests): use jest instead of ava 2016-12-07 14:06:20 +01:00
greenkeeper[bot]
013d4b9411 fix(package): update inquirer to version 2.0.0 (#23)
https://greenkeeper.io/
2016-12-06 23:18:15 +01:00
Pierre Donias
8094447183 fix(self-service): make it controlled and multiple fixes (#1812)
Fixes:
- VIF IP edition was not possible if the current IP's IP-pool did not exist anymore
- VM creation: removing the pool/resource set in the selector was broken
- Prevent selecting a negative number as an IP pool quantity
- Prevent deleting a resource set that hasn't been created yet
- Remove console.log
2016-12-06 16:43:07 +01:00
Julien Fontanet
575375d3e0 5.4.1 2016-12-05 14:08:56 +01:00
Julien Fontanet
4296ae02dc fix(vm/network): fix IP addresses concatenation 2016-12-05 14:04:43 +01:00
Julien Fontanet
0e40af0515 feat(patch-react): name the patched render function 2016-12-05 14:03:39 +01:00
Julien Fontanet
5d3a0e7a41 fix(patch-react): assign arguments object directly 2016-12-05 10:43:09 +01:00
Julien Fontanet
9e4924caf6 5.4.1 2016-12-02 16:37:17 +01:00
Julien Fontanet
7f391a5860 Merge branch 'next-release' into stable 2016-12-02 16:37:13 +01:00
Julien Fontanet
8ae2aae37a fix(package): update xo-acl-resolver to v0.2.3
It ships a workaround for an issue when a VDI snapshot $snapshot_of is itself.
2016-12-02 16:18:31 +01:00
Julien Fontanet
5c7249c8fc fix(Xapi#exportDeltaVm): remove TAG_BASE_DELTA if full export
Fixes vatesfr/xo-web#1811
2016-12-02 16:09:27 +01:00
Julien Fontanet
0a8fed1950 0.2.3 2016-12-02 14:57:24 +01:00
Julien Fontanet
6dc4b4dc1b fix: workaround for VDI snapshots with $snaphot_of which point to themselves 2016-12-02 14:56:19 +01:00
Pierre Donias
83b3cf406a fix(lang): auto-refresh XO app when changing language (#1809)
Fixes #1800
2016-12-02 13:09:35 +01:00
Julien Fontanet
959b8863eb chore(package): update all dependencies 2016-12-02 10:03:49 +01:00
Julien Fontanet
1643ced4e0 feat: do not break if a component throws 2016-12-01 16:49:36 +01:00
Pierre Donias
b2a1840da7 fix(vm-import): SR selector disable condition (#1808)
Fixes #1804
2016-12-01 15:54:58 +01:00
Pierre Donias
b9f20d1e80 fix(select-objects): allow integer IDs (#1807)
Fixes #1805
2016-12-01 15:39:47 +01:00
Pierre Donias
932d00133d feat(job-executor.match): __not pattern property (#459)
See vatesfr/xo-web#1503
2016-12-01 14:56:52 +01:00
Pierre Donias
0c77781be8 feat(backup/smart): tags/pools select all and negation (#1802)
Fixes #1503
2016-12-01 14:56:18 +01:00
Julien Fontanet
83245af1e2 feat: improve debugging in production (#1806)
* feat(build): enable sourcemaps in production

* feat(index): let browsers handle unhandled rejections

They do a much better job to display the error and its trace with sourcemaps.
2016-12-01 14:22:07 +01:00
Julien Fontanet
7db806a461 fix(xo/subcriptions): handle unsubscription during notification 2016-12-01 12:15:12 +01:00
Julien Fontanet
32a371bf13 chore(package): use golike-defer instead of custom implementation 2016-11-30 15:40:30 +01:00
greenkeeper[bot]
b25f418411 chore(package): update dependencies (#20)
https://greenkeeper.io/
2016-11-29 13:41:32 +01:00
greenkeeper[bot]
985a4780f5 chore(package): update dependencies (#26)
https://greenkeeper.io/
2016-11-29 13:41:04 +01:00
Olivier Lambert
92b15fb1e2 feat(consoles): update tip about console issue to point to XS ticket 2016-11-29 11:00:30 +01:00
Olivier Lambert
92a1f2c6d5 feat(description): better explanation of checkCertificate (#22) 2016-11-29 10:51:24 +01:00
Pierre Donias
7b5182111c fix(dashboard/health): message parsing and link to object view (#1796)
Related to #1776
2016-11-29 09:53:19 +01:00
Nicolas Raynaud
82b1b81999 fix(dashboard/overview): graphs on Safari (#1771)
There seems to be a bug in Safari with flex layout, hard coding the height of the graph seems to do the trick.

Fixes #1755
2016-11-29 09:21:04 +01:00
greenkeeper[bot]
81b9348e50 chore(package): update dependencies (#5)
https://greenkeeper.io/
2016-11-28 15:06:32 +01:00
Pierre Donias
f0a430f350 feat(acls): filter object selector (#1791)
Fixes #1515
2016-11-28 12:05:56 +01:00
Olivier Lambert
90f95b7270 feat(i18n): added selector for simplified Chinese 2016-11-28 10:53:41 +01:00
Olivier Lambert
15e6a93fac feat(i18n): added simplified Chinese translation 2016-11-28 10:45:33 +01:00
Julien Fontanet
04e7d54620 v0.8.2 2016-11-25 11:50:31 +01:00
Julien Fontanet
729dbe16c0 fix(list objects): fix without filtering
Fixes #19
2016-11-25 11:49:28 +01:00
greenkeeper[bot]
974650bc56 chore(package): update babel-preset-env to version 0.0.9 (#22)
https://greenkeeper.io/
2016-11-24 22:42:22 +01:00
greenkeeper[bot]
0899a16333 chore(package): update babel-preset-env to version 0.0.9 (#11)
https://greenkeeper.io/
2016-11-24 22:06:00 +01:00
greenkeeper[bot]
8c9ed833c3 chore(package): update babel-preset-env to version 0.0.9 (#5)
https://greenkeeper.io/
2016-11-24 22:05:47 +01:00
greenkeeper[bot]
5e86e64e18 chore(package): update babel-preset-env to version 0.0.9 (#10)
https://greenkeeper.io/
2016-11-24 22:04:27 +01:00
greenkeeper[bot]
235c789c5e chore(package): update babel-preset-env to version 0.0.9 (#15)
https://greenkeeper.io/
2016-11-24 22:04:18 +01:00
greenkeeper[bot]
3f69a22229 chore(package): update babel-preset-env to version 0.0.9 (#3)
https://greenkeeper.io/
2016-11-24 22:03:23 +01:00
Julien Fontanet
ab48d06967 feat(README): update usage 2016-11-24 12:39:14 +01:00
Julien Fontanet
18ca950cd2 0.8.1 2016-11-24 12:35:02 +01:00
Julien Fontanet
82489b36c8 0.8.0 2016-11-24 12:34:04 +01:00
Julien Fontanet
a67b6130f8 feat(list objects): ability to select displayed properties
Fixes #18
2016-11-24 12:33:24 +01:00
Julien Fontanet
01541a2577 feat(@autoControlledInput): make controlled inputs able to handle uncontrolled mode
See #1628.
2016-11-24 11:34:21 +01:00
Olivier Lambert
8c70bc0a17 feat(i18n): fix wrong translate key 2016-11-24 10:16:44 +01:00
Nicolas Raynaud
9d96074604 chore(package): update react-shortcuts to v1.3.1 (#1792)
Fix #1691
2016-11-24 09:58:56 +01:00
Julien Fontanet
114a4028f4 fix: coding style fixes 2016-11-24 09:57:02 +01:00
Julien Fontanet
eab007db6e 0.6.0 2016-11-23 11:15:55 +01:00
Julien Fontanet
5d0622d2cf 5.4.0 2016-11-23 11:10:01 +01:00
Julien Fontanet
b342a4ba17 5.4.0 2016-11-23 11:09:24 +01:00
Pierre Donias
9ab9155bf0 fix(vif.set): remove old VIF before creating new one (#457)
Fixes #1784
2016-11-23 10:38:24 +01:00
Julien Fontanet
889eae276e 0.6.0 2016-11-23 10:17:38 +01:00
Julien Fontanet
2b2a72252b chore(package): update all dependencies 2016-11-23 10:12:48 +01:00
Olivier Lambert
13e4568d3b feat(Slack): support Slack transport (#14) 2016-11-23 10:02:01 +01:00
Julien Fontanet
86a1ed6d46 chore(package): remove unused nyc 2016-11-23 10:00:45 +01:00
Julien Fontanet
b3c9936d74 chore(package): update xen-api to v0.9.6 2016-11-23 09:58:04 +01:00
Julien Fontanet
92c4dda801 0.3.0 2016-11-23 09:57:41 +01:00
Julien Fontanet
3e59ba4563 chore(package): update all dependencies 2016-11-23 09:57:23 +01:00
Julien Fontanet
99c95626df chore: pass options directly to the constructor 2016-11-23 09:49:27 +01:00
Julien Fontanet
20a9fc2497 chore(package): add description 2016-11-23 09:48:07 +01:00
Julien Fontanet
27e0621ad8 0.9.6 2016-11-23 09:46:33 +01:00
Julien Fontanet
abecff222c chore(package): make package publishable 2016-11-23 09:46:16 +01:00
Julien Fontanet
3f0d91101a chore(package): add description 2016-11-23 09:46:06 +01:00
Julien Fontanet
252be59ac3 chore(package): update babel-preset-env to v0.0.8 2016-11-23 09:43:19 +01:00
Julien Fontanet
1987a8c68a chore(events): rely on event.from timeout instead of inject
Should be enough.
2016-11-23 09:42:11 +01:00
Julien Fontanet
5088fd0e82 fix(README): dev section 2016-11-23 09:39:50 +01:00
badrAZ
2de4d36a0f implementation (#2) 2016-11-23 09:37:39 +01:00
greenkeeper[bot]
21b4d7cf11 chore(package): update nyc to version 10.0.0 (#456)
https://greenkeeper.io/
2016-11-23 09:12:26 +01:00
greenkeeper[bot]
4ec07f9ff8 fix(package): update get-stream to version 3.0.0 (#458)
https://greenkeeper.io/
2016-11-23 09:11:39 +01:00
Olivier Lambert
fcbf037619 feat(changelog): prepare for the 5.4 release 2016-11-22 18:23:23 +01:00
Pierre Donias
a8e4ab433d feat(backup/new): warning when using delta or continuous rep with XS<6.5 (#1782) 2016-11-22 17:10:26 +01:00
Pierre Donias
6613ba02ab feat(dashboard/health): better formating of alert messages (#1781)
Fixes #1776
2016-11-22 16:41:07 +01:00
Pierre Donias
2af7fde83f fix(dashboard/health): delete orphaned VDIs (#1778)
Fixes #1622
2016-11-21 15:49:23 +01:00
Pierre Donias
19a0d4bc98 feat(timezone-picker): make server timezone less central (#1774)
Fixes #1706
2016-11-21 15:48:01 +01:00
Pierre Donias
9ed49b1f27 fix(menu): non admin users should not see backups and SRs in menu (#1777)
Fixes #1773
2016-11-21 15:45:34 +01:00
Julien Fontanet
fb32aeeeb6 0.8.2 2016-11-18 18:32:35 +01:00
Julien Fontanet
76cb4037d4 fix: build for > 2% browsers
Fixes #21
2016-11-18 18:32:27 +01:00
greenkeeper[bot]
b7c89d6f64 fix(package): update http-server-plus to version 0.8.0 (#454)
https://greenkeeper.io/
2016-11-18 14:44:50 +01:00
Pierre Donias
d56df30a22 feat(host): link to VMs list (#1772)
Fixes #1432
2016-11-18 12:50:43 +01:00
Julien Fontanet
64908068d9 fix: remove Intl polyfill
Safari 10 fixes this issue.

Fixes #1629
2016-11-18 12:40:24 +01:00
Julien Fontanet
af1530db36 0.8.1 2016-11-18 11:51:23 +01:00
Julien Fontanet
9d6560aece chore(package): update all dependencies 2016-11-18 11:50:26 +01:00
Pierre Donias
fe69d59aeb feat(tags): link to home page with tag filter (#1770)
Fixes #1763
2016-11-18 11:31:12 +01:00
Julien Fontanet
caba246e0b fix(README): update doc 2016-11-18 10:46:51 +01:00
greenkeeper[bot]
0eb168ec70 fix(package): update uuid to version 3.0.0 (#453)
https://greenkeeper.io/
2016-11-18 09:10:07 +01:00
Julien Fontanet
731e2dc4c4 0.7.4 2016-11-17 17:33:08 +01:00
Julien Fontanet
815bdf3454 fix(package): downgrade nice-pipe to 0.0.0 2016-11-17 17:33:04 +01:00
Julien Fontanet
b36ef9fdb1 0.7.3 2016-11-17 15:40:29 +01:00
Julien Fontanet
b65e737f84 feat(complex-matcher): support matching boolean props
Fixes #1768
2016-11-17 15:28:52 +01:00
Pierre Donias
bd274fdc3c feat(home): can display SRs (#1767)
Fixes #1764
2016-11-17 15:03:46 +01:00
Julien Fontanet
fee3f7a716 fix(list objects): writes one objects at a time
Fixes vatesfr/xo-web#1356
2016-11-17 14:56:43 +01:00
Olivier Lambert
8ac1a66e93 feat(sr.shared): new boolean property (#452) 2016-11-17 14:33:45 +01:00
greenkeeper[bot]
ac19249c63 chore(package): update xo-common to version 0.1.0 (#1765)
https://greenkeeper.io/
2016-11-17 05:28:32 +01:00
badrAZ
301da3662a fix(plugin.test): data param is optional (#451) 2016-11-16 16:08:11 +01:00
badrAZ
2abff1fec8 fix(settings/plugins): fix test when no test schema (#1766) 2016-11-16 15:38:48 +01:00
greenkeeper[bot]
e474946cb7 fix(package): update xo-common to version 0.1.0 (#450)
https://greenkeeper.io/
2016-11-16 12:01:27 +01:00
Julien Fontanet
dd00d6581f 0.1.0 2016-11-16 11:52:36 +01:00
Pierre Donias
9a0ca1ebb2 feat(api): map 10 XAPI errors to XO errors (#449)
Fixes vatesfr/xo-web#1481
2016-11-16 11:22:31 +01:00
Pierre Donias
f4fc7acf4d feat(api-errors): 10 new errors (#3)
See vatesfr/xo-web#1481
2016-11-16 11:21:46 +01:00
badrAZ
f1a6cfae0d feat(settings/plugins): display plugin test failures (#1754) 2016-11-16 10:53:57 +01:00
greenkeeper[bot]
e43e90ed3c chore(package): update react-chartist to version 0.11.0 (#1761)
https://greenkeeper.io/
2016-11-15 12:58:44 +01:00
greenkeeper[bot]
0ee88fe0dc Update dependencies to enable Greenkeeper 🌴 (#1757)
https://greenkeeper.io/
2016-11-15 11:02:45 +01:00
Julien Fontanet
5b8cdf06b3 feat(test): new protocol (#2)
Plugins are now testable.
2016-11-15 11:01:50 +01:00
Julien Fontanet
682315e672 fix(package): update fs-promise to version 1.0.0 (#7)
https://greenkeeper.io/
2016-11-15 09:50:26 +01:00
Pierre Donias
07e7f2e14d fix(menu): jobs should not be available to non-admin users (#1760)
Fixes #1759
2016-11-15 09:46:37 +01:00
Julien Fontanet
366ab95a2f feat(backup,job): ability to set the job owner (#1758)
Fixes #1733
2016-11-14 17:43:02 +01:00
Julien Fontanet
520f7b2a77 feat(job.create,job.set): ability to set userId (#448)
See vatesfr/xo-web#1733
2016-11-14 17:42:19 +01:00
Pierre Donias
ca723068a1 Fix clearable condition. 2016-11-14 17:29:29 +01:00
Pierre Donias
e424a105b3 Minor fixes. 2016-11-14 17:23:05 +01:00
Pierre Donias
c0b3b3aab8 Fix userId. 2016-11-14 16:59:10 +01:00
Pierre Donias
32d2f92413 Multiple fixes. 2016-11-14 16:48:33 +01:00
Pierre Donias
d499332ce3 It should be possible to not change a job's user. 2016-11-14 15:56:54 +01:00
Pierre Donias
19ce06e0bb feat(job#create,job#set): userId parameter
See vatesfr/xo-web#1733
2016-11-14 15:33:09 +01:00
Pierre Donias
898e2ff010 feat(job,backup): handle unexisting job creator
See #1733
2016-11-14 15:32:52 +01:00
Julien Fontanet
e33c7fd1c1 initial commit 2016-11-10 15:48:14 +01:00
Julien Fontanet
9b3668423e 0.2.0 2016-11-10 10:47:43 +01:00
greenkeeper[bot]
7227af9aac fix(package): update fs-promise to version 1.0.0 (#21)
https://greenkeeper.io/
2016-11-10 08:57:20 +01:00
greenkeeper[bot]
7c8194307e fix(package): update fs-promise to version 1.0.0 (#17)
https://greenkeeper.io/
2016-11-10 08:56:51 +01:00
greenkeeper[bot]
ea6ff4224e fix(package): update fs-promise to version 1.0.0 (#447)
https://greenkeeper.io/
2016-11-10 08:56:37 +01:00
greenkeeper[bot]
36c38063f2 fix(package): update fs-promise to version 1.0.0
https://greenkeeper.io/
2016-11-10 02:17:39 +00:00
Julien Fontanet
9b5fac9e2b feat(test): throw an error when authentication fails 2016-11-09 17:08:17 +01:00
Julien Fontanet
871d1f8632 fix(plugins registration): params order 2016-11-09 17:05:10 +01:00
badrAZ
47991b7d1a feat(test): this plugin is now testable (#20)
See vatesfr/xo-web#1749
2016-11-09 16:41:53 +01:00
Pierre Donias
dfa5e76870 feat(sr/disks): also display VDI snapshots (#1750)
Fixes #1723
2016-11-09 16:38:52 +01:00
Julien Fontanet
c93dd12fae feat(settings/plugins): testing
See #1749
2016-11-09 16:34:29 +01:00
Julien Fontanet
dbb1b1e582 fix(settings/plugins): unloading 2016-11-09 16:19:07 +01:00
Julien Fontanet
76388ee160 feat(utils/Debug): correctly display undefined 2016-11-09 16:18:32 +01:00
Badr AZIZBI
a5ea24311a Errors fixed 2016-11-09 15:53:16 +01:00
badrAZ
77ce2ff6d1 feat(plugin.test): plugins can be tested (#446)
See vatesfr/xo-web#1749
2016-11-09 14:58:19 +01:00
badrAZ
3c11f0acda feat(test): this plugin is now testable (#9)
See vatesfr/xo-web#1749
2016-11-09 14:55:08 +01:00
Pierre Donias
5ec2eee69a fix(settings/plugins): no plugins message condition (#1746) 2016-11-09 10:08:18 +01:00
Pierre Donias
31875a36fe fix(backup/restore): do not display duplicate tags (#1745)
Fixes #1734
2016-11-08 17:43:01 +01:00
Pierre Donias
6383104796 fix(Xapi#editPif): destroy VLAN from each PIF before creating new VLAN (#444) 2016-11-08 16:50:12 +01:00
Olivier Lambert
c50598b78e fix(jobs): last slicing fixed for job IDs 2016-11-08 15:37:44 +01:00
Pierre Donias
2f0c81d9ad feat(settings/plugins): message when no plugins (#1744)
Fixes #1670
2016-11-08 15:30:36 +01:00
Olivier Lambert
c22f89c6bb fix(jobs): better slicing of job IDs 2016-11-08 15:29:46 +01:00
Pierre Donias
568a23cd35 feat(pool/networks): change columns layout. Fixes #1696 2016-11-08 15:20:13 +01:00
Julien Fontanet
4a5222fa3b chore(package): update all dependencies 2016-11-08 11:11:13 +01:00
Julien Fontanet
b99b4159c8 feat(Redis): support aliased commands
Fixes #443
2016-11-08 10:23:53 +01:00
greenkeeper[bot]
4294dfd8fe chore(package): update dependencies (#18)
https://greenkeeper.io/
2016-11-07 21:20:54 +01:00
Olivier Lambert
8bedb1f3b9 Merge pull request #442 from vatesfr/pierre-fix-xo-error
fix(api): xoError is not an object
2016-11-07 18:18:45 +01:00
Pierre Donias
eb7c4c131d fix(xo): add xo-common package (#1742) 2016-11-07 18:18:07 +01:00
Pierre Donias
dc85804a27 fix(api): xoError is not an object 2016-11-07 17:58:16 +01:00
Pierre Donias
f0664cd2c7 feat(xo/restartHost-s): trigger error modal if host could not be restarted (#1740)
Fixes #1717
2016-11-07 17:10:02 +01:00
Julien Fontanet
570eb7bc89 chore(package): update jsonrpc-websocket-client to v0.1.1 2016-11-07 16:48:10 +01:00
greenkeeper[bot]
42a31e512a fix(package): update json-rpc-peer to version 0.13.0 (#441)
https://greenkeeper.io/
2016-11-07 14:57:53 +01:00
Pierre Donias
1ee91b4925 feat(backup/overview): display jobs in a SortedTable (#1741)
Fixes #1726
2016-11-07 14:43:16 +01:00
Pierre Donias
2be7388696 feat(api-errors): throw custom errors when XAPI error is caught (#440)
See vatesfr/xo-web#1717
2016-11-07 14:15:23 +01:00
Pierre Donias
e7b739bb3b feat(api-errors): error factories (#1) 2016-11-07 12:30:29 +01:00
Julien Fontanet
baf5f7491d 0.7.2 2016-11-04 17:24:00 +01:00
Badr AZIZBI
a2afe2fa1a Error correction 2016-11-04 15:47:45 +01:00
Badr AZIZBI
8496a9bebd Initial commit 2016-11-04 13:42:23 +01:00
Julien Fontanet
bc5b00781b 5.3.3 2016-11-04 11:44:09 +01:00
Julien Fontanet
69fee37f00 5.3.2 2016-11-04 11:43:49 +01:00
Olivier Lambert
313e2b3de6 fix(Sr): add type cifs in deviceConfig. Fixes vatesfr/xo-web#1615 (#439) 2016-11-04 11:42:03 +01:00
Julien Fontanet
49be66ae69 fix(xo/deleteSchedule): resolveIds() → resolveId()
Fixes #1737
2016-11-04 10:53:52 +01:00
Julien Fontanet
a0efe6895c fix(jobs/schedules/<id>/edit): correctly pass id prop
Fixes #1736
2016-11-04 10:31:32 +01:00
Julien Fontanet
8ef07e917d fix(jobs/<id>/edit): correctly set the id prop
Fixes #1728
2016-11-04 10:00:55 +01:00
Julien Fontanet
0bbd002060 fix(xo.importConfig): dont unnecessarily delete existing users
Do not delete existing users with same name & id
2016-11-04 09:42:56 +01:00
Julien Fontanet
5e785266a5 fix(xo.importConfig): correctly import ACLs
Fixes vatesfr/xo-web#1722
2016-11-04 09:40:41 +01:00
Olivier Lambert
d3995b7bab feat(job): slicing some job ids 2016-11-03 18:00:49 +01:00
Olivier Lambert
c353e71ce7 feat(jobs): slice ids to be more human readable (#1735) 2016-11-03 16:48:48 +01:00
Julien Fontanet
5870769e7d fix(vm.import{,Delta}Backup): make restored VMs identifiable
Their names is prefixed with the exported date and they have a specific tag (*restored from backup*).

Fixes vatesfr/xo-web#1719
2016-11-03 16:22:42 +01:00
greenkeeper[bot]
0d6b7d6f04 chore(package): update babel-preset-env to version 0.0.7 (#2)
https://greenkeeper.io/
2016-11-03 08:59:51 +01:00
Julien Fontanet
59d6a51635 fix(package): fix depcheck (again) 2016-11-02 17:23:40 +01:00
Julien Fontanet
b4693019f7 fix(package): fix depcheck 2016-11-02 17:02:14 +01:00
Julien Fontanet
320d7a89ca fix(package): fix build 2016-11-02 17:02:07 +01:00
Olivier Lambert
a3570a1c9f feat(pif): use carrier to detect physical link (#1732)
Fixes #1702
2016-11-02 16:59:43 +01:00
Julien Fontanet
79b80dcd07 fix(pif#carrier): cast to boolean 2016-11-02 16:50:12 +01:00
Julien Fontanet
1016f5f26f initial commit 2016-11-02 16:43:19 +01:00
Olivier Lambert
6f6e547e6c feat(pif): add carrier (#438)
Fixes vatesfr/xo-web#1702
2016-11-02 16:25:44 +01:00
Julien Fontanet
9284aee3fa 0.4.1 2016-11-02 15:12:23 +01:00
Julien Fontanet
32726efe88 Revert "Temporary work around for eslint/eslint#3946."
This reverts commit 63426818e6d43181ae635819fd1697fc9ea0a3d8.
2016-11-02 15:10:29 +01:00
Julien Fontanet
87daf0271c chore(package): update all dependencies 2016-11-02 15:03:45 +01:00
Julien Fontanet
70e73a5a65 fix(Collection#remove): properly report the key in related event 2016-11-02 15:00:04 +01:00
Pierre Donias
c593c98e6d fix(settings/acls): display only valid ACLs (#1730) 2016-11-02 14:32:22 +01:00
Julien Fontanet
1642798aa6 0.9.5 2016-11-02 14:04:15 +01:00
Olivier Lambert
a4b5b532f2 feat(health): add links to some objects (#1729)
Fixes #1700
2016-11-02 12:29:50 +01:00
Julien Fontanet
588c369615 fix(package): fix URLs 2016-11-02 11:45:31 +01:00
greenkeeper[bot]
9aa9d4452c chore(package): update dependencies (#16)
https://greenkeeper.io/
2016-11-02 09:30:20 +01:00
greenkeeper[bot]
d7fe25c4fc chore(package): update dependencies (#17)
https://greenkeeper.io/
2016-11-01 22:01:39 +01:00
greenkeeper[bot]
990c5e9f08 chore(package): update dependencies (#25)
https://greenkeeper.io/
2016-11-01 22:01:31 +01:00
greenkeeper[bot]
352c9357df chore(package): update dependencies (#437)
https://greenkeeper.io/
2016-11-01 19:05:11 +01:00
Pierre Donias
1ba4641641 feat(acls): handle xo.clean (#436) 2016-10-31 15:53:50 +01:00
Julien Fontanet
6357f23aeb fix(package): use bootstrap 4.0.0-alpha5 2016-10-31 11:26:33 +01:00
Greenkeeper
60e0047285 chore(package): update helmet to version 3.0.0 (#435)
https://greenkeeper.io/
2016-10-29 12:52:18 +02:00
Olivier Lambert
01d9b3bd0e feat(home/pools): add links to VMs or hosts and add VM number (#1720)
Fixes #1226
2016-10-28 14:35:32 +02:00
Julien Fontanet
7e2f2f6102 chore(package): various updates 2016-10-28 13:47:21 +02:00
Julien Fontanet
51def6535f chore(package): various updates 2016-10-28 12:10:31 +02:00
Pierre Donias
6b428f7587 fix(IP pools): behave with missing VIFs (#1716) 2016-10-28 11:57:29 +02:00
Julien Fontanet
14156b0911 chore(package): update all dependencies 2016-10-28 11:54:51 +02:00
Julien Fontanet
e2ba1fa7f8 initial commit 2016-10-28 11:48:06 +02:00
Julien Fontanet
36b589c2db chore(package): various updates 2016-10-28 11:44:11 +02:00
Pierre Donias
f829aa76d7 fix(dashboard/stats): requires at least Enterprise plan (#1718) 2016-10-28 11:43:36 +02:00
Julien Fontanet
cdf1a5fe47 fix(package): do not use babel-preset-babili 2016-10-28 11:14:17 +02:00
Julien Fontanet
abf146707f chore(package): update all dependencies 2016-10-28 11:08:32 +02:00
Fabrice Marsaud
a72051e96f fix(xoa-updater): fix double connection (#1714)
* fix double connection
* fix minified class name display
2016-10-28 10:16:56 +02:00
Pierre Donias
235e7c143c fix(signin): new Bootstrap classes (#434) 2016-10-28 10:11:41 +02:00
Pierre Donias
797622ba66 fix(settings/config): export/import should be available to Starter plan (#1715) 2016-10-28 09:52:41 +02:00
Julien Fontanet
522d6eed92 5.3.2 2016-10-27 18:49:32 +02:00
Julien Fontanet
9d1d6ea4c5 feat(xo): export/import config (#427)
See vatesfr/xo-web#786
2016-10-27 18:48:19 +02:00
Julien Fontanet
0afd506a41 5.3.1 2016-10-27 18:25:16 +02:00
Julien Fontanet
39342cd662 5.3.1 2016-10-27 18:24:31 +02:00
Olivier Lambert
051a3ac122 feat(changelog): modify changelog for 5.3.1 2016-10-27 18:21:25 +02:00
Julien Fontanet
f842a321ba fix(xo): properly sign out on auth failure (#1712)
Fixes #1711
2016-10-27 18:17:20 +02:00
Julien Fontanet
3cd2dd65d3 chore(xo/importConfig): no need to promisify 2016-10-27 17:52:13 +02:00
Julien Fontanet
9dfb837e3f fix(Xapi#importDeltaVm): gracefully handle missing vif.$network$uuid (#433) 2016-10-27 16:46:45 +02:00
fufroma
4ab63b569f fix(RemoteHandlerNfs): move mount points in /run/xo-server/mounts
Fixes vatesfr/xo-web#1405
2016-10-27 15:56:33 +02:00
Julien Fontanet
8d390d256d fix(http-request): handle redirections (#432) 2016-10-27 15:34:54 +02:00
Pierre Donias
5ce7e0b108 feat(settings/config): import/export XO configuration (#1703)
See #786
2016-10-27 15:08:45 +02:00
Julien Fontanet
4eec5e06fc fix(package): test on Node 6, not 7 (#431) 2016-10-27 12:24:40 +02:00
Julien Fontanet
71c2058cc8 fix(package): do not test on Node 7 (#1705)
* fix(package): do not test on Node 7
* fix(package): directly depend on chartist 0.9
* fix(package): directly depend on react-overlays 0.6
2016-10-27 11:57:06 +02:00
Greenkeeper
f200d39d23 chore(package): update modular-css to version 0.28.0 (#1707)
https://greenkeeper.io/
2016-10-26 23:34:32 +02:00
Pierre Donias
7932845ac5 fix(xo/exportVm): window.location instead of window.open() (#1704) 2016-10-26 16:52:26 +02:00
Julien Fontanet
94bda6ac9e chore(intl): update all locales (#1698) 2016-10-25 14:48:53 +02:00
fufroma
7a65f80406 feat(intl/messages): more translations (#1684) 2016-10-25 14:12:11 +02:00
Pierre Donias
36ab58dad9 feat(backup/restore): VM-centered UI (#1697)
Fixes #1609
2016-10-25 12:59:01 +02:00
Julien Fontanet
e9be9e3761 chore(package): update react-router to version 3.0.0 2016-10-25 11:21:46 +02:00
Julien Fontanet
b54645c86c chore(package): update d3 to version 4.2.8 2016-10-25 11:21:11 +02:00
Julien Fontanet
e4063b1ba8 feat(sample.config.yaml): add warning about YAML 2016-10-24 22:52:11 +02:00
Julien Fontanet
c24a4009c8 chore(package): use full lodash package 2016-10-24 17:29:34 +02:00
Julien Fontanet
7b928c4d41 chore(package): add Travis CI conf 2016-10-24 16:03:04 +02:00
Julien Fontanet
4d50eae3c9 0.7.1 2016-10-24 15:58:32 +02:00
Julien Fontanet
c3a5e0592d chore(package): add --unregister doc 2016-10-24 15:58:14 +02:00
Julien Fontanet
207aef7cb3 fix(--list-commands): fix --json flag 2016-10-24 15:55:22 +02:00
Julien Fontanet
fbbd9ae249 chore(package): update (almost) all dependencies 2016-10-24 15:55:01 +02:00
Julien Fontanet
7aa591ffbd fix(package): handle multiline params 2016-10-24 15:33:40 +02:00
Greenkeeper
1fd91de50d chore(package): update promise-toolbox to version 0.7.0 (#8)
https://greenkeeper.io/
2016-10-24 15:03:35 +02:00
Greenkeeper
ab77d8430c chore(package): update promise-toolbox to version 0.7.0 (#1690)
https://greenkeeper.io/
2016-10-24 15:02:02 +02:00
Greenkeeper
0c3227cf8e chore(package): update promise-toolbox to version 0.7.0 (#428)
https://greenkeeper.io/
2016-10-24 15:01:17 +02:00
Greenkeeper
8492ceee09 chore(package): update promise-toolbox to version 0.7.0 (#13)
https://greenkeeper.io/
2016-10-24 15:01:03 +02:00
Greenkeeper
1f710b9b78 chore(package): update promise-toolbox to version 0.7.0 (#49)
https://greenkeeper.io/
2016-10-24 15:00:35 +02:00
Pierre Donias
7bed200bf5 feat(pif): editVlan (#426)
Fix vatesfr/xo-web#1092
2016-10-24 10:24:44 +02:00
Pierre Donias
c6f683b532 feat(host,pool): edit PIFs VLAN (#1685)
See #1092
2016-10-24 09:52:47 +02:00
Pierre Donias
a2604f5156 fix(xo-app): ensure there is always a page title (#1687) 2016-10-21 18:10:53 +02:00
Pierre Donias
5ae7f683d6 fix(new-vm): fix getting disks in self service (#1688) 2016-10-21 18:00:38 +02:00
fufroma
f953c89979 fix(new/sr): fix username handling (#1683)
Regression was introduced in e79096626a
2016-10-21 11:56:36 +02:00
Julien Fontanet
bb8aab02ea fix(form/Password): generator in controlled mode
Fixes #1678
2016-10-20 17:58:49 +02:00
Julien Fontanet
b87ad2df54 0.5.1 2016-10-20 16:18:00 +02:00
Julien Fontanet
af0c03ff6a 5.3.0 2016-10-20 16:09:25 +02:00
Olivier Lambert
8859900537 feat(changelog): update for release 2016-10-20 16:07:25 +02:00
Julien Fontanet
4f763e2109 5.3.0 2016-10-20 16:01:53 +02:00
Julien Fontanet
c9e2f94daf fix(markdown): insert a blank line after lists 2016-10-20 15:19:17 +02:00
Julien Fontanet
130852ab85 fix(xo): pass the refresh function to tap() 2016-10-20 15:13:55 +02:00
fufroma
65fa8f96b4 feat(intl): minor improvements (#1668) 2016-10-20 14:54:06 +02:00
Pierre Donias
0a84e9e363 feat(host/network): configure IP mode (#1671)
Fixes #1651
2016-10-20 13:32:43 +02:00
Pierre Donias
163c69454b fix(modal): disable shortcuts when a modal is open (#1673)
Fixes #1589
2016-10-20 13:30:29 +02:00
Julien Fontanet
49d3fde0f3 fix(JsonSchemaInput/Array): fix items handling
#1663
2016-10-20 13:22:11 +02:00
Pierre Donias
75167fb65b feat(pif): expose IP config modes (#424)
See vatesfr/xo-web#1651
2016-10-20 12:44:35 +02:00
Julien Fontanet
675588f780 feat(delta backups): force checksums refresh
See vatesfr/xo-web#1672
2016-10-20 12:38:26 +02:00
Julien Fontanet
2d6f94edd8 fix(vhd-merge/chainVhd): correctly await _write()
Fixes vatesfr/xo-web#1672
2016-10-20 12:31:20 +02:00
Pierre Donias
bb67e2254e fix(package): use new syntax of Boostrap classes (#1667) 2016-10-19 16:05:59 +02:00
Julien Fontanet
52774c7d6d 0.3.1 2016-10-19 13:17:10 +02:00
Pierre Donias
6d2abc4e74 feat(IP pools): can be used in resource sets (#1662)
Fixes #1565
2016-10-19 11:17:44 +02:00
Julien Fontanet
247c66ef4b feat(IP pools): can be used in resource sets (#413)
See vatesfr/xo-web#1565
2016-10-19 11:17:05 +02:00
Julien Fontanet
01686b8e60 fix(package): behave with missing thresholds object 2016-10-18 17:34:06 +02:00
Julien Fontanet
0317d6a862 chore(package): remove unused test env 2016-10-18 17:33:29 +02:00
Julien Fontanet
2a316b1ffa chore(package): use constants in configuration schema 2016-10-18 17:31:46 +02:00
Julien Fontanet
4875450053 fix(home): correctly set default filter when user is loaded
Fixes #1665
2016-10-18 11:57:55 +02:00
Julien Fontanet
19184ca8a0 chore(base-component): disable verbose logs 2016-10-18 11:18:00 +02:00
Julien Fontanet
654c3d324b chore(package): jade → pug 2016-10-18 11:17:35 +02:00
fufroma
c5b4811f16 feat(intl): various new translations (#1659)
Also: favicon.
2016-10-17 14:43:50 +02:00
Julien Fontanet
7a9dc4fd59 fix(package): minor style issues 2016-10-14 14:13:20 +02:00
Julien Fontanet
9b9f0e5607 fix(package): fix various URLs 2016-10-14 11:57:37 +02:00
Julien Fontanet
590f6cb7b3 chore(package): update all dependencies 2016-10-14 11:53:39 +02:00
fufroma
e79096626a feat(intl): more translatable messages (#1641) 2016-10-14 10:46:46 +02:00
Greenkeeper
1076fac40f Update gulp-sourcemaps to version 2.1.1 🚀 (#422)
https://greenkeeper.io/
2016-10-14 10:44:27 +02:00
Julien Fontanet
14a4a415a2 5.2.6 2016-10-13 18:51:16 +02:00
Julien Fontanet
524355b59c fix(vhd-merge/chainVhd): correctly compute header checksum (#419)
Fixes vatesfr/xo-web#1656
2016-10-13 18:49:58 +02:00
fufroma
332d074d32 fix(intl/locales/fr): various fixes (#1638) 2016-10-13 14:14:42 +02:00
Julien Fontanet
b120146cdc chore(package): lots of comments 2016-10-12 17:21:45 +02:00
Greenkeeper
36fe49f3f5 Update promise-toolbox to version 0.6.0 🚀 (#416)
https://greenkeeper.io/
2016-10-12 09:19:19 +02:00
Greenkeeper
7587458f99 Update promise-toolbox to version 0.6.0 🚀 (#7)
https://greenkeeper.io/
2016-10-12 09:12:14 +02:00
Pierre Donias
e511ecd76e fix(vm/copy): inital value of compress should be false (#1652)
Fixes #1645
2016-10-12 09:06:28 +02:00
Greenkeeper
d1e69f5957 chore(package): update promise-toolbox to version 0.6.0 (#12)
https://greenkeeper.io/
2016-10-11 17:34:11 +02:00
Greenkeeper
bcfbd5eba9 chore(package): update promise-toolbox to version 0.6.0 (#1650)
https://greenkeeper.io/
2016-10-11 17:32:23 +02:00
Julien Fontanet
2c35ee11b3 fix(Xapi#_init): fix promisify() usage 2016-10-11 17:22:43 +02:00
Greenkeeper
bd0c747d98 chore(package): update promise-toolbox to version 0.6.0 (#48)
https://greenkeeper.io/
2016-10-11 17:20:32 +02:00
Pierre Donias
9fa3db395b fix(self): SizeInput's empty value should be null (#1649) 2016-10-11 15:01:43 +02:00
Julien Fontanet
52a41ceb04 chore(package): update standard to version 8.4.0 2016-10-11 11:39:27 +02:00
Julien Fontanet
f5fb066975 chore(package): babel-preset-es2015 → babel-preset-latest 2016-10-11 10:51:21 +02:00
Julien Fontanet
cd6a0fa678 fix(package): use babel-plugin-transform-runtime 2016-10-11 10:51:04 +02:00
Julien Fontanet
e735420dd8 chore(package): babel-preset-es2015 → babel-preset-latest 2016-10-11 10:49:37 +02:00
Julien Fontanet
bc2f17c840 fix(package): use babel-plugin-transform-runtime 2016-10-11 10:47:05 +02:00
Julien Fontanet
8c459cac0f fix(package): remove babel-plugin-lodash 2016-10-11 10:43:28 +02:00
Julien Fontanet
878d2d9260 fix(package): remove babel-plugin-lodash 2016-10-11 10:38:39 +02:00
Julien Fontanet
e65d67266d style: indent fixes 2016-10-11 10:21:57 +02:00
Julien Fontanet
0d1045821c chore(intl/locales/zh): update skeleton 2016-10-10 16:02:44 +02:00
Pierre Donias
45d526dda2 fix(select-objects): dynamic option height (#1644)
Fixes #1411
2016-10-10 15:47:46 +02:00
Julien Fontanet
e52f998e78 fix(tools/update-locales): remove incorrect import 2016-10-10 10:15:58 +02:00
Julien Fontanet
42ed3b9355 feat(tools/update-locales): create or update locales (#1632)
Replace the existing `tools/create-locale`.
2016-10-10 09:57:08 +02:00
Julien Fontanet
563b4cb1ec 5.2.5 2016-10-07 15:45:28 +02:00
Olivier Lambert
45bad231cf feat(changelog): add 5.2.4 and 5.2.5 release 2016-10-07 15:44:47 +02:00
Pierre Donias
d76bd2484b fix(console): disable shortcuts when console is focused (#1637)
Fixes #1614
2016-10-07 15:26:20 +02:00
Pierre Donias
445b60bb63 fix(vm/console): initial scale value should be 1 (#1639) 2016-10-07 14:06:16 +02:00
Julien Fontanet
3214e0e41e fix: style & minor issues 2016-10-06 18:28:23 +02:00
Julien Fontanet
c61230e145 fix(intl/locales/fr): remove incorrect entry 2016-10-06 16:13:54 +02:00
fufroma
fac6a29226 feat(intl): new translatable messages (#1627) 2016-10-06 16:05:47 +02:00
Olivier Lambert
7a8f414748 feat(home/host): sparklines in expanded zone (#1619)
Fixes #1634
2016-10-06 15:14:35 +02:00
Julien Fontanet
9f450d282e chore(package): use index-modules 2016-10-06 14:41:46 +02:00
Pierre Donias
31787067e3 feat(new-vm): set dynamic and static memory bounds (#1618)
Fixes #1603
2016-10-05 17:27:59 +02:00
Greenkeeper
c0c0af9b14 chore(package): update execa to version 0.5.0 (#411)
https://greenkeeper.io/
2016-10-05 10:40:31 +02:00
fufroma
1a769b23e2 feat(i18n): update French translation (#1600) 2016-10-05 10:38:12 +02:00
Olivier Lambert
ae002abafc feat(home/pool): bar for pool RAM usage (#1626)
Fixes #1625
2016-10-05 10:26:47 +02:00
Julien Fontanet
d1e472d482 chore(package): use babel-plugin-lodash 2016-10-04 16:05:01 +02:00
Julien Fontanet
c80e43ad0d fix(vm.create): don't require view perm on VM template 2016-10-04 16:03:06 +02:00
Julien Fontanet
fdd395e2b6 fix(vm.create): correctly check resourceSet objects
Related to vatesfr/xo-web#1620
2016-10-04 15:51:04 +02:00
Julien Fontanet
31a25d9c16 5.2.4 2016-10-04 15:35:11 +02:00
Julien Fontanet
356295c361 fix(package): add missing make-error 2016-10-04 15:33:24 +02:00
Julien Fontanet
d10681b6d1 fix(package): add missing even-to-promise 2016-10-04 15:33:24 +02:00
Julien Fontanet
0602410aa8 fix(package): update xo-acl-resolver to 0.2.2
Fixes vatesfr/xo-web#1621
2016-10-04 15:33:23 +02:00
Julien Fontanet
e094437168 fix(package): update xo-acl-resolver to version 0.2.2
See vatesfr/xo-web#1620
2016-10-04 15:24:01 +02:00
Julien Fontanet
14bca4bbf7 0.2.2 2016-10-04 15:16:10 +02:00
Julien Fontanet
ea55c10c4d chore(package): pnpm compatibility 2016-10-04 15:15:39 +02:00
Julien Fontanet
75cde40b0e fix(VM-template): normal permissions handling
Fixes vatesfr/xo-web#1620
2016-10-04 15:13:08 +02:00
Julien Fontanet
5434b4987f chore(package): remove unused deps 2016-10-04 15:09:12 +02:00
Pierre Donias
2ee0be7466 fix(xapi/utils/makeEditObject): constraints works with user props (#410) 2016-10-04 15:02:27 +02:00
Olivier Lambert
1112768adc feat(home/host): add memory bar (#1617)
Fixes #1616
2016-10-03 18:06:36 +02:00
Julien Fontanet
2784a7cc92 Create ISSUE_TEMPLATE.md 2016-10-03 16:24:24 +02:00
Julien Fontanet
86b599df89 5.2.3 2016-10-03 09:39:59 +02:00
Julien Fontanet
b09f998d6c 5.2.5 2016-10-03 09:39:52 +02:00
Olivier Lambert
88f7661172 feat(changelog): add info for 5.2.3 release 2016-10-03 09:21:45 +02:00
Julien Fontanet
29c96c0119 chore(gitignore): pnpm compat 2016-10-03 09:15:18 +02:00
Julien Fontanet
d8c6e54c68 fix(user): add VM template label 2016-10-03 09:13:42 +02:00
Julien Fontanet
df053eb016 fix(user): do not crash on missing type label 2016-10-03 09:13:26 +02:00
Julien Fontanet
d1715f7711 chore(intl): homeTypeTemplate → homeTypeVmTemplate 2016-10-03 09:09:40 +02:00
Julien Fontanet
240282c72d chore(intl): remove unused message 2016-10-03 09:09:03 +02:00
Olivier Lambert
9e8dd6ea21 fix(README): broken link to doc 2016-10-02 23:23:19 +02:00
Julien Fontanet
32806a20c9 fix(sr): goes to homepage if object disappear
Fixes #1611
2016-10-02 23:02:14 +02:00
Nicolas Raynaud
bdeb5895f6 fix(deltaBackups): update checksum after altering VHD files (#408)
Fixes vatesfr/xo-web#1606
2016-09-30 14:31:33 +02:00
Pierre Donias
3944b8aaee feat(network): create a bonded network (#407)
Fixes vatesfr/xo-web#876
2016-09-30 13:51:33 +02:00
Pierre Donias
34dcfbbf49 fix(home/item): prevent item from being displayed on 2 rows (#1608)
Fixes #1580
2016-09-30 13:33:05 +02:00
Pierre Donias
91fec43866 feat(pool/network): create a bonded network (#1605)
See #876
2016-09-30 11:23:44 +02:00
Greenkeeper
aa2d196a79 chore(package): update vinyl to version 2.0.0 (#1607)
https://greenkeeper.io/
2016-09-29 23:06:53 +02:00
Nicolas Raynaud
6e66cffb92 feat(deltaBackups): correctly chain VHDs (#406)
The goal is for a tool like vhdimount to be able to mount any file and use it as a disk to recover specific file in it.
2016-09-29 17:31:36 +02:00
Julien Fontanet
54befb2814 chore(package): update all dependencies 2016-09-29 14:43:29 +02:00
Julien Fontanet
74fba76b85 chore(package): update all dependencies 2016-09-29 14:16:47 +02:00
Julien Fontanet
2b8996e965 chore(package): update all dependencies 2016-09-29 14:00:25 +02:00
Julien Fontanet
a9aad547b2 fix(package): use babel-plugin-transform-runtime 2016-09-29 13:37:20 +02:00
Julien Fontanet
4673af6fd8 chore(package): update all dependencies 2016-09-29 12:54:46 +02:00
Julien Fontanet
33ae81ce05 chore(package): update all dependencies 2016-09-29 12:38:18 +02:00
Pierre Donias
57092ee788 feat(vif.set): support for network, MAC and currently_attached (#403)
Fixes vatesfr/xo-web#1446
2016-09-28 15:09:17 +02:00
Pierre Donias
180ca458ad feat(vm/network): allow VIF edition (#1596)
See #1446
2016-09-28 14:29:15 +02:00
Julien Fontanet
70e9e1c706 chore(package): update human-format to version 0.7.0 2016-09-28 09:58:54 +02:00
Greenkeeper
075c43ce0e chore(package): update chai-as-promised to version 6.0.0 (#6)
https://greenkeeper.io/
2016-09-28 09:49:21 +02:00
Greenkeeper
10fddc51bb chore(package): update babel-eslint to version 7.0.0 (#11)
https://greenkeeper.io/
2016-09-27 23:40:44 +02:00
Greenkeeper
b32b319198 chore(package): update babel-eslint to version 7.0.0 (#5)
https://greenkeeper.io/
2016-09-27 23:40:10 +02:00
Greenkeeper
2d14fde671 chore(package): update babel-eslint to version 7.0.0 (#23)
https://greenkeeper.io/
2016-09-27 23:39:57 +02:00
Greenkeeper
9662b8fbee chore(package): update babel-eslint to version 7.0.0 (#404)
https://greenkeeper.io/
2016-09-27 23:39:30 +02:00
Greenkeeper
98cd2746ef chore(package): update babel-eslint to version 7.0.0 (#15)
https://greenkeeper.io/
2016-09-27 23:39:13 +02:00
Greenkeeper
aa881c60e7 chore(package): update babel-eslint to version 7.0.0 (#1597)
https://greenkeeper.io/
2016-09-27 23:39:03 +02:00
Greenkeeper
ea18e4129c chore(package): update babel-eslint to version 7.0.0 (#14)
https://greenkeeper.io/
2016-09-27 23:37:26 +02:00
Greenkeeper
6980e2b959 chore(package): update babel-eslint to version 7.0.0 (#4)
https://greenkeeper.io/
2016-09-27 23:37:03 +02:00
Greenkeeper
7e7ec83c12 chore(package): update babel-eslint to version 7.0.0 (#19)
https://greenkeeper.io/
2016-09-27 23:27:37 +02:00
Greenkeeper
b12fd45df1 chore(package): update babel-eslint to version 7.0.0 (#47)
https://greenkeeper.io/
2016-09-27 23:26:52 +02:00
Julien Fontanet
a8340c24c3 chore(package): update all dependencies 2016-09-27 15:29:23 +02:00
Julien Fontanet
9f66421ae7 fix(bootstrap): C-c twice force stop the server 2016-09-27 10:44:24 +02:00
Greenkeeper
50584c2e50 chore(package): update http-server-plus to version 0.7.0 (#402)
https://greenkeeper.io/
2016-09-27 09:30:16 +02:00
Greenkeeper
5b6966042d standard@8.2.0 breaks build 🚨 (#1595)
https://greenkeeper.io/
2016-09-27 01:11:46 +02:00
Julien Fontanet
dc859da0cd chore(build): remove embedded dev server 2016-09-26 16:45:02 +02:00
Pierre Donias
151eb6cbd6 feat(updates,users,servers): disable credentials autocomplete (#1592)
Fixes #1304
2016-09-26 16:00:04 +02:00
Julien Fontanet
7be4e1901a chore(package): use index-modules 2016-09-26 15:41:41 +02:00
Olivier Lambert
16db591bbf feat(vm): add red icon if VM doesn't have tools. Fixes #1575 2016-09-26 12:24:58 +02:00
Pierre Donias
05a55e5eb2 fix(xoa-upgrade): more suitable message for non-admin users (#1591)
Fixes #1564
2016-09-26 10:31:23 +02:00
Greenkeeper
f49f3fb2a6 Update all dependencies 🌴 (#3)
https://greenkeeper.io/
2016-09-25 16:20:17 +02:00
Greenkeeper
3c9ef8d199 chore(package): update dependencies (#10)
https://greenkeeper.io/
2016-09-25 15:54:44 +02:00
Pierre Donias
dcd84b2b8f feat(shortcuts): help modal and new home shortcuts (#1588)
Fixes #1578
2016-09-23 18:43:10 +02:00
Greenkeeper
4a89119f0a Update react-virtualized to version 8.0.8 🚀 (#1587)
https://greenkeeper.io/
2016-09-23 17:11:55 +02:00
Julien Fontanet
bc1c30a7bf chore(package): add __self prop, better React warnings 2016-09-23 16:02:19 +02:00
Julien Fontanet
33cffbf28b fix(Copiable): do not pass tagName prop to wrapper 2016-09-23 15:50:40 +02:00
Julien Fontanet
a18b68116c chore(package): improve React stack traces in dev build 2016-09-23 15:45:03 +02:00
Pierre Donias
d5acf15bca feat(vm/network): indicate when an IP is already used (#1584)
Fixes #1566
2016-09-23 12:13:48 +02:00
Pierre Donias
84f970af68 fix(shortcuts): prevent Shortcuts from stopping events propagation (#1583)
`Editable`s were broken (could not use *enter* to save).
2016-09-23 11:35:56 +02:00
Julien Fontanet
969f636bb7 fix(host/storage): name sorting 2016-09-23 10:54:36 +02:00
Pierre Donias
6939aee20a feat(home): keyboard shortcuts (#1400)
Fixes #1279
2016-09-22 19:01:05 +02:00
Pierre Donias
ab2a02a555 fix(vm/tab-network): lock icon conditions (#1576)
Fixes #1573
2016-09-22 16:52:37 +02:00
Pierre Donias
70038e0764 fix(new-vm): lodash/sum instead of lodash/sumBy (#1577) 2016-09-22 16:19:34 +02:00
Olivier Lambert
e730ef5e11 feat(host/sr): Sr link and better storage tab. (#1572)
Fixes #1567
2016-09-22 16:04:45 +02:00
Julien Fontanet
b47146de45 fix(pbd/attached): should be a boolean 2016-09-22 13:20:49 +02:00
Olivier Lambert
835ad5aaf1 feat(vm/host/pools/sr): add tooltips. Fixes #1568 2016-09-22 11:02:05 +02:00
Pierre Donias
ac645c8617 fix(home): types dropdown button title (#1570) 2016-09-22 10:47:48 +02:00
Julien Fontanet
97b229b2c7 fix(vm.set): works with VM templates
Fixes vatesfr/xo-web#1569
2016-09-22 10:39:20 +02:00
Greenkeeper
669c24ebd5 chore(package): update dependencies (#4)
https://greenkeeper.io/
2016-09-22 07:53:33 +02:00
Julien Fontanet
b801fdbab2 5.2.2 2016-09-21 18:01:03 +02:00
Pierre Donias
bf495953e2 feat(new-vm): show resource set limits (#1563)
Fixes #1541
2016-09-21 11:58:07 -04:00
Pierre Donias
45b165deec fix(home): VM bulk restart (#1562)
Fixes #1561
2016-09-21 14:48:16 +02:00
Olivier Lambert
09169578e8 feat(changelog): add issue #1562 2016-09-21 14:47:52 +02:00
Olivier Lambert
43b2366927 feat(changelog): update changelog for 5.2.2 2016-09-21 12:22:37 +02:00
Julien Fontanet
6bb5bb9403 5.2.4 2016-09-21 10:20:46 +02:00
Julien Fontanet
f015a69eec feat(host/patches): display if needs to be restarted (#1559)
Fixes #1352
2016-09-21 10:10:44 +02:00
Olivier Lambert
99568508dd fix(charts): change color order to avoid confusions. Fixes #1265 2016-09-20 18:41:44 +02:00
Olivier Lambert
e8515344dd feat(home): display a message if a filter is empty. (#1560)
feat(home): display a message if a filter is empty. Fixes #1517
2016-09-20 12:34:07 -04:00
Julien Fontanet
edc873a570 fix(pool/storage): fix sort by usage 2016-09-20 15:53:45 +02:00
Julien Fontanet
1a03e96ab2 fix(pool/storage): fix passing pool to SortedTable 2016-09-20 15:53:25 +02:00
Olivier Lambert
89e0bb4f0a feat(home/templates): template management (#1533)
Fixes #1091
2016-09-20 13:46:58 +02:00
Olivier Lambert
7d0fd60908 feat(pool/storage): display default SR and add button to set it (#1557)
Fixes #1554
2016-09-20 13:19:47 +02:00
Pierre Donias
6b20523df4 fix(vm/tab-network): check for undefined network (#1556)
Fixes #1518
2016-09-20 11:52:17 +02:00
Julien Fontanet
8c4b8271d8 fix(pool.setDefaultSr): remove pool param
Fixes vatesfr/xo-web#1558
2016-09-20 11:45:36 +02:00
Julien Fontanet
e9a612647e fix(home): do not overwrite current filter (#1555)
Fixes #1513
2016-09-20 05:38:33 -04:00
Julien Fontanet
69291c0574 chore(package): update xo-vmdk-to-vhd to version 0.0.12
Fixes vatesfr/xo-web#1551
2016-09-20 10:41:42 +02:00
Julien Fontanet
28404ef149 feat(SortedTable): default column can be set by a simple prop 2016-09-20 09:43:57 +02:00
Olivier Lambert
a5f8230def feat(self): hide some buttons and tabs for self service VMs (#1550) 2016-09-19 15:17:45 +02:00
Julien Fontanet
2dc073dcd6 fix(vm.resourceSet): handle xo namespace 2016-09-19 13:15:23 +02:00
Julien Fontanet
1894cb35d2 feat(vm): expose resourceSet prop 2016-09-19 12:10:09 +02:00
Pierre Donias
39171de5de fix(job/new): forbid "_" character in job names (#1548)
Fixes #1414
2016-09-19 11:58:46 +02:00
Pierre Donias
5aa5a0acbc fix(home): set items per page in createPager (#1549) 2016-09-19 11:39:56 +02:00
Olivier Lambert
a4518e630a fix(log): sort logs by end date 2016-09-19 11:04:15 +02:00
Julien Fontanet
94975f5ea6 feat(settings/logs): group action buttons
Fixes #1547
2016-09-19 10:59:19 +02:00
Julien Fontanet
7e98838d96 feat(ActionButton): can have a tooltip 2016-09-19 10:59:19 +02:00
Julien Fontanet
cd37420b07 Merge pull request #398 from vatesfr/greenkeeper-standard-8.1.0
Update standard to version 8.1.0 🚀
2016-09-18 05:17:41 +02:00
Greenkeeper
16dde5c772 chore(package): update standard to version 8.1.0 (#12)
https://greenkeeper.io/
2016-09-18 05:17:03 +02:00
Julien Fontanet
55cb6b39db fix(Xo#removeSchedule): correctly test instance of SchedulerError 2016-09-18 05:12:36 +02:00
greenkeeperio-bot
89d13b2285 chore(package): update standard to version 8.1.0
https://greenkeeper.io/
2016-09-17 20:51:59 +02:00
Pierre Donias
e8c9c196ff feat(vm/snapshot): "Snapshot before" checkbox in revert modal (#1543)
Fixes #1445
2016-09-17 00:11:51 +02:00
Julien Fontanet
db314a238f fix(xo/subcriptions): mark as non-running on error 2016-09-16 17:13:56 +02:00
Julien Fontanet
2c85a6d4ab fix(self/admin): do not fail on empty limits
Fixes #1537
2016-09-16 17:13:56 +02:00
Pierre Donias
b683e14e80 feat(self): merge dashboard and administration (#1542)
Fixes #1429
2016-09-16 16:47:20 +02:00
Julien Fontanet
1b64b0468a fix(group.delete): remove associated ACLs
Fixes vatesfr/xo-web#899
2016-09-16 16:04:41 +02:00
Julien Fontanet
085fb83294 fix(user.delete): remove associated ACLs
See vatesfr/xo-web#899
2016-09-16 16:04:41 +02:00
Olivier Lambert
ba45095fa8 fix(editable): limit input size for long text to 50ex. Fixes #1528 2016-09-15 16:45:19 +02:00
Olivier Lambert
b8e5ffa9f7 feat(backup): improved view. Fixes #1534 2016-09-15 16:26:42 +02:00
Pierre Donias
b4bff9e032 feat(vm/disks): "Long click to migrate" tooltip on SR (#1529)
* feat(vm/disks): "Long click to migrate" tooltip on SR

Fixes #1512

* feat(vm/disks): migrate VDI button, force cursor on editable

* fix bulk VDI migration

* Return Promise.all

* Ternary operator
2016-09-15 16:08:50 +02:00
Olivier Lambert
0c461bc4e2 feat(backuplogs): shorten the start/end date format. Fixes #1535 2016-09-15 15:55:01 +02:00
Julien Fontanet
edd606563f feat(vm.revert): can snapshot before (#395)
See vatesfr/xo-web#1445
2016-09-15 14:59:43 +02:00
Olivier Lambert
a33b2a5294 fix(home/menu): adapt message depending of user perm (#1532)
Fixes #1519
2016-09-15 13:56:33 +02:00
Olivier Lambert
298e1c4471 fix(host console): removing useless ISO selector for host. Fixes #1527 2016-09-15 13:07:33 +02:00
Julien Fontanet
1c70cdc10b fix(render-xo-item): remove unused import 2016-09-15 13:07:04 +02:00
Julien Fontanet
160e4bb530 fix(SelectVmTemplates): use correct placeholder
Fixes #1530
2016-09-15 12:00:32 +02:00
fufroma
e69ba8dd96 Fix typo on Changelog (#1526) 2016-09-15 04:44:42 -04:00
Julien Fontanet
fb804e99f0 5.2.3 2016-09-14 18:02:32 +02:00
Pierre Donias
1707cbcb54 feat(signin): use XO 5 style (#394)
Fixes vatesfr/xo-web#1161
2016-09-14 17:56:05 +02:00
Julien Fontanet
e55f4c3eb2 feat(settings/logs): show complete error object 2016-09-14 17:42:32 +02:00
Julien Fontanet
6d6a630c31 5.2.2 2016-09-14 17:37:42 +02:00
Julien Fontanet
ff2990e8e5 chore(package): update @marsaud/smb2-promise to version 0.2.1
Fixes vatesfr/xo-web#1511
2016-09-14 17:32:52 +02:00
Nicolas Raynaud
d679aff0fb chore(package): remove node-smb2 dependency (#393) 2016-09-14 16:23:28 +02:00
Pierre Donias
1a3272b980 feat(new-vm): auto poweron setting (#1514)
Fixes #1444
2016-09-14 15:25:54 +02:00
Julien Fontanet
7bed5e025a fix(home): fix empty default filter (#1504)
Fixes #1354
2016-09-14 14:38:24 +02:00
Julien Fontanet
603a444905 fix(Xapi#importVm): remove VM's VDIs on failure 2016-09-14 14:11:20 +02:00
Julien Fontanet
a002958448 fix(DR): remove previous VDIs
Fixes vatesfr/xo-web#1510
2016-09-14 14:11:20 +02:00
Julien Fontanet
cb4bc37424 fix(DR): delete VMs in all cases
Previous copies were not deleted when there were as many as the depth.

Fixes vatesfr/xo-web#1509
2016-09-14 14:11:19 +02:00
Pierre Donias
29d22c0598 feat(backup/new): confirm modal when local remote is selected (#1507)
Fixes #1441
2016-09-14 13:20:51 +02:00
Greenkeeper
a38c7c34ac chore(package): update react-key-handler to version 0.3.0 (#1505)
https://greenkeeper.io/
2016-09-14 01:42:16 +02:00
Julien Fontanet
8d690ce4ff 5.2.1 2016-09-13 16:54:42 +02:00
Olivier Lambert
2569568a03 feat(changelog): patch version 5.2.1 changelog 2016-09-13 16:52:47 +02:00
Julien Fontanet
0fc6f917e6 5.2.1 2016-09-13 16:44:35 +02:00
Julien Fontanet
ec0d012b24 feat(vm.set): support tags (#392)
Fixes vatesfr/xo-web#1431
2016-09-13 16:35:40 +02:00
Olivier Lambert
2c6ff6b5b8 feat(stopHost modal): explain consequences if halting a pool master. Fixes #1458 2016-09-13 15:28:30 +02:00
Pierre Donias
1257f01027 feat(new-vm): create tags during VM creation (#1501)
See #1431
2016-09-13 14:17:04 +02:00
Julien Fontanet
2cd4b171a1 chore(package): update json5 to version 0.5.0 2016-09-13 11:28:56 +02:00
Pierre Donias
fad6830863 fix(settings/remotes): SMB domain is required (#1502)
Fixes #1499
2016-09-13 11:28:07 +02:00
Julien Fontanet
0cb6906c4d chore(package): is-my-json-valid to v2.13.1 2016-09-13 11:25:22 +02:00
Julien Fontanet
4c19b93c30 chore(package): update fs-promise to version 0.5.0 2016-09-13 11:23:42 +02:00
Olivier Lambert
66262bb20b fix(vm console): re-fix issue #1485 2016-09-13 11:01:18 +02:00
Julien Fontanet
4abb0754c7 fix(remotes): edition of URL parts (#1500)
Fixes #1498
2016-09-13 10:20:48 +02:00
Pierre Donias
78c53bf3ad fix(xo): better message for snapshot deletion (#1497)
Fixes #1433
2016-09-13 09:42:18 +02:00
Pierre Donias
810d666d84 feat(home): tooltips on bulk action buttons (#1496)
Fixes #1456
2016-09-12 17:04:02 +02:00
Pierre Donias
67699f0bb6 feat(pool/network): SortedTable and collapsable PIFs table (#1494)
Fixes #1461
2016-09-12 16:44:43 +02:00
Pierre Donias
46274948c0 fix(settings/logs): properly handle unknown user (#1495) 2016-09-12 16:42:52 +02:00
Julien Fontanet
6165f1b405 fix(vm.create): select SR of first disk-VDI (#391)
Fixes vatesfr/xo-web#1493
2016-09-12 16:32:43 +02:00
Olivier Lambert
28e3a842ef feat(vm): new containers tab (#1492)
Fixes #1442
2016-09-12 13:50:14 +02:00
Pierre Donias
6d90f1d45d fix(user): prevent SSH key overflow (#1491)
Fixes #1475
2016-09-12 12:57:11 +02:00
Pierre Donias
09642c347d feat(new-vm): Advanced section (#1486)
Fixes #1444
2016-09-12 12:27:11 +02:00
Julien Fontanet
37a4221e43 fix(vm.docker.containers): yes, again 2016-09-12 12:13:45 +02:00
Julien Fontanet
9831b222b5 fix(vm.docker.containers) 2016-09-12 12:11:15 +02:00
Julien Fontanet
7b6f44fb74 fix(vm.createInterface): syntax fix 2016-09-12 12:06:34 +02:00
Pierre Donias
2d0e06f785 fix(backup/new): better month and week days layout (#1490)
Fixes #1488
2016-09-12 11:58:24 +02:00
Julien Fontanet
399f4d0ea3 feat(vm.docker.containers): like vm.docker.process.items but always an array 2016-09-12 11:43:36 +02:00
Julien Fontanet
26a668a875 fix(vm.createInterface): accept integers for position and mtu 2016-09-12 11:36:30 +02:00
Pierre Donias
a5bc8497cf fix(vm/tab-network): set default network and MTU for VIF creation (#1487)
Fixes #1472
2016-09-12 11:26:32 +02:00
Julien Fontanet
bf96262b6e feat(Xapi#createVif): default MTU is network's MTU 2016-09-12 11:05:31 +02:00
Julien Fontanet
4bcb65c518 5.2.0 2016-09-09 16:31:24 +02:00
Olivier Lambert
25361fa7eb feat(changelog): add IP management feature in changelog 2016-09-09 16:30:13 +02:00
Pierre Donias
889a265000 feat(settings/ips): new page to manage IP pools (#1418)
Fixes #1350, fixes #988 and fixes #240.
2016-09-09 16:19:26 +02:00
Julien Fontanet
96635a98f5 0.5.0 2016-09-09 15:50:38 +02:00
Julien Fontanet
1155fa1fe9 chore(vm.create): remove some console.log()s 2016-09-09 15:31:25 +02:00
Julien Fontanet
1875d31731 5.2.0 2016-09-09 15:16:03 +02:00
Julien Fontanet
6f855fd14e feat(IP pools): groups of IP addresses (#371) 2016-09-09 15:12:30 +02:00
Olivier Lambert
3122f6dcd5 feat(changelog): update changelog for 5.2.0 2016-09-09 14:21:54 +02:00
Julien Fontanet
08e392bb46 fix(vm.create): correctly compute limits usage (#389)
Fixes vatesfr/xo-web#1365
2016-09-09 12:55:10 +02:00
Julien Fontanet
66d63e0546 fix(test.wait): fix setTimeout params order 2016-09-08 18:40:55 +02:00
Olivier Lambert
16aa2e8085 bug(vmConsole): re-display header if VM goes from running to halted state. Fixes #1485 2016-09-08 16:29:56 +02:00
Julien Fontanet
074d51a670 fix(xo/deleteVms): delete disks as well
Fixes #1484
2016-09-08 15:06:42 +02:00
Greenkeeper
2122a79132 chore(package): update chartist-plugin-legend to version 0.5.0 (#1482)
https://greenkeeper.io/
2016-09-08 11:01:50 +02:00
Ronan Abhamon
26dbc585ba feat(vm-import): supports ova import (#709) (#1361)
Fixes #709
2016-09-08 10:15:44 +02:00
Greenkeeper
4b3cfbd424 chore(package): update modular-css to version 0.27.1 (#1478)
https://greenkeeper.io/
2016-09-08 09:55:38 +02:00
Julien Fontanet
035191a2cc feat(xo/installAllPatchesOnPool): better pool-wide patching (#1476)
Fixes #1392
2016-09-07 17:55:02 +02:00
Julien Fontanet
7ee56fe8bc feat(pool.installAllPatches): install all patches on a pool (#388)
See vatesfr/xo-web#1392
2016-09-07 17:54:00 +02:00
Olivier Lambert
06a40180a1 fix(vm): do not display VDI or VIF disconnect but when VM is not running. Fixes #1470 and fixes #1468 2016-09-05 16:59:21 +02:00
Julien Fontanet
aaf4c5dff7 chore(Vm): move isRunning into utils/isVmRunning 2016-09-05 16:40:13 +02:00
Olivier Lambert
0c83bc2b0e feat(logview): standardize and improve the settings/log view. Fixes #1467 2016-09-05 16:10:12 +02:00
Julien Fontanet
669d04ee48 fix(vm.migrate): error on unused default SR
Fixes #1466
2016-09-05 14:21:17 +02:00
Julien Fontanet
cb1b37326e fix(vm.rollingDrCopy): avoid duplicates in VMs list (#387)
Fixes vatesfr/xo-web#1464
2016-09-05 13:41:20 +02:00
Julien Fontanet
7bb73bee67 feat(vm.rollingDrCopy): failure to destroy old copies is not fatal 2016-09-05 11:29:54 +02:00
Julien Fontanet
7286ddc338 chore(JobExecutor): use utils/serializeError() 2016-09-05 11:29:53 +02:00
Julien Fontanet
54ef65ced9 feat: display error message
Fixes vatesfr/xo-web#1462
2016-09-05 10:39:54 +02:00
Julien Fontanet
4fb6bef04c feat: express global status in mail subject
New format is: `[Xen Orchestra][Success | Failure] Backup report for $tag`

Fixes vatesfr/xo-web#1463
2016-09-05 10:39:11 +02:00
Julien Fontanet
2d412fd8db fix(scheduling): month and day display
There were issues with some timezones.

Fixes #1404 & fixes #1438.
2016-09-01 11:47:50 -03:00
Julien Fontanet
443e2bec25 chore(NewVm#_getIsoPredicate): memoise selector 2016-09-01 10:57:13 -03:00
Olivier Lambert
d5e1323d82 feat(newVif): select management network by default when adding a vif. Fixes #1425 2016-09-01 15:34:49 +02:00
Olivier Lambert
7d1f9e33fe feat(network): add defaultIsLocked to API (#385) 2016-09-01 14:49:20 +02:00
Ronan Abhamon
63c676ebfe feat(vm.import): supports OVA (#375)
See vatesfr/xo-web#709
2016-09-01 14:11:15 +02:00
Julien Fontanet
7f0b77cc89 chore(package): update chartist-plugin-legend to version 0.4.0 (#1450)
https://greenkeeper.io/
2016-08-31 10:32:50 +02:00
greenkeeperio-bot
0169cff66c chore(package): update chartist-plugin-legend to version 0.4.0
https://greenkeeper.io/
2016-08-31 10:17:48 +02:00
Olivier Lambert
0fd1424a41 fix(newVm): check pool object for ISO selector when creating a VM from selfservice. Fixes #1448 2016-08-30 21:26:59 +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
Julien Fontanet
6280d56f32 chore(xo): use resolveId() (only) where it makes sense 2016-08-26 16:18:03 -04:00
Julien Fontanet
9f2a77872f fix(xo/deleteUser): dont attempt to display error when cancelled
Fixes vatesfr/xo-web#1439
2016-08-26 14:38:02 -04:00
Pierre Donias
b571c18e9a feat(host): indicate pool master in multiple places (#1423)
Fixes #1407
2016-08-25 12:33:55 -04:00
Greenkeeper
fcaf6b7923 chore(package): update json-rpc-peer to version 0.12.0 (#383)
https://greenkeeper.io/
2016-08-25 11:56:54 -04:00
Greenkeeper
49863d6e4d Update standard to version 8.0.0 🚀 (#1435)
https://greenkeeper.io/
2016-08-24 13:00:00 -04: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
Greenkeeper
224a79840d chore(package): update standard to version 8.0.0 (#14)
https://greenkeeper.io/
2016-08-24 12:23:09 -04:00
Greenkeeper
c21fef7c72 Update standard to version 8.0.0 🚀 (#46)
https://greenkeeper.io/
2016-08-24 11:50:04 -04:00
Greenkeeper
99ae3e0f7f chore(package): update standard to version 8.0.0 (#18)
https://greenkeeper.io/
2016-08-24 11:37:01 -04:00
Greenkeeper
02a4161ecb chore(package): update standard to version 8.0.0 (#22)
https://greenkeeper.io/
2016-08-24 11:33:05 -04:00
Greenkeeper
1a68c3947d chore(package): update standard to version 8.0.0 (#13)
https://greenkeeper.io/
2016-08-24 11:26:48 -04:00
Julien Fontanet
48cc7bb647 5.1.9 2016-08-22 14:02:40 -04: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
Pierre Donias
442d42d8dc fix(settings/logs): show params in a modal (#1424) 2016-08-19 16:09:20 +02:00
Olivier Lambert
9501ebacfc feat(menu): add warning icon when disconnected 2016-08-19 13:52:31 +02:00
Pierre Donias
23f9fa46f8 fix(home/host-item): do not show pool name if not enough permissions (#1421) 2016-08-19 13:40:55 +02:00
Julien Fontanet
1bd0f37fd4 feat(Menu): display when disconnected
Fixes vatesfr/xo-web#1417
2016-08-19 12:27:48 +02:00
Pierre Donias
ed74ded923 feat(settings/logs): display parameters (#1420) 2016-08-19 10:06:45 +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
Julien Fontanet
9f347a170a fix(xapi/utils): correctly isPlainObject 2016-08-18 16:21:34 +02:00
Julien Fontanet
2f7cd4426d fix(xapi/utils/prepareXapiParam): array handling 2016-08-18 16:15:51 +02:00
Julien Fontanet
854f256470 fix(xapi/getNamespaceForType): add missing VIF 2016-08-18 15:27:47 +02:00
Julien Fontanet
5d0b40f752 fix(utils/camelToSnakeCase): better number handling 2016-08-18 15:23:57 +02:00
Julien Fontanet
27a2853ee8 fix(vif.set): add missing param 2016-08-18 15:13:46 +02:00
Julien Fontanet
67f6b80312 fix(vif.set): do not use an arrow function 2016-08-18 15:01:13 +02:00
Julien Fontanet
016037adc1 fix(user.set): can be used by non admins 2016-08-18 14:17:07 +02:00
Olivier Lambert
b732410b74 feat(vm and home): add tooltip to OS icon. Fixes #1416 2016-08-18 14:12:46 +02:00
Olivier Lambert
a51f2b7fcf fix(newvm): check if ssh keys object exists 2016-08-18 13:59:08 +02:00
Olivier Lambert
fe12bbb60d fix(sr): container var check if not defined 2016-08-18 13:51:37 +02:00
Julien Fontanet
70d5c1034d 5.1.6 2016-08-18 10:54:36 +02:00
Greenkeeper
ed6fb8754f chore(package): update mocha to version 3.0.2 (#376)
https://greenkeeper.io/
2016-08-18 10:53:05 +02:00
Julien Fontanet
6d08a9b11c feat(JobExecutor): a current job will only run 2 calls at a time (#382)
Fixes vatesfr/xo-web#915
2016-08-18 10:52:29 +02:00
Julien Fontanet
cf6aa7cf79 fix(package): update xen-api to 0.9.4
Again, fixes vatesfr/xo-web#1384
2016-08-18 09:42:28 +02:00
Julien Fontanet
b7f34b9da6 0.9.4 2016-08-18 09:39:28 +02:00
Julien Fontanet
f82a6efda1 feat(Xapi#_watchEvents): keep-alive, inject 1 event per minute (#45)
See vatesfr/xo-web#1384
2016-08-18 09:37:31 +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
Julien Fontanet
6c4e57aae0 chore(JobExecutor#_execCall): forEach+Array#push → mapToArray 2016-08-17 18:13:30 +02:00
Julien Fontanet
f89538c6f7 0.0.5 2016-08-17 16:50:07 +02:00
Julien Fontanet
1ee0085c22 fix: correctly export the function 2016-08-17 16:49:16 +02:00
Olivier Lambert
8882df7939 5.1.8 2016-08-17 11:07:30 +02:00
Olivier Lambert
185a554cd9 fix(newVm): fix wrong ISO SR predicate. Fixes #1415 2016-08-17 11:06:35 +02:00
Greenkeeper
d56590c6e6 chore(package): update nyc to version 8.0.0 (#12)
https://greenkeeper.io/
2016-08-16 23:41:08 +02:00
Julien Fontanet
d08a04959c 5.1.5 2016-08-16 19:15:52 +02:00
Julien Fontanet
2762f74ce5 fix(package): update xen-api to 0.9.3 2016-08-16 19:12:46 +02:00
Julien Fontanet
556ca71c3a 0.9.3 2016-08-16 19:02:24 +02:00
Julien Fontanet
42be2d5031 fix(Xapi#_watchEvent): timeouts are in ms 2016-08-16 19:01:49 +02:00
Julien Fontanet
6ebcf6eec5 5.1.4 2016-08-16 18:18:04 +02:00
Julien Fontanet
25b78fb7e1 fix(package): update xen-api to 0.9.2
Fixes vatesfr/xo-web#1384
2016-08-16 18:15:32 +02:00
Julien Fontanet
876e22b092 0.9.2 2016-08-16 18:09:47 +02:00
Julien Fontanet
f9f9c16cb0 feat(Xapi#_watchEvents): timeout request after 10mins (#44) 2016-08-16 18:07:44 +02:00
Olivier Lambert
230e0dc2a5 5.1.7 2016-08-16 15:38:59 +02:00
Julien Fontanet
f63f5d0ac6 0.0.4 2016-08-16 15:33:24 +02:00
Nicolas Raynaud
44dbbeb2a3 tests: increase timeout and fix Node 0.12 compat (#3) 2016-08-16 15:25:05 +02:00
Greenkeeper
a881090e65 chore(package): update clarify to version 2.0.0 (#37)
https://greenkeeper.io/
2016-08-16 15:09:59 +02:00
Pierre Donias
f5b69fdfdc feat(vm/console): hide header and resize console (#1410)
Fix #1268
2016-08-16 14:49:44 +02:00
Greenkeeper
01dc0d8f1e chore(package): update modular-css to version 0.26.0 (#1385)
https://greenkeeper.io/
2016-08-16 12:45:29 +02:00
Greenkeeper
670dd2dd96 chore(package): update promise-toolbox to version 0.5.0 (#381)
https://greenkeeper.io/
2016-08-16 12:22:57 +02:00
Greenkeeper
8035886a3c chore(package): update promise-toolbox to version 0.5.0 (#1409)
https://greenkeeper.io/
2016-08-16 12:22:45 +02:00
Greenkeeper
3d9fce02a4 chore(package): update promise-toolbox to version 0.5.0 (#43)
https://greenkeeper.io/
2016-08-16 12:22:21 +02:00
Olivier Lambert
0ab5f4b13f fix(host): wrong storage link. Fixes #1408 2016-08-16 11:16:56 +02:00
Pierre Donias
a1bc98def8 feat(host): redirect to home when host disappears (#1406) 2016-08-16 09:50:29 +02:00
Julien Fontanet
dea401fc7c 0.0.3 2016-08-15 19:02:04 +02:00
Julien Fontanet
cca21fcd32 fix(build): work with npm 3 2016-08-15 18:56:33 +02:00
Olivier Lambert
868cf6140b feat(settings): more tooltips for server connect/disconnect 2016-08-15 18:04:01 +02:00
Olivier Lambert
4b3473f480 feat(logstackmodal): use pre tag for stack trace 2016-08-15 17:52:04 +02:00
Olivier Lambert
7bc782cc62 feat(copiable): add tooltip on copiable component 2016-08-15 17:33:59 +02:00
Julien Fontanet
ab6b1e2c32 chore(Xapi#_transportCall): simplify and improve code
It may even fixes some issues.
2016-08-15 16:36:18 +02:00
Olivier Lambert
e625a53e4a fix(vm migration): allow target network without IPs. Fixes #1403 2016-08-15 15:20:59 +02:00
Julien Fontanet
1baf04f786 fix(NfsHandler#_unmount): use _getRealPath() (#380)
Fixes vatesfr/xo-web#1396.
2016-08-15 14:22:19 +02:00
Olivier Lambert
b31185d96d fix(newVm): typo spotted by @Danp2 2016-08-15 14:07:12 +02:00
Olivier Lambert
09d75e972f feat(newVm): add missing tooltips. Fixes #1402 2016-08-15 11:44:36 +02:00
Greenkeeper
59d9b3c6b4 chore(package): update nyc to version 8.1.0 (#42)
https://greenkeeper.io/
2016-08-14 19:07:12 +02:00
Julien Fontanet
f7b6fcf684 Merge pull request #17 from vatesfr/greenkeeper-nyc-8.1.0
Update nyc to version 8.1.0 🚀
2016-08-14 19:07:04 +02:00
Greenkeeper
df3ec9a629 chore(package): update nyc to version 8.1.0 (#21)
https://greenkeeper.io/
2016-08-14 19:06:15 +02:00
Greenkeeper
ce05b7a041 chore(package): update nyc to version 8.1.0 (#379)
https://greenkeeper.io/
2016-08-14 19:06:00 +02:00
Greenkeeper
6bc4bf308b chore(package): update nyc to version 8.1.0 (#13)
https://greenkeeper.io/
2016-08-14 19:05:44 +02:00
greenkeeperio-bot
2ddb84f457 chore(package): update nyc to version 8.1.0
https://greenkeeper.io/
2016-08-14 10:26:33 +02:00
Olivier Lambert
f33568951b 5.1.6 2016-08-12 17:28:49 +02:00
Pierre Donias
8d8c442be5 feat(settings/logs): new view to display API logs (#1401)
Fix #1344
2016-08-12 17:27:50 +02:00
Olivier Lambert
6b82cc7510 fix(readme): typo 2016-08-12 17:22:28 +02:00
Nicolas Raynaud
2764f4d455 get the npm package ready for use (#2) 2016-08-12 12:02:52 +02:00
Olivier Lambert
f890b8ea7a feat(modal text): warns users about consequences of host eject 2016-08-11 21:13:32 +02:00
Pierre Donias
1b80b3929c feat(host): detach host from its pool (#1399)
Fixes #1395
2016-08-11 17:49:25 +02:00
Nicolas Raynaud
28fecc428f preliminary parsing of VMDK file (#1)
* initial tests for integration of VMDK inside xo-server
2016-08-11 17:21:16 +02:00
Pierre Donias
4f946293f6 feat(pool): add host (#1398)
Fixes #1374
2016-08-11 17:05:41 +02:00
Olivier Lambert
36788cde2b feat(vm disk): add VBD connect for a running VM. Fixes #1397 2016-08-11 16:52:52 +02:00
Olivier Lambert
290cc146c8 fix(xapi): allow to unplug VBDs when VM is running 2016-08-11 16:32:06 +02:00
Pierre Donias
1547c99e5a feat(new-vm): use saved SSH key in cloud config(#1394)
* feat(new-vm): use saved SSH key in cloud config. Fixes #1319
2016-08-11 13:32:54 +02:00
Olivier Lambert
5c9606dad8 feat(pool): improve pool view. Fixes #1393 2016-08-11 10:34:03 +02:00
Olivier Lambert
fdcb1dccf5 feat(pool): start to work on adding an existing host to a pool 2016-08-11 09:47:52 +02:00
Olivier Lambert
12812b8c23 5.1.5 2016-08-10 18:06:19 +02:00
Olivier Lambert
0098497255 fix(select): select color modified due to an update. Fixes #1391 2016-08-10 16:02:48 +02:00
Olivier Lambert
6562d2de7f feat(sr select): display space left on SR. Fixes #1358 2016-08-10 15:58:36 +02:00
Olivier Lambert
db4d46a584 fix(sr): don't share a local ISO SR. Fixes vatesfr/xo-web#1389 2016-08-10 14:39:05 +02:00
Olivier Lambert
1f0e88cdb0 feat(backup): better tooltips. Fixes #1363 2016-08-10 14:17:27 +02:00
Olivier Lambert
197da91ef3 feat(vdi remove): add modal when removing a VDI. Fixes #1388 2016-08-10 13:39:13 +02:00
Olivier Lambert
cbd59789e2 fix(vm disks): _isFreeForWriting missing case. Fixes #1386 2016-08-10 13:13:17 +02:00
Olivier Lambert
190ecf3d74 fix(pool): pool name and description edition. Fixes #1390 2016-08-10 12:42:46 +02:00
Olivier Lambert
15b8f6bca2 feat(meter tooltips): add tooltips for meter object. Fixes #1387 2016-08-10 12:31:28 +02:00
Pierre Donias
5b406d731b fix(vm): select destination SR when at least one VDI is local (#1382)
* Fixes #1357 
* fix(vm): select destination SR when at least one VDI is local
* fix(vm): do not send map when not necessary
2016-08-09 17:03:08 +02:00
Olivier Lambert
4be9e67ac4 fix(metercss): remove useless and conflicting CSS styles 2016-08-09 10:31:03 +02:00
Olivier Lambert
d047421685 feat(updates): enhance update view. Also fixes #1341 2016-08-08 16:46:47 +02:00
Olivier Lambert
f6f415a421 fix(network): name instead of description 2016-08-08 14:55:15 +02:00
Olivier Lambert
8ed2e51dde feat(network): add network.set method 2016-08-08 14:54:23 +02:00
Pierre Donias
edfaaebac0 feat(dashboard/health): Storage table: BlockLink (SR) and Link (SR's pool)
Fixes #1381
2016-08-08 14:15:49 +02:00
Olivier Lambert
33702c09a6 feat(vm copy): allow snapshot copy. Related to vatesfr/xo-web#1353 2016-08-08 14:07:27 +02:00
Olivier Lambert
67df22a1bf feat(vmsnapshot): add snapshot export and copy. Fixes #1353 and #1336 2016-08-08 14:05:27 +02:00
Pierre Donias
7dc59a00f6 feat(pool): action button to create an SR (#1380)
Fixes #1372
2016-08-08 12:45:12 +02:00
Pierre Donias
6214fe4c2e feat(pool): action button to create a VM (#1379)
Fix #1373
2016-08-08 11:35:24 +02:00
Greenkeeper
21610c3e0a chore(package): update ava to version 0.16.0 (#1377)
https://greenkeeper.io/
2016-08-08 09:57:36 +02:00
Olivier Lambert
87550b0189 5.1.4 2016-08-07 19:35:37 +02:00
Ronan Abhamon
b7c42d0a08 fix(scheduling): range not working
Fixes #1376
2016-08-07 19:35:05 +02:00
Olivier Lambert
c15ad299ac fix(sparklines): smaller sparklines and removing useless dots 2016-08-05 14:39:07 +02:00
Olivier Lambert
48c56cd602 5.1.3 2016-08-05 12:42:01 +02:00
Ronan Abhamon
7957f621ef fix(backups-edit): display correctly old backup jobs
Fixes #1366
2016-08-05 12:12:20 +02:00
Olivier Lambert
45aeca3753 5.1.3 2016-08-05 11:08:11 +02:00
Olivier Lambert
deae7dfb4d fix(xen-api): avoid reserved key conflicts. Fixes vatesfr/xo-web#1369 2016-08-05 11:06:58 +02:00
Julien Fontanet
8851a661c0 0.9.1 2016-08-05 10:49:08 +02:00
Julien Fontanet
2d327961da fix(objects): use $$ to avoid conflict with reserverd keys 2016-08-05 10:42:33 +02:00
Olivier Lambert
38ddbfdc9c fix(dashboard): inverted value for SR total/used. Fixes #1370 2016-08-04 14:42:50 +02:00
Olivier Lambert
3d2aae81da 5.1.2 2016-08-03 17:22:49 +02:00
Olivier Lambert
2227b9d061 feat(new vm): hide URL install for HVM templates. Fixes #1362 2016-08-03 16:55:43 +02:00
Olivier Lambert
12aab5fa8c feat(snapshots): add tooltips and confirm modal for snapshot oprations. Fixes #1349 2016-08-03 16:34:31 +02:00
Olivier Lambert
7323e6e117 fix(tooltip): remove tooltip if button changes. Fixes #1360 2016-08-03 15:53:38 +02:00
Julien Fontanet
2af043ebdd chore(jshint): remove unused config file 2016-08-03 09:46:52 +02:00
Greenkeeper
ac6d14113a chore(package): update mocha to version 3.0.0 (#9)
https://greenkeeper.io/
2016-08-02 19:21:37 +02:00
Greenkeeper
398db72b44 chore(package): update mocha to version 3.0.0 (#17)
https://greenkeeper.io/
2016-08-02 19:21:01 +02:00
Olivier Lambert
32777e17c4 Initial commit 2016-08-02 16:37:00 +02:00
Julien Fontanet
a3da3299fa Merge pull request #15 from vatesfr/greenkeeper-mocha-3.0.0
Update mocha to version 3.0.0 🚀
2016-08-02 16:20:59 +02:00
Greenkeeper
3a41efbea8 chore(package): update mocha to version 3.0.0 (#40)
https://greenkeeper.io/
2016-08-02 16:20:00 +02:00
Greenkeeper
e763db7102 chore(package): update mocha to version 3.0.0 (#11)
https://greenkeeper.io/
2016-08-02 16:16:53 +02:00
Greenkeeper
6f36869609 chore(package): update gulp-uglify to version 2.0.0 (#1355)
https://greenkeeper.io/
2016-08-02 14:47:18 +02:00
Olivier Lambert
e121295735 Merge pull request #373 from nraynaud/next-release
fix (readme): fix installation documentation link
2016-08-02 12:32:05 +02:00
Nicolas Raynaud
7c1c405a64 fix installation documentation link 2016-08-02 12:22:39 +02:00
greenkeeperio-bot
2b504ce5ab chore(package): update mocha to version 3.0.0
https://greenkeeper.io/
2016-08-01 07:33:49 +02:00
Ronan Abhamon
4a12419162 feat(backups): supports smart backup (close #837) (#1335)
Fixes #837
2016-07-31 19:03:41 +02:00
Olivier Lambert
5d7c95a34d fix(xapi): typo on host disable method. Fixes vatesfr/xo-web#1351 2016-07-30 20:22:12 +02:00
Julien Fontanet
504c934fc9 fix(JobExecutor#_execCall): xo.api.call() → xo.callApiMethod() 2016-07-29 15:28:24 +02:00
Julien Fontanet
81b0223f73 fix(JobExecutor#exec): forward the error 2016-07-29 15:27:58 +02:00
Julien Fontanet
6d1e410bfd fix(JobExecutor#exec): correctly log the error 2016-07-29 15:27:32 +02:00
Julien Fontanet
26c5c6152d fix(job-executor/map): paramName handling 2016-07-29 14:37:42 +02:00
Julien Fontanet
d83bf0ebaf fix(Xo#_watchObject): check for notify() 2016-07-29 14:29:57 +02:00
Julien Fontanet
5adfe9a552 chore(index): remove debug trace 2016-07-29 13:54:54 +02:00
ABHAMON Ronan
883f461dc7 feat(job-executor): supports dynamic param vectors (#369)
See vatesfr/xo-web#837
2016-07-29 13:26:53 +02:00
ABHAMON Ronan
bf91938aa6 fix(form/Toggle): refresh when set is used (#1347)
Fixes #1339
2016-07-29 11:35:58 +02:00
Julien Fontanet
8595ebc258 feat(api): generate logs on errors
See vatesfr/xo-web#1344
2016-07-29 10:32:48 +02:00
ABHAMON Ronan
bd70bd2b45 fix(scheduling): fix month selection highlighting (#1345)
Fixes #1338
2016-07-29 10:31:42 +02:00
Julien Fontanet
2bd31f4560 chore(api): remove legacy helpers 2016-07-28 15:21:59 +02:00
Julien Fontanet
6df85ecadd fix(vm.*): add missing import 2016-07-28 15:21:59 +02:00
Julien Fontanet
07829918e4 5.1.2 2016-07-28 15:21:12 +02:00
Julien Fontanet
b0d400b6eb fix(Xapi#exportDeltaVm): better handling of removed VDIs (#370)
Fixes vatesfr/xo-web#1333
2016-07-28 15:19:44 +02:00
Greenkeeper
bb26c8e449 chore(package): update modular-css to version 0.25.0 (#1331)
https://greenkeeper.io/
2016-07-28 00:16:06 +02:00
Julien Fontanet
706cb895ad 5.1.1 2016-07-27 16:36:51 +02:00
Julien Fontanet
93c7a01e62 5.1.1 2016-07-27 15:31:00 +02:00
Julien Fontanet
9c2359e8ee fix(Tooltip): better PropTypes 2016-07-27 15:29:05 +02:00
Julien Fontanet
5b9000012e fix(Tooltip): behave if children is missing or a string 2016-07-27 15:17:02 +02:00
Julien Fontanet
bf00b4e8e3 fix(Tooltip): better PropTypes 2016-07-27 15:08:52 +02:00
Julien Fontanet
45bf539b3c fix(user.delete): fix tokens deletion 2016-07-27 13:23:16 +02:00
Julien Fontanet
0923981f8d fix(user.set): typo in error message 2016-07-27 13:01:32 +02:00
ABHAMON Ronan
ee7787f4ae fix(heatmap): related to last Tooltip changes (#1327)
Fixes #1326
2016-07-27 10:10:55 +02:00
Olivier Lambert
0b88e743c9 feat(changelog): update changelog 2016-07-26 17:07:23 +02:00
Julien Fontanet
f07a947580 5.1.0 2016-07-26 16:54:35 +02:00
Julien Fontanet
b0ac14363d 5.1.0 2016-07-26 16:52:49 +02:00
Julien Fontanet
0b8a9eedbc feat(tooltip): float → solid, do not follow cursor 2016-07-26 16:50:46 +02:00
ABHAMON Ronan
8d24e596ac fix(tooltip): use position.top instead of position.right (#1322) 2016-07-26 14:49:07 +02:00
ABHAMON Ronan
c2378a44cd fix(tooltip): do not inject an intermediary element (#1321)
Fixes #1150
2016-07-26 14:28:11 +02:00
Julien Fontanet
5d346aba37 fix(vm.create): cloudConfig handling 2016-07-26 14:26:24 +02:00
Julien Fontanet
124cb15ebe fix(resource sets): fix VM resources computation
Fixes vatesfr/xo-web#1276
2016-07-25 17:08:09 +02:00
Julien Fontanet
a244ab898d fix(vm.create): correctly store the resource set 2016-07-25 17:08:08 +02:00
Julien Fontanet
3c551590eb fix(vm.set): correctly save memory in limits 2016-07-25 17:08:07 +02:00
ABHAMON Ronan
10e30cccbc feat(models/schedule): null properly remove timezone (#368)
Related to vatesfr/xo-web#1314
2016-07-25 15:54:27 +02:00
ABHAMON Ronan
023f7fdef1 feat(home): custom filters & configure default filters (#1308)
Fixes #1235
2016-07-25 15:20:39 +02:00
ABHAMON Ronan
5d7a64bc28 fix(scheduling): timezone support (#1318) 2016-07-25 14:57:38 +02:00
Julien Fontanet
806a6b86a2 fix(signin): fix styles when /v4 2016-07-25 13:40:57 +02:00
ABHAMON Ronan
8661957a97 feat(timezone-picker): xo-server timezone in the select (#1316)
Fixes #1314
2016-07-25 13:21:37 +02:00
ABHAMON Ronan
7a15d265b7 fix(new/sr): fix IQNs, LUNs selection (#1317)
Fixes #1281
2016-07-25 13:04:05 +02:00
Olivier Lambert
2736881975 fix(new sr): cast port number. See issue #1281 2016-07-23 16:42:58 +02:00
Greenkeeper
44a85f4e0c chore(package): update globby to version 6.0.0 (#1313)
https://greenkeeper.io/
2016-07-23 16:41:41 +02:00
Julien Fontanet
52a6e42e7e fix(pool/storage): display read-only SRs 2016-07-23 16:26:41 +02:00
Julien Fontanet
9719fdf5cc fix(sr.probe*): correctly prepare port param 2016-07-23 16:18:03 +02:00
Julien Fontanet
3dbe058d4e feat(home): add link to VMs console 2016-07-23 15:58:12 +02:00
Julien Fontanet
6d8764f8cb fix(Xapi#createVm): add missing param 2016-07-23 15:49:27 +02:00
Julien Fontanet
d9fd9cb408 fix(vm.create): better VBDs creation (#361)
Fixes vatesfr/xo-web#1257
2016-07-23 15:31:15 +02:00
Pierre Donias
620139efc1 feat(settings/acls): (un)select all objects of a specific type (#1310)
Fixes #1296
2016-07-22 17:45:38 +02:00
Pierre Donias
71464ac2e3 feat(menu): add types as Home sub-menus (#1309)
Fixes #1306
2016-07-22 16:18:16 +02:00
Pierre Donias
4a65489d39 fix(xo): polyfill Intl for Safari (#1307)
Fixes #1120
2016-07-22 15:51:32 +02:00
Pierre Donias
65d7eac590 feat(user): SSH keys management (#1302)
Fix #1299
2016-07-21 12:21:27 +02:00
ABHAMON Ronan
02bbc01dc4 feat(scheduling): improve utilisability (#1300)
Fixes #1295
2016-07-21 10:25:57 +02:00
Julien Fontanet
39a16f9a7f 0.8.0 2016-07-20 16:53:56 +02:00
Julien Fontanet
f3ea8d012f feat(Xo#refreshUser) 2016-07-20 16:53:56 +02:00
Julien Fontanet
7710ec0aba feat(schemas): add user schema 2016-07-20 12:10:23 +02:00
Pierre Donias
3066237c86 feat(self/admin): recompute resource sets limits (#1298)
Fixes #1287
2016-07-20 11:36:49 +02:00
Julien Fontanet
c97bd78cd0 fix(VM): cpuCap & cpuWeight are integers 2016-07-20 10:57:15 +02:00
Pierre Donias
53f3c0bef1 fix(new-vm): fix CPU weight and add CPU cap (#1297)
Fixes #1286
2016-07-20 10:41:50 +02:00
ABHAMON Ronan
823c91b457 feat(plugins): supports predefined configurations (#1294)
Fixes #1289
2016-07-20 09:46:30 +02:00
ABHAMON Ronan
3bd7e20411 feat(backups): jobs support timezones (#1290)
Fixes #1258
2016-07-20 09:45:35 +02:00
Pierre Donias
24d4610b04 feat(vm/tab-advanced): editable CPU weight and cap (#1293)
Fixes #1283
2016-07-20 09:44:24 +02:00
ABHAMON Ronan
728c5aa86e feat(plugins): supports predefined configurations (#365)
See vatesfr/xo-web#1289
2016-07-19 17:28:53 +02:00
Pierre Donias
83d68ca293 feat(vm.set): make cpuWeight and cpuCap nullable (#364) 2016-07-19 16:53:47 +02:00
Julien Fontanet
47d7561db4 fix(VM): cpuCap can be defined when cpuWeight is not 2016-07-19 15:37:07 +02:00
ABHAMON Ronan
b16097767a feat(json-schema-input): use only schema.defaults in combobox options (#1292)
Fix #1288
2016-07-19 15:06:33 +02:00
ABHAMON Ronan
2ff74ffd39 feat(line-chart): many fixes on graphs legends (#1291)
Fixes #1247
2016-07-19 13:39:53 +02:00
ABHAMON Ronan
7d993e8319 feat(schedules): schedules support timezones (#363)
Fixes vatesfr/xo-web#1258
2016-07-19 13:32:27 +02:00
Julien Fontanet
1d1a597b22 feat(VM): expose cpuCap 2016-07-19 11:02:38 +02:00
Julien Fontanet
f0bb464136 fix(intl/locales/zh): fix moment import 2016-07-19 10:51:56 +02:00
Julien Fontanet
23082f9300 feat(vm.set): support for cpuCap (#362) 2016-07-19 10:35:03 +02:00
Julien Fontanet
4767830386 feat(i18n): skeleton for Chinese 2016-07-19 10:02:33 +02:00
Julien Fontanet
ce23d4f164 feat(editable): change cursor to make it easier to see 2016-07-19 09:40:29 +02:00
Pierre Donias
c1380d1256 feat(home): focus search input after changing type (#1285)
Fixes #1228
2016-07-18 17:51:47 +02:00
Pierre Donias
ed9a848858 feat(new-vm): create mutiple VMs with a name pattern (#1271)
Implements parts of #949: initial sequence number.
2016-07-18 14:42:18 +02:00
ABHAMON Ronan
5e4e15fc12 fix(self/overview): display correctly resources set (#1284)
Fixes #1282
2016-07-18 09:36:46 +02:00
Julien Fontanet
ea1a7f9376 chore(Xapi#_getXenUpdates): use ensureArray() 2016-07-15 12:57:20 +02:00
Greenkeeper
0dea952a2a chore(package): update modular-css to version 0.23.2 (#1239)
https://greenkeeper.io/
2016-07-15 12:19:47 +02:00
Julien Fontanet
1b9aa63096 Merge pull request #14 from vatesfr/greenkeeper-nyc-7.0.0
Update nyc to version 7.0.0 🚀
2016-07-15 11:29:20 +02:00
Greenkeeper
45b8fd0100 chore(package): update nyc to version 7.0.0 (#38)
https://greenkeeper.io/
2016-07-15 11:29:14 +02:00
Greenkeeper
11bde53069 chore(package): update nyc to version 7.0.0 (#16)
https://greenkeeper.io/
2016-07-15 11:27:31 +02:00
Greenkeeper
f115ee18c4 chore(package): update nyc to version 7.0.0 (#10)
https://greenkeeper.io/
2016-07-15 11:27:11 +02:00
Greenkeeper
162a56232c chore(package): update nyc to version 7.0.0 (#8)
https://greenkeeper.io/
2016-07-15 11:26:53 +02:00
Olivier Lambert
a1818dd525 5.0.9 2016-07-14 14:49:18 +02:00
Pierre Donias
659e336f66 fix(migrate-vms-modal): fix conditions for SR and Network selectors 2016-07-14 14:43:29 +02:00
Greenkeeper
1796c7bab8 chore(package): update nyc to version 7.0.0 (#358)
https://greenkeeper.io/
2016-07-14 13:09:12 +02:00
Greenkeeper
65ad76479a chore(package): update base64url to version 2.0.0 (#360)
https://greenkeeper.io/
2016-07-14 11:33:12 +02:00
Olivier Lambert
422db04ec8 5.0.5 2016-07-13 15:20:56 +02:00
Pierre Donias
058f7ecd9f feat(Usage): new component to display a usage progress bar
Fixes #1151
2016-07-13 12:50:29 +02:00
Olivier Lambert
831d9cb49f feat(i18n): Portuguese translation
* Translation PT-BR Reviewed and Updated
2016-07-13 11:57:06 +02:00
Olivier Lambert
a5d059b0b1 fix(vm): protect JS crash if arrays[0] is empty 2016-07-13 11:43:52 +02:00
Pierre Donias
4c3b959869 fix(home): add key prop to sort options 2016-07-13 09:59:59 +02:00
Pierre Donias
d81a169a39 fix(form/SizeInput): parseSize value cannot be undefined 2016-07-13 09:59:44 +02:00
Pierre Donias
0d47332526 feat(new-vm): self service with resource sets
Fixes #1155
2016-07-13 09:59:11 +02:00
Olivier Lambert
d12f60fe37 Merge pull request #359 from vatesfr/pierre-fix-create-vm
fix(vm/create): missing single quotes
2016-07-13 09:37:23 +02:00
Pierre Donias
539d136936 fix(page/title): check if the container exists before displaying its name in the title 2016-07-13 09:30:58 +02:00
Pierre Donias
194c1c991c fix(vm/create): missing single quotes 2016-07-12 16:40:32 +02:00
Pierre Donias
4c28b5775d feat(page/title): page titles for each view
Fixed #1185
2016-07-11 17:33:00 +02:00
Pierre Donias
fe6f351f84 feat(new/sr): page header
Fixes #1129
2016-07-11 17:10:27 +02:00
greenkeeperio-bot
de6f0ef8eb chore(package): update nyc to version 7.0.0
https://greenkeeper.io/
2016-07-09 09:13:32 +02:00
Olivier Lambert
5dbeccf92f 5.0.8 2016-07-08 19:29:54 +02:00
Olivier Lambert
56bba1d84b fix(home): typo on host memoryTotal 2016-07-08 16:22:11 +02:00
ABHAMON Ronan
af05d362b4 fix(stats): avoid calculations on null stats objects
Fix #969
2016-07-08 13:53:25 +02:00
ABHAMON Ronan
268ccf9a36 feat(settings/plugins): presets are supported
Fix #1222
2016-07-08 12:50:45 +02:00
ABHAMON Ronan
e77d4fafaa feat(patches): fix all patches related issues
Fixes #1244, #1245 and #1246
2016-07-08 12:30:32 +02:00
Pierre Donias
b88b99e342 fix(new-vm): display fast clone option only if there are template disks
Fix #1172
2016-07-08 12:20:28 +02:00
Olivier Lambert
f862d0df5b fix(host,vm): use stacked value text in a tooltip for stats 2016-07-08 10:40:15 +02:00
Fabrice Marsaud
dac954155c feat(menu): better contrast and size for update icons 2016-07-07 17:23:12 +02:00
Olivier Lambert
3e8e2222c1 Merge pull request #357 from vatesfr/marsaudf-fix-job-log-error
Add message to job log error
2016-07-07 15:26:15 +02:00
Fabrice Marsaud
cf9deceb15 fix(logs): displays job log message if available 2016-07-07 15:22:43 +02:00
Fabrice Marsaud
1620327a33 Add message to job log error 2016-07-07 14:55:43 +02:00
Fabrice Marsaud
72aed98088 Filter errors and successes in job logs (#1242)
* Meta data for job log state

* Preset filters for sorted tables

* Work around a babel issue

Fixes #1232
2016-07-07 14:28:09 +02:00
Fabrice Marsaud
ec92eddde8 display log errors properly (#1248)
Fixes #1134
2016-07-07 14:25:14 +02:00
ABHAMON Ronan
e30b5ab6c3 fix(xo-app): use correct sortOrder on sortedTable instances (#1243) 2016-07-07 14:20:54 +02:00
Olivier Lambert
0a5d26b001 5.0.7 2016-07-07 12:14:37 +02:00
Olivier Lambert
b1131e3667 5.0.4 2016-07-07 12:12:54 +02:00
wescoeur
cd8a92c30b 0.3.0 2016-07-07 12:00:24 +02:00
wescoeur
10030c4959 Use default value on cpu/memoryFree. 2016-07-07 11:58:12 +02:00
ABHAMON Ronan
7e4b881041 feat(srs/uuid): UI improvements (fix #1142) (#1230) 2016-07-07 11:23:37 +02:00
Olivier Lambert
db0250ac08 Merge pull request #356 from vatesfr/marsaudf-fix-patch-conflicts
Fix(xapi): handle correctly single XML elements
2016-07-07 11:22:27 +02:00
Fabrice Marsaud
27a6af414f fix(host): broken patch filter
Fixed #1236
2016-07-07 11:20:43 +02:00
Fabrice Marsaud
0a6b605760 Handle single patch elements in parsed XML 2016-07-07 10:11:21 +02:00
Olivier Lambert
81ac2375e5 5.0.3 2016-07-06 23:23:14 +02:00
Olivier Lambert
6bcaca6cd7 Merge pull request #355 from vatesfr/issue-1233
fix(Xapi#importDeltaVm): correctly handle missing network
2016-07-06 23:21:55 +02:00
Olivier Lambert
ec8375252e fix(Xapi#importDeltaVm): correctly handle missing network 2016-07-06 23:11:47 +02:00
Olivier Lambert
ba6204f811 feat(user): add Spanish in the language selector 2016-07-06 17:09:16 +02:00
Olivier Lambert
d17b1050ad feat(es): add i18n file for Spanish 2016-07-06 17:05:45 +02:00
Olivier Lambert
b70bc86f71 feat(plugins): compact plugin view. Fixes #1130 2016-07-06 15:14:13 +02:00
Olivier Lambert
42b08633e9 fix(host): correctly display XS version. Fixes #1225 2016-07-06 12:45:20 +02:00
ABHAMON Ronan
bc898e1afd fix(pools): use sorted table & links to srs/hosts (fix #1141) (#1219)
* fix(pools): use sorted table & links to srs/hosts (fix #1141)
2016-07-06 10:45:48 +02:00
Pierre Donias
48d5f34ae6 fix(new-vm): wrong conditions for creation disabling (#1224) 2016-07-06 10:07:07 +02:00
Olivier Lambert
67b8b15cd8 5.0.6 2016-07-05 19:14:36 +02:00
Pierre Donias
09d80afa69 fix(form/SizeInput): controlled & uncontrolled modes (#1220) 2016-07-05 19:06:28 +02:00
ABHAMON Ronan
c0d95304f6 fix(home): actions depend on the selected type (#1218)
Fix #1153
2016-07-05 18:14:37 +02:00
Julien Fontanet
766aa1762f 5.0.2 2016-07-05 17:56:02 +02:00
Olivier Lambert
5a0d67a9f6 feat(vm): allow halted VM migration (#1221)
Fixes #1216
2016-07-05 17:55:49 +02:00
Julien Fontanet
5165e0a54c feat(user.set): support preferences 2016-07-05 17:19:38 +02:00
Julien Fontanet
a2f7ad627e feat(Xapi#migrateVm): allow non-running VMs
Fixes vatesfr/xo-web#1216
2016-07-05 17:09:54 +02:00
Julien Fontanet
08305b4b93 feat(SortedTable): support rowLink prop 2016-07-05 17:04:55 +02:00
Olivier Lambert
04d5612946 chore(xo): more resolveId (#1217) 2016-07-05 14:41:10 +02:00
Olivier Lambert
3dcb6f1f61 fix(host patch): wrong version check for patching hosts 2016-07-05 13:26:59 +02:00
Olivier Lambert
4e7684e38b feat(actions): add confirms for critical actions (#1215)
Fixes #1211
2016-07-05 13:24:04 +02:00
Fabrice Marsaud
a692b7571f feat(logs): sortable (#1214) 2016-07-05 12:30:03 +02:00
ABHAMON Ronan
a098618efa feat(dashboard/overview): add links to related pages (#1212)
Fixes #1139
2016-07-05 11:10:58 +02:00
Pierre Donias
71381e75f1 fix(migration): intra-pool migration should not send maps (#1213) 2016-07-05 11:10:15 +02:00
Pierre Donias
05b345db4a feat(home): bulk VM copy (#1205)
Fixes #1154.
2016-07-05 10:33:30 +02:00
Julien Fontanet
f85f6eab9e 5.0.5 2016-07-04 19:04:36 +02:00
Julien Fontanet
b6dc8b507d fix(SortedTable): total number of items when collection is a map 2016-07-04 19:03:31 +02:00
ABHAMON Ronan
831308ee05 feat(pool/patches): can patches hosts (#1203)
Fixes #1149
2016-07-04 18:52:39 +02:00
Fabrice Marsaud
eb5bcb759f feat(home): can display pools (#1202)
Fixes #1140
2016-07-04 16:28:41 +02:00
ABHAMON Ronan
8286570811 feat(xo-line-charts): supports sum of stats series (#1197)
Fixes #1158
2016-07-04 16:27:26 +02:00
Pierre Donias
10b511f0ed fix(form/SizeInput): props.defaultValue instead of props.value (#1206) 2016-07-04 15:56:57 +02:00
Julien Fontanet
751e335bc0 5.0.4 2016-07-01 17:53:47 +02:00
Pierre Donias
cb107521f2 feat(migration): smart VIFs-networks mapping (#1195) 2016-07-01 17:10:57 +02:00
Olivier Lambert
e56af57b74 fix(card): minor style change 2016-07-01 17:09:10 +02:00
ABHAMON Ronan
a2a1cbab6e feat(sorted-table): display selected items number (#1200)
Fixes #1133
2016-07-01 17:07:57 +02:00
Pierre Donias
306a021a8d fix(new-vm): make radio buttons controlled (#1199)
Fixes #1198
2016-07-01 16:11:19 +02:00
Julien Fontanet
d8c414af2f fix(getEventValue): returns value prop for radios 2016-07-01 15:47:46 +02:00
Julien Fontanet
ec4c76b2e0 feat(selectors): filter() can be chained after pick() 2016-07-01 15:47:46 +02:00
ABHAMON Ronan
e23b8a6891 feat(dashboard/overview): display missing patches (#1191)
Fixes #1148
2016-07-01 15:28:07 +02:00
Olivier Lambert
34006bcbf6 fix(health): forget to check edition 2016-07-01 14:47:43 +02:00
ABHAMON Ronan
ed9aeabf6a chore(dashboard/health): use Card (#1194) 2016-07-01 11:20:32 +02:00
Fabrice Marsaud
799fc5089f feat(settings/remotes): add button to test a remote (#1192)
Fixes #1075.
2016-07-01 09:25:57 +02:00
Julien Fontanet
1176c162d4 5.0.1 2016-06-30 15:46:27 +02:00
Julien Fontanet
683d510aa6 5.0.3 2016-06-30 15:12:26 +02:00
Pierre Donias
ebd7e58f61 feat(home): bulk VM migration (#1187)
Fixes #1146
2016-06-30 15:04:21 +02:00
Fabrice Marsaud
9a498b54ac fix(menu): only display one icon for updates when collapsed (#1190)
Fixes #1188
2016-06-30 15:03:26 +02:00
Fabrice Marsaud
a4880cd017 feat(remote.test): perform a write/read test on a remote (#354)
See vatesfr/xo-web#1075
2016-06-30 15:00:00 +02:00
ABHAMON Ronan
2687f45e6e fix(settings/plugins): set config value to undefined if value is null (#1189) 2016-06-30 14:31:43 +02:00
wescoeur
ffc155c341 0.2.1 2016-06-30 14:12:19 +02:00
wescoeur
42ea76eb2a Supports ui schema builder of xo-web. 2016-06-30 14:10:59 +02:00
ABHAMON Ronan
f79a17fcec feat(json-schema-input): generate uiSchema JSON schema (#1182) 2016-06-30 13:52:20 +02:00
ABHAMON Ronan
8fd377d1e2 feat(dashboard/dataviz): parallel coordinates graph (#1174)
Fixes #1157
2016-06-30 11:36:29 +02:00
Olivier Lambert
fda06fbd29 feat(VM/network): VIFs management (#1186)
Fixes #1176
2016-06-30 11:28:25 +02:00
Fabrice Marsaud
cee4378e6d feat(xoa-updates): reload after upgrading (#1183)
Fixes #1131.
2016-06-30 11:26:03 +02:00
Julien Fontanet
be503f1341 0.4.1 2016-06-30 10:12:30 +02:00
Julien Fontanet
6f4509c260 fix: report only on failures with xo-web 5 2016-06-30 10:12:07 +02:00
Fabrice Marsaud
ab6d342886 fix(VM/network): fix broken propTypes import (#1184) 2016-06-29 17:59:39 +02:00
Julien Fontanet
383bdce416 fix(plugin.configure): fix undefined handling 2016-06-29 13:08:02 +02:00
Fabrice Marsaud
9954c08993 fix(xoa-updates): fix env test (#1181) 2016-06-29 12:16:25 +02:00
Julien Fontanet
3ae80aeab3 feat(link): expose Link and BlockLink components 2016-06-29 11:57:42 +02:00
Julien Fontanet
2a3534f659 chore(utils): do not re-export propTypes 2016-06-29 11:57:42 +02:00
Julien Fontanet
fc39de0d5a chore(sign-in): remove because unused 2016-06-29 11:57:41 +02:00
Julien Fontanet
64e4b79d41 chore(utils/createSimpleMatcher): remove because not used 2016-06-29 11:57:41 +02:00
Julien Fontanet
b2331084d1 0.4.0 2016-06-29 11:40:58 +02:00
Julien Fontanet
ab3a594884 chore(package): update all dependencies 2016-06-29 11:34:43 +02:00
Julien Fontanet
592adcf42e 0.1.0 2016-06-29 10:40:03 +02:00
Julien Fontanet
978c881ab7 chore(package): update all dependencies 2016-06-29 10:39:05 +02:00
Fabrice Marsaud
53887da3da feat(VM/network): VIF creation (#1173)
Fixes #1138.
2016-06-28 17:47:44 +02:00
Julien Fontanet
7cc300dd83 fix(Xapi#createVif): fix handling when neither device nor position is not provided 2016-06-28 17:36:24 +02:00
ABHAMON Ronan
7c60d68f56 fix(xo-line-chart): set precision on LoadLineChart (#1175)
Fixes #1167
2016-06-28 17:17:46 +02:00
Julien Fontanet
2ac1b991b1 feat(BaseComponent#_linkedState): only allocate when necessary 2016-06-28 15:56:53 +02:00
Julien Fontanet
8257714cdb feat(get-event-value): works with checkbox/radio/select 2016-06-28 15:56:53 +02:00
Julien Fontanet
1b8bacbf5a chore(utils/autobind): remove in favor of ES7 class properties syntax 2016-06-28 15:56:52 +02:00
Julien Fontanet
1d5b84389d chore(utils): do not re-export invoke 2016-06-28 15:56:51 +02:00
Julien Fontanet
f7dcf52977 chore(utils/If): remove because does not work 2016-06-28 15:03:34 +02:00
Julien Fontanet
e26dd5147a feat(BaseComponent#linkState): creates a callback associated to a state entry 2016-06-28 14:56:51 +02:00
Julien Fontanet
bb8f96c2e2 5.0.2 2016-06-28 14:38:13 +02:00
Julien Fontanet
95d4cc9055 chore(README): master → stable 2016-06-28 14:37:14 +02:00
Julien Fontanet
cb84a85f8b chore(package): make package publishable 2016-06-28 14:36:32 +02:00
Pierre Donias
0a8aa2ecf5 feat(user): better UI and password edition (#1165)
Fixes #1127
2016-06-28 14:32:02 +02:00
Julien Fontanet
5941321e84 fix(intl/locales): Spanish is es, not sp 2016-06-28 14:15:11 +02:00
Julien Fontanet
8cf62280f4 feat(intl/locales/sp): initial file 2016-06-28 14:13:21 +02:00
Fabrice Marsaud
687809db9d fix(user.set): cannot change self permission (#353) 2016-06-28 13:28:31 +02:00
Olivier Lambert
4cea142b57 fix(tasks): improve the task view (#1166)
Fixes #1147
2016-06-28 12:31:25 +02:00
Fabrice Marsaud
64d9245bc4 fix(settings/users): correctly set default permission value (#1170)
Fixes #1159
2016-06-28 11:49:04 +02:00
Fabrice Marsaud
2d78c0c4c3 fix(backup/restore): ignore incorrectly formatted files (#1163)
Fixes #1164
2016-06-28 11:19:54 +02:00
Pierre Donias
aa585e2d25 fix(home): always use advanced migration modal (#1137) 2016-06-27 16:15:52 +02:00
Julien Fontanet
325ab17dcc chore(xo): prefix local function call with _ 2016-06-27 16:04:54 +02:00
Pierre Donias
443ea44bcd fix(new/vm): default custom cloud config (#1125) 2016-06-27 15:21:20 +02:00
Pierre Donias
07958d8efa fix(vms/new): gracefully handle missing objects (#1124) 2016-06-27 15:20:05 +02:00
Olivier Lambert
f19affe599 fix: better SR predicate (#1122) 2016-06-27 15:15:46 +02:00
Julien Fontanet
1127ec3a90 feat(vif.set): allowed IPv4/IPv6 addresses (#328) 2016-06-27 15:11:46 +02:00
Julien Fontanet
a797edfae9 chore(xapi/mixins/vm): simplify _editVm() specs 2016-06-27 12:10:57 +02:00
Julien Fontanet
938e106252 feat(xapi/utils/makeEditObject): support camelCase and snake_case aliases 2016-06-27 12:10:54 +02:00
Julien Fontanet
a0eb9caaa2 feat(xapi/utils/makeEditObject): set, set.get, set.set can be true 2016-06-27 11:54:13 +02:00
Julien Fontanet
442f53d45e fix(xapi/utils/makeEditObject): use deep equality 2016-06-27 09:52:02 +02:00
Greenkeeper
68de1ca248 chore(package): update ws to version 1.1.1 (#348)
https://greenkeeper.io/
2016-06-26 20:19:47 +02:00
Greenkeeper
e16061141e chore(package): update d3-time-format to version 2.0.0 (#350)
https://greenkeeper.io/
2016-06-26 20:18:24 +02:00
Julien Fontanet
64cbe3d209 feat(build): delete dist before building 2016-06-26 17:47:56 +02:00
Julien Fontanet
f7b7c27b6c fix(host/storage): use long clicks for SR name edition 2016-06-25 09:10:22 +02:00
Julien Fontanet
c7af5b384c fix(xo/editSr): use camel case param
Fixes #1116
2016-06-25 09:09:12 +02:00
Olivier Lambert
436a9dfc14 5.0.1 2016-06-25 07:09:43 +02:00
Olivier Lambert
1d6d8ccb28 fix(ACLs): are available from Enterprise (#1117) 2016-06-25 01:09:06 +02:00
Julien Fontanet
7d0862ecfd fix(disclaimer): only from sources (#1119) 2016-06-25 01:08:18 +02:00
Julien Fontanet
ebdc6376d8 5.0.0 2016-06-24 18:34:31 +02:00
Julien Fontanet
68335123a1 feat(vm.create): all vm.set params are supported (#340) 2016-06-24 18:33:43 +02:00
Julien Fontanet
7de059919b Merge branch 'v5.x' into next-release 2016-06-24 18:22:54 +02:00
Julien Fontanet
25b18f4ef8 chore(package): update xo-acl-resolver to 0.2.1 2016-06-24 14:43:18 +02:00
Julien Fontanet
99727447ef 0.2.1 2016-06-24 14:32:25 +02:00
Julien Fontanet
e02cb56ee0 feat(VM-controller): inherits from its container 2016-06-24 14:32:16 +02:00
Julien Fontanet
dfd1fb86cb chore(tab-button): inline props 2016-06-24 14:05:15 +02:00
ABHAMON Ronan
847a92433f fix(host/storage): use TabButtonLink instead of Link (#1113) 2016-06-24 14:04:02 +02:00
Pierre Donias
53af4df47b feat(vms/new): fixes and multiple VMs creation (#1098) 2016-06-24 14:02:24 +02:00
Olivier Lambert
09db7c999e fix(he i18n): fix missing space 2016-06-24 14:01:50 +02:00
Denis Kalitviansky
1b4c958aba feat(i18n): Hebrew (#1112) 2016-06-24 13:44:05 +02:00
Fabrice Marsaud
9368d5df01 fix(backup/edit) (#1110) 2016-06-24 13:42:46 +02:00
Olivier Lambert
f3b5026190 fix(ACLs): update views to behave with missing objects (#1111) 2016-06-24 12:53:18 +02:00
ricardovilarinho
19dcd81639 feat(i18n): more Portugese (#1106) 2016-06-24 12:46:37 +02:00
Julien Fontanet
d38c171151 fix(home): add missing key prop 2016-06-24 11:53:32 +02:00
Julien Fontanet
af3049925f fix(SingleLineRow): behave with falsy children 2016-06-24 11:46:39 +02:00
Julien Fontanet
a79825d18c feat(menu): add some entries to non-admins 2016-06-24 11:20:22 +02:00
Olivier Lambert
c4b456b470 fix(home): broken OpenSource modal due to bad intl import 2016-06-24 11:15:09 +02:00
Julien Fontanet
ccdf28767a fix(build): various issues
- missing assets with npm run build
- some files had source maps even though it did not make sense
2016-06-24 11:05:14 +02:00
ABHAMON Ronan
2561f7d793 fix(home/storage): "add a storage" link style & label (#1109) 2016-06-24 10:52:36 +02:00
Fabrice Marsaud
57bd8c1a49 fix(settings/users): permission when creating user (#1108) 2016-06-24 09:58:38 +02:00
Julien Fontanet
8387e4ae04 chore(intl): remove unused messages 2016-06-23 20:03:41 +02:00
Julien Fontanet
5c02935017 fix(user): correctly select current lang 2016-06-23 20:01:56 +02:00
Julien Fontanet
726ffb9b1b feat(store): save lang in cookie 2016-06-23 19:59:18 +02:00
Olivier Lambert
5dcc3f4076 fix(i18n): various mistakes 2016-06-23 19:27:35 +02:00
Fabrice Marsaud
4639d7872f feat(backup/restore): translation (#1105) 2016-06-23 17:52:26 +02:00
Pierre Donias
71cb6af8c4 fix(intl): confirmOK, confirmCancel and alertOk (#1104) 2016-06-23 17:46:28 +02:00
Fabrice Marsaud
52060301bd feat(logs): use SortedTable (#1099) 2016-06-23 17:43:14 +02:00
Olivier Lambert
dfa3e6d8e4 feat(changelog): adding changelog file and changes for 5.0.0 2016-06-23 17:41:42 +02:00
ABHAMON Ronan
f38f3fe5c9 fix(self): message if no resource sets (#1100) 2016-06-23 17:13:47 +02:00
Fabrice Marsaud
24bf031270 feat(menu): add updater status icon (#1103) 2016-06-23 17:11:25 +02:00
ABHAMON Ronan
eeadd72e1f feat(host/storage): add button redirect to new/sr page (#1097) 2016-06-23 16:45:36 +02:00
ricardovilarinho
e4139bab04 Initial work on portuguese translation (#1102) 2016-06-23 16:34:50 +02:00
Fabrice Marsaud
7c7205849b feat(backup/restore): display number of backups per VM (#1101) 2016-06-23 16:24:36 +02:00
ABHAMON Ronan
03b2b13f14 feat(dashboard/stats): add weekly charts (#1093) 2016-06-23 15:53:44 +02:00
Olivier Lambert
8caf9f7fde feat(locales): add i18n PT and HE files 2016-06-23 15:50:19 +02:00
Julien Fontanet
5b8a5ac6b6 fix(create-locale): remove trailing comma 2016-06-23 15:43:34 +02:00
Julien Fontanet
4429bed1cf fix(intl/messages): xenToolsStatusValue description 2016-06-23 15:25:12 +02:00
Julien Fontanet
b9beda3484 fix(intl): export messages 2016-06-23 15:21:31 +02:00
Julien Fontanet
354c9bc927 feat(create-locale): tool to scaffold a new locale 2016-06-23 15:06:28 +02:00
Julien Fontanet
a2d88f7fbf chore(intl): split messages data 2016-06-23 15:05:53 +02:00
Olivier Lambert
83cad000e7 feat(job new): i18n 2016-06-23 12:30:29 +02:00
Fabrice Marsaud
1b78791aa9 feat(groups,users): UI improvements (#1094) 2016-06-23 12:20:17 +02:00
Olivier Lambert
2b05fbf6a0 feat(pool network): i18n 2016-06-23 12:17:59 +02:00
Olivier Lambert
7b677cddaf feat(jobs): xoa plans for jobs feature 2016-06-23 11:03:03 +02:00
Olivier Lambert
18a8fcaa70 feat(newSr,pool,updates): i18n 2016-06-23 10:46:27 +02:00
ABHAMON Ronan
dd1bc757d5 fix(SortedTable): better pagination/filter alignment (#1095) 2016-06-23 10:44:35 +02:00
Olivier Lambert
27ca0fdfcc fix(home): broken link for new VM button 2016-06-22 17:46:30 +02:00
Olivier Lambert
578de05a40 feat(logs): i18n 2016-06-22 17:38:31 +02:00
Olivier Lambert
cd3e1d6bd4 feat(job): i18n 2016-06-22 17:23:37 +02:00
Julien Fontanet
de160bb51b feat(xo): make all calls wait for authentication 2016-06-22 17:12:56 +02:00
ABHAMON Ronan
14417e14c0 fix(vm/snapshots): use ButtonGroup with action buttons (#1096) 2016-06-22 17:02:32 +02:00
Olivier Lambert
f2d8b4e444 feat(dashboard): i18n 2016-06-22 16:55:47 +02:00
Olivier Lambert
b7c41fee28 feat(restore backup): i18n 2016-06-22 16:35:15 +02:00
Olivier Lambert
4f0678d6a2 fix(new backup): forgotten i18n for reset word 2016-06-22 15:41:25 +02:00
Olivier Lambert
880c624935 feat(xoa-upgrade): i18n 2016-06-22 15:22:17 +02:00
Olivier Lambert
0fa0902262 feat(about): i18n 2016-06-22 15:12:07 +02:00
Fabrice Marsaud
a2ab3ccaee feat(jobs/scheduling) (#1032) 2016-06-22 14:51:37 +02:00
Fabrice Marsaud
77a0d1c2ff feat(settings/acls): use SortedTable (#1090) 2016-06-22 14:26:30 +02:00
Julien Fontanet
9ad615b0ff fix(Xapi#_waitObjectState): fix failure when object is initially missing 2016-06-22 12:20:22 +02:00
Olivier Lambert
7fdb022819 feat(backup restore): more explicit restore operation 2016-06-22 12:02:04 +02:00
Fabrice Marsaud
878a630b69 feat(backup/restore): better UI (#1081) 2016-06-22 11:41:50 +02:00
Pierre Donias
fbcfc69983 feat(host,pool): network management (#1084) 2016-06-22 10:01:51 +02:00
Olivier Lambert
a1bd327524 feat(about): hide xo version numbers for non admin users. Fix #877 2016-06-21 17:42:38 +02:00
Olivier Lambert
e62829debd fix(new-vm): using 'state' and not 'this' for SSH cloudConfig 2016-06-21 16:51:00 +02:00
Julien Fontanet
d9d669964f fix(xo/attachDiskToVm): camel casing and params order 2016-06-21 15:36:02 +02:00
Julien Fontanet
ced17b632a fix(editable/Text): do not add all props to the input element 2016-06-21 14:55:16 +02:00
Olivier Lambert
0aada62a5a feat(host,vm): use SortedTable for VM and host logs 2016-06-21 14:01:49 +02:00
Julien Fontanet
2fece7a8fe perf(selectors/createGetObjectMessages): better input dependency 2016-06-21 13:52:07 +02:00
Julien Fontanet
6680373c76 fix(VM/Logs): use correct selector creator 2016-06-21 13:52:07 +02:00
Olivier Lambert
68ae43fd72 feat(vm): add ISO disk drive selector in VM disk view 2016-06-21 13:40:47 +02:00
Julien Fontanet
12eaceb032 fix(xapi-objects-to-xo): fix CPUs.number when no tools 2016-06-21 13:19:29 +02:00
Julien Fontanet
6b6f452d06 feat(VM/Advanced): can edit number of current CPUs 2016-06-21 12:13:20 +02:00
Julien Fontanet
3263511b72 fix(Xapi#snapshotVm): fallback if quiesce failed
Fixes vatesfr/xo-web#1088
2016-06-21 11:21:01 +02:00
Julien Fontanet
75cae8c647 fix(Xapi#_updateObjectMapProperty): prepare XAPI param 2016-06-21 11:21:00 +02:00
Julien Fontanet
9991ef624c feat(Xapi#getObject): accept objects with _xapiId property 2016-06-21 11:21:00 +02:00
Julien Fontanet
489e9fce27 fix(xapi/index): work around Babel T2877 2016-06-21 11:21:00 +02:00
Julien Fontanet
0655628073 fix(xapi/index): incorrect import 2016-06-21 11:20:59 +02:00
Greenkeeper
7153ff17e8 chore(package): update modular-css to version 0.22.1 (#1087)
https://greenkeeper.io/
2016-06-21 09:16:12 +02:00
Fabrice Marsaud
9460822529 feat(vm.importBackup): returns the new VM id (#345) 2016-06-20 18:07:14 +02:00
Pierre Donias
0fde5a1b3d fix(new-vm): network instead of $network (#1085) 2016-06-20 17:17:08 +02:00
Julien Fontanet
b17fbdd19b fix(SortedTable): correctly pass a selector to createFilter. 2016-06-20 17:05:23 +02:00
Julien Fontanet
61ae522486 chore(xo): remove test function plop 2016-06-20 17:05:23 +02:00
Olivier Lambert
bd414ae9f2 fix(new-vm): send VDI id for ISO, stringify device for VDI 2016-06-20 15:36:59 +02:00
Olivier Lambert
7579db5876 feat(host): use SortedTable for patches (#1083) 2016-06-20 14:21:20 +02:00
Julien Fontanet
994ce8dab2 fix(log-error): add missing file 2016-06-20 13:12:46 +02:00
Julien Fontanet
e8a84dce7d chore(xo/purgePluginConfiguration): remove unused try/catch. 2016-06-20 13:11:24 +02:00
Julien Fontanet
fdca9eda90 fix(xo): display next connection attempt as warning 2016-06-20 13:11:24 +02:00
Julien Fontanet
e007009a00 feat(xo): logs all call errors 2016-06-20 13:11:24 +02:00
Julien Fontanet
1d5cc209dd feat(log-error): properly display an error in the console 2016-06-20 13:11:24 +02:00
Pierre Donias
09b18e1563 fix(vms/new): Display VDIs instead of SRs in ISO/DVD selector (#1082) 2016-06-20 09:53:00 +02:00
Fabrice Marsaud
363db0edea Create or attach disk and a VM, and change boot order with Drag&Drop (#1067)
* feat(vm): add & attach disks, boot order

* chore(vm): fix issues and use correct selectors predicates for SR/disks
2016-06-17 18:53:06 +02:00
Julien Fontanet
d02358ac0d chore(xapi): move utilities into dedicated module 2016-06-17 18:43:10 +02:00
Olivier Lambert
e500240a35 feat(visualizations): add a coming soon message 2016-06-17 17:48:46 +02:00
Pierre Donias
6694977b87 fix(form/Select): set a minimum width (#1080) 2016-06-17 15:23:45 +02:00
Pierre Donias
b173dc1f28 fix(Page): fix height (#1079) 2016-06-17 14:56:05 +02:00
Pierre Donias
aa91f5649f fix(vms/new): text field to set the cloud configuration (#1077) 2016-06-17 11:59:06 +02:00
ABHAMON Ronan
74efd563ab feat(xo-week-heatmap) (#1064) 2016-06-17 11:27:15 +02:00
Pierre Donias
b0b389fb4d fix(dashboard/overview): lint (#1078) 2016-06-17 11:26:32 +02:00
ABHAMON Ronan
366237a625 fix(XapiStats): fix unit for host free memory (#339) 2016-06-17 10:16:58 +02:00
Pierre Donias
e2d9131a07 feat(react-novnc): support clipboard (#1076) 2016-06-16 17:43:23 +02:00
Olivier Lambert
3b1c8216b9 feat(home): more info density on large screens 2016-06-16 17:00:03 +02:00
Julien Fontanet
7f259a43cf fix(home): handle disappearing filter during life 2016-06-16 15:28:32 +02:00
Julien Fontanet
874a504df3 feat(home): can display hosts 2016-06-16 15:09:08 +02:00
Julien Fontanet
6a4c6318e3 fix(form/Toggle): controlled/uncontrolled issues 2016-06-16 11:06:14 +02:00
Julien Fontanet
09bf2b87dc feat(form/Toggle): move into its own module 2016-06-16 11:05:36 +02:00
Olivier Lambert
9c5c9838ae chose(vm,host): use value for toggle 2016-06-16 10:47:15 +02:00
Julien Fontanet
2f2da18994 chore: remove some unnecessary logs 2016-06-16 09:22:26 +02:00
Olivier Lambert
3924033d9a feat(settings): read-only for server connection (#1074) 2016-06-15 18:00:31 +02:00
ABHAMON Ronan
d81e45e456 feat(IsoDevice) (#1071) 2016-06-15 17:42:15 +02:00
Pierre Donias
631a762b56 feat(host/tab-storage): each row of the table is a link to the storage (#1073) 2016-06-15 17:10:35 +02:00
Julien Fontanet
a9cf79942f feat(form/Toggle): can be used as a controlled component 2016-06-15 17:03:06 +02:00
Julien Fontanet
bd31476933 fix(Tooltip): fix import 2016-06-15 17:00:51 +02:00
Julien Fontanet
9b9e4c2ffa fix(select-objects): remove unused import 2016-06-15 16:44:48 +02:00
Julien Fontanet
ec93daac7e feat(Tooltip): accept a className prop 2016-06-15 16:08:03 +02:00
Julien Fontanet
3431b2dfb1 fix(Tooltip): stricter propTypes for children prop 2016-06-15 16:05:45 +02:00
Julien Fontanet
4270abaf1c feat(Tooltip): children prop is optional 2016-06-15 16:05:45 +02:00
Julien Fontanet
0bd288afbd feat(Tooltip): support a tagName prop 2016-06-15 16:05:45 +02:00
Julien Fontanet
b72d5d50a1 feat(select-objects/SelectTag): accept an objects prop 2016-06-15 16:05:45 +02:00
Pierre Donias
d51889c233 feat(utils/BlockLink): Ctrl-click or middle mouse click to open in new tab (#1070) 2016-06-15 14:29:29 +02:00
Olivier Lambert
332b093ee9 feat(copyVM): include Edition check 2016-06-15 13:10:53 +02:00
Pierre Donias
8be332208f feat(xo): copyVm() (#1069) 2016-06-15 11:51:35 +02:00
ABHAMON Ronan
85d1188628 feat(react-novnc): can send Ctrl+Alt+Del (#1068) 2016-06-15 11:28:44 +02:00
Julien Fontanet
56896996c3 feat(selectors/createGetObjectsOfType): type can be a selector 2016-06-15 10:32:21 +02:00
Julien Fontanet
896374e069 feat(selectors/createSortForType): type can be a selector 2016-06-15 10:32:21 +02:00
Julien Fontanet
ac36505fb2 fix(home): remove extranous space in filter 2016-06-15 10:32:21 +02:00
Julien Fontanet
d36df1a8ae chore(home): move VmItem in its own module 2016-06-15 10:32:21 +02:00
ABHAMON Ronan
edd939c069 feat(react-novnc): auto reconnect (#1065) 2016-06-15 10:04:41 +02:00
Greenkeeper
ecd30db215 chore(package): update d3-time-format to version 1.0.0 (#338)
https://greenkeeper.io/
2016-06-15 08:40:56 +02:00
Olivier Lambert
f80225ba54 feat(updates): current version in updater view 2016-06-14 18:48:39 +02:00
Olivier Lambert
3ccd87b369 fix(self): use formatSize for human readable disk and RAM available 2016-06-14 18:08:32 +02:00
ABHAMON Ronan
59d3dd9255 feat(vm): VM export (#1066) 2016-06-14 17:27:57 +02:00
Pierre Donias
392f08059d feat(vms/new): VM creation page (#1058) 2016-06-14 17:05:10 +02:00
Julien Fontanet
0d5c9a2bba feat(home): connect pools/hosts/tags selects 2016-06-14 16:39:10 +02:00
Julien Fontanet
f27de8015b feat(complex-matcher): -addPropertyClause, +getPropertyClausesStrings, +setPropertyClause 2016-06-14 16:39:10 +02:00
Julien Fontanet
3b7bdee814 fix(complex-matcher/parse): do not fail on empty input 2016-06-14 16:39:10 +02:00
Julien Fontanet
397ed9d581 feat(complex-matcher): $ char is allowed in raw strings 2016-06-14 16:39:10 +02:00
Julien Fontanet
a098880669 fix(selectors/createGetTags): make it work for real :) 2016-06-14 16:39:10 +02:00
Julien Fontanet
047d4cb650 fix(select-objects/SelectTags): fix label 2016-06-14 16:39:10 +02:00
Julien Fontanet
736904c579 feat(select-objects): can be used as controlled inputs 2016-06-14 16:39:10 +02:00
Olivier Lambert
e883c668b5 feat(XOA): VM import / backups (#1063) 2016-06-14 15:29:47 +02:00
Julien Fontanet
14181aa8a7 fix(selectors): fix pool ordering 2016-06-14 11:53:08 +02:00
Olivier Lambert
0b1ba99afa feat(XOA): Free edition(#1062) 2016-06-14 10:44:44 +02:00
Olivier Lambert
88a6215939 feat(health): use SortedTable (#1057) 2016-06-13 12:08:58 +02:00
Greenkeeper
d5ebd33038 chore(package): update globby to version 5.0.0 (#1056)
https://greenkeeper.io/
2016-06-13 09:47:34 +02:00
ABHAMON Ronan
b2ac214c0f feat(form/Select): advanced virtualized select implementation (#1052) 2016-06-13 09:44:38 +02:00
Olivier Lambert
3dee41a511 feat(tasks): better task view. (#1055)
* feat(tasks): better task view
2016-06-10 17:26:30 +02:00
ABHAMON Ronan
934818c07d feat(backup/new): disaster recovery accept an SR (#1054)
Fixes #955
2016-06-10 15:49:21 +02:00
Pierre Donias
4dc614a58e fix(ActionButton): oneOfType expects an array (#1053) 2016-06-10 15:42:02 +02:00
Greenkeeper
35ea095b75 chore(package): update chartist-plugin-legend to version 0.3.1 (#1051)
https://greenkeeper.io/
2016-06-10 12:59:01 +02:00
ABHAMON Ronan
1980854f6f feat(Xapi#importDeltaVm): attach VIFs to original networks if available (#335)
Fixes vatesfr/xo-web#1016
2016-06-10 11:05:54 +02:00
Olivier Lambert
ae1a4c73b3 fix(issue template): use the word "current" instead of "actual" 2016-06-09 22:21:50 +02:00
ABHAMON Ronan
b58dbe89be feat(vms/import) (#1045) 2016-06-09 17:58:12 +02:00
Julien Fontanet
7d4f006c25 feat(Xapi#exportDeltaVm): inject network/SR UUIDs in VIF/VDI records 2016-06-09 17:25:02 +02:00
Julien Fontanet
b697be2383 fix(Xapi#_snapshotVm): returns the up-to-date snapshot record 2016-06-09 17:17:14 +02:00
ABHAMON Ronan
1b4551b622 fix(SortedTable): select first page when changing filter (#1050) 2016-06-09 16:57:30 +02:00
Fabrice Marsaud
72a8f819d3 fix(backup/overview): fix display pending jobs (#1049) 2016-06-09 15:01:27 +02:00
ABHAMON Ronan
df8e16379c fix(select-objects): remove option margin when no containers (#1047) 2016-06-09 14:15:06 +02:00
Julien Fontanet
7dbbc7e25c fix(invoke): fix optim when called without args 2016-06-09 13:36:07 +02:00
Julien Fontanet
1eaae70adb feat(editable/Text): support validation related props 2016-06-09 13:36:07 +02:00
Julien Fontanet
d4a61782c4 chore(menu): menu prefix for icons is optional 2016-06-09 13:35:12 +02:00
Fabrice Marsaud
0e39c6f895 fix(SelectRemote) (#1046) 2016-06-09 12:26:31 +02:00
Fabrice Marsaud
fcc3ede485 fix(settings/remotes): use file type instead of local (#1044) 2016-06-09 10:45:18 +02:00
Fabrice Marsaud
f001e7e713 xo-remote-parser 0.2 2016-06-09 10:28:13 +02:00
Olivier Lambert
3fb8fae821 feat(selectHost): display hostname directly. Continue to group per pools 2016-06-09 10:13:37 +02:00
Fabrice Marsaud
143e53c43f chore(package): update xo-remote-parser to version 0.3.0 (#333) 2016-06-08 17:26:08 +02:00
Fabrice Marsaud
349f3185c5 feat(settings/remotes): edition (#1040) 2016-06-08 17:24:41 +02:00
Julien Fontanet
02f75fb2e1 0.3.0 2016-06-08 17:17:45 +02:00
Fabrice Marsaud
6cced719dc Handling a missing leading slash in nfs path 2016-06-08 17:08:54 +02:00
Olivier Lambert
b457b8409f feat: most of the views now have a header (#1042) 2016-06-08 17:07:43 +02:00
Olivier Lambert
c61e5e1ac8 feat(health): use sorted Table for alarms (#1041) 2016-06-08 15:42:39 +02:00
Fabrice Marsaud
45ec0b9b01 No more mount matters in nfs remotes + tests 2016-06-08 15:05:09 +02:00
ABHAMON Ronan
9e60f9d9fd feat(SortedTable): add filter (#1039) 2016-06-08 14:48:34 +02:00
Julien Fontanet
2451ac3ade feat(parse): local type is now file 2016-06-08 14:38:31 +02:00
Julien Fontanet
45a94fe73d feat(parse): only accepts a string 2016-06-08 14:36:10 +02:00
Julien Fontanet
6dde1ade01 fix(xo-server-logs): fix broken require since Babel 6 2016-06-08 11:12:45 +02:00
ABHAMON Ronan
a95d40078f feat(SortedTable): pagination can be injected in a container (#1038) 2016-06-08 10:11:18 +02:00
Greenkeeper
d4de391ac5 chore(package): update d3-time-format to version 0.4.0 (#332)
https://greenkeeper.io/
2016-06-08 09:05:45 +02:00
Greenkeeper
af15f4bc6a chore(package): update xo-acl-resolver to version 0.2.0 (#330)
https://greenkeeper.io/
2016-06-07 16:46:23 +02:00
Julien Fontanet
515798bd9f feat(selectors): filter objects by permissions 2016-06-07 16:45:32 +02:00
Julien Fontanet
e1173e6565 0.2.0 2016-06-07 16:27:34 +02:00
Julien Fontanet
46f6911ef8 feat(README): add usage 2016-06-07 16:27:05 +02:00
Julien Fontanet
7629bf5be2 feat: simplify use for single object 2016-06-07 16:26:52 +02:00
Julien Fontanet
20b28135a3 chore(store): do not connect to XOA updaters in Sources plan 2016-06-07 15:57:46 +02:00
Julien Fontanet
33d2b8bbeb chore(dev-tools): move into store 2016-06-07 15:57:46 +02:00
Julien Fontanet
7c2059af2b fix(xoa-updater/blockXoaAccess): typo 2016-06-07 15:57:46 +02:00
ABHAMON Ronan
1e0f57bd1a feat(SortedTable): support pagination (#1036) 2016-06-07 14:07:29 +02:00
Olivier Lambert
9484f1dbe6 fix(new sr): wrong URL for srs view 2016-06-07 10:29:06 +02:00
Julien Fontanet
658766c9e4 fix(home): fix variable name 2016-06-07 10:22:25 +02:00
Julien Fontanet
fb17de7988 0.2.3 2016-06-07 10:10:51 +02:00
Fabrice Marsaud
32f4d42e59 fix(parse): revert to 0.2 API (#10) 2016-06-07 10:10:20 +02:00
Fabrice Marsaud
d4ace24caa fix(job.set): protects userId from modification (#329) 2016-06-07 09:25:15 +02:00
Julien Fontanet
0031c2a9b7 0.2.2 2016-06-06 17:57:22 +02:00
Fabrice Marsaud
509e99913a fix(parse): fix tests and many issues (#9) 2016-06-06 17:56:59 +02:00
Julien Fontanet
c639cfcfd9 fix(parse): do not edit the remote object inplace 2016-06-06 17:17:57 +02:00
Julien Fontanet
b140a2ca3e chore(tests): refactor data 2016-06-06 17:17:19 +02:00
Julien Fontanet
9e47d9acf1 chore(migrate-vm-modal): move into xo 2016-06-06 15:37:04 +02:00
Julien Fontanet
5a1247c021 chore(selectors): getAreObjectsFecthed() → areObjectsFetched() 2016-06-06 15:30:50 +02:00
Julien Fontanet
a8b7972f3c chore: use Container instead of .container-fluid 2016-06-06 14:31:26 +02:00
Fabrice Marsaud
836c2127f7 chore(backup/restore): refactor using render-xo-item (#1023) 2016-06-06 14:28:24 +02:00
Olivier Lambert
6cef200aed feat(menu,about): set content depending on XOA plan (#1033) 2016-06-06 14:21:02 +02:00
Julien Fontanet
c9c80b1d62 fix(xoa-updater): fix import lodash/forEach 2016-06-06 13:45:55 +02:00
Julien Fontanet
04328bc2d1 fix(new/sr): fix import lodash/trim 2016-06-06 13:45:39 +02:00
Julien Fontanet
d909d0eeeb fix(package): update xo-remote-parser to 0.2.1 2016-06-06 13:39:22 +02:00
Julien Fontanet
c5ab47fa66 chore(package): fix deps order 2016-06-06 13:38:16 +02:00
Julien Fontanet
d60051b629 fix(package): update xo-remote-parser to 0.2.1 2016-06-06 13:37:47 +02:00
Julien Fontanet
aa448e7a41 0.2.1 2016-06-06 13:33:33 +02:00
Fabrice Marsaud
220750f887 fix(SMB): use of @ and : chars in passwords (#8)
Fixes #4.
2016-06-06 12:11:29 +02:00
Julien Fontanet
80f5e913ec chore(users) 2016-06-06 11:28:35 +02:00
Julien Fontanet
57eca31a9c feat(utils/addSubscriptions): decorator to inject subscriptions 2016-06-06 11:28:35 +02:00
Julien Fontanet
c645fc7ad1 feat(utils/connectStore): can handle an object of selectors 2016-06-06 11:28:35 +02:00
Julien Fontanet
78b524b2e8 chore: always user selector to access state 2016-06-06 11:28:35 +02:00
Fabrice Marsaud
1ff1b6931b feat(xoa-updater): initial integration (#952) 2016-06-06 11:23:57 +02:00
Fabrice Marsaud
808cc5d8d0 fix: file protocol starts with 3 / (#6)
Fixes #7
2016-06-06 10:57:27 +02:00
Olivier Lambert
29ac883616 feat(xo-app,home): add nice loading icon 2016-06-03 22:22:56 +02:00
Julien Fontanet
467a147603 fix(grid/Row): remove flex which broke columns collapse 2016-06-03 20:36:13 +02:00
Julien Fontanet
7b49b6304c fix(xo-app): fix body scrolling 2016-06-03 20:35:00 +02:00
Olivier Lambert
25991027b9 fix(home): links to import and restore 2016-06-03 19:48:45 +02:00
Olivier Lambert
fce83dfa66 chore(home): text outside links 2016-06-03 19:27:36 +02:00
Olivier Lambert
8603d5d468 feat(home): using card component 2016-06-03 19:15:52 +02:00
Julien Fontanet
22ff330ee7 fix(package): update @marsaud/smb2 to 0.7.1 2016-06-03 18:22:37 +02:00
Julien Fontanet
bd17f85140 chore(home): do not use btn class on links 2016-06-03 17:56:00 +02:00
Julien Fontanet
037dddb945 fix(messages): fix a typo 2016-06-03 17:52:15 +02:00
Julien Fontanet
dd2151e611 fix(grid/Col): should always have a class 2016-06-03 17:51:56 +02:00
Julien Fontanet
a1e0cdadd6 fix(xo-app): do not set flex on the body container 2016-06-03 17:51:34 +02:00
Julien Fontanet
8d36efa66c chore(Col): do not set the size when full width 2016-06-03 17:35:41 +02:00
Julien Fontanet
b9a12a6dcc feat(Debug): can display promises 2016-06-03 17:24:56 +02:00
Olivier Lambert
08e4fe9990 feat(about): add about info (#1031) 2016-06-03 17:24:07 +02:00
ABHAMON Ronan
2333fec181 feat(SortedTable) (#1030) 2016-06-03 17:22:22 +02:00
Olivier Lambert
05676a78e3 feat(home): handle loading, no servers or no VMs (#1028) 2016-06-03 16:35:55 +02:00
Julien Fontanet
02aaae240c feat(CenterPanel): to use when no data for instance 2016-06-03 11:30:48 +02:00
Julien Fontanet
158924fe3c chore(xo-app): remove unnecessary style 2016-06-03 10:17:36 +02:00
Julien Fontanet
0341b926b9 chore(xo-app/page): move styles to CSS module 2016-06-03 10:12:03 +02:00
Julien Fontanet
69d1f93ea4 feat(xo-app): remove body padding 2016-06-03 10:11:03 +02:00
Julien Fontanet
423fb56ae0 fix(reducers): add missing change 2016-06-02 18:25:48 +02:00
Julien Fontanet
c5fc8d437f fix(selectors/getAreObjectsFetched): previous test was not good enough 2016-06-02 18:24:44 +02:00
Julien Fontanet
0811addf9c fix(selectors/getAreObjectsFetched): use the correct test 2016-06-02 18:18:31 +02:00
Julien Fontanet
e6f8108dc0 feat(selectors/getAreObjectsFetched) 2016-06-02 18:06:20 +02:00
Julien Fontanet
4aa4a8c75d feat(Servers): add spaces in creation form 2016-06-02 18:03:27 +02:00
Julien Fontanet
bbe0467d16 feat(Server): use editable/Password 2016-06-02 18:03:27 +02:00
Julien Fontanet
88ca69138b feat(Server): use ActionRowButton 2016-06-02 18:03:27 +02:00
Julien Fontanet
6a0d9c8805 feat(Users): use ActionButton as submit 2016-06-02 18:01:01 +02:00
Julien Fontanet
1a57f9f134 feat(Users): use ActionRowButton 2016-06-02 18:01:01 +02:00
Julien Fontanet
109aedd3ae feat(ActionButton): redirectOnSuccess can be a function 2016-06-02 18:01:01 +02:00
ABHAMON Ronan
bd9f9344e5 fix(backup jobs): edition (#1026) 2016-06-02 15:23:26 +02:00
ABHAMON Ronan
5190873e99 fix(json-schema-input): correctly handle optional array/object (#1027)
Fixes #1000.
2016-06-02 15:17:51 +02:00
Julien Fontanet
c5fe7eb0dd chore(Groups): remove unused import 2016-06-02 13:51:05 +02:00
Fabrice Marsaud
fef1b14d69 fix a xo fn 2016-06-02 13:48:05 +02:00
Julien Fontanet
472fc02533 feat(Groups): use editable/Text for name 2016-06-02 13:47:39 +02:00
Julien Fontanet
ed29524cf3 fix(xo): resolveIds handles non objects 2016-06-02 13:46:50 +02:00
Julien Fontanet
69f35436c2 feat(form/Password): enableGenerator defaults to false 2016-06-02 13:46:19 +02:00
Fabrice Marsaud
a0ca1cddb5 feat(ACLs) (#1011) 2016-06-02 13:19:35 +02:00
Greenkeeper
be4ffd8308 chore(package): update notifyjs to version 2.0.1 (#1025)
https://greenkeeper.io/
2016-06-02 12:04:35 +02:00
Julien Fontanet
8e246f08ee fix(xo subscriptions): fix running condition 2016-06-02 11:45:24 +02:00
Julien Fontanet
73eda65300 fix(xo subscriptions): wait for previous call to finish 2016-06-02 10:32:50 +02:00
Julien Fontanet
be4df02844 fix(README): fix XOA_PLAN example 2016-06-02 10:27:47 +02:00
Julien Fontanet
7de461319f feat(XOA_PLAN): environment var for different builds 2016-06-02 10:25:58 +02:00
Olivier Lambert
970fc16aab feat(vm): working VDI live migration 2016-06-01 18:35:09 +02:00
Olivier Lambert
5db2c5804d fix(backup): typo for button size 2016-06-01 17:41:05 +02:00
Olivier Lambert
6c2924a08a fix(backup): typo in button style 2016-06-01 17:41:05 +02:00
Pierre Donias
32511fe6a0 feat(editable/XoSelect) (#1020) 2016-06-01 17:22:39 +02:00
Olivier Lambert
94d5b0f083 chore(backup): use the appropriate components 2016-06-01 17:22:25 +02:00
Julien Fontanet
0e957b9566 fix(renderXoItemFromId): handle missing object 2016-06-01 17:01:53 +02:00
Julien Fontanet
ec93f21f0a fix(renderXoItemFromId): fix incorrect var name 2016-06-01 17:01:41 +02:00
Julien Fontanet
bbc4f3beb4 chore(xo): move subscription refreshes in related methods 2016-06-01 16:54:21 +02:00
Julien Fontanet
c271a25a51 feat(selectors/createFilter): if predicate is false, empty collection is returned 2016-06-01 16:35:09 +02:00
Julien Fontanet
c986bf0c46 chore(common): group multiple-files modules in dirs 2016-06-01 16:35:09 +02:00
ABHAMON Ronan
6f994b75e5 feat(backups): deletion & redirect after creation (#1019) 2016-06-01 16:30:40 +02:00
Olivier Lambert
a227039260 feat(vm): allow VDI remove, forget and disconnect 2016-06-01 14:37:00 +02:00
Pierre Donias
ee38c07a3f feat(form/SizeInput): new component for size input (#1017) 2016-06-01 11:15:05 +02:00
ABHAMON Ronan
9678ebd71e chore(select-objects): major refactoring (#1001) 2016-06-01 10:43:38 +02:00
Pierre Donias
82ce0d3461 feat(vm): redirect to home page when VM no longer exists (#1018)
feat(vm): redirect to home page when VM no longer exists
2016-05-31 18:39:03 +02:00
Olivier Lambert
8315c79ef7 feat(host): display the date for license expiry value 2016-05-31 17:25:35 +02:00
Olivier Lambert
dd62bef66d feat(host): expose correct timestamp for license expiry value 2016-05-31 17:24:49 +02:00
Olivier Lambert
69cb6d30b5 feat(VM): VDIs edition (#1015) 2016-05-31 12:27:16 +02:00
Julien Fontanet
f4beef514e fix(xo subscriptions): do not notify if no results yet 2016-05-31 09:16:52 +02:00
Olivier Lambert
f002677134 feat(vm,host): use copiable 2016-05-30 18:48:54 +02:00
Olivier Lambert
6270d2d3af feat(sr,host): add actions on PBDs (#1010) 2016-05-30 18:35:14 +02:00
Julien Fontanet
83625e4ba7 fix(editable/Number): ensure onChange gets a number 2016-05-30 18:21:42 +02:00
Julien Fontanet
d039112b5b feat(xo subscription): notify ASAP when data available 2016-05-30 17:14:24 +02:00
Julien Fontanet
d8481af288 feat(xo subscription): only notify on changes 2016-05-30 17:14:24 +02:00
Julien Fontanet
ea902c1073 fix(xo subscriptions): do not refresh if no subscribers 2016-05-30 17:14:24 +02:00
Julien Fontanet
db62c18a39 fix(xo subscriptions): avoid potential race condition
The subscription could still be active if all the subscriber
unsubscribed at the event reception.
2016-05-30 17:14:24 +02:00
Julien Fontanet
d004e2f759 feat(Copiable) 2016-05-30 17:14:24 +02:00
Julien Fontanet
1f7e457c64 fix(editable/Number): fix size when starting edition 2016-05-30 15:04:52 +02:00
Julien Fontanet
4eae9398d8 fix(editable): fix undo button 2016-05-30 14:58:11 +02:00
Olivier Lambert
4766121570 chore(migrate modal): remove useless message and i18n 2016-05-30 14:57:02 +02:00
Olivier Lambert
3180641e33 feat(sr): add usage and free space 2016-05-30 14:22:53 +02:00
Julien Fontanet
9273002905 ùchore(Tasks): remove unused import 2016-05-30 12:47:59 +02:00
Julien Fontanet
3fc9c5ec90 feat(Tasks): basic tasks list 2016-05-30 12:42:22 +02:00
Julien Fontanet
3266cea1d6 chore(package): update react-router to version 3.0.0-alpha.1 2016-05-30 12:41:52 +02:00
Julien Fontanet
97839c06dc chore(Menu): remove incorrect log 2016-05-30 11:58:32 +02:00
Olivier Lambert
304f290e42 feat(Menu): add tasks link (#1005) 2016-05-30 11:40:35 +02:00
Julien Fontanet
e7feb99f8d feat(vm.create): clone param may be use to disable cloning (#318)
See vatesfr/xo-web#960
2016-05-30 11:34:39 +02:00
Julien Fontanet
6358accece fix(plugin.configure): correctly handle undefined 2016-05-30 11:12:11 +02:00
Julien Fontanet
52a241f300 chore(ActionToggle): use btnStyle prop 2016-05-30 10:41:32 +02:00
Julien Fontanet
1c1ea0dcc4 chore(Menu): clean up resize handler code a bit 2016-05-30 10:41:32 +02:00
Julien Fontanet
d998b384e8 chore(ActionToggle): rewritten as stateless component 2016-05-30 10:41:32 +02:00
Olivier Lambert
9184afa6de feat(sr): add various actions (#1002)
* feat(sr,xojs): add SR actions

* naming fix

* typo

* remove SR

* working

* fix

* fix

* noop fixes
2016-05-27 19:07:44 +02:00
Olivier Lambert
9ce8a24eea feat(sr): add disconnect and connect all PBDs to a SR (#324) 2016-05-27 18:31:09 +02:00
Pierre Donias
3e1b4d724f feat(xo/migrateVm): advanced dialog to select host (#993) 2016-05-27 18:21:42 +02:00
Julien Fontanet
4d0673f489 feat(sr.forget): automatically disconnect PBDs (#323) 2016-05-27 18:15:09 +02:00
Fabrice Marsaud
5b6f50b25b feat(backups): restoration (#996) 2016-05-27 17:56:30 +02:00
Fabrice Marsaud
b757025359 feat(sr addition) (#971) 2016-05-27 17:06:08 +02:00
Julien Fontanet
02e1a32fae feat(README) 2016-05-27 17:03:03 +02:00
Julien Fontanet
d1690bda81 Initial commit 2016-05-27 17:00:49 +02:00
Olivier Lambert
52e97edbd5 feat(vm,home): add color for OS icons 2016-05-27 15:15:16 +02:00
Olivier Lambert
def88db128 feat(backup overview): i18n 2016-05-27 15:06:58 +02:00
Olivier Lambert
fbe1e6a7d5 fix(vm): missing parameters and wrong value for set_memory_static_max 2016-05-27 15:03:49 +02:00
Fabrice Marsaud
d04702e5d4 feat(backups/overview): add logs (#995) 2016-05-27 14:18:23 +02:00
Julien Fontanet
f6407771b5 feat(Icon): accepts className prop 2016-05-27 13:28:58 +02:00
Julien Fontanet
f6a6e125b6 fix(editable/Select): correctly set default value 2016-05-27 13:24:09 +02:00
Julien Fontanet
2303b8a89f feat(loading): center message 2016-05-27 13:16:10 +02:00
Julien Fontanet
93f286b6ac chore(package): remove unused react-router-redux 2016-05-27 13:16:10 +02:00
Julien Fontanet
75e5f931eb chore(store): clarify Xo connection 2016-05-27 13:16:09 +02:00
Olivier Lambert
b215e89572 fix(vm): use Number component instead of Text for vCPU max number edition 2016-05-27 10:18:18 +02:00
Julien Fontanet
07a7e8cf0a feat(selectors/createPager): n can be a selector as well 2016-05-27 10:04:17 +02:00
Olivier Lambert
52000edd7d feat(vm): handle correctly suspended VMs 2016-05-27 09:58:53 +02:00
Greenkeeper
4ed02ca501 chore(package): update cookie to version 0.3.0 (#322)
https://greenkeeper.io/
2016-05-27 04:36:35 +02:00
ABHAMON Ronan
3e4c07c86f feat(self-service): dashboard and management (#992) 2016-05-26 18:20:09 +02:00
Olivier Lambert
92ce69c603 feat(meter): style (#994) 2016-05-26 17:06:01 +02:00
Olivier Lambert
a338e0a3f1 fix(tags): clashing component names tags/xo-tags/label 2016-05-26 13:50:56 +02:00
Julien Fontanet
af245ed9fe fix(log.delete): id can be an array 2016-05-26 13:34:47 +02:00
Fabrice Marsaud
143e09b65f feat(settings): remote management (#975) 2016-05-26 11:46:22 +02:00
Olivier Lambert
e5cc5abdc9 feat(theme) (#978) 2016-05-26 10:31:49 +02:00
Fabrice Marsaud
dfc96ebb99 feat(xo-app): Open Source disclaimer (#972) 2016-05-26 10:24:28 +02:00
Julien Fontanet
9397d0121d perf(select-objects/SelectVm): improve connectStore 2016-05-25 18:33:11 +02:00
Julien Fontanet
d8a1f3c73a feat(home): auto open pools/hosts selects 2016-05-25 13:07:15 +02:00
Julien Fontanet
a07cb425a4 fix(form/Range): uncontrolled therefore value → defaultValue 2016-05-25 13:07:15 +02:00
Julien Fontanet
a89b33dfdf chore(host): _isRunning is a property 2016-05-25 13:07:15 +02:00
Olivier Lambert
486d33448b feat(host): toggle and other improvements in advanced tab 2016-05-25 12:06:33 +02:00
Julien Fontanet
2299d397cb feat(messages): possibility to add props to the FormattedMessage 2016-05-25 11:04:53 +02:00
Julien Fontanet
0173c4709f fix(settings/server): password edition 2016-05-25 11:04:53 +02:00
Olivier Lambert
42fdf8b61f feat(form): boolean toggle (#985) 2016-05-25 11:04:21 +02:00
Greenkeeper
0253723652 chore(package): update ava to version 0.15.0 (#987)
https://greenkeeper.io/
2016-05-25 09:58:59 +02:00
Olivier Lambert
5ca51d3510 feat(vm): edition of number of CPUs (#984) 2016-05-24 18:00:06 +02:00
Julien Fontanet
466dc0127d fix(xo): subscriptions wait for sign in 2016-05-24 17:52:04 +02:00
Julien Fontanet
32f610485c fix(editable): anything can be used as children 2016-05-24 17:42:20 +02:00
Olivier Lambert
429e1b54ee feat(vm): edition in advanced tab (#983) 2016-05-24 16:51:50 +02:00
Julien Fontanet
fc86a3e882 fix(vm): always consider memory dynamic max when updating resource set 2016-05-24 16:22:55 +02:00
Julien Fontanet
f9109edcf1 fix(vm.set): memoryMax should update resource set 2016-05-24 16:21:21 +02:00
Julien Fontanet
ec100e1a91 fix(vm.set): memoryMax should change dynamic max 2016-05-24 16:20:25 +02:00
ABHAMON Ronan
268c037487 feat(select-objects): connected to store and accept an optional predicate (#981) 2016-05-24 15:45:28 +02:00
Julien Fontanet
746c5f4a79 fix(vm.set): cpusMax (shame) 2016-05-24 15:13:53 +02:00
Julien Fontanet
c146f3105e fix(host/stats): remove unused import 2016-05-24 15:09:21 +02:00
Julien Fontanet
81e0c04722 feat(messages): a render function can be passed 2016-05-24 14:44:57 +02:00
Julien Fontanet
b2611728a1 fix(vm): fix indent 2016-05-24 14:38:11 +02:00
Julien Fontanet
fc6cc4234d chore(vm.set): fix some comments 2016-05-24 14:33:40 +02:00
Julien Fontanet
7706c1cb63 feat(vm.set): memoryStaticMax 2016-05-24 14:33:02 +02:00
Julien Fontanet
4d7a07220c feat(vm.set): memoryMax increase static max if necessary 2016-05-24 14:32:14 +02:00
Julien Fontanet
436875f7dc fix(vm.set): memoryMin should not change static min 2016-05-24 14:30:26 +02:00
Julien Fontanet
21c6f53ecc fix(vm.set): cpusMax 2016-05-24 14:23:21 +02:00
Olivier Lambert
5d156695d2 feat(vm): memory limits (#980) 2016-05-24 12:55:35 +02:00
Julien Fontanet
f71438347c feat(selectors/createGetObjectsOfType): add groupBy() method 2016-05-24 12:41:17 +02:00
Pierre Donias
a3081d607f fix(Editable/Text): use value instead of children since children is not required (#982) 2016-05-24 12:06:38 +02:00
Julien Fontanet
ca81f445b9 fix(selectors/createTags): more complete stub 2016-05-24 11:56:24 +02:00
Julien Fontanet
5472be8b72 4.17.0 2016-05-24 11:51:15 +02:00
Julien Fontanet
d22542fcf3 Revert "fix(leveldown): fix leveldown to version 1.4.4"
This reverts commit 5fa4c95480.
2016-05-24 11:50:36 +02:00
Julien Fontanet
1d8341eb27 Merge branch 'next-release' into stable 2016-05-24 11:49:47 +02:00
Olivier Lambert
1c22ce6d76 feat(home): add bold for select sort option (#979) 2016-05-24 11:07:05 +02:00
Pierre Donias
a0d482ba88 feat(Editable): Size component (#966) 2016-05-24 10:13:51 +02:00
Pierre Donias
0c050cc053 feat(SingleLineRow): columns are centered vertically (#973) 2016-05-24 10:12:17 +02:00
Olivier Lambert
9645d624f2 fix(messages): typo on number 2016-05-23 19:14:56 +02:00
Julien Fontanet
f29cb94d9f fix(selectors/createPicker): typo 2016-05-23 17:37:21 +02:00
Julien Fontanet
e239206626 feat(selectors): hide all objects to non admins 2016-05-23 17:25:28 +02:00
Julien Fontanet
35d1065eaf feat(menu): Sign out 2016-05-23 17:25:08 +02:00
Julien Fontanet
8384d6f9d7 fix(messages): vars must be explicitely marked as number 2016-05-23 17:20:25 +02:00
Julien Fontanet
5b3282ba51 perf: major rework of reducers and selectors (#976) 2016-05-23 16:29:23 +02:00
Julien Fontanet
1897a7ada3 fix(log.get): only usable by admins 2016-05-23 16:18:21 +02:00
Julien Fontanet
a048698c66 feat(log.*): add params schemas 2016-05-23 16:17:54 +02:00
Julien Fontanet
f891e57f4a fix(xapi-objects-to-xo): a SR should always have a container 2016-05-23 16:00:51 +02:00
Olivier Lambert
bd1043f034 feat(home): add more bulk actions (#974) 2016-05-23 13:47:12 +02:00
Olivier Lambert
fcc590e48a feat(vm.snapshot): name param is optional (#320) 2016-05-23 12:56:20 +02:00
Julien Fontanet
9a02a2a65b fix(vm.set): fix call to $isVmRunning
Fixes #319
2016-05-23 10:02:34 +02:00
Julien Fontanet
536a6c5c60 feat(vm.rollingDrCopy): accepts a sr param (#315)
See vatesfr/xo-web#955
2016-05-21 14:24:16 +02:00
Julien Fontanet
86a6871ee8 fix(vm.set): correctly change min dynamic memory if necessary (#317)
Fixes vatesfr/xo-web#970
2016-05-21 14:14:57 +02:00
Julien Fontanet
c847dcec15 fix(vm/general): remove test icon 2016-05-21 13:53:15 +02:00
Julien Fontanet
f66994f0b5 fix({host,vm}/console): better display when no stats available 2016-05-21 13:45:01 +02:00
Julien Fontanet
eba27f1823 fix(backup/new): use standard icon on save button 2016-05-21 13:45:01 +02:00
Julien Fontanet
ad1bbb2a00 fix(utils/osFamily): behaves if osName is undefined 2016-05-21 13:45:01 +02:00
Julien Fontanet
42506ab37d chore: rationalize whitespace usage 2016-05-21 13:45:01 +02:00
Julien Fontanet
6bae33826d chore(icons): always use Icon 2016-05-21 13:44:56 +02:00
Julien Fontanet
914c2b89c5 feat(icons): keep using Linux icon for CoreOS 2016-05-21 13:42:47 +02:00
Julien Fontanet
6046045151 feat(vm.createInterface): position param is now optional 2016-05-21 13:11:51 +02:00
Olivier Lambert
e79926cf29 fix(vm): check if vm.addresses exists 2016-05-21 13:09:40 +02:00
Olivier Lambert
1f15d2c736 fix(vm): i18n shorter button names 2016-05-21 13:03:37 +02:00
Olivier Lambert
fadd27fd23 fix(vm): better display when tools not present (#968) 2016-05-21 13:02:44 +02:00
Julien Fontanet
d5aeb8db55 feat(icons): add CoreOS 2016-05-21 12:02:23 +02:00
Pierre Donias
d5dbdd9986 fix(home): fix false icon attribute in Icon (#967) 2016-05-20 18:19:49 +02:00
Pierre Donias
352c977dc7 feat(home): add tick next to current sort criteria in dropdown (#965) 2016-05-20 16:55:04 +02:00
Julien Fontanet
bf008eba99 style(home): remove double line breaks 2016-05-20 16:29:54 +02:00
Pierre Donias
76b7777fff feat(Menu): collapses when window width is small (#963) 2016-05-20 16:28:12 +02:00
Julien Fontanet
9292d990da fix(home): behaves if filter is null 2016-05-20 15:15:47 +02:00
Julien Fontanet
87fe715823 fix(icons): add generic Linux icon 2016-05-20 12:31:11 +02:00
Julien Fontanet
25e32e0600 chore(icons): remove fixed width 2016-05-20 12:31:10 +02:00
Julien Fontanet
9c3ddd4ba4 fix(Xapi#_createVm()): license issue with Dundee (#316)
Fixes vatesfr/xo-web#964.
2016-05-20 12:22:42 +02:00
Julien Fontanet
41c901a05c fix(complex-matcher/addPropertyClause): fix when enclause in a and 2016-05-20 11:44:04 +02:00
Julien Fontanet
fdaba2faf4 chore(home): pagination handling more standard 2016-05-20 11:44:04 +02:00
Julien Fontanet
0c73ad4f46 fix(complex-matcher): execute() requires node as context 2016-05-20 09:30:02 +02:00
Julien Fontanet
36c44bc3d4 feat(complex-matcher): addPropertyClause() 2016-05-19 18:13:51 +02:00
Julien Fontanet
d612598bd0 feat(complex-matcher): execute() and toString() expects current node as context 2016-05-19 18:13:51 +02:00
Julien Fontanet
2d75b6086f chore(complex-matcher/parse): refactor 2016-05-19 18:13:51 +02:00
Julien Fontanet
3345674604 chore(complex-matcher): expose node creators 2016-05-19 18:13:51 +02:00
Julien Fontanet
1eeaeeeca5 feat(benchmarks): complex matcher parsing 2016-05-19 18:13:51 +02:00
Olivier Lambert
b0bea8b3ba feat(vm/host): add links to host and pools 2016-05-19 18:10:00 +02:00
Olivier Lambert
0e3e5edd17 fix(host): wrong function name for log deletion 2016-05-19 16:47:57 +02:00
Olivier Lambert
ec1287a2f4 fix(multiple views): missing rows 2016-05-19 16:47:27 +02:00
Pierre Donias
9d2c857c59 feat(Text): placeholder prop (#961) 2016-05-19 14:34:25 +02:00
Pierre Donias
077f4f201c fix(grid): vertically center Col inside Row (#962) 2016-05-19 14:33:59 +02:00
Pierre Donias
9a2154a2ce feat(editable): editable Select (#959) 2016-05-19 12:58:43 +02:00
Olivier Lambert
f4c111c1c2 fix(home): a bit better responsive things 2016-05-18 17:18:53 +02:00
Pierre Donias
9483a06e8a feat(Text): Long click to edit with prop useLongClick (#957) 2016-05-18 13:31:15 +02:00
Olivier Lambert
df2a90dc1d fix(xo): wrong parameter name 2016-05-18 12:44:43 +02:00
Pierre Donias
246c190ccd fix(home): collapse-all button should not be hidden by action buttons. (#956) 2016-05-18 11:25:07 +02:00
Pierre Donias
4640817a14 feat(home): VMs migration (#953) 2016-05-18 10:59:24 +02:00
Pierre Donias
9c7690d39b fix(home): remove useless ref on VmItem (#954) 2016-05-17 17:46:29 +02:00
Pierre Donias
160805af05 feat(home): bulk actions (#948) 2016-05-17 16:16:03 +02:00
ABHAMON Ronan
39e85730f0 feat(plugins): new page to configure plugins (#946) 2016-05-17 15:42:10 +02:00
Olivier Lambert
da692e1a92 feat(home): sort by (#950) 2016-05-17 15:33:03 +02:00
Julien Fontanet
23bc60f1ac feat(selectors/createSort): any input can be a selector 2016-05-17 12:21:32 +02:00
Julien Fontanet
ce0f759509 chore(store/actions/createAction): do not add payload if undefined 2016-05-17 10:53:27 +02:00
Julien Fontanet
1793e5943a chore(store/actions/createAction): remove unused promises handling 2016-05-17 10:52:59 +02:00
Julien Fontanet
155f2fc36c fix(Xapi#_sessionCall): must pCatch when there is a predicate 2016-05-17 10:40:59 +02:00
Julien Fontanet
201b5db155 chore(BaseComponent): inline env test because it was not prune from the build 2016-05-17 10:12:45 +02:00
Julien Fontanet
6c9f55c1d7 style(utils): fix lightSet 2016-05-17 09:08:51 +02:00
Olivier Lambert
c588ac6777 fix(backup): unknown schedule typo in translation 2016-05-16 18:23:35 +02:00
Julien Fontanet
28c01fd4e1 feat(messages): throw an error when a message is undefined 2016-05-16 18:19:27 +02:00
Julien Fontanet
0715e7a31f feat(ISSUE_TEMPLATE): copied from next-release 2016-05-16 16:33:20 +02:00
Julien Fontanet
b497c38e34 feat(ActionButton): prints handler errors 2016-05-16 15:55:55 +02:00
Julien Fontanet
8a08dce405 chore(sr/TabAdvanced): remove unused imports 2016-05-16 15:55:15 +02:00
Julien Fontanet
a620c348bf fix(Menu): always update to avoid issues with router and intl 2016-05-16 15:55:15 +02:00
Julien Fontanet
fe750b7270 chore(*/TabLogs): avoid creating function in render() 2016-05-16 15:55:15 +02:00
Julien Fontanet
4aa9d56dfc fix(home/TabGeneral): use key prop on correct component 2016-05-16 15:55:15 +02:00
Julien Fontanet
4b2ebf2a3a chore: use handlerParam prop everywhere 2016-05-16 15:55:15 +02:00
Julien Fontanet
6290446ea5 chore(dashboard/health): remove unused forEach import 2016-05-16 15:55:15 +02:00
Julien Fontanet
42f5d06960 chore(*/ActionBar): use param prop 2016-05-16 15:55:14 +02:00
Julien Fontanet
85e8006137 chore(dashboard/health): use ActionRowButton handlerParam prop 2016-05-16 15:55:14 +02:00
Julien Fontanet
7c29d4c644 fix(dashboard/health): adapt to modal/confirm changes 2016-05-16 15:55:14 +02:00
Julien Fontanet
7378bc852d feat(xo): deleteSr() 2016-05-16 15:55:14 +02:00
Julien Fontanet
67ed137cfa feat(xo): add confirm to convertVmToTemplate and deleteVm 2016-05-16 15:55:14 +02:00
Julien Fontanet
02e08e54a2 feat(TabButton): forward all props to ActionButton 2016-05-16 15:55:14 +02:00
Julien Fontanet
6b2dd24334 feat(modal/confirm): now expects an object param 2016-05-16 15:55:14 +02:00
Julien Fontanet
131d5becad feat(ActionBar): add param prop to inject as handlerParam 2016-05-16 15:55:14 +02:00
Julien Fontanet
157e0a83b1 feat(ActionButton): accept an handlerParam prop
It makes it easier to use without having to create new functions
everywhere (which can cause perf issues).
2016-05-16 15:55:14 +02:00
Julien Fontanet
d0d3abce3e chore(*/ActionBar): remove incorrect handlers prop 2016-05-16 15:55:14 +02:00
Julien Fontanet
b965c41a45 fix(ActionBar): do not keep recreating style prop 2016-05-16 15:55:14 +02:00
Julien Fontanet
42f824e034 fix(vm): do not show 0 snapshots 2016-05-16 15:55:14 +02:00
Olivier Lambert
2768d9d49d fix(pool patch): incorrect key for translation 2016-05-16 15:52:12 +02:00
Olivier Lambert
c9a86dcae3 feat(host): link to SRs 2016-05-16 15:40:57 +02:00
ABHAMON Ronan
e1d307ea2c feat(home): implement objects selection for filtering (#943) 2016-05-16 12:59:34 +02:00
Julien Fontanet
5bec3d7dcd fix(xapi-object-to-xo): correctly set host memory size 2016-05-16 11:50:01 +02:00
Olivier Lambert
98ece12ae8 fix(home): number of VMs per page to 20 2016-05-16 10:40:34 +02:00
Olivier Lambert
4cf3db7c2a fix(vm disks): check if VBD has VDIs 2016-05-16 10:37:55 +02:00
Julien Fontanet
7c2f79d980 chore(Vm): move some logic in the tabs 2016-05-16 01:18:54 +02:00
Julien Fontanet
fe064f8b6a feat(utils/@checkPropsState): create an optimized shouldComponentUpdate() 2016-05-16 00:44:15 +02:00
Julien Fontanet
2bad2f6b80 perf(BaseComponent): do not use splat and spread params in constructor 2016-05-16 00:42:20 +02:00
Julien Fontanet
2ba9c5193f chore(Home): use VMS_PER_PAGE constant 2016-05-16 00:16:33 +02:00
Julien Fontanet
331695c10a fix(Tooltip): put tooltip above other components 2016-05-16 00:04:31 +02:00
Julien Fontanet
f299193f05 chore(Menu): cleanup and minor optimization 2016-05-16 00:03:55 +02:00
Julien Fontanet
de8130abc2 feat(selectors/_id): use id prop when no routeParams 2016-05-15 23:55:50 +02:00
Julien Fontanet
1cbde7f2e1 chore(XoApp): inherits from BaseComponent 2016-05-15 23:51:15 +02:00
Julien Fontanet
d1c796d9a7 chore(XoApp): unnecessary to validate children prop 2016-05-15 23:50:33 +02:00
Julien Fontanet
af43061353 chore(XoApp): remove unused connectStore() 2016-05-15 23:50:07 +02:00
Olivier Lambert
1b2ca8e69e 4.16.1 2016-05-14 11:18:16 +02:00
Olivier Lambert
a9e6679b08 fix(vm view): filter perms on all SR. Fix #945 2016-05-14 11:17:43 +02:00
Olivier Lambert
9408760122 chore(host,sr): style fixes 2016-05-14 11:02:26 +02:00
Olivier Lambert
c25e804d61 fix(home): use link for quick actions 2016-05-14 10:34:59 +02:00
Olivier Lambert
b18b2262eb vdi map 2016-05-14 00:12:56 +02:00
Olivier Lambert
570440dc7d host memory bar 2016-05-13 23:12:04 +02:00
Olivier Lambert
aef660fb2f feat(pool): sr view (#944) 2016-05-13 19:50:02 +02:00
Julien Fontanet
17671c7282 feat(selectors/createGetObjects): ignore missing objects 2016-05-13 17:38:38 +02:00
Julien Fontanet
8216ab44b4 feat(selectors): expose createSelector as its usually the name we want 2016-05-13 17:38:34 +02:00
Julien Fontanet
5902d43a94 fix(xo): fix internal createSubscription() 2016-05-13 17:20:12 +02:00
Pierre Donias
a6eb04d3f9 feat(home): VMs pagination (#940) 2016-05-13 17:15:45 +02:00
Julien Fontanet
a71780e860 chore(xo/subscribe): split into independant functions 2016-05-13 17:14:30 +02:00
Julien Fontanet
c2d815ef66 perf(selectors/objects): avoid creating empty objects 2016-05-13 17:11:34 +02:00
Julien Fontanet
bf4679aa9b perf(modal): do not create functions in render 2016-05-13 17:10:16 +02:00
Julien Fontanet
4dd74bbb16 perf(react-novnc): do not create functions in render 2016-05-13 17:10:13 +02:00
Julien Fontanet
10530146ca chore(selectors): remove unused vmContainers 2016-05-13 16:59:30 +02:00
Julien Fontanet
75d49da3d4 fix(home): correctly set filter in input field 2016-05-13 16:43:32 +02:00
Julien Fontanet
af026b0c52 perf(home): let VmItem fetch its container 2016-05-13 16:43:32 +02:00
Julien Fontanet
bcd4f70d0e perf(selectors/createGetObject): simplify 2016-05-13 16:43:32 +02:00
Olivier Lambert
54cc31d1a0 feat(pool): pool view (#933) 2016-05-13 15:26:26 +02:00
ABHAMON Ronan
3f0553861a feat(select-objects): split out XO select logic in low level components (#939) 2016-05-13 14:33:22 +02:00
Julien Fontanet
e1b3c51d2c fix(home): fix expand all button 2016-05-13 14:27:13 +02:00
Julien Fontanet
58a0e3fad6 fix(home): correctly set default filter 2016-05-13 14:26:54 +02:00
Julien Fontanet
6bb235650a chore(home): extract _saveFilter() 2016-05-13 12:07:50 +02:00
Julien Fontanet
0bf0bc4c33 chore(scheduling): remove an incorrect FIXME 2016-05-13 09:43:12 +02:00
Julien Fontanet
3085749e92 chore(Notification): minor optimizations 2016-05-12 21:12:03 +02:00
Julien Fontanet
de3abbf6b8 chore(host): minor optimizations 2016-05-12 21:08:12 +02:00
Julien Fontanet
925469689f chore(scheduling): implement components on top of BaseComponent 2016-05-12 20:50:06 +02:00
Julien Fontanet
631e58a585 chore(form): implement components on top of BaseComponents 2016-05-12 20:42:25 +02:00
Julien Fontanet
63571d06bf chore(editable/Text): implement on top of BaseComponent 2016-05-12 20:38:04 +02:00
Julien Fontanet
1979758fab chore(ActionButton): implement on top of BaseComponent 2016-05-12 20:35:51 +02:00
Julien Fontanet
6ef5a23000 chore(vm): minor optimizations 2016-05-12 20:35:48 +02:00
Julien Fontanet
ae4aa23d27 chore(Tags): clean & optimize 2016-05-12 20:29:46 +02:00
Julien Fontanet
710d1f13cd feat(BaseComponent): React component with reasonable defaults & debugging traces 2016-05-12 20:29:43 +02:00
Julien Fontanet
a4c309efe8 fix(package): ship signin.pug 2016-05-12 18:18:56 +02:00
Julien Fontanet
57a4d366d7 chore(shallow-equal): split out of selectors 2016-05-12 17:52:30 +02:00
Julien Fontanet
8060c66c08 feat(home): put the filter in the URL 2016-05-12 17:23:50 +02:00
Julien Fontanet
d5a58fbec2 perf(home): do not create functions in render 2016-05-12 16:15:53 +02:00
Julien Fontanet
059256de3e chore(home): simplify by treating no VMs case first 2016-05-12 15:50:54 +02:00
Julien Fontanet
2c52d4c867 feat(utils/firstDefined) 2016-05-12 15:50:54 +02:00
Julien Fontanet
d9bfde2e47 chore(selectors): use props.routeParams instead of props.params 2016-05-12 15:50:54 +02:00
ABHAMON Ronan
757acd8d92 fix(backups): remoteId vs remote param name(#938) 2016-05-12 14:52:31 +02:00
Pierre Donias
3e92252e2e fix(BlockLink): correctly behaves with links/buttons/inputs (#934) 2016-05-12 13:21:00 +02:00
Jon Sands
4e22a208dd fix(autopoweron): set pool other_config entry to true instead of on (#310)
Fixes #309 
Fixes vatesfr/xo-web#937
2016-05-12 13:17:02 +02:00
ABHAMON Ronan
ce7aeb1a27 chore(Scheduler): use react-intl for month names translation (#935) 2016-05-12 13:13:43 +02:00
ABHAMON Ronan
236d2ad39a feat: backups overview (#932) 2016-05-12 13:04:15 +02:00
Julien Fontanet
63b37714b1 chore(page): use number for plain numeric styles 2016-05-12 11:53:06 +02:00
Julien Fontanet
dc81fd0622 chore(style): remove unused .xo-icon-action-row styles 2016-05-12 11:52:45 +02:00
Julien Fontanet
ccec2bf7ee chore(ActionRow): renamed to ActionRowButton 2nd pass 2016-05-12 11:51:48 +02:00
Julien Fontanet
c93b93331e chore(ActionRow): renamed to ActionRowButton 2016-05-12 11:31:43 +02:00
Julien Fontanet
1f194f1680 chore(ActionRow): reimplemented on top of ActionButton 2016-05-12 11:29:54 +02:00
Julien Fontanet
2251123c1d perf(invoke): minor optim when no param 2016-05-12 11:17:23 +02:00
Julien Fontanet
1bfe1c3370 chore(complex-matcher/parse): rename pattern to input 2016-05-12 11:17:23 +02:00
Olivier Lambert
0044eeb6d1 chore(health): use components and remove useless arrays 2016-05-12 09:52:55 +02:00
Olivier Lambert
669302d46b regain focus on the search field 2016-05-11 18:54:25 +02:00
Olivier Lambert
fce2f44197 feat(home): pre-existing filters (#931) 2016-05-11 18:06:45 +02:00
Julien Fontanet
ff9e77118e fix(Xapi): VM creation on Dundee (#303) 2016-05-11 18:03:58 +02:00
Julien Fontanet
6c6dfa9ac4 perf(Promise): use Bluebird as default implementation 2016-05-11 18:01:52 +02:00
Greenkeeper
d60d5207d8 chore(package): update xen-api to version 0.9.0 (#308)
https://greenkeeper.io/
2016-05-11 17:55:35 +02:00
Julien Fontanet
c3dc136de4 0.9.0 2016-05-11 17:44:45 +02:00
Julien Fontanet
4cbc5c4e2f fix(memory leak): due to Bluebird#cancellable()
To be fair, it may be due to an incorrect usage of
Bluebird#cancellable().

Bluebird has been completely removed at the same occasion.
2016-05-11 17:42:01 +02:00
Julien Fontanet
68820aaf59 fix(cli): add babel-polyfill dep 2016-05-11 17:40:56 +02:00
Pierre Donias
64db1df248 feat(user): new user page (#930) 2016-05-11 17:14:49 +02:00
Olivier Lambert
9109d55019 new VM button working on home view 2016-05-11 16:31:09 +02:00
Olivier Lambert
412e13ccd5 better header content style 2016-05-11 16:25:08 +02:00
Olivier Lambert
0c7e0528b6 better patches refresh when installing a patch 2016-05-11 15:49:13 +02:00
Pierre Donias
ccb22a2f40 chore(Page): remove unnecessary component Header (#928) 2016-05-11 15:48:40 +02:00
Julien Fontanet
cd65bc7683 chore: simplify _watchEvents() and _watchEventsLegacy() implementation
I finally understood ES6 Temporal Dead Zone!
2016-05-11 15:23:57 +02:00
Pierre Donias
2f3e463aca feat: move tabs in header for host and VM views (#927)
Fixes #926
2016-05-11 15:13:12 +02:00
Olivier Lambert
c548e08aea react component usage for action buttons in rows 2016-05-11 15:02:19 +02:00
ABHAMON Ronan
8c0ae892f5 feat(api): rename <namespace> param to id (#305) 2016-05-11 14:35:49 +02:00
ABHAMON Ronan
150e0171f0 feat: initial VM backups view (#924) 2016-05-11 14:27:58 +02:00
Greenkeeper
f570492a11 chore(package): update xo-remote-parser to version 0.2.0 (#307)
https://greenkeeper.io/
2016-05-11 14:07:23 +02:00
Julien Fontanet
4d4a2897a5 0.7.0 2016-05-11 12:59:14 +02:00
Julien Fontanet
cd73c8f82f 0.2.0 2016-05-11 12:58:59 +02:00
Julien Fontanet
934e67d146 Document JSON syntax 2016-05-11 12:57:53 +02:00
Julien Fontanet
4c96e44b9b fix(format): use correct type for local 2016-05-11 12:49:29 +02:00
Julien Fontanet
189900549a feat(tests): basic tests for local and smb types 2016-05-11 12:49:06 +02:00
Julien Fontanet
6d18420a5d fix(tests): make them pass 2016-05-11 12:22:28 +02:00
Julien Fontanet
ab3d307393 chore(package): update all dependencies 2016-05-11 12:22:26 +02:00
ABHAMON Ronan
89b2156f61 chore(package): remove unused babel-runtime (#3) 2016-05-11 12:19:09 +02:00
Olivier Lambert
bfcaca7bc0 tab button for VM view 2016-05-11 12:17:30 +02:00
ABHAMON Ronan
2f95da1892 fix(package): lodash.xxx are prod dependencies (#2) 2016-05-11 12:08:34 +02:00
Olivier Lambert
fcb0482193 use TabButton component in host view 2016-05-11 12:02:50 +02:00
Julien Fontanet
6e0956f09f feat(memory-test): split into inject-events 2016-05-11 11:30:49 +02:00
Olivier Lambert
714ea7c236 a bit better home responsive view 2016-05-11 11:29:15 +02:00
Pierre Donias
cc30799f0d feat: browser notifications (#921)
* Browser notifications.

* Browser notifications: XO logo in notification.

* Browser notifications: multiple enhancements.
2016-05-11 11:13:08 +02:00
Pierre Donias
df71259a10 style: removed incorrect JSX whitespaces (#925) 2016-05-11 10:36:55 +02:00
Olivier Lambert
9a0ae5d4b9 quick buttons for home view 2016-05-10 16:26:30 +02:00
Julien Fontanet
1191f0ba93 feat(events): it's possible not to watch them 2016-05-10 15:35:43 +02:00
Julien Fontanet
6534ffea26 perf(objects): memoize () => this._pool 2016-05-10 14:55:19 +02:00
Olivier Lambert
eea4648ada add docker icon for VM with docker XS plugin installed 2016-05-10 14:27:11 +02:00
Olivier Lambert
2883398c2a add modal for VM convert and delete 2016-05-10 14:17:47 +02:00
Olivier Lambert
84f6e14b89 display the number of snapshot in the expanded home VM view 2016-05-10 13:53:29 +02:00
Julien Fontanet
cc447304f5 fix(bin/xo-server): remove ES6 syntax 2016-05-10 13:43:53 +02:00
Pierre Donias
30fb9ed65a feat(modal): alert() and confirm() methods (#918) 2016-05-10 12:00:48 +02:00
Olivier Lambert
a809f2d1f2 re add install all patches in host patch tab 2016-05-10 10:53:35 +02:00
Julien Fontanet
f9173c41d1 chore(package): remove unnecessary babel-runtime 2016-05-10 10:12:24 +02:00
Olivier Lambert
6b5a19983d missing translation in server view 2016-05-09 19:41:36 +02:00
Julien Fontanet
a2faedcacb fix(debounce): it can be changed at runtime 2016-05-09 18:40:27 +02:00
Julien Fontanet
cb56b3b9d0 chore: rewrite some code using invoke pattern 2016-05-09 18:11:14 +02:00
Julien Fontanet
a61b50548c feat: memory test 2016-05-09 18:00:09 +02:00
Olivier Lambert
2471f447b3 add current status info for VMs 2016-05-09 17:18:44 +02:00
Julien Fontanet
75ad588e0b fix(package): clarify, source-map-support & trace are prod deps 2016-05-09 14:07:55 +02:00
Julien Fontanet
413e944d7a fix(home): fix imports 2016-05-09 13:46:20 +02:00
Julien Fontanet
3b952819d6 feat(home): remember the last used filter 2016-05-09 13:41:06 +02:00
Greenkeeper
2445c10c1c chore(package): update modular-css to version 0.21.0 (#920)
https://greenkeeper.io/
2016-05-09 11:46:00 +02:00
Julien Fontanet
7e26593d04 feat(complex-matcher): quoted strings 2016-05-08 17:53:34 +02:00
Greenkeeper
73595c683b chore(package): update modular-css to version 0.20.0 (#919)
https://greenkeeper.io/
2016-05-08 10:02:02 +02:00
Julien Fontanet
570f56a4cc chore(complex-matcher): test parse() and toString() 2016-05-08 00:25:16 +02:00
Julien Fontanet
f9e940871e feat(home): add group/or syntax 2016-05-08 00:24:32 +02:00
Julien Fontanet
c2b724a54a chore(test): add AVA test runner 2016-05-08 00:21:58 +02:00
Olivier Lambert
f52db472ed clear search button 2016-05-07 17:52:17 +02:00
Julien Fontanet
324fe98a5b chore(complex-matcher): minor parser simplification 2016-05-07 17:32:25 +02:00
Julien Fontanet
2fd9833580 chore(complex-matcher): move into its own module 2016-05-07 17:25:44 +02:00
Olivier Lambert
0ab4827d6f default search value with a space and search autofocus 2016-05-07 17:19:42 +02:00
Julien Fontanet
f0bd7d7eee perf(home): debounce filter by 250ms 2016-05-07 17:02:55 +02:00
Olivier Lambert
8cd1209602 display OS icon if possible, even when we do not detect xen tools 2016-05-07 16:57:04 +02:00
Julien Fontanet
e2781adc81 feat(home): allow search on nested properties 2016-05-07 16:49:45 +02:00
Julien Fontanet
b91ac2fe89 feat(home): initial complex filter 2016-05-07 16:16:22 +02:00
Julien Fontanet
683a7a1851 perf(selectors/tags): sort the tags and wraps the selector 2016-05-07 13:11:28 +02:00
Olivier Lambert
8b05aa7b59 remove useless array 2016-05-07 13:00:41 +02:00
Olivier Lambert
883f839bfd action for servers 2016-05-07 12:55:22 +02:00
Julien Fontanet
90dc00ac6b perf: throttle object updates by 500ms 2016-05-07 12:51:41 +02:00
Julien Fontanet
9c1cecbb7d chore(dev-tools): disable for now
It's not used at the moment and it has an major perf impact.
2016-05-07 12:05:19 +02:00
Julien Fontanet
1fce11bfba chore(store): do not add useless enhancers 2016-05-07 12:05:19 +02:00
Olivier Lambert
fba3ebdf49 basic filtering in home view 2016-05-07 11:34:05 +02:00
Olivier Lambert
e9585e08a4 only count pending tasks 2016-05-07 00:50:37 +02:00
Olivier Lambert
24a89985fb remove useless icon in vm general tab 2016-05-06 22:20:18 +02:00
Olivier Lambert
33026e8281 more logical order display for the home view 2016-05-06 21:23:54 +02:00
Olivier Lambert
50d9b832a9 better tag component 2016-05-06 21:14:54 +02:00
Olivier Lambert
1df82c3380 do not display a filter if there isn't any object associated with it (ACLs or nothing to display) 2016-05-06 18:59:57 +02:00
Olivier Lambert
0a8db4ebbf object number for filters 2016-05-06 18:39:44 +02:00
Julien Fontanet
928b19aef4 chore(TabButton): move into its own module 2016-05-06 17:48:53 +02:00
Julien Fontanet
a7ec98cef6 chore(icons): move into its own stylesheet 2016-05-06 17:46:13 +02:00
Julien Fontanet
67326a1859 chore(button): remove unused module 2016-05-06 17:33:30 +02:00
Julien Fontanet
631a8a5edf fix(ActionButton): fixed width icon 2016-05-06 17:32:40 +02:00
Julien Fontanet
7e5e463ef2 feat(ActionButton): better feedback on async actions 2016-05-06 17:20:53 +02:00
Julien Fontanet
add65e41da chore(actions): move business code in xo 2016-05-06 17:20:48 +02:00
Julien Fontanet
351b4571cd chore(store): move into common 2016-05-06 17:18:56 +02:00
Julien Fontanet
793258a91f chore(dev-tools): move into common 2016-05-06 17:18:56 +02:00
Julien Fontanet
ed3e1933c3 fix(xo): names of VM clones and snapshots 2016-05-06 17:18:56 +02:00
Olivier Lambert
2f63b26458 use react boostrap button component 2016-05-06 16:56:52 +02:00
Olivier Lambert
f1d14da3dd UI improvements on home view 2016-05-06 16:03:49 +02:00
Pierre Donias
4a3d90bdf3 feat(notification): new module (#914)
* Notifications

* Notification: global notification fired by `notify(...)`

* Notification: Bootstrap colors.

* Notification: Simplified version. Usage example.
2016-05-06 14:27:59 +02:00
Olivier Lambert
f8f24fbc37 feat(home view): major rework 2016-05-06 14:26:30 +02:00
Pierre Donias
8f6c53e111 feat(Modal): new component (#916) 2016-05-06 14:04:38 +02:00
Pierre Donias
c23f55b1d4 feat(Wizard): new component (#896) 2016-05-06 13:41:05 +02:00
Julien Fontanet
306d5d8fc7 feat(event): authenticationFailure 2016-05-06 12:33:56 +02:00
Julien Fontanet
8f8c6366e3 chore(xo-mixins/backup): use default value for remote handler flags 2016-05-05 18:22:19 +02:00
Julien Fontanet
3b13bcb098 fix(Xapi#exportDeltaVm): make streams property non-enumerable 2016-05-05 18:19:41 +02:00
Olivier Lambert
88f94f5d6f improved XO title in menu collapse 2016-05-04 21:07:58 +02:00
Julien Fontanet
5553d5fefa Merge pull request #8 from vatesfr/greenkeeper-update-all
Update all dependencies 🌴
2016-05-04 16:21:06 +02:00
Julien Fontanet
9328518bbc chore: various updates 2016-05-04 16:14:50 +02:00
Julien Fontanet
df60784b51 chore(signin): jade renamed to pug 2016-05-04 16:00:28 +02:00
Julien Fontanet
6564edcc32 chore(package): update all dependencies (except Bluebird) 2016-05-04 15:54:04 +02:00
Julien Fontanet
75bb7d5a2d fix(prompt-schema): adapt to inquirer version 1.0.0 2016-05-04 14:48:47 +02:00
Julien Fontanet
ceab4e37cd style(prompt-schema): handle ESLint special cases 2016-05-04 14:45:01 +02:00
greenkeeperio-bot
afb6974cc0 chore(package): update dependencies
https://greenkeeper.io/
2016-05-04 14:35:22 +02:00
Julien Fontanet
bae3122bb5 chore: various updates 2016-05-04 12:16:02 +02:00
Julien Fontanet
0770aef4bf chore(package): update standard to version 7.0.0 2016-05-04 11:59:56 +02:00
Olivier Lambert
3e99a179b7 add tool tip for action bar 2016-05-04 11:56:13 +02:00
Olivier Lambert
c7271f94a5 remove xo call for vdi and sr set 2016-05-04 10:46:43 +02:00
Olivier Lambert
5c0ced942c fix tags 2016-05-03 18:41:55 +02:00
Julien Fontanet
d9b07e76f9 chore(package): update standard to version 7.0.0 2016-05-03 18:31:15 +02:00
Julien Fontanet
c75793df20 chore(package): use commit-msg hook instead of commit-msg
It avoids running the tests when there is nothing in the stage.
2016-05-03 18:28:08 +02:00
Julien Fontanet
1bee5121f0 chore(package): remove unused Babel config 2016-05-03 18:28:08 +02:00
Julien Fontanet
932e7eb374 chore(README): remove dependencies status 2016-05-03 18:28:08 +02:00
Julien Fontanet
abdbcfe42b chore(README): add Travis status in title 2016-05-03 18:28:08 +02:00
Julien Fontanet
a62e888732 chore(gitignore): remove unused config.json entry 2016-05-03 18:28:08 +02:00
Olivier Lambert
16b982b953 fix patches issues 2016-05-03 18:25:33 +02:00
Olivier Lambert
e92b87095b container for header 2016-05-03 17:37:42 +02:00
Olivier Lambert
e5f1aa689b flex shrink fix 2016-05-03 17:35:59 +02:00
ABHAMON Ronan
c198350bfa feat(remote-handlers): cannot overwrite files by default (#297) 2016-05-03 16:56:26 +02:00
Olivier Lambert
f39a05cd8d smaller header for VM and host view 2016-05-03 16:42:32 +02:00
Olivier Lambert
c5e22b785a replace xo.call 2016-05-03 15:24:39 +02:00
Olivier Lambert
11f93a125c add header for host view 2016-05-03 15:22:25 +02:00
Pierre Donias
38a9cb002d Menu and sticky header (#891)
Fixes #705
2016-05-03 14:13:11 +02:00
ABHAMON Ronan
cf1a38a004 Recursive forms implementation. (#894) 2016-05-03 12:09:22 +02:00
Olivier Lambert
d6e823d19d fix missingpatches call 2016-05-03 10:24:30 +02:00
Greenkeeper
a4dc965c23 chore(package): update standard to version 7.0.0 (#3)
https://greenkeeper.io/
2016-05-03 09:16:47 +02:00
Greenkeeper
8b65c280a8 chore(package): update standard to version 7.0.0 (#4)
https://greenkeeper.io/
2016-05-03 09:05:49 +02:00
Olivier Lambert
763a23d9d0 add recoveryStartVm method 2016-05-01 11:19:58 +02:00
Olivier Lambert
f266577f2f fix cloneVM method 2016-05-01 11:00:49 +02:00
Olivier Lambert
1bb5e73668 less choices in VM action bar, advanced actions are in advanced tab 2016-05-01 10:39:26 +02:00
Olivier Lambert
b07bc755f6 add label on tab for number of patches missing 2016-05-01 09:57:05 +02:00
Greenkeeper
a2ed388777 chore(package): update helmet to version 2.0.0 (#298)
https://greenkeeper.io/
2016-04-30 08:10:22 +02:00
Olivier Lambert
db4b39c54b upgrade on poolpatches 2016-04-29 18:53:43 +02:00
Julien Fontanet
ffd95261c3 4.16.0 2016-04-29 12:23:59 +02:00
Olivier Lambert
82f38040c1 changelog 2016-04-29 12:22:14 +02:00
Julien Fontanet
f6670c699a 4.16.1 2016-04-29 10:28:03 +02:00
Julien Fontanet
5fa4c95480 fix(leveldown): fix leveldown to version 1.4.4
Due to Level/leveldown#276.
2016-04-29 10:27:37 +02:00
Julien Fontanet
5b8608c186 feat(utils/streamToBuffer): rebase on get-stream and use everywhere (#295) 2016-04-29 09:52:36 +02:00
Julien Fontanet
bb75d42ede 4.16.0 2016-04-29 09:44:42 +02:00
Julien Fontanet
b4b6def07a Merge branch 'next-release' into stable 2016-04-29 09:43:30 +02:00
Greenkeeper
b305700987 chore(package): update get-stream to version 2.1.0 (#294)
https://greenkeeper.io/
2016-04-29 09:14:30 +02:00
Olivier Lambert
7bb4f9f8e3 update host 2016-04-28 22:33:59 +02:00
Olivier Lambert
c2345df275 Merge pull request #905 from vatesfr/v5-toolbar-improved
V5 toolbar improved, missing patches and xo call removal
2016-04-28 19:15:46 +02:00
Olivier Lambert
b0c341da3f minor fixes 2016-04-28 19:11:56 +02:00
Olivier Lambert
b1ccc16da7 add missing patches 2016-04-28 19:11:44 +02:00
Greenkeeper
40232b7eb1 chore(package): update fs-extra to version 0.30.0 (#293)
https://greenkeeper.io/
2016-04-28 18:17:34 +02:00
Julien Fontanet
16856a5911 feat(utils/routes): support plain route def 2016-04-28 17:32:06 +02:00
Olivier Lambert
d4ee364349 add host action bar 2016-04-28 17:03:11 +02:00
Olivier Lambert
db62ca7b4b proper col/row for vm tabs 2016-04-28 16:20:36 +02:00
Olivier Lambert
d0b99b854d remove more xo direct call 2016-04-28 15:57:17 +02:00
Olivier Lambert
b3b13b3e01 less xo calls 2016-04-28 15:55:46 +02:00
Julien Fontanet
5cb738b82b chore: reduce xo.call() direct use 2016-04-28 15:22:40 +02:00
Olivier Lambert
cfe3b15cbe Toolbar actions 2016-04-28 15:06:28 +02:00
Julien Fontanet
a1bde80925 chore: move IntlProvider inside XoApp. 2016-04-28 12:37:49 +02:00
Julien Fontanet
4c958dd584 chore(selectors): remove unused code 2016-04-28 12:05:37 +02:00
Olivier Lambert
a05d4d3d18 Merge pull request #892 from vatesfr/pierre-v5-better-action-bar-ui
Better action bar UI.
2016-04-28 10:28:05 +02:00
Julien Fontanet
67ff666db4 Use the new execa.stdout() 2016-04-28 10:18:05 +02:00
Pierre
503b6dc914 Dropdown on hover. 2016-04-28 09:24:29 +02:00
Pierre
141cbcd1c0 [WIP] Dropdown on hover. 2016-04-28 09:24:29 +02:00
Greenkeeper
5960fd4fe0 chore(package): update fs-extra to version 0.29.0 (#292)
https://greenkeeper.io/
2016-04-28 09:04:39 +02:00
Greenkeeper
f8b28c519c chore(package): update xo-acl-resolver to version 0.1.0 (#291)
https://greenkeeper.io/
2016-04-28 08:56:31 +02:00
Greenkeeper
c46c0018ea chore(package): update nyc to version 6.4.0 (#9)
https://greenkeeper.io/
2016-04-27 22:20:32 +02:00
Olivier Lambert
e340d2d3f5 remove useless import 2016-04-27 18:27:57 +02:00
Olivier Lambert
436d5a3a66 remove dup message keys 2016-04-27 18:27:57 +02:00
Julien Fontanet
3e04fd4790 feat: initial ACLs handling 2016-04-27 16:44:01 +02:00
Julien Fontanet
3f6d149f9d feat(reducer/combineActionHandlers): perf for n=1 & common errors
Warnings when:

- no handlers defined
- there is an handler for the action type `type` (likely an error)

There is now an optimized implementation when there is only one handler.
2016-04-27 16:44:01 +02:00
Julien Fontanet
4ab24d2fe5 0.1.0 2016-04-27 16:11:12 +02:00
Julien Fontanet
c70ca2ff64 style: add missing parentheses 2016-04-27 15:58:22 +02:00
Julien Fontanet
649ab26da8 feat: gracefully handle missing objects 2016-04-27 15:52:19 +02:00
Julien Fontanet
c921ea6eb7 Merge pull request #1 from vatesfr/greenkeeper-update-all
Update all dependencies 🌴
2016-04-27 15:49:02 +02:00
greenkeeperio-bot
58aed76aa3 chore(package): update dependencies
https://greenkeeper.io/
2016-04-27 15:44:41 +02:00
Julien Fontanet
e286c57ce4 Merge pull request #2 from vatesfr/v0.8.x
Refactor on top of jsonrpc-websocket-client
2016-04-27 15:26:39 +02:00
Olivier Lambert
977fc7832a initial network tab added for host 2016-04-27 15:23:39 +02:00
Julien Fontanet
840f0b6379 chore(package): update babel-eslint to version 6.0.4 2016-04-27 15:18:09 +02:00
Julien Fontanet
538025edd5 chore: remove irrelevant comment 2016-04-27 15:14:33 +02:00
Olivier Lambert
2e2f0e2e3d handle basic log removal 2016-04-27 14:59:40 +02:00
Julien Fontanet
5628beee72 fix(selectors/createCollectionWrapper): handle removed props 2016-04-27 14:14:53 +02:00
Julien Fontanet
ee1105b6dd fix(Xapi#importVdiContent): find first attached PBD (#279) 2016-04-27 09:37:30 +02:00
Julien Fontanet
4778274c97 fix(Xapi#call): retries on TOO_MANY_PENDING_TASKS
Fixes fix vatesfr/xo-web#861
2016-04-27 09:28:36 +02:00
Julien Fontanet
d7ecb32238 Xapi#snapshotVm(): wait for the uptodate obj on quiesce. (#282)
Fixes vatesfr/xo-web#904
2016-04-27 09:24:00 +02:00
Greenkeeper
744306fc50 chore(package): update execa to version 0.4.0 (#290)
https://greenkeeper.io/
2016-04-27 09:13:16 +02:00
Olivier Lambert
a88fea560b fix indentation 2016-04-26 18:14:37 +02:00
Olivier Lambert
5832345b96 Merge pull request #902 from vatesfr/v5-hosts
V5 hosts view
2016-04-26 15:57:32 +02:00
Olivier Lambert
d3d2daa12f use createFinder 2016-04-26 15:39:58 +02:00
Julien Fontanet
f6f90982f4 feat(selectors/createPager): selector creator to return a page of items 2016-04-26 15:36:21 +02:00
Olivier Lambert
98323b08f0 add host console 2016-04-26 15:31:13 +02:00
Olivier Lambert
8f3112a5e2 advanced tab completed 2016-04-26 15:31:12 +02:00
Olivier Lambert
3408bd41ad additionnal host info 2016-04-26 15:31:12 +02:00
Olivier Lambert
68e12e86c1 add start time in host view 2016-04-26 15:31:12 +02:00
Olivier Lambert
890e0b4906 add control domain VM 2016-04-26 15:31:12 +02:00
Olivier Lambert
3aca7c7ae5 more working host tabs 2016-04-26 15:31:11 +02:00
Olivier Lambert
e8077ddbc5 initial work on host view 2016-04-26 15:31:11 +02:00
Julien Fontanet
6e04907357 feat(selectors/createFinder): selector creator to find an item in a collection 2016-04-26 15:26:28 +02:00
Olivier Lambert
11bbb8ed4d add host startTime and agentStartTime 2016-04-26 11:30:57 +02:00
Julien Fontanet
b5092a4444 feat(toTimestamp): handle timestamps. 2016-04-26 11:27:26 +02:00
Greenkeeper
e2442c07a9 https://greenkeeper.io/Fixes vatesfr/xo-web#769
https://greenkeeper.io/

Fixes vatesfr/xo-web#769.
2016-04-26 09:07:33 +02:00
Julien Fontanet
35e8dcc3be 0.8.0 2016-04-26 08:46:22 +02:00
Julien Fontanet
d1600fd058 fix: handle UUID changes (fix #5). (#7) 2016-04-26 08:46:04 +02:00
Julien Fontanet
6f924d4e83 fix(user.delete): fix vatesfr/xo-web#901. 2016-04-25 14:33:29 +02:00
Greenkeeper
faf1508914 chore(package): update execa to version 0.3.0 (#284)
https://greenkeeper.io/
2016-04-23 17:51:56 +01:00
Julien Fontanet
7eb8152835 4.15.3 2016-04-22 16:18:21 +02:00
Julien Fontanet
8f45905831 fix(vm.deltaCopy()): delete snapshot when import fails. 2016-04-22 16:18:03 +02:00
Julien Fontanet
4ba2ffce5b fix(vm.deltaCopy()): delete snapshot when import fails. 2016-04-22 13:39:21 +02:00
Greenkeeper
3d8c9a99fe chore(package): update modular-css to version 0.18.0 (#895)
https://greenkeeper.io/
2016-04-20 08:05:43 +01:00
Julien Fontanet
1416fb0c71 Xapi#call(): only *.get_*() methods in readonly mode. 2016-04-19 16:32:18 +01:00
Julien Fontanet
2975db247d Do not attempt to fix JSON is parsing is successful. 2016-04-19 13:29:51 +01:00
Greenkeeper
730768705b chore(package): update modular-css to version 0.17.1 (#890)
http://greenkeeper.io/
2016-04-19 10:04:12 +01:00
Julien Fontanet
13f75a37ab CSS: remove 60em min-width on .xo-content. 2016-04-18 15:58:43 +01:00
Julien Fontanet
f74c69ea6f Disable Bootstrap flex for now as it is broken in responsive mode. 2016-04-18 15:57:56 +01:00
Greenkeeper
ffb3659ef5 chore(package): update fs-extra to version 0.28.0 (#280)
http://greenkeeper.io/
2016-04-18 12:09:06 +01:00
Julien Fontanet
6dec07d562 signin form: fix redirect on success. 2016-04-18 11:57:58 +01:00
Greenkeeper
fe7be0f518 chore(package): update react-key-handler to version 0.2.0 (#886)
http://greenkeeper.io/
2016-04-18 09:33:30 +01:00
Olivier Lambert
2f0e656c45 menu: move remote in settings 2016-04-15 14:44:53 +02:00
Julien Fontanet
afb22f3279 Merge pull request #278 from vatesfr/greenkeeper-fs-extra-0.27.0
Update fs-extra to version 0.27.0 🚀
2016-04-15 14:14:31 +02:00
greenkeeperio-bot
f2f369db64 chore(package): update fs-extra to version 0.27.0
http://greenkeeper.io/
2016-04-15 14:05:41 +02:00
Julien Fontanet
de489b799b Fix npm run build. 2016-04-14 19:12:25 +02:00
Julien Fontanet
6250ef49b6 Minor change in VM/Snapshots. 2016-04-14 19:12:25 +02:00
Julien Fontanet
afdab8dcde Fix About page. 2016-04-14 19:12:25 +02:00
Olivier Lambert
8e1d39f37f navbar style 2016-04-14 18:45:18 +02:00
Julien Fontanet
2a8c346a65 Add basic Page not found. 2016-04-14 18:06:56 +02:00
Julien Fontanet
03eaa652ce Optional debounce for events. 2016-04-14 17:55:41 +02:00
Olivier Lambert
71e431e744 better dashboard 2016-04-14 17:45:00 +02:00
Julien Fontanet
265cb75d70 Dashboard/Overview: 10 top SRs by size. 2016-04-14 16:51:29 +02:00
Olivier Lambert
4d0470838a move storage list to health 2016-04-14 16:41:05 +02:00
Olivier Lambert
d4ed3aeac0 better dashboard 2016-04-14 16:14:35 +02:00
Julien Fontanet
89fa89fe98 utils/@routes(): TODO add support for function childRoutes. 2016-04-14 16:02:05 +02:00
Julien Fontanet
2d663f0ac5 Remove unused import. 2016-04-14 15:58:38 +02:00
Julien Fontanet
bc9b3f1c5c utils/@routes(): accepts a plain object for child routes. 2016-04-14 15:48:38 +02:00
Julien Fontanet
2f0a46a46d utils/@routes(): use it AMAP. 2016-04-14 15:45:27 +02:00
Julien Fontanet
9559604d1e menu: Remove home special case. 2016-04-14 15:45:27 +02:00
Julien Fontanet
b779ab9bc5 utils/@routes(): accepts a subpath as index route. 2016-04-14 15:45:26 +02:00
Julien Fontanet
481943051c Tooltip component. 2016-04-14 15:45:26 +02:00
Olivier Lambert
cb49b7a906 fix styles 2016-04-14 11:55:14 +02:00
Olivier Lambert
090e4b3117 working health view 2016-04-14 10:35:58 +02:00
Olivier Lambert
9a40d5f784 style fixes 2016-04-13 19:49:59 +02:00
Olivier Lambert
1485637c6d more dashboard work 2016-04-13 17:52:54 +02:00
Olivier Lambert
b0ec8e26e8 sr table on dashboard 2016-04-13 13:53:01 +02:00
Olivier Lambert
e4c12e08cb sr panel on dashboard view 2016-04-13 12:55:24 +02:00
Olivier Lambert
a1675745b5 first charts on Dashboard view 2016-04-13 12:23:38 +02:00
Olivier Lambert
40beb5b104 dashboard work 2016-04-13 11:26:07 +02:00
Julien Fontanet
635c76db93 Deprecate host#CPUs and introduce host#cpus. 2016-04-13 10:59:29 +02:00
Olivier Lambert
e49e2f51c2 more work on dashboard 2016-04-12 22:57:45 +02:00
Olivier Lambert
99669f2678 add missing files 2016-04-12 19:03:40 +02:00
Olivier Lambert
9aa88b9dad initial work on dashboard 2016-04-12 19:02:53 +02:00
Julien Fontanet
10de29795a settings/servers: implement edition. 2016-04-12 18:49:25 +02:00
Julien Fontanet
c4767e74f4 Initial server view. 2016-04-12 18:16:07 +02:00
Julien Fontanet
19f8666e1e Use Babel transforms to optimize React in prod. 2016-04-12 18:16:07 +02:00
Julien Fontanet
2e2bbdf0d7 Update gulp-csso to v2. 2016-04-12 18:16:07 +02:00
Olivier Lambert
973bee0ffa fix links to submenus 2016-04-12 18:05:20 +02:00
Olivier Lambert
9470cdf774 better wording 2016-04-12 18:00:11 +02:00
Olivier Lambert
ab198ea60b add import entry 2016-04-12 17:56:59 +02:00
Olivier Lambert
c78f4bb6d2 add dashboard submenu 2016-04-12 17:47:38 +02:00
Olivier Lambert
ff054ca47f Add menu 2016-04-12 17:28:24 +02:00
Olivier Lambert
30cc804022 backup submenu 2016-04-12 17:13:35 +02:00
Olivier Lambert
890d733bf8 snapshot name edition 2016-04-12 15:19:05 +02:00
Olivier Lambert
a554a9c4a1 add editable vdi name and description 2016-04-12 15:16:40 +02:00
Olivier Lambert
9ef212937d log view style 2016-04-12 14:05:30 +02:00
Julien Fontanet
5f50f1928d Merge pull request #276 from vatesfr/fix-auto-poweron
Fix auto poweron (fix vatesfr/xo-web#879).
2016-04-11 15:53:37 +02:00
Julien Fontanet
32c9ed1dc2 Fix auto poweron (fix vatesfr/xo-web#879). 2016-04-11 15:31:59 +02:00
Pierre Donias
82d9c53f3e Left side menu and navbar. (#869)
Merge PR #869 from @pdonias.
2016-04-08 18:34:20 +02:00
Julien Fontanet
d9d91c4953 Update react/react-dom to v15 and react-intl to v2. 2016-04-08 15:16:55 +02:00
Julien Fontanet
0536926a1f 4.15.2 2016-04-08 11:17:47 +02:00
Julien Fontanet
3959c98479 Update xo-acl-resolver to 0.0.0. 2016-04-08 11:17:26 +02:00
Julien Fontanet
1e7d1b1628 0.0.0 2016-04-08 11:05:41 +02:00
Julien Fontanet
2ce5735676 Fix ACLs in API calls (fix vatesfr/xo-web#870). 2016-04-08 11:05:17 +02:00
Julien Fontanet
defd42f74e VDI: fix fallback on VM. 2016-04-08 10:46:57 +02:00
Julien Fontanet
dd5f5282e0 Remove special uglify setting for Angular. 2016-04-07 17:44:53 +02:00
Julien Fontanet
cc116defc6 Remove unused browser override ws.js. 2016-04-07 17:44:00 +02:00
Julien Fontanet
90c755e120 Remove unused browserify-plain-jade. 2016-04-07 17:43:40 +02:00
Julien Fontanet
85d1c80581 Move common modules out of src/node_modules. 2016-04-07 15:03:14 +02:00
Julien Fontanet
5bb04d3857 reducers: Fix REMOVE_OBJECTS handling. 2016-04-07 15:03:13 +02:00
Olivier Lambert
dde8404242 fix average computing on sparkline graphs 2016-04-07 14:00:10 +02:00
Julien Fontanet
7940bd2dcc Merge pull request #858 from vatesfr/abhamonr-vm-stats-only-when-vm-running
Get stats only when vm running.
2016-04-07 13:45:30 +02:00
Julien Fontanet
da48d117a0 Merge pull request #872 from vatesfr/pierre-v5-vm-state-icon
VM: state icon in front of VM's name.
2016-04-07 10:16:23 +02:00
Pierre
ffc74967fc VM: State icon in front of VM's name 2016-04-07 10:12:46 +02:00
Julien Fontanet
71741e144e Merge pull request #274 from vatesfr/abhamonr-set-vm-ram-min-max-values
api.vm: Set the min/max ram values.
2016-04-07 10:08:34 +02:00
wescoeur
f2e64cdd5e api.vm: Set the min/max ram values. 2016-04-07 09:25:45 +02:00
Julien Fontanet
afaa5d5e9e Merge pull request #275 from vatesfr/abhamonr-set-vm-cpus-max
api.vm: Set vcpus max.
2016-04-06 17:39:16 +02:00
wescoeur
d82861727d api.vm: Set vcpus max. 2016-04-06 17:32:51 +02:00
Julien Fontanet
90f0795416 Merge pull request #272 from vatesfr/abhamonr-fix-smb-backup-location
Ensure remote smb path is a directory. (fix vatesfr/xo-web#865)
2016-04-06 16:25:28 +02:00
wescoeur
c7388d5836 Get stats only when vm running. 2016-04-06 16:24:31 +02:00
wescoeur
aa54ab6e51 0.2.0 2016-04-06 16:01:24 +02:00
wescoeur
f0c28c74d8 Try to power on a hosts set. (Performance mode) 2016-04-06 16:00:01 +02:00
Julien Fontanet
ee4b8fc66f Merge pull request #868 from vatesfr/pierre-v5-add-multiple-tags
Tags: Adding a tag does not remove the input field
2016-04-06 15:41:55 +02:00
Julien Fontanet
c73f22ca45 home: refactor filtering on top of selectors/createFilter(). 2016-04-06 15:35:45 +02:00
wescoeur
3e285d6131 Search destination host per pool. (Performance mode) 2016-04-06 15:24:34 +02:00
Julien Fontanet
bafa053fd1 vm/logs: initial listing. 2016-04-06 14:55:44 +02:00
Julien Fontanet
9efbe7771c Merge pull request #273 from vatesfr/abhamonr-consistent-stats-object
vm.stats(): Returns empty stats if none can be found.
2016-04-06 12:10:34 +02:00
Pierre
a00406d2b3 Tags: Adding a tag should keep the input field on 2016-04-06 11:59:10 +02:00
wescoeur
a75caac13d Vm stats are consistents. Even without RRD stats. 2016-04-06 11:55:14 +02:00
Julien Fontanet
df91e17dc6 vm/disks: use more variables. 2016-04-06 11:01:05 +02:00
Julien Fontanet
7c6eeababc vm/disks: add SR name. 2016-04-06 10:52:34 +02:00
Julien Fontanet
911a5067f9 Factorize selectors. 2016-04-06 10:47:35 +02:00
wescoeur
279d0d20ea Ensure remote smb path is a directory. (fix vatesfr/xo-web#865) 2016-04-06 09:51:20 +02:00
Julien Fontanet
bfa0fe9c51 editable/Text: initial implementation. 2016-04-05 15:40:16 +02:00
Julien Fontanet
7dafe31d51 react-novnc: Ungrab keyboard/mouse on mouse leave. 2016-04-04 15:44:26 +02:00
Julien Fontanet
332ba96d34 ghooks: use commit-msg instead of pre-commit. 2016-04-04 11:33:30 +02:00
Julien Fontanet
3f6e5b7606 decorators/@autobind: Minor improvements. 2016-04-04 11:29:31 +02:00
Olivier Lambert
1271ecedb4 Merge pull request #859 from vatesfr/pierre-v5-icon-fixed-width
Icon: `fixedWidth` attribute
2016-04-01 19:17:50 +02:00
Pierre
80be18068f Icon: lodash/isInteger instead of Number.isInteger 2016-04-01 18:31:16 +02:00
Julien Fontanet
ecbf2c0958 utils/BlockLink: To use for a block link :) 2016-04-01 18:16:56 +02:00
Pierre
cfb84b677f Icon: fixedWidth attribute 2016-04-01 18:12:33 +02:00
Olivier Lambert
dfbd7a5d76 Merge pull request #857 from vatesfr/abhamonr-fix-select-vm-stats
Fix select vm stats.
2016-04-01 17:30:27 +02:00
wescoeur
8e157f8ff7 Fix select vm stats. 2016-04-01 17:16:04 +02:00
Olivier Lambert
c75580e852 style fixes 2016-04-01 17:03:21 +02:00
Olivier Lambert
e21934fd55 more work on VM advanced tab 2016-04-01 17:03:21 +02:00
Julien Fontanet
844f1609c8 utils/@autobind: bind a method at first call. 2016-04-01 17:00:03 +02:00
Julien Fontanet
6f7de28672 Vm/Console: disable for non-running VMs. 2016-04-01 16:42:27 +02:00
Olivier Lambert
247212d768 update advanced view 2016-04-01 16:31:11 +02:00
Olivier Lambert
6592b880ea reorder stuff 2016-04-01 16:31:11 +02:00
Julien Fontanet
e27a4bf119 Merge pull request #855 from vatesfr/abhamonr-vms-stats-stateful
Stateful component vms stats.
2016-04-01 16:29:23 +02:00
wescoeur
dce5a83093 Stateful component vms stats.
Delay of stats interval is used to get stats.
2016-04-01 16:26:01 +02:00
Julien Fontanet
78c70f35a1 Merge pull request #856 from vatesfr/pierre-v5-col-offset
Added offset management in `Col` component.
2016-04-01 16:25:26 +02:00
Pierre
f4b84a0902 Added offset management in Col component 2016-04-01 16:15:46 +02:00
Julien Fontanet
b16237b514 Vm/Stats: Fix translation of select. 2016-04-01 15:37:26 +02:00
Olivier Lambert
b0077539fa Merge pull request #854 from vatesfr/abhamonr-vms-charts-tooltips
Tooltips on vms charts.
2016-04-01 15:21:14 +02:00
Olivier Lambert
63602216eb using icon component 2016-04-01 14:38:58 +02:00
Olivier Lambert
2f93935009 more links 2016-04-01 14:30:21 +02:00
Olivier Lambert
c0a0b653c1 add links and fix icons 2016-04-01 14:25:41 +02:00
wescoeur
24d6354467 Tooltips on vms charts. 2016-04-01 13:03:02 +02:00
Julien Fontanet
54a07469fd Fix granularity on stats tab. 2016-04-01 12:49:55 +02:00
Olivier Lambert
12f37bead1 translate inside option 2016-04-01 12:42:55 +02:00
Olivier Lambert
8d76dc2511 tab styles 2016-04-01 12:01:52 +02:00
Olivier Lambert
8ef7d6defc more i18n 2016-04-01 11:49:35 +02:00
Olivier Lambert
2f2cbbe3f0 various improvements 2016-04-01 11:05:27 +02:00
Julien Fontanet
2662ac719b Fix tabs display. 2016-04-01 10:50:38 +02:00
Olivier Lambert
1b0fe6e847 center console 2016-04-01 10:29:04 +02:00
Olivier Lambert
9fa9e26324 disk tab 2016-04-01 10:25:56 +02:00
Julien Fontanet
cb434df099 Move prod deps to dev deps. 2016-04-01 10:21:04 +02:00
Julien Fontanet
e3cb3002fe Replace react-tabs with Bootstrap styles + router. 2016-04-01 10:21:00 +02:00
Olivier Lambert
8b2a09b522 better tag placement 2016-03-31 18:44:33 +02:00
Olivier Lambert
03265d2545 stats select translation 2016-03-31 18:10:16 +02:00
Olivier Lambert
9b25e07b5e sort tags and fix snapshot icon 2016-03-31 17:57:56 +02:00
Julien Fontanet
60a21ca58d Merge pull request #853 from vatesfr/abhamonr-vms-charts-time-labels
Intl labels on vms charts.
2016-03-31 17:52:05 +02:00
wescoeur
05172492ef Intl labels on vms charts. 2016-03-31 17:44:42 +02:00
Julien Fontanet
a9c089a994 Merge pull request #851 from vatesfr/pierre-v5-action-bar
VM action bar (without handlers) with react-bootstrap-4
2016-03-31 17:37:18 +02:00
Julien Fontanet
988d018c8e Merge pull request #852 from vatesfr/pierre-v5-fix-sparklines-proptype
Fixed Sparklines propType: array --> object
2016-03-31 17:35:53 +02:00
Pierre
853c611fde Fixed Sparklines propType: array --> object 2016-03-31 17:30:43 +02:00
Pierre
0886f5335f DropdownButton instead of SplitButton (custom width). 2016-03-31 17:22:00 +02:00
Pierre
024d481a4d Using react-bootstrap-4. VM action bar done (no handlers). Minor fixes. 2016-03-31 17:22:00 +02:00
Pierre
b80de1af95 ERR action-bar: DropdownButton incompatible with React 15 2016-03-31 17:21:59 +02:00
Julien Fontanet
da44268f0d ReactNoVnc: remove unnecessary logs. 2016-03-31 17:16:15 +02:00
Julien Fontanet
b921a3ed8e Split the VM view. 2016-03-31 17:15:23 +02:00
Julien Fontanet
d2c9c824f9 Declare routes directly on component. 2016-03-31 16:41:13 +02:00
Olivier Lambert
21c255051c better console panel style 2016-03-31 16:39:30 +02:00
Olivier Lambert
dccf09c5dd charts improvements 2016-03-31 16:12:57 +02:00
Julien Fontanet
0772a17e4c grid/Col: use xs for smallSize. 2016-03-31 15:21:26 +02:00
Olivier Lambert
644ee782d2 fix style issues 2016-03-31 15:11:40 +02:00
Olivier Lambert
ea180cc415 fix col sizes 2016-03-31 15:11:10 +02:00
Olivier Lambert
68e3c4e6ed change stats titles 2016-03-31 15:07:59 +02:00
Julien Fontanet
47b1c2d680 grid/Col: now expects smallSize, mediumSize or largeSize. 2016-03-31 15:07:32 +02:00
Olivier Lambert
2e513043b7 Merge pull request #850 from vatesfr/abhamonr-vms-graphs-titles
Abhamonr vms graphs titles
2016-03-31 14:16:40 +02:00
wescoeur
ea942635f7 VMs graphs titles. 2016-03-31 13:12:41 +02:00
wescoeur
8a5f5cc673 Display spinner icon when stats granularity is selected. 2016-03-31 12:51:29 +02:00
Julien Fontanet
6cc673035d Work around babel-eslint bug. 2016-03-31 11:36:42 +02:00
Olivier Lambert
02d717e5a8 better graph style 2016-03-31 11:35:12 +02:00
Julien Fontanet
77d83b06bd Merge pull request #848 from vatesfr/abhamonr-vm-stats-various-time-steps
Possibility to select time interval on vm stats.
2016-03-31 11:19:57 +02:00
wescoeur
e3d8eabb05 Possibility to select time interval on vm stats. 2016-03-31 11:16:49 +02:00
Julien Fontanet
0596b0106f Handle removeObjects action. 2016-03-30 18:07:40 +02:00
Julien Fontanet
765bbd90fc Install ghooks. 2016-03-30 18:01:51 +02:00
Julien Fontanet
3799902a8a More efficient sort of snapshots. 2016-03-30 17:43:42 +02:00
Julien Fontanet
ca1dbb4556 Initial VM console. 2016-03-30 17:37:37 +02:00
Julien Fontanet
94703492fd Use http-proxy for HTTP/ws proxy. 2016-03-30 17:33:50 +02:00
Julien Fontanet
df78117617 Do not crash on error in the console proxy. 2016-03-30 17:33:50 +02:00
Julien Fontanet
909b9480e4 Better error message in console proxy. 2016-03-30 17:33:49 +02:00
Julien Fontanet
21762ac1aa Return to the correct page after sign in. 2016-03-30 17:33:49 +02:00
Julien Fontanet
df551d457c Merge pull request #847 from vatesfr/abhamonr-chartist-graphs
VM's graphs. (Chartist)
2016-03-30 16:57:17 +02:00
wescoeur
278d518d8f VM's graphs. (Chartist) 2016-03-30 16:53:20 +02:00
Olivier Lambert
b06fa191f7 prepare limit space in vm advanced tab 2016-03-30 16:02:34 +02:00
Olivier Lambert
13d73f6f27 add translations 2016-03-30 15:54:49 +02:00
Olivier Lambert
d59af117c0 start work of Advanced vm tab 2016-03-30 15:51:23 +02:00
Julien Fontanet
412bc175b4 Merge pull request #270 from vatesfr/abhamonr-stats-object-contains-interval
Stats object contains interval attr.
2016-03-30 14:49:25 +02:00
wescoeur
dc0eb76e88 Stats object contains interval attr. 2016-03-30 14:34:37 +02:00
Olivier Lambert
69efd85ad6 check if VBD is a cd drive 2016-03-30 12:33:54 +02:00
Olivier Lambert
ead51787a8 Merge pull request #846 from vatesfr/pierre-v5-tags
Add and remove tag actions. Tag UI improvements.
2016-03-30 12:23:09 +02:00
Olivier Lambert
4bf0fee20d protection again counting twice or more a VDI size 2016-03-30 12:09:04 +02:00
Pierre
209693ee3f Add and remove tag actions. Tag UI improvements. Icon handles lg size. 2016-03-30 11:48:01 +02:00
Olivier Lambert
796d4f5b08 not pill in snapshots tab when no snapshots 2016-03-30 11:37:55 +02:00
Julien Fontanet
c96d94329e Fix using / as url. 2016-03-30 11:34:26 +02:00
Olivier Lambert
96914c9901 compute total vm disk space 2016-03-30 11:29:37 +02:00
Olivier Lambert
9e6073bf56 improve translation 2016-03-30 11:00:16 +02:00
Olivier Lambert
f8ad58159c minor i18n fix 2016-03-29 23:30:34 +02:00
Olivier Lambert
ede4a02315 various UI improvements 2016-03-29 22:43:06 +02:00
Olivier Lambert
e25faba990 basic VM disk tab 2016-03-29 22:35:27 +02:00
Olivier Lambert
4ccf272e53 add snapshot pill in tab name and more i18n 2016-03-29 21:08:58 +02:00
Olivier Lambert
5ad0951db3 improve snapshot view 2016-03-29 20:56:18 +02:00
Olivier Lambert
f72fcb76e3 start to work on snapshot view 2016-03-29 18:58:36 +02:00
Julien Fontanet
2695941a3c Remove pFinally() tests, now implemented in promise-toolbox. 2016-03-29 18:05:32 +02:00
Olivier Lambert
8ca00c81b2 display network name_label in vm network view 2016-03-29 18:02:55 +02:00
Olivier Lambert
5c7f87b8ae case when not VM network interface at all 2016-03-29 16:38:16 +02:00
Julien Fontanet
9f4f7ec88c utils/If: experimental component. 2016-03-29 16:14:54 +02:00
Olivier Lambert
ba7676f778 using keys for array 2016-03-29 16:01:46 +02:00
Julien Fontanet
ac248c32bb Fix handling of empty VM stats. 2016-03-29 15:44:46 +02:00
Julien Fontanet
dd6a3e8535 Update babel-eslint to 6.0.0. 2016-03-29 15:32:20 +02:00
Julien Fontanet
69b538cfd6 Remove unused redux-promise. 2016-03-29 15:32:20 +02:00
Julien Fontanet
e248c22f4b Remove unused redux-router. 2016-03-29 15:32:20 +02:00
Olivier Lambert
eff3c43483 better network page 2016-03-29 15:31:56 +02:00
Olivier Lambert
1cbfc3ccd4 various updates and fixes 2016-03-29 14:58:23 +02:00
Julien Fontanet
3506be1a70 Update promise-toolbox to 0.3.2. 2016-03-29 09:54:24 +02:00
Olivier Lambert
2fa72838f9 add sparklines to console view 2016-03-28 21:48:56 +02:00
Olivier Lambert
a559ec1fda better vm network translations 2016-03-28 21:42:13 +02:00
Olivier Lambert
8ddbc8b1fb minor network improvements 2016-03-28 21:21:59 +02:00
Olivier Lambert
c650a43d38 add translations 2016-03-28 21:12:30 +02:00
Olivier Lambert
ab4cc20c8c better network tab 2016-03-28 21:09:21 +02:00
Olivier Lambert
30d613ff04 minor vm action reordering 2016-03-28 20:09:41 +02:00
Olivier Lambert
b93da5a281 tag minor style modification 2016-03-28 18:06:57 +02:00
Olivier Lambert
9e2cf67a93 mockup layout for console view 2016-03-28 12:52:00 +02:00
Julien Fontanet
cbf4786b39 Do not crash on unhandled error event. 2016-03-27 13:31:31 +02:00
Olivier Lambert
e87720ffdd minor style modification 2016-03-25 23:22:43 +01:00
Olivier Lambert
5108ed7da5 Merge pull request #842 from vatesfr/pierre-v5-tags
`Tags` component, basic version
2016-03-25 23:21:05 +01:00
Olivier Lambert
77936d86f2 position tags in VM view 2016-03-25 23:10:30 +01:00
Olivier Lambert
cbe8927d73 move tag style in main css file + PR comments 2016-03-25 22:57:47 +01:00
Pierre
47a7e98da8 Tags component 2016-03-25 22:56:36 +01:00
Olivier Lambert
d4f27cd2e0 default large buttons 2016-03-25 22:39:35 +01:00
Olivier Lambert
c355ad7a86 css fix 2016-03-25 19:16:48 +01:00
Julien Fontanet
c8c9ec081d Remove incorrect divs in VM page. 2016-03-25 19:12:46 +01:00
Julien Fontanet
1289e46401 Fix xo-sparlines/CpuSparkLines proptypes. 2016-03-25 19:12:46 +01:00
Julien Fontanet
0b54292130 VIFs in VM view. 2016-03-25 19:04:54 +01:00
Olivier Lambert
d1e2b91116 comment ationbar button to merge 2016-03-25 18:49:09 +01:00
Julien Fontanet
cd96b3e8f6 Merge pull request #844 from vatesfr/olivierlambert-clipboard
5.x clipboard
2016-03-25 18:19:27 +01:00
Olivier Lambert
9119f4d06f style fix 2016-03-25 18:16:40 +01:00
Olivier Lambert
4e6ccf2c81 reverse order on general tab 2016-03-25 18:08:18 +01:00
Olivier Lambert
6294e43762 various improvements 2016-03-25 18:08:18 +01:00
Olivier Lambert
feca78e55d reorder stuff and add clipboard support for UUID 2016-03-25 18:08:17 +01:00
Olivier Lambert
0c86526ad2 better sparklines styles 2016-03-25 18:07:33 +01:00
Olivier Lambert
9fd1d26067 minor graph improvements 2016-03-25 17:44:55 +01:00
Julien Fontanet
8dbf334208 Merge pull request #267 from vatesfr/back-to-babel-6
Back to babel 6
2016-03-25 17:37:52 +01:00
Julien Fontanet
60ba5fbc72 Merge pull request #268 from vatesfr/abhamonr-stats-with-halted-vm
Throw an error if a vm is halted and its stats are requested.
2016-03-25 17:37:27 +01:00
Julien Fontanet
c3ace0c44f Simply do npm test before git commit. 2016-03-25 17:36:37 +01:00
Olivier Lambert
8eceb90e63 add startTime 2016-03-25 17:33:34 +01:00
Julien Fontanet
5ec02078d1 Merge pull request #843 from vatesfr/abhamonr-vm-charts
Vm Sparklines (Cpu, ram, vif, xvd)
2016-03-25 16:02:26 +01:00
wescoeur
4754e19e83 Throw an error if a vm is halted and its stats are requested. 2016-03-25 15:49:52 +01:00
wescoeur
012c6f3d41 Vm Sparklines (Cpu, ram, vif, xvd) 2016-03-25 15:41:44 +01:00
Olivier Lambert
8e89d492fc fix style 2016-03-25 14:55:46 +01:00
Olivier Lambert
69fe2f0443 date stuff 2016-03-25 14:52:14 +01:00
Julien Fontanet
ebd7f4ae1b Ignore Redux dev tools in production. 2016-03-25 12:40:46 +01:00
Julien Fontanet
f9ca4f339e Name components for better error messages. 2016-03-25 12:40:46 +01:00
Olivier Lambert
5919020e1c add cpu weight 2016-03-25 12:26:27 +01:00
Olivier Lambert
9d09c2356d add VM style 2016-03-25 12:08:24 +01:00
Julien Fontanet
3cfb597fc6 Properly forward props arg to super(). 2016-03-25 11:39:24 +01:00
Julien Fontanet
03f2da19e5 utils#Debug: component printing an object in JSON. 2016-03-25 11:39:24 +01:00
Julien Fontanet
951e62d984 Do not declare global variable osToFamily in utils. 2016-03-25 11:39:23 +01:00
Olivier Lambert
146039c4c5 translate UUID and use definitions for Advanced tab 2016-03-25 11:37:13 +01:00
Olivier Lambert
98a216fdb9 better translations 2016-03-25 11:00:45 +01:00
Olivier Lambert
28ea09a0c4 More translations 2016-03-24 23:32:59 +01:00
Olivier Lambert
a98a772360 remove trailing comma 2016-03-24 23:11:43 +01:00
Olivier Lambert
4f1da8a24b more translations 2016-03-24 23:11:03 +01:00
Olivier Lambert
cb83e71f2b better VM view 2016-03-24 19:29:49 +01:00
Olivier Lambert
646d174616 VM view stuff 2016-03-24 19:17:59 +01:00
Julien Fontanet
34cf78fd33 Require npm >=3. 2016-03-24 18:55:34 +01:00
Olivier Lambert
457e1bee2f fix osfamily 2016-03-24 18:45:02 +01:00
Olivier Lambert
6b95c63c1e style and some fixes 2016-03-24 18:25:46 +01:00
Julien Fontanet
e965f222db Merge pull request #841 from vatesfr/pierre-v5-action-bar
Action bar fixes
2016-03-24 18:17:50 +01:00
Olivier Lambert
d1591bc01c fix style 2016-03-24 17:36:12 +01:00
Olivier Lambert
a72846be7a uncomment icons 2016-03-24 17:36:12 +01:00
Julien Fontanet
5072661369 utils#{format,parse}Size() 2016-03-24 17:30:04 +01:00
Olivier Lambert
5417a83662 Add icon distro display 2016-03-24 17:09:28 +01:00
Pierre
23be006932 Removed console button in action bar 2016-03-24 16:54:33 +01:00
Pierre
e28553767e Label and icon are required for an ActionBar 2016-03-24 16:53:19 +01:00
Julien Fontanet
c1f64c043d Merge pull request #836 from vatesfr/pierre-v5-action-bar
v5 action bar
2016-03-24 16:50:02 +01:00
Pierre
9e6d0183d4 Button component. 2016-03-24 16:44:57 +01:00
Pierre
8dc7f3fb9e Better propTypes for ActionBar 2016-03-24 16:44:56 +01:00
Pierre
ac7b3b9b67 Icons CSS. propTypes on ActionBar and Icon. ActionBar in separate file. 2016-03-24 16:44:56 +01:00
Pierre
af0ebba5db Default icon. Lint fixes 2016-03-24 16:44:56 +01:00
Pierre
b454709e5e xo-icon- prefix in icon component. Default icon size: 1 2016-03-24 16:44:56 +01:00
Pierre
78684607bd Added VM actions icons 2016-03-24 16:44:56 +01:00
Pierre
3790cad5e5 Editable icon size. VM actions messages. 2016-03-24 16:44:56 +01:00
Pierre
77b7c091a8 Icon component 2016-03-24 16:44:56 +01:00
Pierre
450ad62fa9 ActionButton component. Added delete button in VM view. 2016-03-24 16:44:56 +01:00
Julien Fontanet
1d138c33a4 Col/Row can take a className prop. 2016-03-24 16:32:20 +01:00
Julien Fontanet
fb2a0e4a1e Add font-mfizz. 2016-03-24 16:18:04 +01:00
Julien Fontanet
da3db0b0f9 Cache node_modules on Travis. 2016-03-24 15:54:08 +01:00
Julien Fontanet
bc8aaadd90 Initial VM stats. 2016-03-24 15:39:18 +01:00
Olivier Lambert
e6054a4971 use Col from grid component 2016-03-24 13:44:54 +01:00
Olivier Lambert
26548e1929 using grid component 2016-03-24 13:37:45 +01:00
Julien Fontanet
4424cf8190 Initial grid component. 2016-03-24 12:53:19 +01:00
Julien Fontanet
67c1aacd54 @propTypes decorator. 2016-03-24 12:53:19 +01:00
Olivier Lambert
39b046f18b center properly 2016-03-24 12:50:29 +01:00
wescoeur
627227f2f9 0.1.0 2016-03-24 11:48:49 +01:00
wescoeur
42cef0da88 Performance and density mode work. 2016-03-24 11:44:23 +01:00
Julien Fontanet
d630f04872 Add missing dependency vinyl. 2016-03-24 11:43:22 +01:00
Julien Fontanet
35403c87bd Add missing dependency jsonrcp-websocket-client. 2016-03-24 11:30:27 +01:00
Julien Fontanet
f2b247e042 No tests for now: remove unused deps. 2016-03-24 11:16:04 +01:00
Julien Fontanet
94022bd9f2 Add missing dependency readable-stream. 2016-03-24 11:16:04 +01:00
Julien Fontanet
ccb2abb950 Remove support for Node < 4. 2016-03-24 11:16:00 +01:00
Julien Fontanet
cbafc15292 Various updates. 2016-03-24 10:52:49 +01:00
Julien Fontanet
e12c52294a Various updates. 2016-03-24 10:46:51 +01:00
Olivier Lambert
63b529da00 add react tabs 2016-03-24 10:06:51 +01:00
wescoeur
06f60b7d92 Make code modular. 2016-03-24 09:46:14 +01:00
Olivier Lambert
e4be2fd19e add icons 2016-03-23 19:02:19 +01:00
Julien Fontanet
269bf4feec Various updates. 2016-03-23 18:40:56 +01:00
Olivier Lambert
9d4c4a1e2b translate tabs 2016-03-23 18:38:52 +01:00
Olivier Lambert
2e41fdcb41 More work on VM view 2016-03-23 18:01:32 +01:00
wescoeur
3ddb4d2b23 Log VM migrations (density mode). 2016-03-23 17:37:41 +01:00
wescoeur
5a825bd459 Density mode test. 2016-03-23 16:52:05 +01:00
Olivier Lambert
2e48218623 conforming to the planned template display 2016-03-23 16:15:01 +01:00
Olivier Lambert
8576a54056 start the VM in the action bar 2016-03-23 16:02:30 +01:00
Julien Fontanet
79d924f920 Various updates. 2016-03-23 15:23:08 +01:00
Julien Fontanet
305beb3af8 Fix indent. 2016-03-23 13:00:04 +01:00
Julien Fontanet
06fceded14 Various updates. 2016-03-23 12:46:30 +01:00
Olivier Lambert
0eadfd5a58 Merge pull request #835 from vatesfr/abhamonr-fix-plugin-multiple-users-groups-loading
Avoid multiple users/groups loading in plugins view. (fix vatesfr/xo-…
2016-03-23 12:11:44 +01:00
wescoeur
eea34a4f6c Avoid multiple users/groups loading in plugins view. (fix vatesfr/xo-web#829) 2016-03-23 12:03:56 +01:00
Julien Fontanet
500ec36522 Various updates. 2016-03-23 11:21:47 +01:00
Olivier Lambert
ab1f08f687 0.3.4 2016-03-23 10:35:41 +01:00
Pierre
2f89e3658a Backup type in report e-mail (See vatesfr/xo-web#822) 2016-03-23 10:11:01 +01:00
Julien Fontanet
a0559d0dc9 Revert "Work around Babel T7172."
This reverts commit ca8476d466.
2016-03-23 09:45:59 +01:00
Julien Fontanet
8d03ce19b0 Revert "Merge pull request #248 from vatesfr/babel-t7172"
This reverts commit f125b593bf, reversing
changes made to ca8476d466.
2016-03-23 09:43:30 +01:00
Julien Fontanet
2470d851e9 Revert "Merge pull request #266 from vatesfr/babel-5-workaround"
This reverts commit b77d3f123d, reversing
changes made to c10b0afaa8.
2016-03-23 09:41:54 +01:00
Julien Fontanet
df99f5c0a5 Revert "Merge pull request #265 from vatesfr/revert-babel-6"
This reverts commit 8907290d27, reversing
changes made to eb55cba34a.
2016-03-23 09:41:08 +01:00
Julien Fontanet
ca525bd08c 4.15.1 2016-03-22 15:28:15 +01:00
Julien Fontanet
36f5084c52 4.15.1 2016-03-22 15:13:54 +01:00
Olivier Lambert
ac2ffc4586 Fix #830 2016-03-22 14:35:57 +01:00
Olivier Lambert
b77d3f123d Merge pull request #266 from vatesfr/babel-5-workaround
Xapi#migrateVm(): Babel 5 workaround. Fix vatesfr/xo-web/issues/831
2016-03-22 13:46:31 +01:00
Olivier Lambert
5781269557 Remove old message about not supported SMB remote for delta 2016-03-22 13:32:19 +01:00
Julien Fontanet
3c14405155 Xapi#migrateVm(): Babel 5 workaround. 2016-03-22 13:21:56 +01:00
Olivier Lambert
e4422b9fe7 Display only permitted SR for VM copy 2016-03-22 12:14:25 +01:00
Julien Fontanet
c10b0afaa8 Xapi#copyVm(): wait copy to finish before deleting snapshot. 2016-03-22 12:14:15 +01:00
Julien Fontanet
3f7a2d6bfb Xapi#copyVm(): fix snapshot deletion. 2016-03-22 12:07:35 +01:00
Olivier Lambert
269f76d546 Fix #832 2016-03-22 11:47:34 +01:00
Julien Fontanet
f2a0d56e01 Update xen-api to 0.7.4. 2016-03-22 10:23:29 +01:00
Julien Fontanet
eac29993d3 0.7.4 2016-03-22 09:37:55 +01:00
Julien Fontanet
540e3f0aaa 4.15.0 2016-03-21 16:50:22 +01:00
Julien Fontanet
0736cc8414 4.15.0 2016-03-21 16:36:17 +01:00
Julien Fontanet
53240d40a0 vm.delete(): Fix :: usage in CoffeeScript. 2016-03-21 15:55:19 +01:00
Julien Fontanet
4137dd7cc8 Xo/ResourceSet#computeVmResourcesUsage(): fix access to Xo#getXapi(). 2016-03-21 15:29:41 +01:00
Julien Fontanet
8907290d27 Merge pull request #265 from vatesfr/revert-babel-6
Revert "Merge pull request #193 from vatesfr/babel-6"
2016-03-21 15:09:37 +01:00
Julien Fontanet
401dc1cb10 Revert "Minor fixes related to Babel 6."
This reverts commit a9a1472cb7.
2016-03-21 13:02:34 +01:00
Julien Fontanet
a6b5d26f56 Revert "Merge pull request #193 from vatesfr/babel-6"
This reverts commit 250b0eee28, reversing
changes made to 57ebd5bb7a.
2016-03-21 13:02:34 +01:00
Julien Fontanet
eb55cba34a Xapi#exportDeltaVm(): fix handling of empty VBDs. 2016-03-21 13:00:56 +01:00
Julien Fontanet
b0b41d984e Update @marsaud/smb2-promise to 0.2. 2016-03-21 12:38:12 +01:00
Olivier Lambert
5f64ae28e0 Merge pull request #800 from vatesfr/abhamonr-delta-backup-on-smb
SMB can be used with delta backups.
2016-03-21 09:37:40 +01:00
Julien Fontanet
ece364c823 Various updates. 2016-03-18 18:09:44 +01:00
Julien Fontanet
947f64e32d SmbHandler: fix error normalization. 2016-03-18 16:54:58 +01:00
Julien Fontanet
24ccbfa9b6 Test before commit. 2016-03-18 16:40:15 +01:00
Olivier Lambert
8110acb795 removing the debug mode for Vhd merge 2016-03-18 16:30:48 +01:00
Olivier Lambert
7473aede60 Merge pull request #259 from vatesfr/abhamonr-delta-backups-with-smb
Delta backups works with samba
2016-03-18 16:28:44 +01:00
Olivier Lambert
f669f64fcb add changelog 2016-03-18 16:17:36 +01:00
Julien Fontanet
2a53ed93c4 Various updates. 2016-03-18 15:00:33 +01:00
wescoeur
6f204f721b Delta backups works with samba.
Many fixes (linux paths, windows errors support...)
All options in smb handlers have a default value.
Remove the handler._remote.path usage.
...
2016-03-18 14:57:14 +01:00
Olivier Lambert
7b0e08094a Merge pull request #264 from vatesfr/abhamonr-delta-backup-with-quiesce
Delta backup works with quiesce. (fix vatesfr/xo-web#812)
2016-03-18 14:47:12 +01:00
Julien Fontanet
2b731fb30c Various updates. 2016-03-18 12:14:06 +01:00
wescoeur
322e1a75b9 Delta backup works with quiesce. (fix vatesfr/xo-web#812) 2016-03-18 10:20:49 +01:00
Julien Fontanet
be2db2dd8e Fix immediately spelling (thx @Danp2). 2016-03-18 10:02:30 +01:00
Julien Fontanet
09c08df1b9 Various updates. 2016-03-18 09:17:49 +01:00
Olivier Lambert
9ccd3438ad Fix #821 2016-03-17 19:15:35 +01:00
Julien Fontanet
393bcbcca5 Various updates. 2016-03-17 18:14:57 +01:00
Julien Fontanet
7fac0958b8 Various updates. 2016-03-17 16:35:45 +01:00
Olivier Lambert
c6a0874b3b Merge pull request #758 from vatesfr/marsaudf-backup-ui-fixes
Fixed backup remote lists
2016-03-17 14:23:56 +01:00
Olivier Lambert
9c80470185 Merge pull request #820 from vatesfr/pierre-server-version
Added server version in About view (See #807)
2016-03-17 14:21:56 +01:00
Olivier Lambert
f08ab729bd 0.3.3 2016-03-17 14:18:18 +01:00
Pierre
052c974369 Fixed get tag 2016-03-17 14:15:19 +01:00
Olivier Lambert
e760e868c1 0.3.2 2016-03-17 13:47:45 +01:00
Julien Fontanet
2034445f5b Various updates. 2016-03-17 12:13:29 +01:00
Pierre
5e3831a1a4 Added tag in report e-mail 2016-03-17 12:11:49 +01:00
wescoeur
99e046ddea Performance mode: The worst host is removed of hosts array after optimization. 2016-03-17 12:11:34 +01:00
wescoeur
12e0759711 Optimize hosts in order priority. 2016-03-17 11:21:15 +01:00
wescoeur
da0c1cec22 Fix cpu average. Use the cpu number of host and vm. 2016-03-17 11:01:12 +01:00
Pierre
fd8da5ffba Added server version in About view 2016-03-17 10:52:32 +01:00
Olivier Lambert
e987af87f6 Merge pull request #809 from vatesfr/abhamonr-recursive-plugins-config
Complex configurations plugins. (recursion, array of objects...)
2016-03-17 10:31:31 +01:00
Pierre
0074cc3933 Fixed refresh bug. 2016-03-17 09:51:53 +01:00
Pierre
5f2ce89316 Fixed Object/String/Array display in plugin config. 2016-03-17 09:51:53 +01:00
Pierre
60492c48a6 Typo fix. 2016-03-17 09:51:53 +01:00
Pierre
eed2d70017 Better array display when items are objects 2016-03-17 09:51:53 +01:00
Pierre
b859adaa8c Fixes 2016-03-17 09:51:53 +01:00
Pierre
89a587f9ae enum handling 2016-03-17 09:51:53 +01:00
wescoeur
fb56bcff80 Complex configurations plugins. (recursion, array of objects...) 2016-03-17 09:51:53 +01:00
Olivier Lambert
a0806d98a1 Merge pull request #263 from vatesfr/pierre-feedback-when-error-on-sr
`GenericXoError` to throw errors with human readable message.
2016-03-16 17:48:33 +01:00
Olivier Lambert
182897d971 Merge branch 'next-release' into pierre-feedback-when-error-on-sr 2016-03-16 17:42:32 +01:00
Fabrice Marsaud
99eb6907dd updater will block nav after 1 min out 2016-03-16 16:32:52 +01:00
Fabrice Marsaud
3743fad899 when updater-blocked, any nav attempt will retry connection 2016-03-16 16:18:02 +01:00
Olivier Lambert
c1e59a7e03 Merge pull request #818 from vatesfr/pierre-feedback-when-error-on-sr
Feedback when disconnecting a host from an SR does not work (See #810)
2016-03-16 15:54:11 +01:00
Pierre
f90a639fcc Minor fix. 2016-03-16 15:52:29 +01:00
Pierre
b34dee1f83 Error message formatting: leading capital and trailing period. 2016-03-16 15:45:36 +01:00
Pierre
d95d7208a2 Minor fix. 2016-03-16 15:42:53 +01:00
Pierre
bbac8ffe64 Substituted all JsonRpcErrors by GenericErrors. 2016-03-16 15:34:19 +01:00
Pierre
6edd65ad8f xo.pbd.disconnect instead of xoApi.call(...). Better error notification. 2016-03-16 15:01:29 +01:00
Pierre
801a649fb1 GenericXoError: Error with human readable message property. Used on PBD.unplug 2016-03-16 14:59:32 +01:00
Julien Fontanet
d23df2ab15 0.0.6 2016-03-16 14:04:14 +01:00
Julien Fontanet
dbe828097c Do not set credentials if they are undefined. 2016-03-16 14:03:28 +01:00
Julien Fontanet
48a0623ded Fix handling of ignoreUnauthorized option. 2016-03-16 14:03:01 +01:00
Olivier Lambert
7c09ceecfd Merge pull request #262 from vatesfr/pierre-network-management
PIFs and networks management (See vatesfr/xo-web#805)
2016-03-16 11:22:06 +01:00
Olivier Lambert
0959ca6a40 Merge pull request #813 from vatesfr/pierre-network-management
Host & pool views: better network management (See #805)
2016-03-16 10:57:34 +01:00
Pierre
8c4954fb9b Camel case fixes in pif.js 2016-03-16 10:55:15 +01:00
Pierre
1287fa2cd0 Allowed network creation without PIF 2016-03-16 10:50:47 +01:00
Pierre
a5a07f250d UI improvements 2016-03-16 10:46:08 +01:00
Pierre
089fb526f5 IP configuration: DHCP & No IP. UI fixes. 2016-03-16 10:46:08 +01:00
Pierre
af58b7593a Configure PIF IP. UI fixes. 2016-03-16 10:46:07 +01:00
Pierre
d4508b25ce Only physical PIFs should be shown when creating network 2016-03-16 10:46:07 +01:00
Pierre
9edc218eaa Delete network 2016-03-16 10:46:07 +01:00
Olivier Lambert
3790f753aa Merge pull request #801 from vatesfr/pierre-pool-networks
Pool view: Interface panel and network creation (See #226)
2016-03-16 10:45:06 +01:00
Pierre
fbe892105b Cast. Removed unused pieces of code. Minor fixes. 2016-03-16 10:29:42 +01:00
Pierre
584e1bb847 reconfigureIp to set the IP, netmask, DNS and gateway of a PIF 2016-03-16 10:12:40 +01:00
Pierre
c437ab282e Detroy VLANs and destroy network 2016-03-16 10:12:40 +01:00
Pierre
42a100d138 Delete network 2016-03-16 10:12:40 +01:00
Pierre
65807bf35d Fixes. 2016-03-16 10:12:40 +01:00
Pierre
2995f48ede network.create instead of createNetwork for host and pool 2016-03-16 10:12:40 +01:00
Julien Fontanet
3527b86ec5 Add empty test file. 2016-03-15 16:25:46 +01:00
Julien Fontanet
fe7a9104a8 Minor package.json changes. 2016-03-15 16:13:49 +01:00
Julien Fontanet
cbfb94afcb Update deps. 2016-03-15 15:42:14 +01:00
Julien Fontanet
74d8eff6d8 Add support for JSON encoded values. 2016-03-14 10:20:15 +01:00
Julien Fontanet
d452702aef Better error messages on web server failure. 2016-03-11 23:41:51 +01:00
wescoeur
d7ed9ab64e Remove masters from toOptimize and hosts. 2016-03-11 16:48:36 +01:00
wescoeur
3b6c5898fe Plugin can use enum for modes now. 2016-03-11 15:57:29 +01:00
wescoeur
ae22adc920 Density mode in progress. 2016-03-11 15:45:23 +01:00
Julien Fontanet
f8ed9c7357 Merge pull request #260 from vatesfr/pierre-pool-networks
`createNetwork` on pool: network creation on pool.master (See vatesfr/xo-web#226)
2016-03-11 15:26:37 +01:00
wescoeur
5dacf9c3f5 The configuration object must not be modified. 2016-03-11 14:42:40 +01:00
Pierre
9143120177 network.create instead of createNetwork for host and pool 2016-03-11 11:57:12 +01:00
Pierre
fd3b1bee92 Code mutualization between host and pool. 2016-03-11 11:57:11 +01:00
Pierre
bff42954d1 createNetwork on pool: network creation on pool.master 2016-03-11 11:57:11 +01:00
wescoeur
9129bfa284 Excluded hosts in options. 2016-03-11 11:32:37 +01:00
Julien Fontanet
82b30d8388 Do not use nice-pipe (too buggy). 2016-03-10 17:23:04 +01:00
Julien Fontanet
e9a0dc7826 Various updates. 2016-03-10 17:01:16 +01:00
wescoeur
96190c21d6 threshold 0 can by used with cpu. 2016-03-09 17:53:38 +01:00
Julien Fontanet
af2a9225b8 Fix invalid \t in JSON. 2016-03-09 17:41:55 +01:00
wescoeur
aa117a0ee3 Fixes hosts top optimize. 2016-03-09 17:29:57 +01:00
wescoeur
39b0ea381b Debug exec plans 2016-03-09 17:24:57 +01:00
wescoeur
8ce3a4f904 SMB can be used with delta backups. 2016-03-09 17:12:15 +01:00
wescoeur
021cea0b34 Thresholds are exposed in configuration. 2016-03-09 16:59:36 +01:00
wescoeur
eaad41fe55 Load balancer config use a checkbox. 2016-03-09 16:06:06 +01:00
wescoeur
e25d58d70a Fixes. 2016-03-09 15:34:57 +01:00
Julien Fontanet
6b74fd6a02 plugin.get(): Expose versions (see vatesfr/xo-web#807). 2016-03-09 14:51:34 +01:00
Julien Fontanet
1d42e9c348 Disable tests for now. 2016-03-09 14:29:27 +01:00
Julien Fontanet
2340a6bc37 Various updates. 2016-03-09 14:28:18 +01:00
wescoeur
9c0967170a Schema update. 2016-03-09 12:23:02 +01:00
Julien Fontanet
0547cebfe2 Import package.json explicitely to make dependency-check happy. 2016-03-09 11:46:09 +01:00
Julien Fontanet
caefdf4300 system.getServerVersion() (see vatesfr/xo-web#807). 2016-03-09 11:37:03 +01:00
Pierre
be0b9c7e53 Removed log 2016-03-09 10:38:45 +01:00
Pierre
6d75cd9025 Minor fix 2016-03-09 10:33:09 +01:00
Pierre
345d6f369e network.create instead of createNetwork for host and pool 2016-03-09 10:33:09 +01:00
Pierre
959ea86d85 Pool view: Interface panel and network creation 2016-03-09 10:33:09 +01:00
Olivier Lambert
a59df15994 Merge pull request #255 from vatesfr/olivierlambert-cifs-iso
Prepare user/pass for CIFS ISO share
2016-03-04 13:49:08 +01:00
Olivier Lambert
33304eb8d9 add type in the new SR API 2016-03-04 13:37:37 +01:00
Olivier Lambert
eb21a1bfb3 support SMB ISO SR 2016-03-04 13:37:37 +01:00
Olivier Lambert
ce0333b0a7 prepare user/pass for CIFS ISO share 2016-03-04 13:37:37 +01:00
Olivier Lambert
b67a99af3d Add types for ISO SRs 2016-03-04 13:36:35 +01:00
Julien Fontanet
25a1b53a91 Prints unhandled rejection ASAP. 2016-03-04 11:46:15 +01:00
Julien Fontanet
6aba73f970 Use ::pCatch(noop) instead of .catch(noop).
Avoid hiding programmer errors.
2016-03-04 11:21:33 +01:00
Olivier Lambert
fa3b848d40 Merge pull request #799 from vatesfr/pierre-add-smb-sr
UI to add an SMB SR (user and password inputs) (Fix #731)
2016-03-03 18:25:55 +01:00
Pierre
0f971e9e7d Minor fix. 2016-03-03 17:55:43 +01:00
Pierre
c17f76c009 SMB case fix. 2016-03-03 17:50:23 +01:00
Pierre
bf23b5d295 Enabled Create button and removed search button when SMB. 2016-03-03 17:39:18 +01:00
Julien Fontanet
6406bb7fb6 FIXME: remote type gessing should be done in xo-remote-parser. 2016-03-03 17:32:09 +01:00
Pierre
09c7256d42 UI to add an SMB SR (user and password inputs) 2016-03-03 16:58:46 +01:00
Olivier Lambert
eaee8a2fbb Merge pull request #798 from vatesfr/pierre-new-vm-from-pool-enhancement
New VM on pool: display all SRs (Fix #790)
2016-03-03 16:41:45 +01:00
Pierre
3b18dd67be Compatibility with self service 2016-03-03 16:16:03 +01:00
Pierre
c3f87b4248 Explicit message in summary 2016-03-03 15:27:07 +01:00
Julien Fontanet
f6b91ad652 Update deps. 2016-03-03 14:54:29 +01:00
wescoeur
abd89df365 Three class: Plan, PerfomancePlan, DensityPlan. 2016-03-03 14:47:56 +01:00
Pierre
1c79edc52f Detection of incompatible SRs 2016-03-03 13:05:26 +01:00
Julien Fontanet
fe2dfd0e8f Merge branch 'stable' into next-release 2016-03-03 13:03:18 +01:00
Julien Fontanet
2458107903 Merge pull request #258 from vatesfr/marsaudf-fix-nfsHandler
Fix NFS remote handler.
2016-03-03 12:41:42 +01:00
Fabrice Marsaud
628f9bd9b5 Fixed findmnt call 2016-03-03 12:32:22 +01:00
Julien Fontanet
2d791571d5 Merge pull request #257 from vatesfr/julien-f-remove-unnecessary-await
Remove unnecessary `await`s.
2016-03-03 12:28:50 +01:00
Olivier Lambert
fa6056c1b1 Add unknown state 2016-03-03 12:26:06 +01:00
Olivier Lambert
d5762c7ad8 limit VDI form for admin users 2016-03-03 12:26:06 +01:00
Olivier Lambert
ed57127a79 Merge pull request #251 from vatesfr/host-state-unknown
New host state: Unknown.
2016-03-03 12:25:00 +01:00
Julien Fontanet
6d9bcff8e1 Remove unnecessary awaits.
- slightly improve perf
- slightly better stack traces
2016-03-03 12:24:22 +01:00
Julien Fontanet
8126cd1879 New host state: Unknown. 2016-03-03 12:15:30 +01:00
Julien Fontanet
d9c9dd2a4f Welcome message in the issue template 2016-03-03 11:31:27 +01:00
Julien Fontanet
ab34c2261c server.getAll(): fix related to xen-servers mixin. 2016-03-03 11:25:20 +01:00
wescoeur
651e4bb775 Fixes (cpus to cpu). Add Low/Critical thresholds. 2016-03-03 11:17:04 +01:00
Olivier Lambert
6953f65970 Merge pull request #256 from vatesfr/fix-vm-recoveryStart
Xapi#startVmOnCd(): fix for HVM (fix vatesfr/xo-web#794).
2016-03-03 10:10:10 +01:00
Julien Fontanet
52073e79fa Xapi#startVmOnCd(): fix for HVM (fix vatesfr/xo-web#794). 2016-03-03 10:02:09 +01:00
Olivier Lambert
3a4d945c68 Merge pull request #793 from Danp2/next-release
Fix issue with gathering NFS shares
2016-03-02 23:41:04 +01:00
Danp2
f4a364816b Fix issue with gathering NFS shares
scsiList vs nfsList
2016-03-02 16:11:26 -06:00
Olivier Lambert
931bc03cab Inverse critical/warning SR usage in health view 2016-03-02 18:30:05 +01:00
Julien Fontanet
8e3484bb17 Merge pull request #252 from vatesfr/better-default-https
Better defaults HTTPs config.
2016-03-02 18:04:05 +01:00
Olivier Lambert
1abd4937cd Merge pull request #792 from vatesfr/pierre-licenses
Host and pool licenses (Fix #763)
2016-03-02 17:39:09 +01:00
Julien Fontanet
7110da8a36 Better defaults HTTPs config. 2016-03-02 17:12:32 +01:00
Pierre
0df8b51c62 Host view and pool view: License panel. 2016-03-02 17:09:20 +01:00
wescoeur
7f06d6e68c Low threshold are automatically computed. 2016-03-02 16:56:59 +01:00
Julien Fontanet
e5b7190015 Fix file uploads (2). 2016-03-02 16:24:15 +01:00
Julien Fontanet
7ffd6ded51 Merge pull request #250 from vatesfr/pierre-licenses
Host and pool licenses (Fix vatesfr/xo-web#763)
2016-03-02 16:12:04 +01:00
Olivier Lambert
279b8aacf6 add missing map filters 2016-03-02 15:44:23 +01:00
Julien Fontanet
5e04547ecf Merge pull request #249 from vatesfr/recompute-resource-sets-limits
resourceSet.recomputeAllLimits()
2016-03-02 15:43:40 +01:00
Olivier Lambert
9eebaab2f4 Add a map param for backup schedule view 2016-03-02 15:42:33 +01:00
Julien Fontanet
7cbe5f64ce Fix Xo#getXapi(). 2016-03-02 15:41:27 +01:00
Julien Fontanet
16e9d60033 Fix file uploads. 2016-03-02 15:27:30 +01:00
Julien Fontanet
47ed78031a Xo#getAllXenServers(). 2016-03-02 15:23:32 +01:00
Olivier Lambert
335b378e9a Merge pull request #789 from vatesfr/pierre-disk-names
Default VDI names and descriptions (Fix #780)
2016-03-02 15:20:39 +01:00
Pierre
fd3d24b834 getLicenseState 2016-03-02 15:15:10 +01:00
Pierre
c2f607b452 license_params and license_servers in XO host object 2016-03-02 15:15:09 +01:00
Pierre
9c41bc33a3 Default names for template VDIs 2016-03-02 15:13:34 +01:00
Julien Fontanet
b1328bb6e2 resourceSet.recomputeAllLimits() 2016-03-02 15:09:16 +01:00
Olivier Lambert
7f7d6b4d5d Merge pull request #772 from vatesfr/pierre-cpu-weight-in-resource-set
CPU weight edition should be disabled for resource set members (Fix #…
2016-03-02 14:56:05 +01:00
Olivier Lambert
cc0e3bbce0 Merge pull request #773 from vatesfr/pierre-host-patches-in-pool-view
Pool view: host updates panel (Fix #762)
2016-03-02 14:41:11 +01:00
Pierre
2eead65fef CPU weight should not be editable when creating a VM from a resource set 2016-03-02 14:36:46 +01:00
Julien Fontanet
2a02583e27 Fix Xo#getXapi() with identifier. 2016-03-02 13:48:33 +01:00
Julien Fontanet
cfb49f9136 Merge pull request #247 from vatesfr/too-many-storage-migrates
Xapi#migrateVm(): handle TOO_MANY_STORAGE_MIGRATES (fix vatesfr/xo-we…
2016-03-02 12:47:00 +01:00
Julien Fontanet
5f20091f24 Xapi#migrateVm(): handle TOO_MANY_STORAGE_MIGRATES (fix vatesfr/xo-web#783).
When this error occurs, simply wait 10 seconds and retry.
2016-03-02 12:45:25 +01:00
Pierre
e664be451f VDIs default names initialization in view 2016-03-02 12:40:44 +01:00
wescoeur
e5146f7def Many fixes. Cron Job is in a job structure. 2016-03-02 12:16:30 +01:00
Julien Fontanet
a37b8e35a1 utils: isInteger(). 2016-03-02 11:30:23 +01:00
wescoeur
d9bf7c7d12 Many fixes. Configure must operate if cron job is running. 2016-03-02 11:20:28 +01:00
Julien Fontanet
84c980c3ea utils: isObject(). 2016-03-02 11:07:13 +01:00
Julien Fontanet
5823057b41 utils: isArray(), isBoolean(), isFunction() & isString(). 2016-03-02 11:02:42 +01:00
Julien Fontanet
024a9b1763 Merge pull request #246 from vatesfr/xo-mixins-2
Xo mixins 2
2016-03-02 10:50:17 +01:00
Julien Fontanet
0425780cd3 vm.create(): fix setting name/description for disks (vatesfr/xo-web#774). 2016-03-02 10:49:15 +01:00
Julien Fontanet
20734dc7f3 Move authorization to a new mixin. 2016-03-02 10:38:06 +01:00
Julien Fontanet
0574c58f16 Move ACLs management to a new mixin. 2016-03-02 10:38:06 +01:00
Julien Fontanet
31e3117190 Move Xen servers management to a new mixin. 2016-03-02 10:38:06 +01:00
wescoeur
b0bf18e235 Debug messages. 2016-03-02 10:36:43 +01:00
Julien Fontanet
f780ba2c5a vm.create(): fix updating existing disks (vatesfr/xo-web#774). 2016-03-02 10:34:44 +01:00
Pierre
d2d8160096 Default VDI names and descriptions 2016-03-02 10:28:29 +01:00
Olivier Lambert
3bd503c28d remove useless device number in VM migration window 2016-03-02 10:27:57 +01:00
wescoeur
f001b2c68f Unstable, plugin can migrate vm. (to test) 2016-03-02 10:24:56 +01:00
Olivier Lambert
f125b593bf Merge pull request #248 from vatesfr/babel-t7172
Work around Babel T7172 (second attempt).
2016-03-02 10:22:47 +01:00
Julien Fontanet
baee4e185d Work around Babel T7172 (second attempt). 2016-03-02 10:14:50 +01:00
Julien Fontanet
ca8476d466 Work around Babel T7172. 2016-03-02 10:04:12 +01:00
Olivier Lambert
aa1df8eb33 Add Misc panel in host view to deliver system S/N etc. Fix #760 2016-03-01 17:17:36 +01:00
Olivier Lambert
c1aace45ae Match target network names for migration. Fix #782 2016-03-01 16:40:45 +01:00
Olivier Lambert
217a60aadc Improve the migration VM modal. Fix #785 2016-03-01 15:47:37 +01:00
Olivier Lambert
5654f528ca fix the task list for angular 1.5 2016-03-01 15:35:48 +01:00
Olivier Lambert
4da036a064 Add a missing angular map 2016-03-01 15:16:55 +01:00
Olivier Lambert
2256b3d262 Merge pull request #788 from Danp2/next-release
Minor fix to unitConfirms
2016-03-01 13:36:24 +01:00
Danp2
d84ecc307d Minor fix to unitConfirms 2016-03-01 06:32:30 -06:00
Julien Fontanet
237313d5fb Merge pull request #781 from vatesfr/fix-vdi-iteration-in-vm-creation
VM creation: correctly iterate over template VDIs (fix #778).
2016-02-29 18:49:33 +01:00
Olivier Lambert
7caf766bca Do not display CDs VBDs 2016-02-29 18:44:08 +01:00
Julien Fontanet
a24de7fe3f Fix type case in README. 2016-02-29 18:02:30 +01:00
Julien Fontanet
0a3f9f5ef1 Add issue template. 2016-02-29 16:37:13 +01:00
Julien Fontanet
e890b8f7c1 VM creation: correctly iterate over template VDIs (fix #778). 2016-02-29 15:14:52 +01:00
Julien Fontanet
757bf82a78 Merge branch 'stable' into next-release 2016-02-29 09:31:12 +01:00
Olivier Lambert
644887f727 4.14.4 2016-02-28 17:20:17 +01:00
Olivier Lambert
563b643461 Fix NFS mount issues for Linux target 2016-02-28 17:20:02 +01:00
Olivier Lambert
dc4d5f0ecb fixing angular 1.5 2016-02-26 18:03:07 +01:00
Pierre
a2f0980731 Pool view: host updates panel (Fix #762) 2016-02-26 17:59:33 +01:00
Julien Fontanet
0a5c029f8b lodash.sum(): does not work with objects anymore. 2016-02-26 17:36:06 +01:00
wescoeur
296141ad3d Unsable: _computeOptimizations 2016-02-26 16:42:11 +01:00
Julien Fontanet
85bb79e4fb Move shims to app/node_modules.
Hopefully this will avoid there accidental deletion by users.
2016-02-26 15:55:05 +01:00
Julien Fontanet
f18d1e50f8 Fix ng-file-upload import. 2016-02-26 15:55:05 +01:00
Julien Fontanet
943b10dd5d Update angular-chart.js to 0.8. 2016-02-26 15:55:05 +01:00
Julien Fontanet
0a48e17c88 Update ng-angular-upload to 12.0. 2016-02-26 15:55:05 +01:00
Olivier Lambert
da1381e14e Map usage before orderBy for dashboard view 2016-02-26 15:53:14 +01:00
wescoeur
7abba0a69b Many fixes. Compute real cpu usage of vms. 2016-02-26 15:28:00 +01:00
Pierre
bdffb0ee10 CPU weight edition should be disabled for resource set members (Fix #767) 2016-02-26 14:51:53 +01:00
Julien Fontanet
7bdb7d2ca8 Fix angular-bootstrap usage in updater. 2016-02-26 14:34:56 +01:00
Julien Fontanet
92567561b8 Update angularjs-toaster to 1.2. 2016-02-26 13:06:02 +01:00
Julien Fontanet
335bdcd89d Update angular-xeditable-npm to 0.1.9. 2016-02-26 13:05:56 +01:00
Julien Fontanet
4c2fc13abb Update ui-select to 0.14. 2016-02-26 13:05:51 +01:00
Julien Fontanet
7f8f29daa2 Update angular-ui-bootstrap to 0.14. 2016-02-26 12:43:48 +01:00
Julien Fontanet
8fac845ecb Use angular-ui-{event,indeterminate} instead of deprecated angular-ui-utils. 2016-02-26 12:34:56 +01:00
Julien Fontanet
0e4a6fd2e1 Merge pull request #245 from vatesfr/pierre-cpu-weight-in-resource-set
vm.set(): only admins can change cpuWeight if VM in a resource set
2016-02-26 12:29:31 +01:00
Pierre
d452bf1f1c vm.set(): only admins can change cpuWeight if VM in a resource set 2016-02-26 12:22:40 +01:00
wescoeur
dee7767427 Get only the vms stats of the worst host. 2016-02-26 11:57:41 +01:00
Olivier Lambert
d8076e7630 Merge pull request #756 from vatesfr/pierre-self-service-dashboard
Self service dashboard (Fix #741)
2016-02-26 11:56:27 +01:00
Pierre
b370bc27c4 Fixed condition when no resource set found 2016-02-26 11:41:08 +01:00
Pierre
334c3f4488 Removed arrows when only 1 page is needed 2016-02-26 11:34:46 +01:00
Julien Fontanet
126828a813 http-request: another work around for the Babel issue 2016-02-26 11:26:02 +01:00
Pierre
33822109c0 Minor fixes 2016-02-26 11:20:11 +01:00
Julien Fontanet
03dc6fb73a http-request: work around Babel issue. 2016-02-26 11:16:43 +01:00
wescoeur
087a71367d Optimizations only on one host ! 2016-02-26 11:07:22 +01:00
Julien Fontanet
3653e89714 Merge branch 'stable' into next-release 2016-02-26 10:23:51 +01:00
Julien Fontanet
318dd14e42 4.14.3 2016-02-26 10:23:27 +01:00
Julien Fontanet
2d13844b5d Disable npm {pre,post}version magic for now. 2016-02-26 10:23:20 +01:00
wescoeur
bec2e3b4a0 getVms & getVmsStats functions. 2016-02-26 10:20:15 +01:00
Julien Fontanet
b777b7432a Merge pull request #244 from vatesfr/olivierlambert-nfs-fix
Add v3 parameter for NFS. Fix vatesfr/xo-web/issues/771
2016-02-26 10:12:24 +01:00
Olivier Lambert
6f91c225c2 Add v3 parameter for NFS. Fix vatesfr/xo-web/issues/771 2016-02-26 10:06:18 +01:00
Pierre
b1f18b0f5b Added templates, SRs and networks to details 2016-02-26 10:00:32 +01:00
Julien Fontanet
c0d6284368 Fix Jade compilation for Node < v4. 2016-02-25 17:48:16 +01:00
Pierre
16e294f6fc Resource sets details 2016-02-25 17:47:46 +01:00
Pierre
5f7925b2b8 Display page number 2016-02-25 17:47:46 +01:00
Pierre
2e001b0ce4 Pages layout 2016-02-25 17:47:46 +01:00
Pierre
c1ca3ff5b5 [WIP] All resource sets together (other layout commented). 2016-02-25 17:47:46 +01:00
Pierre
1de33cd4ca Self service dashboard (Fix #741)
Fixed no limit condition and icons.
2016-02-25 17:47:46 +01:00
wescoeur
274884ef4d Reorder exceeded hosts by priority. 2016-02-25 16:06:46 +01:00
Olivier Lambert
77b773388f fix network list in new vm, using map before orderby 2016-02-25 15:47:34 +01:00
wescoeur
d3f52cdd1a Compute exceeded hosts. 2016-02-25 13:10:27 +01:00
Olivier Lambert
3e668ee439 Merge pull request #759 from vatesfr/fix-babel-6-imports
Fix Babel 6: `require module` --> `require(module).default`
2016-02-25 11:38:23 +01:00
Julien Fontanet
c355e9ca4a Xo/subjects: fix access to Xo private props (fix #755). 2016-02-25 11:36:52 +01:00
Pierre
0d3ea9af36 Fix Babel 6: require module --> require(module).default 2016-02-25 11:21:47 +01:00
Fabrice Marsaud
0d81bc8056 Fixed backup remote lists 2016-02-25 09:24:38 +01:00
Julien Fontanet
4514ea8123 Minor fixes related to promise-toolbox. 2016-02-24 18:22:18 +01:00
Julien Fontanet
a9a1472cb7 Minor fixes related to Babel 6. 2016-02-24 18:22:00 +01:00
Julien Fontanet
e4b532a34d week heatmap: fix lodash.pluck usage. 2016-02-24 17:49:32 +01:00
Julien Fontanet
61f86c0ac3 Merge pull request #739 from vatesfr/update-deps
Update deps
2016-02-24 16:58:35 +01:00
Julien Fontanet
66fad37116 Remove unused lodash.puck dep. 2016-02-24 16:53:12 +01:00
Julien Fontanet
c7bbd8c823 Update nice-pipe to v3. 2016-02-24 16:44:07 +01:00
Julien Fontanet
dc6f8baf1e Update Babel to v6. 2016-02-24 16:44:07 +01:00
Julien Fontanet
0e76e65d65 Update Coffeeify to v2. 2016-02-24 16:44:07 +01:00
Julien Fontanet
877dbed999 Update Browserify to v13. 2016-02-24 16:44:07 +01:00
Julien Fontanet
668fd05fae Update Bluebird to v3. 2016-02-24 16:44:07 +01:00
Julien Fontanet
3e49998f41 Update Lodash to v4. 2016-02-24 16:44:07 +01:00
Julien Fontanet
99b183ac17 Update Angular to v1.5. 2016-02-24 16:42:51 +01:00
Julien Fontanet
250b0eee28 Merge pull request #193 from vatesfr/babel-6
Upgrade to Babel 6.
2016-02-24 16:18:36 +01:00
Julien Fontanet
5cd7527937 Upgrade to Babel 6. 2016-02-24 16:11:35 +01:00
Julien Fontanet
57ebd5bb7a Merge pull request #242 from vatesfr/use-promise-toolbox
Use promise-toolbox.
2016-02-24 16:11:13 +01:00
wescoeur
cb97e37c15 Get stats for host. 2016-02-24 15:27:11 +01:00
Julien Fontanet
c18a697d6b Use promise-toolbox. 2016-02-24 15:17:11 +01:00
Fabrice Marsaud
bb04cddc48 4.14.1 2016-02-24 13:57:24 +01:00
Fabrice Marsaud
ba3f095dd8 4.14.0 2016-02-24 13:57:13 +01:00
Julien Fontanet
ad40b72508 4.14.2 2016-02-24 13:51:49 +01:00
Julien Fontanet
3a72e5910d Add preversion/postversion scripts. 2016-02-24 13:50:47 +01:00
Julien Fontanet
f8438421c8 4.13.1 2016-02-24 13:42:15 +01:00
Julien Fontanet
334361860b Merge pull request #753 from vatesfr/pierre-self-service-user
New-VM: Fixed summary when modifying an existing disk size
2016-02-24 13:42:00 +01:00
Julien Fontanet
8f3eb65a05 Various fixes. 2016-02-24 13:34:12 +01:00
Pierre
23bd211758 Fixed summary when modifying an existing disk size 2016-02-24 13:26:58 +01:00
Julien Fontanet
4cc8fb9891 Merge pull request #752 from vatesfr/pierre-state-go
Better redirection when creating VM(s)
2016-02-24 12:51:32 +01:00
Pierre
ed3cd690fe Better redirection when creating VM(s) 2016-02-24 12:50:04 +01:00
wescoeur
3013fa86b6 Configure implem. 2016-02-24 12:50:03 +01:00
Julien Fontanet
9a40c7cdc6 Merge pull request #750 from vatesfr/pierre-self-service-user
No limit: limit value should not exist when input field is empty
2016-02-24 12:44:37 +01:00
Pierre
ae4c9ce819 Better handle for no limit 2016-02-24 12:44:06 +01:00
Pierre
2f8bae1356 No limit: limit value should be undefined when input field is empty 2016-02-24 12:23:51 +01:00
wescoeur
2593743746 Json schema (prototype). 2016-02-24 10:53:48 +01:00
Julien Fontanet
700cd83ff5 4.14.1 2016-02-24 10:34:10 +01:00
Julien Fontanet
0c27881eaf vm.create(): register up-to-date VM object (fix vatesfr/xo-web#749 2016-02-24 10:21:53 +01:00
wescoeur
ab6bd56006 Initial commit. 2016-02-24 10:05:20 +01:00
Julien Fontanet
f7fdc6acd2 4.14.0 2016-02-23 19:10:57 +01:00
Julien Fontanet
2c5f844edc Merge pull request #229 from vatesfr/resource-sets
Resource sets
2016-02-23 19:03:34 +01:00
Julien Fontanet
a253de43c5 vm.create(): correctly handle updating SR on existing disks. 2016-02-23 18:57:00 +01:00
Olivier Lambert
2dfcd5b7ef Merge pull request #740 from vatesfr/pierre-self-service-user
Create VM with self service (See #285)
2016-02-23 18:56:48 +01:00
Pierre
739926f64e Fixed button addon in disk list (VM view) 2016-02-23 18:51:04 +01:00
Pierre
a18dde07de Fixed multiple lines ng-disabled 2016-02-23 18:42:54 +01:00
Pierre
6480017a91 Fixed Create button disabled condition 2016-02-23 18:39:47 +01:00
Pierre
4467ec52f7 No limit: undefined instead of null. 2016-02-23 18:24:53 +01:00
Pierre
072d82a10e Size unit fix. 2016-02-23 18:15:43 +01:00
Pierre
b50b759f4f Default RAM size unit in New VM view 2016-02-23 18:11:07 +01:00
Pierre
c1477ad45f Typo fix. 2016-02-23 18:09:02 +01:00
Julien Fontanet
dbaf67a986 vm.set(): correctly count limits for CPUs. 2016-02-23 18:03:54 +01:00
Julien Fontanet
5175d06e37 vm.create(): handle limits on template disks. 2016-02-23 17:53:41 +01:00
Pierre
679d45399b Typo fix. Default resource set RAM size unit. 2016-02-23 17:31:37 +01:00
Julien Fontanet
651a27b558 resource set: limit.available cannot be > limit.total. 2016-02-23 17:16:13 +01:00
Julien Fontanet
fd41f8def6 vm.delete(): correctly free resource set limits. 2016-02-23 17:12:19 +01:00
Pierre
0e15a789ff Fixed buttons addons 2016-02-23 16:55:47 +01:00
Pierre
dff5b3f497 Fixed resourceSet edition 2016-02-23 16:55:47 +01:00
Pierre
483e49a6ae Connect interface and server 2016-02-23 16:55:47 +01:00
Pierre
a689b5b917 Changed resourceSet^Ctructure for limits. Minor fixes. 2016-02-23 16:55:46 +01:00
Pierre
1363d98280 New VM: progress bars to show remaining available resources 2016-02-23 16:55:46 +01:00
Pierre
405f3dcbdd Resource sets: CPU, RAM and disk space restrictions 2016-02-23 16:55:46 +01:00
Pierre
4b48408bc9 Margin fix 2016-02-23 16:55:46 +01:00
Pierre
d6f1e2d7e2 Form alignements 2016-02-23 16:55:46 +01:00
Pierre
c04c8e3aa4 Moved "select resource set" on title row 2016-02-23 16:55:46 +01:00
Pierre
ff5a08d3b0 Enabled resource set edition 2016-02-23 16:55:46 +01:00
Pierre
d2049c759e Enabled ISO installing method 2016-02-23 16:55:46 +01:00
Pierre
f940cb0ace Redirect to list view instead of VM view 2016-02-23 16:55:46 +01:00
Pierre
507f2f4af4 Creation form updated when resource set selected 2016-02-23 16:55:45 +01:00
Pierre
deca7099f3 Checking available resource sets for a specific user 2016-02-23 16:55:45 +01:00
Pierre
46a741825a [WIP] Create VM as non-admin user with self service 2016-02-23 16:55:45 +01:00
Fabrice Marsaud
14fdcd3052 Reworked for sequential SR and Network choice 2016-02-23 16:55:44 +01:00
Fabrice Marsaud
c76b01608a Fixes. Commented quotas for later use. 2016-02-23 16:55:44 +01:00
Fabrice Marsaud
be709d6601 Rewrite on server API 2016-02-23 16:55:44 +01:00
Fabrice Marsaud
7dc8fac198 Fix constraint rules 2016-02-23 16:55:44 +01:00
Fabrice Marsaud
29ae7d57fd display and mock save/edit 2016-02-23 16:55:43 +01:00
Fabrice Marsaud
1bf9ce872b constraint reolutions 2016-02-23 16:55:43 +01:00
Fabrice Marsaud
0071c9504f first steps 2016-02-23 16:55:43 +01:00
Olivier Lambert
594a872c84 forget _reportWhen 2016-02-23 16:54:23 +01:00
Julien Fontanet
0d1f78e82e Better permission handling when not connected. 2016-02-23 16:49:14 +01:00
Julien Fontanet
a12de51897 generic modal: fix missing cancel button. 2016-02-23 16:12:59 +01:00
Olivier Lambert
74fa084dd0 update changelog 2016-02-23 16:02:37 +01:00
Julien Fontanet
208ea04fd5 resourceSet.set(): better handling of limits. 2016-02-23 15:20:20 +01:00
Julien Fontanet
a1ee258da5 Do not call vm.set() directly in new VM controller. 2016-02-23 15:18:34 +01:00
Julien Fontanet
5ee83a1af9 Merge pull request #241 from vatesfr/a-schedule-links-a-function
Scheduler is now in scheduling.js and use ScheduleFn function.
2016-02-23 15:06:55 +01:00
Julien Fontanet
c1af171c5d Do not call vm.set() directly in VM controller. 2016-02-23 15:04:50 +01:00
wescoeur
901c7704f4 Scheduler is now in scheduling.js and use ScheduleFn function. 2016-02-23 15:01:30 +01:00
Olivier Lambert
e36c9560fa fix form declaration for conditional backup. Thanks to @Danp2 for pointing it 2016-02-23 13:58:37 +01:00
Julien Fontanet
c6f7290f92 resourceSet.{create,set}(): limits are optional. 2016-02-23 13:11:40 +01:00
Julien Fontanet
5368eda98b vm.set(): works with resource sets. 2016-02-23 13:06:36 +01:00
Olivier Lambert
5cd19ddc8d UI fix for non admin users 2016-02-23 11:00:36 +01:00
Julien Fontanet
7b9be209c8 resourceSet: initial limits. 2016-02-23 10:33:50 +01:00
Olivier Lambert
ac243e5d11 Merge pull request #745 from vatesfr/pierre-overview-remote-status-indicator
Fixed error button condition in Overview. Minor UI fix.
2016-02-23 10:23:00 +01:00
Olivier Lambert
b480d019f6 add conditional reporting for rolling snaps 2016-02-23 10:21:46 +01:00
Olivier Lambert
cc13ab97d6 add conditional reporting for DR 2016-02-23 10:19:00 +01:00
Olivier Lambert
fee1d2ed04 add conditional report for basic backup 2016-02-23 10:15:36 +01:00
Pierre
4144d5faa6 Fixed error button condition in Overview. Minor UI fix. 2016-02-23 10:11:09 +01:00
Olivier Lambert
38a23c0bee add conditional reporting for delta backup 2016-02-23 09:50:23 +01:00
Olivier Lambert
8fcfebe170 Merge pull request #744 from Danp2/reportWhen
CR conditional reporting
2016-02-22 21:54:34 +01:00
Danp2
f917fa8138 CR conditional reporting
Add functionality to allow conditional reporting to continuous
replication backup
2016-02-22 14:31:40 -06:00
Julien Fontanet
cee05fea7c Some permission fixes fro vm.*(). 2016-02-22 19:23:32 +01:00
Julien Fontanet
b87acb47e2 Lots of TODOs in vm.*(). 2016-02-22 18:44:18 +01:00
Julien Fontanet
f60b611304 Revert to use ~ for Angular versions. 2016-02-22 18:32:40 +01:00
Julien Fontanet
cb192bf9ea vm.convertToTemplate(): require pool admin permission. 2016-02-22 18:30:28 +01:00
Olivier Lambert
a54624e5c8 Merge pull request #743 from vatesfr/sources-disclaimer
Sources disclaimer
2016-02-22 18:08:09 +01:00
Julien Fontanet
e02b8522d6 0.0.5 2016-02-22 16:03:54 +01:00
Julien Fontanet
8cf74c88ce Add ignoreUnauthorized option. 2016-02-22 16:03:33 +01:00
Julien Fontanet
4095d6dcf6 0.3.1 2016-02-22 15:45:51 +01:00
Julien Fontanet
cd4221e4f2 0.3.0 2016-02-22 15:44:38 +01:00
Julien Fontanet
e4e65e4576 0.0.4 2016-02-22 15:42:05 +01:00
Julien Fontanet
72e93786df Log errors. 2016-02-22 15:41:03 +01:00
Julien Fontanet
16351ba7f3 Merge pull request #236 from vatesfr/abhamonr-vhd-util-without-binary
Remove dependency on vhd-util for VHD merging
2016-02-22 14:02:40 +01:00
wescoeur
96ba128942 Remove vhd-util dependency. Merging vhd works with a node script. (fix vatesfr/xo-web#646) 2016-02-22 13:59:33 +01:00
Julien Fontanet
76c8d4af25 API: fix various permissions. 2016-02-19 16:37:27 +01:00
Julien Fontanet
3ea2b3cc00 vm.createCloudInitConfigDrive(): disable permission check on SR. 2016-02-19 16:37:27 +01:00
Julien Fontanet
0df0936022 resourceSet: fix getAll() and checkConstraints(). 2016-02-19 16:37:27 +01:00
Julien Fontanet
4fc11a7fd3 resourceSet.{add,remove}Subject(): minor fixes. 2016-02-19 16:37:27 +01:00
Julien Fontanet
8c509271a6 resourceSet.getAll(): code has been refactored around streamToArray(). 2016-02-19 16:37:27 +01:00
Julien Fontanet
67d5b63ef9 vm.create(): works with resource sets. 2016-02-19 16:37:27 +01:00
Julien Fontanet
4f999511a6 resourceSet.getAll(): code has been refactored around lightSet(). 2016-02-19 16:37:27 +01:00
Julien Fontanet
cfbf239175 resourceSet.getAll(): works also for non-admins. 2016-02-19 16:37:27 +01:00
Julien Fontanet
1aedf9bb07 resourceSet: fix deletion. 2016-02-19 16:37:27 +01:00
Julien Fontanet
c2d4423720 Fix: start event instead of starting. 2016-02-19 16:37:27 +01:00
Julien Fontanet
c2f7a2620c api: fix access to private Xo properties. 2016-02-19 16:37:27 +01:00
Julien Fontanet
6f0cda34b4 Xo/Subjects: Fix admin user creation. 2016-02-19 16:37:27 +01:00
Julien Fontanet
1a472fdf1f Xo: subjects managements moved into new mixin. 2016-02-19 16:37:27 +01:00
Julien Fontanet
0551f61228 Resource sets: use store. 2016-02-19 16:37:27 +01:00
Julien Fontanet
b900adfddd Promisify store. 2016-02-19 16:37:27 +01:00
Julien Fontanet
0e339daef5 Typo. 2016-02-19 16:37:27 +01:00
Julien Fontanet
5f5733e8b9 Various fixes and additions to resourceSet API. 2016-02-19 16:37:27 +01:00
Julien Fontanet
1372050a7b LevelDbLogger: avoid increments in keys when not necessary. 2016-02-19 16:37:27 +01:00
Julien Fontanet
1960951c5e Initial resource sets. 2016-02-19 16:37:27 +01:00
Julien Fontanet
bc070407c7 generate-indexes: rewritten in Node
- cross-platform
- properly camel-cases identifiers
2016-02-19 16:37:27 +01:00
Julien Fontanet
0172ee0b6b Remove unused import. 2016-02-19 16:37:27 +01:00
Julien Fontanet
2953bc6bb8 loggers: LevelDbLogger now inherits from AbstractLogger. 2016-02-19 16:37:27 +01:00
Julien Fontanet
c0ed3a9e3c Xo#getStore(namespace). 2016-02-19 16:37:27 +01:00
Julien Fontanet
5456e4fe75 Merge branch 'stable' into next-release 2016-02-19 16:36:59 +01:00
Julien Fontanet
548754821e Merge pull request #8 from vatesfr/conditional-reporting
Implement conditional reporting.
2016-02-19 10:32:17 +01:00
Danp2
77f85579e3 Implement conditional reporting. 2016-02-19 10:23:48 +01:00
Julien Fontanet
867a1e960e Merge pull request #240 from vatesfr/stream-to-array
util: streamToArray(Stream, filter?: Predicate) => Promise.
2016-02-18 17:02:25 +01:00
Julien Fontanet
48dc68c3fe util: streamToArray(Stream, filter?: Predicate) => Promise. 2016-02-18 16:58:17 +01:00
Julien Fontanet
2c719f326b Xapi: lodash.pick() → lodash.pickBy(). 2016-02-18 15:45:28 +01:00
Julien Fontanet
201f92eb93 system.getMethodsInfo(): Fix breakage due to upgrade to Lodash v4. 2016-02-18 15:39:08 +01:00
Olivier Lambert
370b14b82e better text and link to XOA page 2016-02-17 13:21:00 +01:00
Julien Fontanet
88205adeb2 Update Angular to v1.4.9. 2016-02-17 12:42:57 +01:00
Julien Fontanet
351ce995d9 Sources disclaimer appears once every week. 2016-02-17 12:42:42 +01:00
Julien Fontanet
a9aa92de90 modal service: new htmlMessage option. 2016-02-17 12:34:46 +01:00
Olivier Lambert
9ea665dea2 include default cloudconfig + link toward the official doc 2016-02-17 11:42:53 +01:00
Julien Fontanet
30b52527e7 modal service: new alert() method. 2016-02-17 11:40:54 +01:00
Julien Fontanet
46f055b216 Merge pull request #137 from vatesfr/abhamonr-job-schema
Add: Job and crossProduct schemas.
2016-02-17 10:29:40 +01:00
Julien Fontanet
08305e679b http-proxy: agent is now the default export. 2016-02-17 09:53:00 +01:00
Julien Fontanet
bb4125153b Dashboard/Health: fix deletion of VDIs/VMs after unselected item(s). 2016-02-16 17:50:41 +01:00
Julien Fontanet
e9e0b70199 Merge pull request #238 from bartekrutkowski/next-release
Correct the redis protocol in sample config.
2016-02-16 16:49:50 +01:00
Bartek Rutkowski
441d784027 Correct the redis protocol in sample config
The existing sample configuration file documents the Redis uri string with 'tcp://' prefix string, while xo-server actually expects it to be 'redis://' instead.
2016-02-16 15:47:21 +00:00
Julien Fontanet
558956bf55 Merge pull request #237 from vatesfr/http-proxy
HTTP proxy support (fix vatesfr/xo-web#737).
2016-02-16 15:57:29 +01:00
Julien Fontanet
0d8250a3ac HTTP proxy support (fix vatesfr/xo-web#737). 2016-02-16 15:50:28 +01:00
Julien Fontanet
dc1f5826f8 Lodash 4 iteration: no thisArg argument. 2016-02-16 15:50:10 +01:00
Julien Fontanet
06fb06829b Update lodash.* deps. 2016-02-16 11:53:53 +01:00
Julien Fontanet
bbf52d2611 Update deps. 2016-02-16 11:53:22 +01:00
Julien Fontanet
f55a6617e9 Remove graceful-fs: not used directly by xo-server. 2016-02-16 11:48:52 +01:00
Olivier Lambert
f0d5b2b1da Merge pull request #732 from vatesfr/pierre-overview-remote-status-indicator
Backup overview: Status indicator for the remote associated to each job (Fix #728)
2016-02-12 18:04:25 +01:00
Pierre
30c4048e4a Handle remote/remoteId property 2016-02-12 17:48:51 +01:00
Pierre
93770ca9ce Alert when remote does not exist 2016-02-12 17:21:41 +01:00
Pierre
e788783d12 Backup overview: Status indicator for the remote associated to each job 2016-02-12 17:10:11 +01:00
Pierre
e3ec03794a Markdown generator first version 2016-02-12 14:29:51 +01:00
Olivier Lambert
1314444d7c Merge pull request #730 from vatesfr/pierre-boot-order
Fixed boot order options bug (Fix #726)
2016-02-12 11:27:44 +01:00
Pierre
2a14664d34 Fixed boot order options bug (Fix #726)
Unchecking a boot option should not uncheck all the options below it.
2016-02-12 11:12:48 +01:00
Julien Fontanet
05c325d686 Fetch the correct VM even when the param is vm and not id (fix #3). 2016-02-12 09:09:39 +01:00
Julien Fontanet
3bd273fbdd Merge pull request #235 from vatesfr/abhamonr-avoid-merge-delta-delta
Avoid merge between two delta vdi backups. (fix vatesfr/xo-web#702)
2016-02-11 17:32:28 +01:00
thehanatos
cf9472eb56 changes 2016-02-11 16:53:28 +01:00
wescoeur
1b64a543f1 Avoid merge between two delta vdi backups. (fix vatesfr/xo-web#702) 2016-02-11 16:42:50 +01:00
Pierre
bb2085436e Network usage stats 2016-02-11 16:20:04 +01:00
Olivier Lambert
07a03940a0 order installed patch by name 2016-02-11 11:45:56 +01:00
Pierre
d882a4249a Standardized function declarations 2016-02-11 11:38:18 +01:00
thehanatos
a2420e4288 changes 2016-02-11 11:21:43 +01:00
Olivier Lambert
5f2f6fff56 Merge pull request #725 from vatesfr/pierre-vm-view-ui-enhancements
New VM: fixed summary refresh (Fix #721)
2016-02-11 11:06:55 +01:00
Pierre
353548660c New VM: fixed summary refresh (Fix #721) 2016-02-11 10:58:00 +01:00
Olivier Lambert
912f07225c Merge pull request #723 from vatesfr/pierre-custom-cloud-config
Custom config in Config Drive
2016-02-11 10:47:29 +01:00
Pierre
a23b7eeff1 Uplad config file: status icons, size check. Minor fixes. 2016-02-11 10:32:58 +01:00
Pierre
574f0d71b2 Custom config in Config Drive 2016-02-10 16:32:11 +01:00
Olivier Lambert
a368312035 Merge pull request #720 from vatesfr/pierre-vm-view-ui-enhancements
Size input should allow float numbers (Fix #719)
2016-02-10 14:46:16 +01:00
Pierre
2f88b1ab65 +string instead of parseFloat(string) 2016-02-10 14:43:15 +01:00
Pierre
f85f97e061 Size input should allow float numbers (Fix #719) 2016-02-10 14:36:00 +01:00
Olivier Lambert
30dec13903 Merge pull request #718 from vatesfr/pierre-table-ellipsis
Fixed text overflow in tables. (See #713)
2016-02-10 14:02:37 +01:00
Pierre
3687a230e1 promise-toolbox: all to resolve promises in object 2016-02-10 12:27:55 +01:00
Pierre
c274486057 Improved getHostVmsStats (Promise.all) 2016-02-10 12:13:26 +01:00
Pierre
94e9bbfd63 VM stats for multiple hosts with generateHostsVmsReport.
Renamed generateHostVmReport.
2016-02-10 11:40:21 +01:00
Julien Fontanet
adb71ad174 FIx my previous commit -_-". 2016-02-10 11:06:47 +01:00
Julien Fontanet
4a95f5cd9d Coding style. 2016-02-10 10:48:02 +01:00
Julien Fontanet
f3b368fae4 Merge pull request #2 from Danp2/Danp2-deltacopy
Enable reporting on additional backup types.
2016-02-10 10:45:54 +01:00
Julien Fontanet
20919a8a39 Absence of tests should not prevent CI linting. 2016-02-10 10:31:30 +01:00
Pierre
3057e5c997 Fixed text overflow in tables. (See #713)
`overflow: hidden` for td and th. Inline CSS style when `overflow: visible` is needed.
2016-02-10 10:04:49 +01:00
Danp2
f2e86efc4d Update index.js 2016-02-09 21:22:17 -06:00
Danp2
98b27d647e Add logic for processing delta copy backup types 2016-02-09 21:10:00 -06:00
Olivier Lambert
6c413eb1ba Fix issue #703 2016-02-08 17:38:22 +01:00
Julien Fontanet
97b07f7d42 The main bug tracker is xo-web. 2016-02-08 15:34:13 +01:00
Julien Fontanet
dcdd9132e2 The main bug tracker is xo-web. 2016-02-08 15:33:35 +01:00
Pierre
7a884d1f87 getPoolVmStats returns an object with VM IDs as keys instead of an array 2016-02-05 16:42:00 +01:00
Pierre
d21f5f427c getPoolVmStats to get all the VMs stats from a specific pool 2016-02-05 15:01:55 +01:00
Olivier Lambert
ebb472b8f6 4.13.2 2016-02-05 13:01:49 +01:00
Olivier Lambert
1a2ef6479e Merge pull request #232 from vatesfr/fix-xapi-updateObjectMapProperty
Xapi#_updateObjectMapProperty(): fix major issue.
2016-02-05 13:00:58 +01:00
Olivier Lambert
876c63fe80 4.13.1 2016-02-05 13:00:02 +01:00
Julien Fontanet
32236962f5 Xapi#_updateObjectMapProperty(): fix major issue. 2016-02-05 12:53:39 +01:00
Pierre
9ba2a6628d generateGlobalCpuReport: average CPU usage for each host 2016-02-05 10:59:56 +01:00
Olivier Lambert
d9b1c36055 typo in changelog 2016-02-04 22:14:39 +01:00
Olivier Lambert
a593a247d7 change log update 2016-02-04 22:13:51 +01:00
Julien Fontanet
155debc864 4.13.0 2016-02-04 19:51:07 +01:00
Julien Fontanet
a5975ac38b Merge branch 'next-release' into stable 2016-02-04 19:50:39 +01:00
Julien Fontanet
ba66af922f 4.13.0 2016-02-04 19:43:43 +01:00
Julien Fontanet
739641b857 0.0.3 2016-02-04 18:12:31 +01:00
Julien Fontanet
d02a110f99 Minor comment. 2016-02-04 18:12:16 +01:00
Julien Fontanet
28b9bbe54f 4.13.0-0 2016-02-04 18:01:04 +01:00
Julien Fontanet
bf6bd7cbdc Merge pull request #230 from vatesfr/pierre-vm-migration-details
Fix intra-pool migration on different SRs
2016-02-04 17:30:14 +01:00
Pierre
ddcb2468a6 Minor fixes 2016-02-04 17:26:27 +01:00
Pierre
f048b58935 Fix intra-pool migration on different SRs 2016-02-04 17:17:09 +01:00
Julien Fontanet
09f6200c2e Merge pull request #209 from vatesfr/abhamonr-checksum-verification-delta-backup
Create and verify checksums for VDI delta backups
2016-02-04 16:12:54 +01:00
wescoeur
354692fb06 Add checksum verification for delta backup on restore/merge. (fix vatesfr/xo-web#617) 2016-02-04 15:22:14 +01:00
Julien Fontanet
2c5858c2e0 Merge pull request #228 from vatesfr/pierre-vm-migration-details
Fix default migration
2016-02-04 15:18:31 +01:00
Pierre
1f41fd0436 Better handle of undefined maps 2016-02-04 11:36:04 +01:00
Pierre
e0bbefdfae Fix default migration 2016-02-04 11:02:43 +01:00
Julien Fontanet
bc6fbb2797 Xo#registerPlugin(): log errors. 2016-02-04 10:32:36 +01:00
Julien Fontanet
b579cf8128 Merge pull request #227 from vatesfr/https-redirect
Can redirect to HTTPs (fix vatesfr/xo-web#626).
2016-02-04 09:55:12 +01:00
Olivier Lambert
204f1cfd6b Merge pull request #674 from vatesfr/pierre-vm-view-ui-enhancements
Select RAM units with dropdown menus
2016-02-04 09:52:50 +01:00
Julien Fontanet
a94ed014b7 sample config: add redirectToHttps. 2016-02-04 09:52:37 +01:00
thehanatos
9120db2dc6 get n values max 2016-02-04 09:49:14 +01:00
Julien Fontanet
0db991b668 Can redirect to HTTPs. 2016-02-03 17:39:39 +01:00
Pierre
2d22e043a0 Dropdown menus to select byte units (Fix #666)
New-VM view: RAM & VDIs sizes
VM view: RAM & VDIs sizes
SR view: VDIs sizes
2016-02-03 16:18:05 +01:00
Julien Fontanet
347ced6942 Merge pull request #214 from vatesfr/better-https
Better https (fix vatesfr/xo-web#685)
2016-02-03 14:32:25 +01:00
Olivier Lambert
5d7a775b2b Merge pull request #225 from vatesfr/xo-acl-resolver
Use xo-acl-resolver.
2016-02-03 14:29:31 +01:00
Olivier Lambert
c26cacaf4e Merge pull request #687 from vatesfr/xo-acl-resolver
Use xo-acl-resolver.
2016-02-03 14:26:40 +01:00
Olivier Lambert
f0048544e2 Merge pull request #681 from vatesfr/olivierlambert-health
WIP: initial work on new health view
2016-02-03 14:16:45 +01:00
Julien Fontanet
df732ab4bf Merge pull request #216 from vatesfr/vdi-snapshot-type
VDI-snapshot type
2016-02-03 14:14:42 +01:00
Olivier Lambert
cf227dbfa2 Merge pull request #695 from vatesfr/marsaudf-fix-sr-form
fix SR form
2016-02-03 14:00:38 +01:00
Fabrice Marsaud
31cd3953d6 Fixing VM object properties 2016-02-03 13:56:15 +01:00
Olivier Lambert
a5f8bdbe61 fix issue #693 2016-02-03 13:26:07 +01:00
Olivier Lambert
e442553c6f Fix issue #691 2016-02-03 13:21:17 +01:00
Olivier Lambert
7134acfcd6 Fix issue #690 2016-02-03 13:18:21 +01:00
Olivier Lambert
82439f444e Fix issue #688 2016-02-03 13:03:58 +01:00
Fabrice Marsaud
1a17908488 fix SR form 2016-02-03 12:12:15 +01:00
Julien Fontanet
9af30e99f8 Use xo-acl-resolver. 2016-02-03 11:53:54 +01:00
Julien Fontanet
4666b13892 Use xo-acl-resolver. 2016-02-03 11:47:02 +01:00
Julien Fontanet
bf586d0837 0.0.0-0 2016-02-03 11:41:01 +01:00
Julien Fontanet
37d7ddb4b0 Merge pull request #224 from vatesfr/pierre-vm-migration-details
Custom VM migration (See vatesfr/xo-web#567)
2016-02-03 11:39:53 +01:00
Julien Fontanet
ed45a9b156 VDI-snapshot inherits from its VDI. 2016-02-03 11:35:48 +01:00
Fabrice Marsaud
6f942c3417 orphans in sr view 2016-02-03 11:07:07 +01:00
Fabrice Marsaud
57083c90cd Fixes 2016-02-03 10:48:21 +01:00
Fabrice Marsaud
3abbaeb44b resolving VDI snapshots 2016-02-03 10:38:09 +01:00
Fabrice Marsaud
e28bcdd978 Correct rule for orphan snapshots 2016-02-03 10:28:49 +01:00
Julien Fontanet
f4ea39b602 Initial commit. 2016-02-03 10:02:39 +01:00
Fabrice Marsaud
847ea49042 VDI-snapshot type 2016-02-03 09:57:42 +01:00
Olivier Lambert
0b4a5ab2eb working filter 2016-02-02 23:31:00 +01:00
Julien Fontanet
779068c2ee HTTP security: use Helmet. 2016-02-02 20:49:33 +01:00
Julien Fontanet
140cd6882d Allows full TLS config. 2016-02-02 20:45:06 +01:00
Fabrice Marsaud
034704a330 No warnings for iso SRs 2016-02-02 17:59:59 +01:00
Fabrice Marsaud
5c60eaf6ab SR warnings 2016-02-02 17:45:49 +01:00
Fabrice Marsaud
f5709eac2c orphan snapshots panels 2016-02-02 16:52:57 +01:00
Julien Fontanet
a6dca12bad user and password config entries are optional (fix #2). 2016-02-02 16:49:45 +01:00
Julien Fontanet
e40411ef91 Use live stats. 2016-02-02 11:13:27 +01:00
thehanatos
fd20c21243 granularity added 2016-02-02 10:55:32 +01:00
Julien Fontanet
2e295c2391 Merge pull request #213 from vatesfr/fix-cpu-weight
Fixed cpuWeight removal for default
2016-02-02 10:24:32 +01:00
Julien Fontanet
5c0474ef96 Various updates. 2016-02-02 10:23:20 +01:00
Julien Fontanet
73d1de75f9 Fix computeMin() and computeMax(). 2016-02-02 10:23:11 +01:00
Fabrice Marsaud
596b0995f4 Prepare object values for xapi 2016-02-02 10:11:39 +01:00
thehanatos
8ea6989ea4 max, min and mean in the same function 2016-02-02 10:02:15 +01:00
Fabrice Marsaud
b61fe97893 Fixed cpuWeight removal for default 2016-02-02 09:55:40 +01:00
Fabrice Marsaud
5a5e714aca Fixed cpuWeight default choice 2016-02-02 09:43:18 +01:00
Olivier Lambert
747d48e4d9 adding missing files 2016-02-01 18:30:02 +01:00
Olivier Lambert
07a0200f30 WIP: initial work on new health view 2016-02-01 18:28:09 +01:00
Fabrice Marsaud
1c5313f2d9 Fixed cpuWeight type 2016-02-01 17:51:10 +01:00
Olivier Lambert
05e08719fb Merge pull request #678 from vatesfr/olivierlambert-srfixes
Use only physical usage for SRs
2016-02-01 17:31:10 +01:00
Olivier Lambert
ca0e616f88 Only use physical utilization for SR 2016-02-01 17:26:08 +01:00
Julien Fontanet
209aa2ebe6 Add a TODO. 2016-02-01 17:14:05 +01:00
Fabrice Marsaud
a8d20caba4 CPU Weight can back to default 2016-02-01 16:29:53 +01:00
Olivier Lambert
0d4bbb0a48 Merge pull request #677 from vatesfr/marsaudf-cpu-weigth#633
Edit VM CPU Weight
2016-02-01 16:10:36 +01:00
Julien Fontanet
c03a0e857e Merge pull request #188 from vatesfr/olivierlambert-cpu-weight
Ability to set vCPU weight
2016-02-01 16:00:21 +01:00
Olivier Lambert
2854d698e6 Implement vCPU weight 2016-02-01 15:56:36 +01:00
Fabrice Marsaud
b9cc219530 Handle VM CPU Weight 2016-02-01 15:54:52 +01:00
Pierre
944163be0e Bug fix: VDIs should be on chosen SRs. 2016-01-29 10:07:02 +01:00
Julien Fontanet
269a9eaff0 Xapi: small but important fix concerning imports. 2016-01-28 17:22:44 +01:00
Olivier Lambert
e204ab5871 Merge pull request #650 from vatesfr/pierre-vm-migration-details
Custom VM migration in VM view
2016-01-28 17:02:35 +01:00
Olivier Lambert
7f9c49cbc4 Merge pull request #208 from vatesfr/pierre-vm-migration-details
Custom VM migration. (See vatesfr/xo-web#567)
2016-01-28 17:02:28 +01:00
Julien Fontanet
2b6bfeeb15 Merge pull request #212 from vatesfr/contrep-better-snapshot-names
continous replication: clearer VM snapshot names.
2016-01-28 16:05:03 +01:00
Julien Fontanet
fa9742bc92 continous replication: clearer VM snapshot names. 2016-01-28 15:57:25 +01:00
Fabrice Marsaud
16d0c05b4b Fiw attempt on console canvas 2016-01-28 15:33:48 +01:00
Fabrice Marsaud
6f8329d191 VDI multi delete 2016-01-28 15:09:36 +01:00
Pierre
472e419abc Using forEach instead of for. Minor fixes. 2016-01-28 13:33:43 +01:00
Pierre
169d11387b Custom VM migration (See vatesfr/xo-web#567)
Optional parameters for migratePool:
- Migration network
- Map each VDI to an SR on destination host
- Map each VIF to a network on destination host
2016-01-28 13:33:43 +01:00
Julien Fontanet
e59ac6d947 Fixes regarding #660. 2016-01-28 11:42:06 +01:00
Olivier Lambert
d751463b26 Merge pull request #660 from vatesfr/abhamonr-avoid-metadata-imp-exp-delta-backups
New delta backup format used. (without 'xva' files) (fix #651)
2016-01-28 11:35:11 +01:00
Olivier Lambert
e193b45562 Merge pull request #207 from vatesfr/abhamonr-avoid-metadata-imp-exp-delta-backups
Avoid metadata import/export in delta backups. (fix vatesfr/xo-web#651)
2016-01-28 11:35:04 +01:00
wescoeur
1ac34f810e Avoid metadata import/export in delta backups. (fix vatesfr/xo-web#651) 2016-01-28 11:12:21 +01:00
Olivier Lambert
d3b66eff59 Merge pull request #671 from vatesfr/marsaudf-clear-logs#661
Delete job logs
2016-01-28 11:01:15 +01:00
Olivier Lambert
e65e5c6e5f Merge pull request #211 from vatesfr/marsaudf-clear-logs#661
Marsaudf clear logs#661
2016-01-28 10:59:37 +01:00
Julien Fontanet
16a9f44d4d Xapi#getObject(): behave nicely when a XAPI object is passed. 2016-01-28 10:08:26 +01:00
Olivier Lambert
4257d0332a Merge pull request #672 from vatesfr/marsaudf-console-links#668
Differentiate VM and VM-controller console
2016-01-28 10:02:40 +01:00
Julien Fontanet
ccbcaa94fe Various updates. 2016-01-28 09:45:40 +01:00
Fabrice Marsaud
b80442c061 Fix to remove smb remotes for delta-backups 2016-01-28 09:22:22 +01:00
Fabrice Marsaud
3a0f6820ad Differentiate VM and VM-controller console 2016-01-28 09:02:58 +01:00
Fabrice Marsaud
af6365c76a logger.delete 2016-01-28 09:00:15 +01:00
Fabrice Marsaud
1bc92f5363 Delete job logs 2016-01-28 08:50:50 +01:00
Olivier Lambert
818ddcf01e Merge pull request #663 from vatesfr/marsaudf-angular-crash#662
Secure VM object concurrent suppression
2016-01-28 08:18:43 +01:00
Olivier Lambert
618ba361c7 Merge pull request #568 from vatesfr/marsaudf-smb-mounts#338
SMB remotes
2016-01-28 08:18:24 +01:00
wescoeur
599160a325 New delta backup format used. (without 'xva' files) (fix #651) 2016-01-27 13:37:54 +01:00
Pierre
35fba6f4ed Custom VM migration from VM view (See #567)
- Migration on the same pool :
	- if the VM's VDIs are on the pool's SRs : standard migration
	- if the VM's VDIs are on local SRs : choose migration network and target SRs
- Migration on another pool : choose migration network, target SRs and target VIFs
2016-01-27 11:36:38 +01:00
Julien Fontanet
8c672b23b5 Merge pull request #159 from vatesfr/marsaudf-smb-mounts#338
Remotes refactoring + SMB implementation.
2016-01-27 11:24:52 +01:00
Fabrice Marsaud
3b53f5ac11 fixes 2016-01-27 10:58:16 +01:00
Fabrice Marsaud
a14aad75fd external remote url module 2016-01-27 10:12:16 +01:00
Fabrice Marsaud
3513e85b0b remote url composing fix 2016-01-27 10:12:16 +01:00
Fabrice Marsaud
66c0390fc7 No smb remotes for delta backups 2016-01-27 10:12:16 +01:00
Fabrice Marsaud
a6549ccb08 SMB remotes 2016-01-27 10:12:16 +01:00
Fabrice Marsaud
ccdc744748 fixes 2016-01-27 10:08:59 +01:00
Fabrice Marsaud
261f0b4bf0 typo fix 2016-01-27 09:11:45 +01:00
Julien Fontanet
15d2878014 Merge pull request #669 from Danp2/Danp2-patch-1
Fix spelling of "immediately"
2016-01-27 09:10:44 +01:00
Danp2
d271be8723 Update view.jade 2016-01-26 19:32:09 -06:00
Danp2
6f9d2d99dd Update view.jade 2016-01-26 19:31:43 -06:00
Danp2
5d62664ee3 Update view.jade 2016-01-26 19:30:45 -06:00
Danp2
7124d9f2f8 Update view.jade 2016-01-26 19:26:53 -06:00
Fabrice Marsaud
495b59c2e5 update dependency 2016-01-26 17:34:00 +01:00
Fabrice Marsaud
f26fc9a0f0 0.1.0 2016-01-26 17:32:49 +01:00
Fabrice Marsaud
3fd637b3c7 method rename 2016-01-26 17:32:35 +01:00
Fabrice Marsaud
d6e1c13c39 Handler and remotes reworked 2016-01-26 17:28:27 +01:00
Fabrice Marsaud
ea605383d5 Various info 2016-01-26 16:08:40 +01:00
Fabrice Marsaud
a4fa670dc5 Initial commit 2016-01-26 16:01:03 +01:00
Julien Fontanet
56f99b2129 Implement a more generic method. 2016-01-26 15:38:03 +01:00
thehanatos
ccb508705b Fonctions computemin and computemax added 2016-01-26 15:06:53 +01:00
Julien Fontanet
6f8fa96150 Mutualize code into functions. 2016-01-26 14:22:35 +01:00
thehanatos
72e1632499 Method to get min, max average values (cpu) 2016-01-26 11:39:39 +01:00
Fabrice Marsaud
f7f13b9e07 PR feedback 2 2016-01-26 09:47:47 +01:00
Fabrice Marsaud
0459744771 Fixes disk save handling 2016-01-25 17:40:47 +01:00
Fabrice Marsaud
417544b781 Secure VM object concurrent suppression 2016-01-25 17:40:35 +01:00
Fabrice Marsaud
62564d747f Errors moved from API to core 2016-01-25 17:29:18 +01:00
Fabrice Marsaud
1d5d59c4c0 Remote handler reworked 2016-01-25 17:01:14 +01:00
Fabrice Marsaud
e8380b8a12 PR feedback 2016-01-25 11:45:53 +01:00
Fabrice Marsaud
c304d9cc62 No vdi merge through smb 2016-01-25 11:45:53 +01:00
Fabrice Marsaud
aad4ebf287 Remote handlers refactored, and adding a smb handler 2016-01-25 11:45:53 +01:00
Olivier Lambert
f9028cb366 Change the word Terminated by Finished for backups 2016-01-22 18:22:50 +01:00
Julien Fontanet
7d7cc56527 0.8.0-1 2016-01-22 17:47:41 +01:00
Julien Fontanet
85d0271b86 Xo#call(method, args).retry(predicate) 2016-01-22 17:47:35 +01:00
Julien Fontanet
749d5e22bb Update jsonrpc-websocket-client to 0.0.1-4. 2016-01-22 17:46:38 +01:00
Julien Fontanet
0ffa9d4225 Various updates. 2016-01-22 16:03:33 +01:00
Olivier Lambert
6c2f48181c Merge pull request #210 from vatesfr/handle-objects-conflicts
Properly handle multiple XAPI objects with the same XO id.
2016-01-22 16:02:19 +01:00
Julien Fontanet
480b6ff7d6 Properly handle multiple XAPI objects with the same XO id.
When there is a conflict, the existing object keep the place but when
it is removed, the other object (which is in the waiting list) will
take the new place.
2016-01-22 15:57:44 +01:00
Julien Fontanet
4bdd6f972c Remove node-inspector. 2016-01-21 16:44:42 +01:00
Julien Fontanet
61c61adea1 Minor code dedup. 2016-01-21 15:42:34 +01:00
Olivier Lambert
9a264719a9 Avoid broken Angular views. Fix #662 2016-01-21 15:11:42 +01:00
Olivier Lambert
6674d8456a Merge pull request #206 from vatesfr/olivierlambert-fixMigration
Correctly use destination host SR and network
2016-01-20 18:31:33 +01:00
Olivier Lambert
d1478ff694 select the correct migration network 2016-01-20 18:12:37 +01:00
Julien Fontanet
cb20d46b74 Merge pull request #205 from vatesfr/abhamonr-fix-avoid-errors-delta-backups
Delta backups: Fix various issues.
2016-01-20 17:36:33 +01:00
Olivier Lambert
9dd2538043 correctly use destination host SR and network 2016-01-20 17:26:47 +01:00
wescoeur
f25136a512 Avoid errors in delta backups. (fix)
- Wait the task end of vdi export.
- Now, in the error case of vdi backup,
  the current vdi snapshot is removed with catch(noop).
2016-01-20 17:19:41 +01:00
Julien Fontanet
03eb56ad2a Xapi#_updateObjectMapProperty(): do no hide remove errors. 2016-01-20 16:04:23 +01:00
Julien Fontanet
2508840701 4.12.1 2016-01-19 12:49:37 +01:00
Julien Fontanet
6e098f5a4f Merge pull request #203 from vatesfr/fix-scheduling
Scheduler: properly use Xo#runJobSequense() (fix vatesfr/xo-web#657).
2016-01-19 12:45:36 +01:00
Julien Fontanet
31b33406fd Scheduler: properly use Xo#runJobSequense() (fix vatesfr/xo-web#657). 2016-01-19 12:12:29 +01:00
Julien Fontanet
7ab7c763ed startup: ignore non existent paths in plugins lookup. 2016-01-19 11:49:07 +01:00
Olivier Lambert
96c213dcc4 Typo about the year in the changelog 2016-01-18 12:56:29 +01:00
Julien Fontanet
dec1a8e204 4.12.0 2016-01-18 10:45:50 +01:00
Julien Fontanet
06258e757a 4.12.0 2016-01-18 10:25:41 +01:00
Julien Fontanet
5919b43a21 @mixin(): compatibility with Node 0.12 (fix #202). 2016-01-18 10:18:02 +01:00
Julien Fontanet
7d4b9521e7 Merge pull request #199 from vatesfr/continuous-replication
Continuous VM replication.
2016-01-17 23:51:29 +01:00
Julien Fontanet
f9d2fd7997 Xapi: Ugly hack seems to be working. 2016-01-17 23:28:45 +01:00
Julien Fontanet
bdbc20c3c6 Xapi: fix private put() when length is known. 2016-01-17 21:05:18 +01:00
Julien Fontanet
69d6d03714 Better debugs in Xapi. 2016-01-17 21:03:19 +01:00
Olivier Lambert
a17fd697e2 update the CHANGELOG 2016-01-17 16:58:31 +01:00
Fabrice Marsaud
a6ab66e799 Fix #654 2016-01-17 16:12:11 +01:00
Fabrice Marsaud
17095ec3c6 Fix #652 2016-01-17 15:57:58 +01:00
Julien Fontanet
f40e1e55b0 Xapi#importVdiContent(): revert to use Promise.all() instead of Promise.race(). 2016-01-17 12:52:41 +01:00
Julien Fontanet
b9082ed838 Xapi#deleteVm(): Correctly remove VDIs with more than one VBD on the same VM. 2016-01-17 12:52:04 +01:00
Julien Fontanet
4edfefa9a2 Homogenise task names. 2016-01-17 12:52:04 +01:00
Julien Fontanet
0f98ee5407 Xapi#importVdiContent(): better task name. 2016-01-17 12:50:44 +01:00
Julien Fontanet
7fdf119873 Temporarily disable the ugly put hack. 2016-01-17 12:50:44 +01:00
Julien Fontanet
3c054e6ea1 Various changes. 2016-01-17 12:50:42 +01:00
Julien Fontanet
98899ece72 Use $ to prefix injected params names. 2016-01-17 12:49:23 +01:00
Julien Fontanet
2061a006d0 Xapi#createDeltaVdi(): correctly set the source of cloned VDI. 2016-01-17 12:49:23 +01:00
Julien Fontanet
5496c2d7fd Various fixes. 2016-01-17 12:49:22 +01:00
Julien Fontanet
d6b862a4a9 Xapi#_createVif(): Various fixes. 2016-01-17 12:49:22 +01:00
Julien Fontanet
d581f8a852 Xapi#importDeltaVm(): explicit error when base VDI is not found. 2016-01-17 12:49:22 +01:00
Julien Fontanet
3a593ee35a Xapi#_createVm(): clearer type handling. 2016-01-17 12:49:22 +01:00
Julien Fontanet
415d34fdaa Xo#copyDeltaVm(): Cancel exports on failures. 2016-01-17 12:49:22 +01:00
Julien Fontanet
7d28191bb5 Xapi#exportDeltaVm(): full export if the base is not found. 2016-01-17 12:49:20 +01:00
Julien Fontanet
e2c7693370 Xapi#importVdiContent(): do not wait for connection closure. 2016-01-17 12:48:38 +01:00
Julien Fontanet
f17ff02f4d Continuous replication: do not rely on metadata import/export. 2016-01-17 12:48:35 +01:00
Olivier Lambert
82687147b8 changelog for release 2016-01-17 10:24:28 +01:00
Olivier Lambert
ba76422c1f Merge pull request #648 from vatesfr/abhamonr-continuous-replication-view
Continuous replication view.
2016-01-16 20:04:05 +01:00
Julien Fontanet
225043e01d Properly identify last snapshot as future base. 2016-01-16 19:34:35 +01:00
Julien Fontanet
56f78349f8 Xen expects keys(other_config) to be snake or it will change them itself! 2016-01-16 19:34:35 +01:00
Julien Fontanet
8839d4f55a Delete exportDeltaVm() snapshot on failure. 2016-01-16 19:34:34 +01:00
Julien Fontanet
2562aec1d2 Missing space in utils.pDebug(). 2016-01-16 19:34:34 +01:00
Julien Fontanet
db2361be84 Fix createVbd(). 2016-01-16 19:34:34 +01:00
Julien Fontanet
d08fcbfef3 Various fixes. 2016-01-16 19:34:29 +01:00
Julien Fontanet
7601b93e65 Various fixes. 2016-01-16 19:19:51 +01:00
Julien Fontanet
1103ec40e0 Xapi#importDeltaVm(): clean after failure. 2016-01-16 19:19:51 +01:00
Julien Fontanet
af32c7e3db Properly exports vm.deltaCopy(). 2016-01-16 19:19:51 +01:00
Julien Fontanet
170918eb3b Initial continuous replication. 2016-01-16 19:19:51 +01:00
Julien Fontanet
a91e615a8d @deferrable.onSuccess() 2016-01-16 19:19:51 +01:00
Julien Fontanet
cc92c26fe3 Xapi#_importVdiContent() 2016-01-16 19:19:46 +01:00
Julien Fontanet
937135db32 Xapi#_exportVdi() 2016-01-16 18:57:15 +01:00
Julien Fontanet
01366558b4 Xapi#_deleteVbd() 2016-01-16 18:57:15 +01:00
Julien Fontanet
b0dbd54ea4 Xapi#_disconnectVbd() 2016-01-16 18:57:15 +01:00
Julien Fontanet
f113915307 Xapi#_updateObjectMapProperty() can remove a property. 2016-01-16 18:57:15 +01:00
Julien Fontanet
0a3c3d9bb1 Xapi#remoteCopyVm() falls back on local copy if possible. 2016-01-16 18:50:09 +01:00
Julien Fontanet
ba2e005c3e Merge pull request #201 from vatesfr/custom-http-request
Custom HTTP request implementation instead of got.
2016-01-16 18:31:21 +01:00
Julien Fontanet
b9ea52d65f Add missing space in forbidden operations description. 2016-01-16 18:27:23 +01:00
Julien Fontanet
f1e328d333 Better error handling in patch unzipping. 2016-01-16 18:13:13 +01:00
Julien Fontanet
23f1965398 Custom HTTP request implementation instead of got. 2016-01-16 18:13:04 +01:00
Olivier Lambert
fc82f185cb Merge pull request #200 from vatesfr/abhamonr-forever-forward-incremental-backup-fix
Old vdi bases must be removed at the backup end.
2016-01-15 14:31:04 +01:00
wescoeur
56b25f373f Old vdi bases must be removed at the backup end. 2016-01-15 14:20:11 +01:00
Olivier Lambert
1ac6add122 Merge pull request #196 from vatesfr/abhamonr-forever-forward-incremental-backup
Forever forward incremental backup (fix vatesfr/xo-web#576)
2016-01-15 14:13:02 +01:00
wescoeur
91b1a903f9 Fix rejected backup. 2016-01-15 13:48:15 +01:00
wescoeur
083b3c4ece Continuous replication view. (fix #582) 2016-01-15 13:15:43 +01:00
wescoeur
a8d6654ef5 Forever forward incremental backup (fix vatesfr/xo-web#576) 2016-01-15 13:12:05 +01:00
Olivier Lambert
63093b1be6 Merge pull request #198 from vatesfr/abhamonr-vbd-set-bootable-fix-getxapi
vbd.setBootable use xo.getXapi() instead of xo.getXAPI()
2016-01-14 16:28:16 +01:00
Olivier Lambert
5ecfdf38a8 Merge pull request #600 from vatesfr/abhamonr-button-bootable-disk
Use checkbox to disable/enable bootable disk property. (fix #583)
2016-01-14 16:26:54 +01:00
wescoeur
dd1acf3c2a Use checkbox to disable/enable bootable disk property. (fix #583) 2016-01-14 16:22:45 +01:00
wescoeur
60abe8f37e vbd.setBootable use xo.getXapi() instead of xo.getXAPI() 2016-01-14 16:22:16 +01:00
Olivier Lambert
7ba3909aa1 Merge pull request #175 from vatesfr/abhamonr-button-bootable-disk
Add vbd.setBootable api call.
2016-01-14 16:04:30 +01:00
Julien Fontanet
eecdba2d05 Merge pull request #197 from vatesfr/deferrable-decorator
deferrable() decorator.
2016-01-14 14:33:20 +01:00
Julien Fontanet
7bdc005aa7 @deferrable() works with async functions. 2016-01-14 14:24:09 +01:00
Julien Fontanet
d46703fdc4 Cosmetic changes in decorators spec. 2016-01-14 11:58:18 +01:00
Julien Fontanet
e4aa85f603 Cosmetic changes in decorators. 2016-01-14 11:58:18 +01:00
Julien Fontanet
233124ef50 deferrable.onFailure() 2016-01-14 11:58:11 +01:00
Julien Fontanet
36a3012de2 deferrable() decorator. 2016-01-14 11:16:51 +01:00
Olivier Lambert
2b4ee96ed7 Fix issue vatesfr/xo-web/issues/643 2016-01-13 18:55:35 +01:00
Olivier Lambert
76e9c2d196 Fix issue #643 2016-01-13 18:54:19 +01:00
Julien Fontanet
15f046959d Fix lodash.trim to 3.0.1 (see lodash/lodash#1769). 2016-01-13 16:23:20 +01:00
Julien Fontanet
85a2afd55c Add --safe-mode which do not registers plugins. 2016-01-13 15:53:55 +01:00
Julien Fontanet
6cd0d8456a Fix plugins (broken by Xo split). 2016-01-13 15:22:14 +01:00
Julien Fontanet
7750a0a773 Integrate api/xo-mixins indexes to the build. 2016-01-13 15:21:03 +01:00
Julien Fontanet
a5364b9257 Camel case: Xo#getXAPI() → Xo#getXapi(). 2016-01-13 14:39:40 +01:00
Julien Fontanet
e0e7b1406d Fix backups listing (broken by Xo split). 2016-01-13 12:12:40 +01:00
Olivier Lambert
bf3ba04624 Merge pull request #620 from vatesfr/abhamonr-disable-vm-start-during-delta-import
Disable vm start during delta import and explicit notification. (fix #613)
2016-01-13 11:53:54 +01:00
Julien Fontanet
38b67a0002 Merge pull request #192 from vatesfr/mixins
Split Xo with mixins.
2016-01-13 11:47:49 +01:00
Julien Fontanet
18dd4f8a52 Print start/stop errors. 2016-01-13 11:40:52 +01:00
Julien Fontanet
879f9b4ea9 Remove listeners after start/stop. 2016-01-13 11:40:51 +01:00
Julien Fontanet
3db0dda67a Fix a race condition in the scheduler. 2016-01-13 11:40:51 +01:00
Julien Fontanet
ed9ee15b90 Expose Xo#scheduler. 2016-01-13 11:40:51 +01:00
Julien Fontanet
44ff85e8e9 Rename Xo {start,stop}{,ing} events. 2016-01-13 11:40:51 +01:00
Julien Fontanet
cb07e9ba11 Split Xo with mixins. 2016-01-13 11:40:48 +01:00
Olivier Lambert
d997894d9a Merge pull request #614 from vatesfr/pierre-create-multiple-vms
Create multiple VMs at once
2016-01-13 11:33:18 +01:00
Julien Fontanet
bfe05ce5fc Merge pull request #184 from vatesfr/abhamonr-disable-vm-start-during-delta-import
Disable vm start during delta import and explicit notification.
2016-01-13 11:25:56 +01:00
wescoeur
64ee23cec0 Disable vm start during delta import and explicit notification. (fix vatesfr/xo-web#613) 2016-01-13 11:20:58 +01:00
wescoeur
c1059db6e5 Disable vm start during delta import and explicit notification. (fix #613) 2016-01-13 11:04:24 +01:00
Pierre
8ad29a2836 Creation of multiple VMs at once
- Panel to enable the creation of multiple VMs at once
- Main name is no longer required when creating multiple VMs
- Number of VMs is checked before creating VMs names input fields
- Redirection to tree view instead of VM view when creating multiple VMs
- Number of new VMs in summary
2016-01-13 10:52:48 +01:00
Julien Fontanet
c022d3c4a4 Merge pull request #182 from vatesfr/abhamonr-properly-remove-vdi-backups
Only delete VDI exports when VM backup is successful.
2016-01-13 10:38:15 +01:00
wescoeur
69c764301f Only delete VDI exports when VM backup is successful (fix vatesfr/xo-web#644). 2016-01-13 10:33:44 +01:00
Olivier Lambert
93a454b835 fix id propagation problem 2016-01-13 10:33:06 +01:00
Julien Fontanet
2f777daef6 Merge pull request #168 from vatesfr/cleaner-xo-stop
xo-server should properly stops on SIGINT/SIGTERM.
2016-01-12 17:38:30 +01:00
Julien Fontanet
a10bf7330e xo-server should properly stops on SIGINT/SIGTERM. 2016-01-12 17:33:32 +01:00
Julien Fontanet
782bb5967d Update level-party to 3.0.4. 2016-01-12 15:17:15 +01:00
Olivier Lambert
aeb2f55f0d Merge pull request #191 from vatesfr/prevent-concurrent-schedule-runs
A schedule cannot have concurrent runs (fix vatesfr/xo-web#642).
2016-01-11 14:43:24 +01:00
Julien Fontanet
ae68749b1b A schedule cannot have concurrent runs (fix vatesfr/xo-web#642). 2016-01-11 14:00:52 +01:00
Julien Fontanet
a3c25d56a0 Update deps. 2016-01-08 18:39:59 +01:00
Julien Fontanet
c8a6fd19a7 0.8.0-0 2016-01-07 18:04:52 +01:00
Julien Fontanet
0b143b580a Various updates. 2016-01-07 18:01:11 +01:00
Julien Fontanet
d2b9cc8df9 Merge pull request #189 from vatesfr/olivierlambert-change-name-during-import
Change VM name during VM delta import. Fix vatesfr/xo-web/issues/641
2016-01-07 14:08:45 +01:00
Olivier Lambert
2027daa75c Change name during VM delta import. Fix vatesfr/xo-web/issues/641 2016-01-07 14:02:53 +01:00
Olivier Lambert
da899386ec Merge pull request #640 from vatesfr/marsaudf-plugin-view-fix#637
Plugin reload after changes
2016-01-07 11:53:16 +01:00
Fabrice Marsaud
05d22903ea Plugin reload after changes 2016-01-07 11:45:15 +01:00
Olivier Lambert
33945520f1 Fix issue #639 2016-01-06 10:22:52 +01:00
Julien Fontanet
f3493a08bd Api#addMethod() returns a remover function. 2016-01-05 18:16:04 +01:00
Julien Fontanet
ed69fedc0a Initial commit. 2016-01-05 18:13:43 +01:00
Julien Fontanet
8098464f58 Initial commit. 2016-01-05 18:13:43 +01:00
Julien Fontanet
ea0db57388 0.6.0 2016-01-05 18:03:58 +01:00
Julien Fontanet
6fcc148105 0.7.3 2016-01-05 16:09:19 +01:00
Julien Fontanet
3485cb4ec4 Guard against null/undefined error.res. 2016-01-05 16:09:06 +01:00
Olivier Lambert
40284809cf choose to boot VM after creation. Fix #635 2016-01-04 16:41:16 +01:00
Olivier Lambert
efc18aaaec ensure CloudConfig drive is created before going on the freshly created VM view 2016-01-04 16:37:04 +01:00
Julien Fontanet
f3963269ae Initialize FAT buffer with null bytes. 2016-01-04 14:43:49 +01:00
Olivier Lambert
348441b046 improve hostname regex for CloudInit 2016-01-04 12:35:47 +01:00
Olivier Lambert
66601b2e7c remove space in hostname for cloudconfig. Fix #634 2016-01-04 12:33:52 +01:00
Olivier Lambert
724c5e4b73 VM creation auto name, description & select existing install repo 2015-12-31 10:50:15 +01:00
Olivier Lambert
7eff29bc65 remove useless logs 2015-12-31 10:25:49 +01:00
Olivier Lambert
ca002003c2 fix VIFs issues in VM creation 2015-12-31 10:25:23 +01:00
Julien Fontanet
ae2212c245 Merge pull request #183 from vatesfr/pierre-delete-running-vm
Delete not halted VMs. (vatesfr/xo-web/issues/616)
2015-12-31 09:48:37 +01:00
Olivier Lambert
f0675f1f3c Merge pull request #618 from vatesfr/pierre-delete-running-vm
Delete a running or suspended VM (See #616)
2015-12-31 08:56:19 +01:00
Olivier Lambert
976186c525 Merge pull request #631 from vatesfr/olivierlambert-existing-vifs
manage existing VDIs, fix #630
2015-12-30 22:16:00 +01:00
Olivier Lambert
89d5777e52 allow existing VIFs edition during VM creation. Fix #630 2015-12-30 22:12:15 +01:00
Julien Fontanet
3a19ac4c93 Merge pull request #187 from vatesfr/olivierlambert-vif-deletion
VIF delete typo. Fix issue vatesfr/xo-web/issues/632
2015-12-30 20:01:49 +01:00
Olivier Lambert
666f546cf0 VIF delete typo. Fix issue vatesfr/xo-web/issues/632 2015-12-30 19:57:48 +01:00
Julien Fontanet
e6ef6ccccf 0.5.1 2015-12-30 19:16:05 +01:00
Julien Fontanet
4826e14cad Log bind failures. 2015-12-30 19:15:58 +01:00
Julien Fontanet
5515f90147 README updates. 2015-12-30 19:12:24 +01:00
Julien Fontanet
2193c26acb 0.5.0 2015-12-30 19:03:13 +01:00
Julien Fontanet
1974a2c0e4 Use my Vates email. 2015-12-30 19:01:41 +01:00
Julien Fontanet
84fbe9ee06 Do not depend on Bluebird. 2015-12-30 19:00:32 +01:00
Olivier Lambert
8dbb69809c Merge pull request #629 from vatesfr/olivierlambert-custom-templates
Custom templates, fix #627 and #628
2015-12-30 18:18:09 +01:00
Julien Fontanet
b8e2cfc47f CLI for testing. 2015-12-30 17:46:21 +01:00
Julien Fontanet
464f57d7da Merge pull request #186 from vatesfr/olivierlambert-custom-templates
add 'install_repository' support for vatesfr/xo-web/issues/627
2015-12-30 17:21:12 +01:00
Olivier Lambert
2a192f33a1 add 'install_repository' support for vatesfr/xo-web/issues/627 2015-12-30 17:12:26 +01:00
Olivier Lambert
7348bd5d15 support templates with existing install_repository, as requested for issue #625 2015-12-30 16:08:39 +01:00
Olivier Lambert
9a46a466f7 properlly manage PV args (related to #625) 2015-12-30 15:27:41 +01:00
Fabrice Marsaud
fafc5c8553 Deltabackup display fix 2015-12-30 13:46:12 +01:00
Julien Fontanet
553fc6f5d9 0.7.4 2015-12-30 12:01:12 +01:00
Julien Fontanet
f5d790b264 Do not automatically retry on connection errors! 2015-12-30 12:00:58 +01:00
Julien Fontanet
9ca2674261 Make unhandled rejected promises visible on exit. 2015-12-29 10:39:26 +01:00
Julien Fontanet
641e13496e Return null instead of throwing when no matches. 2015-12-28 10:18:47 +01:00
Julien Fontanet
a6e18819d4 Use arrow funcs where possible. 2015-12-28 10:18:21 +01:00
Julien Fontanet
faf5ff6aa4 Reading certs is now async. 2015-12-28 10:11:17 +01:00
Julien Fontanet
ae20ca5558 Update deps. 2015-12-28 09:20:11 +01:00
Julien Fontanet
22bd87c965 Update ldapjs to 1.0. 2015-12-28 09:20:11 +01:00
Julien Fontanet
2129645f39 Babel 6. 2015-12-28 09:20:11 +01:00
Julien Fontanet
93a07b6207 Typo. 2015-12-28 09:20:09 +01:00
Julien Fontanet
24bc91dc0c Minor optimizations. 2015-12-23 13:57:29 +01:00
Julien Fontanet
cf2d5b502f Do not remove VDIs attached to other VMs. 2015-12-22 16:27:34 +01:00
Julien Fontanet
61450ef602 Typo. 2015-12-22 16:24:50 +01:00
Julien Fontanet
78f1d1738e Properly ignore snapshot deletion failures after export. 2015-12-22 16:24:00 +01:00
Julien Fontanet
4ffdfaa506 Merge pull request #619 from vatesfr/pierre-fix-suspend-vm-tree-view
Fixed `suspendVM` in tree view.
2015-12-22 15:56:50 +01:00
Pierre
e3989840ee Fixed suspendVM in tree view. 2015-12-22 15:51:59 +01:00
Pierre
b3e6f531a1 Delete not halted VMs (See #616) 2015-12-22 15:46:19 +01:00
Pierre
9f595cf5f7 Delete not halted VMs. (See vatesfr/xo-web#616) 2015-12-22 15:45:13 +01:00
Julien Fontanet
25b8e49975 4.11.0 2015-12-22 13:35:24 +01:00
Julien Fontanet
d40086cd13 Merge branch 'next-release' into stable 2015-12-22 13:34:57 +01:00
Julien Fontanet
4f6ee34592 4.11.0 2015-12-22 13:05:56 +01:00
Olivier Lambert
3ae58a323e update changelog 2015-12-22 12:36:12 +01:00
Olivier Lambert
8f9d8d93b9 Merge pull request #181 from vatesfr/fix-vbd-state-after-metadata-import
Fix vbd state after metadata import
2015-12-22 12:23:38 +01:00
Julien Fontanet
1080c10004 Call VM.power_state_reset after a metadata import (fix vatesfr/xo-web#615). 2015-12-22 12:18:02 +01:00
Fabrice Marsaud
26b958c270 SR host names displayed when necessary 2015-12-22 12:00:15 +01:00
Julien Fontanet
866aeca220 Revert "Snapshots running VM for metadata export (see vatesfr/xo-web#615)."
This reverts commit 121b3afc61.

It is not possible to export metadata of a snapshot.
2015-12-22 11:41:04 +01:00
Julien Fontanet
121b3afc61 Snapshots running VM for metadata export (see vatesfr/xo-web#615). 2015-12-22 11:26:03 +01:00
Olivier Lambert
12a4af5900 fix a broken link 2015-12-22 10:39:18 +01:00
Julien Fontanet
e8406b04b4 Merge pull request #180 from vatesfr/fix-memory-issue-importVmBackup
Fix memory issue on Xo#importVmBackup().
2015-12-21 19:46:06 +01:00
Julien Fontanet
8e7fe81806 Disable async traces for now (fix vatesfr/xo-web#608). 2015-12-21 19:20:48 +01:00
Olivier Lambert
852807b5d7 Merge pull request #178 from vatesfr/abhamonr-incremental-backups-integration
Some corrections for integration.
2015-12-21 19:05:57 +01:00
Olivier Lambert
9928d47fa2 PR comment review 2015-12-21 19:00:36 +01:00
Julien Fontanet
69479d538c Merge pull request #611 from vatesfr/abhamonr-incremental-backups-integration
Delta Backup is now known by xo-web.
2015-12-21 18:52:26 +01:00
wescoeur
829397dd5a Delta Backup is now known by xo-web. 2015-12-21 18:00:31 +01:00
wescoeur
412a1bd62a Some corrections for delta integration in xo-web.
- List delta backups in subfolders.
- Fix unhandled exception. (ENOENT)
- ...
2015-12-21 17:48:34 +01:00
Olivier Lambert
2bc89026db Merge pull request #612 from vatesfr/marsaudf-sr-list#601
All host SRs from the pool are shown for Halted VMs disk edition
2015-12-21 16:03:22 +01:00
Fabrice Marsaud
ebbc44d181 All host SRs from the pool are shwon for Halted VMs disk edition 2015-12-21 15:58:49 +01:00
Olivier Lambert
2228a1e36b update changelog 2015-12-21 12:37:33 +01:00
Olivier Lambert
a8cbf3e8ff Merge pull request #602 from vatesfr/pierre-plugin-config-detailed-errors
Plugin config: feedback on form filling errors
2015-12-21 12:02:57 +01:00
Olivier Lambert
fa32e3d734 Merge pull request #598 from vatesfr/marsaudf-disk-size-edition#587
Marsaudf disk size edition#587
2015-12-21 12:02:13 +01:00
Pierre
0d17148ff0 Minor fixes 2015-12-21 11:30:07 +01:00
Julien Fontanet
b290520951 vm.import() accepts a SR id. 2015-12-21 11:13:42 +01:00
Pierre
aa38411cf7 Checking titles for each config group. Displaying errors only for the concerned plugin 2015-12-21 11:11:04 +01:00
Olivier Lambert
4913c8699d Merge pull request #610 from vatesfr/cache-missingPatches-dashboard
Cache # of missing patches in dashboard (fix #609).
2015-12-21 10:42:36 +01:00
Julien Fontanet
1035a11487 Cache # of missing patches in dashboard (fix #609). 2015-12-21 10:38:31 +01:00
Olivier Lambert
15c2efe706 Merge pull request #607 from vatesfr/fix-removeListener-dashboard
Stop computing charts data when no longer on dashboard (fix #604).
2015-12-21 10:09:19 +01:00
Julien Fontanet
d7fd71bb62 Same fix for dataviz view. 2015-12-21 10:05:51 +01:00
Julien Fontanet
b11ee993fa Stop computing charts data when no longer on dashboard (fix #604). 2015-12-21 10:05:46 +01:00
Olivier Lambert
614aa7873c update changelog 2015-12-20 14:21:30 +01:00
Olivier Lambert
dde677b6d3 do NOT backup a CD drive 2015-12-18 21:45:03 +01:00
Pierre
1adf31fe15 [WIP] Display field title when possible and multiple fixes. 2015-12-18 17:24:19 +01:00
Julien Fontanet
75030847bd Merge pull request #177 from vatesfr/abhamonr-fix-remote-importVm
The vm import call use a sr instead of a host.
2015-12-18 17:23:48 +01:00
wescoeur
e7b9cb76bc The vm import call use a sr instead of a host. 2015-12-18 17:18:39 +01:00
Julien Fontanet
824ffd7b5b Merge pull request #603 from vatesfr/abhamonr-fix-remote-importVm
The vm import call use a sr instead of a host.
2015-12-18 17:10:11 +01:00
wescoeur
c31c6fdebb The vm import call use a sr instead of a host. 2015-12-18 17:03:59 +01:00
Olivier Lambert
e96c4c0dd3 restore accidently removed code 2015-12-18 16:56:25 +01:00
Julien Fontanet
b553b3fa50 Merge pull request #176 from vatesfr/olivierlambert-xenstorefix
Fix undefined xenstore_data sent to XAPI
2015-12-18 16:06:50 +01:00
Olivier Lambert
c6fb924b8f Fix undefined xenstore_data sent to XAPI 2015-12-18 16:00:06 +01:00
Pierre
83f3276429 Plugin config: feedback on form filling errors 2015-12-18 15:25:24 +01:00
Julien Fontanet
b13844c4a6 Merge pull request #170 from vatesfr/pierre-read-only-connection
Connection to a Xen Server in read-only mode. (Fix vatesfr/xo-web#439)
2015-12-18 12:09:34 +01:00
Julien Fontanet
d21f68ce54 Merge pull request #586 from vatesfr/pierre-read-only-connection
Added read-only checkboxes in the interface
2015-12-18 12:03:44 +01:00
Pierre
ab6c83a3fc Connection to a Xen Server in read-only mode. (Fix vatesfr/xo-web#439)
`updateXenServer` applies changes in database and also changes the connection's read-only status if the client is connected to this server.
2015-12-18 11:59:54 +01:00
Pierre
18b1e1b133 Connection to a server in read-only mode. (Fix #439)
Checkboxes in Settings view to connect to a Xen Server in read-only mode and then to toggle mode while connected to the server.
2015-12-18 11:48:29 +01:00
Julien Fontanet
b2a51bd658 0.7.2 2015-12-18 11:29:08 +01:00
Julien Fontanet
e5ab1dc154 Fix opaque ref detection in arrays. 2015-12-18 11:28:58 +01:00
Julien Fontanet
7e0a97973f Merge pull request #163 from vatesfr/abhamonr-incremental-backups
Implement rolling delta VM backup and import. (vatesfr/xo-web#494)
2015-12-18 11:24:31 +01:00
Julien Fontanet
6274969635 0.7.1 2015-12-18 11:23:29 +01:00
Julien Fontanet
069c430346 Fix opaque ref detection. 2015-12-18 11:23:24 +01:00
wescoeur
6a8a79bba5 Implement rolling delta VM backup and import. (vatesfr/xo-web#494) 2015-12-18 11:20:13 +01:00
Fabrice Marsaud
0edaa40052 Confirm modals before disk resizing 2015-12-18 10:18:02 +01:00
Fabrice Marsaud
627077c8f3 Better code for Human readable size input 2015-12-18 10:18:02 +01:00
Fabrice Marsaud
a897b1798d bytesToSize only alters numbers 2015-12-18 10:18:02 +01:00
wescoeur
4a0c58c50a Add vbd.setBootable api call. (fix vatesfr/xo-web/#583) 2015-12-17 17:07:35 +01:00
Julien Fontanet
cbcc4dd21d 0.7.0 2015-12-17 16:33:55 +01:00
Julien Fontanet
eb0c963332 Coding style. 2015-12-17 16:21:25 +01:00
Olivier Lambert
50e39993bf Merge pull request #599 from vatesfr/marsaudf-newmv-disk-size
HR size for new VM new disks
2015-12-17 10:59:50 +01:00
Fabrice Marsaud
5e397dd01e HR size for new VM new disks 2015-12-17 10:53:32 +01:00
Olivier Lambert
f57ff5d5e0 Merge pull request #593 from vatesfr/pierre-no-orderby-when-focus
Settings view: the servers list should not re-order while a field is being edited. Fix #594
2015-12-16 18:26:55 +01:00
Olivier Lambert
5c3e40917c Merge pull request #577 from vatesfr/olivierlambert-configdrive
Allow cloud drive usage for disk templates VMs
2015-12-16 18:20:13 +01:00
Julien Fontanet
023fe82932 Merge pull request #150 from vatesfr/olivierlambert-configdrive
Generic CloudConfig Drive
2015-12-16 18:19:51 +01:00
Julien Fontanet
2e1a06c7bf Generic Cloud Config drive. Fix vatesfr/xo-web/issues/549 2015-12-16 18:12:47 +01:00
Olivier Lambert
90a2dc4581 Merge pull request #597 from vatesfr/marsaudf-disk-size-edition#587
Marsaudf disk size edition. Fix #587
2015-12-16 17:37:15 +01:00
Olivier Lambert
b64243fdd6 add parent :o 2015-12-16 17:12:51 +01:00
Fabrice Marsaud
42db87d305 resize disks in SR View 2015-12-16 16:43:39 +01:00
Julien Fontanet
8b6961d40c VDI.resize{,_online} expect a string contrary to what the doc says. 2015-12-16 16:33:55 +01:00
Fabrice Marsaud
e7ab1b589a resize disks in VM view 2015-12-16 16:17:15 +01:00
Fabrice Marsaud
e9979c9887 Human readable sizes for editing template disks on VM creation 2015-12-16 16:07:08 +01:00
Olivier Lambert
3bb9bb56f0 better placeholder 2015-12-16 16:07:08 +01:00
Olivier Lambert
5a99474c55 add stuff 2015-12-16 16:07:08 +01:00
Olivier Lambert
182ee6c25f add stuff 2015-12-16 16:07:08 +01:00
Fabrice Marsaud
4d3f0a06db Modfified template disk properties are stored for future update 2015-12-16 16:07:08 +01:00
Fabrice Marsaud
0e182c519b Config drive button looks better 2015-12-16 16:07:08 +01:00
Fabrice Marsaud
b1ee30ce7d cloud config message 2015-12-16 16:07:08 +01:00
Fabrice Marsaud
93ba764e23 Config drive can be toggled, modified template disks data are isolated in the controller 2015-12-16 16:07:08 +01:00
Olivier Lambert
433e17bb81 more comments 2015-12-16 16:07:08 +01:00
Olivier Lambert
61c09083ad more modifications 2015-12-16 16:07:08 +01:00
Olivier Lambert
018377e724 reorder the cloud config at the end of the vm creation process 2015-12-16 16:07:08 +01:00
Olivier Lambert
b76f9513ba various fixes 2015-12-16 16:07:08 +01:00
Olivier Lambert
40ebb7ba75 add a removed by error stuff 2015-12-16 16:07:08 +01:00
Olivier Lambert
a9e52e8954 remove preliminar work in existing VM view 2015-12-16 16:07:08 +01:00
Olivier Lambert
3c8876cac7 Allow cloud drive usage for disk templates VMs 2015-12-16 16:07:08 +01:00
Olivier Lambert
b7e005f9c7 fix an indentation problem 2015-12-16 16:06:37 +01:00
Olivier Lambert
e6fe0a19fa Merge pull request #596 from vatesfr/olivierlambert-clean-size-to-byte
clean size to byte filter
2015-12-16 16:04:07 +01:00
Olivier Lambert
fba11b6a44 fix a useless filter 2015-12-16 16:01:10 +01:00
Julien Fontanet
53351877da Fix typo: size → parseSize. 2015-12-16 15:48:33 +01:00
Olivier Lambert
c270e7f5dd clean size to byte filter 2015-12-16 15:41:42 +01:00
Julien Fontanet
522445894e Always parse sizes. 2015-12-16 15:36:01 +01:00
Julien Fontanet
550351bb16 Merge pull request #174 from vatesfr/abhamonr-import-vdi-content
Import VDI content is implemented.
2015-12-16 15:06:32 +01:00
wescoeur
328adbb56f Import VDI content is implemented. 2015-12-16 14:59:53 +01:00
Julien Fontanet
b4cdf4d277 Minor optimizations. 2015-12-16 14:19:30 +01:00
Julien Fontanet
716d7bfcf6 Optimize opaque refs detection. 2015-12-16 14:15:37 +01:00
Julien Fontanet
b45a169a2f Read only mode can be altered after initial construction. 2015-12-16 13:58:33 +01:00
Pierre
9ee00d345e Settings: the servers list should not re-order while a field is being edited. (Fix #594)
The angular `orderBy` is triggered when the server list is triggered ie every 3 seconds when every text fields are unfocused.
2015-12-16 13:47:13 +01:00
Julien Fontanet
0379fbc4eb Merge pull request #590 from vatesfr/pierre-no-refresh-when-focus
Servers should not refresh while a field is being edited
2015-12-16 13:44:43 +01:00
Julien Fontanet
44a36bbba3 Use human-format v6 (much nicer with incorrect casing). 2015-12-16 13:17:07 +01:00
Julien Fontanet
4cc4adeda6 disk.{create,resize}() accept integers for size. 2015-12-16 11:34:46 +01:00
Julien Fontanet
c14e6f2a63 disk.resize() accepts human readable size. 2015-12-16 11:34:46 +01:00
Olivier Lambert
9748a3ae91 display correct size in interface (binary scale). fix #592 2015-12-16 11:23:37 +01:00
Julien Fontanet
cfcb2d54d8 Merge pull request #172 from vatesfr/olivierlambert-vdimove
Allow offline VDI moving. Fix vatesfr/xo-web#591
2015-12-16 10:46:33 +01:00
Julien Fontanet
010d60e504 Coding style. 2015-12-16 09:46:39 +01:00
Julien Fontanet
eabde07ff6 Remove incorrect export. 2015-12-16 09:46:39 +01:00
Olivier Lambert
be19ad5f2a Allow offline VDI moving. Fix https://github.com/vatesfr/xo-web/issues/591 2015-12-15 19:07:20 +01:00
Julien Fontanet
d1d0816961 Merge pull request #171 from vatesfr/olivierlambert-existingdisks
allow edition of existing disks during VM creation
2015-12-15 17:56:38 +01:00
Olivier Lambert
7be7170504 allow edition of existing disks during VM creation 2015-12-15 17:51:03 +01:00
Pierre
1881944748 Servers infos should not refresh while a field is being edited 2015-12-15 16:56:52 +01:00
Julien Fontanet
478272f515 Merge pull request #167 from vatesfr/remoteCopyVm-set-nameLabel-asap
Xapi#remoteCopyVm() sets name label ASAP.
2015-12-15 13:49:13 +01:00
Julien Fontanet
09af6958c8 Xapi#remoteCopyVm() sets name label ASAP. 2015-12-15 11:35:03 +01:00
Julien Fontanet
adb3a2b64e Merge pull request #169 from vatesfr/olivierlambert-vdiresize
Clean VDI resize support
2015-12-14 17:09:12 +01:00
Olivier Lambert
1ee7e842dc Clean VDI resize support 2015-12-14 17:05:59 +01:00
Julien Fontanet
b080a57406 Merge pull request #162 from vatesfr/pierre-aborting-vm-export-cancels-operation
VM-export interruption properly transferred to Xen
2015-12-11 18:18:05 +01:00
Julien Fontanet
7c017e345a Minor updates. 2015-12-11 18:02:41 +01:00
Pierre
4b91343155 VM-export interruption properly transferred to Xen. (Fix vatesfr/xo-web#490)
When the connection with the client is lost, the export task is cancelled and the connection is closed.
As the task is over, the snapshot used for the export is deleted.

Cancelling the task is useless as it is cancelled by Xen
2015-12-11 18:02:41 +01:00
Julien Fontanet
02a3df8ad0 Merge pull request #164 from vatesfr/olivierlambert-import-metadata
Support VM metadata import. Fix vatesfr/xo-web#579
2015-12-11 17:01:47 +01:00
Olivier Lambert
6a7080f4ee Support VM metadata import. Fix vatesfr/xo-web#579 2015-12-11 16:56:56 +01:00
Olivier Lambert
3721fa194c remove metadata export. Fix #580 2015-12-11 16:38:03 +01:00
Julien Fontanet
4547042577 Fix issue in utils.createRawObject(). 2015-12-10 14:06:22 +01:00
Julien Fontanet
0e39eea7f8 Always use noop from utils. 2015-12-10 14:06:22 +01:00
Olivier Lambert
8c3fcad20b Merge pull request #574 from vatesfr/marsaudf-prevent-add-host#466
Check IP of a new server to avoid double connection. Fix #466
2015-12-10 14:02:41 +01:00
Fabrice Marsaud
decf373d0b Check IP of a new server to avoid double connection 2015-12-10 12:25:04 +01:00
Olivier Lambert
1e5aefea63 Merge pull request #161 from vatesfr/olivierlambert-set-default-sr
Set default sr
2015-12-10 12:14:27 +01:00
Olivier Lambert
ff1d50f993 Merge pull request #573 from vatesfr/olivierlambert-set-default-sr
set default SR. Fix #572
2015-12-10 12:14:14 +01:00
Olivier Lambert
ef34204b59 set default SR. Fix #572 2015-12-10 12:10:47 +01:00
Olivier Lambert
02c4f333b0 minor fixes 2015-12-10 12:08:30 +01:00
Olivier Lambert
1e8fc4020b Add setDefaultSr, fix #572 2015-12-10 11:01:05 +01:00
Olivier Lambert
f969701ac1 Merge pull request #155 from vatesfr/pierre-plugins-autodiscovery
Installed plugins are detected even if the config file does not show …
2015-12-09 20:41:46 +01:00
Olivier Lambert
270b636d80 Merge pull request #569 from vatesfr/pierre-users-cannot-add-tags-on-disks
Non-admin users don't see the '+' button to add a tag (Fix Issue #516)
2015-12-09 19:22:48 +01:00
Olivier Lambert
ac01da2ae9 Merge pull request #570 from vatesfr/marsaudf-run-job#562
Buttons to run jobs for one shot (backup or job manager). Fix #570
2015-12-09 19:17:13 +01:00
Olivier Lambert
b236243857 Merge pull request #160 from vatesfr/marsaudf-no-backup-if-unmounted
Rolling backup fails immediatly if remote is disabled. Fix https://github.com/vatesfr/xo-web/issues/561
2015-12-09 19:13:01 +01:00
Fabrice Marsaud
39edc64922 Rolling backup fails immediatly if remote is disabled 2015-12-09 17:18:50 +01:00
Fabrice Marsaud
0136310c54 Buttons to run jobs for one shot (backup or job manager) 2015-12-09 16:57:50 +01:00
Pierre
f22ece403f Installed plugins are automatically detected when the server starts. They are no more loaded from the config file.
Plugins (ie installed modules of which names start with `xo-server-`) are automatically detected and registered from `${__dirname}/node_modules/` and `/usr/local/lib/node_modules/`.
2015-12-09 16:56:48 +01:00
Pierre
ecf4cf852e Non-admin users don't see the '+' button to add a tag (Issue #516) 2015-12-09 16:51:12 +01:00
Julien Fontanet
f5423bb314 Merge pull request #158 from vatesfr/olivierlambert-recoveryStart
Generic recovery start (PV or HVM)
2015-12-07 18:11:03 +01:00
Olivier Lambert
c66384adfb Merge pull request #566 from vatesfr/olivierlambert-recoveryStart
Generic recovery start (both PV and HVM compatible). Fix #564
2015-12-07 18:03:33 +01:00
Julien Fontanet
b1e5945ebe Xapi#startVm() and Xapi#startVmOnCd() (fix vatesfr/xo-web#563). 2015-12-07 18:02:55 +01:00
Olivier Lambert
98bdda629d Order ISOs by their name. Fix #565 2015-12-07 17:28:48 +01:00
Olivier Lambert
a8286f9cba minor fix 2015-12-07 17:22:40 +01:00
Olivier Lambert
fa3db4fcf6 Generic recovery start (both PV and HVM) 2015-12-07 15:43:46 +01:00
Olivier Lambert
ddac0cfee1 Display failures on VM boot order modification. Fix #560 2015-12-07 13:48:32 +01:00
Olivier Lambert
9368673459 Display PV args for PV guest even if they are empty. Fix #557 2015-12-07 13:37:25 +01:00
Olivier Lambert
43dc999ab5 display boot order only for HVM guests. Fix #558 2015-12-07 13:32:21 +01:00
Olivier Lambert
3b7333e866 remove most of the left margin 2015-12-04 14:11:38 +01:00
Olivier Lambert
bc0ddbaf16 Merge pull request #554 from vatesfr/abhamonr-plugin-config-avoid-reset-form
Avoid plugin config form reset. Fix #529
2015-12-04 12:38:23 +01:00
Olivier Lambert
45f0ae7e1c Merge pull request #425 from vatesfr/pierre-search-bar
Improved search bar
2015-12-04 12:35:35 +01:00
Pierre
a521c4ae01 Clicking on the search button will always bring to the list view. Lag fix when the text field is emptied. Transparent background for filter menus. 2015-12-04 12:00:55 +01:00
Julien Fontanet
8e5dee79e0 Use Babel 6. 2015-12-04 11:49:19 +01:00
Pierre
5b8238adeb 2 filter menus : 'Types' and 'States'. FontAwesome checkboxes. Bug fix. 2015-12-04 10:48:32 +01:00
Pierre
ec330474fa The 'Filters' menu is below the search bar and appears only in the list view. *disconnected filter shows hosts and SRs which have at least 1 PBD not attached. 2015-12-04 10:48:32 +01:00
Pierre
ece28904a8 All the checkboxes are unchecked when the search field is empty 2015-12-04 10:48:32 +01:00
Pierre
4f1c495afb Added *disconnected option. Added a 'Filters' dropdown menu in the search bar to add/remove options with a Github like behaviour 2015-12-04 10:48:32 +01:00
Pierre
5fdd27b7e6 Added option key-word *halted 2015-12-04 10:48:32 +01:00
Pierre
91f449af9a Search improvements
1) select several types of objects (eg: *vm *host)
2) combine types and states (eg: *vm *running)
3) negation is considered as an option
2015-12-04 10:48:32 +01:00
Pierre
efc0a0dfe3 Added '*running' option to show only running entities (for VMs and hosts). This option can be banned (statusrunning) to show only not running entities 2015-12-04 10:48:32 +01:00
Pierre
fee47baa66 Added key-words to ban some objects from search list (host, vm, sr, pool) + Back to tree view when search field is empty 2015-12-04 10:48:32 +01:00
Julien Fontanet
9abd9d20ec Initial work on React/Redux. 2015-12-03 18:22:13 +01:00
Julien Fontanet
d98a457271 0.0.2 2015-12-03 16:34:23 +01:00
Julien Fontanet
ef3a0d881f Add empty file to make Travis not fail. 2015-12-03 16:34:13 +01:00
Julien Fontanet
669a9e5cc3 Merge pull request #1 from Phlogi/patch-1
Fix required field, changed from pass to password
2015-12-03 16:32:31 +01:00
Phlogi
5eb58ae6cc Fix required field, changed from pass to password
this one was missed on 7af5964f13
2015-12-03 16:29:26 +01:00
wescoeur
7fa1923400 0.1.1 2015-12-03 16:24:14 +01:00
wescoeur
4c165bd620 Package is not private. 2015-12-03 16:24:05 +01:00
wescoeur
7c04a455b4 0.1.0 2015-12-03 16:22:16 +01:00
ABHAMON Ronan
06b6061518 Update README.md 2015-12-03 16:19:49 +01:00
wescoeur
3821ee3dcd Update package.json description. 2015-12-03 16:11:58 +01:00
Julien Fontanet
76b5be8171 Revert "Freeze config object before configuring plugin."
This reverts commit 789f51bd2a.

The change introduced issues with nodemailer used in xo-server-transport-email.
2015-12-03 16:00:32 +01:00
wescoeur
03a33646d6 0.2.1 2015-12-03 15:54:24 +01:00
wescoeur
791183553e Update README 2015-12-03 15:53:19 +01:00
wescoeur
de6ef49043 0.2.0 2015-12-03 15:43:35 +01:00
wescoeur
0ad7bfc7e7 Avoid plugin config form reset. 2015-12-03 15:11:44 +01:00
Julien Fontanet
bd64143ae1 Merge pull request #551 from vatesfr/abhamonr-plugin-root-integer-properties
Root integer properties can be edited in plugins configuration form. …
2015-12-03 15:09:52 +01:00
wescoeur
ec982ba9a3 Root integer properties can be edited in plugins configuration form. fix #550 2015-12-03 15:03:47 +01:00
Julien Fontanet
6280f6ff98 Merge pull request #542 from vatesfr/abhamonr-purge-plugin-config
The plugins configurations can be cleaned.
2015-12-03 14:37:52 +01:00
Julien Fontanet
804bca2041 Merge pull request #148 from vatesfr/abhamonr-purge-plugin-config
The plugins configurations can be cleaned.
2015-12-03 14:37:32 +01:00
Olivier Lambert
35d20390a9 hide non auhorized containers for VMs (host or pool). Fix #545 2015-12-03 14:23:32 +01:00
Julien Fontanet
720b9ef999 0.6.9 2015-12-03 12:40:31 +01:00
Julien Fontanet
9b9e4dddfc Gracefully fails if error.res does not exists. 2015-12-03 12:39:59 +01:00
Julien Fontanet
10602b47b4 4.10.2 2015-12-03 12:20:48 +01:00
Julien Fontanet
8d7c522596 Merge pull request #154 from vatesfr/julienf-fix-patches-for-6.1
Fix patches handling for XenServer 6.1.
2015-12-03 12:20:05 +01:00
Julien Fontanet
3ac455c5a7 Fix patches handling for XenServer 6.1. 2015-12-03 12:16:56 +01:00
Julien Fontanet
2b19a459df Merge pull request #152 from vatesfr/julienf-handle-xapiToXo-failures
Handle XAPI to XO objects failures.
2015-12-03 12:15:29 +01:00
Julien Fontanet
41ba2d9bf6 Properly schedule retry for the next loop. 2015-12-03 12:10:29 +01:00
Julien Fontanet
a7b5eb69d3 Handle XAPI to XO objects failures. 2015-12-03 11:13:00 +01:00
Julien Fontanet
67c209bb5e Properly handle the case where the pool object is not here yet. 2015-12-03 10:27:23 +01:00
Julien Fontanet
a6d436d9ea 4.10.1 2015-12-02 17:45:30 +01:00
Julien Fontanet
652c784e13 Update xen-api to 0.6.8 (fix vatesfr/xo-web#552). 2015-12-02 17:41:32 +01:00
Julien Fontanet
7434e0352f 0.6.8 2015-12-02 17:37:28 +01:00
Julien Fontanet
26d61af902 Fall back to legacy events on server failure (work around #2). 2015-12-02 17:36:29 +01:00
Julien Fontanet
5bd12c5f9e Fix XML-RPC error display. 2015-12-02 17:31:13 +01:00
Julien Fontanet
e07fae4290 Revert to Babel 5 for now. 2015-12-02 17:30:42 +01:00
wescoeur
a0a3b7a158 The plugins configurations can be cleaned. 2015-12-02 16:15:23 +01:00
wescoeur
c487c5042f The plugins configurations can be cleaned. fix #539 2015-12-02 16:14:36 +01:00
wescoeur
28bf7ee90b Update schema with titles/descriptions on mails/xmpp attributes. 2015-12-02 15:47:33 +01:00
wescoeur
4d1ca7ede4 Merge remote-tracking branch 'refs/remotes/origin/master' 2015-12-02 15:42:27 +01:00
wescoeur
f3b46515c5 Update for Xmpp support 2015-12-02 15:40:40 +01:00
wescoeur
0aa5e7ba63 Use {...conf} instead of conf (Frozen object) 2015-12-02 15:39:47 +01:00
wescoeur
8d8bf43b46 to parameter is now an array of xmpp address 2015-12-02 15:27:51 +01:00
Julien Fontanet
789f51bd2a Freeze config object before configuring plugin. 2015-12-02 15:20:38 +01:00
wescoeur
9983407c8b Make the client in load. 2015-12-02 15:00:38 +01:00
wescoeur
2471ad4215 Plugin works with few options 2015-12-02 14:33:50 +01:00
wescoeur
f266982560 Use node-xmpp-client for the transport protocol 2015-12-02 10:46:24 +01:00
Julien Fontanet
c059a416f7 0.1.1 2015-12-01 15:54:42 +01:00
Olivier Lambert
82dc0c0593 Update README.md 2015-12-01 14:43:17 +01:00
Olivier Lambert
5faad3db92 Update the documentation 2015-11-30 19:15:01 +01:00
Olivier Lambert
099db6792a Update the documentatioh 2015-11-30 18:58:56 +01:00
Olivier Lambert
aaf7927aa2 Cloud config default SR. (Fix #548) 2015-11-30 18:45:29 +01:00
Olivier Lambert
c2f1a74f96 Merge pull request #149 from vatesfr/julienf-fix-vm-migration-collision
Use a different id (opaque ref) for VMs which are under migration.
2015-11-30 17:40:31 +01:00
Julien Fontanet
a9ed7a3f3b Use a different id (opaque ref) for VMs which are under migration. 2015-11-30 17:34:12 +01:00
Julien Fontanet
3c677f3d21 Merge pull request #544 from vatesfr/abhamonr-plugin-config-boolean-default-value
Plugin config boolean properties have a default false value.
2015-11-27 17:01:22 +01:00
wescoeur
94eb76b3a6 Plugin config boolean properties have a default false value. fix #543 2015-11-27 16:49:46 +01:00
wescoeur
74a31f3301 Add schema 2015-11-27 16:47:16 +01:00
wescoeur
f88c0b9b67 Init 2015-11-27 14:51:54 +01:00
wescoeur
61ef313b1c 0.1.0 2015-11-27 14:45:04 +01:00
Julien Fontanet
a921cb2d0d 4.10.0 2015-11-27 14:35:50 +01:00
Julien Fontanet
b348e88a5f 4.10.0 2015-11-27 14:24:08 +01:00
Julien Fontanet
1615395866 Merge branch 'next-release' into stable 2015-11-27 14:23:57 +01:00
Olivier Lambert
f3aaa363d8 Merge pull request #541 from vatesfr/marsaudf-UI-fix
Minor UI fix
2015-11-27 13:39:20 +01:00
Fabrice Marsaud
45a79e1920 Minor UI fix 2015-11-27 13:35:27 +01:00
Julien Fontanet
e483abcad0 Merge pull request #130 from vatesfr/marsaudf-generic-job-schedules
Enhancements to prepare generic job scheduling
2015-11-27 12:03:27 +01:00
Olivier Lambert
6fd9b2a453 Merge pull request #493 from vatesfr/marsaudf-task-manager
Generic task manager
2015-11-27 12:03:01 +01:00
Olivier Lambert
01d8e89a71 add changelog 2015-11-27 11:58:00 +01:00
Fabrice Marsaud
12b6760f6e Extend job & schedule API with job & schedule names, and job.runSequence 2015-11-27 11:56:37 +01:00
Fabrice Marsaud
c89fa63910 Minor UI fix 2015-11-27 11:25:23 +01:00
Fabrice Marsaud
9fc5c49dbf UI enhancements 2015-11-27 11:25:23 +01:00
Fabrice Marsaud
7dfc269df9 Enhanced UI inputs for XO object management 2015-11-27 11:25:18 +01:00
Fabrice Marsaud
76d0b397db Instant one shot for generic jobs 2015-11-27 11:24:25 +01:00
Fabrice Marsaud
5413f887af Bare generic job creation and scheduling 2015-11-27 11:24:13 +01:00
Julien Fontanet
048cea19b7 0.0.1 2015-11-27 10:59:41 +01:00
Julien Fontanet
3e77c76c34 Make config entry from required. 2015-11-27 10:59:08 +01:00
Julien Fontanet
9b6c5d2ea3 Rename config entry pass to password. 2015-11-27 10:58:56 +01:00
Julien Fontanet
b3d0c61f0e Merge pull request #540 from vatesfr/abhamonr-plugin-input-type-number
Plugin 'number' property use input number in config form (fix #538)
2015-11-27 10:49:32 +01:00
wescoeur
4ce0441d68 Plugin 'number' property use input number in config form 2015-11-27 10:42:45 +01:00
Julien Fontanet
72be34e18d Move clipboard to dev deps. 2015-11-27 10:04:43 +01:00
Julien Fontanet
d2961b7650 Merge pull request #537 from vatesfr/abhamonr-plugins-supports-numbers
Plugin config supports integer properties (fix #531).
2015-11-27 09:54:46 +01:00
wescoeur
fdca1bbf72 Plugin config supports integer properties. 2015-11-27 09:43:33 +01:00
Julien Fontanet
ab7a2f9dee Merge pull request #536 from vatesfr/abhamonr-plugin-boolean-checkbox
Plugin boolean properties use checkboxes (fix #528).
2015-11-27 09:42:06 +01:00
wescoeur
7b72857a3b Plugin boolean properties use checkboxes 2015-11-26 22:44:24 +01:00
Olivier Lambert
4787146658 Merge pull request #533 from vatesfr/marsaudf-backup-ui
better backup log display
2015-11-26 16:30:18 +01:00
Fabrice Marsaud
430f9356c3 Minor button fix 2015-11-26 16:27:40 +01:00
Fabrice Marsaud
70a3b3518f Better schedule state UI in overview 2015-11-26 16:25:00 +01:00
Julien Fontanet
6fde6d7eac Expose plugin config validation errors (vatesfr/xo-web#530). 2015-11-26 16:18:39 +01:00
Julien Fontanet
a7ef891217 Merge pull request #146 from vatesfr/abhamonr-abort-vm-export-import
Start VM export only when necessary.
2015-11-26 16:10:59 +01:00
Fabrice Marsaud
c0944c17e0 better backup log display 2015-11-26 16:07:47 +01:00
Julien Fontanet
da1b2a91e7 Merge pull request #526 from vatesfr/pierre-console-keyboard-unfocus
Console has keyboard and mouse focus only when mouse is hovering
2015-11-26 15:59:48 +01:00
wescoeur
2fa081a4ba Plugin supports now Disaster recovery jobs 2015-11-26 15:47:25 +01:00
Pierre
aa27492713 Console catches keyboard and mouse inputs only when mouse is hovering.
Also, when the mouse enters the VM screen, the current active element is unfocused.
2015-11-26 15:44:01 +01:00
wescoeur
8f22dfe87b Start VM export only when necessary. 2015-11-26 15:42:07 +01:00
Julien Fontanet
2dc7fab39a Merge pull request #134 from vatesfr/abhamonr-backup-jobs-notifications
Xo event `job:terminated` on job termination.
2015-11-26 15:29:39 +01:00
Julien Fontanet
afe589dec3 Merge pull request #527 from vatesfr/abhamonr-plugin-title-property
Support title property in plugin configuration schema
2015-11-26 15:25:25 +01:00
Julien Fontanet
5b9a3ca1cb This module is no longer private. 2015-11-26 15:22:32 +01:00
Julien Fontanet
bf7c56a269 Remove unnecessary new line. 2015-11-26 15:21:40 +01:00
Julien Fontanet
d33af742dd Initial commit. 2015-11-26 15:19:09 +01:00
wescoeur
978d140c8f Support title property in plugin configuration schema 2015-11-26 14:31:32 +01:00
Olivier Lambert
2ce213b62c Merge pull request #525 from vatesfr/pierre-clipboard-management-through-console
Clipboard management through console
2015-11-26 11:35:57 +01:00
Pierre
7748266078 Clipboard support in console.
- From VM to client :
	1) Copy text in VM
	2) The text field (above the console) updates automatically with the VM's clipboard content
	3) Click on the 'Copy' button to get the text in the local clipboard
- From client to VM :
	1) Write text in the text field
	2) The VM's clipboard updates automatically with the new content
	3) Paste text anywhere in the VM
2015-11-26 11:23:40 +01:00
wescoeur
823879e9f9 0.0.2 2015-11-26 11:12:08 +01:00
ABHAMON Ronan
98eb285e14 Update README.md 2015-11-26 11:11:16 +01:00
wescoeur
74cb2e3c63 'job:terminated' signal is emitted after job execution. (with one executionStatus object) 2015-11-26 11:07:37 +01:00
wescoeur
37fd2e1103 0.0.1 2015-11-26 10:57:16 +01:00
ABHAMON Ronan
56db5dc341 Update README 2015-11-26 10:39:48 +01:00
ABHAMON Ronan
d48fa235b1 Update README 2015-11-25 17:41:17 +01:00
wescoeur
06a111495b Update package.json with plugin infos 2015-11-25 17:23:52 +01:00
wescoeur
f3fb0797bf Schema description fix 2015-11-25 17:14:58 +01:00
wescoeur
561b8f4eed Coding style fixes 2015-11-25 17:13:29 +01:00
Julien Fontanet
6e763a58f1 Expose UUIDs on all Xapi objects which have one. 2015-11-25 16:53:25 +01:00
wescoeur
8cfc6f0b1d Add schema + Plugin use now an array of receivers 2015-11-25 16:36:08 +01:00
wescoeur
7e04f26f78 Send email to one address 2015-11-25 16:11:27 +01:00
Julien Fontanet
348c30b61e Use Babel 5. 2015-11-25 15:00:41 +01:00
Olivier Lambert
83783d07a1 hide action panel for host or VM if only viewer 2015-11-25 14:38:47 +01:00
Olivier Lambert
49a1f2c7c5 Merge pull request #517 from vatesfr/marsaudf-disable-host-buttons#474
Disable host buttons relying on ACLs
2015-11-25 14:31:49 +01:00
Julien Fontanet
ad1e60e137 Fix transport config. 2015-11-25 14:21:29 +01:00
Julien Fontanet
97e0a983f1 Fix schema. 2015-11-25 14:19:41 +01:00
Julien Fontanet
a8e72ed410 Merge pull request #140 from vatesfr/julienf-xo-defineProperty
Xo#defineProperty() to properly expose attributes
2015-11-25 14:16:55 +01:00
Olivier Lambert
ddfc0151fc Merge pull request #515 from vatesfr/marsaudf-backup-display#512
Tag display for backup schedules in overview #512
2015-11-25 14:01:33 +01:00
Julien Fontanet
fcdfd5f936 Merge pull request #139 from vatesfr/abhamonr-remember-disabled-servers
Save enabled state for each server
2015-11-25 13:54:44 +01:00
Julien Fontanet
f1faa463c1 Xo#defineProperty() allows (plugins) to define property on Xo instance 2015-11-25 12:27:09 +01:00
wescoeur
a0f4952b54 Save enabled state for each server 2015-11-25 12:15:15 +01:00
Olivier Lambert
bd82ded07d automatically set autopoweron on the pool 2015-11-25 12:06:16 +01:00
Julien Fontanet
016e17dedb Merge pull request #145 from vatesfr/julienf-pool-autopoweron
Xapi#setPoolProperties() supports autoPowerOn.
2015-11-25 12:03:23 +01:00
Julien Fontanet
5cd3e1b368 Xapi#setPoolProperties() supports autoPowerOn. 2015-11-25 11:03:33 +01:00
Julien Fontanet
b2b39458da Merge pull request #144 from vatesfr/julienf-fix-redis-items-updates
Fix items updates in Redis.
2015-11-25 10:57:54 +01:00
wescoeur
556bbe394d Add: Job and params-vector schemas. 2015-11-25 10:44:40 +01:00
Julien Fontanet
07288b3f26 Fix items updates in Redis. 2015-11-25 10:39:50 +01:00
Fabrice Marsaud
81c508e13c Host view OK 2015-11-25 10:25:10 +01:00
Julien Fontanet
45681e645b Revert to Babel 5. 2015-11-25 10:21:02 +01:00
Fabrice Marsaud
7195cfc3cf First step 2015-11-24 17:31:26 +01:00
Fabrice Marsaud
93fe5e2cf7 PR feedback 2015-11-24 17:31:00 +01:00
Fabrice Marsaud
a2bf795d12 Tag display for backup schedules in overview 2015-11-24 17:31:00 +01:00
Julien Fontanet
c8d78f39e0 Upgrade npm to latest on Travis. 2015-11-24 17:17:58 +01:00
Julien Fontanet
a4e9f1a683 Remove unused code. 2015-11-24 11:48:31 +01:00
Julien Fontanet
f8c74daef5 Use object spread instead of altering passed object. 2015-11-24 11:47:53 +01:00
Julien Fontanet
b3a593afd7 Test on Node stable. 2015-11-24 11:47:31 +01:00
Julien Fontanet
90f79b7708 Shallow copy the configuration object before configuring a plugin. (fix vatesfr/xo-web#513) 2015-11-24 11:25:52 +01:00
Julien Fontanet
e220786a20 Merge pull request #142 from vatesfr/marsaudf-parameter-fix
Fix: group.getAll() has no params.
2015-11-24 10:49:51 +01:00
Fabrice Marsaud
f16b993294 Removed unwanted API parameter 2015-11-24 10:42:43 +01:00
Julien Fontanet
d45461bc47 Various updates. 2015-11-23 16:24:47 +01:00
Fabrice Marsaud
d9ab8a1c8b Fix #508 2015-11-23 15:24:23 +01:00
Julien Fontanet
c241bea3bf Add vendor config file. 2015-11-20 18:28:32 +01:00
Julien Fontanet
084654cd3c Merge branch 'stable' into next-release 2015-11-20 18:17:08 +01:00
Julien Fontanet
d21742afb6 4.9.2 2015-11-20 18:05:26 +01:00
Julien Fontanet
b5259384e8 Merge pull request #138 from vatesfr/julienf-fix-tokens-expiration
Auth tokens expires after one month (side effect: remove old tokens).
2015-11-20 18:05:03 +01:00
Julien Fontanet
bf78ad9fbe Auth tokens expires after one month (side effect: remove old tokens). 2015-11-20 17:42:18 +01:00
Olivier Lambert
5125ad4889 Merge pull request #506 from vatesfr/pierre-emergency-host-shutdown
Emergency button in host view is now calling the server function
2015-11-20 17:32:17 +01:00
Olivier Lambert
951e85b04b Merge pull request #507 from vatesfr/olivierlambert-cloudconfig
CoreOS cloud config management during VM creation
2015-11-20 17:32:10 +01:00
Olivier Lambert
ab3577c369 Merge pull request #136 from vatesfr/olivierlambert-cloudconfig
Cloud config management for CoreOS
2015-11-20 17:30:53 +01:00
Olivier Lambert
6efb90c94e Merge pull request #135 from vatesfr/pierre-emergency-host-shutdown
emergencyHostShutdown(hostId) : suspends all the VMs running on the host
2015-11-20 17:30:27 +01:00
Olivier Lambert
cbcc400eb4 Cloud config management for CoreOS 2015-11-20 17:12:12 +01:00
Olivier Lambert
711d922695 CoreOS cloud config during VM creation 2015-11-20 17:10:10 +01:00
Julien Fontanet
15aec7da7e vm.clone() requires permissions on SRs. 2015-11-20 16:19:33 +01:00
Julien Fontanet
46535e4f56 Utils: pAll() & pReflect() 2015-11-20 15:31:55 +01:00
Julien Fontanet
e3f945c079 Minor fixes. 2015-11-20 14:34:07 +01:00
Julien Fontanet
04239c57fe pSettle() returns an object for an object. 2015-11-20 11:42:49 +01:00
wescoeur
58aa2b6a49 Check backup calls 2015-11-20 11:30:01 +01:00
Pierre
ad4439ed55 emergencyHostShutdown(hostId) : suspends all the VMs running on the host and then shuts the host down 2015-11-20 11:26:03 +01:00
wescoeur
fb06905c86 Fix NoSuchObject exception 2015-11-20 11:07:47 +01:00
Julien Fontanet
9fe3ef430f More tests for pSettle(). 2015-11-20 10:43:56 +01:00
Julien Fontanet
ff30773097 Fix pSettle() to accept non-promises. 2015-11-20 10:43:56 +01:00
Julien Fontanet
f7531d1e18 pSettle() accepts either arrays or objects. 2015-11-20 10:43:56 +01:00
wescoeur
4a2911557d Fix remove listener 2015-11-20 10:31:29 +01:00
Pierre
3692ffcde7 Rename function : emergencyHostShutdown -> emergencyShutdownHost 2015-11-20 10:19:06 +01:00
wescoeur
99caa5dddc Load/unload implem. 2015-11-20 10:13:12 +01:00
Julien Fontanet
86b42a3716 Initial commit. 2015-11-19 18:22:57 +01:00
wescoeur
12c4680501 Initial commit 2015-11-19 17:22:55 +01:00
Pierre
b049420c59 Emergency button in host view is now calling the server function (suspends all the VMs running on the host and then shuts the host down) 2015-11-19 17:07:10 +01:00
Julien Fontanet
b7e05c236f Initial commit. 2015-11-19 16:59:06 +01:00
Olivier Lambert
658008ab64 add comment for quiesce 2015-11-19 16:03:28 +01:00
Olivier Lambert
b089d63112 allow snapshots on halted VMs 2015-11-19 16:01:08 +01:00
Olivier Lambert
241103c369 Merge pull request #501 from vatesfr/pierre-install-patches-on-all-pools
Created panel in dashboard
2015-11-19 14:49:59 +01:00
Julien Fontanet
ee9b1b7f57 Merge pull request #133 from vatesfr/abhamonr-validate-config-plugins-registration
Avoid plugin loading if config is not valid
2015-11-19 14:40:33 +01:00
wescoeur
cd0fc8176f Avoid plugin loading if config is not valid 2015-11-19 13:51:25 +01:00
Julien Fontanet
8e291e3e46 Define CoffeeScript API modules as ES6 (fix default value). 2015-11-19 13:13:53 +01:00
Julien Fontanet
e3024076cd Merge pull request #131 from vatesfr/abhamonr-delete-user-with-tokens
remove tokens on user deletion
2015-11-19 12:55:38 +01:00
wescoeur
6105874abc remove tokens on user deletion 2015-11-19 12:40:31 +01:00
Pierre
2128367113 Update panel in dashboard. 2015-11-19 12:29:48 +01:00
Julien Fontanet
1855f7829d Advanced setting: verboseApiLogsOnErrors. 2015-11-19 11:11:54 +01:00
Julien Fontanet
456e8bd9c0 New FIXME. 2015-11-19 11:11:54 +01:00
Julien Fontanet
d5f2efac26 Merge pull request #132 from vatesfr/abhamonr-add-leveldown-dep
Add leveldown dep
2015-11-19 10:45:17 +01:00
wescoeur
21e692623c Add leveldown dep 2015-11-19 10:40:11 +01:00
Julien Fontanet
80e9589af5 Initial --repair command in xo-server-logs. 2015-11-19 10:11:01 +01:00
Julien Fontanet
b2b9ae0677 Quick fix for groups.getAll() attributes. 2015-11-19 09:26:34 +01:00
Julien Fontanet
63122905e6 Comments. 2015-11-18 18:36:27 +01:00
Julien Fontanet
f555c8190d Revert "nvm (on Travis) does not use stable correctly."
This reverts commit f85dc3b7e7.
2015-11-18 17:32:54 +01:00
Pierre
d5df633def Removed some useless CSS 2015-11-18 17:13:54 +01:00
Olivier Lambert
fe7dc859e3 Merge pull request #499 from vatesfr/pierre-suspend-all-vms-and-shutdown-host
emergency shutdown feature in host view (suspend all VMs then shutdown)
2015-11-18 17:04:04 +01:00
Julien Fontanet
f99b6f4646 Merge pull request #123 from vatesfr/abhamonr-logs-cli
CLI to explore xo-server's logs.
2015-11-18 17:01:26 +01:00
wescoeur
39090c2a22 Logs CLI:
- Can print logs for one namespace or all namespaces
- Can sort logs since one start timestamp/until one end timestamp
- The sort results can be limited by one value
2015-11-18 16:57:28 +01:00
Pierre
569c5046c6 Added an emergency button in Action panel (host view) : suspends all the VMs and shuts the host down. 2015-11-18 16:56:56 +01:00
Julien Fontanet
76baa8c791 Minor fix. 2015-11-18 16:40:08 +01:00
Julien Fontanet
e0210ae2d8 Stable is the new stable branch. 2015-11-18 16:30:30 +01:00
Julien Fontanet
f85dc3b7e7 nvm (on Travis) does not use stable correctly. 2015-11-18 16:10:07 +01:00
Julien Fontanet
74e4b9d6d2 Merge imports. 2015-11-18 15:24:38 +01:00
Julien Fontanet
bbfc5039f7 Merge pull request #129 from vatesfr/abhamonr-ghost-user
Avoid ghost user and ghost group.
2015-11-18 15:14:31 +01:00
wescoeur
b2fd694483 Avoid ghost user and ghost group. 2015-11-18 15:02:54 +01:00
Julien Fontanet
b03f38ff22 Include user name in console proxy logs. 2015-11-17 16:24:22 +01:00
Julien Fontanet
fe48811047 Include user name in API logs. 2015-11-17 16:24:07 +01:00
Julien Fontanet
bd9396b031 Ability to not create users on first sign in (fix #497). 2015-11-17 15:59:31 +01:00
Julien Fontanet
f0497ec16d Move default configuration to config.json. 2015-11-17 15:49:45 +01:00
Olivier Lambert
92d4363120 tree view improvements and fix 2015-11-17 15:18:57 +01:00
Julien Fontanet
7e9e179fa7 Minor fixes. 2015-11-17 15:01:58 +01:00
Julien Fontanet
de62464ad8 Improve security: check token for console access. 2015-11-17 15:01:58 +01:00
Julien Fontanet
f6911ca195 Merge pull request #128 from vatesfr/olivierlambert-setbootorder
Rename vm.bootOrder() to vm.setBootOrder() and ensure VM is HVM.
2015-11-17 15:00:03 +01:00
Olivier Lambert
6c69220de2 add start in recovery mode for HVM guests and support new API call setBootOrder() instead of bootOrder() 2015-11-17 14:59:26 +01:00
Olivier Lambert
aec09ed8d2 Rename vm.bootOrder() to vm.setBootOrder() and ensure VM is HVM 2015-11-17 14:56:15 +01:00
Julien Fontanet
51a983e460 Logs clients IPs for WebSocket connections. 2015-11-17 13:24:07 +01:00
Julien Fontanet
0eb46e29c7 Merge pull request #122 from vatesfr/fix-poolPatches-removal
Properly remove objects for which `xo.id !== xapi.$id`.
2015-11-17 11:00:05 +01:00
Julien Fontanet
5ee11c7b6b Properly remove objects for which xo.id !== xapi.$id. 2015-11-17 10:33:56 +01:00
Julien Fontanet
3a1229b072 Only test on stable as there is just linting for now. 2015-11-16 16:59:55 +01:00
Olivier Lambert
45538c9f62 add quiesce display in VM view 2015-11-16 13:28:51 +01:00
Olivier Lambert
b55accd76f add tag for quiesced snapshots 2015-11-16 12:41:16 +01:00
Julien Fontanet
fef2be1bc7 Merge pull request #125 from vatesfr/olivierlambert-snapquiesce
Add VM snapshot quiesce support
2015-11-16 10:59:39 +01:00
Olivier Lambert
0b3858f91d Add VM snapshot quiesce support 2015-11-16 10:55:51 +01:00
Julien Fontanet
d07ea1b337 Explicit Node versions compatibility. 2015-11-16 10:31:28 +01:00
Julien Fontanet
7e2dbc7358 4.9.1 2015-11-13 17:08:54 +01:00
Julien Fontanet
c676f08a7c Use correct host to import VM without known length. 2015-11-13 16:53:00 +01:00
Julien Fontanet
92f24b5728 Sets a long timeout for vm.import(). 2015-11-13 16:08:44 +01:00
Julien Fontanet
0c173fde53 Explicit .scss for angular-notify-toaster (fix #488). 2015-11-13 11:53:32 +01:00
Julien Fontanet
77db2bbfec 4.9.0 2015-11-13 11:31:19 +01:00
Julien Fontanet
2987185a9d Fix coding style. 2015-11-13 11:30:47 +01:00
Julien Fontanet
0254e71435 4.9.0 2015-11-13 11:27:40 +01:00
Julien Fontanet
2972fc5814 Merge pull request #124 from vatesfr/abhamonr-logs-avoid-sublevel
avoid sublevel for logs
2015-11-13 11:08:44 +01:00
wescoeur
975c96217c avoid sublevel for logs 2015-11-13 11:03:02 +01:00
Julien Fontanet
c30c1848bc Fix VM naming in vm.rollingDrCopy(). 2015-11-12 18:21:35 +01:00
Julien Fontanet
94615d3b36 Fix optional options in Xapi#remoteCopyVm(). 2015-11-12 18:21:12 +01:00
Olivier Lambert
7a7baf7175 change the release date 2015-11-12 16:54:30 +01:00
Julien Fontanet
37a00f0d16 Minor fixes. 2015-11-12 15:25:34 +01:00
Olivier Lambert
5645cc0af2 removing an entry in the changelog 2015-11-12 12:35:46 +01:00
Olivier Lambert
63a6756fed add changelog 2015-11-12 11:37:31 +01:00
Olivier Lambert
9f408c98a6 Merge pull request #480 from vatesfr/marsaudf-vm-copy-sr
Copy VM
2015-11-12 11:16:25 +01:00
Olivier Lambert
26d6998d82 Merge pull request #485 from vatesfr/abhamonr-perf-12-cpus
for cpus graph: draw only one line which is an average of all CPUs (i…
2015-11-12 11:06:08 +01:00
Julien Fontanet
0dbe70f5af vm.copy() handles running VMs and compression can be disabled. 2015-11-12 11:02:05 +01:00
wescoeur
6bee44acb7 for cpus graph: draw only one line which is an average of all CPUs (if more than 12 cores) 2015-11-12 10:38:37 +01:00
Fabrice Marsaud
441992cf37 Copy VM, first delivery 2015-11-12 10:33:46 +01:00
Fabrice Marsaud
490c224ac3 Merge pull request #469 from vatesfr/marsaudf-disaster-recovery
Disaster Recovery
2015-11-12 10:31:39 +01:00
Fabrice Marsaud
7584374b0b Merge pull request #119 from vatesfr/marsaudf-DR-API
Disaster recovery feature
2015-11-12 10:24:57 +01:00
Fabrice Marsaud
71ca51dc1a Disaster recovery feature 2015-11-12 10:20:57 +01:00
Fabrice Marsaud
f5c55048de DR UI enhancemnts 2015-11-12 10:19:49 +01:00
Fabrice Marsaud
8139e124c2 DR features fixes 2015-11-12 10:19:49 +01:00
Fabrice Marsaud
cba73a5139 Disaster recovery feature 2015-11-12 10:19:48 +01:00
Fabrice Marsaud
aa81e72e45 Merge pull request #115 from vatesfr/abhamonr-logger-module
Logger is implemented.
2015-11-12 10:16:04 +01:00
Fabrice Marsaud
de0c9367e5 Merge pull request #483 from vatesfr/abhamonr-backup-logs
Abhamonr backup logs
2015-11-12 10:11:44 +01:00
Fabrice Marsaud
630060860c Backup log UI fix 2015-11-12 10:09:09 +01:00
Fabrice Marsaud
dccd11fb7b Backup logs UI 2015-11-12 10:09:09 +01:00
Olivier Lambert
b8a4b2cf16 add duration filter 2015-11-12 10:09:09 +01:00
wescoeur
e52f55bfba backup view (logs) in progress 2015-11-12 10:09:09 +01:00
wescoeur
1cb99e02a9 Logs of jobs in progress in backup/management view 2015-11-12 10:09:09 +01:00
Fabrice Marsaud
c9c5c35e56 Merge pull request #476 from vatesfr/abhamonr-backup-logs
Abhamonr backup logs
2015-11-12 10:06:34 +01:00
wescoeur
9954bb9c15 Logger is implemented.
Logger save jobs events : (start, end, call start, call end)
Logs can be obtained in api.
2015-11-12 09:59:56 +01:00
Olivier Lambert
bc7c9f9c01 fix inversion in vCPUs and CPUs in dashboard view 2015-11-11 22:10:52 +01:00
Fabrice Marsaud
e4bfc4cb8d Better chosen objects display in ACL UI 2015-11-11 17:44:19 +01:00
Julien Fontanet
e304395179 Work around ESLint bug. 2015-11-11 15:58:15 +01:00
Julien Fontanet
6b83130853 Various updates. 2015-11-11 15:52:12 +01:00
Julien Fontanet
9565718699 Update deps. 2015-11-11 15:52:06 +01:00
Julien Fontanet
e5c0250423 Xapi#importVm() crash on failure. 2015-11-10 21:28:01 +01:00
Fabrice Marsaud
d64995c4a1 Backup log UI fix 2015-11-10 17:08:59 +01:00
Fabrice Marsaud
2952ea7404 Backup logs UI 2015-11-10 17:08:59 +01:00
Olivier Lambert
f34c807a2c add duration filter 2015-11-10 17:08:59 +01:00
wescoeur
b1f9704055 backup view (logs) in progress 2015-11-10 17:08:59 +01:00
wescoeur
9382829ba5 Logs of jobs in progress in backup/management view 2015-11-10 17:08:59 +01:00
Fabrice Marsaud
373a6ea912 Merge pull request #479 from vatesfr/marsaudf-backup-fixes
Backup UI enhancements
2015-11-10 16:53:00 +01:00
Olivier Lambert
135799ed5e Merge pull request #121 from vatesfr/marsaudf-backup-fix
Fixed rolling tag detection
2015-11-10 16:24:35 +01:00
Fabrice Marsaud
22c3b57960 Fixed backup rolling bug 2015-11-10 16:18:09 +01:00
Fabrice Marsaud
7054dd74a4 Merge pull request #120 from vatesfr/marsaudf-function-move
Moving rollingSnapshot form xapi to xo
2015-11-10 15:34:49 +01:00
Fabrice Marsaud
72eb4e7b3b Backup UI enhancements 2015-11-10 15:21:24 +01:00
Fabrice Marsaud
d4f1e52ef6 fix 2015-11-10 09:04:11 +01:00
Fabrice Marsaud
76a44459cf Moving rollingSnapshot form xapi to xo 2015-11-10 08:49:38 +01:00
Julien Fontanet
315c0870ed Fix VM exports when not directly under /. 2015-11-09 16:13:17 +01:00
Julien Fontanet
a5590b090c Merge pull request #116 from vatesfr/julien-f-vm-copy
vm.copy() can a copy a VM on a remote or local SR.
2015-11-09 15:14:04 +01:00
Julien Fontanet
74c9a57070 Replace lodash.assign() with ES2016 object spread. 2015-11-09 15:07:42 +01:00
Julien Fontanet
06e283e070 vm.copy() can a copy a VM on a remote or local SR. 2015-11-09 14:40:49 +01:00
Julien Fontanet
8ab2ca3f24 Remove unnecessary Bluebird-isms. 2015-11-09 12:05:18 +01:00
Julien Fontanet
0eb949ba39 Move often used lodash utils to utils.js 2015-11-09 12:03:34 +01:00
Julien Fontanet
be35693814 Minor rewrite in utils. 2015-11-09 11:20:41 +01:00
Julien Fontanet
1e5f13795c Merge pull request #117 from vatesfr/promise-settle
Implement utils.pSettle().
2015-11-06 14:51:56 +01:00
Olivier Lambert
200fa621bf use the new xenTools method 2015-11-06 13:54:13 +01:00
Fabrice Marsaud
80348c1980 Patched a display delay for some stats 2015-11-06 13:47:01 +01:00
Fabrice Marsaud
856dd8403c Patched stat display bug 2015-11-06 13:39:23 +01:00
Julien Fontanet
cca2265633 Fix PV drivers detection. 2015-11-06 13:23:03 +01:00
Julien Fontanet
0f0d1ac370 Expose vm.xenTools property. 2015-11-06 13:08:03 +01:00
Olivier Lambert
0bb9acd4c1 Merge pull request #470 from vatesfr/marsaudf-backup-no-compression
Compression can be disabled for backups
2015-11-06 11:40:06 +01:00
Fabrice Marsaud
047a80917f Compression can be disabled for backups 2015-11-06 11:37:31 +01:00
Fabrice Marsaud
e6e8fe4763 Fixed backup overview links 2015-11-06 11:36:17 +01:00
Julien Fontanet
d52d4ac183 Implement utils.pSettle(). 2015-11-06 11:17:35 +01:00
Olivier Lambert
6cd212398e Merge pull request #473 from vatesfr/marsaudf-fix-convertToTemplate
Back to index after VM converts to template
2015-11-06 11:10:34 +01:00
Fabrice Marsaud
44ad6d4247 Back to index after VM converts to template 2015-11-06 11:07:42 +01:00
Julien Fontanet
841220fd01 Remove unused variable. 2015-11-05 16:42:17 +01:00
Julien Fontanet
ca5e10784b Only use absolute paths in redirects to ease reverse proxies. 2015-11-05 16:33:07 +01:00
Olivier Lambert
7302782853 Merge pull request #465 from vatesfr/marsaudf-restore-backup
Restore backups
2015-11-05 15:47:04 +01:00
Olivier Lambert
712319974b Merge pull request #114 from vatesfr/marsaudf-import-backup
Import a VM from a remote backup
2015-11-05 15:46:26 +01:00
Fabrice Marsaud
067a6d01bc List backup Files in remotes ans import them for restore 2015-11-05 15:38:09 +01:00
Fabrice Marsaud
7fa1aba6b8 Backup restore and global backup UI rework 2015-11-05 15:18:01 +01:00
Julien Fontanet
27825f9e2e Unit tests for utils.pFinally(). 2015-11-04 15:36:07 +01:00
Julien Fontanet
425eb115dc Use ES2016 bind syntax for pFinally(). 2015-11-04 14:54:10 +01:00
Julien Fontanet
2fed4e3e8b Update deps. 2015-11-03 12:08:05 +01:00
Julien Fontanet
0a5ce55e2b Expose xapi.parseDateTime(). 2015-11-03 12:03:57 +01:00
Julien Fontanet
dbc8ed9d4c Update deps. 2015-11-03 10:54:14 +01:00
Julien Fontanet
e31e990684 Do not use ES6 method String#endsWith(). 2015-11-03 10:31:21 +01:00
Julien Fontanet
8618f56481 Support vm.import() without knowning the length. 2015-10-30 18:55:04 +01:00
Julien Fontanet
a39fc4667e Do not test on Node 5 for now. 2015-10-30 17:10:25 +01:00
Julien Fontanet
4c369e240b Merge pull request #112 from vatesfr/abhamonr-stats-use-server-time
The local xen orchestra timestamp is never used for get stats.
2015-10-30 14:32:56 +01:00
wescoeur
4e291d01d4 The local xen orchestra timestamp is never used for get stats.
Only the timestamp of one xenServer/rrd is used.
2015-10-30 14:18:37 +01:00
Julien Fontanet
0f03208aa1 Commands filtering. 2015-10-30 11:30:22 +01:00
Julien Fontanet
b32fce46cb Merge pull request #111 from vatesfr/abhamonr-fixs-debugs-stats-messages
Fix debugs messages for stats
2015-10-29 18:14:13 +01:00
wescoeur
d1fcd45aac Fix debugs messages for stats 2015-10-29 16:49:13 +01:00
Julien Fontanet
ebdb92c708 4.8.1 2015-10-29 16:31:10 +01:00
Julien Fontanet
112909d35b Merge pull request #110 from vatesfr/julien-f-fix-password-rehash
Fix user password rehash.
2015-10-29 16:30:29 +01:00
Julien Fontanet
c6e2c559f1 Fix user password rehash. 2015-10-29 16:11:45 +01:00
Julien Fontanet
cf8613886a 4.8.0 2015-10-29 10:45:37 +01:00
Julien Fontanet
bd343c51a3 4.8.0 2015-10-29 10:43:17 +01:00
Olivier Lambert
39c25c2001 moving json5 as a real dep and not a dev dep anymore. Fix #109 2015-10-28 19:21:32 +01:00
Olivier Lambert
8a05f06efa changelog update 2015-10-28 17:56:51 +01:00
Julien Fontanet
9c9721ade5 Fix permissions checking for API -_-" 2015-10-28 17:22:09 +01:00
Julien Fontanet
4b8abe4ce8 Fix test.hasPermission(). 2015-10-28 17:09:33 +01:00
Julien Fontanet
33dfaba276 Remove useless console.log. 2015-10-28 16:56:50 +01:00
Julien Fontanet
dd8bbcf358 VM snapshots require operate permission on all SRs. (fix vatesfr/xo-web#429). 2015-10-28 16:56:41 +01:00
Julien Fontanet
cc3e4369ed Fix some VM-snapshot & VDI ACLs resolution. 2015-10-28 16:51:09 +01:00
Julien Fontanet
27b049eada Fix permissions checking for XO admins. 2015-10-28 16:43:50 +01:00
Julien Fontanet
2d1afb5291 Fixes some permissions checking. 2015-10-28 16:24:13 +01:00
Julien Fontanet
548355fce6 Use Xo#getUserByName() where possible. 2015-10-28 16:17:33 +01:00
Olivier Lambert
63c17a3abf Merge pull request #456 from vatesfr/abhamonr-avoid-use-of-vms-offline-on-dashboard
Avoid the selection of vms or hosts which are not in the running state
2015-10-28 16:14:57 +01:00
wescoeur
94f9bc5fca Avoid the selection of vms or hosts which are not the running state 2015-10-28 15:46:04 +01:00
Julien Fontanet
ab273430d2 Merge pull request #455 from vatesfr/julien-f-acl-inheritance
Adapt to new ACLs API (and implement inheritance).
2015-10-28 15:30:05 +01:00
Julien Fontanet
a4e0e6544b Merge pull request #108 from vatesfr/julien-f-acl-inheritance
ACLs inheritance (fix vatesfr/xo-web#279).
2015-10-28 15:29:31 +01:00
Julien Fontanet
62067e0801 ACLs inheritance (fix vatesfr/xo-web#279). 2015-10-28 15:11:28 +01:00
Julien Fontanet
0b3dc315ad Adapt to new ACLs API (and implement inheritance). 2015-10-28 15:09:08 +01:00
Olivier Lambert
f26a2d2f13 remove old parameter for granularity 2015-10-28 14:59:57 +01:00
Olivier Lambert
5eb40d2299 Merge pull request #107 from vatesfr/pierre-remember-me-label
Clicking on 'remember me' label checks the box
2015-10-28 14:49:59 +01:00
Julien Fontanet
d58add18fc Document --list-objects 2015-10-28 14:47:24 +01:00
Pierre
53990a531b Clicking on 'remember me' label checks the box 2015-10-28 14:46:14 +01:00
Olivier Lambert
d799aea3c4 Merge pull request #105 from vatesfr/abhamonr-intelligent-stats
New parser for host and vms stats.
2015-10-28 14:44:56 +01:00
Olivier Lambert
8edf9bf508 Merge pull request #454 from vatesfr/abhamonr-intelligent-stats
Remove default value of granularity in refreshStats
2015-10-28 14:44:20 +01:00
Olivier Lambert
415381cebd fix a missing char in the Jade template 2015-10-28 14:41:29 +01:00
wescoeur
59accec1c0 remove default value of granularity in refreshStats 2015-10-28 14:35:55 +01:00
Julien Fontanet
9af86cbba2 Adds granularity param spec to {host,vm}.stats(). 2015-10-28 14:35:00 +01:00
wescoeur
6fbfece4ff New parser for host and vms stats.
The data are cached for other http requests.
2015-10-28 14:20:48 +01:00
Olivier Lambert
dd2699fcc1 Merge pull request #453 from vatesfr/abhamonr-intelligent-stats
host, vm and dashboard/health pages use now the new stats format prov…
2015-10-28 13:53:14 +01:00
Julien Fontanet
3a0413d8bb Fix coding style. 2015-10-28 12:54:52 +01:00
wescoeur
0986a5f985 host, vm and dashboard/health pages use now the new stats format provided by the server 2015-10-28 12:51:13 +01:00
Julien Fontanet
9122f9b291 Always use session.signIn(). 2015-10-28 12:46:51 +01:00
Julien Fontanet
d279db2a0e Update deps. 2015-10-28 12:42:20 +01:00
Julien Fontanet
d56cca7873 Use undefined provider for local providers. 2015-10-28 12:38:55 +01:00
Julien Fontanet
fa1096a6ba Remove unused variable. 2015-10-28 12:38:27 +01:00
Julien Fontanet
16ff721331 Throttle authentications tries by user (fix #339). 2015-10-28 12:11:50 +01:00
Olivier Lambert
fa77229b72 Merge pull request #452 from vatesfr/proxy-auth-updater
Proxy auth for update panel
2015-10-28 11:52:31 +01:00
Julien Fontanet
798ee9dc46 Remove commented code. 2015-10-28 11:45:18 +01:00
Julien Fontanet
bc17c60305 Refactor Xo#authenticateUser(). 2015-10-28 11:44:17 +01:00
Julien Fontanet
432688d577 Remove unused code. 2015-10-28 11:44:17 +01:00
Julien Fontanet
da8d4b47f1 Remove some console logs. 2015-10-28 11:44:17 +01:00
Olivier Lambert
78b5080c9a Merge pull request #440 from vatesfr/reg-renewal#424
Xoa registration can be renewed
2015-10-28 10:49:15 +01:00
Julien Fontanet
c6657b9619 Sets the length when/if known on download. 2015-10-27 18:47:44 +01:00
Olivier Lambert
ed1e2e2449 Merge pull request #102 from vatesfr/julien-f-refactor-vm-import
Refactor `vm.import()`
2015-10-27 18:26:29 +01:00
Julien Fontanet
b9744b4688 Refactor vm.import()
- Move logic code to `Xapi#importVm()`
- `vm.import()` following request now returns the id of the imported VM
2015-10-27 18:00:51 +01:00
Julien Fontanet
80d8388eb6 Update deps. 2015-10-27 16:12:09 +01:00
Fabrice Marsaud
0641da786c Proxy auth for update panel 2015-10-27 16:05:31 +01:00
Olivier Lambert
3291f3bb3c initial CHANGELOG for 4.8 2015-10-27 14:30:41 +01:00
Julien Fontanet
b1ee4bdc09 Standard coding style. 2015-10-27 12:27:57 +01:00
Julien Fontanet
2f328f8f37 Merge pull request #106 from vatesfr/pierre-patch-name-in-upload-task-description
'Pending tasks' panel: upload task displays patch name
2015-10-27 12:23:59 +01:00
Pierre
ffefd7e50b Added default patch name for uploadPoolPatch to handle handlePatchUpload in pool.js 2015-10-27 11:07:45 +01:00
Pierre
c2445f8a7c 'Pending tasks' panel: upload task displays patch name 2015-10-27 10:05:14 +01:00
Julien Fontanet
54d44079cc Remove unused dep. 2015-10-27 09:16:59 +01:00
Julien Fontanet
87f089a12c Do not proxy data when the connection is closed. 2015-10-26 18:30:45 +01:00
Julien Fontanet
aa2172e4db Use source-map-support-2 from npm (fix old npm). 2015-10-26 18:30:45 +01:00
Julien Fontanet
0a33e94e79 Remove unused variable. 2015-10-26 18:30:44 +01:00
Julien Fontanet
fada54abae Enable XO API HTTP requests without HTTP auth. 2015-10-26 18:30:44 +01:00
Olivier Lambert
802641b719 Merge pull request #103 from vatesfr/pierre-install-all-patches-on-host
Algorithm to install all patches in correct order
2015-10-26 18:24:07 +01:00
Pierre
1da93829d4 Algorithm to install patches in correct order 2015-10-26 17:56:50 +01:00
Julien Fontanet
9e7acbc49a Avoid special chars in date formatting (fix #448). 2015-10-26 16:49:41 +01:00
Olivier Lambert
a0cfef8bda Merge pull request #444 from vatesfr/pierre-install-all-patches-button
Added button to install all the missing patches on host at one go
2015-10-26 15:23:50 +01:00
Julien Fontanet
4d033f4a03 Direct links work again (fix #371). 2015-10-26 12:41:45 +01:00
Julien Fontanet
318765d40b Remove unused dep. 2015-10-26 10:47:07 +01:00
Julien Fontanet
ac11885379 0.6.7 2015-10-23 16:53:53 +02:00
Julien Fontanet
277669a13c Fix events watching XenServer < 6.0. 2015-10-23 16:53:42 +02:00
Julien Fontanet
fcbc476462 Fix coding style. 2015-10-23 16:53:05 +02:00
Julien Fontanet
94ba20dfa1 Register objects with the correct key. 2015-10-23 16:26:06 +02:00
Julien Fontanet
4944b415c7 0.6.6 2015-10-23 16:03:02 +02:00
Julien Fontanet
5da7312d2d Correctly publish .mocha.js 2015-10-23 16:02:42 +02:00
Pierre
562820180c Added button to install all the missing patches on host at one go 2015-10-23 15:48:03 +02:00
Julien Fontanet
954d19fe50 Fix objects collection in read-only mode. 2015-10-23 15:33:22 +02:00
Julien Fontanet
addd86f5d2 Better stack traces in CLI. 2015-10-23 15:33:02 +02:00
Olivier Lambert
a29832207e Merge pull request #443 from vatesfr/pierre-fix-patches-display
In host : fixed uploaded patches properties (name, description, uuid)
2015-10-23 15:28:29 +02:00
Pierre
2afd549826 In host : fixed uploaded patches properties (name, description, uuid) 2015-10-23 15:21:50 +02:00
Olivier Lambert
8a71b2c6dd Merge pull request #430 from vatesfr/pierre-2-status-patches
Patches installed on a host appear as 'Applied' or 'Not applied' and …
2015-10-23 15:11:08 +02:00
Julien Fontanet
2ad3dc4a32 Uniformize pool patches between collection and host.listMissingPatches(). 2015-10-23 15:09:13 +02:00
Julien Fontanet
eef940dd7c Pool patches ids are opaque refs instead of UUIDs. 2015-10-23 15:08:29 +02:00
Julien Fontanet
1b90223210 0.6.5 2015-10-23 14:54:02 +02:00
Julien Fontanet
95989ff63b Add find() and findAll() in CLI. 2015-10-23 14:51:25 +02:00
Pierre
d633d2691d Patches installed on a host do not appear as missing 2015-10-23 14:43:44 +02:00
Julien Fontanet
1b5fc12ac1 Use createRawObject() instead of Object.create(null). 2015-10-21 17:17:15 +02:00
Julien Fontanet
c1c7b8dfcd Minor updates in utils.js 2015-10-21 17:15:49 +02:00
Fabrice Marsaud
f9b1608fd2 Xoa registration can be renewed 2015-10-21 12:34:13 +02:00
Julien Fontanet
4d8ed3f00e Use bundler collapser for production build. 2015-10-21 11:28:46 +02:00
Julien Fontanet
d4510c2afe Put schemas in a dedicated directory. 2015-10-20 18:02:57 +02:00
Julien Fontanet
799f758dce Document constructor options. 2015-10-20 15:46:50 +02:00
Julien Fontanet
359e7d0543 Merge pull request #437 from vatesfr/julien-f-hvm-network-install
Add PXE installation method for HVM templates. (fix #436)
2015-10-19 15:12:37 +02:00
Julien Fontanet
07bf93e022 Add PXE installation method for HVM templates. (fix #436) 2015-10-19 15:11:43 +02:00
Julien Fontanet
f241f073a3 Merge pull request #101 from vatesfr/julien-f-hvm-network-install
Set correct boot order when installing HVM from network.
2015-10-19 15:08:50 +02:00
Julien Fontanet
26a6c72611 Set correct boot order when installing HVM from network. 2015-10-19 15:06:08 +02:00
Julien Fontanet
51cee7804b Merge pull request #100 from vatesfr/julien-f-expose-virtualization-mode
Expose virtualization mode in VM object.
2015-10-19 15:02:40 +02:00
Julien Fontanet
52228430f1 Expose virtualization mode in VM object. 2015-10-19 14:30:08 +02:00
Julien Fontanet
4fcd45d8a4 Do not filter out node_modules in stack traces. 2015-10-16 09:53:13 +02:00
Julien Fontanet
ea5736947d No need to parse source maps for ignored call sites. 2015-10-16 09:42:16 +02:00
Julien Fontanet
6b5f36fb7e Move source mapping after async support. 2015-10-15 15:05:42 +02:00
Julien Fontanet
b328d6d95f Augment stack traces limit to 100. 2015-10-15 15:05:42 +02:00
Julien Fontanet
2e06921bf8 Merge pull request #99 from vatesfr/abhamonr-stats-optimization-host
Cache Host stats for 5 secs to avoid unnecessary requests.
2015-10-15 11:30:07 +02:00
Julien Fontanet
fd95e2d711 Use source-map-support-2.
It is based on stack-chain and should give better results with
`trace`.
2015-10-15 10:42:51 +02:00
wescoeur
490e253b79 Cache Host stats for 5 secs to avoid unnecessary requests. 2015-10-14 17:03:53 +02:00
Julien Fontanet
8a10f5cd52 Merge pull request #98 from vatesfr/abhamonr-stats-optimization
Cache VM stats for 5 secs to avoid unnecessary requests.
2015-10-14 16:43:20 +02:00
wescoeur
5cebcc2424 Cache VM stats for 5 secs to avoid unnecessary requests. 2015-10-14 16:34:57 +02:00
Olivier Lambert
57e27da0c4 update style 2015-10-13 19:19:11 +02:00
Olivier Lambert
9ecbf62d25 fix #136 by adding FreeBSD icons from another icon pack 2015-10-13 18:56:23 +02:00
Olivier Lambert
48ffa591ca display the correct distro icons 2015-10-13 18:46:23 +02:00
Olivier Lambert
b7dd617bb1 update filter 2015-10-13 18:46:23 +02:00
Olivier Lambert
392f9d0775 install of new fonts Mfizz 2015-10-13 18:46:23 +02:00
Julien Fontanet
7663b89289 Allowed favicon before sign in. 2015-10-13 11:49:38 +02:00
Fabrice Marsaud
4361b11c68 4.7.0 2015-10-12 16:56:56 +02:00
Fabrice Marsaud
28bccad010 No plugin message 2015-10-12 16:44:47 +02:00
Julien Fontanet
d0d1f9e3c0 4.7.0 2015-10-12 16:34:55 +02:00
Fabrice Marsaud
29d31a0deb Cleaner plugin conf saving 2015-10-12 16:17:39 +02:00
Julien Fontanet
5b782993fd Fix the license. 2015-10-12 15:39:26 +02:00
Julien Fontanet
138e60e77c 0.4.2 2015-10-12 15:38:50 +02:00
Julien Fontanet
9771402c54 No need to reload the plugin after a configure. 2015-10-12 15:38:34 +02:00
Julien Fontanet
30dcb4d8d2 Should be globally installed. 2015-10-12 15:31:09 +02:00
Fabrice Marsaud
1d9960d349 Plugin configuration fixed and enhanced 2015-10-12 14:49:09 +02:00
Julien Fontanet
4433760e37 Add better-stacks.js to package.json 2015-10-12 13:46:50 +02:00
Fabrice Marsaud
2747b241ab Notification for plugin conf saved 2015-10-12 12:13:32 +02:00
Fabrice Marsaud
6b8035b116 Plugin conf supports default values + fixes 2015-10-12 11:57:11 +02:00
Olivier Lambert
33ad5f4d45 release date 2015-10-12 10:56:06 +02:00
Fabrice Marsaud
af7ad9251a (not)required plugin conf values of object type are handled + fix 2015-10-12 10:54:23 +02:00
Julien Fontanet
c418c766d8 This test is no longer relevant. 2015-10-12 10:26:45 +02:00
Julien Fontanet
334d843955 Move defaults to the schema. 2015-10-12 10:16:45 +02:00
Julien Fontanet
2e5169eb46 0.4.1 2015-10-09 18:55:23 +02:00
Julien Fontanet
3cdc1c03c3 0.1.1 2015-10-09 18:54:19 +02:00
Julien Fontanet
733c619b1f 0.2.1 2015-10-09 18:53:13 +02:00
Julien Fontanet
2021b644c0 0.4.1 2015-10-09 18:52:57 +02:00
Julien Fontanet
b63fcd2254 Merge pull request #89 from vatesfr/plugins-api
Plugins API.
2015-10-09 18:41:26 +02:00
Julien Fontanet
eb2aa352ef API really manages plugins. 2015-10-09 18:36:24 +02:00
Julien Fontanet
f55ed13bd2 0.2.0 2015-10-09 17:57:27 +02:00
Julien Fontanet
14b7072b5b 0.1.0 2015-10-09 17:56:59 +02:00
Julien Fontanet
98395abc17 0.4.0 2015-10-09 17:56:37 +02:00
Julien Fontanet
5db5c4e52c 0.4.0 2015-10-09 17:56:00 +02:00
Fabrice Marsaud
4ec9975aa3 Merge pull request #416 from vatesfr/pluginConf#352
Plugin conf#352
2015-10-09 17:41:01 +02:00
Fabrice Marsaud
c6b0841583 Plugin configuration panel 2015-10-09 17:35:26 +02:00
Olivier Lambert
9312435076 Merge pull request #422 from vatesfr/pierre-cant-migrate-vm-to-current-host
Removed current host in migrate list. Disabled button when no other h…
2015-10-08 16:24:43 +02:00
Pierre
49427f1c54 Fix : condition for disabled button 2015-10-08 16:22:06 +02:00
Pierre
82e7e06dc4 Fix : button not diabled if host available on another pool 2015-10-08 16:03:08 +02:00
Pierre
76cf82bb19 Removed current host in migrate list. Disabled button when no other host available 2015-10-08 15:46:11 +02:00
Olivier Lambert
4f8ad2962e changelog updated 2015-10-08 15:22:27 +02:00
Olivier Lambert
fe4be48bff remove useless entries in the menu for hosts 2015-10-08 15:05:36 +02:00
Olivier Lambert
66fc0b421b fix tooltip as explained in #421 2015-10-08 15:03:50 +02:00
Olivier Lambert
c0b4867659 Merge pull request #420 from vatesfr/pierre-lone-host-cant-leave-pool
Added condition to remove 'remove host from pool'-button when host is…
2015-10-08 14:51:58 +02:00
Pierre
95253fbc76 Added condition to remove 'remove host from pool'-button when host is alone 2015-10-08 14:26:20 +02:00
Julien Fontanet
ec95f198ec Initial plugins API (with mockup data). 2015-10-08 14:00:33 +02:00
Olivier Lambert
f166e480f1 Merge pull request #96 from vatesfr/abhamonr-auth-non-persistent-cookies
Checkbox added on login page for create persistent session (1 year in…
2015-10-08 13:57:04 +02:00
Julien Fontanet
b31f55063d New plugin API. 2015-10-08 13:56:03 +02:00
Julien Fontanet
71e77ad45a New plugin API. 2015-10-08 13:55:57 +02:00
Julien Fontanet
25873e0e02 New plugin API. 2015-10-08 13:55:26 +02:00
Julien Fontanet
22638a8147 New plugin API. 2015-10-08 13:54:33 +02:00
Olivier Lambert
df519b3042 Merge pull request #418 from vatesfr/pierre-add-host-to-pool
Added button to merge host to another pool
2015-10-08 12:30:37 +02:00
wescoeur
2051f0486c Checkbox added on login page for create persistent session (1 year in practice) only for internal provider.
If checkbox is not checked or if an external provider is used (as Github, Twitter...) the session is not-persistent.
2015-10-08 12:28:11 +02:00
Pierre
9ed963ef70 Modified icon for 'moving host to another pool' 2015-10-08 12:26:06 +02:00
Pierre
1dd7993e7a Added button to mode host to another pool. Doesn't work yet 2015-10-08 11:55:03 +02:00
Olivier Lambert
386b33b65d Merge pull request #411 from vatesfr/chartswitch
add chart selector for dataviz
2015-10-07 23:57:08 +02:00
florent
416deb8711 chart selector : less opacity and bigger font 2015-10-07 21:50:24 +02:00
florent
3c7fdac55e add navigation between dataviz
also : fix import in health, fix thumbnail size
2015-10-07 21:13:04 +02:00
Olivier Lambert
392a6af47f Merge pull request #415 from vatesfr/abhamonr-pass-generator-on-users
Password generation is implemented with password-generator module.
2015-10-07 17:30:16 +02:00
wescoeur
6b03e3f603 Password generation is implemented with password-generator module.
One button (with tooltip) is visible to the left of each password field.
One click on this button generate one visible password of 8 characters (upper/lower-case letters, underscore, numbers)
2015-10-07 17:24:09 +02:00
Olivier Lambert
9397f6beda minor changelog fix 2015-10-07 15:56:26 +02:00
Olivier Lambert
d17b386fd6 changelog updated 2015-10-07 15:44:50 +02:00
Olivier Lambert
f6d2e1a447 more explicit modal when host is removed from pool 2015-10-07 15:38:41 +02:00
Olivier Lambert
bd95ef5db6 Merge pull request #407 from vatesfr/desktop-notif
Use desktop notification when available and when the browser is minified
2015-10-07 15:13:13 +02:00
Olivier Lambert
6e76c621b8 Merge pull request #413 from vatesfr/pierre-unfocus-on-cd-list
Unfocusing CD list after selecting one
2015-10-07 15:08:11 +02:00
Julien Fontanet
f33fc5d730 Minor fixes. 2015-10-07 15:01:19 +02:00
Olivier Lambert
3e58bee0eb Merge pull request #409 from vatesfr/abhamon-ronan-issue-396
Abhamon ronan issue 396
2015-10-07 14:46:25 +02:00
Julien Fontanet
1603df3503 Avoid listing node_modules in stacks. 2015-10-07 14:42:36 +02:00
Julien Fontanet
6055ac182b Minor fix on pool merge. 2015-10-07 14:42:36 +02:00
wescoeur
8c2ed1f581 Password viewer button added to right (with tooltip) and only displayed if input is not empty. 2015-10-07 14:41:31 +02:00
Pierre
500dd3bfaf Unfocusing CD list after selecting one 2015-10-07 12:04:35 +02:00
Olivier Lambert
bc7bacd654 remove Travis test on Node 0.10 2015-10-07 10:58:54 +02:00
florent
fa16b990b6 add chart selector for dataviz 2015-10-06 22:06:33 +02:00
Florent BEAUCHAMP
9d5e9dd9e5 Use desktop notification when avilable and when the browser is minified
without jquery, and using angular $window and $document
2015-10-06 20:37:56 +02:00
Olivier Lambert
4678f60adf fix the pool merge issue #402 2015-10-06 15:15:54 +02:00
Julien Fontanet
e075f1c08b 0.6.4 2015-10-06 14:35:33 +02:00
Julien Fontanet
b48521950e Always use got instead of request. 2015-10-05 18:41:54 +02:00
Julien Fontanet
45da6fb39f Upgrade must and got. 2015-10-05 18:41:50 +02:00
Olivier Lambert
4046f9dde1 restrict export button for admins only. Fix #410 2015-10-05 16:45:35 +02:00
Julien Fontanet
1604d327da Use redis 2 directly. 2015-10-05 15:32:34 +02:00
Julien Fontanet
98b2b325a1 Reorder some imports. 2015-10-05 13:07:17 +02:00
Julien Fontanet
55b3def630 Avoid direct dependency on Blubird AMAP. 2015-10-05 13:06:53 +02:00
Julien Fontanet
fcd82ada14 Fix coding styles and test on Travis. 2015-10-02 19:20:13 +02:00
Julien Fontanet
7e0aa719b4 Use Collection.unset() instead of remove() to avoid exceptions. 2015-10-02 14:05:26 +02:00
Julien Fontanet
ce7bc9f438 Correctly export isObject(). 2015-10-02 12:57:51 +02:00
Julien Fontanet
43a362d0eb Use constants for code robustness & performance. 2015-10-02 12:56:39 +02:00
Julien Fontanet
7d7e6e10b9 Properly use Object.prototype.hasOwnProperty(). 2015-10-02 12:27:18 +02:00
Julien Fontanet
73821b0f12 Isolate isObject(). 2015-10-02 12:26:54 +02:00
Olivier Lambert
d616da7f67 Merge pull request #399 from vatesfr/circle
first integration of cricle chart
2015-10-01 21:45:43 +02:00
florent
0c81202bbb how circle chart and sunburst charts + bug fix
correct bug where wraptext was going wild with dimension less node
2015-10-01 20:53:43 +02:00
Julien Fontanet
2071a7d308 Use kindof instead of typeof where appropriate. 2015-10-01 20:47:32 +02:00
Julien Fontanet
c439daadad Minor opt. 2015-10-01 20:43:27 +02:00
Julien Fontanet
083f325076 Temporary work around for eslint/eslint#3946. 2015-10-01 20:31:43 +02:00
Julien Fontanet
6284bd3f17 Remove an unecessary console.log(). 2015-10-01 18:38:54 +02:00
Julien Fontanet
7adc9d94b4 Upgrade gulp-livereload to 3.8.1 to support npm 3. 2015-10-01 18:38:42 +02:00
Julien Fontanet
ee53433dcc Use const wherever possible. 2015-10-01 18:25:01 +02:00
Julien Fontanet
ad10d13a75 Update standard. 2015-10-01 18:23:17 +02:00
Julien Fontanet
1b5f6bd3eb Only unregister the Xen Server on success. 2015-10-01 16:13:18 +02:00
Julien Fontanet
3472b85345 Minor fix. 2015-10-01 15:46:31 +02:00
Julien Fontanet
1c6ae53656 Remove a xen pool only after successful pool.mergeInto() (fix #403). 2015-10-01 15:45:03 +02:00
florent
73e030d2f5 d3 circle : hide text if fully zoomed out 2015-09-30 22:07:19 +02:00
florent
3a3b45aa04 d3 charts : externalize a breadcrumbs directive
refactor sunburst and circle to use it
2015-09-30 22:00:39 +02:00
Julien Fontanet
a84a56f611 Merge pull request #95 from vatesfr/julien-f-pool-merge
pool.mergeInto(source, target)
2015-09-30 19:06:29 +02:00
florent
81c19e9964 circle : hide virtual node ( like free ram or free disk) 2015-09-30 18:55:12 +02:00
florent
df856bc4a0 zoomable circle chart 2015-09-30 18:31:24 +02:00
Julien Fontanet
69751aa415 Expose XAPI error messages in pool.mergeInto(). 2015-09-30 17:36:25 +02:00
Julien Fontanet
9ef0337807 Correctly export pool.mergeInto(). 2015-09-30 16:39:30 +02:00
Julien Fontanet
a3fdd274c3 pool.mergeInto(source, target) 2015-09-30 16:26:44 +02:00
florent
8558dc7ee4 first integration of cricle chart, no zoom
Drop in remplacement of sunburst or treemap
2015-09-30 15:14:42 +02:00
Fabrice Marsaud
087d5f6e58 4.6.1 2015-09-25 12:16:17 +02:00
Fabrice Marsaud
9540bc350a Fix a wrong deletion 2015-09-25 12:14:17 +02:00
Julien Fontanet
f069c02153 Only test on Node 0.10, 0.12 and latest stable. 2015-09-25 10:22:09 +02:00
Julien Fontanet
09153c6c30 Revert "Minor fix in release process."
This reverts commit 8dbab73d2b.

The release process was already correct.
2015-09-25 10:18:46 +02:00
Olivier Lambert
ad0d14c517 Merge pull request #93 from vatesfr/next-release
4.6 release
2015-09-25 00:28:48 +02:00
Olivier Lambert
a72da79743 4.6.0 2015-09-25 00:12:03 +02:00
Olivier Lambert
f66d81f147 4.6.0 2015-09-25 00:10:29 +02:00
Olivier Lambert
75925143b6 Merge pull request #395 from vatesfr/cubism
Multigraph, resolve issue #358
2015-09-24 21:37:28 +02:00
Florent BEAUCHAMP
e7dc00991e remove cubism from package.json 2015-09-24 21:26:45 +02:00
Florent BEAUCHAMP
dd9da82ed3 Merge branch 'cubism' of https://github.com/vatesfr/xo-web into cubism 2015-09-24 21:18:59 +02:00
Florent BEAUCHAMP
c995b8fa81 horizon: sort metrics name, rename cpu average to all cpus 2015-09-24 21:15:53 +02:00
Florent BEAUCHAMP
e7c2994ea3 horizon : delete last traces of cubism 2015-09-24 21:15:52 +02:00
Florent BEAUCHAMP
106997b26c horizon responsive 2015-09-24 21:15:51 +02:00
Florent BEAUCHAMP
fa842c1566 horizon : smaller label on date axis 2015-09-24 21:15:50 +02:00
Florent BEAUCHAMP
be03dd82f9 remove cubism 2015-09-24 21:15:49 +02:00
Florent BEAUCHAMP
39c46995e1 horizon : properly clean existing label 2015-09-24 21:15:48 +02:00
Florent BEAUCHAMP
97adc01e8d horizon : replace checkbox by button, remove bold 2015-09-24 21:15:47 +02:00
Florent BEAUCHAMP
36be881741 handle missing value 2015-09-24 21:15:45 +02:00
Florent BEAUCHAMP
955cc6dff5 horizon : add filter on hover 2015-09-24 21:15:44 +02:00
Florent BEAUCHAMP
2be1399eda horizon : add label, center label vertically, add a checkbox to
synchronize scales
2015-09-24 21:15:43 +02:00
Olivier Lambert
ef5d2a7654 change the panel title 2015-09-24 21:09:56 +02:00
Florent BEAUCHAMP
1cd00cab62 horizon : synchronize scales 2015-09-24 21:09:54 +02:00
Olivier Lambert
7652c231f6 case for foreach 2015-09-24 21:09:53 +02:00
Florent BEAUCHAMP
e17cdf0ca7 horizon : over text lighter 2015-09-24 21:09:51 +02:00
Florent BEAUCHAMP
3317791e68 rizons : two numbers 2015-09-24 21:09:50 +02:00
Florent BEAUCHAMP
c3871bc2ec Horizon : hide cpu x in metrics list 2015-09-24 21:09:49 +02:00
Florent BEAUCHAMP
ebba86f741 horizon : add label before chart
better handling of form when loading new metrics
2015-09-24 21:09:47 +02:00
Florent BEAUCHAMP
5ac84a6a02 replace cubism with a custom implementation 2015-09-24 21:09:46 +02:00
Florent BEAUCHAMP
cf3e9704e8 wip 2015-09-24 21:09:44 +02:00
Florent BEAUCHAMP
37eac8afcf formatting 2015-09-24 21:09:43 +02:00
Florent BEAUCHAMP
692a0535ff move cubism from dataviz to health 2015-09-24 21:09:42 +02:00
Olivier Lambert
0f0d804052 fix a typo in clonedeep import and save the depencency 2015-09-24 21:09:40 +02:00
florent
d189e6b53d first integration of cubism 2015-09-24 21:08:56 +02:00
Florent BEAUCHAMP
5da31691a9 horizon: sort metrics name, rename cpu average to all cpus 2015-09-24 21:02:34 +02:00
Florent BEAUCHAMP
4059a4fd9a horizon : delete last traces of cubism 2015-09-24 20:47:20 +02:00
Florent BEAUCHAMP
e56da71856 horizon responsive 2015-09-24 20:40:15 +02:00
Florent BEAUCHAMP
91e10f627f horizon : smaller label on date axis 2015-09-24 20:04:52 +02:00
Florent BEAUCHAMP
338c686e8d remove cubism 2015-09-24 19:53:31 +02:00
Florent BEAUCHAMP
0007e9ea2b horizon : properly clean existing label 2015-09-24 19:50:08 +02:00
Florent BEAUCHAMP
1e09e9b322 horizon : replace checkbox by button, remove bold 2015-09-24 19:13:48 +02:00
Florent BEAUCHAMP
43c358119a handle missing value 2015-09-24 18:48:03 +02:00
Florent BEAUCHAMP
7a0f251ebd horizon : add filter on hover 2015-09-24 18:36:17 +02:00
Florent BEAUCHAMP
e989321c5f Merge branch 'cubism' of https://github.com/vatesfr/xo-web into cubism 2015-09-24 18:12:42 +02:00
Florent BEAUCHAMP
56f27e6aaa horizon : add label, center label vertically, add a checkbox to
synchronize scales
2015-09-24 18:08:36 +02:00
Julien Fontanet
7c4e5aa667 Move lodash.debounce to dev deps. 2015-09-24 16:48:12 +02:00
Julien Fontanet
d253d826bb Update xo-lib to 0.7.3 to support Node 4. 2015-09-24 16:47:57 +02:00
Julien Fontanet
4fd9639457 0.7.3 2015-09-24 16:40:31 +02:00
Julien Fontanet
2f2ee1f431 Update ws 0.8.0 to support Node 4. 2015-09-24 16:39:54 +02:00
Olivier Lambert
888fa20ca3 update the changelog 2015-09-24 12:13:31 +02:00
Julien Fontanet
598dbb2b7a Typos. 2015-09-24 11:37:02 +02:00
Julien Fontanet
71eb1eab14 Properly handles invalid auth tokens. 2015-09-24 11:09:22 +02:00
Olivier Lambert
62a6bd99e8 Merge pull request #393 from vatesfr/issue#237
Rely on unified server-side VM migrate
2015-09-24 10:27:29 +02:00
Olivier Lambert
174cdf2149 fix issue #394 2015-09-24 10:24:10 +02:00
Julien Fontanet
6bc35217d9 vm.set() supports PV args. 2015-09-24 10:05:20 +02:00
Olivier Lambert
5267fbce7b change the panel title 2015-09-23 23:00:18 +02:00
Fabrice Marsaud
dd814e7e95 removed late migrate notification 2015-09-23 22:41:50 +02:00
Florent BEAUCHAMP
f806b45d3d Merge branch 'cubism' of https://github.com/vatesfr/xo-web into cubism 2015-09-23 22:35:30 +02:00
Florent BEAUCHAMP
8575e9eabe horizon : synchronize scales 2015-09-23 22:34:50 +02:00
Olivier Lambert
6ff9e22049 case for foreach 2015-09-23 22:18:42 +02:00
Fabrice Marsaud
caa86fdab7 Rely on unified server-side VM migrate 2015-09-23 22:15:19 +02:00
Florent BEAUCHAMP
48246716cc horizon : over text lighter 2015-09-23 22:04:29 +02:00
Florent BEAUCHAMP
6e07429e8a rizons : two numbers 2015-09-23 22:01:41 +02:00
Florent BEAUCHAMP
1a271c32b6 Horizon : hide cpu x in metrics list 2015-09-23 21:57:07 +02:00
Florent BEAUCHAMP
3fddec8f20 horizon : add label before chart
better handling of form when loading new metrics
2015-09-23 21:42:11 +02:00
Florent BEAUCHAMP
ac3944aece replace cubism with a custom implementation 2015-09-23 20:59:25 +02:00
Julien Fontanet
c526e9ac8f Temporary disable incorrect standard reports. 2015-09-23 15:10:53 +02:00
Julien Fontanet
3dfebcadc1 Fix permissions check for networks and SRs (fix #91). 2015-09-23 15:10:53 +02:00
Florent BEAUCHAMP
958cc2a50c wip 2015-09-22 23:17:32 +02:00
Florent BEAUCHAMP
058dfcfa9f Merge branch 'cubism' of https://github.com/vatesfr/xo-web into cubism 2015-09-22 19:09:35 +02:00
Florent BEAUCHAMP
9dbb1ca386 formatting 2015-09-22 19:06:01 +02:00
Florent BEAUCHAMP
4d1def6e9d move cubism from dataviz to health 2015-09-22 18:51:51 +02:00
Julien Fontanet
ad06c8147f Initial commit. 2015-09-22 17:27:57 +02:00
Olivier Lambert
693af532a2 Merge pull request #90 from vatesfr/better-vm-migration
Better VM migration.
2015-09-22 15:42:11 +02:00
Julien Fontanet
4bac57fcd1 Better VM migration. 2015-09-22 15:22:01 +02:00
Olivier Lambert
ff763b0278 fix a typo in clonedeep import and save the depencency 2015-09-22 13:28:04 +02:00
florent
74f611e0fd first integration of cubism 2015-09-22 09:23:28 +02:00
Julien Fontanet
a2f5f1cb0e 0.5.0 2015-09-21 18:13:13 +02:00
Julien Fontanet
1fbe7d92eb Add --list-objects (fix #8 and fix #9). 2015-09-21 18:13:04 +02:00
Julien Fontanet
760974c7c7 Clearer explanation for the callback URL. 2015-09-21 10:30:53 +02:00
Julien Fontanet
e1587d11b1 FIXME: certificates reading should be async. 2015-09-21 10:23:48 +02:00
Julien Fontanet
0595360808 Update deps. 2015-09-18 14:51:34 +02:00
Julien Fontanet
1a8149e456 This package should be installed globally. 2015-09-18 14:51:18 +02:00
Olivier Lambert
61f8be1c60 Merge pull request #388 from vatesfr/issue#222
Filter for SR view VDIs #222
2015-09-17 18:01:41 +02:00
Olivier Lambert
96b18dab00 just add a placeholder in the filter for VDIs 2015-09-17 18:01:12 +02:00
Fabrice Marsaud
0a21b239bc Filter for SR view VDIs #222 2015-09-17 17:51:55 +02:00
Julien Fontanet
59291fcac2 VM export is named after the VM name label (fix #370). 2015-09-17 16:57:30 +02:00
Julien Fontanet
1f21b202a5 Merge pull request #87 from vatesfr/pvargs
PV args can be specified at VM creation.
2015-09-17 16:40:30 +02:00
Olivier Lambert
9c3589aea4 add PV args during VM creation. Fix #112 2015-09-17 16:36:14 +02:00
Olivier Lambert
b3ca02a166 add PV args for VM 2015-09-17 16:17:11 +02:00
Julien Fontanet
2462f8f87e Fix Xapi#_setObjectProperties() for uppercase properties. 2015-09-17 16:16:35 +02:00
Olivier Lambert
2433485d13 Merge pull request #387 from vatesfr/issue#350
Issue#350
2015-09-17 14:56:21 +02:00
Fabrice Marsaud
6b5f254e0a Confirmations on tree and SR view 2015-09-17 14:51:33 +02:00
Fabrice Marsaud
e1b41b1e26 Additional confirmations for console view 2015-09-17 14:51:33 +02:00
Fabrice Marsaud
bd7a265df0 Additional confirmations for VM view 2015-09-17 14:51:33 +02:00
Olivier Lambert
039cca9529 Merge pull request #385 from vatesfr/issue#383
Html fixes so form required are no more ignored
2015-09-17 12:35:06 +02:00
Olivier Lambert
963347dbc2 Merge pull request #381 from vatesfr/issue#107
noVnc connection reset on disconnection
2015-09-17 12:19:19 +02:00
Fabrice Marsaud
697cc9f758 Html fixes so form required are no more ignored 2015-09-17 11:00:24 +02:00
Fabrice Marsaud
3892225584 Limited retries to reset consoles after reboot or halt or whatever disconnects... 2015-09-17 10:52:08 +02:00
Fabrice Marsaud
a7880a0ef5 noVnc connection reset on disconnection 2015-09-17 10:52:08 +02:00
Fabrice Marsaud
dd574830f5 Merge pull request #380 from vatesfr/issue#367
Tag management in xo-web
2015-09-17 10:30:10 +02:00
Fabrice Marsaud
71a0d15c35 Tag directive ensures an up to date tag display 2015-09-17 10:25:58 +02:00
Fabrice Marsaud
8a33c4f09a Various enhancements of the tag directive 2015-09-17 10:25:57 +02:00
Fabrice Marsaud
d223ce062a tags for VDIs. A refresh problem in VM view 2015-09-17 10:25:57 +02:00
Fabrice Marsaud
39c8f12963 Fixes for tag management 2015-09-17 10:25:57 +02:00
Fabrice Marsaud
bd4ba8c826 Autofocus, and smaller + button 2015-09-17 10:25:57 +02:00
Fabrice Marsaud
3d38c8e088 Add tag module 2015-09-17 10:25:57 +02:00
Fabrice Marsaud
ce58c80c6d Tag management UI for issue#367 2015-09-17 10:25:57 +02:00
Julien Fontanet
19b3a0781c Deps update. 2015-09-17 10:12:02 +02:00
Olivier Lambert
18268acc1f Merge pull request #83 from vatesfr/tags
Tags
2015-09-16 20:39:11 +02:00
Olivier Lambert
b42c1971b9 Merge pull request #382 from vatesfr/issue#323
Issue#323
2015-09-16 18:45:14 +02:00
Olivier Lambert
02440941e0 homogenize by using spaces vs nbsp 2015-09-16 17:58:27 +02:00
Olivier Lambert
cd2f986c50 fix a missing space in the list view 2015-09-16 17:56:22 +02:00
Olivier Lambert
e7cbd6b31f Update CHANGELOG.md
Add the fix pushed in the 4.5.1
2015-09-16 15:09:34 +02:00
Fabrice Marsaud
a7f6d5eebd Better order for acl management 2015-09-16 13:45:48 +02:00
Fabrice Marsaud
4f3b8c0906 Acls are editable 2015-09-16 13:45:48 +02:00
Fabrice Marsaud
7126c71943 Merge branch 'master' into next-release 2015-09-16 13:42:27 +02:00
Fabrice Marsaud
489cf16af8 4.5.1 2015-09-16 12:05:00 +02:00
Fabrice Marsaud
b012f44259 Merge pull request #379 from vatesfr/issue378
Fixes issue#378 and adds some cancel edit buttons on VM view. Ready for 4.5.1.
2015-09-16 12:03:00 +02:00
Julien Fontanet
fd6f92f6b5 0.3.1 2015-09-16 11:57:52 +02:00
Julien Fontanet
ddf7226ba8 Minor fixes in the README. 2015-09-16 11:57:44 +02:00
Fabrice Marsaud
5ce765bd27 Fixes issue#378 and adds some cancel edit buttons on VM view 2015-09-16 11:44:46 +02:00
Julien Fontanet
a1cd95752a 0.3.0 2015-09-16 11:35:32 +02:00
Julien Fontanet
d131a26a41 Fix the license. 2015-09-16 11:35:26 +02:00
Julien Fontanet
10a7c75001 Enable tests on Node 4. 2015-09-16 11:13:25 +02:00
Julien Fontanet
1f454ababf Support custom username field. 2015-09-16 11:12:42 +02:00
Olivier Lambert
2450edd070 another minor UI fix 2015-09-15 20:01:54 +02:00
Julien Fontanet
44f4423a9d Fix tag.{add,remove}(). 2015-09-15 16:25:45 +02:00
Olivier Lambert
37250a6f48 Support tags on Xen objects. 2015-09-15 11:59:25 +02:00
Olivier Lambert
fc2a61835c fix edge cases display of tools outdated but installed 2015-09-14 22:12:34 +02:00
Fabrice Marsaud
d06d73d5f7 Merge pull request #376 from vatesfr/issue#362
Any user can manage his password himself
2015-09-14 17:02:10 +02:00
Julien Fontanet
4ee352fdb2 Always use instances of Error for errors. 2015-09-14 16:45:17 +02:00
Olivier Lambert
fd97541417 Merge pull request #85 from vatesfr/changePassword
Password change API for any user. Related to xo-web issue#362
2015-09-14 16:34:45 +02:00
Fabrice Marsaud
dba3e30d02 Fixes after PR feedback 2015-09-14 16:28:29 +02:00
Fabrice Marsaud
2c10996bb3 UI terms 2015-09-14 16:13:33 +02:00
Julien Fontanet
96ea3ded4a Better stacktraces in CLI. 2015-09-14 16:02:09 +02:00
Julien Fontanet
8bbc6e9ff5 Initial read only mode (fix #3). 2015-09-14 16:01:46 +02:00
Fabrice Marsaud
b9c85bb1bf Rework on password change 2015-09-14 15:36:22 +02:00
Fabrice Marsaud
f436afb9aa Any user can manage his password himself 2015-09-14 15:36:22 +02:00
Olivier Lambert
750efe4152 Merge pull request #377 from vatesfr/issue#342
Clearer tooltips for heatmap
2015-09-14 14:36:04 +02:00
Fabrice Marsaud
99cee95cd5 Clearer tooltips for heatmap 2015-09-14 14:24:10 +02:00
Julien Fontanet
5962283ad3 Directly use posix path functions. 2015-09-14 14:14:40 +02:00
Fabrice Marsaud
cdd705831b reworked password change 2015-09-14 13:33:44 +02:00
Fabrice Marsaud
a1a7c5e4bb Password change API for any user. Related to xo-web issue#362 2015-09-14 11:28:33 +02:00
Fabrice Marsaud
c1e9061568 Minor code style fix 2015-09-14 11:28:10 +02:00
Julien Fontanet
90ee04de57 Fix bad sign in redirections (fix vatesfr/xo-web#373). 2015-09-14 11:19:38 +02:00
Olivier Lambert
ec10b84fa6 add new favicon. Fix #369 2015-09-11 22:16:35 +02:00
Olivier Lambert
f0442fe2ce spaces between tags in flat view 2015-09-11 22:16:06 +02:00
Olivier Lambert
7907969696 Merge pull request #372 from vatesfr/issue#368
Fix update panel for issue#368
2015-09-11 18:08:59 +02:00
Julien Fontanet
8dbab73d2b Minor fix in release process. 2015-09-11 18:04:18 +02:00
Julien Fontanet
cd24cfbe5c Minor fix in vm.stop(). 2015-09-11 18:03:47 +02:00
Fabrice Marsaud
ade8acb4e2 Fix update panel for issue#368 2015-09-11 15:54:08 +02:00
Fabrice Marsaud
9cb78e6954 Fix for Issue#357 2015-09-11 15:34:17 +02:00
Julien Fontanet
af7029812c 0.6.3 2015-09-11 15:32:16 +02:00
Julien Fontanet
5b05668a30 4.5.0 2015-09-11 13:00:24 +02:00
Julien Fontanet
e9127bdbb3 4.5.0 2015-09-11 12:59:00 +02:00
Julien Fontanet
a2eca9589f Avoid crashes on failed VM backups. 2015-09-11 12:48:42 +02:00
Julien Fontanet
a2adbb19bd Avoid crashes on failed VM exports. 2015-09-11 12:48:22 +02:00
Julien Fontanet
012e5c09ed Minor fixes. 2015-09-11 12:31:53 +02:00
Julien Fontanet
84c9532456 0.1.0 2015-09-11 10:45:02 +02:00
Julien Fontanet
aa7c9bca46 Test with Node 4. 2015-09-11 10:44:32 +02:00
Julien Fontanet
3d00b4ffbe 0.2.0 2015-09-11 10:43:36 +02:00
Olivier Lambert
9b750bc756 add missing stuff in the changelog 2015-09-10 17:32:22 +02:00
Fabrice Marsaud
c3349e8cc7 Merge pull request #366 from vatesfr/issue#268
Issue#268
2015-09-10 17:24:58 +02:00
Olivier Lambert
f4d7c7f739 hide other buttons 2015-09-10 17:24:55 +02:00
Olivier Lambert
19d51cb1a4 remove a typo 2015-09-10 17:24:55 +02:00
Olivier Lambert
cc9983aa16 hide actions for a viewer and fix others 2015-09-10 17:24:55 +02:00
Fabrice Marsaud
81f8467f66 ng-if solution for unauthorized action button and links 2015-09-10 17:24:55 +02:00
Fabrice Marsaud
df6b23e3c7 disable solution. not very satisfying 2015-09-10 17:24:55 +02:00
Fabrice Marsaud
4dd81e7d59 Merge pull request #365 from vatesfr/issue#330
Issue#330
2015-09-10 17:22:27 +02:00
Fabrice Marsaud
54ce7067b4 Nan and data type bugs fixed 2015-09-10 17:22:32 +02:00
Fabrice Marsaud
2673f790e6 Issue #330 enhanced heatmap, first delivery 2015-09-10 17:22:32 +02:00
Fabrice Marsaud
5f33aa7fd4 Fixed host stats 2015-09-10 17:16:21 +02:00
Fabrice Marsaud
7ea2204dfd Merge pull request #82 from vatesfr/vmMetadata
Only VM metadata handle in various backup/export methods
2015-09-10 17:14:19 +02:00
Julien Fontanet
be8cadf5ac Pass context to ACL checkers. 2015-09-10 17:01:12 +02:00
Fabrice Marsaud
fc7192c748 Only VM metadata handle in various backup/export methods 2015-09-10 16:20:49 +02:00
Fabrice Marsaud
69bea2ec9b Merge pull request #364 from vatesfr/issue#315
Issue#315
2015-09-10 16:18:58 +02:00
Fabrice Marsaud
37037cf797 Fixed "onlymetadata" backup bugs 2015-09-10 15:59:36 +02:00
Julien Fontanet
c517b59138 Enable testing on Node 4. 2015-09-10 15:22:09 +02:00
Julien Fontanet
5c6b6b3919 Implements ACL inheritance for hosts, networks, SRs and VMs. 2015-09-10 14:57:10 +02:00
Julien Fontanet
87553ac685 Use relative paths for sign in (fix vatesfr/xo-web#361). 2015-09-10 14:45:35 +02:00
Julien Fontanet
384f396bbb Revert redis to 0.12.1 for compatibility with then-redis. 2015-09-09 17:33:34 +02:00
Fabrice Marsaud
2a1586aab3 Onlymetadata scheduled backups 2015-09-09 12:12:06 +02:00
florent
915281d138 cleanup and enlarge brush 2015-09-08 23:05:36 +02:00
florent
b53a179ea0 correctly invoke parallel chart + readme + add drag filter 2015-09-08 22:56:32 +02:00
Olivier Lambert
7077e8b50e Merge pull request #359 from vatesfr/dynamic-charts
Dynamic charts
2015-09-08 13:16:57 +02:00
florent
d9181277d9 correct wrong throttle/debounce use * 2015-09-08 12:18:27 +02:00
florent
810c2d6a1a listen to xoApi.onUpdate event to refresh charts, throttle refresh to once every 300ms 2015-09-08 12:18:08 +02:00
Olivier Lambert
f31113fb90 change panel name 2015-09-08 12:08:01 +02:00
florent
1702b9dd37 force domain to start at zero 2015-09-08 12:06:13 +02:00
florent
f8e61c713c first implementation of parrallel chart directive 2015-09-08 12:05:16 +02:00
Julien Fontanet
d40560bd49 Allow a query string in external auth providers callback. 2015-09-07 17:27:42 +02:00
Julien Fontanet
0304d6079d GitHub screenshot. 2015-09-07 17:24:27 +02:00
Julien Fontanet
ae41e64999 Fix passport-github links. 2015-09-07 17:02:57 +02:00
Julien Fontanet
8c9f32c927 Initial commit. 2015-09-07 17:01:37 +02:00
Julien Fontanet
5485e8a322 Test on iojs 3 and use containers on Travis. 2015-09-07 16:23:33 +02:00
Julien Fontanet
67952ca246 Update deps. 2015-09-07 16:07:23 +02:00
Julien Fontanet
b4c612ff6d Remove unnecessary ESLint directive. 2015-09-07 14:16:10 +02:00
Julien Fontanet
e708268067 Test on iojs 3 and use Travis containers. 2015-09-07 14:15:55 +02:00
Julien Fontanet
643132754a xoApi.onUpdate(fn) 2015-09-07 14:10:51 +02:00
Olivier Lambert
4f0a131bd2 fix #341 2015-09-07 13:13:08 +02:00
Olivier Lambert
52aa0350cf update the changelog 2015-09-07 13:12:56 +02:00
Olivier Lambert
c9884f32fe fix #355 2015-09-07 12:36:35 +02:00
Olivier Lambert
aea3ae3d37 fix #356 2015-09-07 12:36:23 +02:00
Julien Fontanet
4ddbefb147 Update standard to 5.2 and fix coding style. 2015-09-04 11:00:36 +02:00
Julien Fontanet
edabc17ac9 onlyMetadata param for vm.export() is optional. 2015-09-04 10:38:45 +02:00
Olivier Lambert
10f7c3045f fix #348 2015-09-03 15:15:51 +02:00
Olivier Lambert
bf4e158c30 fix #347 2015-09-03 14:48:08 +02:00
Olivier Lambert
c7e8211fae replace passport placehold by password 2015-09-02 22:00:51 +02:00
Olivier Lambert
4a3155ed22 Merge pull request #346 from vatesfr/performance
Performance improvment
2015-09-02 21:38:03 +02:00
florent
29f1c89fa5 fix sunburst layout on FF/IE 2015-09-02 21:08:54 +02:00
florent
4a92e8a99f improve performance
make suburst graph static and synchronize animation
2015-09-02 20:40:32 +02:00
Olivier Lambert
c6cffb1156 add metadata export in the VM view 2015-09-02 17:15:10 +02:00
Olivier Lambert
dc3f07dd52 add the parameter in the VM method 2015-09-02 17:01:06 +02:00
Olivier Lambert
fae6a5cfb4 add the onlyMetadata parameter 2015-09-02 16:34:31 +02:00
Julien Fontanet
cafd225797 Better logs for the consoles proxy. 2015-09-02 16:34:20 +02:00
Julien Fontanet
bf77d2973e Error handling should be in place before the connection. 2015-09-02 16:22:47 +02:00
Julien Fontanet
dfd8133431 Handle errors in consoles proxy. 2015-09-02 16:15:28 +02:00
Olivier Lambert
f6e4e59905 add outdate tools info in VM view 2015-09-02 15:55:20 +02:00
Olivier Lambert
e9d78b8990 fix xo-web/#304 2015-09-02 15:43:27 +02:00
Olivier Lambert
3a0736c4bf fix #304 2015-09-02 15:43:05 +02:00
Julien Fontanet
47455b2029 Merge pull request #344 from vatesfr/coding-standard
Fix coding style of the dashboard.
2015-09-02 11:24:24 +02:00
Julien Fontanet
05eb7d765f Coding style fixes. 2015-09-02 11:12:37 +02:00
Julien Fontanet
5e786686d0 Remove unecessary dep. 2015-09-02 10:29:40 +02:00
florent
5cb8e3a7c3 comply to coding standards 2015-09-01 20:18:10 +02:00
Olivier Lambert
13532cdffb Merge pull request #81 from vatesfr/julien-f-direct-consoles
Access directly to consoles without using wsproxy.
2015-09-01 17:58:06 +02:00
Julien Fontanet
c17620efb7 Access directly to consoles without using wsproxy. 2015-09-01 17:51:25 +02:00
Julien Fontanet
d3b5b1080f Correctly handle VM_LACKS_FEATURE_SHUTDOWN. 2015-09-01 17:45:03 +02:00
Julien Fontanet
e4b0c23bb9 Add comment regarding chained certificates. 2015-09-01 15:22:47 +02:00
Julien Fontanet
e61873f335 username is not define in passport-saml. 2015-08-28 18:23:46 +02:00
Julien Fontanet
6c24fb6d79 Minor cleanup. 2015-08-28 18:06:49 +02:00
Julien Fontanet
bd93551c13 Minor fixes for external auth providers. 2015-08-28 18:06:49 +02:00
Julien Fontanet
6c3719b9b8 0.1.0 2015-08-28 17:47:53 +02:00
Fabrice Marsaud
dc0799a56b 4.4.0 2015-08-28 17:43:02 +02:00
Fabrice Marsaud
84bd077eac 4.4.0 2015-08-28 17:38:23 +02:00
Julien Fontanet
db39b27119 Fix home page on sign in. 2015-08-28 17:14:59 +02:00
Julien Fontanet
8c9ea7885a First working version. 2015-08-28 16:16:32 +02:00
Julien Fontanet
e1fca1520b Merge pull request #79 from vatesfr/passport
Passport integration.
2015-08-28 16:12:00 +02:00
Julien Fontanet
f2d2b35543 Merge pull request #335 from vatesfr/passport
Authentication is moved to xo-server.
2015-08-28 16:09:59 +02:00
Julien Fontanet
c72f3b8efb Fix providers list on sign in page. 2015-08-28 16:03:24 +02:00
Julien Fontanet
afcd172a94 Put signin page in its own file. 2015-08-28 15:52:46 +02:00
Julien Fontanet
5957700699 Better error feedback. 2015-08-28 15:14:41 +02:00
Julien Fontanet
5dfd5766f2 Authentication is moved to xo-server. 2015-08-28 15:04:47 +02:00
Julien Fontanet
451d023e81 Authentication is now handled by passport. 2015-08-28 15:04:01 +02:00
Fabrice Marsaud
0e4c3e1e92 CSS tree view fixes 2015-08-28 10:53:13 +02:00
Fabrice Marsaud
221f42606c Fixes from Issue#329 2015-08-28 10:45:20 +02:00
Olivier Lambert
742f092ed3 add CSS flexbox issue in the changelog 2015-08-28 10:37:23 +02:00
Fabrice Marsaud
36bffa1475 gulpFilter 3.x 2015-08-28 09:22:35 +02:00
Julien Fontanet
64d166cebf Enable Travis for iojs v3. 2015-08-28 09:06:01 +02:00
Julien Fontanet
2540ac34b3 Be verbose on XML-RPC errors. 2015-08-28 08:51:38 +02:00
Julien Fontanet
76e5d41a34 Upgrade deps. 2015-08-28 08:51:15 +02:00
Fabrice Marsaud
936abc1b1a Fix for undefined VDIs (base copy) 2015-08-27 23:45:25 +02:00
Fabrice Marsaud
584bdd545f icon fix 2015-08-27 22:38:12 +02:00
Fabrice Marsaud
99debc18d7 Heatmap modifs 2015-08-27 21:41:34 +02:00
Olivier Lambert
56b896eda0 add better title 2015-08-27 18:27:44 +02:00
Fabrice Marsaud
cab102528d add omitted template 2015-08-27 18:24:29 +02:00
Fabrice Marsaud
1875cdcda2 Imporvements 2015-08-27 18:22:28 +02:00
Fabrice Marsaud
386dcc8d43 Host heatmap seems ok 2015-08-27 17:55:21 +02:00
Fabrice Marsaud
51b067def7 host.stats fixed 2 2015-08-27 17:51:29 +02:00
Fabrice Marsaud
e6d59a47b1 Unstable progress 2015-08-27 17:01:25 +02:00
Fabrice Marsaud
2659393f33 First heatmap correct integration 2015-08-27 17:01:25 +02:00
Fabrice Marsaud
916b2363d9 Fixed storage dataviz (avoid hidden base copy vdis) 2015-08-27 17:01:25 +02:00
Olivier Lambert
bb513790b5 add changelog for 4.4 2015-08-27 17:01:25 +02:00
Olivier Lambert
e5ab15a727 remove permission for dashboard view if non admin 2015-08-27 17:01:25 +02:00
Fabrice Marsaud
bbaa750fda css touches
Conflicts:
	app/modules/dashboard/dataviz/view.jade
2015-08-27 17:01:25 +02:00
Fabrice Marsaud
a46e19210a css touch 2015-08-27 17:01:25 +02:00
Olivier Lambert
9d6772edd1 disable dashboard link menu 2015-08-27 17:01:25 +02:00
Olivier Lambert
3aeaa564a2 remove useless treemap 2015-08-27 17:01:25 +02:00
Olivier Lambert
8baad494e3 minor fixes 2015-08-27 17:01:25 +02:00
florent
fb04753d52 doc dor heatmap 2015-08-27 17:01:25 +02:00
florent
ea37c4ccd8 backport some correction to sunburst charts 2015-08-27 17:01:25 +02:00
florent
80f02b52e1 a littel doc for sunburst 2015-08-27 17:01:25 +02:00
florent
55464845d6 week heatmap 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
8aef4bb455 treemap directive 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
d8a2adbca2 dataviz refacto : split megacronlller in two bigcontroller 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
02e56da08a more transition, less console.log 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
9d9f857e73 sunburst : transition 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
b140c1e65f dataviz > overview : show shared SRS 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
81ff03462e dataviz breadcrumbs are full width 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
2ea7c09c84 dataviz : add cursor pointer if applicable 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
4163ed212c make dataviz clickable 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
c83722c2df dataviz : correct typo in storage sums 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
700db655e6 dataviz : storage is now pool > host > SRS > VDI
hide .iso srs
2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
226428f631 dataviz : replace cpu view by storage view pool>SRS>vdi 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
e2b293e49b no udev in overview list 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
1f6e9d4660 directive - less border 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
ecf2ee888f dataviz : remove logarithmic scale 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
1e8eeadb1d switch to a logarithm scale for ram 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
e7ceccdd83 dataviz : do not show "virtual pool" for poolless host 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
5390b4a4b3 oups, wrong CPU count 2015-08-27 17:01:25 +02:00
Florent BEAUCHAMP
f25ec34bc3 show free ram and cpu 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
53ece86816 don't show iso in overview > SR. Order SR by usage ratio desc 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
9b128cdfcc add comprehensible tooltip on overview > ram 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
c047386755 sunburst : add text info in the center 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
b0ffb272b3 sunburst : border width is coherent with graph width 2015-08-27 17:01:24 +02:00
Olivier Lambert
956e21c8db code style now using JS standard 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
95057a2b09 use the right visualization 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
788aa24a80 overview with real data 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
0a72ef91cc less opacity to non hovered sunburst node. text ellipsis in breadcrumbs 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
f0f4e0985a sunburst directive : externalized in a module, react to vm changes 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
a6bedea4b6 sunburst are responsive 2015-08-27 17:01:24 +02:00
Florent BEAUCHAMP
055316e1ca multiple synchronizated sunburst + breadcrumbs 2015-08-27 17:01:24 +02:00
Olivier Lambert
25fece5947 add initial d3 work of FBP 2015-08-27 17:01:24 +02:00
Olivier Lambert
5ec3cdbcc5 health page mockup 2015-08-27 17:01:24 +02:00
Olivier Lambert
b530ab2ef6 clean copy/pasted code 2015-08-27 17:01:24 +02:00
Olivier Lambert
5164f60c98 Ui fixes for dashboard 2015-08-27 17:01:24 +02:00
Olivier Lambert
19ba3015f7 not responsive graph to avoid a display bug 2015-08-27 17:01:24 +02:00
Olivier Lambert
fb00b2672c start dashboard mockup 2015-08-27 17:01:24 +02:00
Fabrice Marsaud
de25e8dd6f host.stats fixed 2015-08-27 16:48:42 +02:00
Fabrice Marsaud
3e0f936d2a host refreshStats fix 2015-08-27 16:47:58 +02:00
Fabrice Marsaud
f5be146dbb refreshStats fix 2015-08-27 10:01:44 +02:00
Fabrice Marsaud
39ac291ba2 vm.stats fix 2015-08-27 09:57:53 +02:00
Olivier Lambert
95431a0874 disable the scheduler for non admin users 2015-08-26 16:53:15 +02:00
Julien Fontanet
f76b130ca4 Coding style fixes. 2015-08-26 15:03:48 +02:00
Julien Fontanet
d19f8259d0 Upgrade deps. 2015-08-26 15:03:35 +02:00
Julien Fontanet
68cd62d756 Scheduler view is only accessible to admins. 2015-08-26 11:08:58 +02:00
Fabrice Marsaud
ea4a55d3dd grid css enhanced 2015-08-25 19:11:28 +02:00
Fabrice Marsaud
788bdcd35b menu-entry class is back 2015-08-24 18:20:38 +02:00
Julien Fontanet
722d26c5b9 Only super admins can interact with a network (should fix vatesfr/xo-web#322). 2015-08-24 17:34:15 +02:00
Fabrice Marsaud
ebd7e24830 group icon fix 2015-08-24 17:21:22 +02:00
Fabrice Marsaud
0b7fbffa0a Icons and styles enhanced a bit 2015-08-24 17:02:14 +02:00
Fabrice Marsaud
2afda9a055 form template touch 2015-08-24 17:02:14 +02:00
Fabrice Marsaud
28dd275bd8 Honest responsive grid 2015-08-24 17:02:14 +02:00
Fabrice Marsaud
9a3cf182ac side menu and other enhancements 2015-08-24 17:02:14 +02:00
Fabrice Marsaud
dd278c28be first steps 2015-08-24 17:02:14 +02:00
Fabrice Marsaud
37572122b0 Reload prompt after upgrade 2015-08-24 16:55:04 +02:00
Julien Fontanet
0346760a75 Hide non managed VDIs (should fix #324). 2015-08-24 16:12:27 +02:00
Julien Fontanet
a2015143f8 Fix coding style. 2015-08-24 13:27:00 +02:00
Julien Fontanet
071d99a7b4 Update deps. 2015-08-24 13:26:24 +02:00
Fabrice Marsaud
5348f75b5e ACL enhanced object selector 2015-08-10 18:43:44 +02:00
Julien Fontanet
2c32a4e912 0.6.2 2015-08-10 15:52:55 +02:00
Julien Fontanet
c66f7235b6 Fix master change. 2015-08-10 15:51:45 +02:00
Fabrice Marsaud
e6d8e063c9 stats api funcs now have 4 possible time granularities 2015-08-10 15:41:16 +02:00
Fabrice Marsaud
6b8873d385 Updater flow and display fixed 2015-07-31 09:27:06 +02:00
Fabrice Marsaud
29526144c9 4.3.2 2015-07-29 15:59:54 +02:00
Fabrice Marsaud
b88bcafddd Merge branch 'next-release' 2015-07-29 15:52:55 +02:00
Fabrice Marsaud
78d844d693 Fixed backup depth 2015-07-29 15:36:18 +02:00
Fabrice Marsaud
49310b53e9 4.3.1 2015-07-29 15:32:57 +02:00
Fabrice Marsaud
4684487ff8 Fixed backup path failure for nfs remotes 2015-07-29 15:32:57 +02:00
Fabrice Marsaud
89250205dc 4.3.1 2015-07-29 15:25:04 +02:00
Fabrice Marsaud
8db18d87e5 Minor vocabulary fix 2015-07-29 15:18:26 +02:00
Fabrice Marsaud
9039919b03 Fixed backup path failure for nfs remotes 2015-07-29 15:15:14 +02:00
Julien Fontanet
df16803f11 Expose host.powerOnMode (fixes #77). 2015-07-27 16:24:38 +02:00
Julien Fontanet
48327cf5f8 A pool’s name defaults to its master’s name. 2015-07-24 13:42:08 +02:00
Varchar38
2ead125b9d Check if the server already exist 2015-07-23 14:24:28 +02:00
Fabrice Marsaud
444920d15c 4.3.0 2015-07-22 15:48:52 +02:00
Fabrice Marsaud
23807f11f9 4.3.0 2015-07-22 15:46:07 +02:00
Fabrice Marsaud
cad666d07f Merge branch 'next-release' 2015-07-22 15:44:12 +02:00
Fabrice Marsaud
8aa2fab603 Merge branch 'next-release' 2015-07-22 15:39:36 +02:00
Olivier Lambert
9ded4386cc Update CHANGELOG.md 2015-07-22 15:16:13 +02:00
Fabrice Marsaud
cc6b1b5aa1 Fixed delete all host logs 2015-07-22 15:05:54 +02:00
Varchar38
a0b11051e1 Position can be a string or a number 2015-07-22 09:40:00 +02:00
Julien Fontanet
b6e6fb9de2 Closes WebSockets connections on SIGINT/SIGTERM. 2015-07-21 16:03:20 +02:00
Olivier Lambert
4172fd8aff Merge pull request #75 from vatesfr/marsaud-backup
Scheduled VM Backup feature
2015-07-21 14:35:15 +02:00
Olivier Lambert
74f20da82f Merge pull request #305 from vatesfr/issue#301
GUI fix for vm delete
2015-07-21 14:34:59 +02:00
Olivier Lambert
4c9c838b70 Merge pull request #300 from vatesfr/marsaud-backup
Scheduled VM Backup feature
2015-07-21 14:34:51 +02:00
Fabrice Marsaud
9a9d27d37a GUI fix for vm delete 2015-07-21 14:26:07 +02:00
Fabrice Marsaud
d60df6ca69 Backup, rolling backup, and remote backup location features 2015-07-21 14:22:31 +02:00
Fabrice Marsaud
0347d4cec4 Rolling backup feature 2015-07-21 14:14:15 +02:00
Fabrice Marsaud
b1b189288e Fix issue #302 2015-07-21 14:11:24 +02:00
Julien Fontanet
f9ba7377eb Do not create the promise if unnecessary. 2015-07-21 13:58:43 +02:00
Julien Fontanet
5d3c47b8ae Prefer pathname over path with got. 2015-07-21 13:58:25 +02:00
Fabrice Marsaud
b3220f981b GUI fix for vm delete 2015-07-20 19:29:53 +02:00
Fabrice Marsaud
ef9cc860a9 removed console output 2015-07-17 14:57:21 +02:00
Julien Fontanet
5a1ec8aa74 Merge pull request #76 from vatesfr/xo-web-issue#301
Deleting a VM also deletes its snapshots.
2015-07-16 17:11:13 +02:00
Fabrice Marsaud
ac435f3699 Deleting a VM also deletes its snapshots. 2015-07-16 17:03:15 +02:00
Julien Fontanet
20cbf0c710 Initial commit. 2015-07-15 15:51:43 +02:00
Julien Fontanet
0374dec79c Use standard Promise instead of Bluebird where possible. 2015-07-15 15:15:54 +02:00
Julien Fontanet
41b6bf38c4 Fix disks deletion in deleteVm(). 2015-07-15 13:44:16 +02:00
Julien Fontanet
a5573e62c6 Update deps. 2015-07-15 09:47:01 +02:00
Julien Fontanet
ddba251449 Coding style fixes. 2015-07-15 09:42:50 +02:00
Julien Fontanet
bf76e47648 Coding style fixes. 2015-07-15 09:41:54 +02:00
Julien Fontanet
5a3ad35bdd Update standard to 4.5.4. 2015-07-15 09:41:54 +02:00
Julien Fontanet
7da18274ad Use standard Promise instead of Bluebird where possible. 2015-07-15 09:41:54 +02:00
Varchar38
9b66ae05eb Delete set_enable 2015-07-13 15:49:25 +02:00
Fabrice Marsaud
d407964625 Avoid deleting Isos in drive when deleting a VM 2015-07-09 21:59:09 +02:00
Fabrice Marsaud
bc254d5a8d Issue #303, delete unpluggable disks with VMs 2015-07-09 19:09:36 +02:00
Fabrice Marsaud
1d9128a650 Removed unused import 2015-07-02 17:29:20 +02:00
Fabrice Marsaud
a1f2e9e4e2 Fixed a xapi call 2015-07-02 16:50:37 +02:00
Julien Fontanet
8c8188c24f Update deps. 2015-07-01 16:54:24 +02:00
Julien Fontanet
e42eaf73b8 Update xen-api to 0.6.1. 2015-06-30 17:23:20 +02:00
Julien Fontanet
5444381f7d 0.6.1 2015-06-30 17:20:31 +02:00
Julien Fontanet
fbd8552c0b Fix error symbol in API traces. 2015-06-30 17:15:38 +02:00
Julien Fontanet
daa26b2e1e Created VBDs should be unpluggable. 2015-06-30 16:23:51 +02:00
Julien Fontanet
dc44679031 Optimize and clean _watchEvents() & _watchEventsLegacy(). 2015-06-30 14:24:43 +02:00
Julien Fontanet
18473e6819 Fix inter pool migration. 2015-06-30 13:05:30 +02:00
Julien Fontanet
2cbd17b745 Better traces. 2015-06-30 11:07:33 +02:00
Julien Fontanet
a51d6b9a74 Better API traces. 2015-06-30 11:06:31 +02:00
Fabrice Marsaud
c4ccee8df6 4.2.0 2015-06-29 09:18:43 +02:00
Olivier Lambert
706871c12a 4.2.0 2015-06-29 09:17:00 +02:00
Fabrice Marsaud
fbcf803d06 Merge branch 'next-release' 2015-06-29 09:16:31 +02:00
Olivier Lambert
5247b7a9af Update CHANGELOG.md 2015-06-27 22:42:39 +02:00
Julien Fontanet
16c49e965c Update json-rpc-peer to 0.10 (fixes #71, fixes #72 and maybe vatesfr/xo-web#297) 2015-06-26 20:24:04 +02:00
Fabrice Marsaud
dc218cc992 rollingSnap view clean 2015-06-26 14:39:42 +02:00
Fabrice Marsaud
c21761d9d4 Merge pull request #289 from vatesfr/scheduler#176
Scheduler#176
2015-06-26 14:24:38 +02:00
Fabrice Marsaud
f29e867441 Merge pull request #66 from vatesfr/marsaud-issue176
Marsaud issue176 schedules/jobs
2015-06-26 14:23:16 +02:00
Fabrice Marsaud
4a5f6d8393 Job scheduler feature 2015-06-26 14:13:38 +02:00
Julien Fontanet
39e3025077 Work around babel/babel#1850. 2015-06-26 14:02:11 +02:00
Fabrice Marsaud
36c0bf06d7 Rolling VM Snapshot scheduling feature 2015-06-26 12:35:02 +02:00
Fabrice Marsaud
ccdab2b083 Fixed VM snapshots pagination 2015-06-26 12:34:35 +02:00
Julien Fontanet
8de2066634 0.4.0 2015-06-26 12:01:51 +02:00
Julien Fontanet
dfc312c092 Various updates. 2015-06-26 11:57:41 +02:00
Julien Fontanet
ce15dbf31b New Collection#unset(). 2015-06-26 11:20:50 +02:00
Julien Fontanet
9ee293816d Properly cast booleans from xen-api. 2015-06-26 10:51:09 +02:00
Fabrice Marsaud
15a8a56807 Fixes service link 2015-06-26 09:47:35 +02:00
Fabrice Marsaud
385d42281b Revert "This code should now be unnecessary."
This reverts commit 5f9cf47003.
2015-06-25 17:29:20 +02:00
Julien Fontanet
b3c1397753 Fix invalid exception in vdi.set(). 2015-06-25 17:02:25 +02:00
Julien Fontanet
93d63538bb vdi.set() supports size as string 2015-06-25 16:34:10 +02:00
Julien Fontanet
09c28d2311 Update source-map-support to 0.3.2. 2015-06-25 14:10:42 +02:00
Julien Fontanet
5b8ed496db Fix disk.create(). 2015-06-25 13:53:42 +02:00
Julien Fontanet
27b4cf743e Work around for dates from XAPI JSON. 2015-06-25 10:32:30 +02:00
Julien Fontanet
95938a65b6 Minor fix. 2015-06-24 17:47:47 +02:00
Julien Fontanet
70780fc4ef New Xapi#ejectCdFromVm(). 2015-06-24 17:46:34 +02:00
Julien Fontanet
21d265d12f Only set the CD drive bootable on VM creation. 2015-06-24 17:30:02 +02:00
Julien Fontanet
788526d6eb disk.create() requires a sr. 2015-06-24 17:02:25 +02:00
Julien Fontanet
a7203e9a17 Xapi#createVdi() use default_SR if necessary. 2015-06-24 16:27:16 +02:00
Julien Fontanet
eff50daae4 Fix CD insertion for HVM VM creation. 2015-06-23 15:34:04 +02:00
Julien Fontanet
b0dc933021 Do not use babel-plugin-closure-elimination. 2015-06-23 15:01:49 +02:00
Julien Fontanet
7612db15e0 Do not use babel-plugin-closure-elimination. 2015-06-23 14:59:29 +02:00
Julien Fontanet
0731ee473d Minor fix. 2015-06-23 14:43:51 +02:00
Julien Fontanet
3a6a76fe19 Prefers position (device) 3 for CD drive. 2015-06-23 14:38:16 +02:00
Julien Fontanet
edb0509194 Minor package.json change. 2015-06-23 14:07:58 +02:00
Julien Fontanet
1806be1fd7 Xapi#_createTask() now returns a ref. 2015-06-23 14:04:54 +02:00
Varchar38
7769f25869 Add delete VM-template 2015-06-23 13:57:59 +02:00
Julien Fontanet
f6e5743f20 Update xen-api to v0.6. 2015-06-23 10:47:34 +02:00
Julien Fontanet
9ef13696d8 0.6.0 2015-06-23 10:39:55 +02:00
Julien Fontanet
c3f635fd12 Ask JSON encoded values to XenApi.
The XML is therefore much faster to parse (3-4 ×).
2015-06-23 10:39:04 +02:00
Julien Fontanet
e3d1380435 0.5.7 2015-06-23 10:38:41 +02:00
Julien Fontanet
1ef6196de6 TODOs. 2015-06-23 10:14:16 +02:00
Julien Fontanet
f83737b538 Make objects immutable. 2015-06-23 09:17:42 +02:00
Julien Fontanet
bb1ea4e4d0 Optimization for empty arrays. 2015-06-23 09:13:43 +02:00
Julien Fontanet
9cb4de2ea8 Inline an only-used-once function. 2015-06-22 23:33:52 +02:00
Julien Fontanet
048cbf60ec Added tested Xen Server versions in README. 2015-06-22 16:23:38 +02:00
Julien Fontanet
36f40b4188 Support Xen Server < 6. 2015-06-22 16:19:32 +02:00
Julien Fontanet
ea1afb260a Update README.md 2015-06-22 14:00:35 +02:00
Julien Fontanet
75ceee23ec Fix attachVdiToVm. 2015-06-22 10:52:56 +02:00
Julien Fontanet
38f2372ee8 Do not use require-tree. 2015-06-22 10:41:36 +02:00
Olivier Lambert
b73ee1f638 Merge pull request #293 from vatesfr/SRViewFix
Fixed VM display on SR view
2015-06-22 10:40:23 +02:00
Fabrice Marsaud
51c2a54179 Fixed VM display on SR view 2015-06-22 10:25:44 +02:00
Julien Fontanet
b58826da6e Merge pull request #70 from vatesfr/vm-create-refactoring
vm.create() refactoring
2015-06-19 16:59:36 +02:00
Julien Fontanet
a3bba92063 Remove duplicate source-map-support. 2015-06-19 15:53:23 +02:00
Julien Fontanet
ebcc6c9341 Remove unused lodash.{find,findkey,size}. 2015-06-19 15:51:22 +02:00
Julien Fontanet
95f765055e Fix invalid session handling. 2015-06-19 15:15:23 +02:00
Julien Fontanet
49aa5ffccc Password can be supplied on the command line. 2015-06-19 15:13:21 +02:00
Varchar38
2c05e606c7 Merge branch 'next-release' of https://github.com/vatesfr/xo-server into next-release 2015-06-18 16:55:08 +02:00
Varchar38
92f1c080c4 Add missing await for async unregisterXenServer 2015-06-18 16:54:00 +02:00
Julien Fontanet
8f79699e84 Xapi#_createVbd() correctly finds a default position. 2015-06-18 16:11:37 +02:00
Julien Fontanet
e7b3e28f76 vm.delete() must not remove unpluggable VDIs. 2015-06-18 16:11:08 +02:00
Julien Fontanet
123677b6c6 Fix isVmHvm(). 2015-06-18 16:10:45 +02:00
Julien Fontanet
f393c7173c vm.create() only one VBD is bootable. 2015-06-18 16:10:32 +02:00
Julien Fontanet
0abfb9f1e4 vm.create() can set the description. 2015-06-18 16:09:59 +02:00
Julien Fontanet
379771a5c1 Remove unused import. 2015-06-18 15:26:31 +02:00
Julien Fontanet
2f4a76b3fa Fix handling when vm.create(installation) is undefined. 2015-06-18 15:18:42 +02:00
Julien Fontanet
7d82e199b7 Fix Xapi#_deleteVdi(). 2015-06-18 15:09:28 +02:00
Julien Fontanet
de693a08ad vm.create() seems to work ok. 2015-06-18 15:09:28 +02:00
Julien Fontanet
923091ca62 Various updates. 2015-06-18 15:09:28 +02:00
Julien Fontanet
cb65ddedb6 Remove problematic _waitObject(). 2015-06-18 15:09:27 +02:00
Julien Fontanet
7aa75539c9 Fix VDIs creation. 2015-06-18 15:09:27 +02:00
Julien Fontanet
a1a7cf59b3 vm.create() returns the new VM id. 2015-06-18 15:09:27 +02:00
Julien Fontanet
f572cb5f3e Test utils.formatXml(). 2015-06-18 15:09:27 +02:00
Julien Fontanet
8f1a31ad13 Fix XML generation. 2015-06-18 15:09:26 +02:00
Julien Fontanet
dcf63e3da2 Typo. 2015-06-18 15:09:26 +02:00
Julien Fontanet
153dca8137 More tolerant parsing of VM-template.disks. 2015-06-18 15:09:26 +02:00
Julien Fontanet
db97787b15 Fix other_config.disks XML generation. 2015-06-18 15:09:26 +02:00
Julien Fontanet
7148fec6e1 Object watchers are never rejected. 2015-06-18 15:09:25 +02:00
Julien Fontanet
db6d48f8ca vm.create() refactoring. 2015-06-18 15:09:25 +02:00
Julien Fontanet
6d87a1a604 Update xen-api to 0.5.6. 2015-06-18 13:42:03 +02:00
Julien Fontanet
d09d3fa80b 0.5.6 2015-06-18 13:40:18 +02:00
Julien Fontanet
4c8cd50643 Better build & tests. 2015-06-18 13:15:27 +02:00
Julien Fontanet
eee72f4f27 Test on both io.js v1 & v2. 2015-06-18 13:13:40 +02:00
Julien Fontanet
5c414fc7b4 Test on both io.js v1 & v2. 2015-06-18 11:05:44 +02:00
Julien Fontanet
127f4446ae Log SIGINT & SIGTERM. 2015-06-18 10:48:40 +02:00
Julien Fontanet
45f6a7cb4d Minor changes. 2015-06-17 17:09:46 +02:00
Julien Fontanet
8866bd8663 Minor code simplification. 2015-06-17 15:53:48 +02:00
Julien Fontanet
3f9c515f1d Better error messages. 2015-06-17 15:39:33 +02:00
Julien Fontanet
e9e0fdae37 Run linter with npm test. 2015-06-16 17:53:47 +02:00
Julien Fontanet
124f7f43ab Minor changes. 2015-06-16 17:53:47 +02:00
Julien Fontanet
27df44bf44 Use more ES6/7 features. 2015-06-16 16:09:40 +02:00
Julien Fontanet
b934a7de6a npm run lint 2015-06-16 16:00:29 +02:00
Julien Fontanet
d521c75085 Minor changes. 2015-06-16 16:00:17 +02:00
Julien Fontanet
5e18b6b878 Improve Babel configuration. 2015-06-16 15:57:12 +02:00
Julien Fontanet
3183ca02b3 Improve tests execution. 2015-06-16 15:56:36 +02:00
Julien Fontanet
60a278490f Fix coding style. 2015-06-16 12:49:22 +02:00
Julien Fontanet
b78e74cdf6 Use a valid SPDX license. 2015-06-16 12:46:58 +02:00
Julien Fontanet
f61a16074b Update deps. 2015-06-16 12:46:11 +02:00
Julien Fontanet
82766d1645 Update README.md 2015-06-16 12:39:54 +02:00
Julien Fontanet
2d71a916a2 Update vinyl to 0.5. 2015-06-15 16:47:56 +02:00
Julien Fontanet
49a49e2a2c Use must instead of chai. 2015-06-15 16:41:11 +02:00
Julien Fontanet
8b9389b468 Fix tests execution on Windows. 2015-06-15 16:27:02 +02:00
Julien Fontanet
ee17336d64 Remove unused import. 2015-06-15 16:24:50 +02:00
Julien Fontanet
5f9cf47003 This code should now be unnecessary. 2015-06-15 15:15:12 +02:00
Julien Fontanet
16b39185dc Fix coding style in gulpfile.js 2015-06-15 14:29:45 +02:00
Julien Fontanet
2b768d2fb5 TODO: an user should be able to delete its tokens. 2015-06-15 13:15:38 +02:00
Julien Fontanet
4fc63010d4 Remove incorrect (and unused) code. 2015-06-15 13:15:24 +02:00
Julien Fontanet
3311ded843 Fix tokens deletion. 2015-06-15 13:15:12 +02:00
Julien Fontanet
6f0410f26e Fix Angular to 1.4.x.
Angular's devs tend to break API on minor versions.
2015-06-15 10:58:18 +02:00
Julien Fontanet
135c2e7a71 Better npm test. 2015-06-12 10:59:36 +02:00
Julien Fontanet
a3a8f600b6 Add Travis CI badge on README. 2015-06-12 10:56:23 +02:00
Olivier Lambert
23643b99e2 remove old permissions for snapshot, convert, clone and set 2015-06-11 14:42:15 +02:00
Julien Fontanet
764a334952 Various updates. 2015-06-11 14:21:47 +02:00
Julien Fontanet
6f163f2d01 Use Xapi#createVirtualInterface in vm.create(). 2015-06-11 13:59:39 +02:00
Julien Fontanet
aae65f8235 Fix CD drive creation in vm.create(). 2015-06-11 13:59:20 +02:00
Julien Fontanet
764ea571eb Fix VIFs creation in vm.create(). 2015-06-11 13:42:33 +02:00
Julien Fontanet
aef719b574 Fix stack traces on Node 0.10. 2015-06-11 13:02:16 +02:00
Julien Fontanet
73e52e625b Build on install to fix tests on Travis CI. 2015-06-11 09:16:50 +02:00
Julien Fontanet
0b86845852 Add Babel plugin for closure elimination (disabled for now). 2015-06-11 08:54:58 +02:00
Julien Fontanet
d5f914bd2f Do not distribute examples & tests. 2015-06-11 08:54:58 +02:00
Julien Fontanet
663c65e42e Babel configuration. 2015-06-11 08:54:58 +02:00
Julien Fontanet
b9de86f96c Minor fix in EditorConfig. 2015-06-11 08:54:58 +02:00
Julien Fontanet
a967588fe1 Travis CI integration. 2015-06-10 17:00:46 +02:00
Julien Fontanet
72e530f062 Do not distribute examples & tests. 2015-06-10 17:00:06 +02:00
Olivier Lambert
bd9c0ffb25 4.1.0 2015-06-10 16:59:17 +02:00
Julien Fontanet
a0b422f99e Also ignore npm-debug.log.* 2015-06-10 16:59:03 +02:00
Julien Fontanet
6b92f30324 Better stack traces in tests and production. 2015-06-10 16:59:03 +02:00
Julien Fontanet
464cfe701c Add Babel plugin for closure elimination (disabled for now). 2015-06-10 16:59:03 +02:00
Olivier Lambert
9d763773cf 4.1.0 2015-06-10 16:58:48 +02:00
Olivier Lambert
070fa03108 4.1.0 2015-06-10 16:32:24 +02:00
Olivier Lambert
540f977146 Update CHANGELOG.md 2015-06-10 16:24:33 +02:00
Olivier Lambert
d16b09d3fc fix issue #287 2015-06-10 16:22:35 +02:00
Olivier Lambert
51abeabb33 fix issue xo-web/#287 2015-06-10 16:22:13 +02:00
Olivier Lambert
6f8a8d3b90 Update CHANGELOG.md 2015-06-10 13:19:02 +02:00
Olivier Lambert
00ef4166c7 fix #286 2015-06-10 10:35:56 +02:00
Olivier Lambert
b88414735e minor style modification for drag'n drop 2015-06-09 13:31:53 +02:00
Fabrice Marsaud
af092fae9b Fixed missing anguler injection 2015-06-09 12:58:11 +02:00
Fabrice Marsaud
b889efc913 migratePool fallback for dragNdrop migration 2015-06-09 12:58:11 +02:00
Fabrice Marsaud
877dd68a6b Final drag style 2015-06-09 12:58:11 +02:00
Fabrice Marsaud
2805a1c7bc A bit of style 2015-06-09 12:58:11 +02:00
Fabrice Marsaud
c5c000ea6f Work in progress 2015-06-09 12:58:11 +02:00
Fabrice Marsaud
673f1072bf Minor fix 2015-06-09 12:58:11 +02:00
Fabrice Marsaud
d0e93b9b9f Drag & drop VM migration in progress 2015-06-09 12:58:11 +02:00
Olivier Lambert
f239088bcb fix #270 2015-06-08 20:49:10 +02:00
Fabrice Marsaud
32642f105c Groups UI enhancement 2015-06-08 16:50:04 +02:00
Fabrice Marsaud
4adaf6d355 Group panel allows ACL suppression, and user search for add 2015-06-08 14:21:09 +02:00
Fabrice Marsaud
291e2a5e40 group: direct user add, without button 2015-06-08 13:34:26 +02:00
Fabrice Marsaud
05bdb56203 Minor code fix 2015-06-08 11:59:29 +02:00
Fabrice Marsaud
cb71df8345 Group view improvements 2015-06-08 11:54:03 +02:00
Olivier Lambert
74b0697da1 4.0.3 2015-06-07 16:11:41 +02:00
Julien Fontanet
0ca409bb22 4.0.3-alpha.2 2015-06-05 18:52:35 +02:00
Julien Fontanet
527cf25d1b Explicitly depends on redis. 2015-06-05 18:50:29 +02:00
Julien Fontanet
a49594e6a5 4.0.3-alpha.1 2015-06-05 18:38:11 +02:00
Julien Fontanet
5cd22b41d6 No longer use fibers. 2015-06-05 18:34:04 +02:00
Julien Fontanet
934949c514 Remove unused dependencies. 2015-06-05 17:42:54 +02:00
Julien Fontanet
cc61e8d334 Require package.json instead of package.
Not using the extension confuses dependency-check.
2015-06-05 17:21:34 +02:00
Julien Fontanet
81be499c49 4.0.3-alpha.0 2015-06-05 16:02:35 +02:00
Julien Fontanet
082aa55566 Disable Babel experiemental transformers. 2015-06-05 15:45:57 +02:00
Julien Fontanet
c783039557 Use julien-f-unzip instead of @julien-f/unzip. 2015-06-05 15:45:49 +02:00
Fabrice Marsaud
c6c5f5188b Group dedicated edit page with acl recap 2015-06-05 15:29:34 +02:00
Julien Fontanet
206dfeb879 Use json-rpc-peer & json-rpc-protocol instead of deprecated @julien-f/json-rpc. 2015-06-05 15:00:08 +02:00
Julien Fontanet
f839e76f4b Show app-conf debug messages. 2015-06-05 15:00:08 +02:00
Julien Fontanet
c67151f922 Disable Babel minification.deadCodeElimination which has issues with Node 0.12. 2015-06-05 12:53:34 +02:00
Julien Fontanet
aedec5de18 Update source-map-support to 0.3. 2015-06-05 12:04:44 +02:00
Fabrice Marsaud
a7b6ca0914 Fix for Issue #272 hide non auth objects 2015-06-04 17:16:49 +02:00
Fabrice Marsaud
30ba062695 Fixes for issue #271 newvm 2015-06-04 09:17:10 +02:00
Fabrice Marsaud
a595af7b3f vm controller clean up 2015-06-03 17:51:57 +02:00
Fabrice Marsaud
b2ee3172d8 console view data behaves ok on browser refresh 2015-06-03 17:45:23 +02:00
Julien Fontanet
3df973a1ea External Babel configuration. 2015-06-03 17:34:50 +02:00
Julien Fontanet
0253031d7f Use standard with babel-eslint. 2015-06-03 17:34:49 +02:00
Fabrice Marsaud
73992ee8e9 console iso-device integration 2015-06-03 17:28:24 +02:00
Fabrice Marsaud
78885fd00a Fixed iso-device bug 2015-06-03 17:27:53 +02:00
Fabrice Marsaud
ce55ac6ccb Reworked iso-device module and integration on vm view 2015-06-03 17:01:30 +02:00
Fabrice Marsaud
8ce0951e5f Fix Issue #271 2015-06-03 14:53:42 +02:00
Julien Fontanet
7788fa9d3e Use standard with babel-eslint. 2015-06-03 09:40:38 +02:00
Julien Fontanet
7f36552c71 Release process. 2015-06-03 09:40:38 +02:00
Olivier Lambert
f4445d4681 4.0.2 2015-06-02 20:33:49 +02:00
Olivier Lambert
e399dfa7e6 fix permissions issues 2015-06-02 18:13:54 +02:00
Fabrice Marsaud
16f9437b29 Solving Issue #269 2015-06-02 15:51:40 +02:00
Julien Fontanet
0beaff718e Update release process. 2015-06-01 16:18:31 +02:00
Olivier Lambert
9b6f37b5d0 add changelog for patch releases 2015-06-01 16:16:08 +02:00
Olivier Lambert
787f95ac3a 4.0.1 2015-06-01 10:45:29 +02:00
Olivier Lambert
3d6d4aea6a 4.0.2 2015-06-01 10:26:34 +02:00
Fabrice Marsaud
d2f35d46d2 Fix for xo-web Issue #264 password not saving 2015-06-01 09:34:56 +02:00
Fabrice Marsaud
2356a21e54 Fix for Issue #264 field resets whil editing users 2015-06-01 09:32:20 +02:00
Olivier Lambert
a55e7ed34f 4.0.1 2015-05-30 18:35:34 +02:00
Fabrice Marsaud
e355e4d35d Fixed xoa-updater-service url 2015-05-30 14:24:57 +02:00
Julien Fontanet
b21d078c5d 4.0.0 2015-05-29 16:14:39 +02:00
Julien Fontanet
6dcaf80f3f 4.0.0 2015-05-29 16:14:34 +02:00
Julien Fontanet
032c3fb856 Merge branch 'next-release' 2015-05-29 16:14:22 +02:00
Julien Fontanet
a465114d36 Remove unused imports & coding style. 2015-05-29 16:11:59 +02:00
Julien Fontanet
bbd79379ce Remove unused import. 2015-05-29 16:11:43 +02:00
Julien Fontanet
07fbcb3488 Various changes. 2015-05-29 16:02:54 +02:00
Julien Fontanet
534fbe1b6e Force Angular 1.4. 2015-05-29 16:02:45 +02:00
Julien Fontanet
f5c9c1ba0e Fix networks on new VM page on first load. 2015-05-29 16:02:15 +02:00
Julien Fontanet
5d5485f569 Fix host patches pagination. 2015-05-29 15:25:09 +02:00
Julien Fontanet
d01d544a0a Remove a fixed FIXME. 2015-05-29 15:23:53 +02:00
Julien Fontanet
01ecd76976 vm.ejectCd() succeed even if the VBD cannot be destroyed. 2015-05-29 15:23:36 +02:00
Julien Fontanet
3d3fa5d18a Work around an Angular issue. 2015-05-29 14:20:05 +02:00
Julien Fontanet
312c41f229 Fix CD handling on VM page. 2015-05-29 14:04:10 +02:00
Fabrice Marsaud
2df1dc9028 Fix disks reordering on VM page. 2015-05-29 13:30:21 +02:00
Olivier Lambert
222f245e63 workaround with ng if 2015-05-29 13:29:52 +02:00
Olivier Lambert
2aa7702aed ng-if breaks the scope, replaced by ng-show 2015-05-29 13:15:16 +02:00
Olivier Lambert
0b185c35c2 restore UUID display 2015-05-29 12:19:41 +02:00
Fabrice Marsaud
48dcec3cc3 Separated user and group managment 2015-05-29 12:11:26 +02:00
Julien Fontanet
26e8ae4bf3 position is now optional for vm.attachDisk(). 2015-05-29 11:55:59 +02:00
Fabrice Marsaud
8567179fa3 reset ACL form after creation 2015-05-29 11:44:29 +02:00
Fabrice Marsaud
79d15ecd7e Sort user/group edit by id to avoid jumps while editing 2015-05-29 11:37:27 +02:00
Fabrice Marsaud
837c7e4bc7 Fix a missing loading anim when creating iSCSI SR 2015-05-29 11:30:51 +02:00
Fabrice Marsaud
2ae7e9920d Fix NFS_ISO missing settings for SR creation 2015-05-29 11:19:41 +02:00
Julien Fontanet
8cf955b674 Minor code simplification. 2015-05-29 10:50:35 +02:00
Julien Fontanet
33f897d43e Fix _gatherConnectedUuids(). 2015-05-29 10:45:32 +02:00
Julien Fontanet
3befdbc93d Fix group.setUsers(). 2015-05-29 10:21:49 +02:00
Olivier Lambert
c91a890d42 add ACLs in objects 2015-05-29 09:35:20 +02:00
Fabrice Marsaud
ddb0946a0d Fixed UI bug on group user add 2015-05-29 08:30:34 +02:00
Fabrice Marsaud
0f5beac4a8 Fix group managment 2015-05-29 00:47:02 +02:00
Fabrice Marsaud
974e2f71f9 Roles added to ACLs 2015-05-28 23:58:36 +02:00
Julien Fontanet
3369ab601a Stupide error -_-". 2015-05-28 23:26:07 +02:00
Fabrice Marsaud
3c427d7e28 acl work in progress 2015-05-28 23:26:03 +02:00
Julien Fontanet
bfe5b71f19 Various updates. 2015-05-28 23:12:32 +02:00
Julien Fontanet
eb25cf65dd acl.getCurrent() handles groups. 2015-05-28 22:42:57 +02:00
Julien Fontanet
aa1ca3be64 Various updates. 2015-05-28 22:32:30 +02:00
Julien Fontanet
a4e03daeee Various updates. 2015-05-28 22:14:20 +02:00
Fabrice Marsaud
0f10c8f5df bugfix on empty groups for settings/user 2015-05-28 21:50:49 +02:00
Julien Fontanet
cbd0b9db1d Users must also linked to their groups. 2015-05-28 20:47:42 +02:00
Olivier Lambert
7840b51f5c Update CHANGELOG.md 2015-05-28 19:27:18 +02:00
Julien Fontanet
621e8e89a5 Implements groups. 2015-05-28 19:26:16 +02:00
Olivier Lambert
6578855182 fix a bug with Other media install 2015-05-28 18:39:52 +02:00
Julien Fontanet
c9eca5ec7e ACLs have a role and existing ACLs are automatically upadted. 2015-05-28 18:08:36 +02:00
Julien Fontanet
05063b76eb Initial role API. 2015-05-28 16:57:11 +02:00
Julien Fontanet
7d1d34d1eb Remove unused code. 2015-05-28 16:56:45 +02:00
Julien Fontanet
58d68497a4 Fixed width icons on ACLs subject selection. 2015-05-28 16:51:39 +02:00
Julien Fontanet
bddcf42a54 Fix access control to different pages. 2015-05-28 16:50:56 +02:00
Julien Fontanet
6318f4e7ac Correctly escape special chars in RegExp. 2015-05-28 16:20:37 +02:00
Julien Fontanet
0c6cced7ee Update xo-lib to 0.7.2. 2015-05-28 15:51:20 +02:00
Julien Fontanet
725f471a6a 0.7.2 2015-05-28 15:36:49 +02:00
Julien Fontanet
0b01a79d9d Implements object.messages. 2015-05-28 15:36:33 +02:00
Julien Fontanet
2653ff6536 Comment currently unused declarations. 2015-05-28 15:36:04 +02:00
Julien Fontanet
0f30cc8e59 Work around linter issue (eslint/espree#136). 2015-05-28 15:35:27 +02:00
Julien Fontanet
e3879cd4d1 Minor style fix. 2015-05-28 15:34:41 +02:00
Julien Fontanet
7a4cdf8688 Fix connection errors handling in Api#connect(). 2015-05-28 15:33:49 +02:00
Julien Fontanet
40423a0547 Set debug to xo:main only in production. 2015-05-28 14:57:04 +02:00
Julien Fontanet
682804b1ad Fix consoles proxy. 2015-05-28 12:45:37 +02:00
Julien Fontanet
790e67866c Fix VM-template.template_info.disks. 2015-05-28 12:25:59 +02:00
Julien Fontanet
925bf47c9e Fix patches on host view. 2015-05-28 12:14:26 +02:00
Julien Fontanet
8472b991ff Only display running tasks on host view. 2015-05-28 12:06:56 +02:00
Julien Fontanet
ed59c32d96 Revert "Use lodash.slice instead of builtin method."
This reverts commit 1aaaee128f.

lodash.slice() incorrectly used on strings.
2015-05-28 11:54:27 +02:00
Julien Fontanet
b1981d7499 Various fixes. 2015-05-28 11:54:23 +02:00
Julien Fontanet
8399edb4dc Fix vm.docker.version. 2015-05-28 11:42:30 +02:00
Julien Fontanet
55a1c27d6d Fix VIF creation. 2015-05-28 11:42:13 +02:00
Julien Fontanet
35bf7dc484 Better message when a object param is not found. 2015-05-28 11:41:51 +02:00
Julien Fontanet
8983dfea57 Various fixes. 2015-05-28 10:58:24 +02:00
Julien Fontanet
5231b9b22b Again: UUID → id. 2015-05-28 10:25:04 +02:00
Julien Fontanet
55846a2314 Fix task.created date formatting. 2015-05-28 10:25:03 +02:00
Julien Fontanet
1c94f5749d Fix logs. 2015-05-28 10:25:03 +02:00
Fabrice Marsaud
90bacd9d31 VM Create Disk panal closes on success 2015-05-28 09:46:45 +02:00
Julien Fontanet
0053cbf782 No more UUID (→ id). 2015-05-27 19:44:28 +02:00
Julien Fontanet
5d120a79e8 Various fixes. 2015-05-27 19:42:31 +02:00
Julien Fontanet
3389569ea0 Various fixes. 2015-05-27 19:35:25 +02:00
Julien Fontanet
f546606de0 Various fixes. 2015-05-27 19:28:21 +02:00
Julien Fontanet
4d3dfa1dca Typo. 2015-05-27 19:27:37 +02:00
Julien Fontanet
fef95b3aae Various fixes. 2015-05-27 19:21:49 +02:00
Julien Fontanet
5ba2b72439 Various fixes. 2015-05-27 18:59:15 +02:00
Olivier Lambert
ac4686125f fix RRD fetching on VM view 2015-05-27 18:49:07 +02:00
Olivier Lambert
fb2ca3bb19 fix CPU parsing error in RRD 2015-05-27 18:43:26 +02:00
Julien Fontanet
c0122aace7 Various fixes. 2015-05-27 18:25:24 +02:00
Julien Fontanet
4bb849f7c9 Updates xo-lib to v0.7.1. 2015-05-27 18:04:11 +02:00
Fabrice Marsaud
c141e92cc4 Group managment for ACLs (Mock. No implementation) 2015-05-27 17:22:07 +02:00
Fabrice Marsaud
21b5e7e701 ACL Panel exposes groups 2015-05-27 17:20:42 +02:00
Julien Fontanet
34a1965497 Fix CoffeeScript indentation. 2015-05-27 17:19:31 +02:00
Julien Fontanet
1701682636 Rename filter: % → percentage. 2015-05-27 17:19:31 +02:00
Julien Fontanet
5d826972f1 Remove unused gulp-coffee. 2015-05-27 17:19:31 +02:00
Julien Fontanet
c92567d4fa 0.5.5 2015-05-27 17:04:04 +02:00
Fabrice Marsaud
2467b336e5 Group managment in settings 2015-05-27 17:03:28 +02:00
Julien Fontanet
1839bf938a 0.7.1 2015-05-27 17:02:25 +02:00
Julien Fontanet
5236441be0 New collection! 2015-05-27 17:00:35 +02:00
Julien Fontanet
4f78414c7f Fixing host view… 2015-05-27 16:58:32 +02:00
Julien Fontanet
4532714bae Fix the tree view. 2015-05-27 16:36:01 +02:00
Olivier Lambert
352c23b0ba Update CHANGELOG.md 2015-05-27 15:25:38 +02:00
Julien Fontanet
8e432ee818 Global stats. 2015-05-27 15:18:49 +02:00
Julien Fontanet
47bb2d24f5 Avoid polluting the local scope in xo-api. 2015-05-27 14:24:55 +02:00
Julien Fontanet
f3fd4c607d Fix race condition in host view. 2015-05-27 14:24:32 +02:00
Julien Fontanet
44d4096a79 Remove a console.log(). 2015-05-27 14:07:14 +02:00
Julien Fontanet
0610ceafdf Remove unused $scope.removeMessage(). 2015-05-27 12:52:01 +02:00
Julien Fontanet
41280c9d38 Various updates. 2015-05-27 12:18:41 +02:00
Olivier Lambert
94620748ab filter IOPS 2015-05-27 10:56:14 +02:00
Julien Fontanet
da70c03845 Use correct HTTP status code
See https://tools.ietf.org/html/rfc7231#section-6.5.10
2015-05-27 10:33:57 +02:00
Olivier Lambert
337eb0f27b remove useless debug 2015-05-26 19:57:10 +02:00
Olivier Lambert
26a63c4baf optimize the stats code 2015-05-26 19:43:51 +02:00
Julien Fontanet
032fcdce40 Fix VDI handling in VM view. 2015-05-26 18:31:47 +02:00
Olivier Lambert
636bacd637 using standard style with a linter show that missing semicolon 2015-05-26 18:09:26 +02:00
Julien Fontanet
8b03890f2a New util extractProperty() and some tests. 2015-05-26 17:59:52 +02:00
Julien Fontanet
df3c76fa72 Remove useless statement. 2015-05-26 16:47:14 +02:00
Julien Fontanet
cea4157402 Perf traces in the CLI. 2015-05-26 16:35:51 +02:00
Julien Fontanet
61731e2c2e Detect blocked event loop. 2015-05-26 11:57:49 +02:00
Olivier Lambert
3f3fbd8bbc Update CHANGELOG.md 2015-05-26 10:48:34 +02:00
Fabrice Marsaud
955e88b4fb Fixed minor jade template error 2015-05-26 09:55:10 +02:00
Julien Fontanet
5c1611c484 @autobind decorator. 2015-05-25 16:50:27 +02:00
Olivier Lambert
5954b552c9 fix patch issue 2015-05-25 15:31:58 +02:00
Julien Fontanet
a502965d19 Fix syntax. 2015-05-25 15:29:42 +02:00
Julien Fontanet
b55764db56 More code in Xapi. 2015-05-25 15:20:59 +02:00
Julien Fontanet
510897f672 Display error stack if available in Xo#_handleHttpRequest(). 2015-05-25 14:56:40 +02:00
Julien Fontanet
2689fd17d0 Correctly forward req & res in Xo#_handleHttpRequest(). 2015-05-25 14:56:06 +02:00
Julien Fontanet
75e3949cec Expose patch UUID. 2015-05-25 14:49:19 +02:00
Julien Fontanet
a7bb4b7104 Check for patch existence in Xapi#_getOrUploadPoolPatch(). 2015-05-25 14:44:15 +02:00
Julien Fontanet
9bcb2ac094 Fix snapshot deletion after VM export. 2015-05-25 12:51:42 +02:00
Julien Fontanet
9ab110277a Do not include conflicting patches in Xapi#listMissingPoolPatchesOnHost(). 2015-05-25 12:03:29 +02:00
Olivier Lambert
d1506bcdae start to work on patches conflicts and dependencies 2015-05-25 11:24:49 +02:00
Julien Fontanet
00c38c96cd Remove now unneeded code. 2015-05-25 10:51:58 +02:00
Julien Fontanet
aaad4c5d20 Fix production build (fix #261). 2015-05-25 10:21:45 +02:00
Julien Fontanet
a24c8526ea CSS sourcemaps only in dev mode! 2015-05-24 19:03:30 +02:00
Julien Fontanet
9798d4ff6a Update deps. 2015-05-24 18:55:30 +02:00
Julien Fontanet
a533535520 Do not include CSS source maps in prod. 2015-05-24 18:47:38 +02:00
Julien Fontanet
badded3aa4 Inline external CSS. 2015-05-24 18:32:50 +02:00
Julien Fontanet
3055e612d4 Source maps for CSS. 2015-05-24 18:18:54 +02:00
Julien Fontanet
525cb1a2b6 Update deps. 2015-05-24 18:10:31 +02:00
Julien Fontanet
5801b29ede Do not crash when the console URL cannot be found. 2015-05-24 16:51:51 +02:00
Julien Fontanet
22ed022787 Updates @julien-f/json-rpc to 0.4.4. 2015-05-24 16:22:38 +02:00
Julien Fontanet
4dd70abc3b Remove a console.log. 2015-05-24 15:50:28 +02:00
Julien Fontanet
2ea4c214df Use more objects views and less the byType index. 2015-05-24 15:49:50 +02:00
Julien Fontanet
f7e7ecf5ae Minor coding style fix. 2015-05-24 15:24:27 +02:00
Julien Fontanet
c116d3f453 Use babel-standard instead of standard. 2015-05-24 15:24:18 +02:00
Julien Fontanet
d9b3d263ae Remove no longer used xo.$running_VMs. 2015-05-24 15:23:01 +02:00
Julien Fontanet
0a0174a79d New objects view: runningVms. 2015-05-24 15:21:14 +02:00
Julien Fontanet
3db031be1b Updates xo-collection to 0.3.2.. 2015-05-24 14:42:56 +02:00
Julien Fontanet
7c54adec9d 0.3.2 2015-05-24 14:41:22 +02:00
Julien Fontanet
68abd91fc2 Api#close() returns a promise. 2015-05-24 14:41:01 +02:00
Julien Fontanet
4d2e42d244 One more Angular work around. 2015-05-24 14:39:48 +02:00
Julien Fontanet
6d3a87fe7d New objects view: runningTasks. 2015-05-24 14:38:53 +02:00
Olivier Lambert
8cfd2cdd79 add host stats fix 2015-05-22 22:11:26 +02:00
Fabrice Marsaud
9e874e076f Stats stop if response exceeds 10 sec 2015-05-22 17:45:38 +02:00
Fabrice Marsaud
28192bf184 Simple x reattempt mode for stats 2015-05-22 17:35:53 +02:00
Julien Fontanet
5a87a6c502 This lib is not ES6! 2015-05-22 16:41:33 +02:00
Julien Fontanet
9a265a0437 New API method: test.wait(). 2015-05-22 16:37:26 +02:00
Julien Fontanet
a54957b4de Use $applyAsync() instead of $apply() for perf. 2015-05-22 15:16:02 +02:00
Julien Fontanet
f4b1a076b7 Better sync with xo-lib. 2015-05-22 15:15:39 +02:00
Julien Fontanet
d8ca15ceb3 Fix objects removal. 2015-05-22 15:12:22 +02:00
Julien Fontanet
a17f718517 Update xo-collection to 0.3.1. 2015-05-22 14:53:52 +02:00
Julien Fontanet
3589dda8ee Remove ugly hack. 2015-05-22 14:52:27 +02:00
Julien Fontanet
21f8e4d55b Remove unused UUID index. 2015-05-22 14:52:19 +02:00
Julien Fontanet
811e0123c9 0.3.1 2015-05-22 14:46:46 +02:00
Julien Fontanet
47c4516060 Index & UniqueIndex: Correctly updates even if the hash has not changed. 2015-05-22 14:46:20 +02:00
Julien Fontanet
27a3296d6e No need to use the UUID index. 2015-05-22 13:10:03 +02:00
Julien Fontanet
1aaaee128f Use lodash.slice instead of builtin method. 2015-05-22 12:12:39 +02:00
Julien Fontanet
15a16a2c35 Remove unnecessary modules. 2015-05-22 12:10:54 +02:00
Julien Fontanet
db23fe5a58 Fix SRs in list view. 2015-05-22 12:06:04 +02:00
Julien Fontanet
620c88b615 Move slice to xo-filters and use lodash.slice. 2015-05-22 12:05:49 +02:00
Julien Fontanet
16450e2133 Remove useless statement. 2015-05-22 11:58:31 +02:00
Julien Fontanet
5678742810 Fix SR editing. 2015-05-22 11:58:19 +02:00
Julien Fontanet
29ce3bd05e Source maps support in the CLI. 2015-05-22 10:38:38 +02:00
Julien Fontanet
b3d58f4f0c Update to xo-collection 0.3. 2015-05-22 10:38:08 +02:00
Julien Fontanet
99f2fb9764 Use views in list page. 2015-05-21 18:27:24 +02:00
Julien Fontanet
d5a3e67dbd Use more xo-collection/View in the tree page. 2015-05-21 17:57:27 +02:00
Julien Fontanet
55ef81f3e7 master-select module. 2015-05-21 17:48:48 +02:00
Julien Fontanet
41699fab1e Use lodash.clonedeep instead of angular.copy. 2015-05-21 17:48:48 +02:00
Julien Fontanet
32a1195157 Always use lodash.foreach. 2015-05-21 17:48:48 +02:00
Olivier Lambert
f53db2ddfa fix a display issue in general panel for VM view 2015-05-21 15:16:26 +02:00
Fabrice Marsaud
e060f9172b Trial handling removal 2015-05-21 11:16:46 +02:00
Fabrice Marsaud
4adef88e61 Minor update message fix 2015-05-21 11:14:26 +02:00
Fabrice Marsaud
d734f2cf89 Fixed host/patches panel 2015-05-21 10:41:35 +02:00
Fabrice Marsaud
3e81d14bd8 First delivery for pagination Issue #221 2015-05-21 09:09:14 +02:00
Olivier Lambert
e88a94d9e0 better UI for registration 2015-05-20 19:40:45 +02:00
Olivier Lambert
f4f16e4e87 updater UI fixes 2015-05-20 18:57:20 +02:00
Olivier Lambert
6268f3a3d9 small improvement for UI in vm creation 2015-05-20 18:00:50 +02:00
Fabrice Marsaud
06e7c8d19a VM logs are paginated 2015-05-20 17:50:46 +02:00
Olivier Lambert
32395232ea nicer vm creation view 2015-05-20 17:49:55 +02:00
Julien Fontanet
65d6ef91ff Fix defaultArgsMapper. 2015-05-20 17:19:41 +02:00
Julien Fontanet
4aecc875d1 Reorganize service. 2015-05-20 17:13:19 +02:00
Fabrice Marsaud
0e649a626c Handle unexisting boot order 2015-05-20 15:04:39 +02:00
Fabrice Marsaud
5fa249b0f3 Minor touch on boot reordering 2015-05-20 14:31:47 +02:00
Julien Fontanet
24ca86aad3 osFamily Angular filter. 2015-05-20 14:26:38 +02:00
Julien Fontanet
8a4f413289 TODO: deleteVms should be integrated in xo.deleteVms(). 2015-05-20 14:26:38 +02:00
Julien Fontanet
6dbad4501d Use ES6 export syntax. 2015-05-20 14:26:38 +02:00
Julien Fontanet
9ab6490fee Typo. 2015-05-20 14:26:38 +02:00
Julien Fontanet
a413efa550 Remove unnecessary values(). 2015-05-20 14:26:38 +02:00
Julien Fontanet
cd337d444c Minor improvement of xoApi.getObject(). 2015-05-20 14:26:38 +02:00
Julien Fontanet
45e1ce0a42 Fix global stats on the tree view. 2015-05-20 14:26:38 +02:00
Fabrice Marsaud
e5ef1e6efe First delivery for Issue #251 2015-05-20 14:05:06 +02:00
Julien Fontanet
b1ce3be3d2 Move consoles in /api/consoles/. 2015-05-20 10:28:52 +02:00
Julien Fontanet
76d551a238 Move consoles in /api/consoles/ 2015-05-20 10:28:22 +02:00
Olivier Lambert
e13ab73a29 stat changes 2015-05-19 21:19:18 +02:00
Julien Fontanet
5467c4b1b8 Fix proxy URLs generation (fix #58). 2015-05-19 18:40:49 +02:00
Fabrice Marsaud
aede952b12 Issue #253 2015-05-19 18:38:14 +02:00
Fabrice Marsaud
acc1476b29 Fixing Issue #250 2015-05-19 18:38:14 +02:00
Fabrice Marsaud
138bf56624 A fix on xoa-updater handling 2015-05-19 18:38:14 +02:00
Julien Fontanet
e48d277440 SPDX valid license. 2015-05-19 17:45:02 +02:00
Julien Fontanet
c608de4183 SPDX valid license. 2015-05-19 17:44:07 +02:00
Julien Fontanet
ccb6c02c31 Use more const. 2015-05-19 17:35:14 +02:00
Julien Fontanet
5cc457b28c Use xo-lib 0.7. 2015-05-19 16:55:54 +02:00
Julien Fontanet
a353b3d40d map Angular filter now based on lodash. 2015-05-19 16:54:10 +02:00
Julien Fontanet
6f7aca8e5b isEmpty Angular filter. 2015-05-19 16:53:50 +02:00
Julien Fontanet
13913334b6 0.7.0 2015-05-19 16:48:19 +02:00
Julien Fontanet
7f60725c88 Make it work with current version of xo-web. 2015-05-19 16:48:03 +02:00
Julien Fontanet
d55fb36182 0.3.0 2015-05-19 16:39:54 +02:00
Julien Fontanet
41205aef20 Work around xo-web bug due to Angular. 2015-05-19 16:38:02 +02:00
Julien Fontanet
aeadbc1d58 Minor standardization. 2015-05-19 16:35:23 +02:00
Julien Fontanet
bd12ade426 UniqueIndex only expose the values of contained items. 2015-05-19 16:34:48 +02:00
Julien Fontanet
92b0d4561e xo-web should only have dev deps. 2015-05-19 15:54:27 +02:00
Julien Fontanet
f9c26089cd Document exceptions. 2015-05-19 15:25:44 +02:00
Julien Fontanet
7ddb57078c Finish event. 2015-05-19 15:25:30 +02:00
Olivier Lambert
ef8b8346dc better UI for host 2015-05-19 14:55:10 +02:00
Fabrice Marsaud
058058a015 Updater rewritten with ws 2015-05-19 14:52:49 +02:00
Julien Fontanet
3e7f1275d8 Remove unnecessary array. 2015-05-19 14:43:16 +02:00
Julien Fontanet
e963938016 Do not attach collection to index if duplicate. 2015-05-19 14:42:11 +02:00
Julien Fontanet
9d1da81557 Remove unnecessary traces. 2015-05-19 13:03:12 +02:00
Julien Fontanet
91f557ac9e TODO: sort proxies by descending prefix length. 2015-05-19 12:59:02 +02:00
Julien Fontanet
452826bd61 Missing token is not a auth provider bug. 2015-05-19 12:58:46 +02:00
Julien Fontanet
84564bb7fb WS proxy forwards the subprotocol. 2015-05-19 12:56:06 +02:00
Julien Fontanet
bf7647c737 WS proxy correctly handle subpaths. 2015-05-19 12:55:46 +02:00
Julien Fontanet
1f98d7e5ec HTTP proxy correctly handle subpaths. 2015-05-19 12:55:35 +02:00
Julien Fontanet
e4486f4c17 Fix send error messages in wsProxy. 2015-05-19 12:31:14 +02:00
Julien Fontanet
65daa23a74 Do not set rejectUnauthorized by default in wsProxy. 2015-05-19 12:27:02 +02:00
Julien Fontanet
523a30afb4 Fix initial user creation (fix #57). 2015-05-19 09:54:57 +02:00
Olivier Lambert
fddba7315a better recap for templates with disks 2015-05-18 20:57:18 +02:00
Olivier Lambert
a5e964ea19 start VM creation from template with disks 2015-05-18 20:39:48 +02:00
Julien Fontanet
3d2152e559 Fix relative URLs (fix #254). 2015-05-18 20:34:46 +02:00
Olivier Lambert
50f9c68c26 add spinner while fetching host stats 2015-05-18 17:13:04 +02:00
Olivier Lambert
b40207b367 start to add stats to host view 2015-05-18 17:13:04 +02:00
Julien Fontanet
6c9305d2b1 Fix unnecessary recompilation of app.js 2015-05-18 16:20:06 +02:00
Julien Fontanet
9fda3c911d Standard code style. 2015-05-18 16:13:36 +02:00
Olivier Lambert
473c3601ef better responsive tree menu for extra small devices 2015-05-18 12:38:38 +02:00
Olivier Lambert
fde8a3720d more responsive settings menu 2015-05-18 12:04:16 +02:00
Julien Fontanet
1d0de4584e Fix session.getUser(). 2015-05-18 11:56:37 +02:00
Julien Fontanet
7aac124407 Forward the upgrade event to connect. 2015-05-18 11:15:29 +02:00
Fabrice Marsaud
13a6d6b458 xoa-updater proxy settings when xoa-updater available 2015-05-18 09:26:39 +02:00
Olivier Lambert
03e8b664ac add host stats 2015-05-17 23:08:16 +02:00
Julien Fontanet
312fcea5f1 Auto links. 2015-05-15 18:08:21 +02:00
Julien Fontanet
66883ae37c Remove discouraged path for the config file from the doc. 2015-05-15 11:47:18 +02:00
Olivier Lambert
29d9ba0446 some UI fixes for VM view 2015-05-15 10:46:57 +02:00
Julien Fontanet
9d05653f5b Use xo-collection. 2015-05-14 17:19:28 +02:00
Julien Fontanet
644ebd0a4f 0.2.1 2015-05-14 17:18:12 +02:00
Julien Fontanet
1033bfcfe5 Add missing files. 2015-05-14 17:16:35 +02:00
Julien Fontanet
2a075d929a Xapi#_setObjectProperties() gets the object type itself. 2015-05-14 15:53:54 +02:00
Fabrice Marsaud
71e271774e Tolerance to xoa-updater missing 2015-05-14 15:45:21 +02:00
Olivier Lambert
c9db49e255 tree view is now compatible with small devices 2015-05-14 15:10:09 +02:00
Olivier Lambert
22f35f0e86 pool view better UI 2015-05-14 15:10:09 +02:00
Julien Fontanet
d93d234c71 Fix Travis badge. 2015-05-14 15:06:27 +02:00
Julien Fontanet
7fe9ae8a04 Document custom props. 2015-05-14 15:04:55 +02:00
Fabrice Marsaud
375f3ac3ac updater loss and reconnection properly handled 2015-05-14 15:03:34 +02:00
Julien Fontanet
87cf1ed7cb All custom properties are read-only and non enumerable. 2015-05-14 14:58:54 +02:00
Julien Fontanet
a0ba5c8a57 Fix auto links for arrays. 2015-05-14 14:58:27 +02:00
Olivier Lambert
b60a02bc34 use ellipsis to compact lines in tables 2015-05-14 14:56:25 +02:00
Julien Fontanet
d7208a15d9 Remove unused dep. 2015-05-14 14:46:06 +02:00
Julien Fontanet
debde0c67a Links do not shadow refs. 2015-05-14 14:39:36 +02:00
Olivier Lambert
5a4d821c98 fix display issue for small devices in vm view 2015-05-14 14:24:14 +02:00
Olivier Lambert
cd0305c71d better UI display for small devices 2015-05-14 14:22:17 +02:00
Olivier Lambert
371459ff5e far better fluid display for host view 2015-05-14 14:15:09 +02:00
Fabrice Marsaud
5a8a7c6a0f A first delivery for trial handling 2015-05-14 13:01:27 +02:00
Fabrice Marsaud
69db541300 Starting to handle trial 2015-05-14 13:01:27 +02:00
Olivier Lambert
94949866ee reduce the warning lenght and add a tooltip 2015-05-13 18:41:51 +02:00
Julien Fontanet
97db55156a $pool should not be enumerable. 2015-05-13 17:29:24 +02:00
Julien Fontanet
9d3477d465 Fix propagation of Xapi errors. 2015-05-13 17:27:22 +02:00
Olivier Lambert
41147483d8 remove old docker method in VM and add the bootOrder method 2015-05-13 15:25:36 +02:00
Julien Fontanet
ca517784ed Fix many errors and styles. 2015-05-13 14:27:14 +02:00
Julien Fontanet
4dd3be1568 ACLs functions moved to Xo. 2015-05-13 12:00:01 +02:00
Julien Fontanet
7412d97bf3 Do not attempt to set up proxies if there are none. 2015-05-13 10:33:00 +02:00
Fabrice Marsaud
ab7b2da83b Mixed missing error import 2015-05-13 10:05:05 +02:00
Julien Fontanet
19e26729a8 Correctly initialize Xo#_httpRequestWatchers. 2015-05-12 18:49:40 +02:00
Julien Fontanet
0101365ebc Configurable proxies. 2015-05-12 18:45:21 +02:00
Julien Fontanet
1f56e63f9c Comments. 2015-05-12 18:24:52 +02:00
Julien Fontanet
883a30c7ad Patch upload reworked. 2015-05-12 17:34:13 +02:00
Julien Fontanet
6e151a9f8b Properties settings moved into xapi.js 2015-05-12 17:08:38 +02:00
Julien Fontanet
321bb299b1 Fix grammar in error message. 2015-05-12 17:03:58 +02:00
Julien Fontanet
2ca18340c7 Remove 2 unused imports. 2015-05-12 14:07:16 +02:00
Julien Fontanet
74d4237913 Fix docker methods. 2015-05-12 12:52:29 +02:00
Fabrice Marsaud
c22b3e7449 Fix : removed a no mùore existing service provider 2015-05-12 10:22:57 +02:00
Fabrice Marsaud
096dde922b Minor fixes 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
00f26d854f updater and register services merged 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
6c8ff1717e bug fix 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
c7288c1d8a No https for update/register 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
2e52fe369d bugfix 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
df3430add5 updating url fix 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
7af848c94b Minor fix 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
f57c462b5f Fix + enhancement 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
6018035908 Update feature fully adapted to xoa-updater and xoa-register 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
c8b0351786 Nice update/register panels 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
26cc812f82 a bit of UI tuning 2015-05-12 10:08:30 +02:00
Olivier Lambert
67f98950e6 ui fixes 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
8ba8537b9f First proto delivery for updating from xo-web 2015-05-12 10:08:30 +02:00
Fabrice Marsaud
a7f05a68e0 UI sketch for updating 2015-05-12 10:08:30 +02:00
Olivier Lambert
a4f9b9208d fix registration 2015-05-09 11:43:21 +02:00
Olivier Lambert
8fd65b7365 replace unregister by deregister 2015-05-09 00:29:16 +02:00
Olivier Lambert
4f4d0bf6aa work in progress. Find where (un)register raise UNKNOWN_XENAPI_PLUGIN_FUNCTION. Because it shouldn't. 2015-05-09 00:26:14 +02:00
Olivier Lambert
a0db228154 better docker UI and border for stats 2015-05-08 19:10:19 +02:00
Olivier Lambert
873e2aed94 enable/disable docker and more robust spec with XML parsing for docker stuff 2015-05-08 19:03:25 +02:00
Olivier Lambert
eec6fabe58 add UI info for Docker enabled VMs 2015-05-08 16:55:02 +02:00
Olivier Lambert
501c038f97 reflect changes done in server 2015-05-08 16:12:42 +02:00
Olivier Lambert
89d485e188 remove typo in id 2015-05-08 16:12:15 +02:00
Julien Fontanet
2e9870014f Fix docker.*() functions export. 2015-05-08 16:02:46 +02:00
Julien Fontanet
528529c0d1 docker.*() methods. 2015-05-08 15:51:53 +02:00
Olivier Lambert
e0a0f717fd add container stuff 2015-05-08 15:37:52 +02:00
Olivier Lambert
9bddec2dfd first Docker attempt 2015-05-08 15:37:30 +02:00
Olivier Lambert
f986487df9 Update README.md 2015-05-07 19:42:34 +02:00
Olivier Lambert
4dd3f7487c Update README.md 2015-05-07 19:41:53 +02:00
Olivier Lambert
99d1cddaa5 fix #245 2015-05-07 19:17:17 +02:00
Olivier Lambert
2158e1a47e Merge branch 'patch' into next-release 2015-05-06 18:44:22 +02:00
Olivier Lambert
059238759a better patch view 2015-05-06 18:21:45 +02:00
Julien Fontanet
031af000e6 Alias Object.create() and Object.defineProperty() for perf. 2015-05-06 18:14:43 +02:00
Julien Fontanet
0512fac3aa Better name for the OpaqueRef regex constant. 2015-05-06 18:14:20 +02:00
Julien Fontanet
99461a70e6 Remove useless $coroutine. 2015-05-06 17:53:36 +02:00
Julien Fontanet
adbbb15a92 Fix possibly long standing bug in Api#call(). 2015-05-06 17:53:20 +02:00
Julien Fontanet
d85a4c9ad4 Fix patch upload! 2015-05-06 17:37:31 +02:00
Julien Fontanet
41baea780a Xapi#_watchTask() unpack the ref if necessary. 2015-05-06 17:23:38 +02:00
Julien Fontanet
a165884bcb Fix debug message. 2015-05-06 17:23:17 +02:00
Julien Fontanet
456adc5d0b Add missing Error class. 2015-05-06 17:22:46 +02:00
Julien Fontanet
cfc42906b9 Add debug traces for patch install. 2015-05-06 16:49:26 +02:00
Julien Fontanet
738d657c8e Fix copy pasta -_-". 2015-05-06 16:19:17 +02:00
Julien Fontanet
a51452ee7c Remove unused var. 2015-05-06 16:13:58 +02:00
Julien Fontanet
5d2a41082a Fix server management due to f*** merge. 2015-05-06 16:06:04 +02:00
Olivier Lambert
8d3ea7548a add a TODO 2015-05-06 16:05:46 +02:00
Olivier Lambert
221b411b63 patch management merged 2015-05-06 16:03:26 +02:00
Julien Fontanet
f9dd00b79b Do not XO & XAPI objects. 2015-05-06 15:36:27 +02:00
Olivier Lambert
898244d04d link pool_patches to a pool 2015-05-06 15:34:57 +02:00
Julien Fontanet
33334830cc Various fixes. 2015-05-06 15:33:09 +02:00
Julien Fontanet
8503350bfd Missing dep (xo-collection). 2015-05-06 15:01:59 +02:00
Julien Fontanet
a4bb2aaf12 Missing file. 2015-05-06 15:01:26 +02:00
Julien Fontanet
da443045bf Merge branch 'patch' into next-release 2015-05-06 14:50:40 +02:00
Julien Fontanet
b9927cd48d pool.installPatch() & host.installPatch(). 2015-05-06 14:33:49 +02:00
Julien Fontanet
4272e8196a Bypass Xapi#objects getter internally for perf. 2015-05-06 14:08:59 +02:00
Julien Fontanet
140f9d05df Code style and comments. 2015-05-06 14:06:25 +02:00
Julien Fontanet
9222733243 Xapi#getObject() 2015-05-06 14:06:17 +02:00
Julien Fontanet
5838c56c4e Xapi#getObjectByRef() and Xapi#getObjectByUuid() 2015-05-06 13:27:59 +02:00
Julien Fontanet
7af3f7e881 Xapi#_getXenUpdates() should be static. 2015-05-06 10:54:28 +02:00
Julien Fontanet
ee81febc89 Fix @debounce to work correctly with multiple instances. 2015-05-06 10:54:10 +02:00
Olivier Lambert
e2c173990f work in progress with pool patches 2015-05-05 19:41:09 +02:00
Julien Fontanet
8146bee846 Upload to pool master. 2015-05-05 19:00:22 +02:00
Julien Fontanet
53e94378ae Correctly handle patch upload error. 2015-05-05 19:00:22 +02:00
Julien Fontanet
8592ead0e3 Missing import. 2015-05-05 19:00:22 +02:00
Olivier Lambert
67699372f2 add url parameter 2015-05-05 18:44:29 +02:00
Julien Fontanet
95a8ced558 Modularize. 2015-05-05 18:42:02 +02:00
Julien Fontanet
ae437be6e7 Memoize Xapi#listMissingHostPatches() 2015-05-05 18:41:47 +02:00
Olivier Lambert
a609a8d5d6 patch system in the host view is OK 2015-05-05 18:32:08 +02:00
Julien Fontanet
1441d9f4ee host.listMissingPatches() & host.installPatchFromUrl(). 2015-05-05 17:06:52 +02:00
Julien Fontanet
1814e0a260 0.5.4 2015-05-05 13:46:03 +02:00
Julien Fontanet
711c5781e6 Export wrapError(). 2015-05-05 13:45:51 +02:00
Julien Fontanet
adeb5c2344 Put high level Xen Server features in dedicated class. 2015-05-05 11:40:25 +02:00
Julien Fontanet
f0b0277b9d Fix Xen error handling (#56). 2015-05-05 10:24:13 +02:00
Julien Fontanet
a688310b95 Remove thisArg param. 2015-05-04 17:34:02 +02:00
Olivier Lambert
c5c2afddc2 UI fixes 2015-05-02 19:22:13 +02:00
Olivier Lambert
409d87f210 start to work on update and patching 2015-05-02 18:15:44 +02:00
Olivier Lambert
6fb5fb63e7 allow to patch one host only and not the whole pool 2015-05-02 18:14:50 +02:00
Olivier Lambert
5330cc5ae9 fix a typo 2015-05-02 14:04:14 +02:00
Julien Fontanet
bcc2244fdb Various updates. 2015-04-30 18:31:42 +02:00
Julien Fontanet
ad2de95f32 Various updates. 2015-04-30 17:45:53 +02:00
Julien Fontanet
e3ffc8784e Use shared module instead of custom isNotEmpty(). 2015-04-30 11:45:14 +02:00
Julien Fontanet
bb35fc3801 Fix README title. 2015-04-30 11:44:53 +02:00
Julien Fontanet
c804630576 0.2.0 2015-04-29 18:17:39 +02:00
Julien Fontanet
e5f3ca1623 Initial UniqueIndex. 2015-04-29 17:51:18 +02:00
Olivier Lambert
453dee33ba initial Docker control 2015-04-29 17:27:53 +02:00
Julien Fontanet
0880787d68 new Index() now accepts a computeHash() callback-ish. 2015-04-29 14:33:37 +02:00
Julien Fontanet
cd582e2e3a Rename Index#itemsByHash to Index#items. 2015-04-29 14:12:22 +02:00
Julien Fontanet
aebd9319f5 Comments in Collection#_onUpdate(). 2015-04-29 13:22:36 +02:00
Julien Fontanet
de6cbb0f45 Fix Index#sweep(). 2015-04-29 13:22:36 +02:00
Julien Fontanet
e14dcd0184 Put some utils in their own modules. 2015-04-29 13:22:30 +02:00
Julien Fontanet
17ef653903 0.1.1 2015-04-28 17:10:58 +02:00
Julien Fontanet
f5d5b5efc0 Make View and Index requireable. 2015-04-28 17:10:31 +02:00
Julien Fontanet
59dbee8f28 Minor doc about views. 2015-04-28 17:06:37 +02:00
Julien Fontanet
13f36b3f79 Various code simplifications and fixes. 2015-04-28 15:47:26 +02:00
Julien Fontanet
719b63ee02 Typo. 2015-04-28 14:44:44 +02:00
Julien Fontanet
38a5698f90 Use async functions instead of Bluebird.coroutine(). 2015-04-28 14:36:16 +02:00
Julien Fontanet
4db6971cc4 0.3.2 2015-04-28 14:06:08 +02:00
Julien Fontanet
71482bd06c Correctly build the package. 2015-04-28 14:05:47 +02:00
Julien Fontanet
c3acf8341b 0.3.1 2015-04-28 13:25:03 +02:00
Julien Fontanet
a05b60f48e Remove no-lone-blocks directive which is no longer needed. 2015-04-28 13:06:57 +02:00
Julien Fontanet
8694ecd417 xo: CoffeeScript to ES6 and split in multiple files. 2015-04-28 13:06:26 +02:00
Julien Fontanet
1bc48fbf96 0.1.0 2015-04-27 15:27:12 +02:00
Julien Fontanet
d45348c167 Minor fixes. 2015-04-27 15:09:07 +02:00
Julien Fontanet
22caa0ee66 Initial Index implementation (see #1). 2015-04-27 15:05:02 +02:00
Julien Fontanet
e6e8ccc855 Remove standard from npm test.
Currently broken du to due to eslint/espree#123
2015-04-27 15:04:52 +02:00
Julien Fontanet
d78522f5e1 Comment doc for Collection#getId(). 2015-04-27 12:14:30 +02:00
Julien Fontanet
3da2a618b9 Coding style. 2015-04-27 10:55:22 +02:00
Julien Fontanet
100d007271 3.9.2 2015-04-26 11:29:09 +02:00
Julien Fontanet
a1a764d807 Fix json-rpc dep. 2015-04-26 11:28:53 +02:00
Julien Fontanet
047fa5b2db Fix checkCertificate (thx @wrigby). 2015-04-26 11:16:15 +02:00
Julien Fontanet
6cb30adf5d helpers.spec: CoffeeScript to ES6. 2015-04-24 17:52:05 +02:00
Julien Fontanet
9eb939e38f helpers: CoffeeScript to ES6. 2015-04-24 17:16:43 +02:00
Julien Fontanet
3e26060979 fibers-urils: CoffeeScript to ES6 and tests fixed. 2015-04-24 14:01:12 +02:00
Julien Fontanet
cc60aa7b84 Remove Coffeelint as it is not really used. 2015-04-24 11:23:04 +02:00
Julien Fontanet
c763794ef3 Install json-rpc from the npm repository. 2015-04-24 11:21:15 +02:00
Julien Fontanet
bdfdafaec0 Install json-rpc from the npm repository. 2015-04-24 10:58:49 +02:00
Julien Fontanet
7737dc6b6c Convert last ES5 files to ES6. 2015-04-22 14:28:30 +02:00
Julien Fontanet
1a89465201 Replace AMAP var by const. 2015-04-22 14:10:04 +02:00
Julien Fontanet
7a4dcd52c4 0.3.0 2015-04-21 17:52:07 +02:00
Julien Fontanet
e8e7a92131 Minor README updates. 2015-04-21 17:48:26 +02:00
Julien Fontanet
7e8c2211d8 The REPL waits for promise completion. 2015-04-21 17:20:38 +02:00
Julien Fontanet
99694161e1 The REPL waits for promise completion. 2015-04-21 17:17:00 +02:00
Julien Fontanet
fe3ce45b8e Remove unused dep. 2015-04-21 14:40:12 +02:00
Julien Fontanet
7af0883f08 gulp-sourcemaps is a dev dep. 2015-04-21 14:39:20 +02:00
Julien Fontanet
f48c21b124 Remove unused code. 2015-04-21 14:38:21 +02:00
Julien Fontanet
78baa4b01e Better/simpler styling of the Settings using flexbox. 2015-04-21 12:12:04 +02:00
Julien Fontanet
abc2e74f2c 3.9.1 2015-04-21 11:10:11 +02:00
Julien Fontanet
6130c49b83 Merge branch 'next-release' 2015-04-21 11:10:05 +02:00
Julien Fontanet
b41c66c4af 3.9.1 2015-04-21 11:09:27 +02:00
Julien Fontanet
d6b7388c2e Merge branch 'next-release' 2015-04-21 11:09:20 +02:00
Julien Fontanet
b0dc681d48 Hide link to not implemented Groups page. 2015-04-21 11:04:43 +02:00
Julien Fontanet
c20b460f2d Fix link in ChangeLog. 2015-04-21 11:04:19 +02:00
Julien Fontanet
cd0a46fd7f ChangeLog 2015-04-21 10:53:56 +02:00
Julien Fontanet
0a9c868678 ngAnnotate is broken due to Babel. 2015-04-20 20:17:33 +02:00
Olivier Lambert
027d1e8cb1 notify when connect/disconnect a server 2015-04-20 19:59:11 +02:00
Olivier Lambert
a5c9880318 do not fetch stat if the VM has current operations 2015-04-20 19:59:11 +02:00
Julien Fontanet
433b58511c Fix VM_guest_metrics. 2015-04-20 19:47:58 +02:00
Julien Fontanet
f0858b7d93 0.5.3 2015-04-20 19:14:48 +02:00
Julien Fontanet
3af6c28ab0 Do not swallow all errors. 2015-04-20 19:01:05 +02:00
Julien Fontanet
5c31c7f14c Typo! 2015-04-20 19:00:52 +02:00
Olivier Lambert
b04111c79b add snapshot type for certain VM actions 2015-04-20 18:30:26 +02:00
Olivier Lambert
06ca0079b3 better error message if host unreach 2015-04-20 18:30:02 +02:00
Julien Fontanet
ff53c6b49d 3.9.0 2015-04-20 17:40:09 +02:00
Julien Fontanet
da58458fb7 Merge branch 'next-release' 2015-04-20 17:40:01 +02:00
Julien Fontanet
e09988e1d7 3.9.0 2015-04-20 17:38:44 +02:00
Julien Fontanet
21a1629dfa Merge branch 'next-release' 2015-04-20 17:38:28 +02:00
Julien Fontanet
7644c626c8 ChangeLog 2015-04-20 17:25:32 +02:00
Julien Fontanet
1a21989ad1 Use lodash.includes instead of lodash.contains. 2015-04-20 16:26:14 +02:00
Julien Fontanet
2c91b73016 Update deps. 2015-04-20 16:21:39 +02:00
Julien Fontanet
2610a9c777 0.5.2 2015-04-20 15:19:06 +02:00
Julien Fontanet
58cf611497 Fix this._sessionId. 2015-04-20 15:18:48 +02:00
Julien Fontanet
76d54b8914 Update to make-error v1. 2015-04-20 12:58:46 +02:00
Olivier Lambert
ae54b8eba8 Remove useless notifications for VM import 2015-04-19 17:20:48 +02:00
Julien Fontanet
00f944f3f4 Remove unused import. 2015-04-19 00:42:02 +02:00
Julien Fontanet
1269411771 Add iteration to the README. 2015-04-18 22:33:32 +02:00
Julien Fontanet
d4d8ea6cf2 Collection #getId() renamed to getKey(). 2015-04-18 22:20:57 +02:00
Julien Fontanet
160522c520 Collection iteration more similar to Map. 2015-04-18 22:04:37 +02:00
Julien Fontanet
7024b5ec1b Reorganization of Collection code. 2015-04-18 21:58:17 +02:00
Julien Fontanet
5b020035d6 Collection is iterable. 2015-04-18 21:34:36 +02:00
Julien Fontanet
fcea7fd4bf mkdir -p is more portable. 2015-04-18 19:37:04 +02:00
Julien Fontanet
d22d64f68c Minor fixes. 2015-04-18 19:35:27 +02:00
Julien Fontanet
580ae005f4 Fix some compilation errors. 2015-04-18 19:35:18 +02:00
Julien Fontanet
75ab9d2e8c Use Babel 5. 2015-04-18 19:34:58 +02:00
Julien Fontanet
37e5bcad61 Minor style fixes. 2015-04-18 12:37:02 +02:00
Julien Fontanet
20679a62fd Merge pull request #1 from wrigby/tls_options
Ability to ignore SSL/TLS certs errors and to specify custom CAs.
2015-04-17 21:15:10 +02:00
Julien Fontanet
bb5a5bf2ed Merge pull request #2 from wrigby/fix-osx-build
`mkdir -p` is more portable
2015-04-17 21:02:36 +02:00
Julien Fontanet
c1db993b92 Fix missing quotes. 2015-04-17 16:25:18 +02:00
Julien Fontanet
61631e405b Coding style. 2015-04-17 16:22:23 +02:00
Julien Fontanet
c19916ff1c Add CLI. 2015-04-17 14:05:49 +02:00
Julien Fontanet
6fa2e79c1c Use standard code style. 2015-04-17 13:35:33 +02:00
Julien Fontanet
185e0849b1 0.5.1 2015-04-17 12:04:06 +02:00
Julien Fontanet
f48b9d364b Shebang and executable mode for cli.js 2015-04-17 12:04:01 +02:00
Julien Fontanet
e4f1a7d4c1 0.5.0 2015-04-17 11:58:08 +02:00
Julien Fontanet
e02f19ff67 Typo. 2015-04-17 11:58:05 +02:00
Julien Fontanet
72a2110845 Add CLI. 2015-04-17 10:38:15 +02:00
Julien Fontanet
9baa415249 0.4.0 2015-04-16 16:44:05 +02:00
Julien Fontanet
22b840af14 Add a description. 2015-04-16 16:43:15 +02:00
Julien Fontanet
61f32d89ca Declare Xapi#_pool in the constructor for perf. 2015-04-16 16:34:09 +02:00
Julien Fontanet
3c7da93dfc Xapi#_poolId is no longer used. 2015-04-16 16:33:45 +02:00
Julien Fontanet
5831616fac Merge branch 'linked-objects' 2015-04-16 16:30:46 +02:00
Julien Fontanet
d7b6d9f124 Objects are now linked together!
```javascript
const {pool} = xapi

console.log(pool.master.name_label)
```
2015-04-16 16:22:01 +02:00
Will Rigby
6e7588e9fc Fix npm scripts on OS X
BSD's mkdir doesn't support the long --parents flag.
2015-04-16 01:03:20 -04:00
Will Rigby
03cc8248bc Update documentation 2015-04-16 00:59:29 -04:00
Will Rigby
068df6f2b1 Support specifying path(s) to CA certificate(s)
Wires the 'ca_certificates' configuration option
through to tls.connect's 'ca' option.
2015-04-16 00:48:04 -04:00
Will Rigby
0966ba909b Allow connecting to SSL-secured servers with self-signed certificates
Adds a new configuration parameter ('check_certificate'),
which gets wired up to the rejectUnauthorized option of
tls.connect.
2015-04-16 00:25:55 -04:00
Fabrice Marsaud
47bcaa8659 stat graph tooltip radius fixed 2015-04-15 18:46:16 +02:00
Fabrice Marsaud
6c246768e9 Fixed broken graphs after reboot #228 2015-04-15 18:45:16 +02:00
Julien Fontanet
245978e2b3 0.3.1 2015-04-15 18:27:02 +02:00
Julien Fontanet
3aae60bde9 Better handling of transport call retries. 2015-04-15 18:23:49 +02:00
Olivier Lambert
73dc6fb050 fix URL for source versions 2015-04-15 16:44:33 +02:00
Julien Fontanet
7941a24d51 Force npm test to be successful before committing. 2015-04-15 15:16:28 +02:00
Olivier Lambert
bc75bc199b remove admin permission for stats 2015-04-15 14:19:08 +02:00
Olivier Lambert
a4ced510c6 refresh 10secs only and login page with icons 2015-04-15 13:36:09 +02:00
Julien Fontanet
91d36122eb Rmove unused JSHint conf. 2015-04-15 10:46:25 +02:00
Julien Fontanet
e004ba63f8 Remove unused JSHint conf. 2015-04-15 10:46:09 +02:00
Olivier Lambert
40d9fe873c UI fixes for settings view 2015-04-14 23:36:44 +02:00
Olivier Lambert
d06fe4a7c7 settings view 2015-04-14 18:31:01 +02:00
Julien Fontanet
f234b6a540 Better error message when authentication fails in server.connect(). 2015-04-14 18:15:21 +02:00
Julien Fontanet
36c1e2cc73 Limit tries in case of transport errors (ugly). 2015-04-14 17:57:31 +02:00
Julien Fontanet
4a0a09ba3e Update to latest make-error. 2015-04-14 17:56:51 +02:00
Olivier Lambert
52d71e5c4a refactoring of Settings view. WIP 2015-04-14 17:27:28 +02:00
Julien Fontanet
bff8bfea7b server.add() does not wait for the connection. 2015-04-14 17:01:08 +02:00
Julien Fontanet
48bf0d1942 Do not compact the dev build. 2015-04-14 15:24:52 +02:00
Julien Fontanet
04bbb84845 Typos. 2015-04-14 15:24:28 +02:00
Julien Fontanet
1f30a19566 Improved view example. 2015-04-14 12:18:29 +02:00
Julien Fontanet
51f4578a41 View handles existing items. 2015-04-14 12:18:24 +02:00
Julien Fontanet
311f8cd00f pool.$id not pool.id!! 2015-04-14 11:45:06 +02:00
Julien Fontanet
ed0ab78048 Better error messages in XO#getXAPI(). 2015-04-14 11:40:46 +02:00
Julien Fontanet
bd3954a5f1 Rename index.* to collection.*. 2015-04-14 10:47:47 +02:00
Julien Fontanet
94967add7c Merge branch 'views' 2015-04-14 10:25:49 +02:00
Olivier Lambert
d86c2b64f2 UI fixes in settings page 2015-04-14 00:04:03 +02:00
Julien Fontanet
783ab0b611 Initial view implementation (fix #3). 2015-04-13 20:23:43 +02:00
Olivier Lambert
84449f4e2e UI reworks for setting page. Work in progress 2015-04-13 19:00:43 +02:00
Julien Fontanet
0eec1c1f61 Use standard style. 2015-04-13 18:33:15 +02:00
Julien Fontanet
b4a3b832dc Update to latest xen-api. 2015-04-13 17:47:16 +02:00
Julien Fontanet
04b44cff2b 0.3.0 2015-04-13 17:44:55 +02:00
Julien Fontanet
8309755ee3 Expose session identifier. 2015-04-13 17:44:05 +02:00
Julien Fontanet
8e7830dd7d Minor fixes. 2015-04-13 16:50:00 +02:00
Julien Fontanet
41a75d404c 0.2.1 2015-04-13 16:48:45 +02:00
Julien Fontanet
8eb63de201 Stupid fix -_-". 2015-04-13 16:48:32 +02:00
Julien Fontanet
1dec134a6b 0.2.0 2015-04-13 16:42:58 +02:00
Julien Fontanet
6f6a8e4bb1 Do not require params to be in an array. 2015-04-13 16:42:30 +02:00
Julien Fontanet
d32a18d965 Increment VIF # when creating a VM (fix #229). 2015-04-13 16:27:53 +02:00
Julien Fontanet
7d00d47cb6 Port XAPI code to xen-api. 2015-04-13 16:21:44 +02:00
Julien Fontanet
b0853eb119 ES6 style. 2015-04-13 16:21:44 +02:00
Julien Fontanet
25d29fb389 server: CoffeeScript → ES6. 2015-04-13 16:21:44 +02:00
Julien Fontanet
87d216c578 0.1.1 2015-04-13 16:17:53 +02:00
Julien Fontanet
bb0ee61870 Various fixes. 2015-04-13 16:16:30 +02:00
Julien Fontanet
653a9526f5 0.0.1 2015-04-13 14:54:19 +02:00
Julien Fontanet
34ac4b25af Test and fix #clear(). 2015-04-13 14:53:25 +02:00
Julien Fontanet
c7b7f9236f Default to secure if no protocol. 2015-04-13 14:13:56 +02:00
Julien Fontanet
881779744f 0.1.0 2015-04-13 13:34:31 +02:00
Julien Fontanet
ddf3356b5d Expose the pool object. 2015-04-13 13:27:29 +02:00
Olivier Lambert
ed241ede9d fix force reboot method 2015-04-13 13:12:13 +02:00
Julien Fontanet
94e8f3e2c1 Initial doc. 2015-04-10 17:12:59 +02:00
Julien Fontanet
2c4a7f48d1 Update package.json & README. 2015-04-10 16:49:00 +02:00
Julien Fontanet
af47c23ca1 Swallow any errors in #_watchEvents(). 2015-04-10 16:45:40 +02:00
Julien Fontanet
326a001c57 More log. 2015-04-10 16:41:59 +02:00
Julien Fontanet
fe9e548e89 #connect() & #disconnect(). 2015-04-10 16:41:43 +02:00
Julien Fontanet
e58ef1f436 connected/disconnected events. 2015-04-10 16:41:17 +02:00
Julien Fontanet
f249fa6f65 Minor fixes. 2015-04-10 16:40:45 +02:00
Julien Fontanet
68c6b63c9c Host is slave correctly handled. 2015-04-10 16:00:20 +02:00
Julien Fontanet
a249597225 Skip failing test for now. 2015-04-10 15:36:47 +02:00
Julien Fontanet
4906c677af Remove unused code. 2015-04-10 15:35:39 +02:00
Julien Fontanet
2534a9f14a _fetchObjects() is not necessary. 2015-04-10 15:34:10 +02:00
Julien Fontanet
5488c2bdeb Various updates. 2015-04-10 15:33:39 +02:00
Julien Fontanet
835dbac81a Explicit the license. 2015-04-10 12:06:46 +02:00
Julien Fontanet
e072ff2d77 Update README.md 2015-04-10 11:51:54 +02:00
Julien Fontanet
41dfbc2709 Publish to npm as xo-collection. 2015-04-10 11:41:02 +02:00
Julien Fontanet
04a27d5778 Authentication providers can throw null. 2015-04-10 11:20:35 +02:00
Julien Fontanet
964e461597 Better Collection#_resolveItem(). 2015-04-10 10:51:01 +02:00
Julien Fontanet
ef2eec4c4a Minor build updates. 2015-04-10 10:50:23 +02:00
Julien Fontanet
bf1d76d853 Source map support for tests. 2015-04-10 10:49:25 +02:00
Julien Fontanet
0682cbd554 Test for Collection#touch(). 2015-04-10 10:49:08 +02:00
Julien Fontanet
f5191cdd42 Better error classes. 2015-04-10 10:48:47 +02:00
Olivier Lambert
4d190b91a5 minor UI fix 2015-04-08 20:34:39 +02:00
Olivier Lambert
c4cddca84a UI fixes for graphs and various other minor fixes 2015-04-08 19:38:57 +02:00
Julien Fontanet
b1c73208c5 Do not return this. 2015-04-08 16:33:28 +02:00
Julien Fontanet
ab221a465b Use lodash.foreach instead of native implementation. 2015-04-08 16:32:46 +02:00
Olivier Lambert
bfe9598ce4 ui fixes 2015-04-08 14:38:58 +02:00
Julien Fontanet
4ecfa0477d Optimize Collection#_touch(). 2015-04-08 14:30:16 +02:00
Julien Fontanet
bab2de36ad Tests for events deduplication. 2015-04-08 14:24:07 +02:00
Fabrice Marsaud
3421222c2f Fixed stat tooltip problems 2015-04-08 13:07:43 +02:00
Fabrice Marsaud
3ca95feb7c Stats ok when VM starts/stops/suspends/resumes/reboots 2015-04-08 13:07:42 +02:00
Olivier Lambert
903bc364ba just add xvd before disk letter to have the full disk name 2015-04-08 13:07:42 +02:00
Fabrice Marsaud
16fd498c29 stat icons for fun 2015-04-08 13:07:42 +02:00
Fabrice Marsaud
ca45776739 Trying to handle VM stop. Not satisfiying yet 2015-04-08 13:07:42 +02:00
Fabrice Marsaud
c849f06ce8 Stats are fetched without delay, with a UI message 2015-04-08 13:07:42 +02:00
Fabrice Marsaud
77aa74e9c3 better vm stat refresh implementation 2015-04-08 13:07:42 +02:00
Fabrice Marsaud
8dc0a92c52 fibonacci retries if VM stats fetch fails 2015-04-08 13:07:05 +02:00
Fabrice Marsaud
30b7cfb53d VM stats are not fetched if VM is not running 2015-04-08 13:06:15 +02:00
Olivier Lambert
0caeb71603 minor UI fixes 2015-04-08 13:05:31 +02:00
Fabrice Marsaud
a40ad2eab9 Vm stat graphs can be clicked for closer focus 2015-04-08 13:05:31 +02:00
Fabrice Marsaud
1fba0cd31f Readable time on stat tooltips 2015-04-08 13:04:18 +02:00
Fabrice Marsaud
e6ce672bc5 First delivery for #228 stat graphs 2015-04-08 13:04:18 +02:00
Olivier Lambert
1418f0b697 allow mulitples and variables series 2015-04-08 13:04:18 +02:00
Olivier Lambert
81aa972108 reorg code 2015-04-08 13:04:18 +02:00
Olivier Lambert
c36ac49cca major improvements 2015-04-08 13:04:18 +02:00
Olivier Lambert
5bf069f307 start to work on RRDs 2015-04-08 13:01:54 +02:00
Fabrice Marsaud
70a2067a06 Fixed date in vm stat data 2015-04-08 12:54:26 +02:00
Fabrice Marsaud
4a13c01817 First stat view delivery for #228 2015-04-08 12:54:26 +02:00
Fabrice Marsaud
151c2b573c vm stats code enhancment 2015-04-08 12:53:34 +02:00
Olivier Lambert
4cdb3f4c6a allow variable CPUs number 2015-04-08 12:53:34 +02:00
Olivier Lambert
3cf0384bc5 use a promise 2015-04-08 12:53:34 +02:00
Olivier Lambert
ad2f6ebe93 add npm dependencies 2015-04-08 12:53:34 +02:00
Olivier Lambert
178a429f26 start to work on RRD 2015-04-08 12:52:56 +02:00
Julien Fontanet
f479e914bb #getId() should behave even if the item is null or undefined. 2015-04-08 12:00:52 +02:00
Julien Fontanet
45441653f6 #bufferChanges() → #bufferEvents(). 2015-04-08 11:51:18 +02:00
Julien Fontanet
0303558ae1 Prefer the term of item over entry. 2015-04-08 11:49:25 +02:00
Julien Fontanet
b70e0e3e2b Tests for #add(), #update(), #set() and #remove() with an object. 2015-04-08 11:40:07 +02:00
Julien Fontanet
5e0c4d7b7a Avoid Function#apply() for performance. 2015-04-08 10:50:04 +02:00
Julien Fontanet
6c83308451 Optimize Collection#get(). 2015-04-08 10:48:27 +02:00
Julien Fontanet
eeb898179e Minor simplification of buffer flushing. 2015-04-08 10:42:00 +02:00
Julien Fontanet
0ea662d8fe Replace let by const where possible. 2015-04-08 10:05:41 +02:00
Julien Fontanet
ea3219fa10 Typo. 2015-04-08 10:04:58 +02:00
Julien Fontanet
fb9203d396 Fix doc: unset() → remove(). 2015-04-07 18:49:20 +02:00
Julien Fontanet
23e7542871 Document Collection#all. 2015-04-07 18:15:38 +02:00
Julien Fontanet
a40832dffd Typo. 2015-04-07 18:06:17 +02:00
Julien Fontanet
5ba7493613 Better repo architecture. 2015-04-07 18:01:33 +02:00
Julien Fontanet
e7b406c127 Initial commit. 2015-04-02 18:44:16 +02:00
Fabrice Marsaud
dd1d16f91c Fixes and enhancements 2015-04-02 16:49:40 +02:00
Julien Fontanet
82e2a19749 0.2.0 2015-04-02 16:34:21 +02:00
Julien Fontanet
b73126e6c1 README updates [skip ci]. 2015-04-02 16:34:11 +02:00
Fabrice Marsaud
cbd93f450e Implementation seems ok. Deeper tests to come 2015-04-02 15:32:08 +02:00
Fabrice Marsaud
35c64be3d7 All tests for "simple" buffer 2015-04-02 10:14:32 +02:00
Olivier Lambert
1837d3d291 fixes #225 2015-04-01 21:59:31 +02:00
Olivier Lambert
71194d5b4e use get dedicated call to avoid confusions between UUIDs and Refs 2015-04-01 21:54:34 +02:00
Olivier Lambert
771c530b85 add createNetwork method for issue https://github.com/vatesfr/xo-web/issues/225 2015-04-01 21:29:26 +02:00
Fabrice Marsaud
96ea70c027 Buffer implemented and tested 2015-04-01 18:06:23 +02:00
Julien Fontanet
ea277d0579 Add missing dev dep. 2015-04-01 16:35:51 +02:00
Julien Fontanet
10d7cd1520 Build sources in npm test. 2015-04-01 16:30:51 +02:00
Julien Fontanet
9051322338 Remove erroneous paste. 2015-04-01 16:16:35 +02:00
Julien Fontanet
d26b6103b5 Tweak ESLint. 2015-04-01 16:16:22 +02:00
Julien Fontanet
f2e7963e1f New implementation. 2015-04-01 16:08:40 +02:00
Olivier Lambert
8fe3a788d7 add auto power. Fixes #224 2015-04-01 15:40:46 +02:00
Olivier Lambert
78a6b622fb refactoring of VM auto power 2015-04-01 15:40:08 +02:00
Olivier Lambert
0177bbebe0 autopower VM feature, see https://github.com/vatesfr/xo-web/issues/224 2015-04-01 15:22:25 +02:00
Fabrice Marsaud
a3d7e541d3 Events implemented and tested, without buffering 2015-04-01 15:06:39 +02:00
Olivier Lambert
8deed4a9cd better handling of other_config value 2015-04-01 14:56:33 +02:00
Julien Fontanet
4617025bd4 Travis CI 2015-04-01 10:47:12 +02:00
Julien Fontanet
0693e19605 Unit tests. 2015-04-01 10:47:02 +02:00
Julien Fontanet
62618acfed ES6 & standard style 2015-04-01 10:46:38 +02:00
Julien Fontanet
1feaa43d2e Update license. 2015-04-01 10:45:37 +02:00
Fabrice Marsaud
92d7d61926 Various fixes and enhancements 2015-03-31 17:08:41 +02:00
Fabrice Marsaud
265d77d776 First main methods. No events, no buffer yet 2015-03-31 16:09:05 +02:00
Julien Fontanet
60b2576ce8 Fix #53. 2015-03-30 23:24:50 +02:00
Julien Fontanet
90cc58a8fe Fix authentication providers iteration. 2015-03-30 18:37:41 +02:00
Julien Fontanet
d79f750e30 Add missing files to distribution. 2015-03-30 18:09:36 +02:00
Julien Fontanet
9f9ab01508 Proper compilation phase (fix #50). 2015-03-30 17:58:13 +02:00
Olivier Lambert
c622f9a295 add local LVM SR creation. Fixes #219 2015-03-30 12:02:50 +02:00
Olivier Lambert
4dc89c9082 add local LVM SR creation 2015-03-30 12:02:09 +02:00
Fabrice Marsaud
48d9fde3b6 Left over solution 2015-03-30 09:31:42 +02:00
Olivier Lambert
ba72a48e02 add display of Vgpus and Gpus. Need feedback from Gpus users 2015-03-29 14:25:31 +02:00
Olivier Lambert
500349a8bd start to implement vgpus and pgpus 2015-03-29 14:25:08 +02:00
Olivier Lambert
b1bd74c5b7 initial work on PCI attach 2015-03-29 01:49:02 +01:00
Olivier Lambert
e299f3e510 initial work on PCI attach devices 2015-03-29 01:48:48 +01:00
Fabrice Marsaud
a9ea1a02ed Use let and const 2015-03-27 16:43:43 +01:00
Julien Fontanet
8f3a5780a9 3.8.1 2015-03-27 15:56:37 +01:00
Julien Fontanet
177143b57c Merge branch 'next-release' 2015-03-27 15:56:31 +01:00
Julien Fontanet
36dcfc1517 Missing dep. 2015-03-27 15:56:04 +01:00
Fabrice Marsaud
19cd5c8881 Minor renaming 2015-03-27 15:55:37 +01:00
Fabrice Marsaud
cdb9c661bd A first version without unit tests, but a gross test script 2015-03-27 15:55:37 +01:00
Fabrice Marsaud
c3a01c240b First base 2015-03-27 15:55:37 +01:00
Julien Fontanet
50d8cb0b5d Do not use gulp-plumber in browserify in production.
This can cause problem as `npm run build` no longer return a non-zero
exit code if there was a problem.
2015-03-27 15:53:31 +01:00
Fabrice Marsaud
e2f748e63d Initial commit 2015-03-27 15:51:06 +01:00
Julien Fontanet
c7845c4009 3.8.0 2015-03-27 15:16:04 +01:00
Julien Fontanet
4ab23e4303 Merge branch 'next-release' 2015-03-27 15:15:57 +01:00
Julien Fontanet
6114f4644f 3.8.0 2015-03-27 15:13:15 +01:00
Julien Fontanet
2b42a44bc4 Typo. 2015-03-27 15:10:42 +01:00
Julien Fontanet
225d7501d3 Link ChangeLog to blog post. 2015-03-27 15:10:42 +01:00
Olivier Lambert
ab7af6a254 fix remove all logs in Pool view 2015-03-27 15:01:09 +01:00
Olivier Lambert
968f1027a7 hide VM delete button when the VM is not halted 2015-03-27 15:01:09 +01:00
Julien Fontanet
46258d5481 ChangeLog 2015-03-27 14:59:22 +01:00
Julien Fontanet
eb664404e1 Update proxy-http-request. 2015-03-27 12:51:11 +01:00
Fabrice Marsaud
250eff22b5 Interface creation GUI Fix 2015-03-26 13:38:57 +01:00
Fabrice Marsaud
ec73dca5c4 Order VM/interfaces by # 2015-03-26 13:33:04 +01:00
Fabrice Marsaud
e66e11d9e8 Minor design touch on VM/Interface create 2015-03-26 12:53:22 +01:00
Fabrice Marsaud
61d4f740b0 Network creation for VMs #216. A connection bug remains 2015-03-26 12:45:43 +01:00
Olivier Lambert
370f645cf0 add createInterface in VM object 2015-03-26 00:14:56 +01:00
Olivier Lambert
f93d756190 small UI change in VM view 2015-03-25 23:27:35 +01:00
Julien Fontanet
bd5b18a163 Minor changes. 2015-03-25 17:20:25 +01:00
Olivier Lambert
e93a9ba7ba add destroy task 2015-03-25 17:07:24 +01:00
Olivier Lambert
c51b0c6a41 add destroy task 2015-03-25 17:07:07 +01:00
Olivier Lambert
5e90912b0c remove useless label 2015-03-25 15:50:57 +01:00
Julien Fontanet
d56f6e75f9 Fix host.*(). 2015-03-25 15:22:24 +01:00
Fabrice Marsaud
64a0e2d951 GUI tweaks on VM View 2015-03-25 15:09:36 +01:00
Fabrice Marsaud
76e41067da VM Disk managment ok for #82 #215 2015-03-25 14:09:38 +01:00
Fabrice Marsaud
906a9bda11 CD drive for VMs, attachDisk enhanced 2015-03-25 14:09:38 +01:00
Fabrice Marsaud
340ab06825 Stop using deprecated VDI.$VBD for VDI.$VBDs 2015-03-25 14:09:38 +01:00
Fabrice Marsaud
2fd0a76142 Attach disk is OK 2015-03-25 14:08:41 +01:00
Fabrice Marsaud
e457d95b7e vm.attchDisk first implementation. Various problems lingering 2015-03-25 14:08:40 +01:00
Olivier Lambert
c743348872 add setter for VBD position 2015-03-25 11:26:37 +01:00
Olivier Lambert
578049bfb6 fix wrong case VDI call 2015-03-23 15:56:24 +01:00
Julien Fontanet
564cd37628 Only send objects notifs to authenticated clients (2/2). 2015-03-20 13:37:35 +01:00
Julien Fontanet
60ecf91935 Only send objects notifs to authenticated clients. 2015-03-20 13:22:28 +01:00
Julien Fontanet
7b452e93b2 xo.getAllObjects() requires authentication. 2015-03-20 10:36:00 +01:00
Julien Fontanet
0bc1f7bf8c New disk.create(). 2015-03-19 17:17:03 +01:00
Olivier Lambert
62c2421d85 already implemented in vm with attach disk 2015-03-19 16:41:07 +01:00
Olivier Lambert
f2edf56d02 add method description 2015-03-19 16:27:52 +01:00
Olivier Lambert
376e5aeb45 add VBD create method 2015-03-19 16:23:04 +01:00
Julien Fontanet
3d1c7e0bc1 Fix sr.set(). 2015-03-19 15:18:10 +01:00
Julien Fontanet
a2603f882d Remove unused code in fiber-utils. 2015-03-19 14:31:47 +01:00
Julien Fontanet
274f401d92 Update deps. 2015-03-19 14:21:45 +01:00
Julien Fontanet
0c1dcafc35 Cast model ids to string. 2015-03-19 13:24:05 +01:00
Julien Fontanet
d5108f8007 Remove dead code. 2015-03-19 13:23:42 +01:00
Julien Fontanet
ebeca9aa04 Fix token.create(). 2015-03-19 12:07:38 +01:00
Julien Fontanet
7307d9f7f1 Collection returns either an array of properties or an instance of Model. 2015-03-19 11:32:33 +01:00
Julien Fontanet
eac7cdae1c Fix handling of no password in PasswordAuthenticationProvider. 2015-03-19 11:24:21 +01:00
Julien Fontanet
7e548cb133 Coding style. 2015-03-19 11:23:51 +01:00
Julien Fontanet
0a61512fc7 Clean fiber-utils. 2015-03-19 11:05:30 +01:00
Fabrice Marsaud
e60f009ea2 Human readable tooltips for charts 2015-03-19 10:37:43 +01:00
Olivier Lambert
cc2b660dfc bigger numbers for stats in pool view 2015-03-18 23:27:44 +01:00
Olivier Lambert
b3e264aa33 graph on SR page 2015-03-18 23:23:40 +01:00
Olivier Lambert
857bd4d932 add vCPUs/CPUs graph 2015-03-18 23:14:48 +01:00
Fabrice Marsaud
f784162da8 Tiny chart try integrated in the host view 2015-03-18 20:45:33 +01:00
Julien Fontanet
52fa4f11ac 0.1.2 2015-03-18 18:21:44 +01:00
Julien Fontanet
479f2010a9 Restore session.signOut(). 2015-03-18 18:02:43 +01:00
Julien Fontanet
55796932c4 Better handling of plugin short names + Debug traces. 2015-03-18 17:38:59 +01:00
Julien Fontanet
bfcabd30c5 ldapjs is a production dependency! 2015-03-18 17:33:33 +01:00
Julien Fontanet
095ea470a1 0.1.1 2015-03-18 17:24:59 +01:00
Julien Fontanet
c9b502c72b Use YAML in config example. 2015-03-18 17:24:36 +01:00
Julien Fontanet
9390eacb7c Remove ES6 syntax. 2015-03-18 17:23:21 +01:00
Julien Fontanet
f193ce87bf 0.1.0 2015-03-18 17:10:58 +01:00
Julien Fontanet
9267adf79a Create an authenticated user if necessary. 2015-03-18 17:09:00 +01:00
Julien Fontanet
cc2f86cb06 A user can be created without a password. 2015-03-18 17:08:34 +01:00
Julien Fontanet
14c6895135 User permission default to none. 2015-03-18 17:08:19 +01:00
Julien Fontanet
83f6647352 Extend Babel ignore regexp. 2015-03-18 17:07:45 +01:00
Julien Fontanet
f6b3f898de Various fixes. 2015-03-18 17:07:19 +01:00
Julien Fontanet
792ecee399 FIXME: VM restarting is not properly handled in console. 2015-03-18 14:17:45 +01:00
Julien Fontanet
93a1ef6bdb session.getUser() description. 2015-03-18 14:16:59 +01:00
Julien Fontanet
62607b16f8 session.signIn() 2015-03-18 14:16:44 +01:00
Julien Fontanet
ca60376447 Password & Token auth providers. 2015-03-18 14:16:28 +01:00
Julien Fontanet
3cc4b5db79 Initial plugin system (#37). 2015-03-18 14:14:08 +01:00
Julien Fontanet
f8179c83e7 Fix signInWithPassword(). 2015-03-17 19:05:10 +01:00
Julien Fontanet
b2233f61e4 Use proxy-http-request. 2015-03-17 19:05:10 +01:00
Julien Fontanet
a7e2f776e4 Update deps. 2015-03-17 19:05:09 +01:00
Julien Fontanet
de5ba5d0d3 Initial commit. 2015-03-17 16:28:31 +01:00
Olivier Lambert
50d672892c Enable Babel for XO-Server files 2015-03-17 16:07:26 +01:00
Julien Fontanet
6030de647e Removes paths from the build. 2015-03-12 18:19:16 +01:00
Julien Fontanet
0b09d672d2 Close VM console during reboot (fix #208). 2015-03-10 12:42:28 +01:00
Julien Fontanet
d045b1af9b Update to latest novnc-node. (fix #205) 2015-03-10 10:19:07 +01:00
Julien Fontanet
e6154db6e5 API session: CoffeeScript → ES6. 2015-03-09 15:28:20 +01:00
Julien Fontanet
b3a2e21bc8 Always copy args to avoid race conditions. (fix #206) 2015-03-09 13:30:50 +01:00
Julien Fontanet
328ade2f0a 3.7.0 2015-03-07 18:19:42 +01:00
Julien Fontanet
1dd1a25b31 Merge branch 'next-release' 2015-03-07 18:18:43 +01:00
Julien Fontanet
6458c0dde9 More ChangeLog. 2015-03-06 17:22:25 +01:00
Julien Fontanet
4bdcefca8f Fix issues in VMs deletion. 2015-03-06 17:22:15 +01:00
Julien Fontanet
34e8f57f7d 3.7.0 2015-03-06 17:04:46 +01:00
Julien Fontanet
4a8c089fa9 Merge branch 'next-release' 2015-03-06 17:02:38 +01:00
Julien Fontanet
b3aa5ee247 Fix various vm.*() methods. 2015-03-06 16:52:50 +01:00
Julien Fontanet
64bf98a7d3 Fix VM creation. 2015-03-06 16:45:30 +01:00
Julien Fontanet
62399f78b9 ChangeLog. 2015-03-06 16:32:13 +01:00
Julien Fontanet
e8e38beeb8 Fix task.cancel(). 2015-03-06 16:31:49 +01:00
Fabrice Marsaud
26e364a5d6 Issue #179 fixed anticipated submit form protection 2015-03-06 16:29:02 +01:00
Julien Fontanet
de96a96ac6 Use babel instead of legacy 6to5 for the test runner. 2015-03-06 15:32:38 +01:00
Julien Fontanet
ee3ad17163 Minor fix. 2015-03-06 15:31:25 +01:00
Julien Fontanet
fafd8a5d51 Fix sr.reattachIso(). 2015-03-06 15:30:33 +01:00
Julien Fontanet
c5879f17f8 ACLs for task.cancel(). 2015-03-06 15:30:23 +01:00
Julien Fontanet
999cbd314c Fix vif.connect(). 2015-03-06 15:21:15 +01:00
Julien Fontanet
a9d34a223a Fix VM-snapshot authorization. 2015-03-06 15:18:50 +01:00
Julien Fontanet
3381030ed5 Add VIF authorization. 2015-03-06 15:09:35 +01:00
Julien Fontanet
2bacc6cfe8 vm.clone() is only authorized for admins. 2015-03-06 15:09:22 +01:00
Julien Fontanet
973c936514 Fix VBD authorization. 2015-03-06 14:59:39 +01:00
Julien Fontanet
c5121a7fc5 More ACLs. 2015-03-06 14:55:25 +01:00
Julien Fontanet
37bf0f6b53 ACLs for message.*(). 2015-03-06 14:27:42 +01:00
Julien Fontanet
203d51cdbf ACLs for host.*(). 2015-03-06 14:15:17 +01:00
Julien Fontanet
9669d8eb8b ACLs for vm.*(). 2015-03-06 14:10:03 +01:00
Julien Fontanet
1b7571be5b Improve authorizations checking. 2015-03-06 14:10:03 +01:00
Julien Fontanet
614ff2a30e Update to latest http-server-plus. 2015-03-06 14:10:03 +01:00
Julien Fontanet
5b11671997 Snapshots inherit ACLs of their VM. 2015-03-06 14:10:03 +01:00
Julien Fontanet
5158e08901 Properly handle optional params in resolve. 2015-03-06 14:10:03 +01:00
Julien Fontanet
2cb9c7211e Some types do not require explicit authorization. 2015-03-06 14:10:03 +01:00
Olivier Lambert
de011857be minor UI fix 2015-03-06 14:06:38 +01:00
Julien Fontanet
8bc9880951 Do not show admins in ACLs view. 2015-03-06 13:58:58 +01:00
Olivier Lambert
a51cd95c60 simplify ACL view 2015-03-06 13:43:16 +01:00
Olivier Lambert
013ae0e254 first work on Changelog 2015-03-06 12:12:03 +01:00
Olivier Lambert
90acba21ab better error message and removing link to pool sr creation which is not ready yet 2015-03-05 19:15:27 +01:00
Olivier Lambert
130024c18d minor UI fixes in SR add view 2015-03-05 18:45:00 +01:00
Julien Fontanet
02f7e77b48 get() & byTypes only available from xoApi. 2015-03-05 18:13:03 +01:00
Julien Fontanet
a97cd91950 Remove unused permissions. 2015-03-05 17:55:31 +01:00
Julien Fontanet
fd543ca614 Remove an uncessary property declaration. 2015-03-05 17:55:31 +01:00
Julien Fontanet
6330eac5f8 xoApi.get() can optionally check the type. 2015-03-05 17:55:31 +01:00
Fabrice Marsaud
39bc6bff2f sr.reattachIso Integration for Issue #179 2015-03-05 17:22:27 +01:00
Olivier Lambert
24e26c95ff add reattach iso and fix reattach 2015-03-05 16:30:50 +01:00
Julien Fontanet
b8286af8fa Gracefully shutdown on SIGINT & SIGTERM. 2015-03-05 16:15:58 +01:00
Fabrice Marsaud
5012adf8f9 newSR template enhancement 2015-03-05 15:29:30 +01:00
Fabrice Marsaud
a27f91d8f2 lodash.indexof 2015-03-05 15:24:27 +01:00
Fabrice Marsaud
39c206be91 SR Creation code enhanced 2015-03-05 15:01:10 +01:00
Fabrice Marsaud
d19d297ea4 Reattaching feature for Issue #179 2015-03-05 12:06:14 +01:00
Julien Fontanet
cfc8cbd08b Update to latest xo-lib which fixes many issues. 2015-03-04 18:27:18 +01:00
Julien Fontanet
c539dd5570 0.6.3 2015-03-04 18:23:21 +01:00
Julien Fontanet
de76afea99 New implementation of Xo (fixes many issues). 2015-03-04 18:22:11 +01:00
Fabrice Marsaud
32cd323b54 #179 progress 2015-03-04 18:19:50 +01:00
Julien Fontanet
1d3616ae71 Minor changes. 2015-03-04 17:42:22 +01:00
Julien Fontanet
d76cb440f9 Move BackOff to its own module. 2015-03-04 17:42:18 +01:00
Julien Fontanet
7c89d658f7 Fix setScheduler(). 2015-03-04 17:37:12 +01:00
Olivier Lambert
735279c27c ACLization of SR object 2015-03-04 17:36:53 +01:00
Julien Fontanet
292c929117 Split code in to multiple files. 2015-03-04 17:31:14 +01:00
Olivier Lambert
d75be22d1f add reattach for iscsi and nfs 2015-03-04 17:09:57 +01:00
Olivier Lambert
40f1b1c665 add probeNfsExists and fix array 2015-03-04 16:53:56 +01:00
Fabrice Marsaud
e0af48955a Design touch for Issue #179 2015-03-04 16:31:03 +01:00
Fabrice Marsaud
08a334812b Issue #179 Iso SRs 2015-03-04 16:19:11 +01:00
Julien Fontanet
daf42b63c8 Better back off implementation. 2015-03-04 16:18:57 +01:00
Julien Fontanet
07da03618f Use specific version of json-rpc. 2015-03-04 15:51:35 +01:00
Olivier Lambert
56fc278c73 fix bad icon 2015-03-04 15:43:59 +01:00
Fabrice Marsaud
d52f168e09 NFS & iSCSI for Issue #179 2015-03-04 15:42:39 +01:00
Olivier Lambert
d076c875ed fix bad parameter name 2015-03-04 15:28:34 +01:00
Olivier Lambert
771c7fe863 fix serverPath parameter 2015-03-04 15:08:21 +01:00
Julien Fontanet
dda51f2801 Xo::call() should never through synchronously. 2015-03-04 15:01:30 +01:00
Julien Fontanet
25472bcfa6 Correctly catch some errors. 2015-03-04 15:01:03 +01:00
Olivier Lambert
369454c12a return UUID of createIscsi and createNfs created 2015-03-04 14:57:23 +01:00
Olivier Lambert
1784eacf58 ACLization of PIF object 2015-03-04 14:54:12 +01:00
Olivier Lambert
e86f5b3b7c return UUID of createISO created 2015-03-04 14:53:35 +01:00
Julien Fontanet
3c9026ce83 Remove unused log in form in navbar. 2015-03-04 14:39:04 +01:00
Olivier Lambert
80ff6cda04 ACLization of PBD object 2015-03-04 14:24:58 +01:00
Julien Fontanet
67577d8ec5 Workaround floatdrop/gulp-watch#141. 2015-03-04 14:06:49 +01:00
Julien Fontanet
edc5fd9500 Update deps. 2015-03-04 14:06:48 +01:00
Olivier Lambert
8af0272588 new logo included 2015-03-04 14:06:18 +01:00
Julien Fontanet
dff96cfd95 Remove a proxy request after one use. 2015-03-04 14:04:16 +01:00
Julien Fontanet
31d244ef78 Remove an unnecessary import. 2015-03-04 14:04:16 +01:00
Olivier Lambert
c6ec04bcf6 SR management operationnal 2015-03-04 13:49:09 +01:00
Olivier Lambert
8325a84ab2 fix typo in PBD class 2015-03-04 13:48:46 +01:00
Olivier Lambert
793839c7d5 new acl model for import 2015-03-03 19:28:46 +01:00
Olivier Lambert
7ef41adc26 fix minor race condition 2015-03-03 18:22:58 +01:00
Olivier Lambert
a161b63663 VM icon color when pending action 2015-03-03 18:12:10 +01:00
Julien Fontanet
5b65a31d24 Fix race condition on page load. 2015-03-03 17:40:18 +01:00
Julien Fontanet
6f4115d160 Users can only view tasks on hosts they have access too. 2015-03-03 17:39:17 +01:00
Julien Fontanet
b5de07de9d Ensure a clean production build. 2015-03-03 16:16:32 +01:00
Julien Fontanet
5bec09cfdc Remove incorrect npm test command. 2015-03-03 16:16:08 +01:00
Julien Fontanet
c3a8a89c61 Remove unused gulp tasks. 2015-03-03 16:14:14 +01:00
Julien Fontanet
e1a0988440 There are not tests currently. 2015-03-03 16:14:14 +01:00
Olivier Lambert
23cf87dbc0 add requiered parameters 2015-03-03 11:53:04 +01:00
Julien Fontanet
7171de336d Remove an unnecessary import. 2015-03-02 13:31:45 +01:00
Julien Fontanet
e206cfe6d6 Fix acl.get(). 2015-03-02 13:31:17 +01:00
Julien Fontanet
1a71cc9223 Implement method.resolve
API methods can now have some of their objects automatically fetched:

```
method.resolve = {
	vm: ['vm', 'VM'],
};
```

The key is the name of the property with which the object will be
attached in the parameters dictionary, the first entry of the array is
the name of the parameter to use to fetch the object and the second
the expected type/types of the object.

Note that permissions are automatically checked via the ACLs.
2015-03-02 13:27:37 +01:00
Olivier Lambert
115dfb58f6 initial work on new SR 2015-03-02 10:33:59 +01:00
Olivier Lambert
8e689e9e9e do not display the pool menu for a pool without name, i.e single host pool 2015-03-02 10:27:51 +01:00
Olivier Lambert
ff0e79536a minor fix for VM creation page 2015-03-02 10:26:16 +01:00
Olivier Lambert
34c53f5ba4 fix panel for welcome message and add a button for new server 2015-03-02 10:25:17 +01:00
Julien Fontanet
ed6fcf5ae7 Move ensureArray() in utils. 2015-02-27 17:31:11 +01:00
Olivier Lambert
bb31693a4d fix array check 2015-02-27 15:00:02 +01:00
Julien Fontanet
15c5fc7e4b angular 1.3.14 packages have proper exports 2015-02-27 11:34:37 +01:00
Olivier Lambert
d15c8b16f3 add NFS SR 2015-02-26 23:15:58 +01:00
Olivier Lambert
8b9c932b80 add optionnal port 2015-02-26 22:34:52 +01:00
Olivier Lambert
fe7c8679b9 fix new panel style for VM creation 2015-02-26 19:37:00 +01:00
Olivier Lambert
c10e8f5f9a handle correctly iSCSI exists 2015-02-26 15:55:35 +01:00
Olivier Lambert
cd27e43994 iscsi target probe 2015-02-26 14:17:17 +01:00
Olivier Lambert
20614cf64b start to work on iscsi SR 2015-02-26 13:16:44 +01:00
Julien Fontanet
c69c02bcb3 formatXml() & parseXml(). 2015-02-26 12:58:27 +01:00
Julien Fontanet
21b177cbb4 Cannot use arrow function here. (fix #44) 2015-02-26 10:23:23 +01:00
Olivier Lambert
31a7e48768 add methods for SR: createIso, destroy and forget 2015-02-25 18:10:10 +01:00
Julien Fontanet
fd3d60ed7d Fix vdi.migrate() & vdi.delete() parameters. 2015-02-25 17:10:08 +01:00
Julien Fontanet
e2e369a463 Cannot use arrow functions. 2015-02-25 16:08:55 +01:00
Julien Fontanet
0c3304f041 API sr.*() converted to ES6. 2015-02-25 16:07:10 +01:00
Julien Fontanet
0d4b9b4bce Update Api code. 2015-02-24 18:28:56 +01:00
Julien Fontanet
75840445c5 Remove dead code. 2015-02-24 11:34:57 +01:00
Julien Fontanet
2aa7448f76 Improve xoApi.get(). 2015-02-24 11:34:47 +01:00
Julien Fontanet
0f7a0f77f2 Filter out unauthorized objects in list view. 2015-02-24 09:46:30 +01:00
Julien Fontanet
0771ffeb71 Remove a console.log 2015-02-24 09:44:27 +01:00
Julien Fontanet
f410403107 Pages not allowed by ACLs cannot be opened. 2015-02-23 18:39:11 +01:00
Julien Fontanet
1192bf6a87 The identifier of an object is its UUID not its ref. 2015-02-23 18:37:01 +01:00
Julien Fontanet
74e9c86b61 Fix novnc-node commit to avoid issue with last release. 2015-02-23 17:56:43 +01:00
Julien Fontanet
2366a91e8d Shameful typo (fix consoles). 2015-02-23 17:44:46 +01:00
Olivier Lambert
712ea98e41 fix UI in console view 2015-02-23 17:22:28 +01:00
Olivier Lambert
849f5bcd0e more space after logout button in the navbar 2015-02-23 17:03:18 +01:00
Olivier Lambert
22a36dc6a8 minor style fix on ACL page 2015-02-23 16:59:06 +01:00
Olivier Lambert
f02c19f637 panel for login 2015-02-23 16:49:30 +01:00
Julien Fontanet
cafc82c3a5 Remove a console.log. 2015-02-23 16:43:39 +01:00
Julien Fontanet
9bc2f4100f Fix master selector on tree view. 2015-02-23 16:43:39 +01:00
Julien Fontanet
c9735c034f Restore notifications on sign in errors. 2015-02-23 16:43:39 +01:00
Julien Fontanet
a455af71af Use a panel for admin/acls heading. 2015-02-23 16:43:39 +01:00
Olivier Lambert
c5a90545c8 panelization almost finished 2015-02-23 16:33:06 +01:00
Olivier Lambert
7da7904093 fix css bugs 2015-02-23 15:32:16 +01:00
Olivier Lambert
bd7653f682 remove useless style 2015-02-23 15:15:48 +01:00
Olivier Lambert
30335a1ce9 panelization continue 2015-02-23 15:10:50 +01:00
Olivier Lambert
c6f1250abc panelization of object views 2015-02-23 15:05:38 +01:00
Julien Fontanet
4c495f3828 Use variable directly instead of getters. 2015-02-23 14:49:24 +01:00
Julien Fontanet
6ff17d16f0 0.6.2 2015-02-23 14:48:39 +01:00
Julien Fontanet
06b7116692 Never break object refs for Collection:all & Collection:indexes[*]. 2015-02-23 14:48:32 +01:00
Julien Fontanet
3c3ea0f3e1 Fix Collection::data. 2015-02-23 14:47:11 +01:00
Julien Fontanet
c31fbc723d Move ACLs title. 2015-02-23 12:49:34 +01:00
Julien Fontanet
60e11055d2 Update xo-lib to 0.6. 2015-02-23 12:47:27 +01:00
Julien Fontanet
fbbc765460 Task tooltip shown where mouseover anywhere on the task. 2015-02-23 12:47:27 +01:00
Julien Fontanet
db4d6511d6 0.6.1 2015-02-23 12:25:53 +01:00
Julien Fontanet
6e42a67268 Update README. 2015-02-23 12:25:30 +01:00
Julien Fontanet
fd066e5eef Handle credentials directly in constructor. 2015-02-23 12:25:17 +01:00
Julien Fontanet
3dd0c44410 Handle string parameter in Xo constructor. 2015-02-23 12:24:47 +01:00
Julien Fontanet
12b42854e4 Delete useless example. 2015-02-23 12:23:42 +01:00
Julien Fontanet
2fcb6d0c7c 0.6.0 2015-02-23 12:11:53 +01:00
Julien Fontanet
68e863723a Explicitely handle sign in/out. 2015-02-23 12:10:45 +01:00
Olivier Lambert
4e759eaa92 minor UI fixes 2015-02-20 18:07:13 +01:00
Julien Fontanet
60e6dfb8e5 Work around xo-lib issue. 2015-02-20 17:33:37 +01:00
Julien Fontanet
cf33726652 Minor changes. 2015-02-20 17:33:24 +01:00
Julien Fontanet
d0b37d0f9a Update example. 2015-02-20 17:15:00 +01:00
Julien Fontanet
a0a1353445 Update collection API. 2015-02-20 17:14:44 +01:00
Julien Fontanet
eb87c7c591 Improve ACLs page. 2015-02-19 18:24:38 +01:00
Julien Fontanet
902d137d8e Fix page rename. 2015-02-19 18:10:46 +01:00
Julien Fontanet
0a04d43514 Expose all objects. 2015-02-19 17:57:26 +01:00
Julien Fontanet
07e0a68249 Minor changes. 2015-02-19 17:57:02 +01:00
Julien Fontanet
5ede3e18fb Expose current ACLs. 2015-02-19 17:56:52 +01:00
Julien Fontanet
c1e8e0c84c Remove tasks from the list view. 2015-02-19 17:56:32 +01:00
Julien Fontanet
dbb980cd45 Initial ACLs view. 2015-02-19 17:56:18 +01:00
Julien Fontanet
2c4e46c630 Rename acl.* methods and always accept identifiers. 2015-02-19 16:28:16 +01:00
Julien Fontanet
aab7c5c398 Enable strict deps injection. 2015-02-19 14:58:44 +01:00
Julien Fontanet
8916b5db54 Update ui-select. 2015-02-19 14:44:28 +01:00
Julien Fontanet
ed2ce4b999 6to5 has been renamed Babel. 2015-02-19 13:03:51 +01:00
Julien Fontanet
a989e296b0 Missing file. 2015-02-19 12:54:53 +01:00
Julien Fontanet
26648dbcd2 Remove debug trace. 2015-02-19 12:46:44 +01:00
Julien Fontanet
147d759d35 Minor fixes. 2015-02-19 12:45:49 +01:00
Julien Fontanet
f6b07c5609 Remove no longer relevant comment. 2015-02-19 12:40:42 +01:00
Julien Fontanet
29fa7a053f Minor fixes. 2015-02-19 12:40:31 +01:00
Julien Fontanet
f380f245c6 Minor fix. 2015-02-18 16:06:40 +01:00
Julien Fontanet
1824a30cde 6to5 has been renamed Babel. 2015-02-18 14:52:56 +01:00
Julien Fontanet
8ab86fd6bb Remove unused deps. 2015-02-18 14:48:11 +01:00
Julien Fontanet
2c7bdc54c1 Minor fixes. 2015-02-18 13:35:28 +01:00
Julien Fontanet
39b57da42b Remove a debugging trace. 2015-02-18 11:58:59 +01:00
Julien Fontanet
a98a9fd97a Remove unused memory collection implementation. 2015-02-18 11:58:36 +01:00
Julien Fontanet
093a5c1019 Minor fixes. 2015-02-18 11:56:11 +01:00
Julien Fontanet
ba25acaab9 Redis implementation converted to ES6. 2015-02-18 11:53:51 +01:00
Julien Fontanet
9783802370 ACL model and collection. 2015-02-17 18:15:00 +01:00
Julien Fontanet
47bb02ac08 Minor fixes. 2015-02-17 18:14:32 +01:00
Julien Fontanet
1f952d81aa API methods never return undefined. 2015-02-17 18:13:26 +01:00
Julien Fontanet
0632019e44 Collection & Model rewritten in ES6. 2015-02-17 17:01:12 +01:00
Julien Fontanet
0cfbc31241 Do not build on install, only publish. 2015-02-17 15:06:59 +01:00
Julien Fontanet
bc14d0f580 Revert problematic changes. 2015-02-12 18:06:59 +01:00
Julien Fontanet
4bc3998010 Update EditorConfig. 2015-02-12 18:03:50 +01:00
Julien Fontanet
cd9c2d1988 Remove unused $waitEvent(). 2015-02-12 16:54:50 +01:00
Julien Fontanet
5d597c22bf Remove $fiberize in favor of $coroutine. 2015-02-12 16:52:09 +01:00
Julien Fontanet
574144f9b1 Minor fix in tests. 2015-02-12 16:01:40 +01:00
Julien Fontanet
b26bee3524 Fix tests using ES6. 2015-02-12 15:58:44 +01:00
Julien Fontanet
c835cf7829 utils: CoffeeScript → ES6. 2015-02-12 15:58:29 +01:00
Julien Fontanet
a1d819dcb6 Remove unused code. 2015-02-12 14:47:36 +01:00
Julien Fontanet
2234cc9334 Always use let instead of var in ES6. 2015-02-12 14:18:40 +01:00
Julien Fontanet
cabd1506b7 Remove unused import. 2015-02-12 13:45:29 +01:00
Julien Fontanet
a7c2e321bf Remove incorrectly saved dep. 2015-02-12 13:45:16 +01:00
Julien Fontanet
31b75179bd Remove unused dep. 2015-02-12 13:32:19 +01:00
Julien Fontanet
06152f3131 Use graceful-fs. 2015-02-12 12:28:06 +01:00
Julien Fontanet
c82f8c997f Use fs-promise. 2015-02-12 12:27:48 +01:00
Julien Fontanet
6725cc6f61 0.5.2 2015-02-12 12:23:56 +01:00
Julien Fontanet
7e9639052b getCurrentUrl() must not ignore protocol and search parts. 2015-02-12 12:23:35 +01:00
Julien Fontanet
21bd5ba376 fixUrl() properly handles search and hash parts. 2015-02-12 12:22:58 +01:00
Julien Fontanet
f06840f4b8 Main startup file: CoffeeScript → ES6. 2015-02-12 11:54:36 +01:00
Julien Fontanet
11c3d6d056 Async methods must return promises. 2015-02-12 11:40:45 +01:00
Julien Fontanet
814a566845 Update to http-server-plus 0.5. 2015-02-12 11:32:09 +01:00
Julien Fontanet
28d5fb1822 0.5.1 2015-02-11 15:17:51 +01:00
Julien Fontanet
cd3c031df1 Fix back off reset. 2015-02-11 15:17:42 +01:00
Julien Fontanet
a6db0f6fd9 Fix reconnection. 2015-02-11 15:11:23 +01:00
Julien Fontanet
c80f6e8285 Better status during reconnection. 2015-02-11 15:11:03 +01:00
Julien Fontanet
c6d779853a Remove unused require. 2015-02-11 15:10:52 +01:00
Julien Fontanet
1368b747be Update to latest xo-lib. 2015-02-11 15:02:20 +01:00
Julien Fontanet
1b720a504c 0.5.0 2015-02-11 14:40:19 +01:00
Julien Fontanet
72f8854a7a Remove factory. 2015-02-11 14:39:52 +01:00
Julien Fontanet
097d195f00 Disable session.*() from high level API. 2015-02-11 14:16:38 +01:00
Julien Fontanet
807da8f696 Make Xo.connect() private. 2015-02-11 14:13:01 +01:00
Julien Fontanet
a8ca6b6fcb Do not use assign for methods. 2015-02-11 14:11:38 +01:00
Julien Fontanet
85e2e14c81 README update. 2015-02-11 14:11:10 +01:00
Julien Fontanet
92d44f4061 Remove the token if incorrectly encoded (fix #192). 2015-02-11 12:01:32 +01:00
Julien Fontanet
f3bcaf2710 Typo. 2015-02-11 11:05:30 +01:00
Julien Fontanet
f9dba9266f Fix: NoSuchMethod → MethodNotFound. 2015-02-11 11:05:30 +01:00
Julien Fontanet
f280717cb3 Avoid flicker when sorting unnamed pools. 2015-02-11 10:59:26 +01:00
Olivier Lambert
fdb3ff0afd display host hardware manufacturer and model 2015-02-10 23:33:48 +01:00
Olivier Lambert
00f7df3982 add bios strings 2015-02-10 23:32:54 +01:00
Julien Fontanet
5ae45ddd55 Do not clear objects on disconnect. 2015-02-10 20:13:11 +01:00
Julien Fontanet
66dde2fb36 Minor fix. 2015-02-10 19:12:59 +01:00
Julien Fontanet
7ffcd3282b Remove deprecated entry. 2015-02-10 19:06:58 +01:00
Julien Fontanet
4e0a3da01e 0.4.1 2015-02-10 18:57:03 +01:00
Julien Fontanet
541a99bbc5 Fix item removal. 2015-02-10 18:56:32 +01:00
Julien Fontanet
f0a3fb4cbb Fix tasks list in navbar. 2015-02-10 18:27:06 +01:00
Julien Fontanet
416417dfc6 New xoApi service buid on top of xo-lib. 2015-02-10 18:23:47 +01:00
Julien Fontanet
f62008aba4 0.4.0 2015-02-10 18:22:11 +01:00
Julien Fontanet
74f7415f84 Minor changes. 2015-02-10 18:21:53 +01:00
Julien Fontanet
1e1e079b65 Use current location if URL not provided (for browsers). 2015-02-10 18:21:07 +01:00
Julien Fontanet
0b4f808b2d Only emit disconnected event if previously connected. 2015-02-10 18:13:01 +01:00
Julien Fontanet
ae4af99c59 Xo cannot be closed. 2015-02-10 17:53:56 +01:00
Julien Fontanet
0b17556fa4 Auto reconnect. 2015-02-10 17:53:43 +01:00
Julien Fontanet
e6ebc347e5 setScheduler() to ease integration. 2015-02-10 17:53:33 +01:00
Julien Fontanet
f2323a9d19 Various updates. 2015-02-10 17:12:10 +01:00
Julien Fontanet
ce53fe5e31 Fix module exports. 2015-02-10 14:47:16 +01:00
Julien Fontanet
f1d359b3e7 Smart objects collection. 2015-02-10 14:42:56 +01:00
Julien Fontanet
da99f3bc2a High level interface. 2015-02-10 11:40:11 +01:00
Olivier Lambert
acc4130347 running task in the navbar 2015-02-06 13:04:20 +01:00
Julien Fontanet
fec8dd74af Use json-rpc. 2015-02-05 17:05:49 +01:00
Olivier Lambert
69cf3c99f4 better icons used and more sass usage 2015-02-05 16:39:17 +01:00
Julien Fontanet
f598e0d0d5 Not available via Bower. 2015-02-05 14:13:06 +01:00
Julien Fontanet
656d2494b0 Travis CI. 2015-02-05 13:51:50 +01:00
Julien Fontanet
6d07d58f37 0.3.0 2015-02-05 13:45:52 +01:00
Olivier Lambert
3c11444302 add model for cancelling a task 2015-02-05 13:41:10 +01:00
Olivier Lambert
b873a77409 add task cancel 2015-02-05 13:40:49 +01:00
Julien Fontanet
dd5270f620 Minimalist browser example. 2015-02-05 13:33:21 +01:00
Julien Fontanet
216f895953 Update deps. 2015-02-05 13:33:21 +01:00
Julien Fontanet
6acb87b7ea Update Bluebird. 2015-02-05 13:33:21 +01:00
Julien Fontanet
acdccd697c Fix browser compatibility. 2015-02-05 13:33:21 +01:00
Julien Fontanet
cecc4b1f6d Fix secure URL check. 2015-02-05 13:33:21 +01:00
Julien Fontanet
f93f115e13 Better and tested fixUrl(). 2015-02-05 13:33:16 +01:00
Olivier Lambert
dd32ded29b add the task cancel action 2015-02-05 12:16:48 +01:00
Olivier Lambert
effa95fb31 better animation for pending tasks 2015-02-05 12:12:21 +01:00
Olivier Lambert
dc46475e4e display nicelly a task in the host view 2015-02-05 12:05:28 +01:00
Julien Fontanet
debcf086b5 Code style. 2015-02-05 11:57:05 +01:00
Julien Fontanet
c6db974962 Update jshintrc. 2015-02-05 11:55:00 +01:00
Julien Fontanet
e9b0b0c42e ws supports browser natively. 2015-02-05 11:53:27 +01:00
Julien Fontanet
ebee1a02fd Promise is already defined in ES6. 2015-02-05 11:46:56 +01:00
Julien Fontanet
cd5a26398a Fix host.tasks. 2015-02-05 11:18:20 +01:00
Olivier Lambert
8b81de1141 switch RAM usage of host from numbers to a progress bar 2015-02-05 00:37:33 +01:00
Olivier Lambert
cf0fcad340 progress bar on task is in green for the sake of clarity 2015-02-05 00:37:12 +01:00
Olivier Lambert
a769906330 putting tasks in first 2015-02-05 00:05:40 +01:00
Olivier Lambert
d49a935598 another whitespace missing 2015-02-05 00:04:10 +01:00
Olivier Lambert
522d02d529 fix missing whitespaces during html to jade conversion 2015-02-04 23:55:25 +01:00
Olivier Lambert
7246e48428 filter on active tasks 2015-02-04 23:52:43 +01:00
Olivier Lambert
3a847c9115 add tasks display in list view and their progress in live. TODO: filter non success or pending tasks 2015-02-04 23:30:01 +01:00
Julien Fontanet
db3006acaf Use novnc-node instead of no-vnc. 2015-02-04 17:44:29 +01:00
Julien Fontanet
03a7de8fe7 Minor refactoring. 2015-02-04 16:35:07 +01:00
Julien Fontanet
5e8a614d82 Unregister task watchers when finished. 2015-02-04 16:34:17 +01:00
Julien Fontanet
bad601edb1 Main file is now much cleaner. 2015-02-04 16:30:37 +01:00
Julien Fontanet
58297219a8 Update deps. 2015-02-04 15:06:03 +01:00
Julien Fontanet
087b191e5b More traces during startup. 2015-02-04 15:05:56 +01:00
Julien Fontanet
67e0c5af02 Various small changes. 2015-02-04 14:14:53 +01:00
Julien Fontanet
de4468a15a Enable console for hosts. 2015-02-04 13:54:43 +01:00
Julien Fontanet
6658077bda noVnc directive in its own module. 2015-02-04 12:55:47 +01:00
Julien Fontanet
929fce6adb Console: HTTPS support. 2015-02-04 10:21:14 +01:00
Julien Fontanet
cd1fc7308e Consoles: fallback to standard ports if undefined. 2015-02-04 09:58:21 +01:00
Julien Fontanet
b73de087d2 Console proxy (fix vatesfr/xo#14). 2015-02-03 17:39:12 +01:00
Julien Fontanet
c0a5e9fdcc Use the new console proxy. 2015-02-03 17:31:15 +01:00
Julien Fontanet
39fd092055 Update .jshintrc. 2015-02-03 15:38:07 +01:00
Julien Fontanet
a3e6a580d9 Fix incorrect redirection after log in. 2015-02-03 14:46:30 +01:00
Julien Fontanet
dec88bd601 Correctly handle WebSocket send errors. 2015-02-03 14:34:15 +01:00
Julien Fontanet
bc9975baa1 Fix connection double closing. 2015-02-03 14:33:39 +01:00
Julien Fontanet
5d01c9f56a Minor fixes. 2015-02-02 20:07:21 +01:00
Julien Fontanet
9cf291f5a3 More CoffeeScript to ES6. 2015-02-01 22:35:38 +01:00
Julien Fontanet
d8738ae581 Navbar fix (related to the list view. 2015-02-01 15:00:42 +01:00
Julien Fontanet
4a4effe5cf Fix user display in navbar. 2015-02-01 12:51:31 +01:00
Julien Fontanet
a2a2f5541f Minor fix. 2015-02-01 12:47:20 +01:00
Julien Fontanet
499e3c3456 Move ./directives and ./filters to xo-directives and xo-filters. 2015-02-01 11:33:42 +01:00
Julien Fontanet
b66187a24f Main module: CoffeeScript → ES6. 2015-02-01 11:32:26 +01:00
Julien Fontanet
f2615e93b7 Fix weird behavior when not logged in. 2015-01-31 22:43:17 +01:00
Julien Fontanet
c722dc9328 Do not load unused view (new SR). 2015-01-31 22:35:27 +01:00
Julien Fontanet
27a45d6b8c More CoffeeScript → ES6. 2015-01-31 22:34:54 +01:00
Julien Fontanet
46849590c5 Remove completely browserify-shim. 2015-01-31 18:54:01 +01:00
Julien Fontanet
c9e7e4af8f Do not use browserify-shim for angular-animate and angular-cookies. 2015-01-31 18:45:37 +01:00
Julien Fontanet
28887d68c2 delete-vms: CoffeeScript to ES6 2015-01-31 18:32:36 +01:00
Julien Fontanet
3322a90320 Move ./services to xo-services. 2015-01-31 18:30:06 +01:00
Julien Fontanet
3d679d3810 Do not use browserify-shim for angular-notify-toaster. 2015-01-31 18:29:19 +01:00
Julien Fontanet
b52269ab34 Missing deps. 2015-01-30 14:03:32 +01:00
Julien Fontanet
8632cc2ff0 More deps updates. 2015-01-30 13:34:30 +01:00
Julien Fontanet
f42faf8e97 angular-ui-select 2015-01-30 13:31:34 +01:00
Julien Fontanet
567de44508 More (home → index) fixes. 2015-01-30 13:31:06 +01:00
Julien Fontanet
d2d401883e Do not display “starting...” log when --help. 2015-01-30 10:59:50 +01:00
Julien Fontanet
a6d2505211 Fix “tree” state URL. 2015-01-30 10:56:51 +01:00
Julien Fontanet
e3d641b999 Initial admin zone. 2015-01-30 10:55:55 +01:00
Julien Fontanet
d0f88db388 Default state depends from user.permission (tree or list). 2015-01-30 10:54:50 +01:00
Julien Fontanet
14de6b0075 Module home renamed to tree. 2015-01-30 10:53:53 +01:00
Julien Fontanet
0092edc16f Login: Coffee → JS. 2015-01-30 10:38:48 +01:00
Julien Fontanet
04de57cf9f Bootstrap SASS via npm. 2015-01-29 17:31:50 +01:00
Julien Fontanet
d15a46bd15 Various fixes concerning FontAwesome and CSS. 2015-01-29 17:05:59 +01:00
Julien Fontanet
2e992dca67 Downgrade gulp-watch due to a bug. 2015-01-29 16:44:01 +01:00
Julien Fontanet
57dbbaad78 Install UiBootstrap & FontAwesome via npm. 2015-01-29 14:55:15 +01:00
Julien Fontanet
3ec6cd7fee Dont setup livereload server if not used. 2015-01-29 14:54:09 +01:00
Julien Fontanet
3b3ac1688a Update deps. 2015-01-27 18:28:44 +01:00
Julien Fontanet
6bb0ca22d0 Enable ES6. 2015-01-27 18:26:32 +01:00
Julien Fontanet
049e5ac6ac Enable ES6. 2015-01-27 13:08:25 +01:00
Julien Fontanet
2ead2465c8 Update deps. 2015-01-27 13:08:04 +01:00
Julien Fontanet
e157bc7b97 Fix JSON-RPC. 2015-01-24 15:27:33 +01:00
Julien Fontanet
578da0f1a7 Fix JSON-RPC. 2015-01-24 15:27:11 +01:00
Olivier Lambert
e3ce6c05bb remove double entry 2015-01-15 13:59:31 +01:00
Olivier Lambert
730c9fcec8 fix issue #187 2015-01-15 13:55:00 +01:00
Olivier Lambert
8f0dd0b0c6 manage suspend/resume 2015-01-12 14:04:52 +01:00
Olivier Lambert
85925c027a add bulk action for suspend/resume on issue #186 2015-01-12 14:02:57 +01:00
Olivier Lambert
9256e5c3ea manage VM suspend/resume 2015-01-12 13:59:48 +01:00
Julien Fontanet
44f4c3a22d Disable debug data to improve performance. 2015-01-09 18:39:12 +01:00
Julien Fontanet
9e05bc4fad Compatibility with Node 0.11.14. 2015-01-09 18:12:55 +01:00
Julien Fontanet
fa390f4374 Should fix console on IE. 2015-01-08 13:19:47 +01:00
Olivier Lambert
a282acd137 better feedback and actions for hosts consecutive to issues #181 #182 2015-01-08 11:54:34 +01:00
Olivier Lambert
8bd167033f disable host for resolving issue #182 2015-01-08 11:39:37 +01:00
Olivier Lambert
4afcf4900a fix issue #181 about enabling host 2015-01-08 10:35:24 +01:00
Olivier Lambert
4a8c47dffb add available space for live VDI migration like in issue #180 requested 2015-01-07 20:04:38 +01:00
Olivier Lambert
fada93bae3 show available space, fix #180 2015-01-07 16:22:25 +01:00
Julien Fontanet
5d6ae5ce5e Fix SR change detection. 2015-01-05 14:28:03 +01:00
Julien Fontanet
db42fcc583 Fix disk migration in VM page (fix #177). 2015-01-05 12:55:42 +01:00
Olivier Lambert
e904714202 start to address issue https://github.com/vatesfr/xo-web/issues/177 but need to finish the job in the UI 2015-01-02 16:57:16 +01:00
Olivier Lambert
0ca59704f9 fix issue https://github.com/vatesfr/xo-web/issues/178 2015-01-02 16:55:10 +01:00
Olivier Lambert
4cee341ce5 solve the issue https://github.com/vatesfr/xo-web/issues/126 2015-01-02 16:52:22 +01:00
Olivier Lambert
c40192aa46 Update README.md 2014-12-29 20:43:51 +01:00
Olivier Lambert
651748cd4e add VDI migration on another SR 2014-12-27 20:30:35 +01:00
Olivier Lambert
9e8f8357b1 Authorize storage motion to a host with different CPU config 2014-12-19 16:37:56 +01:00
Olivier Lambert
c7865613e1 Fix typo 2014-12-01 12:29:13 +01:00
Julien Fontanet
eb4dfd9dde Update CHANGELOG.md 2014-11-28 20:06:31 +01:00
Julien Fontanet
28eb595a56 3.6.0 2014-11-28 17:23:53 +01:00
Julien Fontanet
3cc4c07fa1 3.6.0 2014-11-28 17:23:41 +01:00
Julien Fontanet
8ed52af203 Merge branch 'next-release' 2014-11-28 17:23:17 +01:00
Julien Fontanet
037091f155 Merge branch 'next-release' 2014-11-28 17:21:29 +01:00
Julien Fontanet
eecffb1782 ChangeLog 3.6 2014-11-28 17:18:23 +01:00
Julien Fontanet
912f5294d6 Adds missing noVNC dep. 2014-11-28 16:36:32 +01:00
Julien Fontanet
f6e410e461 Scroll view to top on page change. 2014-11-28 16:24:37 +01:00
Julien Fontanet
8e9a941b5d Minor comments & coding style. 2014-11-28 15:50:12 +01:00
Olivier Lambert
ddddebfe27 comment non working feature 2014-11-25 18:28:46 +01:00
Olivier Lambert
57930e2c90 remove useless editable panel 2014-11-24 23:29:55 +01:00
Olivier Lambert
81238c78fe indentation fix 2014-11-24 23:27:20 +01:00
Olivier Lambert
7e511313a3 remove interface edit, see issue #84 2014-11-24 23:23:35 +01:00
Olivier Lambert
56f4f1ca03 VDI name/description edition are now working in the SR view 2014-11-24 23:13:39 +01:00
Olivier Lambert
b25ef4bcc3 start to work on SR page for VDI edit 2014-11-24 22:59:56 +01:00
Julien Fontanet
aaeac9c6eb Minor code cleanup. 2014-11-24 22:33:10 +01:00
Julien Fontanet
8bccb82f5d Basic edition of VM disks. 2014-11-24 22:22:53 +01:00
Olivier Lambert
4538a4d33a add pif object 2014-11-24 21:01:51 +01:00
Olivier Lambert
b7437d6a74 add PIF connect/disconnect in host view 2014-11-24 21:01:29 +01:00
Olivier Lambert
a8469456ce add VIF management 2014-11-24 20:42:57 +01:00
Olivier Lambert
fbd2f519e6 VIF connect/disconnect/forget management 2014-11-24 20:42:35 +01:00
Olivier Lambert
e1b3e67b7a pdb management in host view 2014-11-24 19:36:00 +01:00
Olivier Lambert
dd9374fd50 better UI for handling disk management in SR view 2014-11-24 19:07:35 +01:00
Julien Fontanet
6ca25f913a Do not log API/XAPI parameters (might be sensitive). 2014-11-24 18:53:03 +01:00
Julien Fontanet
da74c7df8a Improve API logging. 2014-11-24 18:52:25 +01:00
Olivier Lambert
c1f3b53ed7 add reconnect all host in SR view 2014-11-24 18:44:06 +01:00
Julien Fontanet
278aa87753 Various API cleanup. 2014-11-24 18:39:14 +01:00
Olivier Lambert
0f77294718 add pbd plug and unplug 2014-11-24 18:28:11 +01:00
Olivier Lambert
627b11abde pbd plug and unplug 2014-11-24 18:27:43 +01:00
Julien Fontanet
d68caf85d0 Remove unused data-toggle attrs. 2014-11-24 18:09:39 +01:00
Julien Fontanet
79857a0ed4 Fix dropdowns due to UI Bootstrap breaking change. 2014-11-24 18:05:13 +01:00
Julien Fontanet
1688adbcbe Minor changes. 2014-11-24 17:56:02 +01:00
Julien Fontanet
096e722a74 UI Bootstrap 0.12 (fix #163). 2014-11-24 15:40:09 +01:00
Olivier Lambert
38df160a5e add patches in the data model 2014-11-24 13:55:03 +01:00
Olivier Lambert
9f361e441c add patch list in host view. Fix #156 2014-11-24 13:54:31 +01:00
Olivier Lambert
47a5d39354 fix typo copy/past in host and pool view for logs 2014-11-24 13:53:54 +01:00
Olivier Lambert
ec92b79a3d better UI in various views 2014-11-21 16:12:46 +01:00
Olivier Lambert
a55b6055c2 fix wrong icon usage 2014-11-21 14:29:50 +01:00
Olivier Lambert
de8ad9e08a better UI for actions on disks and interfaces 2014-11-21 14:28:21 +01:00
Olivier Lambert
9bd662d6d1 better UI in VM view 2014-11-21 12:42:23 +01:00
Olivier Lambert
c855fb8c6a add delete all logs in Vm view 2014-11-21 12:42:12 +01:00
Olivier Lambert
07d5c85886 fix issue #167 2014-11-21 11:40:19 +01:00
Olivier Lambert
c9424f2f54 only display clone button if the VM is halted 2014-11-21 11:22:44 +01:00
Olivier Lambert
cdc0887895 get feedback when an action is started with notifications 2014-11-20 17:05:17 +01:00
Olivier Lambert
6b15e866f8 do not display incompatible button with the current vm power state on console View 2014-11-20 16:43:34 +01:00
Olivier Lambert
5192358dce do not display incompatible button with the current vm power state on the VM view 2014-11-20 16:40:57 +01:00
Olivier Lambert
dc61a3307c resolve a snapshot rename bug 2014-11-20 15:21:38 +01:00
Olivier Lambert
5758e1c550 remove useless message 2014-11-20 15:21:08 +01:00
Olivier Lambert
2b5857affe add vbd connect, disconnect and delete 2014-11-19 20:28:44 +01:00
Olivier Lambert
2724f8d3c5 add position to VBD 2014-11-19 20:14:47 +01:00
Olivier Lambert
36e1c1eff0 add vbd connect method 2014-11-19 20:14:29 +01:00
Olivier Lambert
556fadc9f5 WIP: start to work on UI for managing disks 2014-11-19 20:01:13 +01:00
Olivier Lambert
1d04d33981 remove ng init when possible 2014-11-19 20:00:43 +01:00
Olivier Lambert
52b81ccb16 remove ng init call to avoid display problems 2014-11-19 15:49:38 +01:00
Olivier Lambert
58e841e5c7 fix issue #164 2014-11-19 15:40:29 +01:00
Olivier Lambert
81f830fe23 remove bootable because xo-cli can't send boolean 2014-11-19 15:10:41 +01:00
Olivier Lambert
6a42482b92 try to add diskattach feature 2014-11-16 15:35:53 +01:00
Olivier Lambert
8be83c278b first work 2014-11-14 18:28:58 +01:00
Olivier Lambert
30beb81d9a fix SR view with linked VBD 2014-11-14 18:28:07 +01:00
Olivier Lambert
8da6ac7cfb do not display VM address field if there is none 2014-11-14 12:47:58 +01:00
Julien Fontanet
4b7effe3ee Drop IE < 9 support. 2014-11-14 09:50:11 +01:00
Julien Fontanet
ea1ca34644 Update deps + Less Bower packages. 2014-11-14 09:50:11 +01:00
Julien Fontanet
b1dbb47890 Work around UI Router bug. 2014-11-12 13:29:36 +01:00
Julien Fontanet
80d9cd8fa2 Fix Angular version conflict in Bower. 2014-11-12 13:29:34 +01:00
Olivier Lambert
eb82980cbc fix small bug 2014-11-11 13:37:48 +01:00
Olivier Lambert
08a6d28868 modify variable ha name 2014-11-10 17:29:48 +01:00
Olivier Lambert
b50ed96f2e change ha name and fix a ng repeat bug 2014-11-10 17:29:34 +01:00
Olivier Lambert
32f45e9ab7 add HA checkbox and display it if the pool has HA also activated 2014-11-10 17:19:00 +01:00
Olivier Lambert
37afbc8e9d expose higher level call for HA on a VM: enable or disable it 2014-11-10 17:01:47 +01:00
Olivier Lambert
2b2e07e767 display if HA is enabled on a VM 2014-11-10 16:31:36 +01:00
Olivier Lambert
bdb40f801e display on which pool the VM is running if it has a name 2014-11-10 16:31:11 +01:00
Olivier Lambert
12546b3f17 add the possibility to get and set HA for a VM 2014-11-10 16:12:13 +01:00
Julien Fontanet
70821c5d26 Fix XAPI double logins. 2014-11-08 16:23:26 +01:00
Julien Fontanet
2f7725c5a9 Debug traces in XAPI. 2014-11-08 15:03:57 +01:00
Julien Fontanet
a96d26c3bd Handle ETIMEDOUT error. 2014-11-08 14:50:28 +01:00
Olivier Lambert
644a54d6fe fix identation bug causing modal appearing without any reason 2014-11-08 14:11:28 +01:00
Julien Fontanet
28bbe17822 Angular 1.3 jqLite does not provide .get(). 2014-10-25 18:21:20 +02:00
Julien Fontanet
79344c2793 Bower bug again. 2014-10-20 15:46:46 +02:00
Julien Fontanet
da6c18e45b Update deps. 2014-10-20 15:08:46 +02:00
Julien Fontanet
a9f37c9238 Use the make-error package. 2014-10-11 18:11:35 +02:00
Julien Fontanet
de05139dfc Use xdg-basedir instead of xdg. 2014-10-08 09:50:34 +02:00
Olivier Lambert
f0de0514bf display pseudo pools for patching them too 2014-10-01 18:08:27 +02:00
Olivier Lambert
c48429888e use the word create for VM in place of Add 2014-10-01 16:35:30 +02:00
Olivier Lambert
e96486e130 add patch from pool view 2014-10-01 15:45:29 +02:00
Olivier Lambert
239ebcdcb8 pool.patch() also applies the patch. 2014-10-01 15:12:34 +02:00
Olivier Lambert
9e6e62c5e8 Use task watching in vm.export(). 2014-10-01 15:12:04 +02:00
Olivier Lambert
3a0e9f422e Use task ref instead of UUIDs and minor fixes. 2014-10-01 15:11:44 +02:00
Julien Fontanet
ef8beb9310 xo.watchTask(uuid) 2014-10-01 14:27:15 +02:00
Julien Fontanet
260094a666 Add separators in spec. 2014-10-01 14:04:28 +02:00
Julien Fontanet
659f9a8f18 Add generic id field. 2014-10-01 14:04:28 +02:00
Olivier Lambert
cf2e3c8018 add basic patch upload 2014-10-01 14:01:03 +02:00
Olivier Lambert
3058e37d45 add basic patch upload 2014-10-01 14:00:40 +02:00
Julien Fontanet
e88d0579b0 Use nice-pipe instead of own code. 2014-09-29 14:53:11 +02:00
Olivier Lambert
169241875b add import on main view and small fixes 2014-09-26 22:33:53 +02:00
Olivier Lambert
a05901e792 add a small todo 2014-09-26 22:33:16 +02:00
Julien Fontanet
cc0f9acccd Initial VM import. 2014-09-26 18:53:15 +02:00
Julien Fontanet
b36c2f1729 Fix access to pool from VM. 2014-09-26 18:52:31 +02:00
Olivier Lambert
ea6df8b653 add export VM in vm view 2014-09-26 17:31:35 +02:00
Olivier Lambert
0928ec5c4c vm.export() works for running VM 2014-09-26 13:26:03 +02:00
Julien Fontanet
ef843d02c0 vm.snapshot() returns the ref of the new snapshot. 2014-09-26 11:03:46 +02:00
Julien Fontanet
07cdc6bf2f Merge branch 'file-transfer' into next-release 2014-09-25 15:36:04 +02:00
Julien Fontanet
5564e4daa2 Minor update. 2014-09-25 15:23:53 +02:00
Julien Fontanet
4742cd4a03 0.4.0 2014-09-25 14:59:54 +02:00
Julien Fontanet
832c1ef83c Better handling of proxy requests errors. 2014-09-24 20:30:26 +02:00
Julien Fontanet
f5d0fc8672 Put API debug in the correct file. 2014-09-24 19:40:43 +02:00
Julien Fontanet
99985f4fab Better progress stats. 2014-09-24 18:18:17 +02:00
Julien Fontanet
4c0c917fb5 Minor coding style update. 2014-09-24 17:26:18 +02:00
Julien Fontanet
9e5ac261e2 Can proxy a request using a different method. 2014-09-24 17:25:45 +02:00
Julien Fontanet
42bb3b5aca Always use the POST method. 2014-09-24 17:22:44 +02:00
Olivier Lambert
06abfc4337 add PUT method 2014-09-24 17:10:16 +02:00
Olivier Lambert
70bedaf8dd fix by using PUT instead of POST 2014-09-24 17:09:59 +02:00
Olivier Lambert
c9c54200aa minor fix 2014-09-24 14:55:30 +02:00
Julien Fontanet
c5f948099d Parameter names should be more semantic. 2014-09-24 14:14:31 +02:00
Julien Fontanet
a78cb59bc3 Fix operations on VM snapshots (fixes vatesfr/xo-web#147 and fixes vatesfr/xo-cli#5). 2014-09-24 10:43:32 +02:00
Julien Fontanet
fb5ff24747 Minor improvements in proxy request. 2014-09-24 09:36:45 +02:00
Olivier Lambert
e720f6449d add explicit alert when start async actions 2014-09-23 19:58:46 +02:00
Julien Fontanet
38683a7fea Syntax update. 2014-09-23 19:16:11 +02:00
Julien Fontanet
ae1a68500c Remove erroneous require. 2014-09-23 17:57:04 +02:00
Julien Fontanet
578f842eed vm.export. 2014-09-23 17:31:29 +02:00
Julien Fontanet
acb2ede658 Proxy requests. 2014-09-23 17:30:19 +02:00
Julien Fontanet
a7dea95f90 Named functions for better stack traces. 2014-09-22 15:35:12 +02:00
Julien Fontanet
1080562d96 Sort requires. 2014-09-22 15:29:45 +02:00
Julien Fontanet
b8cf5a2347 Use per function lodash modules. 2014-09-22 15:29:28 +02:00
Julien Fontanet
e9706d605a Promise is already defined in ES6. 2014-09-22 15:12:14 +02:00
Julien Fontanet
4b338c56b5 Remove dead code. 2014-09-22 15:11:04 +02:00
Julien Fontanet
05b1bffeef Small fix in token generation. 2014-09-22 13:55:08 +02:00
Julien Fontanet
b330b55054 Various updates. 2014-09-22 12:51:56 +02:00
Julien Fontanet
abb2039312 Minify images for the production build. 2014-09-19 00:06:26 +02:00
Julien Fontanet
9a67e63e9b Proper constructor for XO. 2014-09-15 22:48:35 +02:00
Julien Fontanet
0d629a5385 Minor fix. 2014-09-15 22:47:51 +02:00
Julien Fontanet
4e6a214581 Comments. 2014-09-15 19:17:05 +02:00
Julien Fontanet
333c591771 Parallelization of first connection, logs & fixes. 2014-09-15 19:03:15 +02:00
Julien Fontanet
e6645101ad Minor debug update. 2014-09-15 17:30:37 +02:00
Julien Fontanet
48788986cb Missing file api-errors.js 2014-09-15 16:43:40 +02:00
Julien Fontanet
d400beffb6 Various fixes. 2014-09-15 16:42:43 +02:00
Julien Fontanet
7762135cb1 More debugging logs. 2014-09-15 16:42:30 +02:00
Julien Fontanet
d0d594df69 http-server-plus v0.3.0 2014-09-15 16:01:03 +02:00
Julien Fontanet
ed97f2d786 Code not used due to event-to-promise. 2014-09-15 15:21:57 +02:00
Julien Fontanet
f3a724237f Minor bug fix. 2014-09-15 01:40:27 +02:00
Julien Fontanet
aeb3a308a8 Coding style updates in fiber utils. 2014-09-15 01:26:33 +02:00
Julien Fontanet
62cc97bc44 Rename $promisify() to $coroutine() to better align with Bluebird. 2014-09-14 22:43:59 +02:00
Julien Fontanet
20928c7a7f Typo. 2014-09-14 22:40:51 +02:00
Julien Fontanet
6f4a865604 Proper error classes for API. 2014-09-14 22:40:30 +02:00
Julien Fontanet
7e69c0b7be Sets item id when known. 2014-09-12 20:58:24 +02:00
Julien Fontanet
e7919416d5 WiP. 2014-09-12 20:56:17 +02:00
Julien Fontanet
cf8a512af4 Add coffeelint config. 2014-09-12 20:55:40 +02:00
Julien Fontanet
3efef7bbbb Use lodash.forEach() instead of own code. 2014-09-12 15:58:27 +02:00
Julien Fontanet
65d8e01529 Fix error when deleting users without tokens (fix #34). 2014-09-12 15:40:10 +02:00
Julien Fontanet
379c1bbd3d Add a free slot of server/user in the settings page on saving. 2014-09-12 14:14:37 +02:00
Julien Fontanet
6fd41b15dc Require a password for a new user (fix #143). 2014-09-12 13:37:53 +02:00
Julien Fontanet
b240562356 Require user/password for a new server (fix #144). 2014-09-12 13:37:16 +02:00
Julien Fontanet
44fd81773d Only use unbuffered comments in Jade. 2014-09-12 13:35:57 +02:00
Julien Fontanet
e0dd7a9b4b Minor fixes. 2014-09-12 11:31:53 +02:00
Julien Fontanet
3a32d220dd Missing dep. 2014-09-12 11:29:43 +02:00
Julien Fontanet
5efaf7b23e Underscore.js is no more. 2014-09-12 11:29:36 +02:00
Julien Fontanet
91375a5447 More coding style & lodash. 2014-09-11 18:56:03 +02:00
Julien Fontanet
f6574d346c Coding style updates & use lodash. 2014-09-11 13:48:40 +02:00
Olivier Lambert
6d529a7498 fix method name 2014-09-03 16:36:15 +02:00
Olivier Lambert
b9b29b11d4 add XenStorage motion with automatic parameters 2014-09-03 16:18:55 +02:00
Olivier Lambert
c5e7e0b3fb add XenStorage motion in main view 2014-09-03 16:18:22 +02:00
Olivier Lambert
576bfed15f propose Xen Storage Motion if Xen Motion fails 2014-09-03 16:16:00 +02:00
Julien Fontanet
54d062156d Check object type before using them. 2014-09-02 17:53:34 +02:00
Olivier Lambert
4dc24e48d8 Interpool migration 2014-09-02 17:38:40 +02:00
Julien Fontanet
2471b4b155 Update gulpfile.js. 2014-08-31 18:06:11 +02:00
Julien Fontanet
238339373b Work around UI Router bug. 2014-08-31 17:53:03 +02:00
Olivier Lambert
da0218a3ce change link to pricing for the new website 2014-08-28 19:27:26 +02:00
Olivier Lambert
e44072e5a7 remove old code 2014-08-28 14:21:21 +02:00
Julien Fontanet
5d2bbb61f8 Refresh autofilled values on login. 2014-08-28 14:19:52 +02:00
Julien Fontanet
3a24464c90 Better detection of host.power_state. 2014-08-28 11:42:12 +02:00
Olivier Lambert
96dcd90005 add start host (wol) 2014-08-27 20:27:49 +02:00
Olivier Lambert
f2ad9395fc add start method for h host 2014-08-27 19:17:44 +02:00
Julien Fontanet
61539416e5 Fix invalid session in XAPI connection (should fix #20). 2014-08-27 19:10:45 +02:00
Julien Fontanet
b749122076 Update deps. 2014-08-27 16:01:50 +02:00
Julien Fontanet
ccde455de1 Fix Scss indentation. 2014-08-27 15:19:04 +02:00
Julien Fontanet
a980513cba Bower seem to not handle well + in tags. 2014-08-27 15:09:21 +02:00
Julien Fontanet
ecf7c1f3f3 Update deps. 2014-08-27 12:01:03 +02:00
Julien Fontanet
d18886ed7c Hung XAPI calls timeout after 10 seconds. 2014-08-27 11:58:07 +02:00
Julien Fontanet
07cc529f6e Ignore config files of unknown formats. 2014-08-27 11:57:15 +02:00
Olivier Lambert
7d5cd8b00f better login form 2014-08-23 20:16:09 +02:00
Julien Fontanet
a7c70b0b50 Use Bootstrap 3.2 2014-08-19 15:43:20 +02:00
Julien Fontanet
b5a995656d 3.5.1 2014-08-19 15:19:11 +02:00
Julien Fontanet
8b4c7ff521 Merge branch 'next-release' 2014-08-19 15:18:59 +02:00
Julien Fontanet
c243fbc011 ChangeLog 2014-08-19 15:18:00 +02:00
Olivier Lambert
493e4497c8 add missing space in pool view 2014-08-19 15:17:38 +02:00
Julien Fontanet
84967b717c Fix pool view (fix #139). 2014-08-19 14:02:24 +02:00
Julien Fontanet
21493424fe Minor fixes. 2014-08-19 14:01:21 +02:00
Julien Fontanet
2f73d528f8 Bypass Angular.js exception mangling. 2014-08-19 13:38:24 +02:00
Julien Fontanet
b91f6314bd Remove useless package. 2014-08-16 18:17:34 +02:00
Julien Fontanet
92aefa79e3 Update Bower deps. 2014-08-16 16:32:57 +02:00
Julien Fontanet
411e5dc35a Use node-sass instead of Ruby sass (fix #138). 2014-08-14 18:06:20 +02:00
Julien Fontanet
0159fffab9 Minor fix. 2014-08-14 17:18:45 +02:00
Julien Fontanet
c98c2f93e2 ChangeLog. 2014-08-14 17:12:32 +02:00
Julien Fontanet
01b87bfbfd 3.5.0 2014-08-14 16:30:30 +02:00
Julien Fontanet
1d2cacbb02 3.5.0 2014-08-14 16:29:02 +02:00
Julien Fontanet
b126f0cb79 systemd configuration 2014-08-14 16:26:56 +02:00
Julien Fontanet
10c6901a04 No longer relevant 2014-08-14 16:10:08 +02:00
Julien Fontanet
c26efb111e 3.5.0-alpha2 2014-08-14 16:06:35 +02:00
Julien Fontanet
f07cbe0087 Config file can now be in /etc/xo-server & basic help message. 2014-08-14 16:05:23 +02:00
Olivier Lambert
2d57958f6f remove doc (moved to XO repo) 2014-08-14 13:02:01 +02:00
Olivier Lambert
88c36aa272 Update README.md 2014-08-14 13:01:13 +02:00
Olivier Lambert
05ae37cb4d Update README.md 2014-08-14 12:23:49 +02:00
Julien Fontanet
96fdaff82a Various updates. 2014-08-14 11:13:35 +02:00
Olivier Lambert
07b64465c6 move version number in the title panel 2014-08-14 00:33:01 +02:00
Julien Fontanet
366e9be4de Show the package version in the about page. 2014-08-13 17:27:10 +02:00
Julien Fontanet
261c9e2240 3.5.0-alpha2 2014-08-13 16:59:27 +02:00
Olivier Lambert
c03973867c fix message in main view when you aren't connected to any host 2014-08-13 15:31:15 +02:00
Olivier Lambert
ca6984f4a5 remove events displayed in console 2014-08-13 15:21:39 +02:00
Julien Fontanet
4fbc2680ba Jade comment. 2014-08-13 14:54:35 +02:00
Julien Fontanet
9a5b0a8104 CSS autoprefixer & CSS minification. 2014-08-13 14:53:44 +02:00
Julien Fontanet
ad998f7a63 Jade comments. 2014-08-13 14:53:30 +02:00
Olivier Lambert
91043e4b52 CSS fixes 2014-08-13 14:06:12 +02:00
Julien Fontanet
7d72e196e0 Remove unused deps. 2014-08-12 16:13:28 +02:00
Julien Fontanet
9bc935da96 Update JSHint config. 2014-08-12 16:13:28 +02:00
Julien Fontanet
8f3bd0145b 3.5.0-alpha1 2014-08-12 15:36:39 +02:00
Julien Fontanet
ace0051147 Update deps and remove gulp-coffeelint.
- Update to latest Browserify & Watchify.
- Use ngAnnotate instead of ngMin.
- Remove gulp-coffeelint which failed to install.
2014-08-12 15:33:47 +02:00
Olivier Lambert
83720c6673 Update README.md 2014-08-12 15:24:27 +02:00
Olivier Lambert
f1ce4de1eb Update README.md
Add XOA details
2014-08-12 15:24:15 +02:00
Olivier Lambert
013b23c918 fix a dropdown menu and add a caret for better UI 2014-08-12 15:22:16 +02:00
Olivier Lambert
d03debf59c Update README.md 2014-08-12 14:32:40 +02:00
Olivier Lambert
00b55d893a Update README.md 2014-08-12 14:31:22 +02:00
Olivier Lambert
085b92df9c Update README.md 2014-08-12 14:27:36 +02:00
Julien Fontanet
d2e3b317ef 3.5.0-alpha1 2014-08-12 14:18:31 +02:00
Olivier Lambert
8516ff7cb3 add basic actions buttons in console view, fix #121 2014-08-11 17:42:51 +02:00
Julien Fontanet
56d64d8adc Minor fix. 2014-08-11 17:18:15 +02:00
Julien Fontanet
5d68e48312 Minor fix. 2014-08-11 16:53:15 +02:00
Julien Fontanet
8b0be0a8c5 Required radios in VM creation. 2014-08-11 16:50:47 +02:00
Julien Fontanet
d6e4d6d927 Required selects in VM creation. 2014-08-11 16:43:47 +02:00
Julien Fontanet
bbfe60ffd2 All pages are now in modules. 2014-08-11 16:30:57 +02:00
Julien Fontanet
c9cc0b5ce3 Do not use shrinkwrap anymore. 2014-08-11 15:22:06 +02:00
Julien Fontanet
f0bf19f286 Still more modules. 2014-08-11 15:15:34 +02:00
Julien Fontanet
6492e55954 More modules. 2014-08-11 14:49:38 +02:00
Julien Fontanet
c9fd1d5833 Fix dropdown menus. 2014-08-11 14:17:10 +02:00
Julien Fontanet
e8f73cae6c Fix generic modal. 2014-08-11 13:42:43 +02:00
Julien Fontanet
0edd39805b Minor fixes. 2014-08-11 13:22:53 +02:00
Olivier Lambert
7d436b40d0 use directly host power_state 2014-08-11 13:17:30 +02:00
Julien Fontanet
15189014d0 npm start 2014-08-11 13:16:47 +02:00
Julien Fontanet
46ab3ed1ea <Host>.power_state 2014-08-11 13:11:35 +02:00
Olivier Lambert
55cd6d2a74 fix small display glitch on the top of vm list in main view 2014-08-05 12:48:56 +02:00
Olivier Lambert
01a2585edf propperly display state of a host in the main view. Also remove RAM bar when host is disabled or halted 2014-08-05 12:42:13 +02:00
Olivier Lambert
edfbbe8c5a add enable and disable method 2014-08-05 12:41:18 +02:00
Olivier Lambert
9d35295b47 add current_operation to be able to see if the host is halted or just disabled 2014-08-05 12:40:59 +02:00
Julien Fontanet
b59d07fb5f TODO in vm.stop(). 2014-07-28 16:45:16 +02:00
Julien Fontanet
9c0fda2b52 vm.stop() improvements
- The `force` parameter is optional and default to `false`.
- If `force` is `true`, always do a hard shutdown.
- Throw `INVALID_PARAMS` when a clean shutdown failed due to missing PV drivers.
2014-07-28 16:32:36 +02:00
Julien Fontanet
2974a96e96 0.3.2 2014-07-28 15:34:19 +02:00
Julien Fontanet
ab7fd3d019 README update. 2014-07-28 15:32:55 +02:00
Julien Fontanet
54c5659496 0.3.1 2014-07-28 15:09:12 +02:00
Julien Fontanet
8c0811885f Handle -h as an alias for --help. 2014-07-28 15:09:00 +02:00
Julien Fontanet
291570dfd7 Add colors to the help message. 2014-07-28 15:06:15 +02:00
Julien Fontanet
f6b9b4cc19 0.3.0 2014-07-28 14:47:08 +02:00
Julien Fontanet
a06403ab7c Update to latest xo-lib. 2014-07-28 13:37:07 +02:00
Julien Fontanet
e64a95d1d7 Handle boolean params. 2014-07-28 13:35:30 +02:00
Julien Fontanet
6939e49643 Enable async long traces. 2014-07-28 13:35:19 +02:00
Julien Fontanet
bb18586484 Update JSHint config. 2014-07-28 13:35:05 +02:00
Julien Fontanet
09b39a4bf9 0.2.0 2014-07-28 13:33:45 +02:00
Julien Fontanet
1d7d639654 Set rejectUnauthorized only for secure connection. 2014-07-28 13:33:29 +02:00
Julien Fontanet
42ec509574 Fix URL fixing. 2014-07-28 13:30:57 +02:00
Julien Fontanet
dcef864c1c Fix URL if necessary. 2014-07-28 13:21:40 +02:00
Julien Fontanet
e8cb4f90f4 Update JSHint conf. 2014-07-28 13:21:40 +02:00
Julien Fontanet
4e0b2e4f77 Update deps. 2014-07-28 12:42:55 +02:00
Julien Fontanet
9ab1a980a7 Do not hide errors. 2014-07-28 11:24:11 +02:00
Julien Fontanet
a2bcadeb7c Remove now useless code & Update deps. 2014-07-26 23:51:23 +02:00
Julien Fontanet
84a4242e27 0.1.1 2014-07-26 23:48:53 +02:00
Julien Fontanet
6373d667d9 Work around XO-Server incomplete TLS 2014-07-26 23:42:04 +02:00
Julien Fontanet
07d91b8f50 3.5.0-alpha0 2014-07-26 18:02:38 +02:00
Julien Fontanet
5645921a8e Update deps. 2014-07-26 18:01:27 +02:00
Julien Fontanet
7840d601e1 Use xo-lib. 2014-07-26 10:19:32 +02:00
Julien Fontanet
1893061c0d 0.1.0 2014-07-26 10:15:38 +02:00
Julien Fontanet
0289cc3ee5 Initial commit. 2014-07-26 10:15:29 +02:00
Olivier Lambert
bb329b73ef fix issue #132 2014-07-21 12:28:54 +02:00
Julien Fontanet
9b4008f39c Deps update. 2014-07-15 12:36:12 +02:00
Julien Fontanet
9c17ac1c33 Update deps. 2014-07-07 14:08:37 +02:00
Julien Fontanet
ef52f20993 Update deps. 2014-07-07 13:48:10 +02:00
Olivier Lambert
f2a207e790 add fedora in linux icon: fix #131 2014-06-28 13:45:32 +02:00
Julien Fontanet
40f502492b Initial browserify. 2014-06-19 15:45:28 +02:00
Julien Fontanet
c5f1cf94ac Minor updates. 2014-06-10 15:53:10 +02:00
Julien Fontanet
2e286d4a50 Minor fix. 2014-06-10 12:34:59 +02:00
Julien Fontanet
94a27fa79e Build updates and fix index page. 2014-06-10 12:16:55 +02:00
Julien Fontanet
0adec1dbe2 Update to gulp 3.8 2014-06-10 10:07:47 +02:00
Julien Fontanet
c38c53957d Update deps. 2014-06-09 15:39:57 +02:00
Julien Fontanet
a35c9d2d9e 0.2.3 2014-06-09 15:36:44 +02:00
Julien Fontanet
7f739a1371 Update deps. 2014-06-09 15:36:17 +02:00
Olivier Lambert
62df78f329 fix error in doc 2014-06-03 15:11:39 +02:00
Olivier Lambert
498eb0134e add suse in linux distrib list for propper display of OS icon 2014-06-02 20:01:48 +02:00
Julien Fontanet
a80968aaa7 Minor updates. 2014-05-30 19:45:25 +01:00
Julien Fontanet
2589a15e0a Remove useless file. 2014-05-30 19:45:25 +01:00
Olivier Lambert
950efde3b8 initial import and export stuff in VM object 2014-05-30 18:50:48 +02:00
Olivier Lambert
d34f9182c2 escape sharp char 2014-05-30 14:59:44 +02:00
Olivier Lambert
324f21cf3d finish jadifying all views 2014-05-30 13:19:13 +02:00
Olivier Lambert
200c0110fd jadify modal windows 2014-05-30 13:10:56 +02:00
Olivier Lambert
5694b0054b jadify main view 2014-05-30 13:05:55 +02:00
Olivier Lambert
8825fdcdaf jadify navbar 2014-05-30 12:29:55 +02:00
Olivier Lambert
7805bc172e jadify add vm view 2014-05-30 12:25:19 +02:00
Olivier Lambert
aa321b4b22 fix missing space in SR and jadify pool view 2014-05-30 12:21:17 +02:00
Olivier Lambert
c74df7abc5 fix missing space between buttons and jadify settings view 2014-05-30 12:15:34 +02:00
Olivier Lambert
c6ffe8978d fix missing spaces and jadify sr view 2014-05-30 12:00:32 +02:00
Olivier Lambert
6761e0df15 jadify about page 2014-05-30 11:55:28 +02:00
Olivier Lambert
cc47225f24 jadify list view 2014-05-30 11:52:50 +02:00
Olivier Lambert
58c47a325f jadify host view 2014-05-30 11:48:34 +02:00
Julien Fontanet
de8d5e4489 CLI is now installable via npm & testable. 2014-05-30 10:38:37 +01:00
Olivier Lambert
706f7f3b7b converted vm view to a Jade template 2014-05-30 11:12:57 +02:00
Julien Fontanet
d6eefa5185 Merge branch 'master' into next-release 2014-05-29 17:41:45 +02:00
Julien Fontanet
5ad0cffbb3 Minor updates. 2014-05-29 17:40:58 +02:00
Julien Fontanet
4d67f8bd0b Process for releasing a new version. 2014-05-29 16:20:16 +01:00
Julien Fontanet
d5227e00ff Prepare npm package. 2014-05-29 16:06:23 +01:00
Julien Fontanet
62fa1d570c Minor updates. 2014-05-27 20:41:10 +01:00
Julien Fontanet
89bd00c65e All API methods must return a value. 2014-05-27 19:53:28 +01:00
Julien Fontanet
be4511d95b 0.2.2 2014-05-27 19:17:53 +01:00
Julien Fontanet
b17e6058d1 Minor fixes. 2014-05-27 19:17:47 +01:00
Olivier Lambert
899b4ab29a restore connected stuff on VM disk 2014-05-27 20:16:08 +02:00
Olivier Lambert
a2801f0b7b remove useless checkbox 2014-05-27 20:13:35 +02:00
Olivier Lambert
84694fedef fix typo 2014-05-27 20:07:05 +02:00
Julien Fontanet
99c28a184f 0.2.1 2014-05-27 18:55:33 +01:00
Julien Fontanet
7ed9adaf49 Allows connection to incorrect SSL certificates. 2014-05-27 18:55:25 +01:00
Olivier Lambert
c0005741bd remove req field in VM view 2014-05-27 19:03:59 +02:00
Olivier Lambert
150a341510 add recipes 2014-05-26 20:08:42 +02:00
Julien Fontanet
c3ef051657 0.2.0 2014-05-26 14:26:55 +02:00
Julien Fontanet
ba149efa4a Merge branch 'dev' 2014-05-26 14:26:41 +02:00
Julien Fontanet
e30a7b3849 README update. 2014-05-26 14:22:08 +02:00
Julien Fontanet
97ad0483ec Minor change. 2014-05-26 14:01:55 +02:00
Julien Fontanet
3981c772a2 --register and --unregister. 2014-05-26 13:57:18 +02:00
Julien Fontanet
e762002560 Remove unused deps. 2014-05-26 13:42:36 +02:00
Julien Fontanet
061d8dc94f Use API introspection. 2014-05-26 13:33:56 +02:00
Olivier Lambert
e486713026 add link to the bottom of each doc part 2014-05-26 10:59:08 +02:00
Olivier Lambert
0201dfa8e3 reduce image 2014-05-26 10:55:18 +02:00
Olivier Lambert
78269a1b7b doc reorg 2014-05-26 10:52:15 +02:00
Olivier Lambert
d1bf60ab17 end doc on VM 2014-05-26 10:33:06 +02:00
Olivier Lambert
6c368dc8cb re re fix broken links 2014-05-25 14:18:34 +02:00
Olivier Lambert
10ac67c1e0 re fix broken links 2014-05-25 14:17:46 +02:00
Olivier Lambert
ba3b38d941 fix broken links 2014-05-25 14:17:07 +02:00
Olivier Lambert
47044d93d3 add ToC 2014-05-25 14:15:33 +02:00
Olivier Lambert
423ac4ea04 fix icon placement 2014-05-25 14:10:03 +02:00
Olivier Lambert
b114b40f88 add snapshot doc 2014-05-25 14:09:05 +02:00
Olivier Lambert
030ce18d65 add template doc 2014-05-25 13:55:36 +02:00
Julien Fontanet
44116b3559 Minor fix. 2014-05-25 13:49:54 +02:00
Olivier Lambert
78332c7bfd add more doc 2014-05-25 13:47:30 +02:00
Julien Fontanet
dd8ac28240 Minor fix. 2014-05-25 13:46:19 +02:00
Julien Fontanet
81818222e5 Fixes. 2014-05-25 13:44:01 +02:00
Olivier Lambert
4a25af03f4 add console icon 2014-05-25 13:32:09 +02:00
Olivier Lambert
6515d73534 add console 2014-05-25 13:27:12 +02:00
Olivier Lambert
006fc9acd3 continue to add doc 2014-05-25 13:21:15 +02:00
Julien Fontanet
b7e7a0df94 More introspection. 2014-05-24 18:14:04 +02:00
Olivier Lambert
1aa878b3a6 fix typo 2014-05-24 17:17:32 +02:00
Olivier Lambert
23dc475905 add doc for usage 2014-05-24 17:16:37 +02:00
Julien Fontanet
84e6228f90 Various updates. 2014-05-24 17:09:10 +02:00
Olivier Lambert
a827ab6ffd oops forgot two images 2014-05-24 17:01:50 +02:00
Olivier Lambert
f55784ce6a add action image 2014-05-24 17:00:26 +02:00
Olivier Lambert
f7110ac472 add usage doc 2014-05-24 16:58:47 +02:00
Olivier Lambert
52a94e0f47 finish layout section 2014-05-24 16:47:22 +02:00
Olivier Lambert
c25eb678a8 fix typo 2014-05-24 16:42:08 +02:00
Olivier Lambert
5128efbbf4 add more doc stuff 2014-05-24 16:41:03 +02:00
Olivier Lambert
c73ee3c531 add doc 2014-05-24 16:26:24 +02:00
Olivier Lambert
54ba67f882 add admin doc 2014-05-24 16:04:41 +02:00
Julien Fontanet
395bfe6eb5 Only admins can access the setting page (fix #77). 2014-05-24 16:00:40 +02:00
Julien Fontanet
e0ecf65aac Better integration of the setting pages. 2014-05-24 15:49:33 +02:00
Olivier Lambert
a7c651c98c fix bad image name 2014-05-24 15:49:17 +02:00
Olivier Lambert
ed473f457a add images 2014-05-24 15:48:21 +02:00
Olivier Lambert
a572c1132d more doc 2014-05-24 15:47:26 +02:00
Julien Fontanet
e3f02fc4d6 User cannot delete himself (fix vatesfr/xo-web#104). 2014-05-24 15:46:14 +02:00
Olivier Lambert
ba314c7135 small changes in doc 2014-05-24 15:38:43 +02:00
Olivier Lambert
a0788ab050 fix minor stuff 2014-05-24 15:34:13 +02:00
Olivier Lambert
8885f0be10 add doc on config file 2014-05-24 15:33:31 +02:00
Julien Fontanet
9d433ed1d0 Go back to the homepage after deleting a VM. (fix #56). 2014-05-24 15:27:14 +02:00
Olivier Lambert
0125c9445e add doc stuff again 2014-05-24 15:13:15 +02:00
Julien Fontanet
81bece9dc4 Remove unused API methods. 2014-05-24 15:02:20 +02:00
Olivier Lambert
a3454d4143 add doc stuff 2014-05-24 14:42:07 +02:00
Olivier Lambert
ad3c224b10 oops forgot images 2014-05-24 14:36:34 +02:00
Olivier Lambert
43d186d464 add doc 2014-05-24 14:34:56 +02:00
Olivier Lambert
a3671e776d start to add doc 2014-05-24 12:01:11 +02:00
Julien Fontanet
db4b05e9d2 Various updates. 2014-05-24 10:42:20 +02:00
Julien Fontanet
0b9029c7b5 Use http-server-plus instead of custom implementation. 2014-05-22 18:02:45 +02:00
Julien Fontanet
7fd9a65ce5 Comment. 2014-05-22 12:12:23 +02:00
Julien Fontanet
8cd2d52b3d 3.4.0 2014-05-22 11:43:32 +02:00
Julien Fontanet
862ce07f8d 3.4.0 2014-05-22 11:43:23 +02:00
Julien Fontanet
d8e8c5504a Merge branch 'next-release' 2014-05-22 11:41:49 +02:00
Julien Fontanet
a78bc7d195 Typos. 2014-05-22 11:39:08 +02:00
Julien Fontanet
b0ce4404ea Markdown fix. 2014-05-22 11:37:38 +02:00
Julien Fontanet
cd5641d2f3 ChangeLog. 2014-05-22 11:36:48 +02:00
Julien Fontanet
51dd9f0419 Redirect to wanted page after login. 2014-05-22 10:51:15 +02:00
Julien Fontanet
6d0a76756d Fix autofill AMAP. 2014-05-21 20:27:00 +02:00
Julien Fontanet
6e8342fbf4 Minor fix. 2014-05-21 20:12:09 +02:00
Julien Fontanet
7535f6af51 Merge branch 'events' into next-release 2014-05-21 20:02:32 +02:00
Julien Fontanet
8d227724d7 Merge branch 'events' into next-release 2014-05-21 20:00:27 +02:00
Olivier Lambert
eab91ffa83 fix icon for stopped vm 2014-05-21 19:57:23 +02:00
Julien Fontanet
6488198a06 Minor fixes. 2014-05-21 19:50:05 +02:00
Julien Fontanet
347effcf70 Minor fixes. 2014-05-21 19:49:58 +02:00
Olivier Lambert
07b4c67b5c add space after the login icon 2014-05-21 18:44:45 +02:00
Julien Fontanet
70077a1eac Hide mockup. 2014-05-21 18:23:20 +02:00
Julien Fontanet
03763a6556 Merge branch 'acl' into next-release 2014-05-21 18:15:24 +02:00
Julien Fontanet
3cb8d77977 Switch to the log in page on log out. 2014-05-21 18:13:53 +02:00
Olivier Lambert
c8d7940451 fix vm description 2014-05-21 18:04:00 +02:00
Julien Fontanet
2253aa1229 Mandatory log in page. 2014-05-21 17:43:54 +02:00
Julien Fontanet
2b2176ba24 Update deps. 2014-05-21 16:49:15 +02:00
Julien Fontanet
a0b2d9384d Events are ok. 2014-05-21 15:25:34 +02:00
Julien Fontanet
d5a16855fb Events are ok. 2014-05-21 15:25:12 +02:00
Olivier Lambert
1aec909c10 better style for connection status 2014-05-21 14:53:18 +02:00
Olivier Lambert
7b60980959 add icon for login 2014-05-21 13:50:28 +02:00
Olivier Lambert
097424e2ee add login view 2014-05-21 13:46:58 +02:00
Olivier Lambert
a99b17d240 fix ugly empty parentheses when host is not in a labelled pool 2014-05-18 18:35:50 +02:00
Olivier Lambert
7526230b69 mockup for user and group in VM view 2014-05-14 18:11:45 +02:00
Julien Fontanet
58cc047ffa Comments. 2014-05-12 19:58:00 +02:00
Julien Fontanet
cfacd90815 Various updates. 2014-05-12 19:55:49 +02:00
Julien Fontanet
6b8f9a6319 Various updates. 2014-05-12 19:55:36 +02:00
Julien Fontanet
8e74556613 Dependencies update. 2014-05-12 18:50:50 +02:00
Julien Fontanet
26a3086b81 WIP. 2014-05-09 17:29:32 +02:00
Julien Fontanet
f46dca910b WIP. 2014-05-09 17:27:13 +02:00
Julien Fontanet
d362dfc359 Initial work on events. 2014-05-07 14:05:01 +02:00
Julien Fontanet
6dd70137db Do not use a symlink for gulp. 2014-04-25 12:19:50 +02:00
Julien Fontanet
94ab475a31 Update deps. 2014-04-25 12:19:25 +02:00
Julien Fontanet
4dff1ead06 Various updates. 2014-04-24 15:33:55 +02:00
Julien Fontanet
ec8aa28aea Same thing for the WS server. 2014-04-22 16:42:47 +02:00
Julien Fontanet
e49abd909d WebSocket errors should not crash the server. 2014-04-22 16:39:48 +02:00
Julien Fontanet
ce2c700f1d new Promise() instead of Promise.defer() as suggested in Bluebird's doc. 2014-04-19 17:15:50 +02:00
Julien Fontanet
dcb9f90a8c Typo. 2014-04-19 17:05:36 +02:00
Olivier Lambert
e77b6f3b85 add convert to template in vm view 2014-04-18 13:15:47 +02:00
Olivier Lambert
c936d4f5a3 add support for convert vm into template 2014-04-18 13:15:19 +02:00
Olivier Lambert
44f9292bfd add CoW clone capabilities 2014-04-16 18:00:29 +02:00
Olivier Lambert
4000b44d90 add possibility to clone with CoW 2014-04-16 18:00:00 +02:00
Olivier Lambert
ad09d98d81 add basic cloning 2014-04-16 17:31:51 +02:00
Olivier Lambert
259fae0134 support now clone/copy 2014-04-16 17:30:50 +02:00
Julien Fontanet
04c28824b2 Remove old tests. 2014-04-16 16:26:26 +02:00
Julien Fontanet
c5bf4d1723 Get parameters description out of the API methods. 2014-04-16 16:17:24 +02:00
Julien Fontanet
567d5e7676 Merge branch 'master' into next-release 2014-04-15 18:17:20 +02:00
Julien Fontanet
b72a7f2c22 Minor fix. 2014-04-15 17:58:16 +02:00
Julien Fontanet
71cef03a4b Minor fix. 2014-04-15 17:55:59 +02:00
Julien Fontanet
123b0a331e Minor fix. 2014-04-15 17:53:58 +02:00
Julien Fontanet
11f1f3d132 Minor fix. 2014-04-15 17:50:05 +02:00
Julien Fontanet
a44ce0c538 Installation method is optional. 2014-04-15 17:45:55 +02:00
Julien Fontanet
13abde0b0f Various updates. 2014-04-15 17:40:35 +02:00
Julien Fontanet
e4850e0a48 TODOs. 2014-04-15 16:53:16 +02:00
Julien Fontanet
1c225ff1ec Remove existing install-repository entry in VM if any. 2014-04-15 16:29:56 +02:00
Julien Fontanet
1b4e80858d Major indentation fix. 2014-04-15 16:15:01 +02:00
Julien Fontanet
4f683edcb9 Dependencies update. 2014-04-15 16:14:48 +02:00
Julien Fontanet
301cc22985 Various updates. 2014-04-14 16:38:29 +02:00
Olivier Lambert
23348c5d8c Merge pull request #115 from devopsconsulting/isNan
use standard js isNaN function.
2014-04-10 14:34:32 +02:00
Lars van de Kerkhof
176c6524a2 use standard js isNaN function. 2014-04-10 12:37:41 +02:00
Julien Fontanet
834fe6da45 hashy uses promises out of the box. 2014-04-05 11:02:12 +02:00
Julien Fontanet
35678661d1 Deps updates & Initial API introspection. 2014-04-05 10:54:26 +02:00
Julien Fontanet
29398b9869 Various updates. 2014-04-03 10:19:31 +02:00
Julien Fontanet
1ef6b0b5f9 Merge branch 'next-release' 2014-03-28 17:02:14 +01:00
Julien Fontanet
d1cf246600 3.3.1 2014-03-28 17:01:30 +01:00
Julien Fontanet
6765b0218a Merge branch 'next-release' 2014-03-28 17:00:35 +01:00
Julien Fontanet
b7fd209987 3.3.1 2014-03-28 16:58:20 +01:00
Julien Fontanet
e11f0595d8 ChangeLog. 2014-03-28 16:57:36 +01:00
Julien Fontanet
8b65a75235 Fixes register in README. 2014-03-28 15:19:53 +01:00
Olivier Lambert
a01410f287 Merge pull request #110 from RhubarbSin/master
correct minor misspelling
2014-03-25 22:55:33 +01:00
Rhubarb Sin
6e53682854 correct minor misspelling 2014-03-25 17:47:36 -04:00
Julien Fontanet
093e09c732 Minor fix. 2014-03-25 18:24:58 +01:00
Julien Fontanet
313f7e8173 Minor fixes and new command: whoami. 2014-03-25 17:18:02 +01:00
Julien Fontanet
d9e615e696 First working version. 2014-03-25 15:34:07 +01:00
Julien Fontanet
b526067eeb Initial commit. 2014-03-24 17:44:06 +01:00
Julien Fontanet
5c25a82a2b Bug fixes (Redis implementation). 2014-03-24 13:51:25 +01:00
Olivier Lambert
e5a19d73e1 fix #109 2014-03-15 15:28:58 +01:00
Julien Fontanet
2f224fc26e Minor fix. 2014-03-15 12:02:16 +01:00
Julien Fontanet
2969f8da36 Skips a failed test. 2014-03-14 18:28:59 +01:00
Julien Fontanet
8959d12746 Using bluebird instead of q for promises. 2014-03-14 18:25:49 +01:00
Julien Fontanet
6e6574a235 Do not use npm dedupe as it cause problem with xmlbuilder (fix #24). 2014-03-14 11:49:58 +01:00
Julien Fontanet
bf3eea4a41 Updates dependencies. 2014-03-13 17:10:11 +01:00
Julien Fontanet
42d72a7786 Console page rewritten (in Jade) (see #92). 2014-03-13 16:13:14 +01:00
Julien Fontanet
30a29b179b Do not compile Jade files starting with an underscore. 2014-03-13 15:13:21 +01:00
Julien Fontanet
6a7ae710c5 Updates Bower to latest version (should limit install errors). 2014-03-13 12:28:22 +01:00
Julien Fontanet
7622fa88cb Minor fix in build. 2014-03-13 12:18:15 +01:00
Julien Fontanet
044594c614 Merge branch 'next-release' 2014-03-07 16:09:26 +01:00
Julien Fontanet
aeba346a4e Bumps version number. 2014-03-07 16:09:09 +01:00
Olivier Lambert
779a3d2d70 handle message deletion 2014-02-27 00:52:24 +01:00
Olivier Lambert
6a8667cc4b add revert action for snapshots 2014-02-26 20:06:23 +01:00
Olivier Lambert
29972fe54e add host action for https://github.com/vatesfr/xo-web/issues/97 2014-02-24 18:45:12 +01:00
Olivier Lambert
cf9e9e4fcf prepare backend for snapshots, as requested in https://github.com/vatesfr/xo-web/issues/95 and https://github.com/vatesfr/xo-web/issues/96 2014-02-24 16:31:16 +01:00
Julien Fontanet
ddd14999d7 Merge branch 'next-release' 2014-02-21 10:14:56 +01:00
Julien Fontanet
cfc9c60794 Bumps version number. 2014-02-21 09:54:41 +01:00
Julien Fontanet
71f206446c Uses npm shrinkwrap to fix dependencies' versions (fix #22). 2014-02-20 15:10:15 +01:00
Julien Fontanet
e368465591 Updates all dependencies. 2014-02-19 18:50:22 +01:00
Julien Fontanet
2f4314257c Badges added to the README to see if dependencies are up to date (fix #21). 2014-02-19 18:43:45 +01:00
Julien Fontanet
204d32b9fd Preparation work to have a promise-based XAPI connection. 2014-02-19 18:42:28 +01:00
Julien Fontanet
a66f522e77 Minor changes. 2014-02-18 18:32:14 +01:00
Julien Fontanet
9016b7be90 Minor nesting bug. 2014-02-18 10:26:48 +01:00
Julien Fontanet
545da61855 Unit tests for fiber utils. 2014-02-18 10:22:58 +01:00
Julien Fontanet
4c22f2525c Some reworks to ease future transition to ES6 generators.
It will also helped to achieve more parallelism.
2014-02-17 21:05:10 +01:00
Julien Fontanet
2e5c4bb5ee Minor fix. 2014-02-17 15:08:04 +01:00
Julien Fontanet
6a85db1d5d Merge branch 'next-release' 2014-02-14 16:26:43 +01:00
Julien Fontanet
2b16b961f4 Bumps version number. 2014-02-14 16:26:11 +01:00
Olivier Lambert
a2531b3073 fix typo on doc 2014-02-14 13:48:57 +01:00
Olivier Lambert
88a2baf19e update doc 2014-02-14 13:44:32 +01:00
Olivier Lambert
f0766f753c add vlan info for PIF's 2014-02-13 13:04:09 +01:00
Julien Fontanet
8d67aed95a Merge branch 'next-release' 2014-02-07 18:34:12 +01:00
Julien Fontanet
678dbd76cb Bumps version number and updates README. 2014-02-07 17:22:18 +01:00
Julien Fontanet
ae9269d1b1 vm.{eject,insert}Cd(). 2014-02-07 15:19:13 +01:00
Julien Fontanet
971c238313 Incorrect update of templates list (fix vatesfr/xo-web#55). 2014-02-07 12:16:18 +01:00
Olivier Lambert
e713befd59 add os version in spec 2014-02-06 23:02:00 +01:00
Julien Fontanet
eb95c75c29 Fix permission checking in vm.start(). 2014-02-06 17:13:51 +01:00
Julien Fontanet
a522e2bcbd Fix force for VM stop/restart. 2014-02-06 16:39:26 +01:00
Julien Fontanet
b1a8902e33 Fix permission checking in vm.{restart,stop}(). 2014-02-06 16:35:01 +01:00
Julien Fontanet
8c706d2393 Fixes for restart/stop. 2014-02-06 16:32:54 +01:00
Julien Fontanet
1b55746213 vm.{start,stop,restart}(). 2014-02-06 16:27:33 +01:00
Julien Fontanet
3f5a7809f0 session.signOut(). 2014-02-06 16:13:52 +01:00
Julien Fontanet
ecfd05f788 vm.delete() ok. 2014-02-06 12:18:52 +01:00
Julien Fontanet
41585f1467 Fix for VM deletion. 2014-02-06 11:51:56 +01:00
Julien Fontanet
3c6a3674a5 Minor change. 2014-02-05 15:31:24 +01:00
Olivier Lambert
e4bc31357f add vdi mod and vbd delete/unplug 2014-02-05 15:17:48 +01:00
Olivier Lambert
a9436f9668 handle sr rescan 2014-02-04 21:05:10 +01:00
Olivier Lambert
f90c236fa4 handle vdi remove 2014-02-04 20:43:51 +01:00
Julien Fontanet
c5a2d6a1eb VM creation seems to work… 2014-02-04 18:50:16 +01:00
Julien Fontanet
9bf41edb88 pool.default_SR restored. 2014-02-04 17:04:56 +01:00
Julien Fontanet
4c5f27301e Initial vm.delete(). 2014-02-04 17:04:39 +01:00
Julien Fontanet
99c9ad69ac Minor fixes. 2014-02-04 17:04:25 +01:00
Julien Fontanet
6866267cf5 Minor fixes. 2014-02-03 17:23:41 +01:00
Julien Fontanet
92307013a7 Installation support in VM creation. 2014-02-03 17:04:56 +01:00
Julien Fontanet
ed81261dc2 Initial support for VM installation. 2014-01-31 12:46:49 +01:00
Julien Fontanet
1409ae026d Better algo to change the VM CPUs number. 2014-01-31 12:22:21 +01:00
Julien Fontanet
566ca24833 VM.memory should never be static_max. 2014-01-31 11:53:25 +01:00
Julien Fontanet
844a10911a Much better algorithm for VM memory change. 2014-01-31 11:49:58 +01:00
Julien Fontanet
015f6d2536 Minor fix. 2014-01-31 10:45:47 +01:00
Julien Fontanet
c1fd149118 Improvement in VM memory change. 2014-01-31 10:43:01 +01:00
Olivier Lambert
887533018c fix missing arg 2014-01-31 10:32:13 +01:00
Julien Fontanet
7dfbb6753a Initial work on VM live migration. 2014-01-31 10:24:31 +01:00
Julien Fontanet
5c2f69c820 pool.poolRef for uniformity. 2014-01-30 20:29:55 +01:00
Julien Fontanet
0abed8f132 Minor fixes. 2014-01-30 20:24:39 +01:00
Julien Fontanet
158d0ea65e Pool basic edition. 2014-01-30 20:24:21 +01:00
Julien Fontanet
cdb31a18f5 Copy past fixes... 2014-01-30 20:19:48 +01:00
Julien Fontanet
17f75bbd77 Host and SR basic edition. 2014-01-30 20:17:55 +01:00
Julien Fontanet
d1b54c4195 VM edition works as good as possible for now :) 2014-01-30 20:07:36 +01:00
Julien Fontanet
a3e18c95f5 Minor changes. 2014-01-30 19:37:31 +01:00
Olivier Lambert
693fd6d6f3 change name of PV_drivers 2014-01-30 16:17:22 +01:00
Julien Fontanet
b3029514c7 VM.set(). 2014-01-30 16:03:34 +01:00
Olivier Lambert
fd6dc6090e add pv_driver status for a vm in spec 2014-01-30 15:47:50 +01:00
Julien Fontanet
a94bc50e25 Updates hosts and VMs with their metrics. 2014-01-30 14:49:24 +01:00
Julien Fontanet
13d5ecb79f Pools have their messages. 2014-01-30 14:20:11 +01:00
Julien Fontanet
de0b365bc7 Properly handle the “EVENTS_LOST” error. 2014-01-30 11:58:02 +01:00
Julien Fontanet
b287406c94 Exports VM.current_operations. 2014-01-30 10:23:02 +01:00
Julien Fontanet
320865c262 Should not crashed when a VM-template becomes a VM. 2014-01-29 19:35:28 +01:00
Julien Fontanet
e550ea2141 Minor fixes. 2014-01-29 18:58:06 +01:00
Julien Fontanet
19e47a2742 Local SRs. 2014-01-29 18:09:15 +01:00
Julien Fontanet
ca64db3e54 Consoles should work again + various API methods deprecated. 2014-01-29 17:30:53 +01:00
Julien Fontanet
ea57b40d8c Minor fixes. 2014-01-29 17:08:43 +01:00
Julien Fontanet
7c4e7eb225 Minor fixes. 2014-01-29 17:00:25 +01:00
Julien Fontanet
028e950c81 Minor code simplification. 2014-01-29 16:58:20 +01:00
Julien Fontanet
d5e118d292 Major fix in MappedCollection. 2014-01-29 16:56:22 +01:00
Julien Fontanet
5b50f3d294 MAC can be specified. 2014-01-28 17:32:18 +01:00
Julien Fontanet
ef5d97194f #CPUs handling in vm.create() 2014-01-28 16:47:07 +01:00
Julien Fontanet
d4f34cbdb6 Minor fix. 2014-01-27 18:21:43 +01:00
Julien Fontanet
0152b7e534 Minor fixes. 2014-01-24 12:36:23 +01:00
Julien Fontanet
ace5c873a3 Improvement in VM creation. 2014-01-24 11:41:56 +01:00
Julien Fontanet
eb7b76bed3 Minor fix in API.token. 2014-01-24 11:35:16 +01:00
Julien Fontanet
d72a9a3907 Templates in spec. 2014-01-23 12:08:54 +01:00
Julien Fontanet
cfeb9f7cd4 Minor fix. 2014-01-22 22:52:08 +01:00
Julien Fontanet
a690982a09 Initial work for VM creation. 2014-01-22 20:04:43 +01:00
Julien Fontanet
2949a830d9 API helpers in their own namespace & getParams(). 2014-01-22 19:11:01 +01:00
Julien Fontanet
a757db7a44 XO::getObject(), XO::getObjects() and XO::getXAPI(). 2014-01-18 17:01:03 +01:00
Julien Fontanet
e73899d083 Finer loops counting in watchers. 2014-01-18 16:58:49 +01:00
Julien Fontanet
05c45e1b6b Merge branch 'spec-refactoring' into next-release 2014-01-16 16:57:50 +01:00
Julien Fontanet
00027434ad Various updates. 2014-01-16 16:45:54 +01:00
Julien Fontanet
60c46d529c Initial merge. 2014-01-16 14:07:31 +01:00
Julien Fontanet
5b91e6aa59 Various updates. 2014-01-15 19:11:26 +01:00
Julien Fontanet
615fb3f387 Various udpates. 2014-01-15 17:36:11 +01:00
Julien Fontanet
24751675c5 Minor updates in VM-template. 2014-01-15 16:34:03 +01:00
Julien Fontanet
0e2e54778d Minor updates. 2014-01-15 16:33:38 +01:00
Julien Fontanet
f336832395 Initial VM-template support. 2014-01-15 15:28:48 +01:00
Julien Fontanet
44826da3ee $promisify should be properly exported (& minor fix). 2014-01-15 15:25:16 +01:00
Julien Fontanet
e492f4fdc9 $waitPromise() replaced by the more generic $wait. 2014-01-15 15:24:19 +01:00
Julien Fontanet
b786d4ac06 Spec updates. 2014-01-15 12:08:02 +01:00
Julien Fontanet
15abc40bd0 New helper: $map. 2014-01-14 19:04:05 +01:00
Julien Fontanet
e5ac1bc629 More tests. 2014-01-14 18:22:01 +01:00
Julien Fontanet
d67a99b8f8 Bug fix. 2014-01-14 18:20:09 +01:00
Julien Fontanet
6816f93ecb Spec2 updates. 2014-01-14 16:37:16 +01:00
Julien Fontanet
30ecab05cf Minor fix. 2014-01-14 16:36:00 +01:00
Julien Fontanet
ff13998205 No more false positives in loop detection. 2014-01-14 16:35:29 +01:00
Julien Fontanet
1e1e2166b9 Missing files. 2014-01-13 20:51:15 +01:00
Julien Fontanet
fcfa5bcb8d Initial tests for spec2. 2014-01-13 18:35:43 +01:00
Julien Fontanet
284599d249 Minor spelling. 2014-01-13 17:19:56 +01:00
Julien Fontanet
caf2ffc167 Loop detection in the helpers. 2014-01-13 17:19:29 +01:00
Julien Fontanet
e73ac0af22 It is now possible to ignore items of missing rules. 2014-01-13 17:17:41 +01:00
Julien Fontanet
53dff59c6a Tests runner rewritten using CoffeeScript for better stacktraces. 2014-01-13 16:28:36 +01:00
Julien Fontanet
1d8c8ea1b0 Minor cleanup. 2014-01-11 19:10:49 +01:00
Julien Fontanet
b18acfac83 Spec2 update. 2014-01-11 19:07:31 +01:00
Julien Fontanet
fb1f9c675b Minor change for the sake of simplification and flexibility. 2014-01-11 19:07:21 +01:00
Julien Fontanet
02cef37128 Test runner. 2014-01-11 19:06:01 +01:00
Julien Fontanet
08a84df7d8 Various updates. 2014-01-11 17:00:35 +01:00
Julien Fontanet
084ba95b6a $sum and $val also supports bind. 2014-01-10 17:47:22 +01:00
Julien Fontanet
37c11bfcb2 Dynamic keys for $set. 2014-01-10 16:49:46 +01:00
Julien Fontanet
5bba2b7bf0 Initial work on the helpers. 2014-01-10 16:06:51 +01:00
Julien Fontanet
9e5c8a650e Minor fix. 2014-01-08 23:07:20 +01:00
Julien Fontanet
44dc8210bc Minor optimizations. 2014-01-08 23:06:35 +01:00
Julien Fontanet
86d40b774e Minor fix. 2014-01-08 23:04:41 +01:00
Julien Fontanet
e8ff2f8229 Minor update. 2014-01-08 19:54:31 +01:00
Julien Fontanet
1ca7faf7c6 Various updates. 2014-01-08 18:33:47 +01:00
Olivier Lambert
eeba0940b6 add methods for VM object 2014-01-08 18:17:21 +01:00
Julien Fontanet
c81f7cebf7 Initial work on the new mapped collection and transformation spec. 2014-01-08 16:15:12 +01:00
Olivier Lambert
4affdd91a7 add 'attached' of a VBD in spec 2014-01-08 15:34:47 +01:00
Julien Fontanet
d8153d1263 Minor fixes. 2014-01-06 14:52:58 +01:00
Julien Fontanet
3f7ec9e0c2 Ability to destroy tasks/messages. 2014-01-06 14:29:12 +01:00
Julien Fontanet
d0ef14ccd8 More API namespaces externalized. 2014-01-06 10:37:06 +01:00
Julien Fontanet
f6f35f3e49 Fix indentation. 2014-01-06 09:52:40 +01:00
Olivier Lambert
ec0302644f fix on tasks duplicated record. TODO: use update instead 2014-01-05 23:04:54 +01:00
Olivier Lambert
0e5f7f8d1b initial support of tasks 2014-01-05 17:33:22 +01:00
Julien Fontanet
3498f3fd2f Add missing dependency. 2014-01-05 14:38:45 +01:00
Julien Fontanet
b68cfc8f72 Expose session identifier for consoles. 2014-01-03 14:12:24 +01:00
Olivier Lambert
af11b7cd26 add templates in spec and also start to implement disk provisionning 2014-01-02 16:24:45 +01:00
Julien Fontanet
6aad4a4a98 New type: VM-snapshot. 2014-01-02 13:10:26 +01:00
Julien Fontanet
d7a4395557 Minor fixes. 2014-01-02 11:42:40 +01:00
Olivier Lambert
4df8b90bfe add message object and link for host, vm and pool 2014-01-02 11:39:03 +01:00
Julien Fontanet
0ded953527 Minor fix. 2014-01-01 13:21:37 +01:00
Julien Fontanet
5a345ce4c9 Create a default user if there is none. 2014-01-01 13:21:18 +01:00
Olivier Lambert
8f8dc390ca add PIF in spec 2013-12-31 16:59:06 +01:00
Olivier Lambert
52fb5641ce add VIF in specs 2013-12-31 16:16:48 +01:00
Julien Fontanet
f47eea03cc Do not try to connect to a server indefinitely. 2013-12-31 16:08:28 +01:00
Julien Fontanet
432864c323 Minor fixes. 2013-12-31 13:26:57 +01:00
Julien Fontanet
4608216e28 Minor fixes. 2013-12-31 00:58:40 +01:00
Julien Fontanet
befdd2e7ad Idem for the server namespace. 2013-12-30 17:45:27 +01:00
Julien Fontanet
13b73acee6 The user namespace of the API resides in its own module.
It has been rewritten in CoffeeScript, a lot of bugs have been fixed
and it is much more commented.
2013-12-30 17:19:38 +01:00
Julien Fontanet
d1800fe86a Minor simplification. 2013-12-30 11:40:31 +01:00
Julien Fontanet
13b7b72865 Minor code simplification. 2013-12-30 08:42:56 +01:00
Julien Fontanet
0894114aac Remove (now unecessary) $waitPromise() calls. 2013-12-29 10:53:22 +01:00
Julien Fontanet
50ae55d74f Minor fix. 2013-12-29 10:11:22 +01:00
Julien Fontanet
9e8ed150a3 Helpful message when the web server cannot start listening. 2013-12-29 10:08:56 +01:00
Julien Fontanet
7e682eac22 Meaningful message when the web server cannot start listening. 2013-12-29 09:48:18 +01:00
Julien Fontanet
172fbb51a4 Remove useless log. 2013-12-29 09:27:50 +01:00
Julien Fontanet
f4bee77131 Dependencies versions fixed. 2013-12-29 09:27:01 +01:00
Julien Fontanet
1dcce05f98 session.signIn*() now returns the signed user. 2013-12-28 18:40:09 +01:00
Julien Fontanet
58239efa84 Various bufixes. 2013-12-28 18:05:37 +01:00
Julien Fontanet
d42121a426 Minor fix. 2013-12-28 17:42:16 +01:00
Julien Fontanet
4a031d70a5 xapi.vm.start() should work. 2013-12-28 17:36:29 +01:00
Julien Fontanet
3a5c512a62 Various fixes. 2013-12-28 17:09:55 +01:00
Julien Fontanet
1de8f9a92a VMs actions work. 2013-12-28 14:59:06 +01:00
Julien Fontanet
6a6dddfef1 xapi.vm.* methods are now generated and (hopefully) working. 2013-12-28 13:34:28 +01:00
Julien Fontanet
8180075d8f Minor fix (thanks CoffeeLint ;)). 2013-12-28 13:33:56 +01:00
Julien Fontanet
466fd49ad0 Try harder to respect the 80 characters rule. 2013-12-28 13:33:35 +01:00
Julien Fontanet
8ae8e99b25 Spelling & other various fixes. 2013-12-28 12:22:23 +01:00
Julien Fontanet
3dc0066e06 The API now use synchrouneous code (fibers) instead of promises. 2013-12-27 18:44:13 +01:00
Julien Fontanet
826add7b43 $waitPromise should handle gracefully non promise. 2013-12-27 14:22:02 +01:00
Julien Fontanet
3bc345d391 Minor fix. 2013-12-27 14:11:27 +01:00
Julien Fontanet
91b0acd4e4 Debugging trace removed. 2013-12-27 12:05:40 +01:00
Julien Fontanet
774b4051bc XO-Server can now drop priviledges. 2013-12-27 12:04:54 +01:00
Julien Fontanet
ad5e68091f Runner script should forward its arguments to XO-Server. 2013-12-27 11:51:32 +01:00
Julien Fontanet
280b3275b4 $XAPI handles EHOSTUNREACH errors. 2013-12-27 11:49:45 +01:00
Julien Fontanet
a3a87f54df Minor fixes. 2013-12-27 10:26:54 +01:00
Julien Fontanet
8ed912913d Minor fixes. 2013-12-27 10:26:54 +01:00
Julien Fontanet
99068ca605 Port can be specified in a server host. 2013-12-23 20:19:19 +01:00
Julien Fontanet
514109fa4e Port can now be specified for a Xen server. 2013-12-23 18:11:05 +01:00
Julien Fontanet
f979092f59 hashy updated & minor fix. 2013-12-23 17:54:38 +01:00
Olivier Lambert
1d9d1ca7dc add console in spec 2013-12-20 12:32:52 +01:00
Olivier Lambert
4df7235b09 start to introduce cpu/vcpu count but there is a bug on vcpu count for each host. global stat seems OK 2013-12-20 01:48:13 +01:00
Olivier Lambert
ee72e5ea91 this one goes out to @julien-f too ;) 2013-12-19 23:43:58 +01:00
Olivier Lambert
6575891546 fix typo, american english is not used in XAPI julien-f ;) 2013-12-19 23:34:19 +01:00
Olivier Lambert
30c7fbddaa add ip address in VM by guest_metrics 2013-12-19 23:12:07 +01:00
Julien Fontanet
e1c97ac393 Ensures numeric fields are Number. 2013-12-19 16:46:25 +01:00
Julien Fontanet
c443422b10 host.controller. 2013-12-19 15:39:07 +01:00
Julien Fontanet
2ef2f9bbc3 Shared SRs. 2013-12-19 15:14:31 +01:00
Julien Fontanet
1c98a05b4f Do not rely on VM metrics for memory when not running. 2013-12-19 15:02:52 +01:00
Julien Fontanet
f637cab5ec Properly handle running VMs. 2013-12-19 14:54:35 +01:00
Olivier Lambert
0e232b4c49 add mem for halted hosts 2013-12-19 14:31:26 +01:00
Julien Fontanet
3d37260d5c Halted VMs are now available from their pool. 2013-12-19 14:05:16 +01:00
Julien Fontanet
ce56f072d4 Items where not removed from arrays in specification. 2013-12-19 12:54:32 +01:00
Julien Fontanet
3fc5aba3bc Do not rely on VM guest metrics for memory. 2013-12-19 12:50:36 +01:00
Julien Fontanet
92f450cda0 VM's CPU number. 2013-12-18 19:20:59 +01:00
Julien Fontanet
76b26a7ee6 CPUs utilization for VMs. 2013-12-18 18:59:41 +01:00
Julien Fontanet
cdc9eff2fb VBDs without VDIs should be ignored. 2013-12-18 18:50:38 +01:00
Julien Fontanet
7fb3b19cb8 Memory is now correctly defined in xo object. 2013-12-18 18:20:26 +01:00
Julien Fontanet
76b9c3c0e4 Trivial fix :/ 2013-12-18 17:57:02 +01:00
Julien Fontanet
109864c3bf VM memory is correctly retrieve. 2013-12-18 17:55:30 +01:00
Julien Fontanet
522fc51c3a Master added to the pool type. 2013-12-18 16:15:16 +01:00
Julien Fontanet
3dd66e40f8 Minor fix (for an edge case) in collection mapper. 2013-12-18 12:43:32 +01:00
Julien Fontanet
54dc3e5a71 Host object updated & minor fix in the collection mapper. 2013-12-18 12:37:46 +01:00
Julien Fontanet
23311c0235 $synchronize works with promises too. 2013-12-17 23:25:33 +01:00
Julien Fontanet
6e75a3829a The web server listens on port 80 by default. 2013-12-17 23:25:00 +01:00
Julien Fontanet
8b3373a7cc New HTTP/HTTPS server configuration, a lot more flexible. 2013-12-17 16:24:36 +01:00
Olivier Lambert
7fc9ca96b2 add snap for vdi 2013-12-14 23:51:51 +01:00
Olivier Lambert
7c3dcf586c fix vbd for sr thanks to julienf 2013-12-14 19:04:09 +01:00
Olivier Lambert
a1ef1353da add vbd vdi pbd 2013-12-14 18:44:49 +01:00
Olivier Lambert
9ce2c55cc4 add vbd and pbd 2013-12-14 17:01:00 +01:00
Julien Fontanet
49fcefbf2d Various cleanings & minor fix (xapi.js). 2013-12-14 15:37:19 +01:00
Julien Fontanet
7eb0c36a8e Minor fix. 2013-12-14 01:02:03 +01:00
Julien Fontanet
95dc2d430c The main file now also uses CoffeeScript and fibers. 2013-12-13 14:17:18 +01:00
Julien Fontanet
a3d04fa810 Some core parts were rewritten using CoffeeScript and fibers. 2013-12-12 17:43:34 +01:00
Julien Fontanet
26aaf5f53c Various fixes. 2013-12-09 18:19:55 +01:00
Julien Fontanet
5208d3d091 Minor fix. 2013-12-09 17:51:29 +01:00
Julien Fontanet
177f7af7d7 Initial work on the new data model. 2013-12-09 17:07:39 +01:00
Julien Fontanet
047f8a7888 Better EditorConfig. 2013-11-27 15:07:32 +01:00
Julien Fontanet
e302b33d3b Various cleanings in the main file + CoffeScript. 2013-11-27 15:01:01 +01:00
Julien Fontanet
0c5c76b5cc Do not use Superstack due to its huge impact on performance and memory. 2013-11-25 15:04:58 +01:00
Julien Fontanet
54a7de62e0 Debug mode using Node-Inspector as been added to the launcher. 2013-11-21 17:05:36 +01:00
Julien Fontanet
5b056f563e Disable Q.longStackSupport as we already use Superstack. 2013-11-21 17:05:00 +01:00
Julien Fontanet
a38972bd2e Avoid promise.fail() AMAP: it unecessary consume memory. 2013-11-21 15:32:51 +01:00
Julien Fontanet
0f3c3920a1 Bug fix. 2013-10-30 17:10:03 +01:00
Julien Fontanet
f23905f5ee Use superstack to have better stacktraces with async code. 2013-10-30 12:21:36 +01:00
Julien Fontanet
e69db958b2 Display an error message when the HTTP(S) server could not start. 2013-10-30 12:21:10 +01:00
Julien Fontanet
ac39e3b98e Add EditorConfig. 2013-10-29 10:58:06 +01:00
Julien Fontanet
c22f642418 Minor updates. 2013-10-21 17:20:02 +02:00
Julien Fontanet
c8a47d7b99 HTTPS support (fix #16). 2013-10-21 16:52:44 +02:00
Julien Fontanet
302d9cb321 Handles object deletions in XAPI events. 2013-10-10 15:25:12 +02:00
Julien Fontanet
95a4dc94a4 Various updates. 2013-10-09 16:40:43 +02:00
Julien Fontanet
3ca027fa69 Various updates. 2013-10-09 15:24:28 +02:00
Julien Fontanet
02ae845bab Magic fix. 2013-10-07 09:07:57 +02:00
Julien Fontanet
0472c22b08 Various updates. 2013-10-04 15:29:22 +02:00
Julien Fontanet
424c6403e1 Events logging for debugging. 2013-10-04 14:41:06 +02:00
Julien Fontanet
e8b1be6568 Various updates. 2013-10-04 13:39:50 +02:00
Julien Fontanet
c759df855d Minor fix. 2013-10-04 12:01:20 +02:00
Julien Fontanet
e105ce8c65 Various updates. 2013-10-04 11:59:30 +02:00
Julien Fontanet
9a813adf0e Various updates. 2013-10-03 17:53:07 +02:00
Julien Fontanet
e703824198 Stats are now generated only when needed and at most every 10s. 2013-10-03 14:23:50 +02:00
Julien Fontanet
9eb3973131 Minor fix. 2013-10-03 13:29:22 +02:00
Julien Fontanet
1f09d9e8b9 Various updates. 2013-10-02 19:02:33 +02:00
Julien Fontanet
10edf58bf9 Various updates. 2013-10-02 18:18:34 +02:00
Julien Fontanet
426dbf4fff Various updates. 2013-10-01 17:52:52 +02:00
Julien Fontanet
e68f1d64a3 Listen on all addresses per default. 2013-09-30 15:36:05 +02:00
Julien Fontanet
3f25d10e6f Fix: take “http.host” config entry into account. 2013-09-13 11:28:07 +02:00
Julien Fontanet
537e3b6f1f Minor fix. 2013-09-13 11:18:55 +02:00
Julien Fontanet
6988a3250b New stats (vatesfr/xo-web#29). 2013-09-13 11:12:21 +02:00
Julien Fontanet
4c902c5da5 Remove legacy files. 2013-09-12 14:53:51 +02:00
Julien Fontanet
f7c793ce8c Minor fix (fixes #12). 2013-09-11 12:59:47 +02:00
Julien Fontanet
ac69349822 Persistent users, tokens & servers using Redis (fixes #9 & #10). 2013-09-11 12:44:45 +02:00
Julien Fontanet
937345f0e0 Minor fix. 2013-09-05 12:45:48 +02:00
Julien Fontanet
34a77d4a11 Configuration file. 2013-09-03 13:40:04 +02:00
Julien Fontanet
e3519f571e Various updates. 2013-08-30 20:23:42 +02:00
Olivier Lambert
dd4a40ccab commented out default test server for better integration with appliance 2013-08-14 16:21:54 +01:00
Julien Fontanet
2d0e8d371a Include VIFs. 2013-08-14 13:10:43 +02:00
Julien Fontanet
a6f391dd68 Merge branch 'nodejs'.
This new version of XO-Server is now based on node.js instead of PHP.
2013-08-13 16:47:09 +02:00
Julien Fontanet
6dff423206 Minor updates. 2013-08-13 16:40:11 +02:00
Julien Fontanet
87b880d869 Do not crash when a server is unavailable (fixes #8). 2013-08-13 12:34:17 +02:00
Olivier Lambert
e53742e554 readme for nodejs version 2013-08-04 20:21:11 +02:00
Olivier Lambert
94b88d8f8a add some actions in backend: clean[reboot/shutdown] and start a VM 2013-08-02 16:02:07 +02:00
Olivier Lambert
0b9f8b8340 add unpause action 2013-08-01 12:36:01 +02:00
Olivier Lambert
e384c8f5a7 remove useless (at the moment) XAPI objects 2013-07-31 23:29:42 +02:00
Julien Fontanet
8ae74ee4fe Various updates. 2013-07-31 18:50:20 +02:00
Julien Fontanet
35a06a4364 Auto-connect to new servers. 2013-07-31 16:11:47 +02:00
Julien Fontanet
f9055952a4 Various updates. 2013-07-30 17:21:27 +02:00
Julien Fontanet
20e675a080 Various updates. 2013-07-30 13:25:51 +02:00
Julien Fontanet
199d107914 Minor fixes. 2013-07-29 12:52:14 +02:00
Julien Fontanet
7812266dea API change: XAPI objects are available through the “xapi” namespace. 2013-07-29 10:21:00 +02:00
Julien Fontanet
53af1f5fdd Expose (temporarily) the session ids. 2013-07-26 15:04:31 +02:00
Julien Fontanet
f619d3f9a7 Various updates. 2013-07-26 13:45:09 +02:00
Julien Fontanet
64e2dc3529 Initial connection with Xen Servers. 2013-07-25 15:08:24 +02:00
Julien Fontanet
cbd0b91d6b Minor fixes in the WebSocket-TCP proxy. 2013-07-24 13:17:12 +02:00
Chris Allard
f4d7ce72c2 Add new functions test 2013-07-24 11:19:07 +02:00
Julien Fontanet
3c52c56315 Various updates.
- Files in “public/http” are now served.
- The WebSocket API is now available at “/api/”.
- A WebSocket to TCP proxy is available at “/websockify”.
2013-07-24 10:48:34 +02:00
Olivier Lambert
c3119d1b29 fix Readme 2013-07-22 10:35:33 +02:00
Julien Fontanet
4b5d13fd19 Test updates. 2013-07-17 15:19:36 +02:00
Chris Allard
0fdceb2281 Test updates. 2013-07-17 10:45:21 +02:00
Julien Fontanet
9b2c56815b Various updates. 2013-07-16 15:36:35 +02:00
Julien Fontanet
c650a92a1d Various updates. 2013-07-16 13:51:44 +02:00
Julien Fontanet
c611cccc06 Various collection refactoring. 2013-07-16 11:48:54 +02:00
Julien Fontanet
4ea335b974 Various fixes. 2013-07-15 18:16:30 +02:00
Julien Fontanet
c140216fc3 Various updates. 2013-07-15 15:24:31 +02:00
Julien Fontanet
d01d89767a Code mutualization. 2013-07-12 14:16:19 +02:00
Julien Fontanet
9adfec28cf API method: server.getAll(). 2013-07-11 17:29:04 +02:00
Julien Fontanet
bcc400c7d7 Various updates. 2013-07-11 16:46:20 +02:00
Julien Fontanet
d80ff58bb8 Permission checking in user.create(). 2013-07-11 15:55:01 +02:00
Chris Allard
93bb0e9097 API method: user.getAll(). 2013-07-11 15:54:10 +02:00
Chris Allard
1c61ec3bd3 API method: user.changePassword(old, new). 2013-07-11 13:16:35 +02:00
Chris Allard
d3ec9a0669 API method: user.delete(id). 2013-07-11 11:41:45 +02:00
Julien Fontanet
00f0fee211 Various updates. 2013-07-11 11:17:08 +02:00
Julien Fontanet
c9cd1ebee2 Various updates. 2013-07-11 10:51:55 +02:00
Julien Fontanet
16667e0d40 Various updates. 2013-07-10 18:11:10 +02:00
Julien Fontanet
2134e3b4d1 Various updates. 2013-07-10 12:25:55 +02:00
Julien Fontanet
a51d7663c6 Various updates. 2013-07-09 10:55:18 +02:00
Julien Fontanet
09d71aff49 Minor simplification. 2013-07-08 18:43:55 +02:00
Julien Fontanet
d3361a3f1d Various updates. 2013-07-08 18:36:53 +02:00
Julien Fontanet
085400bd17 The “STREAM_CLIENT_ASYNC_CONNECT” seems to cause problems (see #7). 2013-07-08 14:29:01 +02:00
Julien Fontanet
479474d10a Various updates. 2013-07-08 12:05:52 +02:00
Julien Fontanet
92fb359108 Missing files. 2013-07-08 10:28:53 +02:00
Julien Fontanet
a4b58b1fd7 Minor updates. 2013-07-07 22:11:36 +02:00
Julien Fontanet
54019d7843 Various updates. 2013-07-06 17:07:38 +02:00
Julien Fontanet
a39a0a9d84 Missing files. 2013-07-05 13:09:48 +02:00
Julien Fontanet
ddf259f8b7 Various updates. 2013-07-05 13:09:20 +02:00
Julien Fontanet
22ce37c0cd Minor updates. 2013-06-28 18:35:08 +02:00
Julien Fontanet
fd05a1a9cf Various updates. 2013-06-25 19:02:54 +02:00
Julien Fontanet
ae091cdb8c Initial commit. 2013-06-15 15:42:55 +02:00
Julien Fontanet
acce572374 Best preferred host handling (vatesfr/xo-web#6). 2013-05-27 16:35:07 +02:00
Julien Fontanet
6cc3241eed XCP name is now deprecated.
The “xcp” entry in the configuration as been renamed “xen” (but compatibility is maintained).

Comments in the “local.php.dist” file as been clarified.
2013-05-23 10:30:08 +02:00
Julien Fontanet
1a7e9730e7 Do not send empty IPs in host_getAll() (see vatesfr/xo-web#9). 2013-05-16 15:01:10 +01:00
Julien Fontanet
8f46aa2242 Treat Dom0 differently than other VMs. 2013-05-16 11:52:52 +01:00
Julien Fontanet
ee1d1f3852 Minor comment update. 2013-05-16 10:30:07 +02:00
Julien Fontanet
5a32a55900 API[host.get]() returns software_version (related to vatesfr/xo-web#2). 2013-04-12 15:03:31 +02:00
Julien Fontanet
4327137cb0 Update dependencies. 2013-04-12 15:02:27 +02:00
Julien Fontanet
332aa1d2ef Clearer error messages in XCP connections. 2013-04-12 14:06:23 +02:00
Julien Fontanet
89596591e9 Typo. 2013-03-30 12:08:18 +01:00
Julien Fontanet
bbe4f8c6ef Minor fix. 2013-03-29 14:29:21 +01:00
Julien Fontanet
3c990f6d07 Various updates. 2013-03-28 22:24:08 +01:00
Julien Fontanet
4d608c5e7a Various updates. 2013-03-28 16:09:18 +01:00
Julien Fontanet
50647fd9b7 Various updates. 2013-03-27 18:02:29 +01:00
Julien Fontanet
5f26cd7342 Various updates. 2013-03-26 19:02:18 +01:00
Julien Fontanet
2c0913637b Various updates. 2013-03-26 16:37:51 +01:00
Julien Fontanet
1065fbc422 Various updates. 2013-03-26 13:57:56 +01:00
Julien Fontanet
ce1f58956a Various updates. 2013-03-25 18:48:10 +01:00
Julien Fontanet
25d00f2fcb Various updates. 2013-03-22 18:33:49 +01:00
Julien Fontanet
27178cfd09 Various updates. 2013-03-22 14:37:25 +01:00
Julien Fontanet
029a9293f0 Use call_user_func() instead of direct variable (only in PHP 5.4). 2013-03-04 18:13:15 +01:00
Julien Fontanet
1203149cb7 Various updates. 2013-03-04 15:57:07 +01:00
Julien Fontanet
0ab5c33ddf Various updates. 2013-03-03 14:46:58 +01:00
Julien Fontanet
1209143de7 Repository reorganization. 2013-03-02 17:40:01 +01:00
Julien Fontanet
bc2806bd05 Installation procedure update. 2013-02-08 15:38:29 +01:00
Julien Fontanet
65614921b5 README update. 2013-02-08 10:35:33 +01:00
Olivier Lambert
9ee3208cff adding README stuff 2013-02-07 19:42:29 +01:00
Julien Fontanet
abb2f50e10 Initial commit. 2013-02-07 18:25:07 +01:00
711 changed files with 133187 additions and 10304 deletions

View File

@@ -1,3 +0,0 @@
{
"directory": "dist/bower_components"
}

View File

@@ -1,21 +1,65 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org
# http://EditorConfig.org
#
# Julien Fontanet's configuration
# https://gist.github.com/julien-f/8096213
# Top-most EditorConfig file.
root = true
# Common config.
[*]
# Change these settings to your own preference
indent_style = space
indent_size = 2
# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
# CoffeeScript
#
# https://github.com/polarmobile/coffeescript-style-guide/blob/master/README.md
[*.{,lit}coffee]
indent_size = 2
indent_style = space
# Markdown
[*.{md,mdwn,mdown,markdown}]
indent_size = 4
indent_style = space
# Package.json
#
# This indentation style is the one used by npm.
[package.json]
indent_size = 2
indent_style = space
# Pug (Jade)
[*.{jade,pug}]
indent_size = 2
indent_style = space
# JavaScript
#
# Two spaces seems to be the standard most common style, at least in
# Node.js (http://nodeguide.com/style.html#tabs-vs-spaces).
[*.{js,jsx,ts,tsx}]
indent_size = 2
indent_style = space
# Less
[*.less]
indent_size = 2
indent_style = space
# Sass
#
# Style used for http://libsass.com
[*.s[ac]ss]
indent_size = 2
indent_style = space
# YAML
#
# Only spaces are allowed.
[*.yaml]
indent_size = 2
indent_style = space

22
.eslintrc.js Normal file
View File

@@ -0,0 +1,22 @@
module.exports = {
extends: ['standard', 'standard-jsx'],
globals: {
__DEV__: true,
$Dict: true,
$Diff: true,
$Exact: true,
$Keys: true,
$PropertyType: true,
$Shape: true,
},
parser: 'babel-eslint',
rules: {
'comma-dangle': ['error', 'always-multiline'],
indent: 'off',
'no-var': 'error',
'node/no-extraneous-import': 'error',
'node/no-extraneous-require': 'error',
'prefer-const': 'error',
'react/jsx-indent': 'off',
},
}

15
.flowconfig Normal file
View File

@@ -0,0 +1,15 @@
[ignore]
<PROJECT_ROOT>/node_modules/.*
[include]
[libs]
[lints]
[options]
esproposal.decorators=ignore
include_warnings=true
module.use_strict=true
[strict]

35
.gitignore vendored
View File

@@ -1,5 +1,30 @@
node_modules
dist
.tmp
.sass-cache
app/bower_components
/coverage/
/node_modules/
/lerna-debug.log
/lerna-debug.log.*
/@xen-orchestra/*/dist/
/@xen-orchestra/*/node_modules/
/packages/*/dist/
/packages/*/node_modules/
/packages/vhd-cli/src/commands/index.js
/packages/xen-api/plot.dat
/packages/xo-server/.xo-server.*
/packages/xo-server/src/api/index.js
/packages/xo-server/src/xapi/mixins/index.js
/packages/xo-server/src/xo-mixins/index.js
/packages/xo-server-auth-ldap/ldap.cache.conf
/packages/xo-web/src/common/intl/locales/index.js
/packages/xo-web/src/common/themes/index.js
npm-debug.log
npm-debug.log.*
pnpm-debug.log
pnpm-debug.log.*
yarn-error.log
yarn-error.log.*

View File

@@ -1,24 +0,0 @@
{
"node": true,
"browser": true,
"esnext": true,
"bitwise": true,
"camelcase": true,
"curly": true,
"eqeqeq": true,
"immed": true,
"indent": 2,
"latedef": true,
"newcap": true,
"noarg": true,
"quotmark": "single",
"regexp": true,
"undef": true,
"unused": true,
"strict": true,
"trailing": true,
"smarttabs": true,
"globals": {
"angular": false
}
}

5
.prettierrc.js Normal file
View File

@@ -0,0 +1,5 @@
module.exports = {
semi: false,
singleQuote: true,
trailingComma: 'es5',
}

26
.travis.yml Normal file
View File

@@ -0,0 +1,26 @@
language: node_js
node_js:
#- stable # disable for now due to an issue of indirect dep upath with Node 9
- 8
- 6
# Use containers.
# http://docs.travis-ci.com/user/workers/container-based-infrastructure/
sudo: false
addons:
apt:
packages:
- qemu-utils
- blktap-utils
- vmdk-stream-converter
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
cache:
yarn: true
script:
- yarn run test
- yarn run test-integration

View File

@@ -0,0 +1,47 @@
'use strict'
const PLUGINS_RE = /^(?:@babel\/plugin-.+|babel-plugin-lodash)$/
const PRESETS_RE = /^@babel\/preset-.+$/
const NODE_ENV = process.env.NODE_ENV || 'development'
const __PROD__ = NODE_ENV === 'production'
const __TEST__ = NODE_ENV === 'test'
module.exports = function (pkg, plugins, presets) {
plugins === undefined && (plugins = {})
presets === undefined && (presets = {})
presets['@babel/preset-env'] = {
debug: !__TEST__,
loose: true,
shippedProposals: true,
targets: __PROD__
? (() => {
let node = (pkg.engines || {}).node
if (node !== undefined) {
const trimChars = '^=>~'
while (trimChars.includes(node[0])) {
node = node.slice(1)
}
return { node: node }
}
})()
: { browsers: '', node: 'current' },
useBuiltIns: '@babel/polyfill' in (pkg.dependencies || {}) && 'usage',
}
Object.keys(pkg.devDependencies || {}).forEach(name => {
if (!(name in presets) && PLUGINS_RE.test(name)) {
plugins[name] = {}
} else if (!(name in presets) && PRESETS_RE.test(name)) {
presets[name] = {}
}
})
return {
comments: !__PROD__,
ignore: __TEST__ ? undefined : [/\.spec\.js$/],
plugins: Object.keys(plugins).map(plugin => [plugin, plugins[plugin]]),
presets: Object.keys(presets).map(preset => [preset, presets[preset]]),
}
}

View File

@@ -0,0 +1,11 @@
{
"private": true,
"name": "@xen-orchestra/babel-config",
"version": "0.0.0",
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/babel-config",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": {
"type": "git",
"url": "https://github.com/vatesfr/xen-orchestra.git"
}
}

View File

@@ -0,0 +1,3 @@
module.exports = require('../../@xen-orchestra/babel-config')(
require('./package.json')
)

View File

@@ -0,0 +1,24 @@
/benchmark/
/benchmarks/
*.bench.js
*.bench.js.map
/examples/
example.js
example.js.map
*.example.js
*.example.js.map
/fixture/
/fixtures/
*.fixture.js
*.fixture.js.map
*.fixtures.js
*.fixtures.js.map
/test/
/tests/
*.spec.js
*.spec.js.map
__snapshots__/

View File

@@ -0,0 +1,145 @@
# @xen-orchestra/cron [![Build Status](https://travis-ci.org/vatesfr/xen-orchestra.png?branch=master)](https://travis-ci.org/vatesfr/xen-orchestra)
> Focused, well maintained, cron parser/scheduler
## Install
Installation of the [npm package](https://npmjs.org/package/@xen-orchestra/cron):
```
> npm install --save @xen-orchestra/cron
```
### Pattern syntax
```
<minute> <hour> <day of month> <month> <day of week>
```
Each entry can be:
- a single value
- a range (`0-23` or `*/2`)
- a list of values/ranges (`1,8-12`)
A wildcard (`*`) can be used as a shortcut for the whole range
(`first-last`).
Step values can be used in conjunctions with ranges. For instance,
`1-7/2` is the same as `1,3,5,7`.
| Field | Allowed values |
|------------------|----------------|
| minute | 0-59 |
| hour | 0-23 |
| day of the month | 1-31 or 3-letter names (`jan`, `feb`, …) |
| month | 0-11 |
| day of week | 0-7 (0 and 7 both mean Sunday) or 3-letter names (`mon`, `tue`, …) |
> Note: the month range is 0-11 to be compatible with
> [cron](https://github.com/kelektiv/node-cron), it does not appear to
> be very standard though.
### API
`createSchedule(pattern: string, zone: string = 'utc'): Schedule`
> Create a new schedule.
- `pattern`: the pattern to use, see [the syntax](#pattern-syntax)
- `zone`: the timezone to use, use `'local'` for the local timezone
```js
import { createSchedule } from '@xen-orchestra/cron'
const schedule = createSchedule('0 0 * * sun', 'America/New_York')
```
`Schedule#createJob(fn: Function): Job`
> Create a new job from this schedule.
- `fn`: function to execute, if it returns a promise, it will be
awaited before scheduling the next run.
```js
const job = schedule.createJob(() => {
console.log(new Date())
})
```
`Schedule#next(n: number): Array<Date>`
> Returns the next dates matching this schedule.
- `n`: number of dates to return
```js
schedule.next(2)
// [ 2018-02-11T05:00:00.000Z, 2018-02-18T05:00:00.000Z ]
```
`Schedule#startJob(fn: Function): () => void`
> Start a new job from this schedule and return a function to stop it.
- `fn`: function to execute, if it returns a promise, it will be
awaited before scheduling the next run.
```js
const stopJob = schedule.startJob(() => {
console.log(new Date())
})
stopJob()
```
`Job#start(): void`
> Start this job.
```js
job.start()
```
`Job#stop(): void`
> Stop this job.
```js
job.stop()
```
## Development
```
# Install dependencies
> yarn
# Run the tests
> yarn test
# Continuously compile
> yarn dev
# Continuously run the tests
> yarn dev-test
# Build for production (automatically called by npm install)
> yarn build
```
## Contributions
Contributions are *very* welcomed, either on the documentation or on
the code.
You may:
- report any [issue](https://github.com/vatesfr/xen-orchestra/issues)
you've encountered;
- fork and create a pull request.
## License
ISC © [Vates SAS](https://vates.fr)

View File

@@ -0,0 +1,59 @@
{
"name": "@xen-orchestra/cron",
"version": "1.0.3",
"license": "ISC",
"description": "Focused, well maintained, cron parser/scheduler",
"keywords": [
"cron",
"cronjob",
"crontab",
"job",
"parser",
"pattern",
"schedule",
"scheduling",
"task"
],
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/cron",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": {
"type": "git",
"url": "https://github.com/vatesfr/xen-orchestra.git"
},
"author": {
"name": "Julien Fontanet",
"email": "julien.fontanet@isonoe.net"
},
"preferGlobal": false,
"main": "dist/",
"bin": {},
"files": [
"dist/"
],
"browserslist": [
">2%"
],
"engines": {
"node": ">=6"
},
"dependencies": {
"lodash": "^4.17.4",
"moment-timezone": "^0.5.14"
},
"devDependencies": {
"@babel/cli": "7.0.0-beta.44",
"@babel/core": "7.0.0-beta.44",
"@babel/preset-env": "7.0.0-beta.44",
"@babel/preset-flow": "7.0.0-beta.44",
"cross-env": "^5.1.3",
"rimraf": "^2.6.2"
},
"scripts": {
"build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/",
"clean": "rimraf dist/",
"dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/",
"prebuild": "yarn run clean",
"predev": "yarn run clean",
"prepublishOnly": "yarn run build"
}
}

View File

@@ -0,0 +1,76 @@
import moment from 'moment-timezone'
import next from './next'
import parse from './parse'
const MAX_DELAY = 2 ** 31 - 1
class Job {
constructor (schedule, fn) {
const wrapper = () => {
const result = fn()
let then
if (result != null && typeof (then = result.then) === 'function') {
then.call(result, scheduleNext, scheduleNext)
} else {
scheduleNext()
}
}
const scheduleNext = () => {
const delay = schedule._nextDelay()
this._timeout =
delay < MAX_DELAY
? setTimeout(wrapper, delay)
: setTimeout(scheduleNext, MAX_DELAY)
}
this._scheduleNext = scheduleNext
this._timeout = undefined
}
start () {
this.stop()
this._scheduleNext()
}
stop () {
clearTimeout(this._timeout)
}
}
class Schedule {
constructor (pattern, zone = 'utc') {
this._schedule = parse(pattern)
this._createDate =
zone.toLowerCase() === 'utc'
? moment.utc
: zone === 'local' ? moment : () => moment.tz(zone)
}
createJob (fn) {
return new Job(this, fn)
}
next (n) {
const dates = new Array(n)
const schedule = this._schedule
let date = this._createDate()
for (let i = 0; i < n; ++i) {
dates[i] = (date = next(schedule, date)).toDate()
}
return dates
}
_nextDelay () {
const now = this._createDate()
return next(this._schedule, now) - now
}
startJob (fn) {
const job = this.createJob(fn)
job.start()
return job.stop.bind(job)
}
}
export const createSchedule = (...args) => new Schedule(...args)

View File

@@ -0,0 +1,89 @@
import moment from 'moment-timezone'
import sortedIndex from 'lodash/sortedIndex'
const NEXT_MAPPING = {
month: { year: 1 },
date: { month: 1 },
day: { week: 1 },
hour: { day: 1 },
minute: { hour: 1 },
}
const getFirst = values => (values !== undefined ? values[0] : 0)
const setFirstAvailable = (date, unit, values) => {
if (values === undefined) {
return
}
const curr = date.get(unit)
const next = values[sortedIndex(values, curr) % values.length]
if (curr === next) {
return
}
const timestamp = +date
date.set(unit, next)
if (timestamp > +date) {
date.add(NEXT_MAPPING[unit])
}
return true
}
// returns the next run, after the passed date
export default (schedule, fromDate) => {
let date = moment(fromDate)
.set({
second: 0,
millisecond: 0,
})
.add({ minute: 1 })
const { minute, hour, dayOfMonth, month, dayOfWeek } = schedule
setFirstAvailable(date, 'minute', minute)
if (setFirstAvailable(date, 'hour', hour)) {
date.set('minute', getFirst(minute))
}
let loop
let i = 0
do {
loop = false
if (setFirstAvailable(date, 'month', month)) {
date.set({
date: 1,
hour: getFirst(hour),
minute: getFirst(minute),
})
}
let newDate = date.clone()
if (dayOfMonth === undefined) {
if (dayOfWeek !== undefined) {
setFirstAvailable(newDate, 'day', dayOfWeek)
}
} else if (dayOfWeek === undefined) {
setFirstAvailable(newDate, 'date', dayOfMonth)
} else {
const dateDay = newDate.clone()
setFirstAvailable(dateDay, 'date', dayOfMonth)
setFirstAvailable(newDate, 'day', dayOfWeek)
newDate = moment.min(dateDay, newDate)
}
if (+date !== +newDate) {
loop = date.month() !== newDate.month()
date = newDate.set({
hour: getFirst(hour),
minute: getFirst(minute),
})
}
} while (loop && ++i < 5)
if (loop) {
throw new Error('no solutions found for this schedule')
}
return date
}

View File

@@ -0,0 +1,48 @@
/* eslint-env jest */
import mapValues from 'lodash/mapValues'
import moment from 'moment-timezone'
import next from './next'
import parse from './parse'
const N = (pattern, fromDate = '2018-04-09T06:25') => {
const iso = next(parse(pattern), moment.utc(fromDate)).toISOString()
return iso.slice(0, iso.lastIndexOf(':'))
}
describe('next()', () => {
mapValues(
{
minutely: ['* * * * *', '2018-04-09T06:26'],
hourly: ['@hourly', '2018-04-09T07:00'],
daily: ['@daily', '2018-04-10T00:00'],
monthly: ['@monthly', '2018-05-01T00:00'],
yearly: ['@yearly', '2019-01-01T00:00'],
weekly: ['@weekly', '2018-04-15T00:00'],
},
([pattern, result], title) =>
it(title, () => {
expect(N(pattern)).toBe(result)
})
)
it('select first between month-day and week-day', () => {
expect(N('* * 10 * wen')).toBe('2018-04-10T00:00')
expect(N('* * 12 * wen')).toBe('2018-04-11T00:00')
})
it('select the last available day of a month', () => {
expect(N('* * 29 feb *')).toBe('2020-02-29T00:00')
})
it('fails when no solutions has been found', () => {
expect(() => N('0 0 30 feb *')).toThrow(
'no solutions found for this schedule'
)
})
it('select the first sunday of the month', () => {
expect(N('* * * * 0', '2018-03-31T00:00')).toBe('2018-04-01T00:00')
})
})

View File

@@ -0,0 +1,193 @@
const compareNumbers = (a, b) => a - b
const createParser = ({ fields: [...fields], presets: { ...presets } }) => {
const m = fields.length
for (let j = 0; j < m; ++j) {
const field = fields[j]
let { aliases } = field
if (aliases !== undefined) {
let symbols = aliases
if (Array.isArray(aliases)) {
aliases = {}
const [start] = field.range
symbols.forEach((alias, i) => {
aliases[alias] = start + i
})
} else {
symbols = Object.keys(aliases)
}
fields[j] = {
...field,
aliases,
aliasesRegExp: new RegExp(symbols.join('|'), 'y'),
}
}
}
let field, i, n, pattern, schedule, values
const isDigit = c => c >= '0' && c <= '9'
const match = c => pattern[i] === c && (++i, true)
const consumeWhitespaces = () => {
let c
while ((c = pattern[i]) === ' ' || c === '\t') {
++i
}
}
const parseInteger = () => {
let c
const digits = []
while (isDigit((c = pattern[i]))) {
++i
digits.push(c)
}
if (digits.length === 0) {
throw new SyntaxError(`${field.name}: missing integer at character ${i}`)
}
return Number.parseInt(digits.join(''), 10)
}
const parseValue = () => {
let value
const { aliasesRegExp } = field
if (aliasesRegExp === undefined || isDigit(pattern[i])) {
value = parseInteger()
const { post } = field
if (post !== undefined) {
value = post(value)
}
} else {
aliasesRegExp.lastIndex = i
const matches = aliasesRegExp.exec(pattern)
if (matches === null) {
throw new SyntaxError(
`${field.name}: missing alias or integer at character ${i}`
)
}
const [alias] = matches
i += alias.length
value = field.aliases[alias]
}
const { range } = field
if (value < range[0] || value > range[1]) {
throw new SyntaxError(
`${field.name}: ${value} is not between ${range[0]} and ${range[1]}`
)
}
return value
}
const parseRange = () => {
let end, start, step
if (match('*')) {
if (!match('/')) {
return
}
;[start, end] = field.range
step = parseInteger()
} else {
start = parseValue()
if (!match('-')) {
values.add(start)
return
}
end = parseValue()
step = match('/') ? parseInteger() : 1
}
for (let i = start; i <= end; i += step) {
values.add(i)
}
}
const parseSequence = () => {
do {
parseRange()
} while (match(','))
}
const parse = p => {
{
const schedule = presets[p]
if (schedule !== undefined) {
return typeof schedule === 'string'
? (presets[p] = parse(schedule))
: schedule
}
}
try {
i = 0
n = p.length
pattern = p
schedule = {}
for (let j = 0; j < m; ++j) {
consumeWhitespaces()
field = fields[j]
values = new Set()
parseSequence()
if (values.size !== 0) {
schedule[field.name] = Array.from(values).sort(compareNumbers)
}
}
consumeWhitespaces()
if (i !== n) {
throw new SyntaxError(
`unexpected character at offset ${i}, expected end`
)
}
return schedule
} finally {
field = pattern = schedule = values = undefined
}
}
return parse
}
export default createParser({
fields: [
{
name: 'minute',
range: [0, 59],
},
{
name: 'hour',
range: [0, 23],
},
{
name: 'dayOfMonth',
range: [1, 31],
},
{
aliases: 'jan feb mar apr may jun jul aug sep oct nov dec'.split(' '),
name: 'month',
range: [0, 11],
},
{
aliases: 'sun mon tue wen thu fri sat'.split(' '),
name: 'dayOfWeek',
post: value => (value === 7 ? 0 : value),
range: [0, 6],
},
],
presets: {
'@annually': '0 0 1 jan *',
'@daily': '0 0 * * *',
'@hourly': '0 * * * *',
'@monthly': '0 0 1 * *',
'@weekly': '0 0 * * sun',
'@yearly': '0 0 1 jan *',
},
})

View File

@@ -0,0 +1,49 @@
/* eslint-env jest */
import parse from './parse'
describe('parse()', () => {
it('works', () => {
expect(parse('0 0-10 */10 jan,2,4-11/3 *')).toEqual({
minute: [0],
hour: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
dayOfMonth: [1, 11, 21, 31],
month: [0, 2, 4, 7, 10],
})
})
it('correctly parse months', () => {
expect(parse('* * * 0,11 *')).toEqual({
month: [0, 11],
})
expect(parse('* * * jan,dec *')).toEqual({
month: [0, 11],
})
})
it('correctly parse days', () => {
expect(parse('* * * * mon,sun')).toEqual({
dayOfWeek: [0, 1],
})
})
it('reports missing integer', () => {
expect(() => parse('*/a')).toThrow('minute: missing integer at character 2')
expect(() => parse('*')).toThrow('hour: missing integer at character 1')
})
it('reports invalid aliases', () => {
expect(() => parse('* * * jan-foo *')).toThrow(
'month: missing alias or integer at character 10'
)
})
it('dayOfWeek: 0 and 7 bind to sunday', () => {
expect(parse('* * * * 0')).toEqual({
dayOfWeek: [0],
})
expect(parse('* * * * 7')).toEqual({
dayOfWeek: [0],
})
})
})

View File

@@ -0,0 +1,3 @@
module.exports = require('../../@xen-orchestra/babel-config')(
require('./package.json')
)

View File

@@ -0,0 +1,54 @@
{
"name": "@xen-orchestra/fs",
"version": "0.0.0",
"license": "AGPL-3.0",
"description": "The File System for Xen Orchestra backups.",
"keywords": [],
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/fs",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": {
"type": "git",
"url": "https://github.com/vatesfr/xen-orchestra.git"
},
"preferGlobal": true,
"main": "dist/",
"bin": {},
"files": [
"dist/"
],
"engines": {
"node": ">=6"
},
"dependencies": {
"@babel/runtime": "^7.0.0-beta.44",
"@marsaud/smb2-promise": "^0.2.1",
"execa": "^0.10.0",
"fs-extra": "^5.0.0",
"get-stream": "^3.0.0",
"lodash": "^4.17.4",
"promise-toolbox": "^0.9.5",
"through2": "^2.0.3",
"tmp": "^0.0.33",
"xo-remote-parser": "^0.3"
},
"devDependencies": {
"@babel/cli": "7.0.0-beta.44",
"@babel/core": "7.0.0-beta.44",
"@babel/plugin-proposal-function-bind": "7.0.0-beta.44",
"@babel/plugin-transform-runtime": "^7.0.0-beta.44",
"@babel/preset-env": "7.0.0-beta.44",
"@babel/preset-flow": "7.0.0-beta.44",
"babel-plugin-lodash": "^3.3.2",
"cross-env": "^5.1.3",
"index-modules": "^0.3.0",
"rimraf": "^2.6.2"
},
"scripts": {
"build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/",
"clean": "rimraf dist/",
"dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/",
"prebuild": "yarn run clean",
"predev": "yarn run clean",
"prepare": "yarn run build"
}
}

View File

@@ -0,0 +1,288 @@
// @flow
import getStream from 'get-stream'
import { randomBytes } from 'crypto'
import { fromCallback, fromEvent, ignoreErrors } from 'promise-toolbox'
import { type Readable, type Writable } from 'stream'
import { parse } from 'xo-remote-parser'
import { createChecksumStream, validChecksumOfReadStream } from './checksum'
type Data = Buffer | Readable | string
type FileDescriptor = {| fd: mixed, path: string |}
type LaxReadable = Readable & Object
type LaxWritable = Writable & Object
type File = FileDescriptor | string
const checksumFile = file => file + '.checksum'
export default class RemoteHandlerAbstract {
_remote: Object
constructor (remote: any) {
this._remote = { ...remote, ...parse(remote.url) }
if (this._remote.type !== this.type) {
throw new Error('Incorrect remote type')
}
}
get type (): string {
throw new Error('Not implemented')
}
/**
* Asks the handler to sync the state of the effective remote with its' metadata
*/
async sync (): Promise<mixed> {
return this._sync()
}
async _sync (): Promise<mixed> {
throw new Error('Not implemented')
}
/**
* Free the resources possibly dedicated to put the remote at work, when it is no more needed
*/
async forget (): Promise<void> {
await this._forget()
}
async _forget (): Promise<void> {
throw new Error('Not implemented')
}
async test (): Promise<Object> {
const testFileName = `${Date.now()}.test`
const data = await fromCallback(cb => randomBytes(1024 * 1024, cb))
let step = 'write'
try {
await this.outputFile(testFileName, data)
step = 'read'
const read = await this.readFile(testFileName)
if (data.compare(read) !== 0) {
throw new Error('output and input did not match')
}
return {
success: true,
}
} catch (error) {
return {
success: false,
step,
file: testFileName,
error: error.message || String(error),
}
} finally {
ignoreErrors.call(this.unlink(testFileName))
}
}
async outputFile (file: string, data: Data, options?: Object): Promise<void> {
return this._outputFile(file, data, {
flags: 'wx',
...options,
})
}
async _outputFile (file: string, data: Data, options?: Object): Promise<void> {
const stream = await this.createOutputStream(file, options)
const promise = fromEvent(stream, 'finish')
stream.end(data)
await promise
}
async readFile (file: string, options?: Object): Promise<Buffer> {
return this._readFile(file, options)
}
_readFile (file: string, options?: Object): Promise<Buffer> {
return this.createReadStream(file, options).then(getStream.buffer)
}
async rename (
oldPath: string,
newPath: string,
{ checksum = false }: Object = {}
) {
let p = this._rename(oldPath, newPath)
if (checksum) {
p = Promise.all([
p,
this._rename(checksumFile(oldPath), checksumFile(newPath)),
])
}
return p
}
async _rename (oldPath: string, newPath: string) {
throw new Error('Not implemented')
}
async list (
dir: string = '.',
{
filter,
prependDir = false,
}: { filter?: (name: string) => boolean, prependDir?: boolean } = {}
): Promise<string[]> {
const entries = await this._list(dir)
if (prependDir) {
entries.forEach((entry, i) => {
entries[i] = dir + '/' + entry
})
}
return filter === undefined ? entries : entries.filter(filter)
}
async _list (dir: string): Promise<string[]> {
throw new Error('Not implemented')
}
createReadStream (
file: string,
{ checksum = false, ignoreMissingChecksum = false, ...options }: Object = {}
): Promise<LaxReadable> {
const path = typeof file === 'string' ? file : file.path
const streamP = this._createReadStream(file, options).then(stream => {
// detect early errors
let promise = fromEvent(stream, 'readable')
// try to add the length prop if missing and not a range stream
if (
stream.length === undefined &&
options.end === undefined &&
options.start === undefined
) {
promise = Promise.all([
promise,
ignoreErrors.call(
this.getSize(file).then(size => {
stream.length = size
})
),
])
}
return promise.then(() => stream)
})
if (!checksum) {
return streamP
}
// avoid a unhandled rejection warning
ignoreErrors.call(streamP)
return this.readFile(checksumFile(path)).then(
checksum =>
streamP.then(stream => {
const { length } = stream
stream = (validChecksumOfReadStream(
stream,
String(checksum).trim()
): LaxReadable)
stream.length = length
return stream
}),
error => {
if (ignoreMissingChecksum && error && error.code === 'ENOENT') {
return streamP
}
throw error
}
)
}
async _createReadStream (
file: string,
options?: Object
): Promise<LaxReadable> {
throw new Error('Not implemented')
}
async openFile (path: string, flags?: string): Promise<FileDescriptor> {
return { fd: await this._openFile(path, flags), path }
}
async _openFile (path: string, flags?: string): Promise<mixed> {
throw new Error('Not implemented')
}
async closeFile (fd: FileDescriptor): Promise<void> {
await this._closeFile(fd.fd)
}
async _closeFile (fd: mixed): Promise<void> {
throw new Error('Not implemented')
}
async refreshChecksum (path: string): Promise<void> {
const stream = (await this.createReadStream(path)).pipe(
createChecksumStream()
)
stream.resume() // start reading the whole file
await this.outputFile(checksumFile(path), await stream.checksum)
}
async createOutputStream (
file: File,
{ checksum = false, ...options }: Object = {}
): Promise<LaxWritable> {
const path = typeof file === 'string' ? file : file.path
const streamP = this._createOutputStream(file, {
flags: 'wx',
...options,
})
if (!checksum) {
return streamP
}
const checksumStream = createChecksumStream()
const forwardError = error => {
checksumStream.emit('error', error)
}
const stream = await streamP
stream.on('error', forwardError)
checksumStream.pipe(stream)
// $FlowFixMe
checksumStream.checksumWritten = checksumStream.checksum
.then(value => this.outputFile(checksumFile(path), value))
.catch(forwardError)
return checksumStream
}
async _createOutputStream (
file: mixed,
options?: Object
): Promise<LaxWritable> {
throw new Error('Not implemented')
}
async unlink (file: string, { checksum = true }: Object = {}): Promise<void> {
if (checksum) {
ignoreErrors.call(this._unlink(checksumFile(file)))
}
await this._unlink(file)
}
async _unlink (file: mixed): Promise<void> {
throw new Error('Not implemented')
}
async getSize (file: mixed): Promise<number> {
return this._getSize(file)
}
async _getSize (file: mixed): Promise<number> {
throw new Error('Not implemented')
}
}

View File

@@ -0,0 +1,100 @@
// @flow
// $FlowFixMe
import through2 from 'through2'
import { createHash } from 'crypto'
import { defer, fromEvent } from 'promise-toolbox'
import { invert } from 'lodash'
import { type Readable, type Transform } from 'stream'
// Format: $<algorithm>$<salt>$<encrypted>
//
// http://man7.org/linux/man-pages/man3/crypt.3.html#NOTES
const ALGORITHM_TO_ID = {
md5: '1',
sha256: '5',
sha512: '6',
}
const ID_TO_ALGORITHM = invert(ALGORITHM_TO_ID)
// Create a through stream which computes the checksum of all data going
// through.
//
// The `checksum` attribute is a promise which resolves at the end of the stream
// with a string representation of the checksum.
//
// const source = ...
// const checksumStream = source.pipe(createChecksumStream())
// checksumStream.resume() // make the data flow without an output
// console.log(await checksumStream.checksum)
export const createChecksumStream = (
algorithm: string = 'md5'
): Transform & { checksum: Promise<string> } => {
const algorithmId = ALGORITHM_TO_ID[algorithm]
if (!algorithmId) {
throw new Error(`unknown algorithm: ${algorithm}`)
}
const hash = createHash(algorithm)
const { promise, resolve, reject } = defer()
const stream = through2(
(chunk, enc, callback) => {
hash.update(chunk)
callback(null, chunk)
},
callback => {
resolve(`$${algorithmId}$$${hash.digest('hex')}`)
callback()
}
).once('error', reject)
stream.checksum = promise
return stream
}
// Check if the checksum of a readable stream is equals to an expected checksum.
// The given stream is wrapped in a stream which emits an error event
// if the computed checksum is not equals to the expected checksum.
export const validChecksumOfReadStream = (
stream: Readable,
expectedChecksum: string
): Readable & { checksumVerified: Promise<void> } => {
const algorithmId = expectedChecksum.slice(
1,
expectedChecksum.indexOf('$', 1)
)
if (!algorithmId) {
throw new Error(`unknown algorithm: ${algorithmId}`)
}
const hash = createHash(ID_TO_ALGORITHM[algorithmId])
const wrapper: any = stream.pipe(
through2(
{ highWaterMark: 0 },
(chunk, enc, callback) => {
hash.update(chunk)
callback(null, chunk)
},
callback => {
const checksum = `$${algorithmId}$$${hash.digest('hex')}`
callback(
checksum !== expectedChecksum
? new Error(
`Bad checksum (${checksum}), expected: ${expectedChecksum}`
)
: null
)
}
)
)
stream.on('error', error => wrapper.emit('error', error))
wrapper.checksumVerified = fromEvent(wrapper, 'end')
return wrapper
}

View File

@@ -0,0 +1,26 @@
/* eslint-env jest */
import rimraf from 'rimraf'
import tmp from 'tmp'
import { fromCallback as pFromCallback } from 'promise-toolbox'
import { getHandler } from '.'
const initialDir = process.cwd()
beforeEach(async () => {
const dir = await pFromCallback(cb => tmp.dir(cb))
process.chdir(dir)
})
afterEach(async () => {
const tmpDir = process.cwd()
process.chdir(initialDir)
await pFromCallback(cb => rimraf(tmpDir, cb))
})
test("fs test doesn't crash", async () => {
const handler = getHandler({ url: 'file://' + process.cwd() })
const result = await handler.test()
expect(result.success).toBeTruthy()
})

View File

@@ -0,0 +1,26 @@
// @flow
import type RemoteHandler from './abstract'
import RemoteHandlerLocal from './local'
import RemoteHandlerNfs from './nfs'
import RemoteHandlerSmb from './smb'
export type { default as RemoteHandler } from './abstract'
export type Remote = { url: string }
const HANDLERS = {
file: RemoteHandlerLocal,
smb: RemoteHandlerSmb,
nfs: RemoteHandlerNfs,
}
export const getHandler = (remote: Remote): RemoteHandler => {
// FIXME: should be done in xo-remote-parser.
const type = remote.url.split('://')[0]
const Handler = HANDLERS[type]
if (!Handler) {
throw new Error('Unhandled remote type')
}
return new Handler(remote)
}

View File

@@ -0,0 +1,114 @@
import fs from 'fs-extra'
import { dirname, resolve } from 'path'
import { noop, startsWith } from 'lodash'
import RemoteHandlerAbstract from './abstract'
export default class LocalHandler extends RemoteHandlerAbstract {
get type () {
return 'file'
}
_getRealPath () {
return this._remote.path
}
_getFilePath (file) {
const realPath = this._getRealPath()
const parts = [realPath]
if (file) {
parts.push(file)
}
const path = resolve.apply(null, parts)
if (!startsWith(path, realPath)) {
throw new Error('Remote path is unavailable')
}
return path
}
async _sync () {
if (this._remote.enabled) {
try {
const path = this._getRealPath()
await fs.ensureDir(path)
await fs.access(path, fs.R_OK | fs.W_OK)
} catch (exc) {
this._remote.enabled = false
this._remote.error = exc.message
}
}
return this._remote
}
async _forget () {
return noop()
}
async _outputFile (file, data, options) {
const path = this._getFilePath(file)
await fs.ensureDir(dirname(path))
await fs.writeFile(path, data, options)
}
async _readFile (file, options) {
return fs.readFile(this._getFilePath(file), options)
}
async _rename (oldPath, newPath) {
return fs.rename(this._getFilePath(oldPath), this._getFilePath(newPath))
}
async _list (dir = '.') {
return fs.readdir(this._getFilePath(dir))
}
async _createReadStream (file, options) {
if (typeof file === 'string') {
return fs.createReadStream(this._getFilePath(file), options)
} else {
return fs.createReadStream('', {
autoClose: false,
...options,
fd: file.fd,
})
}
}
async _createOutputStream (file, options) {
if (typeof file === 'string') {
const path = this._getFilePath(file)
await fs.ensureDir(dirname(path))
return fs.createWriteStream(path, options)
} else {
return fs.createWriteStream('', {
autoClose: false,
...options,
fd: file.fd,
})
}
}
async _unlink (file) {
return fs.unlink(this._getFilePath(file)).catch(error => {
// do not throw if the file did not exist
if (error == null || error.code !== 'ENOENT') {
throw error
}
})
}
async _getSize (file) {
const stats = await fs.stat(
this._getFilePath(typeof file === 'string' ? file : file.path)
)
return stats.size
}
async _openFile (path, flags) {
return fs.open(this._getFilePath(path), flags)
}
async _closeFile (fd) {
return fs.close(fd)
}
}

View File

@@ -0,0 +1,96 @@
import execa from 'execa'
import fs from 'fs-extra'
import { forEach } from 'lodash'
import LocalHandler from './local'
export default class NfsHandler extends LocalHandler {
get type () {
return 'nfs'
}
_getRealPath () {
return `/run/xo-server/mounts/${this._remote.id}`
}
async _loadRealMounts () {
let stdout
const mounted = {}
try {
stdout = await execa.stdout('findmnt', [
'-P',
'-t',
'nfs,nfs4',
'--output',
'SOURCE,TARGET',
'--noheadings',
])
const regex = /^SOURCE="([^:]*):(.*)" TARGET="(.*)"$/
forEach(stdout.split('\n'), m => {
if (m) {
const match = regex.exec(m)
mounted[match[3]] = {
host: match[1],
share: match[2],
}
}
})
} catch (exc) {
// When no mounts are found, the call pretends to fail...
if (exc.stderr !== '') {
throw exc
}
}
this._realMounts = mounted
return mounted
}
_matchesRealMount () {
return this._getRealPath() in this._realMounts
}
async _mount () {
await fs.ensureDir(this._getRealPath())
return execa('mount', [
'-t',
'nfs',
'-o',
'vers=3',
`${this._remote.host}:${this._remote.path}`,
this._getRealPath(),
])
}
async _sync () {
await this._loadRealMounts()
if (this._matchesRealMount() && !this._remote.enabled) {
try {
await this._umount(this._remote)
} catch (exc) {
this._remote.enabled = true
this._remote.error = exc.message
}
} else if (!this._matchesRealMount() && this._remote.enabled) {
try {
await this._mount()
} catch (exc) {
this._remote.enabled = false
this._remote.error = exc.message
}
}
return this._remote
}
async _forget () {
try {
await this._umount(this._remote)
} catch (_) {
// We have to go on...
}
}
async _umount (remote) {
await execa('umount', ['--force', this._getRealPath()])
}
}

View File

@@ -0,0 +1,217 @@
import Smb2 from '@marsaud/smb2-promise'
import { lastly as pFinally } from 'promise-toolbox'
import RemoteHandlerAbstract from './abstract'
const noop = () => {}
// Normalize the error code for file not found.
const normalizeError = error => {
const { code } = error
return code === 'STATUS_OBJECT_NAME_NOT_FOUND' ||
code === 'STATUS_OBJECT_PATH_NOT_FOUND'
? Object.create(error, {
code: {
configurable: true,
readable: true,
value: 'ENOENT',
writable: true,
},
})
: error
}
export default class SmbHandler extends RemoteHandlerAbstract {
constructor (remote) {
super(remote)
this._forget = noop
}
get type () {
return 'smb'
}
_getClient (remote) {
return new Smb2({
share: `\\\\${remote.host}`,
domain: remote.domain,
username: remote.username,
password: remote.password,
autoCloseTimeout: 0,
})
}
_getFilePath (file) {
if (file === '.') {
file = undefined
}
let path = this._remote.path !== '' ? this._remote.path : ''
// Ensure remote path is a directory.
if (path !== '' && path[path.length - 1] !== '\\') {
path += '\\'
}
if (file) {
path += file.replace(/\//g, '\\')
}
return path
}
_dirname (file) {
const parts = file.split('\\')
parts.pop()
return parts.join('\\')
}
async _sync () {
if (this._remote.enabled) {
try {
// Check access (smb2 does not expose connect in public so far...)
await this.list()
} catch (error) {
this._remote.enabled = false
this._remote.error = error.message
}
}
return this._remote
}
async _outputFile (file, data, options = {}) {
const client = this._getClient(this._remote)
const path = this._getFilePath(file)
const dir = this._dirname(path)
if (dir) {
await client.ensureDir(dir)
}
return client.writeFile(path, data, options)::pFinally(() => {
client.close()
})
}
async _readFile (file, options = {}) {
const client = this._getClient(this._remote)
let content
try {
content = await client
.readFile(this._getFilePath(file), options)
::pFinally(() => {
client.close()
})
} catch (error) {
throw normalizeError(error)
}
return content
}
async _rename (oldPath, newPath) {
const client = this._getClient(this._remote)
try {
await client
.rename(this._getFilePath(oldPath), this._getFilePath(newPath))
::pFinally(() => {
client.close()
})
} catch (error) {
throw normalizeError(error)
}
}
async _list (dir = '.') {
const client = this._getClient(this._remote)
let list
try {
list = await client.readdir(this._getFilePath(dir))::pFinally(() => {
client.close()
})
} catch (error) {
throw normalizeError(error)
}
return list
}
async _createReadStream (file, options = {}) {
if (typeof file !== 'string') {
file = file.path
}
const client = this._getClient(this._remote)
let stream
try {
// FIXME ensure that options are properly handled by @marsaud/smb2
stream = await client.createReadStream(this._getFilePath(file), options)
stream.on('end', () => client.close())
} catch (error) {
throw normalizeError(error)
}
return stream
}
async _createOutputStream (file, options = {}) {
if (typeof file !== 'string') {
file = file.path
}
const client = this._getClient(this._remote)
const path = this._getFilePath(file)
const dir = this._dirname(path)
let stream
try {
if (dir) {
await client.ensureDir(dir)
}
stream = await client.createWriteStream(path, options) // FIXME ensure that options are properly handled by @marsaud/smb2
} catch (err) {
client.close()
throw err
}
stream.on('finish', () => client.close())
return stream
}
async _unlink (file) {
const client = this._getClient(this._remote)
try {
await client.unlink(this._getFilePath(file))::pFinally(() => {
client.close()
})
} catch (error) {
throw normalizeError(error)
}
}
async _getSize (file) {
const client = await this._getClient(this._remote)
let size
try {
size = await client
.getSize(this._getFilePath(typeof file === 'string' ? file : file.path))
::pFinally(() => {
client.close()
})
} catch (error) {
throw normalizeError(error)
}
return size
}
// this is a fake
async _openFile (path) {
return this._getFilePath(path)
}
async _closeFile (fd) {}
}

View File

@@ -0,0 +1,3 @@
module.exports = require('../../@xen-orchestra/babel-config')(
require('./package.json')
)

View File

@@ -0,0 +1,24 @@
/benchmark/
/benchmarks/
*.bench.js
*.bench.js.map
/examples/
example.js
example.js.map
*.example.js
*.example.js.map
/fixture/
/fixtures/
*.fixture.js
*.fixture.js.map
*.fixtures.js
*.fixtures.js.map
/test/
/tests/
*.spec.js
*.spec.js.map
__snapshots__/

View File

@@ -0,0 +1,149 @@
# @xen-orchestra/log [![Build Status](https://travis-ci.org/vatesfr/xen-orchestra.png?branch=master)](https://travis-ci.org/vatesfr/xen-orchestra)
> ${pkg.description}
## Install
Installation of the [npm package](https://npmjs.org/package/@xen-orchestra/log):
```
> npm install --save @xen-orchestra/log
```
## Usage
Everywhere something should be logged:
```js
import { createLogger } from '@xen-orchestra/log'
const log = createLogger('xo-server-api')
log.warn('foo')
```
Then at application level you can choose how to handle these logs:
```js
import configure from '@xen-orchestra/log/configure'
import createConsoleTransport from '@xen-orchestra/log/transports/console'
import createEmailTransport from '@xen-orchestra/log/transports/email'
configure([
{
// if filter is a string, then it is pattern
// (https://github.com/visionmedia/debug#wildcards) which is
// matched against the namespace of the logs
filter: process.env.DEBUG,
transport: createConsoleTransport()
},
{
// only levels >= warn
level: 'warn',
transport: createEmaileTransport({
service: 'gmail',
auth: {
user: 'jane.smith@gmail.com',
pass: 'H&NbECcpXF|pyXe#%ZEb'
},
from: 'jane.smith@gmail.com',
to: [
'jane.smith@gmail.com',
'sam.doe@yahoo.com'
]
})
}
])
```
### Transports
#### Console
```js
import createConsoleTransport from '@xen-orchestra/log/transports/console'
configure(createConsoleTransport())
```
#### Email
Optional dependency:
```
> yarn add nodemailer pretty-format
```
Configuration:
```js
import createEmailTransport from '@xen-orchestra/log/transports/email'
configure(createEmailTransport({
service: 'gmail',
auth: {
user: 'jane.smith@gmail.com',
pass: 'H&NbECcpXF|pyXe#%ZEb'
},
from: 'jane.smith@gmail.com',
to: [
'jane.smith@gmail.com',
'sam.doe@yahoo.com'
]
}))
```
#### Syslog
Optional dependency:
```
> yarn add split-host syslog-client
```
Configuration:
```js
import createSyslogTransport from '@xen-orchestra/log/transports/syslog'
// By default, log to udp://localhost:514
configure(createSyslogTransport())
// But TCP, a different host, or a different port can be used
configure(createSyslogTransport('tcp://syslog.company.lan'))
```
## Development
```
# Install dependencies
> yarn
# Run the tests
> yarn test
# Continuously compile
> yarn dev
# Continuously run the tests
> yarn dev-test
# Build for production (automatically called by npm install)
> yarn build
```
## Contributions
Contributions are *very* welcomed, either on the documentation or on
the code.
You may:
- report any [issue](https://github.com/vatesfr/xo-web/issues/)
you've encountered;
- fork and create a pull request.
## License
ISC © [Vates SAS](https://vates.fr)

View File

@@ -0,0 +1 @@
module.exports = require('./dist/configure')

View File

@@ -0,0 +1,52 @@
{
"private": true,
"name": "@xen-orchestra/log",
"version": "0.0.0",
"license": "ISC",
"description": "",
"keywords": [],
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/packages/@xen-orchestra/log",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": {
"type": "git",
"url": "https://github.com/vatesfr/xen-orchestra.git"
},
"author": {
"name": "Julien Fontanet",
"email": "julien.fontanet@vates.fr"
},
"preferGlobal": false,
"main": "dist/",
"bin": {},
"files": [
"dist/"
],
"browserslist": [
">2%"
],
"engines": {
"node": ">=4"
},
"dependencies": {
"@babel/polyfill": "7.0.0-beta.42",
"lodash": "^4.17.4",
"promise-toolbox": "^0.9.5"
},
"devDependencies": {
"@babel/cli": "7.0.0-beta.42",
"@babel/core": "7.0.0-beta.42",
"@babel/preset-env": "7.0.0-beta.42",
"@babel/preset-flow": "7.0.0-beta.42",
"babel-plugin-lodash": "^3.3.2",
"cross-env": "^5.1.3",
"rimraf": "^2.6.2"
},
"scripts": {
"build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/",
"clean": "rimraf dist/",
"dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/",
"prebuild": "yarn run clean",
"predev": "yarn run prebuild",
"prepublishOnly": "yarn run build"
}
}

View File

@@ -0,0 +1,105 @@
import createConsoleTransport from './transports/console'
import LEVELS, { resolve } from './levels'
import { compileGlobPattern } from './utils'
// ===================================================================
const createTransport = config => {
if (typeof config === 'function') {
return config
}
if (Array.isArray(config)) {
const transports = config.map(createTransport)
const { length } = transports
return function () {
for (let i = 0; i < length; ++i) {
transports[i].apply(this, arguments)
}
}
}
let { filter, transport } = config
const level = resolve(config.level)
if (filter !== undefined) {
if (typeof filter === 'string') {
const re = compileGlobPattern(filter)
filter = log => re.test(log.namespace)
}
const orig = transport
transport = function (log) {
if ((level !== undefined && log.level >= level) || filter(log)) {
return orig.apply(this, arguments)
}
}
} else if (level !== undefined) {
const orig = transport
transport = function (log) {
if (log.level >= level) {
return orig.apply(this, arguments)
}
}
}
return transport
}
let transport = createTransport({
// display warnings or above, and all that are enabled via DEBUG or
// NODE_DEBUG env
filter: process.env.DEBUG || process.env.NODE_DEBUG,
level: LEVELS.INFO,
transport: createConsoleTransport(),
})
const symbol =
typeof Symbol !== 'undefined'
? Symbol.for('@xen-orchestra/log')
: '@@@xen-orchestra/log'
global[symbol] = log => transport(log)
export const configure = config => {
transport = createTransport(config)
}
// -------------------------------------------------------------------
export const catchGlobalErrors = logger => {
// patch process
const onUncaughtException = error => {
logger.error('uncaught exception', { error })
}
const onUnhandledRejection = error => {
logger.warn('possibly unhandled rejection', { error })
}
const onWarning = error => {
logger.warn('Node warning', { error })
}
process.on('uncaughtException', onUncaughtException)
process.on('unhandledRejection', onUnhandledRejection)
process.on('warning', onWarning)
// patch EventEmitter
const EventEmitter = require('events')
const { prototype } = EventEmitter
const { emit } = prototype
function patchedEmit (event, error) {
event === 'error' && !this.listenerCount(event)
? logger.error('unhandled error event', { error })
: emit.apply(this, arguments)
}
prototype.emit = patchedEmit
return () => {
process.removeListener('uncaughtException', onUncaughtException)
process.removeListener('unhandledRejection', onUnhandledRejection)
process.removeListener('warning', onWarning)
if (prototype.emit === patchedEmit) {
prototype.emit = emit
}
}
}

View File

@@ -0,0 +1,65 @@
import createTransport from './transports/console'
import LEVELS from './levels'
const symbol =
typeof Symbol !== 'undefined'
? Symbol.for('@xen-orchestra/log')
: '@@@xen-orchestra/log'
if (!(symbol in global)) {
// the default behavior, without requiring `configure` is to avoid
// logging anything unless it's a real error
const transport = createTransport()
global[symbol] = log => log.level > LEVELS.WARN && transport(log)
}
// -------------------------------------------------------------------
function Log (data, level, namespace, message, time) {
this.data = data
this.level = level
this.namespace = namespace
this.message = message
this.time = time
}
function Logger (namespace) {
this._namespace = namespace
// bind all logging methods
for (const name in LEVELS) {
const lowerCase = name.toLowerCase()
this[lowerCase] = this[lowerCase].bind(this)
}
}
const { prototype } = Logger
for (const name in LEVELS) {
const level = LEVELS[name]
prototype[name.toLowerCase()] = function (message, data) {
global[symbol](new Log(data, level, this._namespace, message, new Date()))
}
}
prototype.wrap = function (message, fn) {
const logger = this
const warnAndRethrow = error => {
logger.warn(message, { error })
throw error
}
return function () {
try {
const result = fn.apply(this, arguments)
const then = result != null && result.then
return typeof then === 'function'
? then.call(result, warnAndRethrow)
: result
} catch (error) {
warnAndRethrow(error)
}
}
}
const createLogger = namespace => new Logger(namespace)
export { createLogger }

View File

@@ -0,0 +1,24 @@
const LEVELS = Object.create(null)
export { LEVELS as default }
// https://github.com/trentm/node-bunyan#levels
LEVELS.FATAL = 60 // service/app is going to down
LEVELS.ERROR = 50 // fatal for current action
LEVELS.WARN = 40 // something went wrong but it's not fatal
LEVELS.INFO = 30 // detail on unusual but normal operation
LEVELS.DEBUG = 20
export const NAMES = Object.create(null)
for (const name in LEVELS) {
NAMES[LEVELS[name]] = name
}
export const resolve = level => {
if (typeof level === 'string') {
level = LEVELS[level.toUpperCase()]
}
return level
}
Object.freeze(LEVELS)
Object.freeze(NAMES)

View File

@@ -0,0 +1,32 @@
/* eslint-env jest */
import { forEach, isInteger } from 'lodash'
import LEVELS, { NAMES, resolve } from './levels'
describe('LEVELS', () => {
it('maps level names to their integer values', () => {
forEach(LEVELS, (value, name) => {
expect(isInteger(value)).toBe(true)
})
})
})
describe('NAMES', () => {
it('maps level values to their names', () => {
forEach(LEVELS, (value, name) => {
expect(NAMES[value]).toBe(name)
})
})
})
describe('resolve()', () => {
it('returns level values either from values or names', () => {
forEach(LEVELS, value => {
expect(resolve(value)).toBe(value)
})
forEach(NAMES, (name, value) => {
expect(resolve(name)).toBe(+value)
})
})
})

View File

@@ -0,0 +1,20 @@
import LEVELS, { NAMES } from '../levels'
// Bind console methods (necessary for browsers)
const debugConsole = console.log.bind(console)
const infoConsole = console.info.bind(console)
const warnConsole = console.warn.bind(console)
const errorConsole = console.error.bind(console)
const { ERROR, INFO, WARN } = LEVELS
const consoleTransport = ({ data, level, namespace, message, time }) => {
const fn =
level < INFO
? debugConsole
: level < WARN ? infoConsole : level < ERROR ? warnConsole : errorConsole
fn('%s - %s - [%s] %s', time.toISOString(), namespace, NAMES[level], message)
data != null && fn(data)
}
export default () => consoleTransport

View File

@@ -0,0 +1,68 @@
import prettyFormat from 'pretty-format' // eslint-disable-line node/no-extraneous-import
import { createTransport } from 'nodemailer' // eslint-disable-line node/no-extraneous-import
import { fromCallback } from 'promise-toolbox'
import { evalTemplate, required } from '../utils'
import { NAMES } from '../levels'
export default ({
// transport options (https://nodemailer.com/smtp/)
auth,
authMethod,
host,
ignoreTLS,
port,
proxy,
requireTLS,
secure,
service,
tls,
// message options (https://nodemailer.com/message/)
bcc,
cc,
from = required('from'),
to = required('to'),
subject = '[{{level}} - {{namespace}}] {{time}} {{message}}',
}) => {
const transporter = createTransport(
{
auth,
authMethod,
host,
ignoreTLS,
port,
proxy,
requireTLS,
secure,
service,
tls,
disableFileAccess: true,
disableUrlAccess: true,
},
{
bcc,
cc,
from,
to,
}
)
return log =>
fromCallback(cb =>
transporter.sendMail(
{
subject: evalTemplate(
subject,
key =>
key === 'level'
? NAMES[log.level]
: key === 'time' ? log.time.toISOString() : log[key]
),
text: prettyFormat(log.data),
},
cb
)
)
}

View File

@@ -0,0 +1,42 @@
import splitHost from 'split-host' // eslint-disable-line node/no-extraneous-import node/no-missing-import
import { createClient, Facility, Severity, Transport } from 'syslog-client' // eslint-disable-line node/no-extraneous-import node/no-missing-import
import { fromCallback } from 'promise-toolbox'
import { startsWith } from 'lodash'
import LEVELS from '../levels'
// https://github.com/paulgrove/node-syslog-client#syslogseverity
const LEVEL_TO_SEVERITY = {
[LEVELS.FATAL]: Severity.Critical,
[LEVELS.ERROR]: Severity.Error,
[LEVELS.WARN]: Severity.Warning,
[LEVELS.INFO]: Severity.Informational,
[LEVELS.DEBUG]: Severity.Debug,
}
const facility = Facility.User
export default target => {
const opts = {}
if (target !== undefined) {
if (startsWith(target, 'tcp://')) {
target = target.slice(6)
opts.transport = Transport.Tcp
} else if (startsWith(target, 'udp://')) {
target = target.slice(6)
opts.transport = Transport.Ucp
}
;({ host: target, port: opts.port } = splitHost(target))
}
const client = createClient(target, opts)
return log =>
fromCallback(cb =>
client.log(log.message, {
facility,
severity: LEVEL_TO_SEVERITY[log.level],
})
)
}

View File

@@ -0,0 +1,62 @@
import escapeRegExp from 'lodash/escapeRegExp'
// ===================================================================
const TPL_RE = /\{\{(.+?)\}\}/g
export const evalTemplate = (tpl, data) => {
const getData =
typeof data === 'function' ? (_, key) => data(key) : (_, key) => data[key]
return tpl.replace(TPL_RE, getData)
}
// -------------------------------------------------------------------
const compileGlobPatternFragment = pattern =>
pattern
.split('*')
.map(escapeRegExp)
.join('.*')
export const compileGlobPattern = pattern => {
const no = []
const yes = []
pattern.split(/[\s,]+/).forEach(pattern => {
if (pattern[0] === '-') {
no.push(pattern.slice(1))
} else {
yes.push(pattern)
}
})
const raw = ['^']
if (no.length !== 0) {
raw.push('(?!', no.map(compileGlobPatternFragment).join('|'), ')')
}
if (yes.length !== 0) {
raw.push('(?:', yes.map(compileGlobPatternFragment).join('|'), ')')
} else {
raw.push('.*')
}
raw.push('$')
return new RegExp(raw.join(''))
}
// -------------------------------------------------------------------
export const required = name => {
throw new Error(`missing required arg ${name}`)
}
// -------------------------------------------------------------------
export const serializeError = error => ({
...error,
message: error.message,
name: error.name,
stack: error.stack,
})

View File

@@ -0,0 +1,13 @@
/* eslint-env jest */
import { compileGlobPattern } from './utils'
describe('compileGlobPattern()', () => {
it('works', () => {
const re = compileGlobPattern('foo, ba*, -bar')
expect(re.test('foo')).toBe(true)
expect(re.test('bar')).toBe(false)
expect(re.test('baz')).toBe(true)
expect(re.test('qux')).toBe(false)
})
})

View File

@@ -0,0 +1 @@
dist/transports

File diff suppressed because it is too large Load Diff

46
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at julien.fontanet@vates.fr. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

27
ISSUE_TEMPLATE.md Normal file
View File

@@ -0,0 +1,27 @@
<!--
Welcome to the issue section of Xen Orchestra!
Here you can:
- report an issue
- propose an enhancement
- ask a question
Please, respect this template as much as possible, it helps us sort
the issues :)
-->
### Context
- **XO origin**: the sources / XO Appliance
- **Versions**:
- Node: **FILL HERE**
- xo-web: **FILL HERE**
- xo-server: **FILL HERE**
### Expected behavior
<!-- What you expect to happen -->
### Current behavior
<!-- What is actually happening -->

View File

@@ -1,20 +1,11 @@
# Xen Orchestra Web
# Xen Orchestra [![Chat with us](https://storage.crisp.im/plugins/images/936925df-f37b-4ba8-bab0-70cd2edcb0be/badge.svg)](https://go.crisp.im/chat/embed/?website_id=-JzqzzwddSV7bKGtEyAQ) [![Build Status](https://travis-ci.org/vatesfr/xen-orchestra.png?branch=master)](https://travis-ci.org/vatesfr/xen-orchestra)
XO-Web is part of [Xen Orchestra](https://github.com/vatesfr/xo), a web interface for XenServer or XAPI enabled hosts.
It is a web client for [XO-Server](https://github.com/vatesfr/xo-server).
[![Dependency Status](https://david-dm.org/vatesfr/xo-web.svg?theme=shields.io)](https://david-dm.org/vatesfr/xo-web)
[![devDependency Status](https://david-dm.org/vatesfr/xo-web/dev-status.svg?theme=shields.io)](https://david-dm.org/vatesfr/xo-web#info=devDependencies)
___
![](http://i.imgur.com/tRffA5y.png)
## Installation
Manual install procedure is [available here](https://github.com/vatesfr/xo/blob/master/installation.md)
XOA or manual install procedure is [available here](https://xen-orchestra.com/docs/installation.html)
## How to report a bug?
## License
If you are certain the bug is exclusively related to XO-Web, you may use the [bugtracker of this repository](https://github.com/vatesfr/xo-web/issues).
Otherwise, please consider using the [bugtracker of the general repository](https://github.com/vatesfr/xo/issues).
AGPL3 © [Vates SAS](http://vates.fr)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1,140 +0,0 @@
<!-- HTML 5 Doctype -->
<!doctype html>
<!-- The “no-js” class will be automatically removed if JavaScript is
- available.
-->
<html lang="en" dir="ltr" class="no-js">
<head>
<meta charset="utf-8">
<!--
- This file is a part of Xen Orchestra Web.
-
- Xen Orchestra Web is free software: you can redistribute it and/or
- modify it under the terms of the GNU Affero General Public License
- as published by the Free Software Foundation, either version 3 of
- the License, or (at your option) any later version.
-
- Xen Orchestra Web is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with Xen Orchestra Web. If not, see
- <http://www.gnu.org/licenses/>.
-
- @author Olivier Lambert <olivier.lambert@vates.fr>
- @license http://www.gnu.org/licenses/agpl-3.0-standalone.html GNU AGPLv3
-
- @package Xen Orchestra Web
-->
<!-- Makes sure IE is using the last engine available. -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- Replaces the “no-js” class by the “js” class if JavaScript
- is available.
-->
<script>!function(d){d.className=d.className.replace(/\bno-js\b/,'js')}(document.documentElement)</script>
<!-- (To confirm.) For smartphones and tablets: sets the page
- width to the device width and prevents the page from being
- zoomed in when going to landscape mode.
-->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Xen Orchestra</title>
<meta name="description" content="Web interface for XenServer/XAPI Hosts" />
<meta name="author" content="Vates SAS" />
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!-- build:css(.tmp) styles/main.css -->
<link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
<!-- Angular-xeditable CSS -->
<link rel="stylesheet" href="bower_components/angular-xeditable/dist/css/xeditable.css">
<!-- Angular UI Select -->
<link rel="stylesheet" href="bower_components/select2/select2.css">
<link rel="stylesheet" href="bower_components/angular-notify-toaster/toaster.css">
</head>
<body ng-app="xoWebApp">
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<!--[if lt IE 9]>
<script src="bower_components/es5-shim/es5-shim.js"></script>
<script src="bower_components/json3/lib/json3.min.js"></script>
<![endif]-->
<toaster-container></toaster-container>
<!-- Navigation bar. -->
<div ng-controller="NavBarCtrl">
<ng-include src="'views/nav-bar.html'"></ng-include>
</div>
<!-- Main content (managed by the router). -->
<div class="view-main" ui-view></div>
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<!-- build:js scripts/plugins.js -->
<script src="bower_components/angular-ui-bootstrap-bower/ui-bootstrap-tpls.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/angular-ui-utils/ui-utils.js"></script>
<script src="bower_components/angular-notify-toaster/toaster.js"></script>
<!-- endbuild -->
<!-- build:js scripts/modules.js -->
<script src="bower_components/angular-xeditable/dist/js/xeditable.js"></script>
<script src="bower_components/select2/select2.js"></script>
<script src="bower_components/angular-ui-select2/src/select2.js"></script>
<script src="bower_components/angularjs-naturalsort/index.js"></script>
<!-- endbuild -->
<!-- noVNC -->
<script src="bower_components/noVNC/include/util.js"></script>
<script>
var INCLUDE_URI = 'bower_components/noVNC/include/';
Util.load_scripts([
'webutil.js',
'base64.js',
'websock.js',
'des.js',
'keysymdef.js',
'keyboard.js',
'input.js',
'display.js',
'jsunzip.js',
'rfb.js',
]);
</script>
<!-- /noVNC -->
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/directives.js"></script>
<script src="scripts/filters.js"></script>
<script src="scripts/services.js"></script>
<script src="scripts/controllers/main.js"></script>
<script src="scripts/controllers/nav-bar.js"></script>
<script src="scripts/controllers/list.js"></script>
<script src="scripts/controllers/host.js"></script>
<script src="scripts/controllers/sr.js"></script>
<script src="scripts/controllers/pool.js"></script>
<script src="scripts/controllers/vm.js"></script>
<script src="scripts/controllers/console.js"></script>
<script src="scripts/controllers/settings.js"></script>
<script src="scripts/controllers/new_vm.js"></script>
<script src="scripts/controllers/new_sr.js"></script>
<script src="scripts/controllers/delete_vms.js"></script>
<script src="scripts/controllers/generic_modal.js"></script>
<!-- endbuild -->
</body>
</html>

View File

@@ -1,83 +0,0 @@
'use strict'
angular.module('xoWebApp', [
'ngCookies'
'ui.bootstrap'
'ui.indeterminate'
'ui.router'
'ui.select2'
'naturalSort'
'toaster'
'xeditable'
])
.config ($stateProvider, $urlRouterProvider, $tooltipProvider) ->
# Redirects unmatched URLs to `/`.
$urlRouterProvider.otherwise '/'
# Sets up the different states for our module.
$stateProvider
.state 'home',
url: '/'
controller: 'MainCtrl'
templateUrl: 'views/main.html'
.state 'list',
url: '/list'
controller: 'ListCtrl'
templateUrl: 'views/list.html'
.state 'hosts_view',
url: '/hosts/:id'
controller: 'HostCtrl'
templateUrl: 'views/host.html'
.state 'SRs_view',
url: '/srs/:id'
controller: 'SrCtrl'
templateUrl: 'views/sr.html'
.state 'SRs_new',
url: '/srs/new/:container'
controller: 'NewSrCtrl'
templateUrl: 'views/new_sr.html'
.state 'pools_view',
url: '/pools/:id'
controller: 'PoolCtrl'
templateUrl: 'views/pool.html'
.state 'VMs_new',
url: '/vms/new/:container'
controller: 'NewVmCtrl'
templateUrl: 'views/new_vm.html'
.state 'VMs_view',
url: '/vms/:id'
controller: 'VmCtrl'
templateUrl: 'views/vm.html'
.state 'consoles_view',
url: '/consoles/:id'
controller: 'ConsoleCtrl'
templateUrl: 'views/console.html'
.state 'about',
url: '/about'
templateUrl: 'views/about.html'
.state 'settings',
url: '/settings'
controller: 'SettingsCtrl'
templateUrl: 'views/settings.html'
# Changes the default settings for the tooltips.
$tooltipProvider.options
appendToBody: true
placement: 'bottom'
.run (editableOptions, editableThemes) ->
editableThemes.bs3.inputClass = 'input-sm'
editableThemes.bs3.buttonsClass = 'btn-sm'
editableOptions.theme = 'bs3'

View File

@@ -1,60 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'ConsoleCtrl', ($scope, $stateParams, xoApi, xo) ->
{id} = $stateParams
{get} = xo
push = Array::push.apply.bind Array::push
merge = do ->
(args...) ->
result = []
for arg in args
push result, arg if arg?
result
$scope.$watch(
-> xo.revision
->
unless xoApi.user
$scope.consoleUrl = ''
$scope.VDIs = []
return
VM = $scope.VM = xo.get id
return unless VM? and VM.power_state is 'Running'
pool = get VM.poolRef
return unless pool
$scope.consoleUrl = do ->
for console in VM.consoles
if console.protocol is 'rfb'
return "#{console.location}&session_id=#{pool.$sessionId}"
''
host = get VM.$container # host because the VM is running.
return unless host
# FIXME: We should filter on connected SRs (PBDs)!
SRs = get (merge host.SRs, pool.SRs)
$scope.VDIs = do ->
VDIs = []
for SR in SRs
push VDIs, SR.VDIs if SR.content_type is 'iso'
get VDIs
cdDrive = do ->
return VBD for VBD in (get VM.$VBDs) when VBD.is_cd_drive
null
$scope.mountedIso =
if cdDrive and cdDrive.VDI and (VDI = get cdDrive.VDI)
VDI.UUID
else
''
)
$scope.eject = ->
xo.vm.ejectCd id
$scope.insert = (disc_id) ->
xo.vm.insertCd id, disc_id, true

View File

@@ -1,17 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'DeleteVMsCtrl', ($scope, $modalInstance, xo, VMsIds) ->
$scope.$watch(
-> xo.revision
->
$scope.VMs = xo.get VMsIds
)
# Do disks have to be deleted for a given VM.
disks = $scope.disks = {}
do ->
disks[id] = true for id in VMsIds
$scope.delete = ->
$modalInstance.close ([id, disks[id]] for id in VMsIds)

View File

@@ -1,9 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'GenericModalCtrl', ($scope, $modalInstance, options) ->
$scope.title = options.title
$scope.message = options.message
$scope.yesButtonLabel = options.yesButtonLabel ? 'Ok'
$scope.noButtonLabel = options.noButtonLabel

View File

@@ -1,79 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'HostCtrl', ($scope, $stateParams, xoApi, xo, modal) ->
$scope.$watch(
-> xo.revision
->
host = $scope.host = xo.get $stateParams.id
return unless host?
$scope.pool = xo.get host.poolRef
SRsToPBDs = $scope.SRsToPBDs = Object.create null
for PBD in host.$PBDs
PBD = xo.get PBD
# If this PBD is unknown, just skips it.
continue unless PBD
SRsToPBDs[PBD.SR] = PBD
)
$scope.removeMessage = xo.message.delete
$scope.removeTask = xo.task.delete
$scope.disconnectPBD = xo.pbd.disconnect
$scope.removePBD = xo.pbd.delete
$scope.new_sr = xo.pool.new_sr
$scope.pool_addHost = (id) ->
xo.host.attach id
$scope.pool_removeHost = (id) ->
modal.confirm({
title: 'Remove host from pool'
message: 'Are you sure you want to detach this host from its pool? It will be automatically rebooted'
}).then ->
xo.host.detach id
$scope.rebootHost = (id) ->
modal.confirm({
title: 'Reboot host'
message: 'Are you sure you want to reboot this host? It will be disabled then rebooted'
}).then ->
xo.host.restart id
$scope.restartToolStack = (id) ->
modal.confirm({
title: 'Restart XAPI'
message: 'Are you sure you want to restart the XAPI toolstack?'
}).then ->
xo.host.restartToolStack id
$scope.shutdownHost = (id) ->
modal.confirm({
title: 'Shutdown host'
message: 'Are you sure you want to shutdown this host?'
}).then ->
xo.host.stop id
$scope.saveHost = ($data) ->
{host} = $scope
{name_label, name_description, enabled} = $data
$data = {
id: host.UUID
}
if name_label isnt host.name_label
$data.name_label = name_label
if name_description isnt host.name_description
$data.name_description = name_description
if enabled isnt host.enabled
$data.enabled = host.enabled
xoApi.call 'host.set', $data
$scope.deleteLog = (id) ->
console.log "Remove log #{id}"
xo.log.delete id

View File

@@ -1,5 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'ListCtrl', ($scope, xo) ->
$scope.byTypes = xo.byTypes

View File

@@ -1,160 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'MainCtrl', ($scope, $modal, modal, xo, dateFilter) ->
VMs = []
$scope.$watch(
-> xo.revision
(revision) ->
return if revision is 0
{byTypes} = xo
$scope.xo = byTypes.xo[0]
$scope.pools = byTypes.pool
$scope.hosts = byTypes.host
VMs = $scope.VMs = byTypes.VM ? []
)
$scope.pool_disconnect = xo.pool.disconnect
$scope.new_sr = xo.pool.new_sr
$scope.pool_addHost = (id) ->
xo.host.attach id
$scope.pool_removeHost = (id) ->
modal.confirm({
title: 'Remove host from pool'
message: 'Are you sure you want to detach this host from its pool? It will be automatically rebooted'
}).then ->
xo.host.detach id
$scope.rebootHost = (id) ->
modal.confirm({
title: 'Reboot host'
message: 'Are you sure you want to reboot this host? It will be disabled then rebooted'
}).then ->
xo.host.restart id
$scope.restartToolStack = (id) ->
modal.confirm({
title: 'Restart XAPI'
message: 'Are you sure you want to restart the XAPI toolstack?'
}).then ->
xo.host.restartToolStack id
$scope.shutdownHost = (id) ->
modal.confirm({
title: 'Shutdown host'
message: 'Are you sure you want to shutdown this host?'
}).then ->
xo.host.stop id
$scope.startVM = xo.vm.start
$scope.stopVM = xo.vm.stop
$scope.force_stopVM = (id) -> xo.vm.stop id, true
$scope.rebootVM = xo.vm.restart
$scope.force_rebootVM = (id) -> xo.vm.restart id, true
$scope.migrateVM = xo.vm.migrate
$scope.snapshotVM = (id) ->
vm = xo.get (id)
date = dateFilter Date.now(), 'yyyy-MM-ddTHH:mmZ'
snapshot_name = "#{vm.name_label}_#{date}"
xo.vm.createSnapshot id, snapshot_name
# check if there is any operation pending on a VM
$scope.isVMWorking = (VM) ->
return true for _ of VM.current_operations
false
# extract a value in a object
$scope.values = (object) ->
value for _, value of object
$scope.deleteVMs = ->
{selected_VMs} = $scope
VMsIds = (id for id, selected of selected_VMs when selected)
modal = $modal.open {
controller: 'DeleteVMsCtrl'
templateUrl: 'views/delete_vms.html'
resolve: {
VMsIds: -> VMsIds
}
}
modal.result.then (toDelete) ->
for [id, deleteDisks] in toDelete
xo.vm.delete id, deleteDisks
# VMs checkboxes.
do ->
# This map marks which VMs are selected.
selected_VMs = $scope.selected_VMs = Object.create null
# Number of selected VMs.
$scope.n_selected_VMs = 0
# This is the master checkbox.
# Three states: true/false/null
$scope.master_selection = false
# Wheter all VMs are selected.
$scope.all = false
# Whether no VMs are selected.
$scope.none = true
# Updates `all`, `none` and `master_selection` when necessary.
$scope.$watch 'n_selected_VMs', (n) ->
$scope.all = (VMs.length is n)
$scope.none = (n is 0)
# When the master checkbox is clicked from indeterminate
# state, it should go to unchecked like Gmail.
$scope.master_selection = (n isnt 0)
make_matcher = (sieve) ->
(item) ->
for key, val of sieve
return false unless item[key] is val
true
$scope.selectVMs = (sieve) ->
if (sieve is true) or (sieve is false)
$scope.n_selected_VMs = if sieve then VMs.length else 0
selected_VMs[VM.UUID] = sieve for VM in VMs
return
n = 0
matcher = make_matcher sieve
++n for VM in VMs when (selected_VMs[VM.UUID] = matcher VM)
$scope.n_selected_VMs = n
$scope.updateVMSelection = (UUID) ->
if selected_VMs[UUID]
++$scope.n_selected_VMs
else
--$scope.n_selected_VMs
$scope.bulkAction = (action, args...) ->
fn = $scope[action]
unless angular.isFunction fn
throw new Error "invalid action #{action}"
for UUID, selected of selected_VMs
fn UUID, args... if selected
# Unselects all VMs.
$scope.selectVMs false
$scope.osType = (osName) ->
switch osName
when 'debian','ubuntu','centos','suse','redhat','oracle','gentoo'
'linux'
when 'windows'
'windows'
else
'other'

View File

@@ -1,22 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'NavBarCtrl', ($scope, $location, xoApi) ->
# TODO: It would make sense to inject xoApi in the scope.
$scope.$watch(
-> xoApi.status
(status) ->
$scope.status = status
)
$scope.$watch(
-> xoApi.user
(user) ->
$scope.user = user
)
$scope.logIn = xoApi.logIn
$scope.logOut = xoApi.logOut
# When a searched is entered, we must switch to the list view if
# necessary.
$scope.ensureListView = ->
$location.path '/list'

View File

@@ -1,10 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'NewSrCtrl', ($scope, $stateParams, xo) ->
$scope.$watch(
-> xo.revision
->
$scope.container = xo.get $stateParams.container
)

View File

@@ -1,212 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'NewVmCtrl', (
$scope, $stateParams, $state
xoApi, xo
bytesToSizeFilter, sizeToBytesFilter
notify
) ->
{get} = xo
removeItems = do ->
splice = Array::splice.call.bind Array::splice
(array, index, n) -> splice array, index, n ? 1
merge = do ->
push = Array::push.apply.bind Array::push
(args...) ->
result = []
for arg in args
push result, arg if arg?
result
pool = default_SR = null
$scope.$watch(
-> xo.revision
->
container = $scope.container = get $stateParams.container
# If the container was not found, no need to continue.
return unless container?
if container.type is 'host'
host = container
pool = (get container.poolRef) ? {}
else
host = {}
pool = container
default_SR = get pool.default_SR
default_SR = if default_SR
default_SR.UUID
else
''
# Computes the list of templates.
$scope.templates = get (merge pool.templates, host.templates)
# FIXME: We should filter on connected SRs (PBDs)!
# Computes the list of SRs.
SRs = get (merge pool.SRs, host.SRs)
# Computes the list of ISO SRs.
$scope.ISO_SRs = (SR for SR in SRs when SR.content_type is 'iso')
# Computes the list of writable SRs.
$scope.writable_SRs = (SR for SR in SRs when SR.content_type isnt 'iso')
# Computes the list of networks.
$scope.networks = get pool.networks
)
$scope.availableMethods = {}
$scope.CPUs = ''
$scope.installation_cdrom = ''
$scope.installation_method = ''
$scope.installation_network = ''
$scope.memory = ''
$scope.name_description = ''
$scope.name_label = ''
$scope.template = ''
$scope.VDIs = []
$scope.VIFs = []
$scope.addVIF = do ->
id = 0
->
$scope.VIFs.push {
id: id++
network: ''
}
$scope.addVIF()
$scope.removeVIF = (index) -> removeItems $scope.VIFs, index
$scope.moveVDI = (index, direction) ->
{VDIs} = $scope
newIndex = index + direction
[VDIs[index], VDIs[newIndex]] = [VDIs[newIndex], VDIs[index]]
$scope.removeVDI = (index) -> removeItems $scope.VDIs, index
VDI_id = 0
$scope.addVDI = ->
$scope.VDIs.push {
id: VDI_id++
bootable: false
size: ''
SR: default_SR
type: 'system'
}
# When the selected template changes, updates other variables.
$scope.$watch 'template', (template) ->
return unless template
{install_methods} = template.template_info
availableMethods = $scope.availableMethods = Object.create null
for method in install_methods
availableMethods[method] = true
if install_methods.length is 1 # FIXME: does not work with network.
$scope.installation_method = install_methods[0]
else
delete $scope.installation_method
VDIs = $scope.VDIs = angular.copy template.template_info.disks
for VDI in VDIs
VDI.id = VDI_id++
VDI.size = bytesToSizeFilter VDI.size
VDI.SR or= default_SR
$scope.createVM = ->
{
CPUs
installation_cdrom
installation_method
installation_network
memory
name_description
name_label
template
VDIs
VIFs
} = $scope
# Does not edit the displayed data directly.
VDIs = angular.copy VDIs
for VDI, index in VDIs
# Removes the dummy identifier used for AngularJS.
delete VDI.id
# Adds the device number based on the index.
VDI.device = "#{index}"
# Transforms the size from human readable format to bytes.
VDI.size = sizeToBytesFilter VDI.size
# TODO: handles invalid values.
# Does not edit the displayed data directly.
VIFs = angular.copy VIFs
for VIF in VIFs
# Removes the dummy identifier used for AngularJS.
delete VIF.id
# Removes the MAC address if empty.
if 'MAC' of VIF
VIF.MAC = VIF.MAC.trim()
delete VIF.MAC unless VIF.MAC
if installation_method is 'cdrom'
installation = {
method: 'cdrom'
repository: installation_cdrom
}
else
matches = /^(http|ftp|nfs)/i.exec installation_network
# FIXME: handles invalid methods.
installation = {
method: matches[1].toLowerCase()
repository: installation_network
}
data = {
installation
name_label
template: template.UUID
VDIs
VIFs
}
# TODO:
# - disable the form during creation
# - indicate the progress of the operation
xoApi.call('vm.create', data).then (id) ->
# If nothing to sets, just stops.
return id unless CPUs or name_description or memory
data = {
id
}
data.CPUs = +CPUs if CPUs
if name_description
data.name_description = name_description
if memory
memory = sizeToBytesFilter memory
# FIXME: handles invalid entries.
data.memory = memory
xoApi.call('vm.set', data).then -> id
.then (id) ->
$state.go 'VMs_view', { id }
.catch (error) ->
notify.error {
title: 'VM creation'
message: 'The creation failed'
}
console.log error

View File

@@ -1,26 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'PoolCtrl', ($scope, $stateParams, xoApi, xo) ->
$scope.$watch(
-> xo.revision
-> $scope.pool = xo.get $stateParams.id
)
$scope.savePool = ($data) ->
{pool} = $scope
{name_label, name_description} = $data
$data = {
id: pool.UUID
}
if name_label isnt pool.name_label
$data.name_label = name_label
if name_description isnt pool.name_description
$data.name_description = name_description
xoApi.call 'pool.set', $data
$scope.deleteLog = (id) ->
console.log "Remove log #{id}"
xo.log.delete id

View File

@@ -1,159 +0,0 @@
'use strict'
# FIXME: Mutualize the code between users and servers.
angular.module('xoWebApp')
.controller 'SettingsCtrl', ($scope, xoApi) ->
$scope.permissions = [
{
label: 'None'
value: 'none'
}
{
label: 'Read'
value: 'read'
}
{
label: 'Write'
value: 'write'
}
{
label: 'Admin'
value: 'admin'
}
]
# Users
do ->
# Fetches them.
$scope.users = []
xoApi.call('user.getAll').then (users) ->
$scope.users = users
# Which ones are selected?
selected = $scope.selectedUsers = {}
# New users to create.
$scope.newUsers = []
# Add a new user to be created.
$scope.addUser = ->
$scope.newUsers.push {
# Fake (unique) identifier needed by Angular.JS
id: Math.random()
# Default permission.
permission: 'none'
}
$scope.addUser()
# Saves any modifications.
$scope.saveUsers = ->
{users, newUsers} = $scope
# This will be the new list of users with those marked to
# delete removed.
updateUsers = []
for user in users
{id} = user
if selected[id]
delete selected[id]
xoApi.call 'user.delete', {id}
else
# Only sets the password if not empty.
delete user.password unless user.password
# TODO: only update users which have been modified.
xoApi.call 'user.set', user
# Remove the password from the interface.
delete user.password
updateUsers.push user
for user in newUsers
{email, permission, password} = user
# Required field.
continue unless email
# Sends the order to XO-Server.
xoApi.call 'user.create', {email, permission, password}
# The password should not be displayed.
delete user.password
# Adds the user to out local list.
updateUsers.push user
$scope.users = updateUsers
$scope.newUsers = []
# TODO: Retrieves an up to date users list from the server.
# Servers
do ->
# Fetches them.
$scope.servers = []
xoApi.call('server.getAll').then (servers) ->
$scope.servers = servers
# Which ones are selected?
selected = $scope.selectedServers = {}
# New servers to create.
$scope.newServers = []
# Add a new server to be created.
$scope.addServer = ->
$scope.newServers.push {
# Fake (unique) identifier needed by Angular.JS
id: Math.random()
}
$scope.addServer()
# Saves any modifications.
$scope.saveServers = ->
{servers, newServers} = $scope
# This will be the new list of servers with those marked to
# delete removed.
updateServers = []
for server in servers
{id} = server
if selected[id]
delete selected[id]
xoApi.call 'server.remove', {id}
else
# Only sets the password if not empty.
delete server.password unless server.password
# TODO: only update servers which have been modified.
xoApi.call 'server.set', server
# Remove the password from the interface.
delete server.password
updateServers.push server
for server in newServers
{host, username, password} = server
# Required field.
continue unless host
# Sends the order to XO-Server.
xoApi.call 'server.add', {host, username, password}
# The password should not be displayed.
delete server.password
# Adds the server to out local list.
updateServers.push server
$scope.servers = updateServers
$scope.newServers = []
# TODO: Retrieves an up to date servers list from the server.

View File

@@ -1,64 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'SrCtrl', ($scope, $stateParams, xoApi, xo, modal) ->
$scope.$watch(
-> xo.revision
-> $scope.SR = xo.get $stateParams.id
)
$scope.saveSR = ($data) ->
{SR} = $scope
{name_label, name_description} = $data
$data = {
id: SR.UUID
}
if name_label isnt SR.name_label
$data.name_label = name_label
if name_description isnt SR.name_description
$data.name_description = name_description
xoApi.call 'sr.set', $data
$scope.deleteVDI = (UUID) ->
console.log "Delete VDI #{UUID}"
modal.confirm({
title: 'VDI deletion'
message: 'Are you sure you want to delete this VDI? This operation is irreversible.'
}).then ->
xo.vdi.delete UUID
$scope.disconnectVBD = (UUID) ->
console.log "Disconnect VBD #{UUID}"
xoApi.call 'vbd.disconnect', {id: UUID}
$scope.rescanSr = (UUID) ->
console.log "Rescan SR #{UUID}"
xoApi.call 'sr.scan', {id: UUID}
$scope.saveVDI = ->
#results = []
# console.log "save"
# console.log $scope.VDI
# for result in results
# console.log result
# vdi = $scope.vdi
# {VDI} = $scope
# {name_label, name_description, size} = $data
# $data = {
# id: VDI.UUID
# }
# if size isnt $scope.Size and (size = sizeToBytesFilter size)
# $data.size = size
# $scope.sizeSize = bytesToSizeFilter size
# if name_label isnt VDI.name_label
# $data.name_label = name_label
# if name_description isnt VDI.name_description
# $data.name_description = name_description
# xoApi.call 'vdi.set', $data

View File

@@ -1,143 +0,0 @@
'use strict'
angular.module('xoWebApp')
.controller 'VmCtrl', (
$scope, $stateParams
xoApi, xo
sizeToBytesFilter, bytesToSizeFilter
modal
dateFilter
) ->
{get} = xo
$scope.$watch(
-> xo.revision
->
VM = $scope.VM = get $stateParams.id
{byTypes} = xo
$scope.hosts = byTypes.host
return unless VM?
# For the edition of this VM.
$scope.memorySize = bytesToSizeFilter VM.memory.size
# build VDI list of this VM
$scope.VDIs = []
for VBD in VM.$VBDs
VDI = get (get VBD)?.VDI
$scope.VDIs.push VDI if VDI?
)
# AngularUI select2 component settings
$scope.select2Options =
'multiple': true
'simple_tags': true
'tags': []
$scope.startVM = xo.vm.start
$scope.stopVM = xo.vm.stop
$scope.force_stopVM = (id) -> xo.vm.stop id, true
$scope.rebootVM = xo.vm.restart
$scope.force_rebootVM = (id) -> xo.vm.restart id, true
$scope.migrateVM = xo.vm.migrate
$scope.destroyVM = (id) ->
modal.confirm({
title: 'VM deletion'
message: 'Are you sure you want to delete this VM? (including its disks)'
}).then ->
# FIXME: provides a way to not delete its disks.
xo.vm.delete id, true
$scope.saveSnapshot = (id, $data) ->
snapshot = get (id)
result = {
id: snapshot.UUID
name_label: $data
}
if $data isnt snapshot.name_label
console.log "new name recorded"
result.name_label = $data
xoApi.call 'vm.set', result
$scope.saveVM = ($data) ->
{VM} = $scope
{CPUs, memory, name_label, name_description} = $data
$data = {
id: VM.UUID
}
if memory isnt $scope.memorySize and (memory = sizeToBytesFilter memory)
$data.memory = memory
$scope.memorySize = bytesToSizeFilter memory
if CPUs isnt VM.CPUs.number
$data.CPUs = +CPUs
if name_label isnt VM.name_label
$data.name_label = name_label
if name_description isnt VM.name_description
$data.name_description = name_description
xoApi.call 'vm.set', $data
# VDI
selected = $scope.selectedVDIs = {}
$scope.newVDIs = []
$scope.addVDI = ->
$scope.newVDIs.push {
# Fake (unique) identifier needed by Angular.JS
id: Math.random()
}
## TODO: Use Angular XEditable Row
$scope.deleteVDI = (UUID) ->
modal.confirm({
title: 'Disk deletion'
message: 'Are you sure you want to delete this disk? This operation is irreversible'
}).then ->
xoApi.call 'vdi.delete', {id: UUID}
$scope.disconnectVBD = (UUID) ->
console.log "Disconnect VBD #{UUID}"
xoApi.call 'vbd.disconnect', {id: UUID}
$scope.snapshotVM = (id, vm_name) ->
date = dateFilter Date.now(), 'yyyy-MM-ddTHH:mmZ'
snapshot_name = "#{vm_name}_#{date}"
console.log "Snapshot #{snapshot_name} from VM #{id}"
xo.vm.createSnapshot id, snapshot_name
$scope.deleteSnapshot = (id) ->
console.log "Delete snapshot #{id}"
modal.confirm({
title: 'Snapshot deletion'
message: 'Are you sure you want to delete this snapshot? (including its disks)'
}).then ->
# FIXME: provides a way to not delete its disks.
xo.vm.delete id, true
$scope.deleteLog = (id) ->
console.log "Remove log #{id}"
xo.log.delete id
$scope.revertSnapshot = (id) ->
console.log "Revert snapshot to #{id}"
modal.confirm({
title: 'Revert to snapshot'
message: 'Are you sure you want to revert your VM to this snapshot? The VM will be halted and this operation is irreversible'
}).then ->
xo.vm.revert id
$scope.osType = (osName) ->
switch osName
when 'debian','ubuntu','centos','suse','redhat','oracle','gentoo'
'linux'
when 'windows'
'windows'
else
'other'

View File

@@ -1,201 +0,0 @@
angular.module('xoWebApp')
# This attribute stops the ascendant propagation of a given event.
#
# The value of this attribute should be the name of the event to
# stop.
.directive 'stopEvent', ->
(_, $element, attrs) ->
$element.on attrs.stopEvent, ($event) -> $event.stopPropagation()
# This attribute works similarly to `ng-click` but do not handle the
# event if the clicked element:
# - is an `input`;
# - has a `ng-click` attribute;
# - has a `xo-click` attribute;
# - has a `xo-sref` attribute;
# - is a link (`a`) and has a `href` attribute.
.directive 'xoClick', ($parse) ->
($scope, $element, attrs) ->
fn = $parse attrs.xoClick
current = $element.get(0)
current.addEventListener(
'click'
(event) ->
# Browse all parent elements of the element the event
# happened to and abort if one of them should handle the
# event itself.
el = event.target
while el isnt current
{attributes: attrs, tagName: tag} = el
return if (
tag is 'INPUT' or
attrs['ng-click']? or
attrs['xo-click']? or
attrs['xo-sref']? or
(tag is 'A') and attrs.href?
)
el = el.parentNode
# Stop the propagation.
event.stopPropagation()
# Apply the `xo-click` attribute.
$scope.$apply ->
fn $scope, {$event: event}
true
)
# TODO: create a directive which allows a link on any element.
# TODO: Mutualize code with `xoClick`.
.directive 'xoSref', ($state, $window) ->
($scope, $element, attrs) ->
current = $element.get(0)
current.addEventListener(
'mouseup'
(event) ->
{which: button} = event
return unless button is 1 or button is 2
# Browse all parent elements of the element the event
# happened to and abort if one of them should handle the
# event itself.
el = event.target
while el isnt current
{attributes: attrs_, tagName: tag} = el
return if (
tag is 'INPUT' or
attrs_['ng-click']? or
attrs_['xo-click']? or
attrs_['xo-sref']? or
(tag is 'A') and attrs_.href?
)
el = el.parentNode
# Stop the propagation.
event.stopPropagation()
# Extracts the state and its parameters for the `xo-sref`
# attribute.
match = attrs.xoSref.match /^([^(]+)\s*(?:\((.*)\))?$/
throw new Error 'invalid SREF' unless match
state = match[1]
params = if match[2] then $scope.$eval match[2] else {}
# Ctrl modifier or middle-button.
if event.ctrlKey or button is 2
url = $state.href state, params
$window.open url
else
$state.go state, params
true
)
.directive 'xoVnc', ($window) ->
# This helper function parses a URL and returns its components:
# protocol, hostname, port, path and query.
parseUrl = (url) ->
a = $window.document.createElement 'a'
a.href = url
{protocol, hostname, port, host, pathname, search, hash} = a
{
# Protocol lowercased postfixed with ':'.
protocol
hostname
port
# Same has hostname[:port].
host
# The path excluding the query string.
pathname
# Query string (including '?').
search
# Same has `pathname + search`.
path: "#{pathname}#{search}"
# Fragment (including '#').
hash
}
# The directive definition.
{
restrict: 'E'
scope: {
height: '@?'
width: '@?'
url: '@'
remoteControl: '='
}
replace: true
template: '''
<canvas height="{{height}}" width="{{width}}">
Sorry, your browser does not support the canvas element.
</canvas>
'''
link: ($scope, $element, attrs) ->
# Default options.
$scope.$watch 'height', -> $scope.height ?= 480
$scope.$watch 'width', -> $scope.width ?= 640
rfb = null
$scope.remoteControl = {
sendCtrlAltDel: ->
rfb.sendCtrlAltDel() if rfb?
}
# Connects to the specified URL.
$scope.$watch 'url', (url) ->
# Properly disconnects first if necessary.
if rfb?
rfb.disconnect()
rfb = null
# If the URL is empty, nothing to do.
return unless url
# Creates the new RFB object.
rfb = new $window.RFB {
# Options.
encrypt: false
target: $element[0]
wsProtocols: ['chat']
# Callbacks.
onPasswordRequired: (rfb) ->
rfb.sendPassword $window.prompt 'Password required:'
onUpdateState: (args...) -> console.log args
}
# Parse the URL.
url = parseUrl url
# Connects.
rfb.connect(
url.hostname
80 # Ignores the specified port and always use 80.
'' # TODO: comment.
url.path.substr 1 # Leading '/' is added by noVNC.
)
# Properly disconnect if the console is closed.
$scope.$on '$destroy', ->
if rfb?
rfb.disconnect()
rfb = null
}

View File

@@ -1,102 +0,0 @@
angular.module('xoWebApp')
# The bytes filters takes a number and formats it using adapted
# units (KB, MB, etc.).
.filter 'bytesToSize', ->
(bytes, unit, base) ->
unit ?= 'B'
base ?= 1024
powers = ['', 'K', 'M', 'G', 'T', 'P']
i = 0
while bytes >= base
bytes /= base
++i
if bytes is -1
"-"
else
# Maximum 1 decimals.
bytes = ((bytes * 10)|0) / 10
"#{bytes}#{powers[i]}B"
.filter 'sizeToBytes', ->
regex = ///^
(\d+(?:\.\d+)?) # digits ('.' digits)?
\s* # Optional spaces beetween the digits and the unit.
([kmgtp])? # Optional unit modifier K/M/G/T/P.
b? # Optional unit (“b”), not meaningful.
$///i
factors = {
k: 1024
m: 1048576
g: 1073741824
t: 1099511627776
p: 1125899906842624
}
(size) ->
matches = regex.exec size
# If the input is invalid, just returns null.
return null unless matches
modifier = matches[2]
Math.round if modifier and (factor = factors[modifier.toLowerCase()])
factor * matches[1]
else
matches[1]
# Simply returns the number of elements in the collection.
.filter 'count', ->
(collection) ->
# Array.
if angular.isArray collection
return collection.length
# Object.
count = 0
for key of collection
++count if collection.hasOwnProperty key
count
# Resolves links between objects.
.filter('resolve', (xo) -> xo.get)
# Applies a function to a list of items.
#
# If a string is used instead of a function, it will be used as a
# property name to extract from each item.
#
# Note: This filter behaves nicely if the first argument is not an
# array.
.filter 'map', ->
(items, fn) ->
unless angular.isArray items
return []
if angular.isString fn
property = fn
fn = (item) -> item[property]
fn item for item in items
.filter '%', ->
(value) ->
# If `value` is an array of two values, divide the first by the
# second and mutiply by 100.
if value.length is 2
# Special case, if the divider is 0, simply returns "N/A".
return 'N/A' if value[1] is 0
result = 100 * value[0] / value[1]
if Number.isNaN result
return 'N/A'
value = result
# No decimals at most.
value = (Math.round value * 1e0) / 1e0
"#{value}%"

View File

@@ -1,460 +0,0 @@
angular.module('xoWebApp')
# Inspired by https://github.com/MathieuTurcotte/node-backoff.
#
# TODO: Publish in its own module (via npm/bower/UMD).
# TODO: Implements randomization in the delay.
# TODO: Should backOff() accept a reason?
.service 'BackOff', ($timeout) ->
strategies = {
constant: (mseconds) ->
@next = -> mseconds
@reset = ->
fibonacci: (init = 1)->
prev = 0
cur = init
@next = ->
[prev, cur] = [cur, prev + cur]
cur
@reset = ->
prev = 0
cur = init
exponential: (base = 2, init) ->
current = init ? base
@next = ->
value = current
current *= base
value
@reset = ->
current = init ? base
}
# TODO: Implements a default strategy in a backOffConfig constant.
BackOff = (strategy, args...) ->
unless strategy of strategies
throw new Error "invalid strategy: #{strategy}"
strategy = strategies[strategy]
strategy.apply (@_strategy = Object.create strategy), args
@_delay = 0
@_maxDelay = null
@_tries = 0
@_maxTries = null
@_timer = null
# Interfaces to the service, MUST be overloaded.
BackOff::onBackOff = BackOff::onFail = BackOff::onReady = ( -> )
# Sets a limit of tries the service will back off.
BackOff::failAfter = (tries) ->
@_maxTries = tries
# Sets a maximum delay to wait.
BackOff::waitAtMost = (mseconds) ->
@_maxDelay = mseconds
# Starts the back off.
BackOff::backOff = ->
throw new Error 'allready backed off' if @_timer
return @fail() if @_tries is @_maxTries
@_delay = @_strategy.next()
@_delay = @_maxDelay if @_maxDelay < @_delay
@_timer = $timeout (=> @_onReady()), @_delay
@onBackOff @_tries, @_delay
# Unconditionally fails.
BackOff::fail = ->
@reset()
@onFail()
# Resets the back off.
BackOff::reset = ->
@_strategy.reset()
@_tries = 0
if @_timer
$timeout.cancel @_timer
@_timer = null
BackOff::_onReady = ->
@_timer = null
tryNumber = @_tries++
@onReady tryNumber, @_delay
# Returns the service.
BackOff
.service 'modal', ($modal) ->
{
confirm: ({title, message}) ->
modal = $modal.open {
controller: 'GenericModalCtrl'
templateUrl: 'views/generic_modal.html'
resolve: {
options: -> {
title
message
noButtonLabel: 'Cancel'
}
}
}
modal.result
}
.service 'notify', (toaster) ->
notifier = (level) ->
(options) ->
if angular.isString options
options = { message: options }
else
throw new Error 'missing message' unless options.message
toaster.pop(
level
options.title ? 'Xen-Orchestra'
options.message
)
{
warning: notifier 'warning'
error: notifier 'error'
info: notifier 'info'
# TODO: It is probably a bad design to have notification for
# successful operations.
# success: notifier 'success'
}
.service 'xoApi', (
$cookieStore
$location
$rootScope
$q
BackOff
notify
) ->
url = do ->
# Note: The path is ignored, the WebSocket must be relative to
# root.
protocol = if $location.protocol() is 'https' then 'wss:' else 'ws:'
host = $location.host()
port = $location.port()
"#{protocol}//#{host}:#{port}/api/"
# Identifier of the next request.
nextId = 0
# Promises linked to the requests.
deferreds = {}
# When the socket is closed, request are enqueued.
queue = []
# Variable which will contains the webSocket to use.
socket = null
backOff = new BackOff 'fibonacci', 5e3
backOff.waitAtMost 900e3 # 15 minutes.
xoApi = {
# Current status which may be:
# - disconnected
# - connecting
# - disconnected
status: 'disconnected'
# Currently logged in user.
user: null
}
# Wraps a function to make sure scopes are updated after its
# execution.
wrap = (fn) ->
(args...) ->
result = fn.apply this, args
$rootScope.$digest()
result
# Function used to send requests when the socket is opened.
send = (method, params, deferred) ->
id = nextId++
socket.send JSON.stringify(
jsonrpc: '2.0'
id: id
method: method
params: params or []
)
deferreds[id] = deferred or $q.defer()
deferreds[id].promise
# Function used to enqueue requests when the socket is closed.
enqueue = (method, params) ->
deferred = $q.defer()
queue.push [method, params, deferred]
deferred.promise
# This variable contains the function which be called (initially
# it will points to `enqueue`).
call = enqueue
connect = ->
xoApi.status = 'connecting'
# Creation of the WebSocket.
socket = new WebSocket url
# When the WebSocket opens, send any requests enqueued.
socket.addEventListener 'open', wrap ->
xoApi.status = 'connected'
backOff.reset()
# If there is a token tries to sign in.
if (token = $cookieStore.get 'token')
send(
'session.signInWithToken'
{token}
).then (loggedInUser) ->
xoApi.user = loggedInUser
.catch ->
# The authentication failed, removes the token.
$cookieStore.remove 'token'
# Sends queued requests.
send entry... while (entry = queue.shift())?
# New requests are sent directly.
call = send
socket.addEventListener 'close', -> backOff.backOff()
# When a message is received, we call the corresponding
# deferred (if any).
socket.addEventListener 'message', (event) ->
response = JSON.parse event.data
id = response.id
deferred = deferreds[id]
unless deferred
# Response already handled.
return
delete deferreds[id]
error = response.error
unless error is undefined
deferred.reject error
return
result = response.result
if result is undefined
console.error 'invalid message received', response
deferred.reject {
message: message
object: response
}
return
deferred.resolve result
backOff.onBackOff = wrap (tryNumber, delay) ->
xoApi.status = 'disconnected'
xoApi.user = null
call = enqueue
backOff.onReady = wrap connect
connect()
# Extends the singleton with various methods and returns it.
angular.extend xoApi, {
call: (method, params) ->
call method, params
logIn: (email, password, persist) ->
call(
'session.signInWithPassword'
{email, password}
).then (loggedInUser) ->
xoApi.user = loggedInUser
if persist
call('token.create').then (token) ->
$cookieStore.put 'token', token
.catch (error) ->
notify.warning {
title: 'Authentication failed'
message: error.message
}
logOut: ->
send 'session.signOut' if socket
xoApi.user = null
$cookieStore.remove 'token'
}
# This service provides access to XO objects.
#
# Deprecated: use the service `xo` instead.
.service 'xoObjects', ($timeout, xoApi) ->
byRefs = Object.create null
byUUIDs = Object.create null
{
all
byTypes
} = xoObjects = {
revision: 0
all: []
byTypes: Object.create null
get: (key) ->
if angular.isArray key
item for item in key when (item = byUUIDs[item] ? byRefs[item])
else
byUUIDs[key] ? byRefs[key]
}
do helper = ->
xoApi.call('xo.getAllObjects').then (objects) ->
# Empty collections.
delete byTypes[key] for key of byTypes
byRefs = Object.create null
byUUIDs = Object.create null
all = objects
for object in all
byUUIDs[object.UUID] = object if object.UUID?
byRefs[object.ref] = object if object.ref?
(byTypes[object.type] ?= []).push object
++xoObjects.revision
# Fetches objects again after 5 seconds.
$timeout helper, 5e3, false
xoObjects
.service 'xo', (xoObjects, xoApi, notify) ->
action = (name, method, options) ->
unless method
return ->
notify.info {
title: name
message: 'This feature has not been implemented yet.'
}
# TODO: A (broken) promise should be returned for
# consistency.
{argsMapper, notification} = options ? {}
argsMapper ?= (id) -> {id}
(args...) ->
xoApi.call(
method
argsMapper args...
).catch (error) ->
unless notification is false
code = error?.code
message = if code is 2
'You don\'t have the permission.'
else
'The action failed for unknown reason.'
notify.warning {
title: name
message
}
console.error error
# Re-throws the error to make it available in the promise
# chain.
throw error
# The interface.
xo = {
objects: xoObjects.all
byTypes: xoObjects.byTypes
# revision: xoObjects.revision # Implemented below as a getter.
get: xoObjects.get
pool: {
disconnect: action 'Disconnect pool'
new_sr: action 'New SR' #temp fix before creating SR
}
host: {
attach: action 'Atach host'#, 'host.attach'
detach: action 'Detach host', 'host.detach'
restart: action 'Restart host', 'host.restart'
restartToolStack: action 'Restart tool stack', 'host.restart_agent'
start: action 'Start host'#, 'host.start'
stop: action 'Stop host', 'host.stop'
new_sr: action 'New SR' #temp fix before creating SR
# TODO: attach/set
}
message: {
delete: action, 'Delete message'
}
pbd: {
delete: action 'Delete PBD'
disconnect: action 'Disconnect PBD'
}
task: {
delete: action, 'Delete task'
}
vm: {
createSnapshot: action 'Create VM snapshot', 'vm.snapshot', {
argsMapper: (id, name) -> {id, name}
}
delete: action 'Delete VM', 'vm.delete', {
argsMapper: (id, delete_disks) -> { id, delete_disks }
}
ejectCd: action 'Eject disc', 'vm.ejectCd'
insertCd: action 'Insert disc', 'vm.insertCd', {
argsMapper: (id, cd_id, force = false) -> { id, cd_id, force }
}
migrate: action 'Migrate VM', 'vm.migrate', {
argsMapper: (id, host_id) -> { id, host_id }
}
restart: action 'Restart VM', 'vm.restart', {
argsMapper: (id, force = false) -> { id, force }
}
start: action 'Start VM', 'vm.start'
stop: action 'Stop VM', 'vm.stop', {
argsMapper: (id, force = false) -> { id, force }
}
revert: action 'Revert snapshot', 'vm.revert'
# TODO: create/set/pause/suspend
}
vdi: {
delete: action 'Delete VDI', 'vdi.delete'
}
log: {
delete: action 'Delete Log', 'message.delete'
}
}
# Adds the revision property.
Object.defineProperty xo, 'revision', {
get: -> xoObjects.revision
}
# Returns the interface.
xo

View File

@@ -1,317 +0,0 @@
//////////////////////////////////////////////////////////////////////
// Bootstrap
//////////////////////////////////////////////////////////////////////
$icon-font-path: "/bower_components/sass-bootstrap/fonts/"
@import sass-bootstrap/lib/bootstrap
//////////////////////////////////////////////////////////////////////
// Font-Awesome 4.
//////////////////////////////////////////////////////////////////////
$fa-font-path: "../bower_components/font-awesome/fonts"
@import font-awesome/scss/font-awesome
//////////////////////////////////////////////////////////////////////
// Style applied to a message for outdated browsers (IE <= 7).
.browsehappy
margin: 0.2em 0
background: #ccc
color: #000
padding: 0.2em 0
// Some links are used throught JavaScript and therefore does not have
// a `href` attribute, they should nevertheless have a *pointer*
// cursor.
// Same for all elements with the "ng-click" attribute.
a, [ng-click], [xo-click], [xo-sref]
cursor: pointer
// TODO: We want all our form inputs to be styled by Bootstrap.
//input, textarea, select
// @extend .form-control
// Click-through notifications.
#toast-container
pointer-events: none
// Force our content to be under the fixed navbar.
.view-main
padding-top: 50px
//////////////////////////////////////////////////////////////////////
// TODO: The styles in this file should be
// - commented;
// - converted to SASS;
// - move into this file.
@import to-clean
//////////////////////////////////////////////////////////////////////
// Colors
//////////////////////////////////////////////////////////////////////
////
// Power states
////
.xo-color-running
@extend .text-success
.xo-color-halted
@extend .text-danger
.xo-color-paused, .xo-color-suspended
@extend .text-info
.xo-color-unknown
@extend .text-muted
//////////////////////////////////////////////////////////////////////
// XO icons
//////////////////////////////////////////////////////////////////////
////
// Alerts
////
.xo-icon-info
@extend .fa, .fa-exclamation-circle, .text-muted
.xo-icon-warning
@extend .fa, .fa-exclamation-circle, .text-warning
.xo-icon-error
@extend .fa, .fa-exclamation-circle, .text-danger
////
// Objects
////
.xo-icon-console
@extend .fa, .fa-terminal
.xo-icon-pool
@extend .fa, .fa-cloud
.xo-icon-host
@extend .fa, .fa-th-large
.xo-icon-vm
@extend .fa, .fa-desktop
.xo-icon-memory
@extend .fa, .fa-tasks
.xo-icon-cpu
@extend .fa, .fa-dashboard
.xo-icon-network
@extend .fa, .fa-sitemap
.xo-icon-sr
@extend .fa, .fa-hdd-o
.xo-icon-snapshot
@extend .fa, .fa-camera
////
// Power states
////
.xo-icon-running
@extend .fa, .fa-circle, .xo-color-running
.xo-icon-halted
@extend .fa, .fa-circle, .xo-color-halted
.xo-icon-suspended
@extend .fa, .fa-circle, .xo-color-paused
.xo-icon-paused
@extend .fa, .fa-circle, .xo-color-paused
.xo-icon-unknown
@extend .fa, .fa-circle, .xo-color-unknown
// if current operation
.xo-icon-working
@extend .fa, .fa-circle, .text-warning
////
// Others.
////
.xo-icon-cpu-low
@extend .xo-icon-cpu, .text-success
.xo-icon-cpu-medium
@extend .xo-icon-cpu, .text-warning
.xo-icon-cpu-high
@extend .xo-icon-cpu, .text-danger
////
// Guest OS
////
.xo-icon-linux
@extend .fa, .fa-linux
color: #666
.xo-icon-windows
@extend .fa, .fa-windows
color: #666
.xo-icon-other
@extend .fa, .fa-question-circle
color: #666
//////////////////////////////////////////////////////////////////////
// Navbar
//////////////////////////////////////////////////////////////////////
// The login form
.login-form
padding: 1em
width: 20em
// small space between fields
.input-group
margin: .2em
// adapt button for the global theme (dark/blue/grey)
.input-group-addon
background-color: #3a87ad
color: #f8f8f8
border: 0
button
margin-top: 1em
// adapt form for the global theme
.form-control
background-color: #666
color: #f8f8f8
border: 0
// background dark for the whole form
.login-form-dark
@extend .login-form
background-color: #2e3133
//////////////////////////////////////////////////////////////////////
// Main view
//////////////////////////////////////////////////////////////////////
// FIXME: Class names are too generic and styles might be applied to
// other views as well, all styles should be namespaced (e.g.
// `.view-main`).
// Notice messages in place of the VMs list in the main page.
.vms-notice
@extend .text-center, .text-muted
font-size: 1.5em
flex: 1
align-self: center
justify-content: center
.quick-buttons
display: inline
float: right
opacity: 0
a
color: #666
margin: 0 .3em
text-decoration: none
&:hover
color: #000
// Quick actions buttons are only visible when over their row.
tr:hover .quick-buttons
opacity: 1
// remove icon/button in last row on a table
.quick-remove
display: inline
float: right
opacity: 0
a
color: #666
text-decoration: none
&:hover
color: #000
// remove only visible when over its row
tr:hover .quick-remove
opacity: 1
// edit icon/button in a panel title
.quick-edit
display: inline
float: right
opacity: 1
color: #666
&:hover
color: #000
// Substats (less important host stats)
.substats
opacity: 0
// Substat displayed on hover
div.host-cell:hover .substats
opacity: 1
// Default SRs (where a new VM will be created).
.default-sr
@extend .text-primary
font-weight: bold
// Prevents a host name from overflowing outside its box.
.host-cell, .pool-cell
& div
position: relative
.host-name, .pool-name
display: inline-block
white-space: nowrap
text-overflow: ellipsis
max-width: 80%
overflow: hidden
//////////////////////////////////////////////////////////////////////
// Pool view
//////////////////////////////////////////////////////////////////////
// Allow progress bar in small spaces, like tables
.progress-condensed
@extend .progress
margin-bottom: 0
//////////////////////////////////////////////////////////////////////
// Host view
//////////////////////////////////////////////////////////////////////
// Memory progress bar stacked for host
.progress-bar-host
@extend .progress-bar
border-right: 1px solid white
// Memory progress bar stacked for VM
.progress-bar-vm
@extend .progress-bar-success
border-right: 1px solid white
// Hover color for progress bar
.progress-bar:hover
background-color: #e25440

View File

@@ -1,225 +0,0 @@
/* Brand color */
.navbar-brand {color: #bf0000;}
input.form-control.inverse {background-color: #666; color: #f8f8f8; border: 0px;}
/* Search bar */
.popover { width: 200px; }
/* search button in main bar */
/* WARNING: hack because of strange Chrome behavior! Remove static height ASAP */
.btn-search {background-color: #3a87ad; color: #f8f8f8; height: 34px;}
.btn-search:hover {background-color: #1d4457; color: #f8f8f8;}
html {
background-color: #edece4;
/* Possibility to get a wallpaper for the background: see later in admin maybe, for the lulz */
/*background: url(bg.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;*/
}
body {
background-color: transparent;
}
.navbar-under { background-color: #f8f8f8;}
td.vcenter {
vertical-align: middle;
}
input[type="checkbox"]{
padding-top: 0px;
line-height: normal;
}
input.inverse {margin: 0;}
/* progress bar */
.progress-small {
height: 0.6em;
width: 4em;
display: inline-block;
float: center;
margin: 3px;
}
// FIXME: What is it?
//.i-progress { float: center; margin-right: 0em;}
.pool-block { margin-left: 1em; margin-right: 1em; margin-top: 0.5em; margin-bottom: 0;}
.pool-cell { margin-bottom: 0.5em; margin-left: 2em; margin-right: 1em; min-height: 6em; max-width: 190px; background-color: white; }
/* row for all hosts/vms in a pool */
.hosts-vms-cells { min-height: 6em; margin-right: -0.5em; }
/* individual host element */
.host-cell { max-width: 156px; background-color: white; margin-bottom: 0.5em;}
/* pool size mini : 195 px ; host : 161 px; */
.vm-cell {
margin-left: 0.5em;
margin-bottom: 0.5em;
background-color: white;
/* allow empty space */
/*align-self: flex-start;*/
}
.grey {color: #666; font-size: 0.9em;}
/* drodown head link for pools/hosts */
.dropdown-pool { border-bottom: 1px solid #edece4; text-align: center;}
.dropdown-pool a {
text-decoration: none;
color: #333;
}
.pool-name {font-size: 1.8em;}
.host-name {font-size: 20px;}
.big-caret {font-size: 1.4em;}
/* for dropdown menu not centered */
.dropdown-menu {background-color: white;}
.left {text-align: left;}
/* VM TABLE */
/* grab zone on VM table, for drag and drop */
td.grab {padding: 0 !important; margin: 0 !important; width: 6px !important; cursor: move;}
tr:hover .grab {background: url("../images/grip.png") no-repeat scroll 1px 50% transparent !important}
table { table-layout: fixed; }
table th, table td { overflow: hidden; }
td.vm-power-state {width: 20px; text-align: center;}
td.select-vm {width: 1.5em; height: 20px;}
td.vm-memory-stat {text-align: right;}
/* the main bar */
.navbar-inverse
{
background-color: #242628;
border-color: #2e3133;
//font-variant:small-caps;
}
.fa {font-variant: normal;}
/* the big subbar */
.sub-bar
{
height:50px;
top:50px;
position: fixed;
background:#242628;
border-bottom:1px solid #2e3133;
width:100%;
margin:0px auto;
z-index: 1020;
}
/* Black theme: inversed colors for drop down menus */
a.dropdown-toggle.inverse:hover {background-color:#2e3133 !important;}
a.dropdown-toggle.inverse:active {background-color:#2e3133 !important;}
a.dropdown-toggle.inverse:focus {background-color:#2e3133 !important;}
ul.inverse {background:#2e3133;}
ul.inverse a {color:#f8f8f8;}
ul.inverse a:hover {background-color:#242628; color: #f8f8f8 ;}
ul.inverse li.divider {background-color:#222;}
/* Inversed (black) buttons */
button.btn.navbar-btn.btn-default.inversed {background-color:#444; border-color: #222; color: #999999;}
a.btn.navbar-btn.btn-default.dropdown-toggle.inversed {background-color:#444; border-color: #222; color: #999999; margin-left: 0.5em;}
/* change caret color for inversed button */
.grey-caret {border-top-color: #999999 !important; border-bottom-color: #999999 !important;}
/* stats bar */
.overview { padding: 1em; color: #a6a6a6 ; max-width: 346px;}
.overview i {font-weight: normal;}
.small {font-size: 10pt; font-style: normal;}
/* stats pool and host */
.stats {text-align: center; margin-top: 1em; margin-bottom: 0.4em; padding-bottom: 0.4em; }
.stats a {text-decoration: none; color: #a6a6a6; margin-right: 0.6em;}
.stats a:hover {text-decoration: none; color: #333;}
.sr-name {font-size: 10pt;}
/* "actionbar" which is select and buttons when one or more VM selected */
.before-action-bar { margin-left: 1em;}
.action-bar {display: inline;}
/* SR table (in host and pool) */
.no-border {border-top: 0px !important;}
/* vm name in table */
.vm {display: inline; font-size: 10.5pt; margin: 0;}
.no-vm {font-size: 1.5em; margin-top: 1.8em; color: #999;}
.vm-cell table {margin: 0;}
.vm-cell td {border-bottom: 1px solid #edece4 !important;; border-top: 0px !important;}
/* ip display */
.cpu {display: inline;}
.cpu a {text-decoration: none; color: #a6a6a6; margin-left: 0.9em;}
.cpu a:hover {text-decoration: none; color: #333;}
/* tooltip hack to avoid be hidden by other elements */
/*
.tooltip {
position: fixed;
}
*/
/* useful global class */
.center {text-align: center;}
.right {text-align: right;}
.small-caps {font-variant:small-caps;}
.big {font-size: 2em;}
/* flex */
.grid {
display: flex;
}
.grid-cell {
flex: 1;
border-radius: 3px 3px 3px 3px;
}
/* stats name in a grid cell */
.stat-name {margin-top: 1em; text-align: center; font-variant: small-caps;}
/* flat view */
.flat-cell {border-radius: 0px; margin-left: 1em; margin-right: 1em; margin-top: 0.5em; margin-bottom: 0.5em;}
.flat-cell-name {max-width: 150px; min-width: 150px; font-weight: bold;}
.flat-cell-description {max-width: 250px; min-width: 250px;}
.flat-cell-type {max-width: 40px; font-size: 2em; text-align: center; margin: auto; margin-left: 0.5em;}
.flat-cell-tag {font-size: 11pt; margin: auto; min-height: 2.5em; padding-top: 0.4em; padding-left: 1em; opacity: 0.8;}
.flat-object {margin: 0.5em; background-color: #fff; border-radius: 3px 3px 3px 3px; margin-top: 0.5em; margin-bottom: 0.5em;}
.flat-object:hover {background-color: #f8f8f8;}
.flat-panel {background-color: white; margin: 0.5em; border-radius: 3px 3px 3px 3px; padding-left: 0.5em; padding-right: 0.5em;}
.page-title {text-align: center; font-size: 2em; margin: 0;}
.flat-panel-title {border-bottom: 1px solid #edece4; text-align: center; font-size: 1.5em;}
.grid-button {
margin-left: 1em;
margin-right: 1em;
margin-bottom: 0.5em;
padding: 0.5em;
background-color: #efefef;
}
.grid-button:hover {
background-color: #e25440;
}
/* With gutters */
.grid--gutters {
margin-left: -0.5em;
}
.grid--gutters > .grid-cell {
padding-left: 0.5em;
}

View File

@@ -1,32 +0,0 @@
<!-- TODO: lots of stuff. -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title">About Xen Orchestra</p>
</div>
</div>
<div class="grid">
<!-- Vates -->
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-lightbulb-o" style="color: #e25440;"></i> Vates</p>
<p class="text-center">We are the team behind Xen Orchestra, we are Vates! We create Open Source products and we offer commercial support for Xen and Xen Orchestra. Want to know more about us? Go to our website!
</p>
<p class="text-center"><img src="images/arrow.png"></p><br/>
<p class="text-center"><a class="btn btn-success" href="https://vates.fr"><i class="fa fa-hand-o-right"></i> Our website</a></p>
</div>
<!-- Open Source -->
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-thumbs-up" style="color: #e25440;"></i> Open Source</p>
<p class="text-center">This project is Open Source (AGPL), everyone is welcome aboard! You want a specific feature in XO? Report a bug? Go to our project website, read the FAQ and get involved in the project!</p>
<p class="text-center"><img src="images/opensource.png"></p><br/>
<p class="text-center"><a class="btn btn-info" href="https://xen-orchestra.com"><i class="fa fa-flask"></i> Projet website</a></p>
</div>
<!-- Pro support -->
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-truck" style="color: #e25440;"></i> Pro Support Delivered</p>
<p class="text-center">Our XO Appliance can be delivered with professional support: stay relaxed, we got your back! You can also have assitance for deploying or upgrade your virtualized infrastructure through our deep understanding of Xen.</p>
<p class="text-center"><img src="images/support.png"></p>
<p class="text-center"><a class="btn btn-primary" href="https://xen-orchestra.com/services/"><i class="fa fa-envelope"></i> Get services</a></p>
</div>
</div>

View File

@@ -1,47 +0,0 @@
<!-- TODO: lots of stuff. -->
<div class="row">
<div class="grid-cell flat-panel">
<p class="page-title"><i class="xo-icon-console xo-color-{{vm.power_state | lowercase}}"></i> {{VM.name_label}}</p>
</div>
</div>
<!-- ISO selector and CtrlAltSuppr button -->
<div class="row flat-panel">
<div class="col-md-5">
<select
class="form-control"
ng-model="mountedIso"
ng-change="insert(mountedIso)"
ng-options="VDI.UUID as VDI.name_label group by (VDI.$SR | resolve).name_label for VDI in VDIs | orderBy:natural('name_label')"
></select>
</div>
<div class="col-md-1">
<button
class="btn btn-default"
ng-click="eject()"
ng-disabled="!mountedIso"
>
<i class="fa fa-eject"></i>
</button>
</div>
<div class="col-md-6 text-right">
<button
class="btn btn-default"
ng-click="vncRemote.sendCtrlAltDel()"
>
<i class="fa fa-keyboard-o"></i> Ctrl+Alt+Del
</button>
</div>
</div>
<!-- NoVNC panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<xo-vnc
url="{{consoleUrl}}"
remote-control="vncRemote"
>
</xo-vnc>
<br/>
</div>
</div>

View File

@@ -1,41 +0,0 @@
<form ng-submit="delete()">
<div class="modal-header">
<h3>VMs deletion</h3>
</div>
<div class="modal-body">
<p>
You are going to delete the following VMs, this is a <strong>dangerous
action</strong>!
</p>
<table class="table">
<tr>
<th class="col-sm-3">Name</th>
<th class="col-sm-6">Description</th>
<th class="col-sm-3">Delete disks?</th>
</tr>
<tbody>
<tr ng-repeat="VM in VMs | orderBy:natural('name_label') track by VM.UUID">
<td>{{VM.name_label}}</td>
<td>{{VM.name_description}}</td>
<td><input type="checkbox" ng-model="disks[VM.UUID]"></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button
type="submit"
class="btn btn-primary"
>
Delete
</button>
<button
type="button"
class="btn btn-warning"
ng-click="$dismiss()"
>
Cancel
</button>
</div>
</form>

View File

@@ -1,23 +0,0 @@
<div class="modal-header">
<h3><i class="fa fa-exclamation-triangle text-danger"></i> {{title}}</h3>
</div>
<div class="modal-body">
{{message}}
</div>
<div class="modal-footer">
<button
type="button"
class="btn btn-primary"
ng-click="$close()"
>
{{yesButtonLabel}}
</button>
<button
ng-if="noButtonLabel"
type="button"
class="btn btn-warning"
ng-click="$dismiss()"
>
{{noButtonLabel}}
</button>
</div>

View File

@@ -1,400 +0,0 @@
<!-- TODO: lots of stuff. -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title">
<i class="xo-icon-host xo-color-{{host.power_state | lowercase}}"></i>
{{host.name_label}}
<small ng-if="pool.name_label">
(<a ui-sref="pools_view({id: pool.UUID})">{{pool.name_label}}</a>)
</small>
</p>
</div>
</div>
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-cogs" style="color: #e25440;"></i> General
<span class="quick-edit" tooltip="Edit General settings" ng-click="hostSettings.$show()">
<i class="fa fa-edit fa-fw"></i>
</span>
</p>
<div class="general-properties">
<form editable-form name="hostSettings" onbeforesave="saveHost($data)">
<dl class="dl-horizontal">
<dt>Name</dt>
<dd>
<span editable-text="host.name_label" e-name="name_label" e-form="hostSettings">
{{host.name_label}}
</span>
</dd>
<dt>Description</dt>
<dd>
<span editable-text="host.name_description" e-name="name_description" e-form="hostSettings">
{{host.name_description}}
</span>
</dd>
<dt>Enabled</dt>
<dd>
<span editable-checkbox="host.enabled" e-name="enabled" e-form="hostSettings">
{{host.enabled}}
</span>
</dd>
<dt>Tags</dt>
<dd ng-if="host.tags.length">
<span ng-repeat="tag in host.tags">
<span class="label label-primary">{{tag}}</span>
</span>
</dd>
<dd ng-if="!host.tags.length">
<em>No tags.</em>
</dd>
<dt>CPUs</dt>
<dd>{{host.CPUs["cpu_count"]}}x {{host.CPUs["modelname"]}}</dd>
<dt>Hostname</dt>
<dd>
{{host.hostname}}
</dd>
<dt>UUID</dt>
<dd>{{host.UUID}}</dd>
<dt>iQN</dt>
<dd>{{host.iSCSI_name}}</dd>
</dl>
<div class="btn-form" ng-show="hostSettings.$visible">
<p class="center">
<button type="button" ng-disabled="hostSettings.$waiting" ng-click="hostSettings.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
<button type="submit" ng-disabled="hostSettings.$waiting" class="btn btn-primary">
<i class="fa fa-save"></i> Save
</button>
</p>
</div>
</form>
</div>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-bar-chart-o" style="color: #e25440;"></i> Stats</p>
<div class="grid">
<div class="grid-cell">
<p class="stat-name">vCPUs/CPU usage:</p>
<p class="center big">{{host.$vCPUs}}/{{host.CPUs["cpu_count"]}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">RAM used:</p>
<p class="center big">{{[host.memory.usage, host.memory.size] | %}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">Running VMs:</p>
<p class="center big">{{host.VMs.length}}</p>
</div>
</div>
</div>
</div>
<!-- Action panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-flash" style="color: #e25440;"></i> Actions</p>
<div class="grid-cell text-center">
<div class="grid">
<div class="grid-cell btn-group">
<button tooltip="Add SR" type="button" style="width: 90%" class="btn" xo-click="new_sr()">
<i class="xo-icon-sr fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Add VM" type="button" style="width: 90%" class="btn" xo-sref="VMs_new({container: host.UUID})">
<i class="xo-icon-vm fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Reboot host" type="button" style="width: 90%" class="btn" xo-click="rebootHost(host.UUID)">
<i class="fa fa-refresh fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Shutdown host" type="button" style="width: 90%" class="btn" xo-click="shutdownHost(host.UUID)">
<i class="fa fa-power-off fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Restart toolstack" type="button" style="width: 90%" class="btn" xo-click="restartToolStack(host.UUID)">
<i class="fa fa-retweet fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group" ng-if="pool.name_label">
<button tooltip="Remove from pool" style="width: 90%" type="button" class="btn" xo-click="pool_removeHost(host.UUID)">
<i class="fa fa-cloud-upload fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group" ng-if="!pool.name_label">
<button tooltip="Add to pool" style="width: 90%" type="button" class="btn" xo-click="pool_addHost(host.UUID)">
<i class="fa fa-cloud-download fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group" style="margin-bottom: 0.5em">
<button
tooltip="Host console"
type="button"
style="width: 90%"
class="btn"
ng-repeat="controller in [host.controller] | resolve track by controller.UUID"
xo-sref="consoles_view({id: controller.UUID})">
<i class="xo-icon-console fa-2x fa-fw"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- TODO: Memory panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title">
<i class="xo-icon-memory" style="color: #e25440;"></i> Memory
</p>
<div class="progress">
<div
ng-repeat="controller in [host.controller] | resolve track by controller.UUID"
class="progress-bar-host"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{controller.memory.size}}"
aria-valuemax="{{host.memory.size}}"
style="width: {{[controller.memory.size, host.memory.size] | %}}"
tooltip="{{host.name_label}}: {{[controller.memory.size, host.memory.size] | %}}"
>
<small>{{host.name_label}}</small>
</div>
<div
ng-repeat="VM in host.VMs | resolve | orderBy:natural('name_label') track by VM.UUID"
class="progress-bar progress-bar-vm"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{VM.memory.size}}"
aria-valuemax="{{host.memory.size}}"
style="width: {{[VM.memory.size, host.memory.size] | %}}"
xo-sref="VMs_view({id: VM.UUID})"
tooltip="{{VM.name_label}}: {{[VM.memory.size, host.memory.size] | %}}"
>
<small>{{VM.name_label}}</small>
</div>
</div>
<ul class="list-inline text-center">
<li>Total: {{host.memory.size | bytesToSize}}</li>
<li>Currently used: {{host.memory.usage | bytesToSize}}</li>
<li>Available: {{host.memory.size-host.memory.usage | bytesToSize}}</li>
</ul>
</div>
</div>
<!-- SR panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<form editable-form name="hostSRs" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title"><i class="xo-icon-sr" style="color: #e25440;"></i> Storage
<span class="quick-edit" tooltip="Edit storage" ng-click="hostSRs.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<table class="table table-hover">
<tr>
<th>Name</th>
<th>Format</th>
<th>Size</th>
<th>Physical/Allocated usage</th>
<th>Type</th>
<th>Status</th>
</tr>
<!-- TODO: display PBD status for each SR of this host (connected or not) -->
<!-- Shared SR -->
<tr
xo-sref="SRs_view({id: SR.UUID})"
ng-repeat="SR in pool.SRs | resolve | orderBy:natural('name_label') track by SR.UUID"
ng-init="PBD = SRsToPBDs[SR.ref]"
>
<td>
{{SR.name_label}}
</td>
<td>{{SR.SR_type}}</td>
<td>{{SR.size | bytesToSize}}</td>
<td>
<div class="progress-condensed">
<div
class="progress-bar"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{SR.usage}}"
aria-valuemax="{{SR.size}}"
style="width: {{[SR.physical_usage, SR.size] | %}}"
tooltip="Physical usage: {{[SR.physical_usage, SR.size] | %}}"
></div>
<div
class="progress-bar progress-bar-info"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{SR.physical_usage}}"
aria-valuemax="{{SR.size}}"
style="width: {{[(SR.usage-SR.physical_usage), SR.size] | %}}"
tooltip="Allocated: {{[(SR.usage), SR.size] | %}}"
></div>
</div>
</td>
<td><span class="label label-primary">Shared</span></td>
<td ng-if="PBD.attached">
<span class="label label-success">Connected</span>
<button type="button" ng-show="hostSRs.$visible" ng-click="disconnectSR(SR.ref)" class="btn btn-sm btn-danger pull-right" tooltip="Disconnect this SR"><i class="fa fa-unlink fa-lg"></i></button>
</td>
<td ng-if="!PBD.attached">
<span class="label label-default">Disconnected</span>
<button type="button" ng-show="hostSRs.$visible" ng-click="removeSR(SR.ref)" class="btn btn-sm btn-danger pull-right" tooltip="Remove this SR"><i class="fa fa-trash-o fa-lg"></i></button>
</td>
</tr>
<!-- Local SR -->
<!-- TODO: migrate to SRs and not PBDs when implemented in xo-server spec -->
<tr
xo-sref="SRs_view({id: SR.UUID})"
ng-repeat="SR in host.SRs | resolve | orderBy:natural('name_label') track by SR.UUID"
ng-init="PBD = SRsToPBDs[SR.ref]"
>
<td>
{{SR.name_label}}
</td>
<td>{{SR.SR_type}}</td>
<td>{{SR.size | bytesToSize}}</td>
<td>
<div class="progress-condensed">
<div
class="progress-bar"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{SR.usage}}"
aria-valuemax="{{SR.size}}"
style="width: {{[SR.physical_usage, SR.size] | %}}"
tooltip="Physical usage: {{[SR.physical_usage, SR.size] | %}}"
></div>
<div
class="progress-bar progress-bar-info"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{SR.physical_usage}}"
aria-valuemax="{{SR.size}}"
style="width: {{[(SR.usage-SR.physical_usage), SR.size] | %}}"
tooltip="Allocated: {{[(SR.usage), SR.size] | %}}"
></div>
</div>
</td>
<td><span class="label label-info">Local</span></td>
<td ng-if="PBD.attached">
<span class="label label-success">Connected</span>
<button type="button" ng-show="hostSRs.$visible" ng-click="disconnectSR(SR.ref)" class="btn btn-sm btn-danger pull-right" tooltip="Disconnect this SR"><i class="fa fa-unlink fa-lg"></i></button>
</td>
<td ng-if="!PBD.attached">
<span class="label label-default">Disabled</span>
<button type="button" ng-show="hostSRs.$visible" ng-click="removeSR(SR.ref)" class="btn btn-sm btn-danger pull-right" tooltip="Remove this SR"><i class="fa fa-trash-o fa-lg"></i></button>
</td>
</tr>
</table>
<div class="btn-form" ng-show="hostSRs.$visible">
<p class="center">
<button type="button" ng-disabled="hostSRs.$waiting" ng-click="hostSRs.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
<button type="button" ng-disabled="hostSRs.$waiting" ng-click="saveChanges()" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
</p>
</div>
</form>
</div>
</div>
<!-- Interfaces panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<form editable-form name="hostNetwork" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title"><i class="xo-icon-network" style="color: #e25440;"></i> Interfaces
<span class="quick-edit" tooltip="Edit network" ng-click="hostNetwork.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<table class="table table-hover">
<th class="col-md-1">Device</th>
<th class="col-md-1">Address</th>
<th class="col-md-2">MAC</th>
<th class="col-md-1">MTU</th>
<th class="col-md-1">Link status</th>
<tr ng-repeat="PIF in host.$PIFs | resolve | orderBy:natural('name_label') track by PIF.UUID">
<td>{{PIF.device}}<span ng-if="PIF.vlan > -1">.{{PIF.vlan}}</span> <span ng-if="PIF.management" class="label label-primary">XAPI</span></td>
<td>{{PIF.IP}} ({{PIF.mode}})</td>
<td>{{PIF.MAC}}</td>
<td>
<span editable-text="PIF.MTU" e-name="mtu" e-form="hostNetwork" e-required>
{{PIF.MTU}}
</span>
</td>
<td ng-if="PIF.attached">
<span class="label label-success">Connected</span>
<button type="button" ng-show="hostNetwork.$visible" ng-click="disconnectSR(Network.ref)" class="btn btn-sm btn-danger pull-right" tooltip="Disconnect this Network"><i class="fa fa-unlink fa-lg"></i></button>
</td>
<td ng-if="!PIF.attached">
<span class="label label-default">Disconnected</span>
<button type="button" ng-show="hostNetwork.$visible" ng-click="removeNetwork(Network.ref)" class="btn btn-sm btn-danger pull-right" tooltip="Remove this Network"><i class="fa fa-trash-o fa-lg"></i></button>
</td>
</tr>
</table>
<div class="btn-form" ng-show="hostNetwork.$visible">
<p class="center">
<button type="button" ng-disabled="hostNetwork.$waiting" ng-click="hostNetwork.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
<button type="button" ng-disabled="hostNetwork.$waiting" ng-click="saveChanges()" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
</p>
</div>
</div>
</form>
</div>
<!-- CPU and Logs panels -->
<div class="grid">
<!-- Task panel -->
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-tasks" style="color: #e25440;"></i> Pending tasks</p>
<p class="center" ng-if="!host.tasks.length">No recent tasks</p>
<table class="table table-hover" ng-if="host.tasks.length">
<th class="col-md-4">Date</th>
<th class="col-md-8">Name</th>
<!-- TODO: working reverse order, from recent to oldest -->
<tr ng-repeat="task in host.tasks | resolve | orderBy:'created':true track by task.UUID">
<td>{{task.created}}</td>
<td>
{{task.name_label}}
<a class="quick-remove" xo-click="removeTask(task.UUID)">
<i class="fa fa-trash-o fa-fw"></i>
</a>
</td>
</tr>
</table>
</div>
<!-- Logs panel -->
<div class="grid-cell flat-panel">
<form editable-form name="hostLogs" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title"><i class="fa fa-comments" style="color: #e25440;"></i> Logs
<span class="quick-edit" tooltip="Edit logs" ng-click="hostLogs.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<p class="center" ng-if="!host.messages.length">No recent logs</p>
<table class="table table-hover" ng-if="host.messages.length">
<th>Date</th>
<th>Name</th>
<tr ng-repeat="message in host.messages | resolve | orderBy:'-time' track by message.UUID">
<td>{{message.time*1e3 | date:'medium'}}</td>
<td>
{{message.name}}
<button type="button" ng-show="hostLogs.$visible" ng-click="deleteLog(message.UUID)" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash-o fa-lg" tooltip="Remove this log entry"></i></button>
</td>
</tr>
</table>
<div class="btn-form" ng-show="hostLogs.$visible">
<p class="center">
<button type="button" ng-disabled="hostLogs.$waiting" ng-click="hostLogs.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
</p>
</div>
</form>
</div>
</div>

View File

@@ -1,268 +0,0 @@
<!-- TODO: print a message when no entries. -->
<!-- If it's a (named) pool. -->
<div
ng-repeat="pool in byTypes.pool | filter:listFilter | orderBy:natural('name_label') track by pool.UUID"
ng-if="pool.name_label"
class="grid flat-object"
xo-sref="pools_view({id: pool.UUID})"
>
<!-- Icon. -->
<div class="grid-cell flat-cell flat-cell-type">
<i class="xo-icon-pool"></i>
</div>
<!-- Properties & tags. -->
<div class="grid-cell">
<!-- Properties. -->
<div class="grid">
<div class="grid-cell">
<div class="grid">
<div class="grid-cell flat-cell flat-cell-name">
{{pool.name_label}}
</div>
<div class="grid-cell flat-cell flat-cell-description">
<i>{{pool.name_description}}</i>
</div>
<div class="grid-cell flat-cell" ng-init="default_SR = (pool.default_SR | resolve)">
<div ng-if="default_SR">
Default SR: <a ui-sref="SRs_view({id: default_SR.UUID})">{{default_SR.name_label}}</a>
</div>
<div ng-if="!default_SR">
<em>No default SR.</em>
</div>
</div>
<div class="grid-cell flat-cell" ng-init="master = (pool.master | resolve)">
<div ng-if="master">
Master: <a ui-sref="hosts_view({id: master.UUID})">{{master.name_label}}</a>
</div>
<div ng-if="!master">
<em>Unknown master.</em>
</div>
</div>
<div class="grid-cell flat-cell">
<div ng-if="pool.HA_enabled">
HA enabled
</div>
<div ng-if="!pool.HA_enabled">
HA disabled
</div>
</div>
<div class="grid-cell flat-cell">
{{pool.$running_hosts.length}}/{{pool.hosts.length}} hosts
</div>
</div>
</div>
</div>
<!-- /Properties. -->
<!-- Tags. -->
<div class="grid">
<div class=" grid-cell">
<div class="grid-cell flat-cell-tag">
<i class="fa fa-tag"></i>&nbsp;&nbsp;
<span ng-repeat="tag in pool.tags">
<span class="label label-primary">{{tag}}</span>
</span>
</div>
</div>
</div>
<!-- /Tags. -->
</div>
<!-- /Properties & tags. -->
</div>
<!-- /Pool. -->
<!-- If it's a host. -->
<div
ng-repeat="host in byTypes.host | filter:listFilter | orderBy:natural('name_label') track by host.UUID"
class="grid flat-object"
xo-sref="hosts_view({id: host.UUID})"
>
<!-- Icon. -->
<div class="grid-cell flat-cell flat-cell-type">
<i class="xo-icon-host xo-color-{{host.power_state | lowercase}}"></i>
</div>
<!-- Properties & tags. -->
<div class="grid-cell">
<!-- Properties. -->
<div class="grid ">
<div class="grid-cell">
<div class="grid">
<div class="grid-cell flat-cell flat-cell-name">
{{host.name_label}}
</div>
<div class="grid-cell flat-cell flat-cell-description">
<i>{{host.name_description}}</i>
</div>
<div class="grid-cell flat-cell">
Address: {{host.address}}
</div>
<div class="grid-cell flat-cell">
{{host.$vCPUs}} vCPUs used on {{host.CPUs["cpu_count"]}} CPUs
</div>
<div class="grid-cell flat-cell">
{{host.memory.usage | bytesToSize}} used of {{host.memory.size | bytesToSize}} ({{[host.memory.usage, host.memory.size] | %}})
</div>
<div class="grid-cell flat-cell">
{{host.VMs.length}} VMs running
</div>
</div>
</div>
</div>
<!-- /Properties. -->
<!-- Tags. -->
<div class="grid">
<div class=" grid-cell">
<div class="grid-cell flat-cell-tag">
<i class="fa fa-tag"></i>&nbsp;&nbsp;
<span ng-repeat="tag in host.tags">
<span class="label label-primary">{{tag}}</span>
</span>
</div>
</div>
</div>
<!-- /Tags. -->
</div>
<!-- /Properties & tags. -->
</div>
<!-- /Host. -->
<!-- If it's a VM. -->
<div
ng-repeat="VM in byTypes.VM | filter:listFilter | orderBy:natural('name_label') track by VM.UUID"
class="grid flat-object"
xo-sref="VMs_view({id: VM.UUID})"
>
<!-- Icon. -->
<div class="grid-cell flat-cell flat-cell-type">
<i class="xo-icon-vm xo-color-{{VM.power_state | lowercase}}"></i>
</div>
<!-- Properties & tags. -->
<div class="grid-cell">
<!-- Properties. -->
<div class="grid ">
<div class="grid-cell">
<div class="grid">
<div class="grid-cell flat-cell flat-cell-name">
{{VM.name_label}}
</div>
<div class="grid-cell flat-cell flat-cell-description">
<i>{{VM.name_description}}</i>
</div>
<div class="grid-cell flat-cell">
Address: {{VM.addresses['0/ip']}}
</div>
<div class="grid-cell flat-cell">
{{VM.CPUs.number}} vCPUs
</div>
<div class="grid-cell flat-cell">
{{VM.memory.size | bytesToSize}} RAM
</div>
<div class="grid-cell flat-cell" ng-init="container = (VM.$container | resolve)">
<div ng-if="'pool' === container.type">
Resident on: <a ui-sref="pools_view({id: container.UUID})">{{container.name_label}}</a>
</div>
<div ng-if="'host' === container.type" ng-init="pool = (container.poolRef | resolve)">
Resident on: <a ui-sref="hosts_view({id: container.UUID})">{{container.name_label}}</a> (<a ui-sref="pools_view({id: pool.UUID})">{{pool.name_label}}</a>)
</div>
</div>
</div>
</div>
</div>
<!-- /Properties. -->
<!-- Tags. -->
<div class="grid">
<div class=" grid-cell">
<div class="grid-cell flat-cell-tag">
<i class="fa fa-tag"></i>&nbsp;&nbsp;
<span ng-repeat="tag in VM.tags">
<span class="label label-primary">{{tag}}</span>
</span>
</div>
</div>
</div>
<!-- /Tags. -->
</div>
<!-- /Properties & tags. -->
</div>
<!-- /VM. -->
<!-- If it's a SR. -->
<div
ng-repeat="SR in byTypes.SR | filter:listFilter | orderBy:natural('name_label') track by SR.UUID"
class="grid flat-object"
xo-sref="SRs_view({id: SR.UUID})"
>
<!-- Icon. -->
<div class="grid-cell flat-cell flat-cell-type">
<i class="xo-icon-sr"></i>
</div>
<!-- Properties & tags. -->
<div class="grid-cell">
<!-- Properties. -->
<div class="grid ">
<div class="grid-cell">
<div class="grid">
<div class="grid-cell flat-cell flat-cell-name">
{{SR.name_label}}
</div>
<div class="grid-cell flat-cell flat-cell-description">
<i>{{SR.name_description}}</i>
</div>
<div class="grid-cell flat-cell">
Usage: {{[SR.usage, SR.size] | %}} ({{SR.usage | bytesToSize}}/{{SR.size | bytesToSize}})
</div>
<div class="grid-cell flat-cell">
Type: {{SR.SR_type}}
</div>
<div class="grid-cell flat-cell" ng-init="container = (SR.$container | resolve)">
<div ng-if="'pool' === container.type">
<strong>Shared on <a ui-sref="pools_view({id: container.UUID})">{{container.name_label}}</a></strong>
</div>
<div ng-if="'host' === container.type">
Connected to <a ui-sref="hosts_view({id: container.UUID})">{{container.name_label}}</a>
</div>
</div>
</div>
</div>
</div>
<!-- /Properties. -->
<!-- Tags. -->
<div class="grid">
<div class=" grid-cell">
<div class="grid-cell flat-cell-tag">
<i class="fa fa-tag"></i>&nbsp;&nbsp;
<span ng-repeat="tag in SR.tags">
<span class="label label-primary">{{tag}}</span>
</span>
</div>
</div>
</div>
<!-- /Tags. -->
</div>
<!-- /Properties & tags. -->
</div>
<!-- /SR. -->

View File

@@ -1,512 +0,0 @@
<!-- @todo Remove code duplication for the VMs listing by using a macro. -->
<div class="sub-bar">
<div class="grid">
<div class="grid-cell overview">
<!--Stats-->
<i tooltip="{{xo.pools.length}} pools">
<i class="small">{{xo.pools.length}}x</i>
<i class="xo-icon-pool"></i>
</i>
&nbsp;
<i tooltip="{{hosts.length}} hosts">
<i class="small">{{hosts.length}}x</i>
<i class="xo-icon-host"></i>
</i>
&nbsp;
<i tooltip="{{xo.$running_VMs.length}} of {{VMs.length}} VMs running">
<i class="small">{{xo.$running_VMs.length}}x</i>
<i class="xo-icon-vm"></i>
</i>
&nbsp;
<i tooltip="{{xo.$vCPUs}} vCPUs used of {{xo.$CPUs}} CPUs">
<i class="small">{{xo.$vCPUs}}x</i>
<i class="xo-icon-cpu"></i>
</i>
&nbsp;
<i tooltip="{{xo.$memory.usage | bytesToSize}} RAM allocated of {{xo.$memory.size | bytesToSize}}">
<i class="small">{{xo.$memory.usage | bytesToSize}}</i>
<i class="xo-icon-memory"></i>
</i>
</div>
<div class="grid-cell">
<div class="btn-group before-action-bar">
<a class="btn navbar-btn btn-default dropdown-toggle inversed">
<input
type="checkbox"
class="inverse"
ng-model="master_selection"
ng-change="selectVMs(master_selection)"
ui-indeterminate="!(all || none)"
stop-event="click"
/>
<i class="fa fa-caret-down"></i>
</a>
<ul class="dropdown-menu inverse" role="menu">
<li ng-repeat="power_state in ['Halted', 'Running']">
<a ng-click="selectVMs({power_state: power_state})">
<i class="fa-fw xo-icon-{{power_state | lowercase}}"></i>
{{power_state}}
</a>
</li>
<li class="divider"></li>
<li ng-repeat="host in hosts | orderBy:natural('name_label') track by host.UUID" ng-if="host.VMs.length">
<a ng-click="selectVMs({$container: host.ref})">
<i class="xo-icon-host fa-fw"></i>
On {{host.name_label}}
</a>
</li>
</ul>
</div>
<div class="action-bar" ng-if="!none">
<div class="btn-group">
<button tooltip="Stop VM" type="button" class="btn navbar-btn btn-default inversed" ng-click="bulkAction('stopVM')">
<i class="fa fa-stop"></i>
</button>
<button tooltip="Start VM" type="button" class="btn navbar-btn btn-default inversed" ng-click="bulkAction('startVM')">
<i class="fa fa-play"></i>
</button>
<button tooltip="Reboot VM" type="button" class="btn navbar-btn btn-default inversed" ng-click="bulkAction('rebootVM')">
<i class="fa fa-refresh"></i>
</button>
</div>
<div class="btn-group">
<button tooltip="Migrate VM" type="button" class="btn navbar-btn btn-default dropdown-toggle inversed">
<i class="fa fa-share"></i> <i class="fa fa-caret-down"></i>
</button>
<ul class="dropdown-menu inverse" role="menu">
<li ng-repeat="host in hosts | orderBy:natural('name_label') track by host.UUID">
<a ng-click="bulkAction('migrateVM',host.UUID)">
<i class="xo-icon-host fa-fw"></i>
To {{host.name_label}}
</a>
</li>
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn navbar-btn btn-default dropdown-toggle inversed">
More <i class="fa fa-caret-down"></i>
</button>
<ul class="dropdown-menu inverse" role="menu">
<li><a ng-click="bulkAction('force_rebootVM')"><i class="fa fa-bolt fa-fw"></i> Force reboot</a></li>
<li><a ng-click="bulkAction('force_stopVM')"><i class="fa fa-power-off fa-fw"></i> Force shutdown</a></li>
<li class="divider"></li>
<li><a ng-click="deleteVMs()"><i class="fa fa-trash-o fa-fw"></i> Delete</a></li>
<li><a ng-click="bulkAction('snapshotVM')"><i class="xo-icon-snapshot fa-fw"></i> Take a snapshot</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- FIXME: Ugly trick to force the pools to be under the sub bar. -->
<div style="margin-top: 50px; visibility: hidden; height: 0">.</div>
<!-- If we haven't any data -->
<div ng-if="!pools.length">
<div class="grid">
<div class="grid-cell flat-panel text-center">
<h1>Welcome on Xen Orchestra!</h1>
<h3>It seems you aren't connected to any Xen host.</h3>
<p>You can add any XAPI capable server by following these steps:</p>
<ul class="list-unstyled">
<li>Login with pre-filled account (top right of this screen)</li>
<li>Click on the menu icon " <i class="fa fa-th"></i> " and choose " <i class="fa fa-cog"></i> Settings "</li>
<li>Then you can add a server (no need to reload, refresh is auto)</li>
<li>Enjoy Xen Orchestra!</li>
</ul>
<p><a class="btn btn-primary big" ui-sref="about"><i class="fa fa-info-circle"></i> About us</a></p>
</div>
</div>
</div>
<!-- If we have data -->
<div ng-if="pools.length">
<!-- Contains a pool and all its children (hosts). -->
<div ng-repeat="pool in pools | orderBy:natural('name_label') track by pool.UUID" class="grid pool-block">
<!-- Pseudo pool if it is not a named pool. -->
<div ng-if="!pool.name_label" class="grid-cell grid--gutters pool-cell">
<p class="center" style="margin-top: 2em;">No pool connected</p>
</div>
<!-- Contains information about the pool if it is a named pool. -->
<div class="grid-cell grid--gutters pool-cell" ng-if="pool.name_label">
<!-- Header (name + dropdown menu). -->
<div class="dropdown dropdown-pool">
<a class="pool-name" ui-sref="pools_view({id: pool.UUID})">
{{pool.name_label}}
</a>
<a class="dropdown-toggle">&nbsp;<i class="fa fa-caret-down big-caret"></i>&nbsp;</a>
<ul class="dropdown-menu left" role="menu">
<li><a xo-click="new_sr()"><i class="xo-icon-sr fa-fw"></i> Add SR</a></li>
<li><a xo-sref="VMs_new({container: pool.UUID})"><i class="xo-icon-vm fa-fw"></i> Add VM</a></li>
<li class="divider"></li>
<li><a xo-click="pool_disconnect(pool.UUID)" class="disabled"><i class="fa fa-unlink fa-fw"></i> Disconnect</a></li>
</ul>
</div>
<!-- /Header. -->
<!-- Stats & SRs list. -->
<div>
<!-- Stats. -->
<ul class="list-unstyled stats">
<li>
<i tooltip="{{pool.hosts.length}} hosts connected">
<i class="small">{{pool.hosts.length}}x</i>
<i class="xo-icon-host"></i>
</i>
&nbsp;
<i tooltip="{{pool.$running_VMs.length}} of {{pool.$VMs.length}} VMs running">
<i class="small">{{pool.$running_VMs.length}}x</i>
<i class="xo-icon-vm"></i>
</i>
</li>
<li ng-if="pool.master" ng-init="master = (pool.master | resolve)">
Master : <a ui-sref="hosts_view({id: master.UUID})">{{master.name_label}}</a>
</li>
<li ng-if="!pool.master">No master</li>
</ul>
<!-- /Stats. -->
<!-- SRs. -->
<div ng-if="pool.SRs.length">
<p class="center small-caps">SRs:</p>
<table class="table table-hover table-condensed">
<tr
ng-repeat="SR in pool.SRs | resolve | orderBy:natural('name_label') track by SR.UUID"
xo-sref="SRs_view({id: SR.UUID})"
>
<td
class="col-md-6 sr-name no-border"
ng-class="{'default-sr': SR.ref === pool.default_SR}"
>
<i class="xo-icon-sr"></i>
{{SR.name_label}}
</td>
<td class="col-md-6 right no-border">
<div class="progress progress-small" tooltip="Disk: {{[SR.usage, SR.size] | %}} allocated">
<div
class="progress-bar"
role="progressbar"
aria-valuenow="{{100*SR.usage/SR.size}}"
aria-valuemin="0"
aria-valuemax="100"
style="width: {{[SR.usage, SR.size] | %}}"
></div>
</div>
</td>
</tr>
</table>
</div>
<!-- /SRs. -->
</div>
<!-- /Stats & SRs list. -->
</div>
<!-- /Information about the pool. -->
<!-- Contains all the hosts of this pool. -->
<div class="grid-cell grid--gutters hosts-vms-cells">
<!-- Contains a host and all its children (VMs). -->
<div
ng-repeat="host in pool.hosts | resolve | orderBy:natural('name_label') track by host.UUID"
class="grid"
>
<!-- Contains information about the host. -->
<div class="grid-cell host-cell">
<!-- Header (name + dropdown menu). -->
<div class="dropdown dropdown-pool">
<a class="host-name" ui-sref="hosts_view({id: host.UUID})">
{{host.name_label}}
</a>
<a class="dropdown-toggle">&nbsp;<i class="fa fa-caret-down"></i>&nbsp;</a>
<ul class="dropdown-menu left" role="menu">
<li><a xo-click="new_sr()"><i class="xo-icon-sr fa-fw"></i> Add SR</a></li>
<li><a xo-sref="VMs_new({container: host.UUID})"><i class="xo-icon-vm fa-fw"></i> Add VM</a></li>
<li class="divider"></li>
<li >
<a
ng-repeat="controller in [host.controller] | resolve track by controller.UUID"
xo-sref="consoles_view({id: controller.UUID})">
<i class="xo-icon-console fa-fw"></i> Console
</a>
</li>
<li><a xo-click="rebootHost(host.UUID)"><i class="fa fa-refresh fa-fw"></i> Reboot</a></li>
<li><a xo-click="shutdownHost(host.UUID)"><i class="fa fa-power-off fa-fw"></i> Shutdown</a></li>
<li><a xo-click="restartToolStack(host.UUID)"><i class="fa fa-retweet fa-fw"></i> Restart toolstack</a></li>
<li ng-if="pool.name_label"><a xo-click="pool_removeHost(host.UUID)"><i class="fa fa-cloud-upload fa-fw"></i> Remove from pool</a></li>
<li ng-if="!pool.name_label"><a xo-click="pool_addHost(host.UUID)"><i class="fa fa-cloud-download fa-fw"></i> Add to pool</a></li>
</ul>
</div>
<!-- /Header. -->
<!-- Stats. -->
<ul class="list-unstyled stats">
<!-- Warning icon if host is halted or disabled -->
<li ng-if="'Halted' === host.power_state" class="text-danger">
<i class="fa fa-warning"></i> Halted
</li>
<li ng-if="'Halted' !== host.power_state &amp;&amp; !host.enabled" class="text-warning">
<i class="fa fa-warning"></i> Disabled
</li>
<!-- Memory -->
<li ng-if="host.power_state === 'Running'">
<i class="xo-icon-memory i-progress"></i>
<div
class="progress progress-small"
tooltip="RAM: {{[host.memory.usage, host.memory.size] | %}} allocated">
<div
class="progress-bar"
role="progressbar"
aria-valuenow="{{100*host.memory.usage/host.memory.size}}"
aria-valuemin="0"
aria-valuemax="100"
style="width: {{[host.memory.usage, host.memory.size] | %}}"
></div>
</div>
</li>
<!-- Host address -->
<li class="text-muted substats">
<i class="xo-icon-network"></i>
{{host.address}}
</li>
</ul>
<!-- /Stats. -->
</div>
<!-- /Information about the host. -->
<!-- Contains all the VMs of this host. -->
<div class="grid grid-cell vm-cell">
<!-- If no VMs, fill the space with a message. -->
<div ng-if="!host.VMs.length" class="vms-notice">
<p ng-if="'Halted' === host.power_state">
Host halted.
</p>
<div ng-if="'Halted' !== host.power_state">
<p ng-if="!host.enabled">
Host disabled.
</p>
<p ng-if="host.enabled">
No VMs on this host.
</p>
</div>
</div>
<!-- /Message if no VMs. -->
<!-- TODO: comment -->
<div class="table-responsive" ng-if="host.VMs.length">
<table class="table table-hover table-condensed">
<!-- Contains a VM. -->
<tr
ng-repeat="VM in host.VMs | resolve | orderBy:natural('name_label') track by VM.UUID"
xo-sref="VMs_view({id: VM.UUID})"
>
<!-- Handle used for drag & drop. -->
<td class="grab"></td>
<!-- Checkbox used for selection. -->
<td class="select-vm">
<input
type="checkbox"
ng-model="selected_VMs[VM.UUID]"
ng-change="updateVMSelection(VM.UUID)"
/>
</td>
<!-- Power state -->
<td class="vm-power-state">
<i ng-if="isVMWorking(VM)"
class="xo-icon-working"
tooltip="{{VM.power_state}} and {{values(VM.current_operations)[0]}}"
></i>
<i ng-if="!isVMWorking(VM)"
class="xo-icon-{{VM.power_state | lowercase}}"
tooltip="{{VM.power_state}}"
></i>
</td>
<!-- VM name. -->
<td class="vm-name col-md-2"><p class="vm">{{VM.name_label}}</p></td>
<!-- Quick actions. -->
<td class="vm-quick-buttons col-md-2">
<div class="quick-buttons">
<a tooltip="Shutdown VM" xo-click="stopVM(VM.UUID)">
<i class="fa fa-stop"></i>
</a>
<a tooltip="Start VM" xo-click="startVM(VM.UUID)">
<i class="fa fa-play"></i>
</a>
<a tooltip="Reboot VM" xo-click="rebootVM(VM.UUID)">
<i class="fa fa-refresh"></i>
</a>
<a tooltip="VM Console" xo-sref="consoles_view({id: VM.UUID})">
<i class="xo-icon-console"></i>
</a>
</div>
</td>
<!-- Description. -->
<td class="vm-description col-md-4">
<i ng-if="VM.os_version.distro" tooltip="{{VM.os_version.name}}" class="xo-icon-{{osType(VM.os_version.distro)}}">&nbsp;</i>
<i ng-if="!VM.os_version.distro" class="fa fa-fw"></i>
{{VM.name_description}}
</td>
<!-- Metrics. -->
<!-- Memory -->
<td class="vm-memory-stat col-md-2">
<div class="cpu">
{{VM.memory.size | bytesToSize}}
</div>
<i
ng-if="VM.PV_drivers"
class="fa fa-fw"
></i>
<i
ng-if="!VM.PV_drivers"
class="xo-icon-info fa-fw"
tooltip="Xen tools not installed"
></i>
</td>
<!-- /Metrics. -->
<!-- Address. -->
<td class="text-muted text-right col-md-2">
{{VM.addresses['0/ip']}}
</td>
</tr>
</table>
</div>
</div>
<!-- /VMs of this host. -->
</div>
<!-- /Host with its children. -->
<!-- Contains a pseudo-host which contains all VMs not in any hosts. -->
<div ng-if="pool.VMs.length" class="grid">
<!-- This is where the information about a host would be displayed. -->
<div class="grid-cell host-cell"></div>
<!-- Contains all the VMs of this pool. -->
<div class="grid grid-cell vm-cell">
<!-- TODO: comment -->
<div class="table-responsive">
<table class="table table-hover table-condensed">
<!-- Contains a VM. -->
<tr
ng-repeat="VM in pool.VMs | resolve | orderBy:natural('name_label') track by VM.UUID"
xo-sref="VMs_view({id: VM.UUID})"
>
<!-- Handle used for drag & drop. -->
<td class="grab"></td>
<!-- Checkbox used for selection. -->
<td class="select-vm">
<input
type="checkbox"
ng-model="selected_VMs[VM.UUID]"
ng-change="updateVMSelection(VM.UUID)"
/>
</td>
<!-- Power state -->
<td class="vm-power-state">
<i
class="xo-icon-{{VM.power_state | lowercase}}"
tooltip="{{VM.power_state}}"
></i>
</td>
<!-- VM name. -->
<td class="vm-name col-md-2">
<p class="vm">{{VM.name_label}}</p>
</td>
<!-- Quick actions. -->
<td class="vm-quick-buttons col-md-2">
<div class="quick-buttons">
<a tooltip="Shutdown VM" xo-click="stopVM(VM.UUID)">
<i class="fa fa-stop"></i>
</a>
<a tooltip="Start VM" xo-click="startVM(VM.UUID)">
<i class="fa fa-play"></i>
</a>
<a tooltip="Reboot VM" xo-click="rebootVM(VM.UUID)">
<i class="fa fa-refresh"></i>
</a>
<a tooltip="VM Console">
<i class="xo-icon-console"></i>
</a>
</div>
</td>
<!-- Description. -->
<td class="vm-description col-md-4">
<i ng-if="VM.os_version.distro" tooltip="{{VM.os_version.name}}" class="xo-icon-{{osType(VM.os_version.distro)}}">&nbsp;</i>
<i ng-if="!VM.os_version.distro" class="fa fa-fw"></i>
{{VM.name_description}}
</td>
<!-- Metrics. -->
<!-- Memory -->
<td class="vm-memory-stat col-md-2">
<div class="cpu">
{{VM.memory.size | bytesToSize}}
</div>
<i
ng-if="VM.PV_drivers"
class="fa fa-fw"
></i>
<i
ng-if="!VM.PV_drivers"
class="xo-icon-info fa-fw"
tooltip="Xen tools not installed"
></i>
</td>
<!-- /Metrics. -->
<!-- Address. -->
<td class="text-muted text-right col-md-2">
{{VM.addresses['0/ip']}}
</td>
</tr>
</table>
</div>
</div>
<!-- /Pseudo host containing VMs not on any hosts. -->
</div>
<!-- /Hosts of this pool. -->
</div>
<!-- /Pool with its children. -->
</div>

View File

@@ -1,174 +0,0 @@
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<!-- Button used to (un)collapse on mobile display. -->
<button
type="button"
class="navbar-toggle"
ng-init="collapsed = true"
ng-click="collapsed = !collapsed"
>
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Brand name. -->
<a class="navbar-brand" ui-sref="home">Xen Orchestra</a>
</div>
<!-- All navbar items are collapsed on mobile display. -->
<div class="collapse navbar-collapse" ng-class="!collapsed &amp;&amp; 'in'">
<!-- Search form of the navbar. -->
<form class="navbar-form navbar-left" role="search" style="width: 250px">
<!-- Forced width due to issue with `input`s
(https://github.com/twbs/bootstrap/issues/9950. -->
<div class="input-group">
<input
type="text"
class="form-control inverse"
placeholder=""
ng-model="$root.listFilter"
ng-change="ensureListView()"
>
<span class="input-group-btn">
<button type="button" class="btn btn-search" ng-click="ensureListView()">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</form>
<!-- /Search form. -->
<ul class="nav navbar-nav">
<li><a href="https://xen-orchestra.com/services?from=xoa" target="_blank">
<i class="xo-icon-info"></i> Unregistered version
</a></li>
</ul>
<!-- Right items of the navbar. -->
<ul class="nav navbar-nav navbar-right">
<li ng-if="'disconnected' === status" class="navbar-text">
<i class="xo-icon-error"></i> Disconnected from XO-Server
</li>
<li ng-if="'connecting' === status" class="navbar-text">
<i class="fa fa-refresh fa-spin"></i> Connecting to XO-Server
</li>
<!-- Main menu. -->
<li class="dropdown">
<a class="dropdown-toggle inverse">
<i class="fa fa-th"></i>
</a>
<ul class="dropdown-menu inverse">
<li ui-sref-active="active" ui-route="/">
<a ui-sref="home">
<i class="fa fa-indent"></i>
Tree view
</a>
</li>
<li ui-sref-active="active" ui-route="/list">
<a ui-sref="list">
<i class="fa fa-align-justify"></i>
Flat view
</a>
</li>
<li class="disabled" ui-sref-active="active" ui-route="/graph">
<a ui-sref="graph">
<i class="fa fa-sitemap"></i>
Graphs view
</a>
</li>
<li class="divider"></li>
<li class="disabled">
<a>
<i class="fa fa-clock-o"></i>
Scheduler
</a>
</li>
<li ui-sref-active="active" ui-route="/settings">
<a ui-sref="settings">
<i class="fa fa-cog"></i>
Settings
</a>
</li>
<li class="divider"></li>
<li ui-sref-active="active" ui-route="/about">
<a ui-sref="about">
<i class="fa fa-info-circle" style="color:#5bc0de"></i>
About
</a>
</li>
</ul>
</li>
<!-- /Main menu. -->
<!-- Displayed only when the user is connected. -->
<li ng-if="user"><a><i class="fa fa-user"></i> {{user.email}}</a></li>
<li ng-if="user"><a ng-click="logOut()"><i class="fa fa-sign-out"></i></a></li>
<!-- /When user is connected. -->
<!-- Displayed only when the user is not connected. -->
<li ng-if="!user" class="dropdown">
<a class="dropdown-toggle">
Log in&nbsp;&nbsp;<i class="fa fa-sign-in"></i>
</a>
<form
class="dropdown-menu login-form-dark"
ng-submit="logIn(login.email, login.password, true)"
ng-click="$event.stopPropagation()"
>
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-user fa-fw"></i>
</span>
<input
type="text"
class="form-control"
placeholder="Email"
ng-model="login.email"
name="email"
required
/>
</div>
<div class="input-group">
<span class="input-group-addon">
<i class="fa fa-key fa-fw"></i>
</span>
<input
type="password"
class="form-control"
placeholder="Password"
name="password"
ng-model="login.password"
required
/>
</div>
<button type="submit" class="btn btn-primary btn-block">
<i class="fa fa-sign-in"></i> Log in
</button>
</form>
</li>
<!-- /When user is not connected. -->
</ul>
<!-- /Right items. -->
</div>
<!-- /Navbar items. -->
</nav>
<!-- /Navbar. -->

View File

@@ -1,49 +0,0 @@
<!-- TODO: lots of stuff. -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title"><i class="xo-icon-vm"></i> Add SR on {{container.name_label}}</p>
</div>
</div>
<!-- Add server panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-info-circle" style="color: #e25440;"></i> SR info</p>
<form class="form-horizontal" role="form">
<div class="form-group">
<label class="col-sm-3 control-label">Type</label>
<div class="col-sm-9">
<select class="form-control">
<option value="">-- Choose a type of SR --</option>
<optgroup label="VDI SR">
<option value="NFS">NFS</option>
<option value="ISCSI">Software iSCSI</option>
<option value="HBA">HBA</option>
</optgroup>
<optgroup label="ISO SR">
<option value="CIFSISO">CIFS</option>
<option value="NFSISO">NFS</option>
</optgroup>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" placeholder="">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Description</label>
<div class="col-sm-9">
<input type="text" class="form-control" placeholder="SR Created by Xen Orchestra">
</div>
</div>
</form>
<p class="text-center"><a class="btn btn-primary big"><i class="fa fa-times"></i> Clear</a> <a class="btn btn-success big"><i class="fa fa-save"></i> Save</a></p>
</form>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-link" style="color: #e25440;"></i> Connection</p>
</div>
</div>

View File

@@ -1,350 +0,0 @@
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title">
<i class="xo-icon-vm"></i>
Add VM on
<a
ng-if="'pool' === container.type"
ui-sref="pools_view({id: container.UUID})"
>
{{container.name_label}}
</a>
<a
ng-if="'host' === container.type"
ui-sref="hosts_view({id: container.UUID})"
>
{{container.name_label}}
</a>
</p>
</div>
</div>
<!-- Add server panel -->
<form class="form-horizontal" ng-submit="createVM()">
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title">
<i class="fa fa-info-circle" style="color: #e25440;"></i> VM info
</p>
<div class="form-group">
<label class="col-sm-3 control-label">Template</label>
<div class="col-sm-9">
<select
class="form-control"
ng-model="template"
ng-options="template.name_label for template in templates | orderBy:natural('name_label') track by template.UUID"
required
>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Name</label>
<div class="col-sm-9">
<input
type="text"
class="form-control"
placeholder="Name of your new VM"
required
ng-model="name_label"
>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Description</label>
<div class="col-sm-9">
<input
type="text"
class="form-control"
placeholder="Optional description of you new VM"
ng-model="name_description"
>
</div>
</div>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-dashboard" style="color: #e25440;"></i> Performances</p>
<div class="form-group">
<label class="col-sm-3 control-label">vCPUs</label>
<div class="col-sm-9">
<input
type="text"
class="form-control"
placeholder="{{template.CPUs.number}}"
ng-model="CPUs"
>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">RAM</label>
<div class="col-sm-9">
<input
type="text"
class="form-control"
placeholder="{{template.memory.size | bytesToSize}}"
ng-model="memory"
>
</div>
</div>
</div>
</div>
<div class="grid">
<!-- Install panel -->
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-download" style="color: #e25440;"></i> Install settings</p>
<div
class="form-group"
ng-show="availableMethods.cdrom"
>
<label class="col-sm-3 control-label">ISO/DVD</label>
<div class="col-sm-9"><div class="input-group">
<span class="input-group-addon"><input
type="radio"
value="cdrom"
ng-model="installation_method"
></span>
<select
ng-disabled="'cdrom' !== installation_method"
class="form-control disabled"
ng-model="installation_cdrom"
>
<optgroup
ng-repeat="SR in ISO_SRs | orderBy:natural('name_label') track by SR.UUID"
ng-if="SR.VDIs.length"
label="{{SR.name_label}}"
>
<option
ng-repeat="VDI in SR.VDIs | resolve | orderBy:natural('name_label') track by VDI.UUID"
ng-value="VDI.UUID"
>
{{VDI.name_label}}
</option>
</optgroup>
</select>
</div></div>
</div>
<div
class="form-group"
ng-show="availableMethods.http || availableMethods.ftp || availableMethods.nfs"
>
<label class="col-sm-3 control-label">Network</label>
<div class="col-sm-9"><div class="input-group">
<span class="input-group-addon"><input
type="radio"
ng-model="installation_method"
value="network"
></span>
<input
ng-disabled="'network' !== installation_method"
type="text"
class="form-control"
placeholder="e.g: http://ftp.debian.org/debian"
ng-model="installation_network"
>
</div></div>
</div>
<!-- <div class="form-group"> FIXME
<label class="col-sm-3 control-label">Home server</label>
<div class="col-sm-9">
<select class="form-control">
<option>Default (auto)</option>
</select>
</div>
</div> -->
</div>
<!-- Interface panel -->
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="xo-icon-network" style="color: #e25440;"></i> Interfaces
</p>
<table class="table table-hover">
<tr>
<th>MAC</th>
<th>Network</th>
<th class="col-md-1">&nbsp;</th><!-- Buttons -->
</tr>
<tr ng-repeat="VIF in VIFs track by VIF.id">
<td>
<input
type="text"
class="form-control"
ng-model="VIF.MAC"
ng-pattern="/^\s*[0-9a-f]{2}(:[0-9a-f]{2}){5}\s*$/i"
placeholder="00:00:00:00:00"
/>
</td>
<td>
<select
class="form-control"
ng-options="network.UUID as network.name_label for network in (networks | orderBy:natural('name_label'))"
ng-model="VIF.network"
required
>
</select>
</td>
<td>
<div class="pull-right">
<button
type="button"
class="btn btn-default"
ng-click="removeVIF($index)"
title="Remove this interface"
>
<i class="fa fa-times"></i>
</button>
</div>
</td>
</tr>
</table>
<div class="btn-form">
<p class="center">
<div class="btn-form">
<p class="center">
<button type="button" ng-click="addVIF()" class="btn btn-success">
<i class="fa fa-plus"></i> Add interface
</button>
</p>
</div>
</p>
</div>
</div>
</div>
<!-- end of misc and interface panel -->
<!-- Disk panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title">
<i class="xo-icon-sr" style="color: #e25440;"></i> Disks
</p>
<table class="table table-hover">
<tr>
<th class="col-md-2">SR</th>
<th class="col-md-1">Bootable?</th>
<th class="col-md-2">Size</th>
<th class="col-md-2">Name</th>
<th class="col-md-4">Description</th>
<th class="col-md-1">&nbsp;</th><!-- Buttons -->
</tr>
<tr ng-repeat="VDI in VDIs track by VDI.id">
<td>
<select
class="form-control"
ng-model="VDI.SR"
ng-options="SR.UUID as SR.name_label for SR in (writable_SRs | orderBy:natural('name_label'))"
>
</select>
</td>
<td class="text-center">
<input
type="checkbox"
ng-model="VDI.bootable"
>
</td>
<td>
<input
type="text"
class="form-control"
ng-model="VDI.size"
required
>
</td>
<td>
<input
type="text"
class="form-control"
placeholder="Name of this virtual disk"
ng-model="VDI.name_label"
>
</td>
<td>
<input
type="text"
class="form-control"
placeholder="Description of this virtual disk"
ng-model="VDI.name_description"
>
</td>
<td>
<div class="btn-group">
<button
type="button"
class="btn btn-default"
ng-click="moveVDI($index, -1)"
ng-disabled="$first"
title="Move this disk up"
>
<i class="fa fa-chevron-up"></i>
</button>
<button
type="button"
class="btn btn-default"
ng-click="moveVDI($index, 1)"
ng-disabled="$last"
title="Move this disk down"
>
<i class="fa fa-chevron-down"></i>
</button>
</div>
<div class="pull-right">
<button
type="button"
class="btn btn-default"
ng-click="removeVDI($index)"
title="Remove this disk"
>
<i class="fa fa-times"></i>
</button>
</div>
</td>
</tr>
</table>
<div class="btn-form">
<p class="center">
<div class="btn-form">
<p class="center">
<button type="button" ng-click="addVDI()" class="btn btn-success"><i class="fa fa-plus"></i> Add disk</button>
</p>
</div>
</p>
</div>
</div>
</div>
<!-- Confirmation panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-flag-checkered" style="color: #e25440;"></i> Summary</p>
<div class="grid">
<div class="grid-cell">
<p class="stat-name">Name:
<p class="center big">{{name_label}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">Template:
<p class="center">{{template.name_label}}</p>
</div>
</div>
<div class="grid">
<div class="grid-cell">
<p class="stat-name">vCPUs</p>
<p class="center big">{{CPUs || template.CPUs.number}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">RAM</p>
<p class="center big">{{(memory) || (template.memory.size | bytesToSize)}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">Disks</p>
<p class="center big">{{(VDIs.length) || (template.$VBDs.length) || 0}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">Interfaces</p>
<p class="center big">{{VIFs.length}}</p>
</div>
</div>
<p class="center"><button type="submit" class="btn btn-lg btn-primary"><i class="fa fa-play"></i> Create VM</button></p>
</div>
</div>
</form>

View File

@@ -1,220 +0,0 @@
<!-- TODO: lots of stuff. -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title"><i class="xo-icon-pool"></i> {{pool.name_label}}</p>
</div>
</div>
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title">
<i class="fa fa-cogs" style="color: #e25440;"></i> General
<span class="quick-edit" tooltip="Edit General settings" ng-click="poolSettings.$show()">
<i class="fa fa-edit fa-fw"></i>
</span>
</p>
<div class="general-properties">
<form editable-form name="poolSettings" onbeforesave="savePool($data)">
<dl class="dl-horizontal">
<dt>Name</dt>
<dd>
<span editable-text="pool.name_label" e-name="name_label" e-form="poolSettings">
{{pool.name_label}}
</span>
</dd>
<dt>Description</dt>
<dd>
<span editable-text="pool.name_description" e-name="name_description" e-form="poolSettings">
{{pool.name_description}}
</span>
</dd>
<dt>Master</dt>
<dd ng-repeat="master in [pool.master] | resolve">
<a ui-sref="hosts_view({id: master.UUID})">
{{master.name_label}}
</a>
</dd>
<dt>Tags</dt>
<dd>
<span ng-repeat="tag in pool.tags">
<span class="label label-primary">{{tag}}</span>
</span>
</dd>
<dt ng-if="pool.default_SR">Default SR</dt>
<dd ng-if="pool.default_SR" ng-init="default_SR = (pool.default_SR | resolve)">
<a ui-sref="SRs_view({id: default_SR.UUID})">{{default_SR.name_label}}</a>
</dd>
<dt>HA</dt>
<dd>
{{pool.HA_enabled}}
</dd>
<dt>UUID</dt>
<dd>{{pool.UUID}}</dd>
</dl>
<div class="btn-form" ng-show="poolSettings.$visible">
<p class="center">
<button type="button" ng-disabled="poolSettings.$waiting" ng-click="poolSettings.$cancel()" class="btn btn-default">
<i class="fa fa-times"></i> Cancel
</button>
<button type="submit" ng-disabled="poolSettings.$waiting" class="btn btn-primary">
<i class="fa fa-save"></i> Save
</button>
</p>
</div>
</form>
</div>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-bar-chart-o" style="color: #e25440;"></i> Stats</p>
<div class="grid">
<div class="grid-cell">
<p class="stat-name">Hosts:</p>
<p class="center big">{{pool.hosts.length}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">Running:</p>
<p class="center big">{{pool.$running_hosts.length}}</p>
</div>
</div>
</div>
</div>
<!-- Action panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-flash" style="color: #e25440;"></i> Actions</p>
<div class="grid">
<div class="grid-cell text-center grid-button" tooltip="Add SR" xo-sref="SRs_new({container: pool.UUID})">
<i class="xo-icon-sr fa-2x fa-fw"></i>
</div>
<div class="grid-cell text-center grid-button" tooltip="Add VM" xo-sref="VMs_new({container: pool.UUID})">
<i class="xo-icon-vm fa-2x fa-fw"></i>
</div>
<div class="grid-cell text-center grid-button" tooltip="Add Host">
<i class="xo-icon-host fa-2x fa-fw"></i>
</div>
<div class="grid-cell text-center grid-button" tooltip="Disconnect">
<i class="fa fa-unlink fa-2x fa-fw"></i>
</div>
</div>
</div>
</div>
<!-- Hosts panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="xo-icon-host" style="color: #e25440;"></i> Hosts</p>
<table class="table table-hover table-condensed">
<th>Name</th>
<th class="col-md-4">Description</th>
<th class="col-md-6">Memory</th>
<tr
xo-sref="hosts_view({id: host.UUID})"
ng-repeat="host in pool.hosts | resolve | orderBy:natural('name_label') track by host.UUID"
>
<td>{{host.name_label}}</td>
<td>{{host.name_description}}</td>
<td>
<div class="progress-condensed">
<div
class="progress-bar"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{host.memory.usage}}"
aria-valuemax="{{host.memory.size}}"
style="width: {{[host.memory.usage, host.memory.size] | %}}"
></div>
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- Shared SR panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="xo-icon-sr" style="color: #e25440;"></i> Shared SR
<table class="table table-hover">
<th>Name</th>
<th>Description</th>
<th>Type</th>
<th>Size</th>
<th class="col-md-4">Physical/Allocated usage</th>
<tr
xo-sref="SRs_view({id: SR.UUID})"
ng-repeat="SR in pool.SRs | resolve | orderBy:natural('name_label') track by SR.UUID"
>
<td>{{SR.name_label}}</td>
<td>{{SR.name_description}}</td>
<td>{{SR.SR_type}}</td>
<td>{{SR.size | bytesToSize}}</td>
<td>
<div class="progress-condensed">
<div
class="progress-bar"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{SR.usage}}"
aria-valuemax="{{SR.size}}"
style="width: {{[SR.physical_usage, SR.size] | %}}"
tooltip="Physical usage: {{[SR.physical_usage, SR.size] | %}}"
></div>
<div
class="progress-bar progress-bar-info"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{SR.physical_usage}}"
aria-valuemax="{{SR.size}}"
style="width: {{[(SR.usage-SR.physical_usage), SR.size] | %}}"
tooltip="Allocated: {{[(SR.usage), SR.size] | %}}"
></div>
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- TODO: CPU and Logs panels -->
<div class="grid">
<!-- Logs panel -->
<div class="grid-cell flat-panel">
<form editable-form name="poolLogs" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title"><i class="fa fa-comments" style="color: #e25440;"></i> Logs
<span class="quick-edit" tooltip="Edit logs" ng-click="poolLogs.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<p class="center" ng-if="!pool.messages.length">No recent logs</p>
<table class="table table-hover" ng-if="pool.messages.length">
<th>Date</th>
<th>Name</th>
<tr ng-repeat="message in pool.messages | resolve | orderBy:'-time' track by message.UUID">
<td>{{message.time*1e3 | date:'medium'}}</td>
<td>
{{message.name}}
<button type="button" ng-show="poolLogs.$visible" ng-click="deleteLog(message.UUID)" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash-o fa-lg" tooltip="Remove this log entry"></i></button>
</td>
</tr>
</table>
<div class="btn-form" ng-show="poolLogs.$visible">
<p class="center">
<button type="button" ng-disabled="poolLogs.$waiting" ng-click="poolLogs.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
</p>
</div>
</form>
</div>
<!-- Template panel -->
<!-- FIXME: error on accordion display, DOES NOT WORK SO FAR -->
<!-- <div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-copy" style="color: #e25440;"></i> Templates</p>
<p class="center" ng-if="!pool.templates.length">No templates</p>
<accordion close-others="true">
<accordion-group heading="{{template.name_label}}" ng-repeat="template in pool.templates | resolve | orderBy:natural('name_label') track by template.UUID">
{{template.name_description}}
</accordion-group>
</accordion>
</div> -->
</div>

View File

@@ -1,104 +0,0 @@
<!-- TODO: lots of stuff. -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title"><i class="fa fa-cog"></i> XO Settings</p>
</div>
</div>
<!-- Add server panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-link" style="color: #e25440;"></i> Connected servers</p>
<form ng-submit="saveServers()" autocomplete="off">
<table class="table table-hover">
<tr>
<th>Host</th>
<th>User</th>
<th>Password</th>
<th>Delete</th>
</tr>
<tr ng-repeat="server in servers | orderBy:natural('host') track by server.id">
<td><input type="text" ng-model="server.host" class="form-control" /></td>
<td><input type="text" ng-model="server.username" class="form-control"/></td>
<td>
<input type="password" ng-model="server.password" class="form-control" placeholder="Fill to change the password"/>
</td>
<td><input type="checkbox" ng-model="selectedServers[server.id]"/></td>
</tr>
<tr ng-repeat="server in newServers">
<td>
<input type="text" ng-model="server.host" class="form-control" placeholder="address[:port]"/>
</td>
<td>
<input type="text" ng-model="server.username" class="form-control" placeholder="user"/>
</td>
<td>
<input type="password" ng-model="server.password" class="form-control" placeholder="password"/>
</td>
<td>&nbsp;</td>
</tr>
</table>
<p class="text-center">
<button type="submit" class="btn btn-primary">
<i class="fa fa-save"></i> Save
</button>
<button type="button" class="btn btn-success" ng-click="addServer()">
<i class="fa fa-plus"></i>
</button>
</p>
</form>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-users" style="color: #e25440;"></i> Users</p>
<form ng-submit="saveUsers()" autocomplete="off">
<table class="table table-hover">
<tr>
<th>Email</th>
<th>Permissions</th>
<th>Password</th>
<th>Delete</th>
</tr>
<tr ng-repeat="user in users | orderBy:natural('email') track by user.id">
<td><input type="text" ng-model="user.email" class="form-control"/></td>
<td>
<select
ng-options="p.value as p.label for p in permissions"
ng-model="user.permission"
class="form-control"
>
</select>
</td>
<td>
<input type="password" ng-model="user.password" class="form-control" placeholder="Fill to change the password"/>
</td>
<td><input type="checkbox" ng-model="selectedUsers[user.id]" /></td>
</tr>
<tr ng-repeat="user in newUsers">
<td>
<input type="text" ng-model="user.email" class="form-control" placeholder="email"/>
</td>
<td>
<select
ng-options="p.value as p.label for p in permissions"
ng-model="user.permission"
class="form-control"
>
</select>
</td>
<td>
<input type="password" ng-model="user.password" class="form-control" placeholder="password"/>
</td>
<td>&nbsp;</td>
</tr>
</table>
<p class="text-center">
<button type="submit" class="btn btn-primary">
<i class="fa fa-save"></i> Save
</button>
<button type="button" class="btn btn-success" ng-click="addUser()">
<i class="fa fa-plus"></i>
</button>
</p>
</form>
</div>
</div>

View File

@@ -1,228 +0,0 @@
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title"><i class="xo-icon-sr"></i> {{SR.name_label}}</p>
</div>
</div>
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title">
<i class="fa fa-cogs" style="color: #e25440;"></i> General
<span class="quick-edit" tooltip="Edit General settings" ng-click="srSettings.$show()">
<i class="fa fa-edit fa-fw"></i>
</span>
</p>
<div class="general-properties">
<form editable-form name="srSettings" onbeforesave="saveSR($data)">
<dl class="dl-horizontal">
<dt>Name</dt>
<dd>
<span editable-text="SR.name_label" e-name="name_label" e-form="srSettings">
{{SR.name_label}}
</span>
</dd>
<dt>Description</dt>
<dd>
<span editable-text="SR.name_description" e-name="name_description" e-form="srSettings">
{{SR.name_description}}
</span>
</dd>
<dt>Content type:</dt>
<dd>{{SR.SR_type}}</dd>
<dt>Tags</dt>
<dd ng-if="SR.tags.length">
<span ng-repeat="tag in SR.tags">
<span class="label label-primary">{{tag}}</span>
</span>
</dd>
<dd ng-if="!SR.tags.length">
<em>No tags.</em>
</dd>
<dt>Shared</dt>
<div ng-repeat="container in [SR.$container] | resolve">
<dd ng-if="'pool' === container.type">Yes (<a ui-sref="pools_view({id: container.UUID})">{{container.name_label}}</a>)</dd>
<dd ng-if="'host' === container.type">No</dd>
</div>
<dt>Size</dt>
<dd>{{SR.size | bytesToSize}}</dd>
<dt>UUID</dt>
<dd>{{SR.UUID}}</dd>
</dl>
<div class="btn-form" ng-show="srSettings.$visible">
<p class="center">
<button type="button" ng-disabled="srSettings.$waiting" ng-click="srSettings.$cancel()" class="btn btn-default">
<i class="fa fa-times"></i> Cancel
</button>
<button type="submit" ng-disabled="srSettings.$waiting" class="btn btn-primary">
<i class="fa fa-save"></i> Save
</button>
</p>
</div>
</form>
</div>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-bar-chart-o" style="color: #e25440;"></i> Stats</p>
<div class="grid">
<div class="grid-cell">
<p class="stat-name">Physical Alloc:</p>
<p class="center big">{{[SR.physical_usage, SR.size] | %}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">Virtual Alloc:</p>
<p class="center big">{{[SR.usage, SR.size] | %}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">VDIs:</p>
<p class="center big">{{SR.VDIs.length}}</p>
</div>
</div>
</div>
</div>
<!-- TODO: Space panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title">
<i class="xo-icon-memory" style="color: #e25440;"></i> VDI Map
</p>
<div class="progress">
<div
ng-if="((VDI.size/SR.size)*100) > 0.5"
ng-repeat="VDI in SR.VDIs | resolve | orderBy:natural('name_label')"
class="progress-bar progress-bar-vm"
role="progressbar"
aria-valuemin="0"
aria-valuenow="{{VDI.size}}"
aria-valuemax="{{SR.size}}"
style="width: {{[VDI.size, SR.size] | %}}"
xo-sref="VDIs_view({id: VDI.UUID})"
tooltip="{{VDI.name_label}} ({{[VDI.size, SR.size] | %}})"
>
<!-- display the name only if it fits in its progress bar -->
<span ng-if="VDI.name_label.length < ((VDI.size/SR.size)*100)">{{VDI.name_label}}</span>
</div>
</div>
<ul class="list-inline text-center">
<li>Total: {{SR.size | bytesToSize}}</li>
<li>Currently used: {{SR.usage | bytesToSize}}</li>
<li>Available: {{SR.size-SR.usage | bytesToSize}}</li>
</ul>
</div>
</div>
<!-- TODO: VDIs. -->
<div class="grid">
<div class="grid-cell flat-panel">
<form editable-form name="srDisks" onbeforesave="saveVDI()" oncancel="cancel()">
<p class="flat-panel-title">
<i class="fa fa-hdd-o" style="color: #e25440;"></i> Virtual disks
<span class="quick-edit" tooltip="Edit disks" ng-click="srDisks.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
<span class="quick-edit" tooltip="Rescan" ng-click="rescanSr(SR.UUID)">
<i class="fa fa-refresh fa-fw"> </i>
</span>
</p>
<table class="table table-hover">
<tr>
<th>Name</th>
<th>Description</th>
<th>Size</th>
<th>Attached to:</th>
</tr>
<tr
ng-repeat="VDI in SR.VDIs | resolve | orderBy:natural('name_label')"
xo-sref="VDIs_view({id: VDI.UUID})"
>
<td>
<span editable-text="VDI.name_label" e-name="name_description" e-form="srDisks">
{{VDI.name_label}} <span ng-if="VDI.$snapshot_of" class="label label-info">snapshot</span>
</span>
</td>
<td>
<span editable-text="VDI.name_description" e-name="name_description" e-form="srDisks">
{{VDI.name_description}}
</span>
</td>
<td>
<span editable-text="VDI.size | bytesToSize" e-name="size" e-form="srDisks">
{{VDI.size | bytesToSize}}
</span>
</td>
<td
ng-if="((VDI.$VBD | resolve).VM)"
ng-init="VBD = (VDI.$VBD | resolve)"
>
{{(((VDI.$VBD | resolve).VM) | resolve).name_label}}
<button type="button" ng-show="srDisks.$visible" ng-click="disconnectVBD(VBD.UUID)" class="btn btn-sm btn-danger pull-right" tooltip="Disconnect this disk"><i class="fa fa-unlink fa-lg"></i></button>
</td>
<td ng-if="!((VDI.$VBD | resolve).VM)">
<button type="button" ng-show="srDisks.$visible" ng-click="deleteVDI(VDI.UUID)" class="btn btn-sm btn-danger pull-right" tooltip="Destroy this disk"><i class="fa fa-trash-o fa-lg"></i></button>
</td>
</tr>
</table>
<div class="btn-form" ng-show="srDisks.$visible">
<p class="center">
<button type="button" ng-disabled="srDisks.$waiting" ng-click="srDisks.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
<button type="submit" ng-disabled="srDisks.$waiting" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
<button type="button" ng-disabled="srDisks.$waiting" ng-click="addVDI()" class="btn btn-success pull-right"><i class="fa fa-plus"></i> Add Disk</button>
</p>
</div>
</form>
</div>
</div>
<!-- /VDIs. -->
<!-- Hosts. -->
<div class="grid">
<div class="grid-cell flat-panel">
<form editable-form name="srHosts" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title">
<i class="fa fa-link" style="color: #e25440;"></i> Connected hosts
<span class="quick-edit" tooltip="Edit connected hosts" ng-click="srHosts.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
<span class="quick-edit" tooltip="Reconnect all hosts" ng-click="reconnectAllHosts()">
<i class="fa fa-plus-square fa-fw"> </i>
</span>
</p>
<table class="table table-hover">
<th>Name</th>
<th>Status</th>
<tr
ng-repeat="PBD in SR.$PBDs | resolve"
ng-init="host = (PBD.host | resolve)"
xo-sref="hosts_view({id: host.UUID})"
>
<td>{{host.name_label}}</td>
<td ng-if="PBD.attached">
<span class="label label-success">Connected</span>
<button type="button" ng-show="srHosts.$visible" ng-click="disconnectPBD(host.UUID)" class="btn btn-sm btn-danger pull-right" tooltip="Disconnect this host"><i class="fa fa-unlink fa-lg"></i></button>
</td>
<td ng-if="!PBD.attached">
<span class="label label-default">Disabled</span>
<button type="button" ng-show="srHosts.$visible" ng-click="connectPBD(host.UUID)" class="btn btn-sm btn-primary pull-right" tooltip="Connect this host"><i class="fa fa-link fa-lg"></i></button>
</td>
</tr>
</table>
</form>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-comments" style="color: #e25440;"></i> Logs</p>
<p class="center" ng-if="!SR.messages.length">No recent logs</p>
<table class="table table-hover" ng-if="SR.messages.length">
<th class="col-md-1">Date</th>
<th class="col-md-1">Name</th>
<tr ng-repeat="message in SR.messages | resolve | orderBy:'-time' track by message.UUID">
<td>{{message.time*1e3 | date:'medium'}}</td>
<td>
{{message.name}}
<a class="quick-remove" tooltip="Remove log">
<i class="fa fa-trash-o fa-fw"> </i>
</a>
</td>
</tr>
</table>
</div>
</div>
<!-- /Hosts. -->

View File

@@ -1,349 +0,0 @@
<!-- TODO: lots of stuff. -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="page-title"><i class="xo-icon-vm xo-color-{{VM.power_state | lowercase}}"></i> {{VM.name_label}}</p>
</div>
</div>
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-cogs" style="color: #e25440;"></i> General
<span class="quick-edit" tooltip="Edit General settings" ng-click="vmSettings.$show()">
<i class="fa fa-edit fa-fw"></i>
</span>
</p>
<div class="general-properties">
<form editable-form name="vmSettings" onbeforesave="saveVM($data)">
<dl class="dl-horizontal">
<dt>Name</dt>
<dd>
<span editable-text="VM.name_label" e-name="name_label" e-form="vmSettings">
{{VM.name_label}}
</span>
</dd>
<dt>Description</dt>
<dd>
<span editable-text="VM.name_description" e-name="name_description" e-form="vmSettings">
{{VM.name_description}}
</span>
</dd>
<dt ng-if="VM.power_state == ('Running' || 'Paused')">Running on:</dt>
<dd ng-repeat="container in [VM.$container] | resolve">
<a xo-sref="hosts_view({id: container.UUID})">
{{container.name_label}}
</a>
</dd>
<dt>Address</dt>
<dd ng-repeat="IP in VM.addresses">{{IP}}</dd>
<dt>Tags</dt>
<dd>
<!-- TODO angular select2 in angular xeditable
<input type="text" ui-select2="select2Options" ng-model="VM.tags" data-placeholder="tags">
-->
</dd>
<dt>vCPUs</dt>
<dd>
<span editable-text="VM.CPUs.number" e-name="CPUs" e-form="vmSettings">
{{VM.CPUs.number}}
</span>
</dd>
<dt>RAM</dt>
<dd>
<span editable-text="memorySize" e-name="memory" e-form="vmSettings">
{{memorySize}}
</span>
</dd>
<dt>UUID</dt>
<dd>{{VM.UUID}}</dd>
</dl>
<div class="btn-form" ng-show="vmSettings.$visible">
<p class="center">
<button type="button" ng-disabled="vmSettings.$waiting" ng-click="vmSettings.$cancel()" class="btn btn-default">
<i class="fa fa-times"></i> Cancel
</button>
<button type="submit" ng-disabled="vmSettings.$waiting" class="btn btn-primary">
<i class="fa fa-save"></i> Save
</button>
</p>
</div>
</form>
</div>
</div>
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-bar-chart-o" style="color: #e25440;"></i> Stats</p>
<div class="grid">
<div class="grid-cell">
<p class="stat-name">vCPUs</p>
<p class="center big">{{VM.CPUs.number}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">RAM</p>
<p class="center big">{{VM.memory.size | bytesToSize}}</p>
</div>
<div class="grid-cell">
<p class="stat-name">Disks</p>
<p class="center big">{{VM.$VBDs.length || 0}}</p>
</div>
</div>
<br/>
<div class="grid">
<div ng-if="VM.os_version.distro" class="grid-cell">
<p class="stat-name">OS:</p>
<p class="center big">
<i tooltip="{{VM.os_version.name}}" style="color: black;" class="xo-icon-{{osType(VM.os_version.distro)}}"></i>
</p>
</div>
<div class="grid-cell">
<p class="stat-name">Xen tools:</p>
<p class="center">
<span ng-if="VM.PV_drivers" style="color:green;">Installed</span>
<span ng-if="!VM.PV_drivers">NOT installed</span>
</p>
</div>
</div>
</div>
</div>
<!-- Action panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<p class="flat-panel-title"><i class="fa fa-flash" style="color: #e25440;"></i> Actions</p>
<div class="grid-cell text-center">
<div class="grid">
<div class="grid-cell btn-group">
<button tooltip="Stop VM" type="button" style="width: 90%" class="btn" xo-click="stopVM(VM.UUID)">
<i class="fa fa-stop fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Start VM" type="button" style="width: 90%" class="btn" xo-click="startVM(VM.UUID)">
<i class="fa fa-play fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Reboot VM" type="button" style="width: 90%" class="btn" xo-click="rebootVM(VM.UUID)">
<i class="fa fa-refresh fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Migrate VM" type="button" style="width: 90%" class="btn dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-share fa-2x fa-fw"></i>
</button>
<ul class="dropdown-menu left" role="menu">
<li ng-repeat="host in hosts | orderBy:natural('name_label') track by host.UUID">
<a ng-click="migrateVM(VM.UUID, host.UUID)">
<i class="xo-icon-host fa-fw"></i>
To {{host.name_label}}
</a>
</li>
</ul>
</div>
<div class="grid-cell btn-group">
<button tooltip="Force Reboot" type="button" style="width: 90%" class="btn" xo-click="force_rebootVM(VM.UUID)">
<i class="fa fa-flash fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Force Shutdown" type="button" style="width: 90%" class="btn" xo-click="force_stopVM(VM.UUID)">
<i class="fa fa-power-off fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Delete VM" type="button" style="width: 90%" class="btn" xo-click="destroyVM(VM.UUID)">
<i class="fa fa-trash-o fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group">
<button tooltip="Create a snapshot" style="width: 90%" type="button" class="btn" xo-click="snapshotVM(VM.UUID,VM.name_label)">
<i class="xo-icon-snapshot fa-2x fa-fw"></i>
</button>
</div>
<div class="grid-cell btn-group" style="margin-bottom: 0.5em">
<button tooltip="VM Console" type="button" style="width: 90%" class="btn" xo-sref="consoles_view({id: VM.UUID})">
<i class="xo-icon-console fa-2x fa-fw"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- TODO: Disk panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<form editable-form name="vmDisks" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title">
<i class="xo-icon-sr" style="color: #e25440;"></i> Disk
<span class="quick-edit" tooltip="Edit disks" ng-click="vmDisks.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<table class="table table-hover">
<tr>
<th>Name</th>
<th>Description</th>
<th>Size</th>
<th>SR</th>
<th>Status</th>
</tr>
<tr
ng-repeat="VDI in VDIs | orderBy:natural('name_label') track by VDI.UUID"
ng-init="SR = (VDI.$SR | resolve); VBD = (VDI.$VBD | resolve)"
xo-sref="SRs_view({id: SR.UUID})"
>
<td>
<span editable-text="VDI.name_label" e-name="name_label" e-form="vmDisks" e-required>
{{VDI.name_label}}
</span>
</td>
<td>
<span editable-text="VDI.name_description" e-name="name_description" e-form="vmDisks">
{{VDI.name_description}}
</span>
</td>
<td>
<span editable-text="VDI.size | bytesToSize" e-name="size" e-form="vmDisks" e-required>
{{VDI.size | bytesToSize}}
</span>
</td>
<td>
<!-- Are SR editable? will trigger moving VDI to the new SR -->
{{SR.name_label}}
</td>
<td ng-if="VBD.attached">
<span editable-checkbox="VBD.attached" e-title="Connected?" class="label label-success" e-form="vmDisks" e-required>Connected</span>
<button type="button" ng-show="vmDisks.$visible" ng-click="disconnectVBD(VBD.UUID)" class="btn btn-sm btn-danger pull-right"><i class="fa fa-unlink fa-lg" tooltip="Disconnect this disk"></i></button>
</td>
<td ng-if="!VBD.attached">
<span editable-checkbox="VBD.attached" e-title="Connected?" class="label label-default" e-form="vmDisks" e-required>Disconnected</span>
<button type="button" ng-show="vmDisks.$visible" ng-click="deleteVDI(VDI.UUID)" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash-o fa-lg" tooltip="Remove this disk"></i></button>
</td>
</tr>
<tr ng-repeat="VDI in newVDIs | resolve | orderBy:natural('name_label') track by VDI.UUID">
</tr>
</table>
<div class="btn-form" ng-show="vmDisks.$visible">
<p class="center">
<button type="button" ng-disabled="vmDisks.$waiting" ng-click="vmDisks.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
<button type="submit" ng-disabled="vmDisks.$waiting" ng-click="saveChanges()" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
<button type="button" ng-disabled="vmDisks.$waiting" ng-click="addVDI()" class="btn btn-success pull-right"><i class="fa fa-plus"></i> Add Disk</button>
</p>
</div>
</form>
</div>
</div>
</div>
<!-- TODO: Interface panel -->
<div class="grid">
<div class="grid-cell flat-panel">
<form editable-form name="vmInterfaces" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title"><i class="xo-icon-network" style="color: #e25440;"></i> Interface
<span class="quick-edit" tooltip="Edit interfaces" ng-click="vmInterfaces.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<table class="table table-hover">
<th>Device</th>
<th>MAC</th>
<th>MTU</th>
<th>Network</th>
<th>Link status</th>
<tr ng-repeat="VIF in VM.VIFs | resolve | orderBy:natural('name_label') track by VIF.UUID">
<td>VIF #{{VIF.device}}</td>
<td>
{{VIF.MAC}}
</td>
<td>
<span editable-text="VIF.MTU" e-name="mtu" e-form="vmInterfaces" e-required>
{{VIF.MTU}}
</span>
</td>
<td>
{{(VIF.$network | resolve).name_label}}
</td>
<td ng-if="VIF.attached">
<span editable-checkbox="VIF.attached" class="label label-success">Connected</span>
<button type="button" ng-show="vmInterfaces.$visible" ng-click="disconnectVIF(VIF.UUID)" class="btn btn-sm btn-danger pull-right"><i class="fa fa-ban fa-lg" tooltip="Disconnect this interface"></i></button>
</td>
<td ng-if="!VIF.attached">
<span editable-checkbox="VIF.attached" class="label label-default">Disconnected</span>
<button type="button" ng-show="vmInterfaces.$visible" ng-click="deleteVIF(VIF.UUID)" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash-o fa-lg" tooltip="Remove this interface"></i></button>
</td>
</tr>
</table>
<div class="btn-form" ng-show="vmInterfaces.$visible">
<p class="center">
<button type="button" ng-disabled="vmInterfaces.$waiting" ng-click="vmInterfaces.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
<button type="button" ng-disabled="vmInterfaces.$waiting" ng-click="saveChanges()" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
<button type="button" ng-disabled="vmInterfaces.$waiting" ng-click="addNetwork()" class="btn btn-success pull-right"><i class="fa fa-plus"></i> Add Interface</button>
</p>
</div>
</form>
</div>
</div>
<!-- TODO: Snapshot and Logs panels -->
<div class="grid">
<!-- Snap panel -->
<div class="grid-cell flat-panel">
<form editable-form name="vmSnap" oncancel="cancel()">
<p class="flat-panel-title"><i class="xo-icon-snapshot" style="color: #e25440;"></i> Snapshots
<span class="quick-edit" tooltip="Edit snapshots" ng-click="vmSnap.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<p class="center" ng-if="!VM.snapshots.length">No snapshots</p>
<table class="table table-hover" ng-if="VM.snapshots.length">
<th>Date</th>
<th>Name</th>
<tr ng-repeat="snapshot in VM.snapshots | resolve | orderBy:'-snapshot_time' track by snapshot.UUID">
<td>{{snapshot.snapshot_time*1e3 | date:'medium'}}</td>
<td>
<span editable-text="snapshot.name_label" e-name="name_label" e-form="vmSnap" onbeforesave="saveSnapshot(snapshot.UUID, $data)" >
{{snapshot.name_label}}
</span>
<span class="pull-right">
<button type="button" ng-show="vmSnap.$visible" ng-click="deleteSnapshot(snapshot.UUID)" class="btn btn-sm btn-danger"><i class="fa fa-trash-o fa-lg" tooltip="Remove this snapshot"></i></button>
<button type="button" ng-show="vmSnap.$visible" ng-click="revertSnapshot(snapshot.UUID)" class="btn btn-sm btn-danger"><i class="fa fa-undo fa-lg" tooltip="Revert VM to this snapshot"></i></button>
</span>
</td>
</tr>
</table>
<div class="btn-form" ng-show="vmSnap.$visible">
<p class="center">
<button type="button" ng-disabled="vmSnap.$waiting" ng-click="vmSnap.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
<button type="submit" ng-disabled="vmSnap.$waiting" ng-click="saveChanges()" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
</p>
</div>
</form>
</div>
<!-- Logs panel -->
<div class="grid-cell flat-panel">
<form editable-form name="vmLogs" onaftersave="saveTable()" oncancel="cancel()">
<p class="flat-panel-title"><i class="fa fa-comments" style="color: #e25440;"></i> Logs
<span class="quick-edit" tooltip="Edit logs" ng-click="vmLogs.$show()">
<i class="fa fa-edit fa-fw"> </i>
</span>
</p>
<p class="center" ng-if="!VM.messages.length">No recent logs</p>
<table class="table table-hover" ng-if="VM.messages.length">
<th>Date</th>
<th>Name</th>
<tr ng-repeat="message in VM.messages | resolve | orderBy:'-time' track by message.UUID">
<td>{{message.time*1e3 | date:'medium'}}</td>
<td>
{{message.name}}
<button type="button" ng-show="vmLogs.$visible" ng-click="deleteLog(message.UUID)" class="btn btn-sm btn-danger pull-right"><i class="fa fa-trash-o fa-lg" tooltip="Remove this log entry"></i></button>
</td>
</tr>
</table>
<div class="btn-form" ng-show="vmLogs.$visible">
<p class="center">
<button type="button" ng-disabled="vmLogs.$waiting" ng-click="vmLogs.$cancel()" class="btn btn-default"><i class="fa fa-times"></i> Cancel</button>
</p>
</div>
</form>
</div>
</div>

View File

@@ -1,25 +0,0 @@
{
"name": "xo-web",
"version": "0.0.0",
"dependencies": {
"angular": "1.2.13",
"angular-animate": "1.2.13",
"angular-cookies": "1.2.13",
"angular-notify-toaster": "0.4.3",
"angular-ui-bootstrap-bower": "0.10.0",
"angular-ui-router": "0.2.8-bowratic-tedium",
"angular-ui-select2": "0.0.5",
"angular-ui-utils": "0.1.1",
"angular-xeditable": "0.1.8",
"angularjs-naturalsort": "https://bitbucket.org/OverZealous/angularjs-naturalsort/raw/0a5e2a6abc28c079f9b959bfaa29497a71d8a23a/dist/naturalSortVersionDates.min.js",
"es5-shim": "2.3.0",
"font-awesome": "4.0.3",
"jquery": "2.1.0",
"json3": "3.3.0",
"noVNC": "https://github.com/kanaka/noVNC.git",
"sass-bootstrap": "3.0.2"
},
"resolutions": {
"angular": "1.2.13"
}
}

24
flow-typed/lodash.js vendored Normal file
View File

@@ -0,0 +1,24 @@
declare module 'lodash' {
declare export function forEach<K, V>(
object: { [K]: V },
iteratee: (V, K) => void
): void
declare export function groupBy<K, V>(
object: { [K]: V },
iteratee: K | ((V, K) => string)
): { [string]: V[] }
declare export function invert<K, V>(object: { [K]: V }): { [V]: K }
declare export function isEmpty(mixed): boolean
declare export function keyBy<T>(array: T[], iteratee: string): boolean
declare export function last<T>(array?: T[]): T | void
declare export function map<T1, T2>(
collection: T1[],
iteratee: (T1) => T2
): T2[]
declare export function mapValues<K, V1, V2>(
object: { [K]: V1 },
iteratee: (V1, K) => V2
): { [K]: V2 }
declare export function noop(...args: mixed[]): void
declare export function values<K, V>(object: { [K]: V }): V[]
}

14
flow-typed/promise-toolbox.js vendored Normal file
View File

@@ -0,0 +1,14 @@
declare module 'promise-toolbox' {
declare export function cancelable(Function): Function
declare export function defer<T>(): {|
promise: Promise<T>,
reject: T => void,
resolve: T => void,
|}
declare export function fromCallback<T>(
(cb: (error: any, value: T) => void) => void
): Promise<T>
declare export function fromEvent(emitter: mixed, string): Promise<mixed>
declare export function ignoreErrors(): Promise<void>
declare export function timeout<T>(delay: number): Promise<T>
}

2
flow-typed/xo.js vendored Normal file
View File

@@ -0,0 +1,2 @@
// eslint-disable-next-line no-undef
declare type $Dict<T, K = string> = { [K]: T }

1
gulp
View File

@@ -1 +0,0 @@
node_modules/.bin/gulp

View File

@@ -1,217 +0,0 @@
'use strict';
//====================================================================
var gulp = require('gulp');
var $ = require('gulp-load-plugins')();
//====================================================================
var options = require('minimist')(process.argv, {
boolean: ['production'],
default: {
production: false,
}
});
//====================================================================
var DIST_DIR = __dirname +'/dist';
var SRC_DIR = __dirname +'/app';
var BOWER_DIR = (function () {
var cfg;
try
{
cfg = JSON.parse(require('fs').readFileSync('./.bowerrc'));
}
catch (error)
{
cfg = {};
}
cfg.cwd || (cfg.cwd = __dirname);
cfg.directory || (cfg.directory = 'bower_components');
return cfg.cwd +'/'+ cfg.directory;
})();
var PRODUCTION = options.production;
var LIVERELOAD = 46417;
//--------------------------------------------------------------------
var combine = function () {
combine = require('stream-combiner');
return combine.apply(this, arguments);
};
var concat = function () {
concat = require('event-stream').concat;
return concat.apply(this, arguments);
};
var gIf = function () {
gIf = $.if;
return gIf.apply(this, arguments);
};
var src = (function () {
if (PRODUCTION)
{
return function (pattern) {
return gulp.src(SRC_DIR +'/'+ pattern, {
base: SRC_DIR,
});
};
}
// gulp-plumber prevents streams from disconnecting when errors.
// See: https://gist.github.com/floatdrop/8269868#file-thoughts-md
return function (pattern) {
return $.watch({
glob: SRC_DIR +'/'+ pattern,
base: SRC_DIR,
}).pipe($.plumber({
errorHandler: console.error,
}));
};
})();
var dest = (function () {
if (PRODUCTION)
{
return function () {
return gulp.dest(DIST_DIR);
};
}
return function () {
return combine(
gulp.dest(DIST_DIR),
$.livereload(LIVERELOAD)
);
};
})();
//====================================================================
gulp.task('build-pages', function () {
// TODO: Add minification (gulp-htmlmin).
return concat(
src('index.html').pipe(
gIf(!PRODUCTION, $.embedlr({
port: LIVERELOAD,
}))
),
src('views/**/*.jade').pipe($.jade()),
src('views/**/*.html')
).pipe(
dest()
);
});
gulp.task('build-scripts', function () {
return concat(
src('scripts/**/*.coffee').pipe($.coffee()),
src('scripts/**/*.js')
).pipe(
gIf(PRODUCTION, combine(
$.ngmin(),
$.uglify()
))
).pipe(
dest()
);
});
gulp.task('build-styles', ['install-bower-components'], function () {
return src('styles/main.sass').pipe(
$.rubySass({
loadPath: [
BOWER_DIR,
// Bug in gulp-ruby-sass, local directory should be in the
// include path.
SRC_DIR +'/styles'
]
})
).pipe(dest());
});
gulp.task('copy-assets', function () {
return src('{favicon.ico,images/**/*}').pipe(
dest()
);
});
gulp.task('install-bower-components', function (done) {
require('bower').commands.install()
.on('error', done)
.on('end', function () {
done();
});
});
//--------------------------------------------------------------------
gulp.task('check-pages', function () {
// TODO: Handle Jade.
return gulp.src(SRC_DIR +'/**/*.html')
.pipe($.htmlhint({
'doctype-first': false, // Incorrect for partials.
'img-alt-require': true,
}))
.pipe($.htmlhint.reporter())
;
});
gulp.task('check-scripts', function () {
return concat(
gulp.src(SRC_DIR +'/**/*.coffee')
.pipe($.coffeelint())
.pipe($.coffeelint.reporter()),
gulp.src(SRC_DIR +'/**/*.js')
.pipe($.jsvalidate())
.pipe($.jshint())
.pipe($.jshint.reporter('jshint-stylish'))
);
});
//--------------------------------------------------------------------
gulp.task('build', [
'build-pages',
'build-scripts',
'build-styles',
'copy-assets',
]);
gulp.task('check', [
'check-pages',
'check-scripts',
]);
gulp.task('clean', function () {
return gulp.src(DIST_DIR, {
read: false,
}).pipe($.clean());
});
gulp.task('distclean', ['clean'], function () {
return gulp.src(BOWER_DIR, {
read: false,
}).pipe($.clean());
});
gulp.task('test', function () {
return gulp.src(SRC_DIR +'/**/*.spec.js')
.pipe($.mocha({
reporter: 'spec'
}));
});
//------------------------------------------------------------------------------
gulp.task('default', ['build']);

4651
npm-shrinkwrap.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,36 +1,69 @@
{
"name": "XO-Web",
"version": "3.3.0",
"devDependencies": {
"bower": "~1.2.8",
"chai": "^1.9.0",
"event-stream": "^3.1.0",
"gulp": "^3.5.2",
"gulp-clean": "^0.2.4",
"gulp-coffee": "^1.4.1",
"gulp-coffeelint": "^0.3.1",
"gulp-embedlr": "^0.5.2",
"gulp-htmlhint": "^0.0.7",
"gulp-if": "^0.0.5",
"gulp-jade": "^0.4.2",
"gulp-jshint": "^1.4.2",
"gulp-jsvalidate": "^0.1.1",
"gulp-livereload": "^1.1.1",
"gulp-load-plugins": "^0.4.0",
"gulp-mocha": "^0.4.1",
"gulp-ngmin": "^0.1.2",
"gulp-plumber": "^0.5.6",
"gulp-ruby-sass": "^0.4.0",
"gulp-uglify": "^0.2.1",
"gulp-watch": "^0.5.0",
"jshint-stylish": "^0.1.5",
"minimist": "^0.0.8",
"stream-combiner": "^0.0.4"
"@babel/register": "^7.0.0-beta.44",
"babel-7-jest": "^21.3.2",
"babel-eslint": "^8.1.2",
"benchmark": "^2.1.4",
"eslint": "^4.14.0",
"eslint-config-standard": "^11.0.0-beta.0",
"eslint-config-standard-jsx": "^5.0.0",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-node": "^6.0.0",
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-react": "^7.6.1",
"eslint-plugin-standard": "^3.0.1",
"exec-promise": "^0.7.0",
"flow-bin": "^0.69.0",
"globby": "^8.0.0",
"husky": "^0.14.3",
"jest": "^22.0.4",
"lodash": "^4.17.4",
"prettier": "^1.10.2",
"promise-toolbox": "^0.9.5",
"sorted-object": "^2.0.1"
},
"engines": {
"node": ">=0.8.0"
"yarn": "^1.2.1"
},
"jest": {
"collectCoverage": true,
"projects": [
"<rootDir>",
"<rootDir>/packages/xo-web"
],
"testEnvironment": "node",
"testPathIgnorePatterns": [
"/dist/",
"/xo-web/"
],
"testRegex": "\\.spec\\.js$",
"transform": {
"/@xen-orchestra/cron/.+\\.jsx?$": "babel-7-jest",
"/@xen-orchestra/fs/.+\\.jsx?$": "babel-7-jest",
"/packages/complex-matcher/.+\\.jsx?$": "babel-7-jest",
"/packages/value-matcher/.+\\.jsx?$": "babel-7-jest",
"/packages/vhd-lib/.+\\.jsx?$": "babel-7-jest",
"/packages/xo-cli/.+\\.jsx?$": "babel-7-jest",
"/packages/xo-server/.+\\.jsx?$": "babel-7-jest",
"/packages/xo-vmdk-to-vhd/.+\\.jsx?$": "babel-7-jest",
"\\.jsx?$": "babel-jest"
}
},
"private": true,
"scripts": {
"test": "gulp test"
}
"build": "scripts/run-script --parallel build",
"clean": "scripts/run-script --parallel clean",
"dev": "scripts/run-script --parallel dev",
"dev-test": "jest --bail --watch \"^(?!.*\\.integ\\.spec\\.js$)\"",
"posttest": "scripts/run-script test",
"precommit": "scripts/lint-staged",
"prepare": "scripts/run-script prepare",
"pretest": "eslint --ignore-path .gitignore .",
"test": "jest \"^(?!.*\\.integ\\.spec\\.js$)\"",
"test-integration": "jest \".integ\\.spec\\.js$\""
},
"workspaces": [
"@xen-orchestra/*",
"packages/*"
]
}

View File

@@ -0,0 +1,3 @@
module.exports = require('../../@xen-orchestra/babel-config')(
require('./package.json')
)

View File

@@ -0,0 +1,24 @@
/benchmark/
/benchmarks/
*.bench.js
*.bench.js.map
/examples/
example.js
example.js.map
*.example.js
*.example.js.map
/fixture/
/fixtures/
*.fixture.js
*.fixture.js.map
*.fixtures.js
*.fixtures.js.map
/test/
/tests/
*.spec.js
*.spec.js.map
__snapshots__/

View File

@@ -0,0 +1,66 @@
# complex-matcher [![Build Status](https://travis-ci.org/vatesfr/xen-orchestra.png?branch=master)](https://travis-ci.org/vatesfr/xen-orchestra)
> ${pkg.description}
## Install
Installation of the [npm package](https://npmjs.org/package/complex-matcher):
```
> npm install --save complex-matcher
```
## Usage
```js
import * as CM from 'complex-matcher'
const characters = [
{ name: 'Catwoman', costumeColor: 'black' },
{ name: 'Superman', costumeColor: 'blue', hasCape: true },
{ name: 'Wonder Woman', costumeColor: 'blue' },
]
const predicate = CM.parse('costumeColor:blue hasCape?').createPredicate()
characters.filter(predicate)
// [
// { name: 'Superman', costumeColor: 'blue', hasCape: true },
// ]
new CM.String('foo').createPredicate()
```
## Development
```
# Install dependencies
> yarn
# Run the tests
> yarn test
# Continuously compile
> yarn dev
# Continuously run the tests
> yarn dev-test
# Build for production (automatically called by npm install)
> yarn build
```
## Contributions
Contributions are *very* welcomed, either on the documentation or on
the code.
You may:
- report any [issue](https://github.com/vatesfr/xen-orchestra/issues)
you've encountered;
- fork and create a pull request.
## License
ISC © [Vates SAS](https://vates.fr)

View File

@@ -0,0 +1,48 @@
{
"name": "complex-matcher",
"version": "0.3.0",
"license": "ISC",
"description": "",
"keywords": [],
"homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/packages/complex-matcher",
"bugs": "https://github.com/vatesfr/xen-orchestra/issues",
"repository": {
"type": "git",
"url": "https://github.com/vatesfr/xen-orchestra.git"
},
"author": {
"name": "Julien Fontanet",
"email": "julien.fontanet@isonoe.net"
},
"preferGlobal": false,
"main": "dist/",
"bin": {},
"files": [
"dist/"
],
"browserslist": [
">2%"
],
"engines": {
"node": ">=4"
},
"dependencies": {
"lodash": "^4.17.4"
},
"devDependencies": {
"@babel/cli": "7.0.0-beta.44",
"@babel/core": "7.0.0-beta.44",
"@babel/preset-env": "7.0.0-beta.44",
"babel-plugin-lodash": "^3.3.2",
"cross-env": "^5.1.1",
"rimraf": "^2.6.2"
},
"scripts": {
"build": "cross-env NODE_ENV=production babel --source-maps --out-dir=dist/ src/",
"clean": "rimraf dist/",
"dev": "cross-env NODE_ENV=development babel --watch --source-maps --out-dir=dist/ src/",
"prebuild": "yarn run clean",
"predev": "yarn run prebuild",
"prepublishOnly": "yarn run build"
}
}

View File

@@ -0,0 +1,12 @@
import { parse } from './'
import { ast, pattern } from './index.fixtures'
export default ({ benchmark }) => {
benchmark('parse', () => {
parse(pattern)
})
benchmark('toString', () => {
ast.toString()
})
}

Some files were not shown because too many files have changed in this diff Show More