Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master into feature/perf #6078

Merged
merged 202 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
7cb5d7b
xe autocompletion: Fix prefix escaping bug
last-genius Sep 18, 2024
739cacf
xe autocompletion: Fix prefix escaping bug (#5975)
last-genius Sep 18, 2024
d0215ed
Use None4 if MODE is set to none
gthvn1 Sep 18, 2024
3d02e45
Fix network reset script in static IPv6
benjamreis Sep 18, 2024
461f602
CA-398128: Be wary that dates in database lose precision
psafont Sep 18, 2024
21620be
Fix network reset script in static IPv6 (#6003)
robhoes Sep 18, 2024
9ff72f1
CA-398128: Be wary that dates in database lose precision (#6004)
robhoes Sep 18, 2024
ba3b3ac
Don't use dhcp4 for none mode (#6001)
psafont Sep 18, 2024
8cf4d11
CA-398138: Handle enum value unknown error for Go SDK
xueqingz Sep 5, 2024
bc10ca0
CA-398138: Handle enum value unknown error for Go SDK (#5981)
psafont Sep 19, 2024
f51e7e7
Merge epoll feature branch to master (#6005)
edwintorok Sep 19, 2024
4d2134e
CA-399229: Assert no host pending mandatory guidance for pool.join
gangj Sep 19, 2024
5fa15f0
Fix the definition of the Data.mirror operation
MarkSymsCtx Sep 19, 2024
338c94e
CP-51479: [maintenance]: synchronize api_version.ml and api_version.m…
edwintorok Sep 14, 2024
e9427b4
CP-51479: [maintenance]: do not install cmxs
edwintorok Sep 14, 2024
5184c6e
CP-51479: [maintenance]: reduce scope of dune aliases
edwintorok Sep 16, 2024
53bcd61
CP-51479: [maintenance]: fix opam dependencies
edwintorok Sep 15, 2024
cee8ed6
CP-51479: [maintenance]: make install.sh more quiet
edwintorok Sep 4, 2024
f465a55
CP-51479: [maintenance]: running make install twice in a row should s…
edwintorok Sep 4, 2024
735338e
CP-51479: [maintenance]: ocaml/sdk-gen should create directories befo…
edwintorok Sep 13, 2024
5ae3648
CP-51479: [maintenance]: add @sdkgen rule for convenience in dune
edwintorok Sep 13, 2024
9a89dec
CP-51479: [maintenance]: install SDK files using dune rules
edwintorok Sep 13, 2024
2c9253d
CP-51479: [maintenance]: make xapi-xenopsd, and rrd-plugins.lib internal
edwintorok Sep 14, 2024
ffef021
CP-51479: [maintenance]: install some more files using dune, add @xap…
edwintorok Sep 11, 2024
d35d9a6
CP-51479: [maintenance]: merge dune rules and use -j consistently
edwintorok Sep 13, 2024
44d7afa
CP-51479: [maintenance]: parallelize install rule
edwintorok Sep 14, 2024
371207d
CP-51479: [maintenance]: merge rrdd-plugins with xapi, and remove xap…
edwintorok Sep 15, 2024
2f4d066
CP-51479: [maintenance]: join CLI/daemon packages into xapi-tools
edwintorok Sep 15, 2024
8956377
CP-51479: [maintenance]: use common dune install and uninstall variables
edwintorok Sep 16, 2024
4ce9906
CP-51479: [maintenance]: use 'if' instead of boolean logic
edwintorok Sep 18, 2024
0a8fc6e
CP-51479: [maintenance]: fix opam dependencies after epoll merge
edwintorok Sep 19, 2024
b17a942
Extend the Data.stat status to include `complete`
MarkSymsCtx Sep 20, 2024
48f12a7
CP-51479: [maintenance]: fix opam dependency on rrd-transport
edwintorok Sep 20, 2024
edae53e
CA-399229: Assert no host pending mandatory guidance for pool.join (#…
gangj Sep 24, 2024
773b1bb
CP-51034: Add cache-related fields to pool object
contificate Sep 10, 2024
ce7e543
CP-51034: Expose cache options to xe CLI
contificate Sep 19, 2024
68744c2
CP-50134: Replace Xapi_globs usage w/ pool config
contificate Sep 10, 2024
19c6371
CP-51034: Inject expiry instead of using global
contificate Sep 10, 2024
1c00a73
CP-51034: Remove cache options from Xapi_globs
contificate Sep 10, 2024
d0bc11a
Move external auth cache configuration into the pool object (#5983)
contificate Sep 24, 2024
4fcb2f3
Determine IP address type from inventory when creating a PIF
benjamreis Sep 20, 2024
9bfcc40
Determine IP address type from inventory when creating a PIF (#6008)
robhoes Sep 24, 2024
92b6832
idl: Make in_product_since default value explicit and unnecessary wit…
last-genius Sep 20, 2024
7f1fff6
idl: Remove in_product_since and internal_deprecated_since parameters…
last-genius Sep 23, 2024
ef7c4d3
idl: Remove long-unused code
last-genius Sep 23, 2024
b1ac9f2
idl: Remove in_product_since and internal_deprecated_since parameters…
last-genius Sep 23, 2024
3c857e1
idl: Make lifecycle explicit for callers of 'names'
last-genius Sep 24, 2024
9790ccb
idl: Convert {in_product,internal_deprecated}_since parameters to lif…
last-genius Sep 24, 2024
51ccf70
idl: Remove in_product_since and internal_deprecated_since parameters…
last-genius Sep 23, 2024
2f50ab1
Update docs on in_product_since, specify that lifecycle is now preferred
last-genius Sep 24, 2024
29685fb
Do not assume IPv4 when disabling management
benjamreis Sep 24, 2024
9e6e015
CP-51034: Update datamodel_lifecycle.ml
contificate Sep 24, 2024
2053628
CP-50134: Update datamodel_lifecycle.ml (#6014)
contificate Sep 24, 2024
8466733
Write IPv6 management config as well when ejecting an host
benjamreis Sep 24, 2024
23243f4
idl: Remove `in_product_since` and `internal_deprecated_since` in fav…
robhoes Sep 24, 2024
1bafd51
Mirror api fix (#6009)
robhoes Sep 24, 2024
150f62f
Do not assume IPv4 when disabling management (#6012)
robhoes Sep 24, 2024
bbb642e
Write IPv6 management config as well when ejecting an host (#6013)
robhoes Sep 24, 2024
fae9b55
CP-51574: Add explicit reentrant lock to Db_lock
contificate Sep 18, 2024
b5dbe55
CP-51574: Add explicit reentrant lock to Db_lock (#6011)
contificate Sep 25, 2024
7e34b3a
CA-399638: The livepatches are absent in the response of /updates
minglumlu Sep 26, 2024
9db858a
CA-399638: Add unit tests
minglumlu Sep 26, 2024
0384a40
CA-399638: The livepatches are absent in the response of /updates (#6…
robhoes Sep 26, 2024
0693477
CP-49135: add Uuid generation benchmark
edwintorok Sep 26, 2024
a0176da
CP-49135: open /dev/urandom just once
edwintorok Apr 24, 2024
2290c51
CP-49135: move rpc conversion functions into proper Ref module
edwintorok Sep 27, 2024
e0f9d88
CP-49135: be consistent in polymorphic type parameter spelling
edwintorok Sep 27, 2024
0ec94ff
CP-49135: split secret and non-secret Refs
edwintorok Sep 27, 2024
6635a00
CP-49136: Introduce PRNG for generating non-secret UUIDs
edwintorok Sep 27, 2024
25bb1b5
CP-49135: speed up UUID generation (#6018)
edwintorok Sep 30, 2024
e655980
Bring up IPv6 only virtual PIF as well on startup
benjamreis Sep 30, 2024
af68185
CP-48676: Reuse pool sessions on slave logins.
snwoods Aug 7, 2024
c27b1d4
CP-48676: Don't check resuable pool session validity by default
snwoods Sep 23, 2024
8a81275
CP-28369: Remove Unixext.daemonize
last-genius Sep 30, 2024
9a2e94b
Bring up IPv6 only virtual PIF as well on startup (#6022)
psafont Oct 1, 2024
15721af
CP-48676: Reuse pool sessions on slave logins (#5986)
robhoes Oct 1, 2024
c261733
CP-28369: Remove Xcp_service.daemonize-related functions
last-genius Oct 1, 2024
9e1ea63
CP-51479: Optimize 'make install' (#5982)
edwintorok Oct 1, 2024
bc08e86
Corrected strings.
kc284 Sep 30, 2024
0fbd6c7
IH-615: rrdd - Factor out Xenctrl functionality into a separate library
last-genius Sep 24, 2024
7722294
IH-615: Move netdev_dss into a separate RRDD plugin
last-genius Sep 24, 2024
b3ea092
IH-615: Move CPU-related data-source collection into a separate RRDD …
last-genius Sep 24, 2024
aa99655
rrdp-iostat: Use a shared Xenctrl get_doms_stat function
last-genius Sep 25, 2024
6bf1d74
Update docs about RRDD plugins
last-genius Sep 19, 2024
aa631b9
rrdd: Add .service and config files
last-genius Sep 25, 2024
6e16163
IH-615: move metrics collection out of RRDD (#6016)
robhoes Oct 1, 2024
e90a98e
CP-28369: Remove `Unixext.daemonize` (#6026)
last-genius Oct 1, 2024
0e91464
git: ignore another revision (from xapi-storage-script)
psafont Jul 14, 2023
c2039ea
IH-397: Do not open Core
psafont Jul 14, 2023
d09f53d
IH-397: Do not open Async
psafont Jul 14, 2023
e21f4d0
IH-397: Replace async with lwt in xapi-storage-script
psafont Jul 18, 2023
b99f184
IH-397: remove all core usages from xapi-storage-script
psafont Nov 21, 2023
667c416
xapi-storage-script: Change directory creation
psafont Dec 18, 2023
db797b9
xapi-storage-script: remove custom id
psafont Mar 15, 2024
810fa04
xapi-storage-script: don't duplicate code from message-switch
psafont Mar 15, 2024
9580a65
IH-397: remove all dependencies on async and core
psafont Jul 28, 2023
94b60b2
xapi-storage-script: make conversion functions testable
psafont Mar 22, 2024
ad195e3
xapi-storage-script: remove complexity from the inotify watcher
psafont Aug 1, 2024
ddc126d
xapi-storage-script: wait .5 seconds before reading from inotify
psafont Aug 1, 2024
6b835a1
xapi-storage-script: test Sys module
psafont May 17, 2024
121c962
xapi-storage-script: close file descriptors after launching processes
psafont Sep 30, 2024
09f8784
maintenance: ignore another formatting commit
psafont Sep 30, 2024
2f251e1
Corrected strings. (#6024)
psafont Oct 1, 2024
9d757c2
Prefer concat_map
contificate Oct 1, 2024
2f7deb3
Update .git-blame-ignore-revs
contificate Oct 1, 2024
4d9090e
Prefer List.concat_map (#6029)
contificate Oct 1, 2024
450096d
ocaml: fix packages for quicktest and xs-trace tests
psafont Oct 1, 2024
802dda6
ocaml: fix packages for quicktest and xs-trace tests (#6030)
psafont Oct 1, 2024
6d3edbb
CA-399956 - xe autocompletion: Fix autocompletion for words with give…
last-genius Oct 2, 2024
182ed47
CA-399963: Block VM.start_on is feature flag is disabled
robhoes Oct 2, 2024
1d42c05
test(xapi_globs): add a unit test that xapi globs parsing works
edwintorok Oct 2, 2024
a3ab228
fix(xapi)): cannot compare functional values
edwintorok Oct 2, 2024
d23597b
fix(xapi)): cannot compare functional values (#6034)
edwintorok Oct 2, 2024
522c64b
fix(ci): make rrdd-plugin.xenctrl internal
edwintorok Oct 2, 2024
52d5d20
opam: add configure step for xenopsd
psafont Oct 2, 2024
5d9d9a4
fix(xcp_service.configure): do not fail on --help
edwintorok Oct 2, 2024
dd22406
opam: add missing dependencies
psafont Oct 2, 2024
ec0151b
opam: add configure step for xenopsd (#6036)
psafont Oct 2, 2024
382a63b
fix: do not expose new sublibrary of rrdd-plugin that depends on ezxe…
robhoes Oct 2, 2024
9d4f2ab
CA-399956 - xe autocompletion: Fix autocompletion for words with give…
psafont Oct 2, 2024
43d9ee9
fix(test): avoid running XAPI hooks in unit tests
edwintorok Oct 2, 2024
3eeff78
IH-397: Replace async with lwt in xapi-storage-script (#6019)
psafont Oct 3, 2024
08661dd
xapi-storage-script: attach tests to the package
psafont Oct 3, 2024
6b47814
xapi-storage-script: attach tests to the package (#6038)
psafont Oct 3, 2024
44e459e
CA-399963: Block VM.start_on is feature flag is disabled (#6035)
robhoes Oct 3, 2024
863469a
message-switch: remove dependency on async binaries
psafont Oct 4, 2024
f45e406
message-switch: remove dependency on async binaries (#6041)
psafont Oct 4, 2024
f6097e6
xapi-stdect-unix: catch exceptions when testing the server
psafont Oct 4, 2024
e3675a6
CP-51714: Remove noisy xenopsd debug logs
snwoods Oct 3, 2024
869c1d2
CP-51714: Remove noisy xenopsd debug logs (#6039)
lindig Oct 7, 2024
b282347
xapi-stdext-unix: catch exceptions in the test server (#6042)
psafont Oct 7, 2024
9d0949d
maintenance: avoid deprecated bindings in uuidm 0.9.9
psafont Oct 8, 2024
89e7cd1
ezxenstore: avoid copies when converting to and from uuids
psafont Oct 8, 2024
d4c2be1
maintenance: avoid deprecated bindings in uuidm 0.9.9 (#6045)
psafont Oct 8, 2024
1a6cb7e
CP-50603: Replace `c_rehash` with `openssl rehash` sub command
liulinC Sep 29, 2024
c8232df
CP-50603: Replace `c_rehash` with `openssl rehash` sub command (#6044)
liulinC Oct 9, 2024
686751f
CA-400124: rrd: Serialize transform parameter for data sources
last-genius Oct 8, 2024
fe79b0f
CA-400124 - rrdd: only serialize transform when it's not default
last-genius Oct 8, 2024
8e3cb5f
CA-400124 - rrd: Serialize transform parameter for data sources (#6043)
last-genius Oct 9, 2024
1e55415
CA-392674: nbd_client_manager retry connect on nbd device busy
liulinC Sep 27, 2024
2c651f2
IH-715 - rrdp-netdev: Remove double (de)serialization
last-genius Oct 2, 2024
008a813
http-lib: add backtrace to logs on connection without response
psafont Oct 1, 2024
ed96146
http-lib: convert bash script to cram tests
psafont Oct 4, 2024
3bef65f
http-lib: prepare test client for more commands
psafont Oct 4, 2024
d8bd9f2
http-libs: add test about error logging
psafont Oct 7, 2024
cda6194
http-lib: use let@ for perf testing of the client
psafont Oct 9, 2024
4f86441
http-lib: make perf shorter
psafont Oct 9, 2024
aa09cb8
CA-399256: Ensure AD domain name check is case insensitive
ElijahSadorra Oct 9, 2024
52d21c0
XSI-1722 fix timer for host heartbeat
Oct 9, 2024
0c7b7e4
XSI-1722 fix timer for host heartbeat (#6048)
lindig Oct 9, 2024
2715234
fixup! IH-715 - rrdp-netdev: Remove double (de)serialization
last-genius Oct 10, 2024
59ea7bc
http-lib: add backtrace to logs on connection without response (#6028)
psafont Oct 10, 2024
01b6205
CA-399256: Ensure AD domain name check is case insensitive (#6047)
lindig Oct 10, 2024
f06d920
Replace fold with of_list in rbac
contificate Oct 11, 2024
f7c3e7f
Replace fold with of_list in rbac (#6051)
contificate Oct 11, 2024
6631d38
maintenance: write interface files for vhd-tool
psafont Oct 11, 2024
c4a9e25
maintenance: add interface to vhd-tool's Chunked
psafont Oct 11, 2024
4284169
maintenance: remove data from chd-tool's chunked datastructure
psafont Oct 11, 2024
7670247
maintenance: add interface files for vhd-tool (#6052)
lindig Oct 11, 2024
310429c
Revert "CP-48676: Don't check resuable pool session validity by default"
edwintorok Oct 11, 2024
76008ce
Revert "CP-48676: Reuse pool sessions on slave logins."
edwintorok Oct 11, 2024
ab2acfc
maintenance: remove unused code from stream_vdi
psafont Oct 11, 2024
34a8796
CA-392674: nbd_client_manager retry connect on nbd device busy (#6021)
liulinC Oct 14, 2024
bb41b46
Revert changes causing deadlock (#6053)
lindig Oct 14, 2024
97565ca
maintenance: remove unused code from stream_vdi (#6054)
lindig Oct 14, 2024
445ef24
chore: update datamodel versions
psafont Oct 14, 2024
9eb5740
chore: update datamodel versions (#6055)
robhoes Oct 14, 2024
bd4dda5
IH-715 - rrdp-netdev: Remove double (de)serialization (#6046)
last-genius Oct 15, 2024
a2d9fbe
IH-577 Implement v7 UUID generation
Jul 3, 2024
e650ca0
IH-577 Implement v7 UUID generation (#5866)
lindig Oct 16, 2024
9507369
Update wire-protocol.md to have working Python3 code examples
alexbrett Oct 16, 2024
1683f8f
Update wire-protocol.md to have working Python3 code examples (#6058)
lindig Oct 16, 2024
00c13da
Added WLB_VM_RELOCATION to the list of recognized messages.
kc284 Oct 14, 2024
3a727d2
Python command correction.
kc284 Oct 16, 2024
80528e0
Remove unused Http_svr.Chunked module
robhoes Oct 17, 2024
1113299
chore: Fix some grammatical errors in cluster alerts
Vincent-lau Oct 17, 2024
34352ac
Small correction to PR#6058 and a C# SDK addition for client L10n pur…
kc284 Oct 17, 2024
ad018ce
chore: Fix some grammatical errors in cluster alerts (#6062)
Vincent-lau Oct 17, 2024
8465e1b
buf_io: remove unused function input_line
robhoes Oct 17, 2024
5770f42
Access pvsproxy via a socket in /run
rosslagerwall Oct 17, 2024
c02f653
http-svr: change request_of_bio(_exn) to read_request(_exn)
robhoes Oct 17, 2024
a49ae63
xmlrpc_client: remove us of Buf_io
robhoes Oct 17, 2024
8a829ec
http-svr: remove read from Buf_io in read_body
robhoes Oct 17, 2024
8d2bd13
xapi_http: unify cases in add_handler
robhoes Oct 17, 2024
ff9ce6d
Remove BufIO HTTP handler type completely
robhoes Oct 17, 2024
8e02455
Remove now-unused Buf_io and associated tests
robhoes Oct 17, 2024
3ae129d
Access pvsproxy via a socket in /run (#6063)
lindig Oct 18, 2024
aafb2bb
fix(test): avoid running XAPI hooks in unit tests (#6037)
lindig Oct 18, 2024
45d934e
Remove Buf_io from the HTTP server (#6064)
robhoes Oct 18, 2024
99b8ad6
CA-400860: make CPU and netdev RRDD plugins pick up changes in domains
last-genius Oct 21, 2024
c647985
CP-51683: Make Cluster_health non-exp feature
Vincent-lau Sep 30, 2024
daa9938
CP-51683: Make Cluster_health non-exp feature (#6023)
Vincent-lau Oct 21, 2024
f1d892f
CA-400860: make CPU and netdev RRDD plugins pick up changes in domain…
lindig Oct 21, 2024
264558d
CA-398341: Populate fingerprints of CA certificates on startup
psafont Aug 29, 2024
ed90086
CP-51527: Add --force option to pool-uninstall-ca-certificate
snwoods Sep 17, 2024
97aa03f
CA-398341: Populate fingerprints of CA certificates on startup (#6006)
psafont Oct 22, 2024
98384e8
CA-400924 - networkd: Add bonds to `devs` in network_monitor_thread
last-genius Oct 23, 2024
46f0f42
CA-400924 - networkd: Add bonds to `devs` in network_monitor_thread (…
lindig Oct 23, 2024
ef071a6
CA-400559: API Error too_many_groups is not in go SDK
changlei-li Oct 24, 2024
8768e7c
CA-400559: API Error too_many_groups is not in go SDK (#6080)
minglumlu Oct 24, 2024
0d26553
chore: annotate types for non-returning functions
psafont Oct 22, 2024
8435a4e
OCaml5: Annotate non-returning functions with types (#6081)
lindig Oct 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,15 @@ ff39018fd6d91985f9c893a56928771dfe9fa48d
cbb9edb17dfd122c591beb14d1275acc39492335
d6ab15362548b8fe270bd14d5153b8d94e1b15c0
b12cf444edea15da6274975e1b2ca6a7fce2a090
364c27f5d18ab9dd31825e67a93efabecad06823
d8b4de9076531dd13bdffa20cc10c72290a52356

# ocp-indent
d018d26d6acd4707a23288b327b49e44f732725e
f43c221ad556bc85870faebc3ce3c9d6e9c2efd8

# strip trailing whitespace
5a003f446391ca05ec791c38c69e93fb1e718e78

# prefer concat_map
f1a1ee1c0dc6e228921ebc9e1ac39c2740d649c5
14 changes: 7 additions & 7 deletions .github/workflows/generate-and-build-sdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,34 +32,34 @@ jobs:
with:
name: SDK_Source_C
path: |
_build/install/default/xapi/sdk/c/*
!_build/install/default/xapi/sdk/c/dune
_build/install/default/share/c/*
!_build/install/default/share/c/dune

- name: Store C# SDK source
uses: actions/upload-artifact@v4
with:
name: SDK_Source_CSharp
path: _build/install/default/xapi/sdk/csharp/*
path: _build/install/default/share/csharp/*

- name: Store PowerShell SDK source
uses: actions/upload-artifact@v4
with:
name: SDK_Source_PowerShell
path: _build/install/default/xapi/sdk/powershell/*
path: _build/install/default/share/powershell/*

- name: Store Go SDK Artifacts
uses: actions/upload-artifact@v4
with:
name: SDK_Artifacts_Go
path: |
_build/install/default/xapi/sdk/go/*
!_build/install/default/xapi/sdk/go/dune
_build/install/default/share/go/*
!_build/install/default/share/go/dune

- name: Store Java SDK source
uses: actions/upload-artifact@v4
with:
name: SDK_Source_Java
path: _build/install/default/xapi/sdk/java/*
path: _build/install/default/share/java/*

- name: Trim dune cache
run: opam exec -- dune cache trim --size=2GiB
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/go-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ runs:
uses: golangci/golangci-lint-action@v4
with:
version: v1.57.2
working-directory: ${{ github.workspace }}/_build/install/default/xapi/sdk/go/src
working-directory: ${{ github.workspace }}/_build/install/default/share/go/src
args: --config=${{ github.workspace }}/.golangci.yml

- name: Run CI for Go SDK
shell: bash
run: |
cd ./ocaml/sdk-gen/component-test/
cp -r ${{ github.workspace }}/_build/install/default/xapi/sdk/go/src jsonrpc-client/go/goSDK
bash run-tests.sh
cp -r ${{ github.workspace }}/_build/install/default/share/go/src jsonrpc-client/go/goSDK
bash run-tests.sh
2 changes: 1 addition & 1 deletion .github/workflows/sdk-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ runs:
- name: Run CI for Go SDK
uses: ./.github/workflows/go-ci

# Run other tests here
# Run other tests here
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,13 @@ python3/examples/XenAPI.egg-info/
python3/examples/build/
python3/examples/dist/

# ignore file needed for building the SDK
ocaml/sdk-gen/csharp/XE_SR_ERRORCODES.xml

# configure-generated files
ocaml/xenopsd/scripts/vif
ocaml/xenopsd/scripts/xen-backend.rules
ocaml/xenopsd/xentoollog_flags

ocaml/idl/gen_lifecycle.exe
ocaml/idl/api_version.ml.in2

# hugo
.hugo_build.lock
Expand Down
231 changes: 70 additions & 161 deletions Makefile

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions clock.opam
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ depends: [
"ocaml" {>= "4.12"}
"alcotest" {with-test}
"astring"
"fmt"
"mtime"
"ptime"
"xapi-log" {= version}
Expand Down
2 changes: 1 addition & 1 deletion cohttp-posix.opam
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ build: [[ "dune" "build" "-p" name "-j" jobs ]]
available: [ os = "linux" ]
depends: [
"ocaml"
"dune"
"dune" {>= "3.15"}
"cohttp"
]
synopsis: "Library required by xapi"
Expand Down
2 changes: 1 addition & 1 deletion cohttp-posix.opam.template
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ build: [[ "dune" "build" "-p" name "-j" jobs ]]
available: [ os = "linux" ]
depends: [
"ocaml"
"dune"
"dune" {>= "3.15"}
"cohttp"
]
synopsis: "Library required by xapi"
Expand Down
3 changes: 3 additions & 0 deletions doc/content/toolstack/high-level/daemons.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ xcp-rrdd
- xcp-rrdd-iostat
- xcp-rrdd-squeezed
- xcp-rrdd-xenpm
- xcp-rrdd-dcmi
- xcp-rrdd-netdev
- xcp-rrdd-cpu

xcp-networkd
: a host network manager which takes care of configuring interfaces, bridges
Expand Down
71 changes: 22 additions & 49 deletions doc/content/xapi/guides/howtos/add-function.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The function to describe the new message will look something like the following:
let host_price_of = call ~flags:[`Session]
~name:"price_of"
~in_oss_since:None
~in_product_since:rel_orlando
~lifecycle:[]
~params:[(Ref _host, "host", "The host containing the price information");
(String, "item", "The item whose price is queried")]
~result:(Float, "The price of the item")
Expand All @@ -41,15 +41,14 @@ host_price_of is added to the messages of the host class:
]
...

The parameters passed to call are all optional (except ~name and ~in_product_since).
The parameters passed to call are all optional (except ~name and ~lifecycle).

- The ~flags parameter is used to set conditions for the use of the message.
For example, `Session is used to indicate that the call must be made in the
presence of an existing session.

- The value of the ~in_product_since parameter is a string taken from
`idl/datamodel_types.ml` indicates the XenServer release in which this
message was first introduced.
- The value of the `~lifecycle` parameter should be `[]` in new code, with dune
automatically generating appropriate values (`datamodel_lifecycle.ml`)

- The ~params parameter describes a list of the formal parameters of the message.
Each parameter is described by a triple. The first component of the triple is
Expand All @@ -66,7 +65,7 @@ The parameters passed to call are all optional (except ~name and ~in_product_sin

- The bool ~hide_from_docs parameter prevents the message from being included in the documentation when generated.

- The bool ~pool_internal parameter is used to indicate if the message should be callable by external systems or only internal hosts.
- The bool ~pool_internal parameter is used to indicate if the message should be callable by external systems or only internal hosts.

- The ~errs parameter is a list of possible exceptions that the message can raise.

Expand All @@ -76,53 +75,27 @@ The parameters passed to call are all optional (except ~name and ~in_product_sin


Compiling `xen-api.(hg|git)` will cause the code corresponding to this message
to be generated and output in `ocaml/xapi/server.ml`. In the example above, a
to be generated and output in `ocaml/xapi/server.ml`. In the example above, a
section handling an incoming call host.price_of appeared in `ocaml/xapi/server.ml`.
However, after this was generated, the rest of the build failed because this
However, after this was generated, the rest of the build failed because this
call expects a price_of function in the Host object.

Expected values in parameter ~in_product_since
----------------------------------------------

In the example above, the value of the parameter ~in_product_since informs that
the message host_price_of was added during the rel_orlando release cycle. If a
new release cycle is required, then it needs to be added in the file
`idl/datamodel_types.ml`. The patch below shows how the new rel_george release
identifier was added. Any class, message, etc. added during the rel_george
release cycle should contain ~in_product_since:rel_george entries.
(obs: the release and upgrade infrastructure can handle only one new
`rel_*` identifier -- in this case, rel_george -- in each release)

--- a/ocaml/idl/datamodel_types.ml Tue Nov 11 15:17:48 2008 +0000
+++ b/ocaml/idl/datamodel_types.ml Tue Nov 11 15:53:29 2008 +0000
@@ -27,14 +27,13 @@
(* useful constants for product vsn tracking *)
let oss_since_303 = Some "3.0.3"
+let rel_george = "george"
let rel_orlando = "orlando"
let rel_orlando_update_1 = "orlando-update-1"
let rel_symc = "symc"
let rel_miami = "miami"
let rel_rio = "rio"
-let release_order = [engp:rel_rio; rel_miami; rel_symc; rel_orlando; rel_orlando_update_1]
+let release_order = [engp:rel_rio; rel_miami; rel_symc; rel_orlando; rel_orlando_update_1; rel_george]

Update expose_get_all_messages_for list
---------------------------------------

If you are adding a new class, do not forget to add your new class \_name to
the expose_get_all_messages_for list, at the bottom of datamodel.ml, in
If you are adding a new class, do not forget to add your new class \_name to
the expose_get_all_messages_for list, at the bottom of datamodel.ml, in
order to have automatically generated get_all and get_all_records functions
attached to it.

Update the RBAC field containing the roles expected to use the new API call
---------------------------------------------------------------------------

After the RBAC integration, Xapi provides by default a set of static roles
After the RBAC integration, Xapi provides by default a set of static roles
associated to the most common subject tasks.

The api calls associated with each role are defined by a new `~allowed_roles`
parameter in each api call, which specifies the list of static roles that
parameter in each api call, which specifies the list of static roles that
should be able to execute the call. The possible roles for this list is one of
the following names, defined in `datamodel.ml`:

Expand All @@ -137,16 +110,16 @@ So, for instance,

~allowed_roles:[role_pool_admin,role_pool_operator] (* this is not the recommended usage, see example below *)

would be a valid list (though it is not the recommended way of using
would be a valid list (though it is not the recommended way of using
allowed_roles, see below), meaning that subjects belonging to either
role_pool_admin or role_pool_operator can execute the api call.

The RBAC requirements define a policy where the roles in the list above are
supposed to be totally-ordered by the set of api-calls associated with each of
them. That means that any api-call allowed to role_pool_operator should also be
in role_pool_admin; any api-call allowed to role_vm_power_admin should also be
in role_pool_operator and also in role_pool_admin; and so on. Datamodel.ml
provides shortcuts for expressing these totally-ordered set of roles policy
The RBAC requirements define a policy where the roles in the list above are
supposed to be totally-ordered by the set of api-calls associated with each of
them. That means that any api-call allowed to role_pool_operator should also be
in role_pool_admin; any api-call allowed to role_vm_power_admin should also be
in role_pool_operator and also in role_pool_admin; and so on. Datamodel.ml
provides shortcuts for expressing these totally-ordered set of roles policy
associated with each api-call:

- \_R_POOL_ADMIN, equivalent to [role_pool_admin]
Expand All @@ -158,11 +131,11 @@ associated with each api-call:

The `~allowed_roles` parameter should use one of the shortcuts in the list above,
instead of directly using a list of roles, because the shortcuts above make sure
that the roles in the list are in a total order regarding the api-calls
that the roles in the list are in a total order regarding the api-calls
permission sets. Creating an api-call with e.g.
allowed_roles:[role_pool_admin,role_vm_admin] would be wrong, because that
would mean that a pool_operator cannot execute the api-call that a vm_admin can,
breaking the total-order policy expected in the RBAC 1.0 implementation.
would mean that a pool_operator cannot execute the api-call that a vm_admin can,
breaking the total-order policy expected in the RBAC 1.0 implementation.
In the future, this requirement might be relaxed.

So, the example above should instead be used as:
Expand Down Expand Up @@ -224,7 +197,7 @@ We add the following function to `xapi/xapi_host.ml`:

let price_of ~__context ~host ~item =
if item = "fish" then 3.14 else 0.00

We also need to add the function to the interface `xapi/xapi_host.mli`:

val price_of :
Expand Down
4 changes: 2 additions & 2 deletions doc/content/xapi/storage/sxm.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,8 @@ Next, we determine which VDIs to copy:
let vifs = Db.VM.get_VIFs ~__context ~self:vm in
let snapshots = Db.VM.get_snapshots ~__context ~self:vm in
let vm_and_snapshots = vm :: snapshots in
let snapshots_vbds = List.flatten (List.map (fun self -> Db.VM.get_VBDs ~__context ~self) snapshots) in
let snapshot_vifs = List.flatten (List.map (fun self -> Db.VM.get_VIFs ~__context ~self) snapshots) in
let snapshots_vbds = List.concat_map (fun self -> Db.VM.get_VBDs ~__context ~self) snapshots in
let snapshot_vifs = List.concat_map (fun self -> Db.VM.get_VIFs ~__context ~self) snapshots in
```

we now decide whether we're intra-pool or not, and if we're intra-pool whether we're migrating onto the same host (localhost migrate). Intra-pool is decided by trying to do a lookup of our current host uuid on the destination pool.
Expand Down
6 changes: 6 additions & 0 deletions dune
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,9 @@
; Can still be used for dependencies, but dune won't scan these dirs
; for dune files
(data_only_dirs doc scripts python3 .vscode)

(install
(package xapi-sdk)
(section share_root)
(files (python3/examples/XenAPI/XenAPI.py as python/XenAPI.py))
)
Loading
Loading