Skip to content

Commit c69b19d

Browse files
committed
Merge remote-tracking branch 'upstream/master' into feature/perf
Signed-off-by: Edwin Török <[email protected]>
2 parents 6ccaf7b + 6949dbd commit c69b19d

File tree

114 files changed

+3811
-661
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+3811
-661
lines changed

.github/workflows/generate-and-build-sdks.yml

+1
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ jobs:
168168
run: |
169169
dotnet test source/XenServerTest `
170170
--disable-build-servers `
171+
-p:DefineConstants=BUILD_FOR_TEST `
171172
--verbosity=normal
172173
173174
- name: Build C# SDK

.github/workflows/main.yml

+7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
name: Build and test
22

33
on:
4+
# When only Hugo docs change, this workflow is not required:
45
push:
6+
paths-ignore:
7+
- 'doc/**'
8+
- '.github/workflows/hugo.yml'
59
pull_request:
10+
paths-ignore:
11+
- 'doc/**'
12+
- '.github/workflows/hugo.yml'
613
schedule:
714
# run daily, this refreshes the cache
815
- cron: "13 2 * * *"

.github/workflows/other.yml

+7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
name: Build and test (other)
22

33
on:
4+
# When only Hugo docs change, this workflow is not required:
45
push:
6+
paths-ignore:
7+
- 'doc/**'
8+
- '.github/workflows/hugo.yml'
59
pull_request:
10+
paths-ignore:
11+
- 'doc/**'
12+
- '.github/workflows/hugo.yml'
613
schedule:
714
# run daily, this refreshes the cache
815
- cron: "13 2 * * *"

.github/workflows/shellcheck.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ name: ShellCheck
22

33
on:
44
pull_request:
5+
# When only Hugo docs change, this workflow is not required:
6+
paths-ignore:
7+
- 'doc/**'
8+
- '.github/workflows/hugo.yml'
59
merge_group:
610

711
concurrency: # On new push, cancel old workflows from the same PR, branch or tag:

doc/README.md

+45-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,51 @@
1-
Quick start guide:
1+
# Quick start guide:
22

33
- Visit https://xapi-project.github.io/new-docs/ to view the current documentation.
4+
5+
## Required software
6+
7+
The docs use Hugo and the [Hugo Relearn theme](https://mcshelby.github.io/hugo-theme-relearn),
8+
an enhanced fork of the popular Hugo Learn theme.
9+
10+
### Compatible versions
11+
12+
Due to a number of gradual changes in Hugo and Relearn,
13+
the docs are currently only compatible with specific older versions of Hugo and Relearn.
14+
15+
Hugo v0.121.0 to ~v0.127.0 (the current version of the Ubuntu `snap` is too recent)
16+
- Fixes to support newer versions are forthcoming.
17+
18+
Hugo Relearn 5.24.0 (defined by a git tag in doc/go.mod)
19+
- Note: Hugo Relearn >= 5.25 currently trigger additional warnings due to deprecations.
20+
- Further updates fix this situation are forthcoming step by step.
21+
22+
Hugo Relearn >= 5.24.0 and < 6.x are expected to work:
23+
- https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/5/index.html#5-24-0
24+
- Breaking changes in Relearn 6.0.0:
25+
https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/6/#6-0-0
26+
27+
## Installation
28+
429
- Install Hugo; follow the guidance on https://gohugo.io/getting-started/installing.
5-
You'll need Go as well: see https://go.dev/
6-
- On Ubuntu 22.04 and older, use `sudo snap install hugo` to get the needed newer version of `hugo`.
30+
You'll need to install Go as well: see https://go.dev/
31+
- Hugo installation is described at https://gohugo.io/installation
32+
- On Ubuntu 24.04, the version installed by `apt` works.
33+
- On Ubuntu 22.04 and older:
34+
- `apt-get install hugo` would install a version that is too old.
35+
- `sudo snap install hugo` installs a too recent version
36+
37+
- To install Hugo from source, you need a recent `golang-1.2x` compiler:
38+
- On Ubuntu 22.04, this can be done with:
39+
```bash
40+
sudo apt install golang-1.23-go
41+
# Add it to your path, assuming your .local/bin/ is early in your PATH:
42+
ln -s /usr/lib/go-1.23/bin/go ~/.local/bin/go
43+
go version
44+
go install github.com/gohugoio/[email protected]
45+
```
46+
47+
## Development
48+
749
- Run a local server: `hugo server`
850
- Open a browser at http://127.0.0.1:1313/new-docs/
951
- Add content to `doc/content/`:

doc/content/design/cpu-levelling-v2.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The old XS 5.6-style Heterogeneous Pool feature that is based around hardware-le
2929
History
3030
=======
3131

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

doc/content/design/integrated-gpu-passthrough/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Introduction
1111
------------
1212

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

doc/content/design/local-database.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ We propose to:
2525
this should reduce the number of RPCs across the network.
2626

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

3030
Replicating the database
3131
------------------------

doc/content/design/multiple-cluster-managers.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ revision_history:
1414
Introduction
1515
------------
1616

17-
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:
17+
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:
1818

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

7171
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`.
7272

73-
Alternative cluster stacks will need to conform to the exact same interface as [xhad](../../features/HA/HA.html).
73+
Alternative cluster stacks will need to conform to the exact same interface as [xhad](../toolstack/features/HA).

doc/content/design/ocfs2/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ Summary of the impact on the admin
461461

462462
OCFS2 is fundamentally a different type of storage to all existing storage
463463
types supported by xapi. OCFS2 relies upon O2CB, which provides
464-
[Host-level High Availability](../../../features/HA/HA.html). All HA implementations
464+
[Host-level High Availability](../../toolstack/features/HA/index). All HA implementations
465465
(including O2CB and `xhad`) impose restrictions on the server admin to
466466
prevent unnecessary host "fencing" (i.e. crashing). Once we have OCFS2 as
467467
a feature, we will have to live with these restrictions which previously only

doc/content/toolstack/features/DR/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title = "Disaster Recovery"
33
+++
44

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

0 commit comments

Comments
 (0)