Skip to content

Merge master into feature/perf and fix conflicts #6265

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

Merged
merged 73 commits into from
Jan 31, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
b1bc5be
CA-403634: Corrected error text (this error can be issued for other t…
kc284 Jan 13, 2025
976b592
Removed errors that are not issued by the API.
kc284 Jan 13, 2025
a320764
fe_test: add test for syslog feature
freddy77 Jul 27, 2024
f801eef
MVD CP-52334 multi-version driver API/CLI
Dec 4, 2024
5759634
MVD CP-52334 multi-version driver API/CLI - incremental update
Dec 4, 2024
f38cb66
MVD CP-52334 multi-version driver API/CLI - incremental update
Dec 4, 2024
f34ddfe
MVD CP-52334 multi-version driver API/CLI - small fixes
Dec 4, 2024
2bca391
MVD CP-52334 multi-version driver API/CLI - update schema hash
Dec 4, 2024
dc076cb
MVD CP-52334 multi-version driver API/CLI - remove dead code
Dec 4, 2024
c6c7753
MVD CP-52334 multi-version driver API/CLI - fix typo
Dec 4, 2024
05c1fdf
MVD CP-52334 multi-version driver API/CLI - regen datamodel_lifecycle
Dec 4, 2024
b576ba0
Update ocaml/xapi-cli-server/records.ml
lindig Jan 16, 2025
31adafc
Update ocaml/xapi-cli-server/records.ml
lindig Jan 16, 2025
56f7b74
Update ocaml/xapi-cli-server/records.ml
lindig Jan 16, 2025
eef7fe2
MVD CP-52334 multi-version driver API/CLI - fix documentation
Dec 4, 2024
ab4d4fa
MVD CP-52334 multi-version driver API/CLI - improve records
Dec 4, 2024
cf34f2e
MVD CP-52334 multi-version driver API/CLI - update datamodel_lifecycl…
Dec 4, 2024
e365bea
CA-403634: Corrected error text. Removed errors that are not issued b…
kc284 Jan 21, 2025
5db81b3
Multi-Version Drivers (#6163)
lindig Jan 21, 2025
fc84b33
Remove unused function
robhoes Jan 21, 2025
0936fca
Add more logging to the vhd-tool
Vincent-lau Oct 28, 2024
af3e3ea
chore: Some housekeeping on comments and minor refactoring
Vincent-lau Oct 28, 2024
a8ba0b9
Refactor feature processing logic in `Smint`
Vincent-lau Nov 4, 2024
4e45833
Remove unused function (#6241)
edwintorok Jan 21, 2025
3c3e905
Move `transform_storage_exn` to Storage_utils
Vincent-lau Oct 31, 2024
784ea98
CP-45016: Implement several SMAPIv2->SMAPIv3 APIs for SXM
Vincent-lau Oct 25, 2024
3377d2b
CP-45016: Implement `import_activate` SMAPIv2 call
Vincent-lau Dec 10, 2024
044dc15
CP-45016: Add support for specifying nbd export in sparse_dd
Vincent-lau Oct 28, 2024
cdcaa9d
CP-45016: Implement inbound SXM SMAPIv3 SRs
Vincent-lau Oct 28, 2024
4074277
CP-45016: Implement checking of mirroring features
Vincent-lau Dec 10, 2024
508d476
CP-45016: Delay VDI.compose in SXM
Vincent-lau Nov 15, 2024
c46ed3f
CA-404693 prohibit selecting driver variant if h/w not present
Jan 21, 2025
b731195
fe_test: add test for syslog feature (#5985)
robhoes Jan 21, 2025
8ebbd44
CP-45016: Implement get_nbd_server SMAPI{v1,v2,v3} calls
Vincent-lau Dec 10, 2024
5b9e892
CP-45016: Implement a new nbd proxy handler
Vincent-lau Dec 5, 2024
889dfa6
CP-45016: Clean up the source VM earlier
Vincent-lau Nov 4, 2024
567cac2
Improve doc and logging
Vincent-lau Dec 5, 2024
f2743cf
CA-404693 prohibit selecting driver variant if h/w not present (#6243)
lindig Jan 21, 2025
6e30b84
Update XE_SR_ERRORCODES.xml from SM
robhoes Jan 21, 2025
65afcc7
CA-404611: SXM: check power-state just before metadata export
robhoes Jan 21, 2025
d3bad20
CA-404611: live import: only check CPUID if VM is not Halted
robhoes Jan 21, 2025
3406a64
CA-399260: Keep both new and old certs during the switchover
changlei-li Jan 14, 2025
8f374c7
Added preprocessor directive so that the assembly internals are visib…
kc284 Jan 21, 2025
7abefc4
CA-404611: Fix SXM when VM is shut down midway (#6246)
robhoes Jan 22, 2025
1c9b62a
CA-399260: Keep both new and old certs during the switchover (#6223)
lindig Jan 22, 2025
4207e23
CP-45016 Implement inbound SXM for SMAPIv3 SRs (#6101)
Vincent-lau Jan 22, 2025
42512ab
Remove dangling use of python-future from rrdd.py
MarkSymsCtx Jan 22, 2025
4441556
Added preprocessor directive so that the assembly internals are visib…
kc284 Jan 23, 2025
0e99836
Remove dangling use of python-future from rrdd.py (#6247)
robhoes Jan 23, 2025
f2a9445
opam: add missing dependencies
psafont Jan 23, 2025
a4141f5
opam: add missing dependencies (#6248)
robhoes Jan 23, 2025
37d9237
CA-405404: Fix path to dracut
alexbrett Jan 24, 2025
458b138
docs: Update doc/README.md and Hugo Relearn (to 5.23.0 for now)
bernhardkaindl Jan 24, 2025
bc62e4c
CA-405404: Fix path to dracut (#6250)
robhoes Jan 27, 2025
7010a98
Fix currently broken links to toolstack/features: HA, snapshots
bernhardkaindl Jan 24, 2025
26264f9
Update 3 links to the hierachy of the new-docs site
bernhardkaindl Jan 24, 2025
0499324
docs: Update docs/README.md and Hugo Relearn to 5.23.0 (#6251)
robhoes Jan 27, 2025
3a6a64e
CI: When only Hugo docs change, other workflows do not need to run
bernhardkaindl Jan 24, 2025
ea9372f
Hugo docs: Fix {{site.baseurl}} links to use relative internal links …
bernhardkaindl Jan 24, 2025
38c3eb5
CA-403759: Initialise licensing after no-other-masters check
robhoes Jan 23, 2025
f78df2e
master_connection: remove unreachable case
robhoes Jan 22, 2025
f346848
master_connection: logging once is enough
robhoes Jan 22, 2025
d6e1139
Hugo docs: Fix {{site.baseurl}} links to use relative internal links …
psafont Jan 28, 2025
8a293a0
CA-403759: Initialise licensing after no-other-masters check (#6257)
robhoes Jan 28, 2025
fa6a82c
CA-400272: pool.set_igmp_snooping_enabled: ignore non-managed PIFs
robhoes Jan 28, 2025
03e82b6
CA-400272: pool.set_igmp_snooping_enabled: ignore non-managed PIFs (#…
robhoes Jan 28, 2025
bd3024b
Revert "CP-45016: Clean up the source VM earlier"
Vincent-lau Jan 28, 2025
764ec0d
CA-405502: Change post_detach to post_deactivate
Vincent-lau Jan 28, 2025
08f8647
CI: When only Hugo docs change, other workflows do not need to run (#…
psafont Jan 29, 2025
4ea5d43
Revert VM migration shutdown order change + change post_detach to pos…
robhoes Jan 29, 2025
f06041c
Typo. Only throw assertions at Debug time.
kc284 Jan 29, 2025
6949dbd
Typo. Only throw assertions at Debug time. (#6262)
kc284 Jan 30, 2025
c69b19d
Merge remote-tracking branch 'upstream/master' into feature/perf
edwintorok Jan 31, 2025
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 .github/workflows/generate-and-build-sdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ jobs:
run: |
dotnet test source/XenServerTest `
--disable-build-servers `
-p:DefineConstants=BUILD_FOR_TEST `
--verbosity=normal

- name: Build C# SDK
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
name: Build and test

on:
# When only Hugo docs change, this workflow is not required:
push:
paths-ignore:
- 'doc/**'
- '.github/workflows/hugo.yml'
pull_request:
paths-ignore:
- 'doc/**'
- '.github/workflows/hugo.yml'
schedule:
# run daily, this refreshes the cache
- cron: "13 2 * * *"
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/other.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
name: Build and test (other)

on:
# When only Hugo docs change, this workflow is not required:
push:
paths-ignore:
- 'doc/**'
- '.github/workflows/hugo.yml'
pull_request:
paths-ignore:
- 'doc/**'
- '.github/workflows/hugo.yml'
schedule:
# run daily, this refreshes the cache
- cron: "13 2 * * *"
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/shellcheck.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: ShellCheck

on:
pull_request:
# When only Hugo docs change, this workflow is not required:
paths-ignore:
- 'doc/**'
- '.github/workflows/hugo.yml'
merge_group:

concurrency: # On new push, cancel old workflows from the same PR, branch or tag:
Expand Down
48 changes: 45 additions & 3 deletions doc/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,51 @@
Quick start guide:
# Quick start guide:

- Visit https://xapi-project.github.io/new-docs/ to view the current documentation.

## Required software

The docs use Hugo and the [Hugo Relearn theme](https://mcshelby.github.io/hugo-theme-relearn),
an enhanced fork of the popular Hugo Learn theme.

### Compatible versions

Due to a number of gradual changes in Hugo and Relearn,
the docs are currently only compatible with specific older versions of Hugo and Relearn.

Hugo v0.121.0 to ~v0.127.0 (the current version of the Ubuntu `snap` is too recent)
- Fixes to support newer versions are forthcoming.

Hugo Relearn 5.24.0 (defined by a git tag in doc/go.mod)
- Note: Hugo Relearn >= 5.25 currently trigger additional warnings due to deprecations.
- Further updates fix this situation are forthcoming step by step.

Hugo Relearn >= 5.24.0 and < 6.x are expected to work:
- https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/5/index.html#5-24-0
- Breaking changes in Relearn 6.0.0:
https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/6/#6-0-0

## Installation

- Install Hugo; follow the guidance on https://gohugo.io/getting-started/installing.
You'll need Go as well: see https://go.dev/
- On Ubuntu 22.04 and older, use `sudo snap install hugo` to get the needed newer version of `hugo`.
You'll need to install Go as well: see https://go.dev/
- Hugo installation is described at https://gohugo.io/installation
- On Ubuntu 24.04, the version installed by `apt` works.
- On Ubuntu 22.04 and older:
- `apt-get install hugo` would install a version that is too old.
- `sudo snap install hugo` installs a too recent version

- To install Hugo from source, you need a recent `golang-1.2x` compiler:
- On Ubuntu 22.04, this can be done with:
```bash
sudo apt install golang-1.23-go
# Add it to your path, assuming your .local/bin/ is early in your PATH:
ln -s /usr/lib/go-1.23/bin/go ~/.local/bin/go
go version
go install github.com/gohugoio/hugo@v0.127.0
```

## Development

- Run a local server: `hugo server`
- Open a browser at http://127.0.0.1:1313/new-docs/
- Add content to `doc/content/`:
Expand Down
2 changes: 1 addition & 1 deletion doc/content/design/cpu-levelling-v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The old XS 5.6-style Heterogeneous Pool feature that is based around hardware-le
History
=======

- Original XS 5.6 design: [heterogeneous-pools](../heterogeneous-pools)
- Original XS 5.6 design: [heterogeneous-pools](heterogeneous-pools)
- Changes made in XS 5.6 FP1 for the DR feature (added CPUID checks upon migration)
- XS 6.1: migration checks extended for cross-pool scenario

Expand Down
2 changes: 1 addition & 1 deletion doc/content/design/integrated-gpu-passthrough/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Introduction
------------

Passthrough of discrete GPUs has been
[available since XenServer 6.0]({{site.baseurl}}/xapi/design/gpu-passthrough.html).
[available since XenServer 6.0](../gpu-passthrough.md).
With some extensions, we will also be able to support passthrough of integrated
GPUs.

Expand Down
2 changes: 1 addition & 1 deletion doc/content/design/local-database.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ We propose to:
this should reduce the number of RPCs across the network.

In a later phase we can move to a completely
[distributed database](../distributed-database).
[distributed database](distributed-database/index).

Replicating the database
------------------------
Expand Down
4 changes: 2 additions & 2 deletions doc/content/design/multiple-cluster-managers.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ revision_history:
Introduction
------------

Xapi currently uses a cluster manager called [xhad](../../features/HA/HA.html). Sometimes other software comes with its own built-in way of managing clusters, which would clash with xhad (example: xhad could choose to fence node 'a' while the other system could fence node 'b' resulting in a total failure). To integrate xapi with this other software we have 2 choices:
Xapi currently uses a cluster manager called [xhad](../toolstack/features/HA/index). Sometimes other software comes with its own built-in way of managing clusters, which would clash with xhad (example: xhad could choose to fence node 'a' while the other system could fence node 'b' resulting in a total failure). To integrate xapi with this other software we have 2 choices:

1. modify the other software to take membership information from xapi; or
2. modify xapi to take membership information from this other software.
Expand Down Expand Up @@ -70,4 +70,4 @@ The `xapi.conf` file will have a new field: `cluster-stack-root` which will have

In `Pool.enable_ha` with `cluster_stack="foo"` we will verify that the subdirectory `<cluster-stack-root>/foo` exists. If it does not exist, then the call will fail with `UNKNOWN_CLUSTER_STACK`.

Alternative cluster stacks will need to conform to the exact same interface as [xhad](../../features/HA/HA.html).
Alternative cluster stacks will need to conform to the exact same interface as [xhad](../toolstack/features/HA).
2 changes: 1 addition & 1 deletion doc/content/design/ocfs2/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -461,7 +461,7 @@ Summary of the impact on the admin

OCFS2 is fundamentally a different type of storage to all existing storage
types supported by xapi. OCFS2 relies upon O2CB, which provides
[Host-level High Availability](../../../features/HA/HA.html). All HA implementations
[Host-level High Availability](../../toolstack/features/HA/index). All HA implementations
(including O2CB and `xhad`) impose restrictions on the server admin to
prevent unnecessary host "fencing" (i.e. crashing). Once we have OCFS2 as
a feature, we will have to live with these restrictions which previously only
Expand Down
2 changes: 1 addition & 1 deletion doc/content/toolstack/features/DR/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title = "Disaster Recovery"
+++

The [HA](../HA/HA.html) feature will restart VMs after hosts have failed, but what
The [HA](HA) feature will restart VMs after hosts have failed, but what
happens if a whole site (e.g. datacenter) is lost? A disaster recovery
configuration is shown in the following diagram:

Expand Down
Loading
Loading