Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
573 commits
Select commit Hold shift + click to select a range
617e43f
Add db_backend.mli
johnelse Feb 23, 2016
b6c68b0
Tidy up Db_backend interface
johnelse Feb 23, 2016
b60bdee
CA-106754: Gather all information before constraint validation
simonjbeaumont Feb 23, 2016
0ad09c9
CA-106754: Don't use List.hd for finding primary PIF in a bond
simonjbeaumont Feb 23, 2016
123c2e3
Don't use empty string as originator with internal sessions
johnelse Feb 24, 2016
c67486d
Make create_readonly_session call login_no_password_common
johnelse Feb 24, 2016
c29244c
CA-199656: Fix race in registering sessions with alternate databases
johnelse Feb 23, 2016
9f11e83
CA-106754: Disallow bonding when more than one PIF has an IP config
simonjbeaumont Feb 23, 2016
8be984b
CA-120586: Convert Failed_to_start_emulator into a proper API exception
johnelse Feb 24, 2016
b4d44c3
Merge pull request #2596 from simonjbeaumont/ca-106754
simonjbeaumont Feb 24, 2016
387fb62
Merge pull request #2597 from johnelse/ca-120586
simonjbeaumont Feb 24, 2016
ce0c4d8
Merge pull request #2595 from johnelse/ca-199656
Feb 24, 2016
a7c863f
CA-201117: quicktest: Use VDI.is_tools_iso instead of name_label
simonjbeaumont Feb 25, 2016
890633a
quicktest: Remove more unguarded List.hd calls
simonjbeaumont Feb 25, 2016
b945109
Replace remaining uses of xs-tools.iso name_label
simonjbeaumont Feb 25, 2016
dd9c643
Merge pull request #2598 from simonjbeaumont/ca-201117
Feb 25, 2016
fc28a31
CA-202289: mail-alarm: Get PRODUCT_BRAND from branding module
simonjbeaumont Mar 1, 2016
18cd78a
Merge pull request #2600 from simonjbeaumont/ca-202289
johnelse Mar 1, 2016
382f74d
CP-15745: Use xenserver-build-env for travis build
johnelse Feb 28, 2016
7a3f389
Merge pull request #2599 from johnelse/cp-15745
simonjbeaumont Mar 2, 2016
4a5d0aa
CA-201311: Fix email alert text when trigger level is 0
jonludlam Mar 2, 2016
77d6b0c
Merge pull request #2603 from jonludlam/CA-201311
simonjbeaumont Mar 2, 2016
29ffdbc
CA-201093: mail-alarm: Add formatter for log partition usage alerts
simonjbeaumont Mar 1, 2016
181e6ab
Make sure travis runs the tests
johnelse Mar 2, 2016
25d4d7a
travis: call script with bash rather than sh
johnelse Mar 2, 2016
fa1e381
Merge pull request #2604 from johnelse/travis-run-tests
johnelse Mar 2, 2016
7420e77
Factor out IP checking functions into Helpers
robhoes Mar 2, 2016
a22ce70
Add unit tests for IP checkers
robhoes Mar 2, 2016
3cd7220
CP-15358: Support external IP address setting in VMs
Mar 1, 2016
171f933
Merge pull request #2602 from simonjbeaumont/ca-201093
johnelse Mar 3, 2016
2d92680
Merge pull request #2605 from robhoes/trunk-ring3-car-2144
robhoes Mar 3, 2016
84038c7
VIF.configure_ipv{4,6}: fix locking check
robhoes Mar 3, 2016
1c71bf9
Merge pull request #2606 from robhoes/lockcheck
robhoes Mar 3, 2016
1cd3a22
Refactor Xapi_sr_operations.valid_operations
jjd27 Mar 4, 2016
1dfaaa1
CA-202385: SR assert_operation_valid: only run relevant checks
jjd27 Mar 4, 2016
9bb995a
CA-202385: improve efficiency of check for managed VDIs
jjd27 Mar 4, 2016
621565f
CA-203414: Upgrade CPU features in pool_migrate_complete after SXM
robhoes Mar 8, 2016
b5cdee2
Merge pull request #2608 from robhoes/ca201578
euanh Mar 9, 2016
4c3179e
CA-202385: use List.exists rather than List.fold_left
jjd27 Mar 9, 2016
e8b16ef
Merge pull request #2607 from jjd27/ca202385
simonjbeaumont Mar 9, 2016
f0ba30b
xapi_vm_lifecycle: Refactor operation validity checks
euanh Mar 10, 2016
ce0a39d
CA-201419: Make tools check optional for HVM migration
euanh Mar 10, 2016
ca5110c
CA-202419: Plumb 'strict' flag down to HVM feature check
euanh Mar 10, 2016
12a1b65
Merge pull request #2609 from euanh/CA-202419
robhoes Mar 11, 2016
be40832
Remove archaic scripts in the top level directory
euanh Mar 11, 2016
2b7805b
Merge pull request #2611 from euanh/spring-clean
johnelse Mar 11, 2016
703020c
CA-202127: Fix Tools SR upgrade
robhoes Mar 11, 2016
6fa0e82
CA-202127: Remove Tools SR rename from xapi-rolling-upgrade script
robhoes Mar 11, 2016
d28ea57
Remove DB-upgrade unit test for set_tools_sr_field
robhoes Mar 11, 2016
d96071b
Remove unused create_storage_main.ml
robhoes Mar 11, 2016
4894705
Add some missing headers
robhoes Mar 11, 2016
0c62b77
Add unit test for create_tools_sr
robhoes Mar 15, 2016
8e07efc
Merge pull request #2610 from robhoes/ca202127
robhoes Mar 15, 2016
e3d9ecc
CA-204237: Add default for configure_ipv4 and configure_ipv6
cheng-z Mar 18, 2016
0c6a344
Merge pull request #2614 from cheng-z/CA-204237
robhoes Mar 18, 2016
3aa417f
CA-204263: Rename xe parameter ssl-legacy to allow-ssl-legacy
johnelse Mar 18, 2016
54985cb
Merge pull request #2618 from johnelse/ca-204263
Mar 18, 2016
96a852d
CA-200924: Avoid premature cache invalidation
jonludlam Mar 4, 2016
cef2c7d
Merge pull request #2620 from jonludlam/CA-200924-5
simonjbeaumont Mar 22, 2016
a973088
CA-204240: Add more vif-configure-ip command paramters check
cheng-z Mar 23, 2016
3dd0dae
Aid DB unmarshalling debugging
jjd27 Mar 23, 2016
5df364e
Merge pull request #2622 from jjd27/db_unexpected_col
Mar 23, 2016
bfff649
CA-204240: Rework comments
cheng-z Mar 25, 2016
2b371dd
Merge pull request #2621 from cheng-z/CA-204240
Mar 25, 2016
3895752
CA-204474: Cancel and wait for outstanding tasks in hard_reboot/shutdown
jonludlam Mar 30, 2016
f5c5f2d
CA-204484: Move cancellation logic to slave
jonludlam Mar 30, 2016
2725e9a
Refactor cross pool migration metadata transfer code
johnelse Mar 30, 2016
9440e59
Populate the VDI map in assert_can_migrate
johnelse Mar 30, 2016
c6aead4
Pull infer_vif_map out into a separate function
johnelse Mar 30, 2016
c166ad1
Pull vdi_map check out into a separate function
johnelse Mar 30, 2016
4cb2bc3
Perform the same mapping checks in assert_can_migrate as in migrate_send
johnelse Mar 30, 2016
8fc3cbc
Add tests for infer_vif_map
johnelse Mar 30, 2016
0c0481b
Make sure hard_reboot is only shutdown/start when necessary
jonludlam Mar 31, 2016
f207eb5
Bump priority of log message from debug to info
jonludlam Mar 31, 2016
29983dd
CA-205589: Preserve has_vendor_device on DB upgrade
thomassa Mar 31, 2016
bd31797
Merge pull request #2624 from jonludlam/CA-204474-2
robhoes Apr 1, 2016
27c0600
CA-204486: Remove xapi-v6d components, which are not used
robhoes Apr 1, 2016
4dd8c3d
Merge pull request #2625 from johnelse/vdi-vif-map-refactor
simonjbeaumont Apr 1, 2016
7111f75
Merge pull request #2627 from robhoes/xapi-v6d
robhoes Apr 1, 2016
1244544
Merge pull request #2626 from thomassa/precise-db-upgrade-for-auto-up…
robhoes Apr 1, 2016
9f609b6
Remove unused GPG files
robhoes Apr 4, 2016
510d63c
Merge pull request #2628 from robhoes/master
robhoes Apr 4, 2016
31127cb
CP-15132: Remove init scripts for disaggregated daemons
simonjbeaumont Mar 2, 2016
1d3ae91
CP-15132: Remove initsdk script
simonjbeaumont Mar 2, 2016
61a96cb
CP-15132: xapi-domains: Move to systemd
simonjbeaumont Mar 9, 2016
0e5065e
CP-15132: perfmon: Move to systemd
simonjbeaumont Mar 9, 2016
35fe9af
CP-15132: genptoken: Move to systemd
simonjbeaumont Mar 9, 2016
bdfc475
CP-15132: xapi: Add auto-generated systemd wrapper
simonjbeaumont Mar 16, 2016
88bb3fd
CP-15132: xapi: Remove some inferred systemd config
simonjbeaumont Mar 16, 2016
ad7dae6
CP-15132: xapi: Add some extra startup dependencies
simonjbeaumont Mar 16, 2016
acd05d9
CP-15132: attach-static-vdis: Add systemd wrapper
simonjbeaumont Mar 16, 2016
c6ab505
CP-15132: save-boot-info: Add systemd wrapper
simonjbeaumont Mar 16, 2016
51fb6f3
CP-15132: Move legacy management-interface script out of /etc/init.d
simonjbeaumont Mar 16, 2016
c59e7ca
CP-15132: xe-toolstack-restart: fe is not a service
simonjbeaumont Mar 29, 2016
742033c
CP-15132: xe-toolstack-restart: Remove do-not-use-networkd hack
simonjbeaumont Mar 29, 2016
2845151
CP-15132: xe-toolstack-restart: Use systemctl instead of service
simonjbeaumont Mar 29, 2016
9364969
CP-15132: xe-toolstack-restart: Use bash action to replicate sysv stdout
simonjbeaumont Mar 29, 2016
bc72c01
Merge pull request #2629 from simonjbeaumont/cp-15132
simonjbeaumont Apr 5, 2016
a657795
CP-16558: assert_can_set_has_vendor_device: don't refer to *_paths_op…
jjd27 Mar 22, 2016
2b21249
CA-203169: Add PV_drivers_detected field to VM_guest_metrics
jjd27 Mar 23, 2016
0c5cfd2
CA-203169: rip out {storage,network}_paths_optimized fields
jjd27 Mar 30, 2016
245d6fd
CA-206592: Change RBAC of vif-config-ipv* to _R_VM_OP
cheng-z Apr 7, 2016
de7cc36
Merge pull request #2631 from cheng-z/CA-206592
johnelse Apr 7, 2016
037e7b1
CA-203169: don't fail DB upgrade from Tech Previews that drop fields
jjd27 Apr 6, 2016
5374d64
CA-206602: Preserve Host.ssl_legacy on pool-join
thomassa Apr 6, 2016
3223736
Refactor Pool.enable_ssl_legacy and disable_ssl_legacy
thomassa Apr 7, 2016
5e97264
Merge pull request #2632 from thomassa/pool-join-ssl-legacy-custom-cr…
robhoes Apr 8, 2016
c8d5f94
Revert "CP-15132: Package daemons and one-shot scripts for systemd"
simonjbeaumont Apr 11, 2016
73419a4
Merge pull request #2633 from xapi-project/revert-2629-cp-15132
simonjbeaumont Apr 11, 2016
bfa6aa1
Merge pull request #2630 from jjd27/trunk-ring3-ca-203169
simonjbeaumont Apr 11, 2016
3bafd21
CA-207440: Stop daily-license-check cron spamming dead.letter
simonjbeaumont Apr 12, 2016
68fb839
Merge pull request #2634 from simonjbeaumont/ca-207440
simonjbeaumont Apr 12, 2016
e62d116
CP-16072: Handle extra values in the GVT-g config file
johnelse Apr 13, 2016
36bb57a
CP-16072: Put correct GVT-g metadata in the database
johnelse Apr 13, 2016
e71ceec
Merge pull request #2636 from johnelse/cp-16072
robhoes Apr 14, 2016
e9289f2
CA-206753: Move task cancellation to message_forwarding
sharady Apr 14, 2016
e470f20
Merge pull request #2637 from sharady/CA-206753
Apr 15, 2016
9492c6f
Remove unused setup-vif-rules and xen-backend.rules
robhoes Apr 19, 2016
76ba8fa
Remove some more obsolete files in scripts/
robhoes Apr 19, 2016
8055908
Merge pull request #2638 from robhoes/cleanup
johnelse Apr 21, 2016
cde2b1b
CA-208493: Revert "CA-111223: CP-8322: Add the 32-bit CLI RPM to the …
jonludlam Apr 22, 2016
a838b47
Merge pull request #2639 from jonludlam/CA-208493
johnelse Apr 22, 2016
872b8e0
Add travis GH_TOKEN
robhoes Apr 22, 2016
779391b
Split doc make target into doc-html, -pdf, and -json
robhoes Apr 22, 2016
e8b829f
CA-208836: Add policy_no_vendor_device to pool
jonludlam Apr 24, 2016
1e544e5
CA-208836: Expose pool.default_vendor_device in the CLI
jonludlam Apr 24, 2016
d3ff078
CA-208836: Add the ability to customize default values of fields at r…
jonludlam Apr 24, 2016
4c2aff9
CA-208836: Default 'has_vendor_device' at runtime.
jonludlam Apr 24, 2016
71d30f5
CA-208836: Use pool.policy_no_vendor_device in CLI vm-install
jonludlam Apr 24, 2016
31cb70e
CA-208836: Add a test for the behaviour of VM.create under different …
jonludlam Apr 25, 2016
75f26d3
CA-208836: Respond to PR comments
jonludlam Apr 25, 2016
4750c84
Get Travis to update the XenAPI docs on xapi-project.github.io
robhoes Apr 22, 2016
d46a20e
Merge pull request #2640 from robhoes/deploy
johnelse Apr 26, 2016
b7e35ee
travis/deploy: add the container name to the global env
robhoes Apr 26, 2016
a48b445
Merge pull request #2642 from robhoes/master
robhoes Apr 26, 2016
3b622a0
travis/deploy: fix path in container
robhoes Apr 26, 2016
3845a42
Merge pull request #2643 from robhoes/master
robhoes Apr 26, 2016
382ac29
travis/deploy: fix another path
robhoes Apr 26, 2016
7e1e352
Merge pull request #2644 from robhoes/master
robhoes Apr 26, 2016
4c25f55
Merge pull request #2641 from jonludlam/CA-208836
Apr 26, 2016
3d32591
travis/deploy: safety improvements
robhoes Apr 26, 2016
e13042f
Undeprecate VM.create
robhoes Apr 26, 2016
403bfeb
Merge pull request #2645 from robhoes/master
johnelse Apr 26, 2016
a32e775
CA-207609: Add AD feature flag
robhoes Apr 26, 2016
b2d9cbd
Merge pull request #2647 from robhoes/ad
robhoes Apr 27, 2016
20ea998
Merge pull request #2646 from robhoes/undeprecate
Apr 27, 2016
f7c85dc
travis/deploy: fix redirection
robhoes Apr 27, 2016
683ae78
Merge pull request #2648 from robhoes/master
simonjbeaumont Apr 27, 2016
1139b99
CA-208614: On pool-join, copy ssl_legacy from master.
thomassa Apr 26, 2016
e5123c1
Merge pull request #2649 from thomassa/pool-join-ssl-legacy-match-master
robhoes Apr 28, 2016
c7d59f9
json/doc: split out StaticRO and DynamicRO
robhoes Apr 29, 2016
3974f27
CA-209507: Clean up VGPU.scheduled_to_be_resident_on if VM.start fails
johnelse Apr 29, 2016
f73e9fd
CA-209507: Pull out duplicated code into a function
johnelse May 3, 2016
cbdc332
Merge pull request #2650 from johnelse/ca-209507
robhoes May 3, 2016
ba612a7
CA-209875: iLO plugin: TLS-only, set ciphersuites.
thomassa May 3, 2016
4841d27
Merge pull request #2651 from thomassa/iLO-tls
robhoes May 5, 2016
db7ac7a
Merge pull request #2653 from robhoes/jsondoc
robhoes May 6, 2016
c83a5c3
gpumon: Fix pattern match ambiguity
johnelse Apr 29, 2016
6d8525a
Use polymorphic variant to track gpumon's state
johnelse Apr 29, 2016
2a57355
Make use of some OCaml 4.* functions
johnelse Apr 29, 2016
8bd49c0
Fix for the lifecycle diagram.
lindig May 6, 2016
faa8a1d
Added missing vm_lifecycle.eps
lindig May 6, 2016
751f57f
Merge pull request #2654 from lindig/fix-lifecycle-diagram
thomassa May 6, 2016
70e5044
deploy: Print more debug output, redacting token
euanh May 9, 2016
19db90f
Merge pull request #2655 from euanh/travis
robhoes May 10, 2016
5ce5f32
Add generic Daemon_manager module
johnelse Apr 29, 2016
6cb0074
Make Xapi_gpumon use Daemon_manager
johnelse Apr 29, 2016
75ee4be
CP-15884: Add an Ely release to datamodel
euanh May 11, 2016
05b6782
Add tests for Daemon_manager
johnelse May 3, 2016
bb04e00
Add timeout support to Daemon_manager
johnelse May 10, 2016
fce1c14
Add tests for timeout handling
johnelse May 11, 2016
637828f
CA-209508: Use timeout when attempting to stop gpumon
johnelse May 11, 2016
54dbe46
CA-208614: On pool-join, copy ssl_legacy from master.
thomassa Apr 26, 2016
6d51c69
json/doc: split out StaticRO and DynamicRO
robhoes Apr 29, 2016
8699256
CA-209507: Clean up VGPU.scheduled_to_be_resident_on if VM.start fails
johnelse Apr 29, 2016
9b2d1af
CA-209507: Pull out duplicated code into a function
johnelse May 3, 2016
db42194
CA-209875: iLO plugin: TLS-only, set ciphersuites.
thomassa May 3, 2016
12d10ba
Fix for the lifecycle diagram.
lindig May 6, 2016
a3c160b
Added missing vm_lifecycle.eps
lindig May 6, 2016
7653776
deploy: Print more debug output, redacting token
euanh May 9, 2016
f273ab5
Merge commit '19db90f00a0309f196a04ee59fc8c08234844ffc'
MarkSymsCtx May 11, 2016
a9917b4
Xapi_network: Use networkd to bring up interface on HIMN
simonjbeaumont May 3, 2016
b66021f
Xapi_network: Support making HIMN persistent
simonjbeaumont May 3, 2016
63c9c0a
Xapi_udhcpd: Fix up formatting
simonjbeaumont May 11, 2016
090dd2c
Xapi_udhcpd: Optionally advertise PXE server in dom0
simonjbeaumont May 11, 2016
44865ba
Merge pull request #2658 from simonjbeaumont/neptune
simonjbeaumont May 12, 2016
9dc3d98
tests: Move test_highlevel.ml and test_printers.ml to xapi-test-utils…
robhoes May 12, 2016
d53f1d4
Merge remote-tracking branch 'trunk/master'
johnelse May 13, 2016
def6042
Merge pull request #2659 from robhoes/unit
robhoes May 16, 2016
4732a13
Add dependency on xapi-test-utils in spec file
robhoes May 16, 2016
d5e13bd
CA-211264: Re-run chkconfig on upgrade to pickup ordering changes
simonjbeaumont May 16, 2016
4d1574a
Merge pull request #2662 from robhoes/spec
robhoes May 16, 2016
569a69a
Merge pull request #2661 from simonjbeaumont/ca-211264
euanh May 16, 2016
6e74110
Add "_nolock" to names of functions which need mutex protection
johnelse May 17, 2016
3f885f2
Remove some unnecessary let .. in bindings
johnelse May 17, 2016
8f5d3a2
Remove type daemon_state from the interface
johnelse May 17, 2016
d52c8a1
Make comment more ocamldoc-friendly
johnelse May 17, 2016
09ecd8e
Use underscores for gpumon_stop_timeout
johnelse May 17, 2016
3f4e373
Use 10 second timeout
johnelse May 17, 2016
be23dff
Add gpumon_stop_timeout to xapi.conf
johnelse May 17, 2016
960329a
Use systemctl rather than service to restart gpumon
johnelse May 17, 2016
cf1cb40
Use systemctl to check gpumon's status
johnelse May 17, 2016
745b624
Merge pull request #2657 from johnelse/ca-209508
simonjbeaumont May 17, 2016
710456f
CA-211425: Privilege escalation vulnerability after upgrade with AD e…
May 19, 2016
c952297
Merge branch 'CP-15884' of git://github.com/euanh/xen-api into euanh-…
robhoes May 19, 2016
84e6a60
Add Ely datamodel schema
robhoes May 19, 2016
587f2b4
Merge branch 'euanh-CP-15884'
robhoes May 19, 2016
7c706fe
CP-17414: Add AD feature check to host.enable_external_auth
robhoes May 20, 2016
5c6a0b1
CP-17414: Add AD feature check to subject.create
robhoes May 20, 2016
0f4587c
Merge pull request #2663 from robhoes/ad
robhoes May 20, 2016
a547d59
CP-17066: Pass monitor config file to xenopsd for GVT-g equipped VMs
johnelse May 19, 2016
8641ec1
Remove some hardcoded strings from the unit test code
johnelse May 19, 2016
bf8f396
Add some tests for the vGPU xenopsd metadata conversion
johnelse May 19, 2016
e5e5a62
Merge pull request #2665 from johnelse/cp-17066
johnelse May 24, 2016
5cb3bd0
CA-211749: DHCP on HIMN must advertise routers by default
robhoes May 25, 2016
d91537b
Merge pull request #2667 from robhoes/himn
robhoes May 25, 2016
11ad87a
Merge commit '745b624b8fd0a49e0768da57ea980f18426389f5'
cheng-z May 27, 2016
d4f781e
Merge commit '11ad87ae603d97b1300689272d6ade2fcad3b14f'
cheng-z May 30, 2016
3d91561
CP-17469: Pciops: Remove unused unassign_all_for_vm
simonjbeaumont Jun 2, 2016
28fc0e4
CP-17469: Xapi_pci: Treat all known PCI classes as managed
simonjbeaumont Jun 2, 2016
99f1d52
CP-17469: Xapi_pci: Start managing storage controller PCI devices
simonjbeaumont Jun 2, 2016
5e00eba
CA-208537: vdi-copy between local SRs proposes unwanted ciphers
May 25, 2016
c6c2bc2
Merge commit 'd91537b40541e70fb00ef35b24bec508156f831f'
johnelse Jun 3, 2016
a187fd8
Previous fix was wrong, revert it.
Jun 3, 2016
9b5e8ca
Merge pull request #2670 from simonjbeaumont/cp-17469
simonjbeaumont Jun 4, 2016
012e75c
Merge pull request #2666 from phusl/CA-208537
thomassa Jun 6, 2016
377c430
Merge commit '012e75c0e210535d788a875595f193c178758c87'
johnelse Jun 9, 2016
48a72fb
Defined the dundee-plus release
Jun 13, 2016
8c108e2
Merge pull request #2674 from kc284/master
johnelse Jun 13, 2016
83169b4
CP-17481: is_control_domain =/=> domain zero
simonjbeaumont Jun 6, 2016
bff6184
CP-17481: expose the control domain id on the host so it is distingui…
Jun 13, 2016
8718219
CP-17631: Don't default HVM keymap to en-us
simonjbeaumont Jun 16, 2016
abd9178
Improve API doc of VM.affinity
robhoes Jun 17, 2016
b3fd44c
Merge pull request #2677 from robhoes/affinity
simonjbeaumont Jun 17, 2016
f85079c
Merge pull request #2676 from simonjbeaumont/cp-17631
simonjbeaumont Jun 17, 2016
63ad698
CA-199734: Small refactoring
zli May 16, 2016
ab6926b
CA-199734: best-effort DP destroy and other cleanups for mirror/copy …
zli May 19, 2016
a80bfaa
CA-199734: code improvement on mapfn
zli May 24, 2016
71954cb
CP-17481: Changed all the places where xapi picks dom0 to use the new…
Jun 20, 2016
54933c4
CP-17481: Ensure VM is not dom0 when checking whether it's HVM.
Jun 17, 2016
30a56a4
CP-17481: Add upgrade logic for new Host.control_domain
simonjbeaumont Jun 20, 2016
c76b956
Merge pull request #2675 from kc284/cp-17481
euanh Jun 21, 2016
b55d510
CP-17506: Add new capability Vdi_mirror for `vdi-pool-migrate`
sharady Jun 17, 2016
bbbf0bf
CP-17506: Update SR allowed_operations for new SM capability Vdi_mirror
sharady Jun 20, 2016
0a5cbfb
Merge pull request #2678 from zli/CA-199734-cont
Jun 21, 2016
27c8ced
CP-17506: Update VDI operations for new SM capability Vdi_mirror
sharady Jun 21, 2016
9415c46
Merge pull request #2679 from sharady/CP-17506
simonjbeaumont Jun 23, 2016
fa75db4
CA-214015: Revert "CP-17481: Ensure VM is not dom0 when checking whet…
simonjbeaumont Jun 23, 2016
87d6d1a
CA-214015: Test_vdi_allowed_operations: Use Host.control_domain for VBD
simonjbeaumont Jun 23, 2016
69d54c7
Merge pull request #2682 from simonjbeaumont/ca-214015
euanh Jun 23, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ ocaml/idl/ocaml_backend/META
ocaml/xenops/META
ocaml/xapi/rrddump
ocaml/xapi/sparse_dd
ocaml/license/daily-license-check
ocaml/license/v6d
ocaml/license/v6d-reopen-logs
ocaml/license/v6testd
Expand Down
19 changes: 16 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,21 @@
language: c
install: wget https://raw.githubusercontent.com/ocaml/ocaml-travisci-skeleton/master/.travis-opam.sh
script: bash -ex .travis-opam.sh
services: docker
install:
- wget https://raw.githubusercontent.com/xenserver/xenserver-build-env/master/utils/travis-build-repo.sh
script: bash travis-build-repo.sh
after_success:
- test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && bash deploy.sh
sudo: true
env:
- OCAML_VERSION=4.02 PACKAGE=xapi FORK_USER=xapi-project EXTRA_REMOTES=git://github.com/xapi-project/opam-repo-dev
global:
- CONTAINER_NAME=build-env
- REPO_PACKAGE_NAME=xapi
- REPO_CONFIGURE_CMD=./configure
- REPO_BUILD_CMD=make
- REPO_TEST_CMD='make test'
- REPO_DOC_CMD='make doc-json'
- secure: tokxJl2litqu/T6UUwzkLRZzlbxnbYqVG2QRKKQz3tkIXyZHQWTS2NAyH7mwDgdBq2dDVSxAUxS1jWq/vGraX7MmbVz37Pz8wjykoIfIRtQuEx+REDAvAzWSw+1LTpUf7ZcI+F2SpgJrnH87uN5AAc220UqIx8TvAtGrita+2+o=
matrix:
- OCAML_VERSION=4.02
notifications:
slack: citrix:BHYQZbI8m036ELU21gZil75Y
18 changes: 14 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ all: version
omake -j 8 phase3

.PHONY: phase1 phase2 phase3
phase1:
phase1: version
omake phase1
phase2:
omake phase2
Expand Down Expand Up @@ -97,10 +97,20 @@ clean:
otags:
otags -vi -r . -o tags

.PHONY: doc-html
doc-html: phase1
omake doc-html

.PHONY: doc-pdf
doc-pdf: phase1
omake doc-pdf

.PHONY: doc-json
doc-json: phase1
omake doc-json

.PHONY: doc
doc:
omake phase1 phase2 # autogenerated files might be required
omake doc
doc: doc-html doc-pdf doc-json

PLATFORM_VERSION ?= 0.0.0

Expand Down
4 changes: 2 additions & 2 deletions OMakefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ if $(equal $(DISABLE_WARN_ERROR), true)
else
WARN = -warn-error

OCAMLFLAGS = -g -dtypes -bin-annot -thread $(WARN) +a-4-6-9-27-28-29
OCAMLFLAGS = -g -dtypes -bin-annot -thread $(WARN) +a-3-4-6-9-27-28-29

# c compiling stuff
OCAMLCFLAGS += -g
Expand Down Expand Up @@ -164,7 +164,7 @@ OCAML_PHASE3_XEN = \
ocaml/xapi/xapi \
ocaml/xapi/quicktestbin \
ocaml/xapi/storage_impl_test \
ocaml/license/v6d
ocaml/license/daily-license-check

#ocaml/xapi/monitor_fake_plugin

Expand Down
39 changes: 39 additions & 0 deletions deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

# Make sure we're not echoing any sensitive data
set +x
set -o errexit -o nounset

if [ "$TRAVIS_BRANCH" != "master" ]
then
echo "This commit was made against the $TRAVIS_BRANCH and not the master! No deploy!"
exit 0
fi

# Error out if $GH_TOKEN is empty or unset
: ${GH_TOKEN:?"GH_TOKEN needs to be uploaded via travis-encrypt"}

# Print a hash of the token for debugging
echo Token MD5: $(echo $GH_TOKEN | md5sum)

rev=$(git rev-parse --short HEAD)

# Copy data we're interested in out of the container
docker cp ${CONTAINER_NAME}:/home/builder/xen-api/ocaml/idl/json_backend/xenapi.json $HOME/
docker cp ${CONTAINER_NAME}:/home/builder/xen-api/ocaml/idl/json_backend/release_info.json $HOME/

# Go to home and setup git
cd $HOME
git config --global user.email "travis@travis-ci.org"
git config --global user.name "Travis"

# Using token clone xapi-project.github.io.git
git clone "https://$GH_TOKEN@github.com/xapi-project/xapi-project.github.io.git" 2>&1 | sed -e "s/$GH_TOKEN/!REDACTED!/g"

# Copy data we're interested in into the right place
cd xapi-project.github.io
cp -f $HOME/xenapi.json _data/
cp -f $HOME/release_info.json _data/

git commit -am "Updated XenAPI docs based on xen-api/${rev}"
git push origin master 2>&1 | sed -e "s/$GH_TOKEN/!REDACTED!/g"
24 changes: 0 additions & 24 deletions fix-broken-repo.sh

This file was deleted.

4 changes: 0 additions & 4 deletions fix-date.sh

This file was deleted.

10 changes: 0 additions & 10 deletions git-tag-version.sh

This file was deleted.

4 changes: 0 additions & 4 deletions mk/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ export PRODUCT_VERSION_TEXT_SHORT
build: $(OUTPUT_CLI_RT) $(OUTPUT_SDK) $(MY_SOURCES)/MANIFEST
$(call mkdir_clean,$(MY_MAIN_CDFILES)/client_install)
install -m 755 $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-xe-*.rpm $(MY_MAIN_CDFILES)/client_install/xe-cli-$(PRODUCT_VERSION)-$(BUILD_NUMBER).$(DOMAIN0_ARCH_OPTIMIZED).rpm
# Copy in the 32-bit CLI from clearwater RTM build
install -m 755 $(CARBON_DISTFILES)/xe-cli-32bit/xe-cli-6.2.0-70442c.i686.rpm $(MY_MAIN_CDFILES)/client_install/xe-cli-6.2.0-70442c.i686.rpm
# Delete this as soon as xenrt has been updated to fetch the file from
# the new place:
$(call mkdir_clean,$(MY_LINUX_CDFILES)/client_install)
Expand Down Expand Up @@ -88,8 +86,6 @@ $(OUTPUT_CLI_RT) $(OUTPUT_SDK): $(MY_MAIN_PACKAGES)/.dirstamp $(RPM_DIRECTORIES)
cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-tests-*.rpm $(MY_MAIN_PACKAGES)
cp $(RPM_RPMSDIR)/*/xapi-www-*.rpm $(MY_MAIN_PACKAGES)
cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-xe-*.rpm $(MY_MAIN_PACKAGES)
mkdir -p $(MY_XCP_PACKAGES)
cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-v6d-*.rpm $(MY_XCP_PACKAGES)

.PHONY: clean
clean:
Expand Down
2 changes: 1 addition & 1 deletion ocaml/auth/extauth_plugin_ADpbis.ml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ struct
*
*)

let user_friendly_error_msg = "The Active Directory Plug-in could not complete the command. Additional information in the XenServer log."
let user_friendly_error_msg = "The Active Directory Plug-in could not complete the command. Additional information in the logs."

open Pervasiveext
open Xstringext
Expand Down
28 changes: 28 additions & 0 deletions ocaml/client_records/record_util.ml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ let vdi_operation_to_string = function
| `destroy -> "destroy"
| `force_unlock -> "force_unlock"
| `snapshot -> "snapshot"
| `mirror -> "mirror"
| `forget -> "forget"
| `update -> "update"
| `generate_config -> "generate_config"
Expand All @@ -124,6 +125,7 @@ let sr_operation_to_string = function
| `vdi_resize -> "VDI.resize"
| `vdi_clone -> "VDI.clone"
| `vdi_snapshot -> "VDI.snapshot"
| `vdi_mirror -> "VDI.mirror"
| `pbd_create -> "PBD.create"
| `pbd_destroy -> "PBD.destroy"

Expand Down Expand Up @@ -387,6 +389,16 @@ let ip_configuration_mode_of_string m =
| "static" -> `Static
| s -> raise (Record_failure ("Expected 'dhcp','none' or 'static', got "^s))

let vif_ipv4_configuration_mode_to_string = function
| `None -> "None"
| `Static -> "Static"

let vif_ipv4_configuration_mode_of_string m =
match String.lowercase m with
| "none" -> `None
| "static" -> `Static
| s -> raise (Record_failure ("Expected 'none' or 'static', got "^s))

let ipv6_configuration_mode_to_string = function
| `None -> "None"
| `DHCP -> "DHCP"
Expand All @@ -401,6 +413,16 @@ let ipv6_configuration_mode_of_string m =
| "autoconf" -> `Autoconf
| s -> raise (Record_failure ("Expected 'dhcp','none' 'autoconf' or 'static', got "^s))

let vif_ipv6_configuration_mode_to_string = function
| `None -> "None"
| `Static -> "Static"

let vif_ipv6_configuration_mode_of_string m =
match String.lowercase m with
| "none" -> `None
| "static" -> `Static
| s -> raise (Record_failure ("Expected 'none' or 'static', got "^s))

let primary_address_type_to_string = function
| `IPv4 -> "IPv4"
| `IPv6 -> "IPv6"
Expand Down Expand Up @@ -460,6 +482,12 @@ let on_boot_to_string onboot =
| `reset -> "reset"
| `persist -> "persist"

let tristate_to_string tristate =
match tristate with
| `yes -> "true"
| `no -> "false"
| `unspecified -> "unspecified"

let wrap f err x = try f x with _ -> err x
let generic_error x = raise (Record_failure ("Unknown value: "^x))
let rpc_to_string = function | Rpc.String s -> s | _ -> failwith "Bad RPC type in record_util"
Expand Down
27 changes: 20 additions & 7 deletions ocaml/client_records/records.ml
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,12 @@ let vif_record rpc session_id vif =
~add_to_set:(fun value -> Client.VIF.add_ipv6_allowed rpc session_id vif value)
~remove_from_set:(fun value -> Client.VIF.remove_ipv6_allowed rpc session_id vif value)
~set:(fun value -> Client.VIF.set_ipv6_allowed rpc session_id vif (String.split ',' value)) ();
make_field ~name:"ipv4-configuration-mode" ~get:(fun () -> Record_util.vif_ipv4_configuration_mode_to_string (x ()).API.vIF_ipv4_configuration_mode) ();
make_field ~name:"ipv4-addresses" ~get:(fun () -> String.concat "; " (x ()).API.vIF_ipv4_addresses) ();
make_field ~name:"ipv4-gateway" ~get:(fun () -> (x ()).API.vIF_ipv4_gateway) ();
make_field ~name:"ipv6-configuration-mode" ~get:(fun () -> Record_util.vif_ipv6_configuration_mode_to_string (x ()).API.vIF_ipv6_configuration_mode) ();
make_field ~name:"ipv6-addresses" ~get:(fun () -> String.concat "; " (x ()).API.vIF_ipv6_addresses) ();
make_field ~name:"ipv6-gateway" ~get:(fun () -> (x ()).API.vIF_ipv6_gateway) ();
]}


Expand Down Expand Up @@ -527,6 +533,8 @@ let pool_record rpc session_id pool =
Client.Pool.remove_from_guest_agent_config rpc session_id pool k)
~get_map:(fun () -> (x ()).API.pool_guest_agent_config)
();
make_field ~name:"cpu_info" ~get:(fun () -> Record_util.s2sm_to_string "; " (x ()).API.pool_cpu_info) ~get_map:(fun () -> (x ()).API.pool_cpu_info) ();
make_field ~name:"policy-no-vendor-device" ~get:(fun () -> string_of_bool (x ()).API.pool_policy_no_vendor_device) ~set:(fun s -> Client.Pool.set_policy_no_vendor_device rpc session_id pool (safe_bool_of_string "policy-no-vendor-device" s)) ();
]}

let subject_record rpc session_id subject =
Expand Down Expand Up @@ -870,17 +878,19 @@ let vm_record rpc session_id vm =
make_field ~name:"networks"
~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_networks) (xgm ()) ))
~get_map:(fun () -> default [] (may (fun m -> m.API.vM_guest_metrics_networks) (xgm ()))) ();
make_field ~name:"network-paths-optimized"
~get:(fun () -> default nid (may (fun m -> string_of_bool m.API.vM_guest_metrics_network_paths_optimized) (xgm ()) )) ();
make_field ~name:"storage-paths-optimized"
~get:(fun () -> default nid (may (fun m -> string_of_bool m.API.vM_guest_metrics_storage_paths_optimized) (xgm ()) )) ();
make_field ~name:"PV-drivers-detected"
~get:(fun () -> default nid (may (fun m -> string_of_bool m.API.vM_guest_metrics_PV_drivers_detected) (xgm ()) )) ();
make_field ~name:"other"
~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_other) (xgm ()) ))
~get_map:(fun () -> default [] (may (fun m -> m.API.vM_guest_metrics_other) (xgm()))) ();
make_field ~name:"live"
~get:(fun () -> default nid (may (fun m -> string_of_bool m.API.vM_guest_metrics_live) (xgm ()) )) ();
make_field ~name:"guest-metrics-last-updated"
~get:(fun () -> default nid (may (fun m -> Date.to_string m.API.vM_guest_metrics_last_updated) (xgm ()) )) ();
make_field ~name:"can-use-hotplug-vbd"
~get:(fun () -> default nid (may (fun m -> Record_util.tristate_to_string m.API.vM_guest_metrics_can_use_hotplug_vbd) (xgm ()) )) ();
make_field ~name:"can-use-hotplug-vif"
~get:(fun () -> default nid (may (fun m -> Record_util.tristate_to_string m.API.vM_guest_metrics_can_use_hotplug_vif) (xgm ()) )) ();
make_field ~name:"cooperative"
(* NB this can receive VM_IS_SNAPSHOT *)
~get:(fun () -> string_of_bool (try Client.VM.get_cooperative rpc session_id vm with _ -> true))
Expand Down Expand Up @@ -908,9 +918,9 @@ let vm_record rpc session_id vm =
~get:(fun () -> (x ()).API.vM_generation_id) ();
make_field ~name:"hardware-platform-version"
~get:(fun () -> Int64.to_string (x ()).API.vM_hardware_platform_version) ();
make_field ~name:"auto-update-drivers"
~get:(fun () -> string_of_bool (x ()).API.vM_auto_update_drivers)
~set:(fun x -> Client.VM.set_auto_update_drivers rpc session_id vm (safe_bool_of_string "auto-update-drivers" x)) ();
make_field ~name:"has-vendor-device"
~get:(fun () -> string_of_bool (x ()).API.vM_has_vendor_device)
~set:(fun x -> Client.VM.set_has_vendor_device rpc session_id vm (safe_bool_of_string "has-vendor-device" x)) ();
]}

let host_crashdump_record rpc session_id host =
Expand Down Expand Up @@ -1086,6 +1096,7 @@ let host_record rpc session_id host =
make_field ~name:"virtual-hardware-platform-versions"
~get:(fun () -> String.concat "; " (List.map Int64.to_string (x ()).API.host_virtual_hardware_platform_versions))
~get_set:(fun () -> List.map Int64.to_string (x ()).API.host_virtual_hardware_platform_versions) ();
make_field ~name:"control-domain-uuid" ~get:(fun () -> get_uuid_from_ref (x ()).API.host_control_domain) ();
]}

let vdi_record rpc session_id vdi =
Expand Down Expand Up @@ -1133,6 +1144,7 @@ let vdi_record rpc session_id vdi =
make_field ~name:"managed" ~get:(fun () -> string_of_bool (x ()).API.vDI_managed) ();
make_field ~name:"parent" ~get:(fun () -> get_uuid_from_ref (x ()).API.vDI_parent) ();
make_field ~name:"missing" ~get:(fun () -> string_of_bool (x ()).API.vDI_missing) ();
make_field ~name:"is-tools-iso" ~get:(fun () -> string_of_bool (x ()).API.vDI_is_tools_iso) ();
make_field ~name:"other-config" ~get:(fun () -> Record_util.s2sm_to_string "; " (x ()).API.vDI_other_config)
~add_to_map:(fun k v -> Client.VDI.add_to_other_config rpc session_id vdi k v)
~remove_from_map:(fun k -> Client.VDI.remove_from_other_config rpc session_id vdi k)
Expand Down Expand Up @@ -1319,6 +1331,7 @@ let sr_record rpc session_id sr =
~set:(fun x -> Client.SR.set_shared rpc session_id sr (safe_bool_of_string "shared" x)) ();
make_field ~name:"introduced-by"
~get:(fun () -> (get_uuid_from_ref (x ()).API.sR_introduced_by)) ();
make_field ~name:"is-tools-sr" ~get:(fun () -> string_of_bool (x ()).API.sR_is_tools_sr) ();
make_field ~name:"other-config" ~get:(fun () -> Record_util.s2sm_to_string "; " (x ()).API.sR_other_config)
~add_to_map:(fun k v -> Client.SR.add_to_other_config rpc session_id sr k v)
~remove_from_map:(fun k -> Client.SR.remove_from_other_config rpc session_id sr k)
Expand Down
9 changes: 7 additions & 2 deletions ocaml/database/db_backend.ml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ let display_sql_writelog_val = ref true (* compute/write sql-writelog debug stri

let master_database = ref (Db_cache_types.Database.make Schema.empty)

let __test_set_master_database db = master_database := db

let make () = Db_ref.in_memory (ref master_database)

(* !!! Right now this is called at cache population time. It would probably be preferable to call it on flush time instead, so we
Expand Down Expand Up @@ -69,9 +71,12 @@ let blow_away_non_persistent_fields (schema: Schema.t) db =
let db_registration_mutex = Mutex.create ()
let foreign_databases: ((API.ref_session, Db_ref.t) Hashtbl.t) = Hashtbl.create 5

let register_session_with_database session db_ref =
let create_registered_session create_session db_ref =
Mutex.execute db_registration_mutex
(fun () -> Hashtbl.replace foreign_databases session db_ref)
(fun () ->
let session = create_session () in
Hashtbl.replace foreign_databases session db_ref;
session)

let unregister_session session =
Mutex.execute db_registration_mutex
Expand Down
32 changes: 32 additions & 0 deletions ocaml/database/db_backend.mli
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
(*
* Copyright (C) Citrix Systems Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; version 2.1 only. with the special
* exception on linking described in file LICENSE.
*
* This program 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 Lesser General Public License for more details.
*)

val db_FLUSH_TIMER : float

(** A setter for the master database. Only used by the unit testing code. *)
val __test_set_master_database : Db_cache_types.Database.t -> unit

val make : unit -> Db_ref.t

val blow_away_non_persistent_fields :
Schema.t -> Db_cache_types.Database.t -> Db_cache_types.Database.t

val create_registered_session :
(unit -> API.ref_session) -> Db_ref.t -> API.ref_session

val unregister_session : API.ref_session -> unit

val is_session_registered : API.ref_session -> bool

val get_registered_database : API.ref_session -> Db_ref.t option
Loading