Permalink
Browse files

Merge pull request #764 from rokstrnisa/rrdd

xcp-rrdd: the RRD daemon
  • Loading branch information...
rokstrnisa committed Jul 13, 2012
2 parents 79545c2 + 15b18a7 commit 341dcc59de0f642299d8a9e45cdd9c52eb27c998
Showing with 4,192 additions and 2,725 deletions.
  1. +4 −0 .gitignore
  2. +4 −2 Makefile
  3. +6 −3 OMakefile
  4. +1 −0 mk/Makefile
  5. +6 −2 ocaml/OMakefile
  6. +5 −8 ocaml/client_records/records.ml
  7. +1 −1 ocaml/graph/OMakefile
  8. +2 −2 ocaml/idl/OMakefile
  9. +0 −1 ocaml/idl/api_messages.ml
  10. +17 −5 ocaml/idl/constants.ml
  11. +8 −43 ocaml/idl/datamodel.ml
  12. +1 −0 ocaml/idl/ocaml_backend/OMakefile
  13. +65 −10 ocaml/network/network_monitor_thread.ml
  14. +0 −2 ocaml/perftest/apiperf.ml
  15. +0 −1 ocaml/perftest/perftest.ml
  16. +68 −0 ocaml/pool_role_shared.ml
  17. +69 −0 ocaml/rrdd/OMakefile
  18. +16 −0 ocaml/rrdd/interface/OMakefile
  19. +44 −0 ocaml/rrdd/interface/data_source.ml
  20. +42 −0 ocaml/rrdd/interface/ds.ml
  21. +128 −0 ocaml/rrdd/interface/monitor_types.ml
  22. +13 −6 ocaml/{xapi → rrdd/interface}/rrd.ml
  23. +26 −0 ocaml/rrdd/interface/rrdd.ml
  24. +12 −0 ocaml/rrdd/interface/rrdd_common.ml
  25. +0 −2 ocaml/{xapi/monitor_fake_common.ml → rrdd/interface/rrdd_fake_common.ml}
  26. +81 −0 ocaml/rrdd/interface/rrdd_interface.ml
  27. +40 −0 ocaml/rrdd/rrdd_fake.ml
  28. +64 −0 ocaml/rrdd/rrdd_ha_stats.ml
  29. +112 −0 ocaml/rrdd/rrdd_http_handler.ml
  30. +647 −0 ocaml/rrdd/rrdd_main.ml
  31. +179 −0 ocaml/rrdd/rrdd_monitor.ml
  32. +682 −0 ocaml/rrdd/rrdd_server.ml
  33. +204 −0 ocaml/rrdd/rrdd_shared.ml
  34. +180 −0 ocaml/rrdd/rrdd_stats.ml
  35. +34 −0 ocaml/rrdd/rrdd_test.ml
  36. +0 −1 ocaml/sm-cli/main.ml
  37. +1 −0 ocaml/util/OMakefile
  38. +33 −0 ocaml/util/config_shared.ml
  39. +60 −0 ocaml/util/rpc_retry.ml
  40. +29 −0 ocaml/util/rpc_retry.mli
  41. +3 −3 ocaml/vncproxy/OMakefile
  42. +3 −4 ocaml/vncproxy/vncproxy.ml
  43. +16 −14 ocaml/xapi/OMakefile
  44. +2 −10 ocaml/xapi/cli_frontend.ml
  45. +0 −9 ocaml/xapi/cli_operations.ml
  46. +3 −2 ocaml/xapi/create_misc.ml
  47. +6 −46 ocaml/xapi/db_gc.ml
  48. +1 −9 ocaml/xapi/dbsync_master.ml
  49. +5 −4 ocaml/xapi/dbsync_slave.ml
  50. +0 −40 ocaml/xapi/ds.ml
  51. +12 −37 ocaml/xapi/helpers.ml
  52. +4 −35 ocaml/xapi/message_forwarding.ml
  53. +0 −571 ocaml/xapi/monitor.ml
  54. +271 −231 ocaml/xapi/monitor_dbcalls.ml
  55. +0 −35 ocaml/xapi/monitor_fake.ml
  56. +27 −14 ocaml/xapi/monitor_master.ml
  57. +0 −880 ocaml/xapi/monitor_rrds.ml
  58. +0 −123 ocaml/xapi/monitor_self.ml
  59. +0 −79 ocaml/xapi/monitor_types.ml
  60. +4 −51 ocaml/xapi/pool_role.ml
  61. +0 −1 ocaml/xapi/quicktest.ml
  62. +0 −71 ocaml/xapi/rrd_shared.ml
  63. +229 −0 ocaml/xapi/rrdd_proxy.ml
  64. +1 −2 ocaml/xapi/sparse_dd.ml
  65. +1 −1 ocaml/xapi/vmopshelpers.ml
  66. +10 −13 ocaml/xapi/xapi.ml
  67. +1 −12 ocaml/xapi/xapi_config.ml
  68. +4 −4 ocaml/xapi/xapi_fuse.ml
  69. +0 −2 ocaml/xapi/xapi_globs.ml
  70. +12 −8 ocaml/xapi/xapi_guest_agent.ml
  71. +7 −14 ocaml/xapi/xapi_ha.ml
  72. +0 −67 ocaml/xapi/xapi_ha_stats.ml
  73. +16 −18 ocaml/xapi/xapi_host.ml
  74. +0 −2 ocaml/xapi/xapi_host.mli
  75. +1 −1 ocaml/xapi/xapi_periodic_scheduler_init.ml
  76. +5 −0 ocaml/xapi/xapi_pif.ml
  77. +3 −3 ocaml/xapi/xapi_pif.mli
  78. +1 −1 ocaml/xapi/xapi_pool.ml
  79. +9 −17 ocaml/xapi/xapi_vm.ml
  80. +0 −1 ocaml/xapi/xapi_vm.mli
  81. +1 −2 ocaml/xapi/xapi_vm_lifecycle.ml
  82. +3 −3 ocaml/xapi/xapi_vm_migrate.ml
  83. +7 −14 ocaml/xapi/xapi_xenops.ml
  84. +0 −1 ocaml/xe-cli/newcli.ml
  85. +1 −1 ocaml/xenops/device.ml
  86. +5 −4 ocaml/xenops/domain.ml
  87. +20 −19 ocaml/xenops/list_domains.ml
  88. +11 −10 ocaml/xenops/memory_breakdown.ml
  89. +7 −5 ocaml/xenops/memory_summary.ml
  90. +28 −25 ocaml/xenops/squeeze_xen.ml
  91. +1 −0 ocaml/xenops/xenguestHelper.ml
  92. +41 −37 ocaml/xenops/xenops.ml
  93. +81 −70 ocaml/xenops/xenops_server_xen.ml
  94. +0 −3 ocaml/xsh/xsh.ml
  95. +7 −4 scripts/OMakefile
  96. +0 −1 scripts/examples/python/OMakefile
  97. +102 −0 scripts/init.d-rrdd
  98. +3 −0 scripts/rrdd/OMakefile
  99. +18 −0 scripts/rrdd/rrdd-example.py
  100. +286 −0 scripts/rrdd/rrdd.py
  101. +3 −0 scripts/xcp-rrdd.conf
  102. +2 −0 scripts/xe-toolstack-restart
  103. +24 −2 xapi.spec.in
View
@@ -90,9 +90,12 @@ ocaml/idl/csharp_backend/autogen-gui
ocaml/idl/csharp_backend/autogen-enterprise
ocaml/idl/csharp_backend/*.dll
ocaml/idl/csharp_backend/test.exe
+ocaml/rrdd/xcp-rrdd
+ocaml/rrdd/rrdd_test
ocaml/templates/templateLexer.ml
ocaml/templates/templateParser.ml
ocaml/templates/templateParser.mli
+ocaml/xapi/storage_impl_test
ocaml/util/version.ml
stunnel-4.15/Makefile
@@ -167,6 +170,7 @@ ocaml/xenguest/dumpcore
ocaml/xenguest/xenguest
ocaml/xenops-ts/runtest
ocaml/xenops/dbgring
+ocaml/xenops/domain_sethandle
ocaml/xenops/fence
ocaml/xenops/list_domains
ocaml/xenops/watch_test
View
@@ -32,6 +32,7 @@ PLUGINDIR=/etc/xapi.d/plugins
HOOKSDIR=/etc/xapi.d
INVENTORY=/etc/xensource-inventory
XAPICONF=/etc/xapi.conf
+RRDDCONF=/etc/xcp-rrdd.conf
LIBEXECDIR=/opt/xensource/libexec
SCRIPTSDIR=/etc/xensource/scripts
SHAREDIR=/opt/xensource
@@ -40,7 +41,7 @@ XHADIR=/opt/xensource/xha
BINDIR=/opt/xensource/bin
SBINDIR=/opt/xensource/bin
-export VARDIR ETCDIR OPTDIR PLUGINDIR HOOKSDIR INVENTORY VARPATCHDIR LIBEXECDIR XAPICONF SCRIPTSDIR SHAREDIR WEBDIR XHADIR BINDIR SBINDIR
+export VARDIR ETCDIR OPTDIR PLUGINDIR HOOKSDIR INVENTORY VARPATCHDIR LIBEXECDIR XAPICONF RRDDCONF SCRIPTSDIR SHAREDIR WEBDIR XHADIR BINDIR SBINDIR
.PHONY: all
all: version ocaml/fhs.ml
@@ -131,6 +132,7 @@ ocaml/fhs.ml :
let hooksdir=\"$(HOOKSDIR)\"\n \
let libexecdir=\"$(LIBEXECDIR)\"\n \
let xapiconf=\"$(XAPICONF)\"\n \
+ let rrddconf=\"$(RRDDCONF)\"\n \
let scriptsdir=\"$(SCRIPTSDIR)\"\n \
let varpatchdir=\"$(VARPATCHDIR)\"\n \
let webdir=\"$(WEBDIR)\"\n \
@@ -139,7 +141,7 @@ ocaml/fhs.ml :
let sbindir=\"$(SBINDIR)\"\n \
let sharedir=\"$(SHAREDIR)\"\n" \
> ocaml/fhs.ml
-
+
.PHONY: clean
clean:
View
@@ -128,7 +128,9 @@ export
# Ocaml #############################################################################
OCAML_PHASE1= autogen_idl
-OCAML_PHASE2= $(if $(BYTE_ENABLED), ocaml/idl/ocaml_backend/xapi_client.cma) $(if $(NATIVE_ENABLED), ocaml/idl/ocaml_backend/xapi_client.cmxa)
+OCAML_PHASE2= \
+ $(if $(BYTE_ENABLED), ocaml/idl/ocaml_backend/xapi_client.cma) $(if $(NATIVE_ENABLED), ocaml/idl/ocaml_backend/xapi_client.cmxa) \
+ ocaml/rrdd/xcp-rrdd ocaml/rrdd/rrdd_test
# JS ################################################################################
JS_PHASE1=
@@ -166,11 +168,12 @@ OCAML_PHASE3_XEN = \
ocaml/xapi/quicktestbin \
ocaml/xapi/sparse_dd \
ocaml/xapi/storage_impl_test \
- ocaml/xapi/monitor_fake_plugin \
ocaml/license/v6d \
ocaml/network/xcp-networkd \
ocaml/network/networkd_db
+#ocaml/xapi/monitor_fake_plugin
+
OCAML_PHASE3_NOXEN = \
ocaml/ptoken/genptoken \
ocaml/auth/testauth \
@@ -197,14 +200,14 @@ OCAML_PHASE3_NOXEN = \
ocaml/idl/datamodel \
ocaml/db_process/xapi-db-process \
ocaml/vncproxy/vncproxy \
- ocaml/xapi/rrddump \
ocaml/perftest/perftest \
ocaml/perftest/histogram \
ocaml/perftest/cumulative_time \
ocaml/lvhdrt/lvhdrt \
ocaml/mpathalert/mpathalert \
ocaml/multipathrt/multipathrt
+# ocaml/xapi/rrddump
OCAML_PHASE3 = $(OCAML_PHASE3_XEN) $(OCAML_PHASE3_NOXEN)
View
@@ -84,6 +84,7 @@ $(OUTPUT_CLI_RT) $(OUTPUT_SDK): $(MY_MAIN_PACKAGES)/.dirstamp $(RPM_DIRECTORIES)
cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-core-*.rpm $(MY_MAIN_PACKAGES)
cp $(RPM_RPMSDIR)/noarch/xapi-noarch-backend-udev-*.rpm $(MY_MAIN_PACKAGES)
cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-networkd-*.rpm $(MY_MAIN_PACKAGES)
+ cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-rrdd-*.rpm $(MY_MAIN_PACKAGES)
cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-squeezed-*.rpm $(MY_MAIN_PACKAGES)
cp $(RPM_RPMSDIR)/$(DOMAIN0_ARCH_OPTIMIZED)/xapi-tests-*.rpm $(MY_MAIN_PACKAGES)
cp $(RPM_RPMSDIR)/noarch/xapi-noarch-www-*.rpm $(MY_MAIN_PACKAGES)
View
@@ -1,6 +1,6 @@
# You must set your XEN_ROOT env var before building
XEN_CFLAGS = -I$(XEN_ROOT)/usr/include
-OCAMLINCLUDES = +ocamldoc
+OCAMLINCLUDES = $(ROOT)/ocaml/idl +ocamldoc
OCAML_LIBS = $(ROOT)/ocaml/fhs $(ROOT)/ocaml/util/version $(ROOT)/ocaml/util/stats
OCAMLPACKS = stdext log
@@ -39,5 +39,9 @@ OCamlLibrary(fhs, fhs)
multipathrt \
doc \
network \
- xenops-cli
+ xenops-cli \
+ network \
+ rrdd
+clean:
+ rm -f fhs.*
@@ -917,29 +917,26 @@ let vm_record rpc session_id vm =
~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_os_version) (xgm ())))
~get_map:(fun () -> default [] (may (fun m -> m.API.vM_guest_metrics_os_version) (xgm ()))) ();
make_field ~name:"PV-drivers-version"
- ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_PV_drivers_version) (xgm ()) ))
+ ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_PV_drivers_version) (xgm ()) ))
~get_map:(fun () -> default [] (may (fun m -> m.API.vM_guest_metrics_PV_drivers_version) (xgm ()))) ();
make_field ~name:"PV-drivers-up-to-date"
~get:(fun () -> default nid (may (fun m -> string_of_bool m.API.vM_guest_metrics_PV_drivers_up_to_date) (xgm ()) )) ();
make_field ~name:"memory"
- ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_memory) (xgm ())))
+ ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_memory) (xgm ())))
~get_map:(fun () -> default [] (may (fun m -> m.API.vM_guest_metrics_memory) (xgm ()))) ();
make_field ~name:"disks"
- ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_disks) (xgm ()) ))
+ ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_disks) (xgm ()) ))
~get_map:(fun () -> default [] (may (fun m -> m.API.vM_guest_metrics_disks) (xgm ()))) ();
make_field ~name:"networks"
- ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_networks) (xgm ()) ))
+ ~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:"other"
- ~get:(fun () -> default nid (may (fun m -> Record_util.s2sm_to_string "; " m.API.vM_guest_metrics_other) (xgm ()) ))
+ ~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:"cooperative"
- (* NB this can receive VM_IS_SNAPSHOT *)
- ~get:(fun () -> string_of_bool (try Client.VM.get_cooperative rpc session_id vm with _ -> true)) ~expensive:true ();
make_field ~name:"protection-policy"
~get:(fun () -> get_uuid_from_ref (x ()).API.vM_protection_policy)
~set:(fun x -> if x="" then Client.VM.set_protection_policy rpc session_id vm Ref.null else Client.VM.set_protection_policy rpc session_id vm (Client.VMPP.get_by_uuid rpc session_id x)) ();
View
@@ -1,4 +1,4 @@
-OCAML_LIBS = ../util/version ../idl/ocaml_backend/common ../idl/ocaml_backend/client
+OCAML_LIBS = ../fhs ../util/version ../idl/ocaml_backend/common ../idl/ocaml_backend/client
OCAMLINCLUDES = ../idl/ocaml_backend ../idl ../autogen
OCAMLPACKS = xml-light2 stdext stunnel http-svr log rpc-light
View
@@ -2,7 +2,7 @@
PSTOPDF = $(shell bash -c "which pstopdf 2>/dev/null || which ps2pdf 2>/dev/null || which ps2pdf14 2>/dev/null || echo false")
-OCAMLINCLUDES = ocaml_backend ../database
+OCAMLINCLUDES = ocaml_backend ../database ..
OCAMLPACKS = xml-light2 sexpr log http-svr
CAMLP4_FILES = datamodel_types
@@ -13,7 +13,7 @@ UseCamlp4(rpc-light.syntax, $(CAMLP4_FILES))
# Build datamodel library
# -----------------------------------------------------------------------
-OCamlLibrary(datamodel, datamodel constants datamodel_utils datamodel_types api_errors api_messages dm_api ocaml_backend/ocaml_utils ocaml_backend/ref ../database/string_marshall_helper)
+OCamlLibrary(datamodel, datamodel ../fhs constants datamodel_utils datamodel_types api_errors api_messages dm_api ocaml_backend/ocaml_utils ocaml_backend/ref ../database/string_marshall_helper)
# -----------------------------------------------------------------------
# Build datamodel documentation
@@ -78,7 +78,6 @@ let auth_external_pool_non_homogeneous = addMessage "EXTAUTH_IN_POOL_IS_NON_HOMO
let multipath_periodic_alert = addMessage "MULTIPATH_PERIODIC_ALERT"
-let vm_uncooperative = addMessage "VM_UNCOOPERATIVE"
let v6_server_up = addMessage "LICENSE_SERVER_CONNECTED"
let v6_server_down = addMessage "LICENSE_SERVER_UNAVAILABLE"
let v6_license_expired = addMessage "LICENSE_EXPIRED"
View
@@ -36,14 +36,20 @@ let vm_connect_uri = "http" (* ocaml/xapi/xapi_udhcpd.
let vncsnapshot_uri = "/vncsnapshot" (* ocaml/xapi/xapi_vncsnapshot.ml *)
let system_status_uri = "/system-status" (* ocaml/xapi/system_status.ml *)
let remote_db_access_uri = "/remote_db_access" (* ocaml/xapi/xapi.ml *)
-let remote_db_access_uri_v2 = "/remote_db_access_v2" (* ocaml/xapi/xapi.ml *)
+let remote_db_access_uri_v2 = "/remote_db_access_v2" (* ocaml/xapi/xapi.ml *)
let remote_stats_uri = "/remote_stats" (* ocaml/xapi/xapi.ml *)
let json_uri = "/json" (* ocaml/xapi/xapi.ml *)
let cli_uri = "/cli" (* ocaml/xapi/xapi_cli.ml *)
-let vm_rrd_uri = "/vm_rrd" (* ocaml/xapi/monitor_rrds.ml *)
-let rrd_put_uri = "/rrd" (* ocaml/xapi/monitor_rrds.ml *)
-let host_rrd_uri = "/host_rrd" (* ocaml/xapi/monitor_rrds.ml *)
-let rrd_updates = "/rrd_updates" (* ocaml/xapi/monitor_rrds.ml *)
+let get_vm_rrd = "vm_rrd" (* ocaml/xapi/xapi.ml *)
+let get_vm_rrd_uri = "/" ^ get_vm_rrd (* ocaml/xapi/xapi.ml *)
+let get_host_rrd = "host_rrd" (* ocaml/xapi/xapi.ml *)
+let get_host_rrd_uri = "/" ^ get_host_rrd (* ocaml/xapi/xapi.ml *)
+let get_rrd_updates = "rrd_updates" (* ocaml/xapi/xapi.ml *)
+let get_rrd_updates_uri = "/" ^ get_rrd_updates (* ocaml/xapi/xapi.ml *)
+let put_rrd = "rrd" (* ocaml/xapi/xapi.ml *)
+let put_rrd_uri = "/" ^ put_rrd (* ocaml/xapi/xapi.ml *)
+let rrd_unarchive = "rrd_unarchive" (* ocaml/xapi/rrdd_proxy.ml *)
+let rrd_unarchive_uri = "/" ^ rrd_unarchive (* ocaml/xapi/rrdd_proxy.ml *)
let blob_uri = "/blob" (* ocaml/xapi/xapi_blob.ml *)
let remotecmd_uri = "/remotecmd" (* ocaml/xapi/xapi_remotecmd.ml *)
let message_rss_feed = "/rss" (* ocaml/xapi/xapi_message.ml *)
@@ -115,3 +121,9 @@ let storage_migrate_vdi_map_key = "maps_to"
(* Used to specify mapping of VIFs to networks on the remote machine. Stored in VIF.other_config *)
let storage_migrate_vif_map_key = "maps_to"
+
+(* Path to the pool configuration file. *)
+let pool_config_file = Filename.concat Fhs.etcdir "pool.conf"
+
+(* Path to the pool secret file. *)
+let pool_secret_path = Filename.concat Fhs.etcdir "ptoken"
View
@@ -1737,17 +1737,6 @@ let vm_wait_memory_target_live = call
Ref _vm, "self", "The VM";
] ()
-let vm_get_cooperative = call
- ~name:"get_cooperative"
- ~in_product_since:rel_midnight_ride
- ~doc:"Return true if the VM is currently 'co-operative' i.e. is expected to reach a balloon target and actually has done"
- ~params:[
- Ref _vm, "self", "The VM";
- ]
- ~result:(Bool, "true if the VM is currently 'co-operative'; false otherwise")
- ~allowed_roles:_R_READ_ONLY
- ()
-
let vm_query_services = call
~name:"query_services"
~in_product_since:rel_tampa
@@ -2489,26 +2478,6 @@ let host_evacuate = call
~params:[Ref _host, "host", "The host to evacuate"]
~allowed_roles:_R_POOL_OP
()
-
-let host_get_uncooperative_resident_VMs = call
- ~in_product_since:rel_midnight_ride
- ~name:"get_uncooperative_resident_VMs"
- ~doc:"Return a set of VMs which are not co-operating with the host's memory control system"
- ~params:[Ref _host, "self", "The host to query"]
- ~result:((Set(Ref _vm)), "VMs which are not co-operating")
- ~allowed_roles:_R_READ_ONLY
- ()
-
-let host_get_uncooperative_domains = call
- ~in_product_since:rel_midnight_ride
- ~name:"get_uncooperative_domains"
- ~doc:"Return the set of domain uuids which are not co-operating with the host's memory control system"
- ~params:[Ref _host, "self", "The host to query"]
- ~result:((Set(String)), "UUIDs of domains which are not co-operating")
- ~pool_internal:true
- ~hide_from_docs:true
- ~allowed_roles:_R_LOCAL_ROOT_ONLY
- ()
let host_retrieve_wlb_evacuate_recommendations = call
~name:"retrieve_wlb_evacuate_recommendations"
@@ -4095,8 +4064,6 @@ let host =
host_forget_data_source_archives;
host_assert_can_evacuate;
host_get_vms_which_prevent_evacuation;
- host_get_uncooperative_resident_VMs;
- host_get_uncooperative_domains;
host_evacuate;
host_signal_networking_change;
host_notify;
@@ -6523,7 +6490,6 @@ let vm_operations =
"changing_dynamic_range", "Changing the memory dynamic range";
"changing_static_range", "Changing the memory static range";
"changing_memory_limits", "Changing the memory limits";
- "get_cooperative", "Querying the co-operativeness of the VM";
"changing_shadow_memory", "Changing the shadow memory for a halted VM.";
"changing_shadow_memory_live", "Changing the shadow memory for a running VM.";
"changing_VCPUs", "Changing VCPU settings for a halted VM.";
@@ -6547,9 +6513,9 @@ let vm =
~messages_default_allowed_roles:_R_VM_ADMIN
~messages:[ vm_snapshot; vm_snapshot_with_quiesce; vm_clone; vm_copy; vm_revert; vm_checkpoint;
vm_provision; vm_start; vm_start_on; vm_pause; vm_unpause; vm_cleanShutdown;
- vm_cleanReboot; vm_hardShutdown; vm_stateReset; vm_hardReboot; vm_suspend; csvm; vm_resume;
+ vm_cleanReboot; vm_hardShutdown; vm_stateReset; vm_hardReboot; vm_suspend; csvm; vm_resume;
vm_hardReboot_internal;
- vm_resume_on;
+ vm_resume_on;
vm_pool_migrate; vm_pool_migrate_complete;
set_vcpus_number_live;
vm_add_to_VCPUs_params_live;
@@ -6565,7 +6531,6 @@ let vm =
vm_set_memory_limits;
vm_set_memory_target_live;
vm_wait_memory_target_live;
- vm_get_cooperative;
vm_set_HVM_shadow_multiplier;
vm_set_shadow_multiplier_live;
vm_set_VCPUs_max;
@@ -7908,12 +7873,12 @@ let http_actions = [
("put_vm_connect", (Put, Constants.vm_connect_uri, false, [], _R_POOL_ADMIN, []));
("get_system_status", (Get, Constants.system_status_uri, true,
[String_query_arg "entries"; String_query_arg "output"], _R_POOL_OP, []));
- ("get_vm_rrd", (Get, Constants.vm_rrd_uri, true, [String_query_arg "uuid"], _R_READ_ONLY, []));
- ("put_rrd", (Put, Constants.rrd_put_uri, false, [], _R_POOL_ADMIN, []));
- ("get_host_rrd", (Get, Constants.host_rrd_uri, true, [Bool_query_arg "json"], _R_READ_ONLY, []));
- ("get_rrd_updates", (Get, Constants.rrd_updates, true,
- [Int64_query_arg "start"; String_query_arg "cf"; Int64_query_arg "interval";
- Bool_query_arg "host"; String_query_arg "uuid"; Bool_query_arg "json"], _R_READ_ONLY, []));
+ (Constants.get_vm_rrd, (Get, Constants.get_vm_rrd_uri, true, [String_query_arg "uuid"], _R_READ_ONLY, []));
+ (Constants.get_host_rrd, (Get, Constants.get_host_rrd_uri, true, [Bool_query_arg "json"], _R_READ_ONLY, []));
+ (Constants.get_rrd_updates, (Get, Constants.get_rrd_updates_uri, true,
+ [Int64_query_arg "start"; String_query_arg "cf"; Int64_query_arg "interval";
+ Bool_query_arg "host"; String_query_arg "uuid"; Bool_query_arg "json"], _R_READ_ONLY, []));
+ (Constants.put_rrd, (Put, Constants.put_rrd_uri, false, [], _R_POOL_ADMIN, []));
("get_blob", (Get, Constants.blob_uri, false, [], _R_READ_ONLY, []));
("put_blob", (Put, Constants.blob_uri, true, [String_query_arg "ref"], _R_VM_POWER_ADMIN, []));
("get_message_rss_feed", (Get, Constants.message_rss_feed, false, [], _R_POOL_ADMIN, [])); (* not enabled in xapi *)
@@ -101,6 +101,7 @@ SERVER_OBJS = ../../database/escaping locking_helpers \
../datamodel ../datamodel_utils ../datamodel_values \
gen_client ocaml_syntax ocaml_utils taskHelper exnHelper \
server_helpers session_check context \
+ ../../pool_role_shared \
../../xapi/pool_role \
../../xapi/xapi_inventory \
../../xapi/hashtbl_xml \
Oops, something went wrong.

0 comments on commit 341dcc5

Please sign in to comment.