Skip to content

Merge master to feature/guest-vm-service-aware #6406

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 30 commits into from
Apr 7, 2025

Conversation

changlei-li
Copy link
Contributor

Sync master before merging to master. No confilct.

liulinC and others added 30 commits March 24, 2025 11:06
hosts file to avoid DNS lookup

Without adding netbios name into /etc/hosts, a DNS query for
localhost name is performed when talks to Domain Controller.

This waste resources, especially when XenServer is monitorred by
ControllUP, who perform external auth very frequently

Adding netbios name into /etc/hosts to avoid the DNS query and
keep consistent with PBIS

Signed-off-by: Lin Liu <Lin.Liu01@cloud.com>
This split is so that this part can be used by storage_migrate later on
for its own multiplexing logic, to avoid dependency cycle.

Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
This is then used later for storage_migrate to multiplex based on the
SMAPI version.

Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
This will be used later on to define the interface a migration module
should implement.

Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
Signed-off-by: Lin Liu <Lin.Liu01@cloud.com>
Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
Use first class modules to generate modules for the remote SMAPIv2 calls
to avoid code duplication.

Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
Signed-off-by: Vincent Liu <shuntian.liu2@cloud.com>
This keeps them contained, allowing them to easily be hidden in Jaeger

Signed-off-by: Steven Woods <steven.woods@cloud.com>
add logs dependency, necessary for future versions of logs

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
Alcotest changed how match_raises to actually be reasonable instead of failing
when the mathing function returns true (note how is_oob expects a string with
two spaces)

This also highlights why matching strings in exception is a bad idea. Instead
raise a non-stringy exception and use polymorphic compare.

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
…ty datasource array

Several assumptions in the ds_update function expect at least one element to be
present in the array, and will raise Invalid_argument("index out of bounds")
otherwise. This could be triggered by disabling all datasources for a
particular plugin/owner combination, for example.

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
It's has been replaced by clock

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
… file to avoid DNS lookup (#6386)

Without adding netbios name into /etc/hosts, a DNS query for localhost
name is performed when talks to Domain Controller.

This waste resources, especially when XenServer is monitorred by
ControllUP, who perform external auth very frequently

Adding netbios name into /etc/hosts to avoid the DNS query and keep
consistent with PBIS
This keeps them contained, allowing them to easily be hidden in Jaeger.
Below is a screenshot of it in action:

![image](https://github.com/user-attachments/assets/7a74097e-904f-44b0-afa5-9ab3a473878c)
This cleans up the root folder

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
There are various refactors in this PR, details in each commit message.
This is mainly for clean up purposes and also to prepare for the real
refactoring of sxm for SMAPIv1 and SMAPIv3.

No functional change.

More to come...
This cleans up the root folder

It's unclear whether this change is compatible with how the docs
workflow uses setup-ocaml. I've updated it to use it the same way as the
other workflows (except it doesn't install the test dependencies)

This will need changes in the sync-xapi-metadata tool of xs-opam, but I
can fix that later
…6393)

Several assumptions in the `ds_update` function expect at least one
element to be present in the array, and will raise
`Invalid_argument("index out of bounds")` otherwise. This could be
triggered by disabling all datasources for a particular plugin/owner
combination, for example.
Many years ago, 'maybe' used to be a synonym for Option.iter, Option.map and
other functions. Use Option.x directly to avoid any misunderstnadings

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
…ifetime

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
Now the numa node needs to be passed. A special value of -1n is used to signify
that no node is meant to be used. Since this is arch-dependent, a Nativeint.t
is used to encode the value.

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
This binding is only available in Xen 4.21 (unreleased)

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
Previously unit was returned every single time, but the result of the inner
function will need to be used in the near future.

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
Xen currently supports to modes to claim memory for a domain: without any node
in particular, or claim memory in a single NUMA node.

When planning a domain, return the nodes that will host the domain, and how
much memory. In the case where the domain fits in a single NUMA node, claim
pages on that node, otherwise fall back to previous behaviour.

The memory claims need to happen while the memory measurements hold valid, that
is while no VMs are started, otherwise ENOMEM might be returned.

Because the current mode is a best-effort, log when the claim does not work.

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
Neither xenguest nor emu-manager support passing the parameter just yet, so
avoid passing the numa node to create the parameter.

On top of that claiming memory conflicts with DMC, so it's better to keep
previous behaviour of not claiming any pages before allocating.

Signed-off-by: Pau Ruiz Safont <pau.ruizsafont@cloud.com>
This PR allows xenopsd to launch domains that are using memory allocated
in a single NUMA node in a reliable way. (when restarting a VM in a host
with most of the memory in use)

Since this is only supported by Xen with this patchqueue:
https://lists.xen.org/archives/html/xen-devel/2025-03/msg01127.html, and
it needs support from xenguest and emu-manager, there are two commits
that revert the changes to just claim memory pages without a NUMA memory
node. These are easily revertable by patches to enable this
functionality in cutting edge builds.

Revertable patches:
-  xenctrl: Don't use numa_node in domain_claim_pages calls
- xenopsd/xc: Do not try to allocate pages to a particular NUMA node
@gangj gangj merged commit e3a836d into feature/guest-vm-service-aware Apr 7, 2025
103 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.

9 participants