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

Sync master into feature/vm-anti-affinity #5607

Merged

Conversation

gangj
Copy link
Contributor

@gangj gangj commented May 1, 2024

No description provided.

kc284 and others added 25 commits April 23, 2024 20:36
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
We need to explicitly install python2, since it is no longer the default.

Eventually we may want to drop this completely, but we're not there yet.

Signed-off-by: Edwin Török <edwin.torok@cloud.com>
We do not publish or use the opam packages from this repo,
and therefore pinning is unnecessary.
'opam install --deps-only --with-test .' works without pinning on the version of 'opam' we have here.

Pinning ~71 packages is very slow since it makes a full copy of the source+.git folder every time.
Skip pinning, this also saves a few gigabytes of disk space.

This also makes the cleanup-xapi-environment action a no-op, so remove it.
(in fact it'd fail because the output of opam list with master pins is empty).

For testing the correctness of opam packages:
* we still have the xs-opam CI
* we can introduce opam-dune-lint that statically checks opam and dune for missing dependencies (needs new release first)

This reduces CI times:
* Run OCaml tests: from 15m24s to 10m16s
  * Setup XenAPI environment: from 7m1s to 5m55s

Signed-off-by: Edwin Török <edwin.torok@cloud.com>
Setting DUNE_CACHE_STORAGE_MODE=copy is needed during 'opam install',
otherwise dune builds inside opam packages won't be cached.
The sandbox used by opam is another partition/device and hardlinking fails with EXDEV.

Signed-off-by: Edwin Török <edwin.torok@cloud.com>
Now that we no longer pin the local opam packages we have
a few more GiB of disk space, and we don't need to rm pre-existing files.
This speeds up this step a little.

Signed-off-by: Edwin Török <edwin.torok@cloud.com>
The dune cache inside 'setup-ocaml' is trimmed to 5GB/jobcount,
which is currently about 10.
But not all jobs here use the dune cache, so separate the workflows.
(Also the dune cache will get compressed afterwards).

The SDK build does use the dune cache, but eventually it might become smaller,
e.g. if we change it to install just the dependencies needed for SDK gen,
and not everything. It does have a lot of unrelated jobs though.

The workflows need a unique name, otherwise they cancel each-other.

The dune cache is ~1.4GB now compressed, which should speed up
the setup-ocaml step on next run as more dependencies will be cached.

Setup XenAPI environment now only takes 2m51s instead of 5m55s.

Signed-off-by: Edwin Török <edwin.torok@cloud.com>
- Removes large package listing from build instructions.
- Adds explanation about tags when working from a clone of a fork of the repo.
- Includes miscellaneous changes to wording.

Signed-off-by: Colin <colin.barr@cloud.com>
We should eventually separate the opam dependency install into its own job
that uploads an artifact/cache that other jobs can reuse (and that should have a bigger dune cache),
however for now just trim the size of the cache.

The default is 5GiB, which results in ~1.4GiB compressed, which would hit the 10GiB cache size limit in GitHub way too often.
We may need to tweak this value in the future.

Signed-off-by: Edwin Török <edwin.torok@cloud.com>
Update README with different build instructions
Signed-off-by: Konstantina Chremmou <Konstantina.Chremmou@cloud.com>
Exposed system_list_methods in C# SDK. Correction to github workflow.
xapi-tracing-export is a new library separated from xapi-tracing. This
library is needed by xapi-clusterd (and probably other components that
require tracing as well). So install it as a library in the Makefile.

Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
…racing-export

Install xapi-tracing-export library
Clear all (stale) scheduled assignments for: VM, PCI, VGPU objects on
startup. We were missing the latter two.

Signed-off-by: Christian Lindig <christian.lindig@cloud.com>
…/CA-392163

CA-392163 clear scheduled assignments on startup
Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
tests: Allow the alcotest_suite to run
The API call VM.set-has-vendor-device used to be a lincensed feature but
it no longer is. As a first step to simplify when Windows VMs
automatically or not update device drivers, remove the license checks in
the code. The feature flag still remains in place.

Signed-off-by: Christian Lindig <christian.lindig@cloud.com>
The VCustom value was only used for the has-vendor-device field in a VM
and contained code rather than a simple value. We are removing this.

Signed-off-by: Christian Lindig <christian.lindig@cloud.com>
Remove the function and use VM.create_from_record directly.

Signed-off-by: Christian Lindig <christian.lindig@cloud.com>
Signed-off-by: Christian Lindig <christian.lindig@cloud.com>
Signed-off-by: Christian Lindig <christian.lindig@cloud.com>
@gangj
Copy link
Contributor Author

gangj commented May 1, 2024

No conflict except updating last_known_schema_hash:

$ git show b9ae79685179072a34839e3de94f69534c0fc2b4
commit b9ae79685179072a34839e3de94f69534c0fc2b4 (HEAD -> feature/vm-anti-affinity.4.sync_master, my_gh/feature/vm-anti-affinity)
Merge: 3bf62b7d9 6182cc23d
Author: Gang Ji <gang.ji@citrix.com>
Date:   Wed May 1 09:32:17 2024 +0800

    Merge branch 'master' into feature/vm-anti-affinity

diff --cc ocaml/idl/schematest.ml
index 5c09c9542,60ddad41e..9d374a66e
--- a/ocaml/idl/schematest.ml
+++ b/ocaml/idl/schematest.ml
@@@ -3,7 -3,7 +3,7 @@@ let hash x = Digest.string x |> Digest.
  (* BEWARE: if this changes, check that schema has been bumped accordingly in
     ocaml/idl/datamodel_common.ml, usually schema_minor_vsn *)

- let last_known_schema_hash = "c3163fd0a881e5f45617050ab64d4b48"
 -let last_known_schema_hash = "8c3cb4546e7dc9e8d9d05c8194d8a3d6"
++let last_known_schema_hash = "81ba6b9699b3f6c2969dd5510cbbe4aa"

  let current_schema_hash : string =
    let open Datamodel_types in
[gangj@xenrt1015818055 scm]$

@robhoes robhoes merged commit 8505ed1 into xapi-project:feature/vm-anti-affinity May 1, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants