post: commit e8778da in bojemoi
All checks were successful
Hugo Build & Deploy / build-deploy (push) Successful in 13s
All checks were successful
Hugo Build & Deploy / build-deploy (push) Successful in 13s
This commit is contained in:
69
content/posts/commits/2026-04-24-commit-e8778da.md
Normal file
69
content/posts/commits/2026-04-24-commit-e8778da.md
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
title: "[bojemoi] feat(orchestrator): xe-guest-utilities in cloud-init, IP detection, boot disk from VDI"
|
||||||
|
date: 2026-04-24T23:00:22+02:00
|
||||||
|
draft: false
|
||||||
|
tags: ["commit", "bojemoi", "main"]
|
||||||
|
categories: ["Git Activity"]
|
||||||
|
summary: "Commit e8778da par Betty dans bojemoi"
|
||||||
|
author: "Betty"
|
||||||
|
---
|
||||||
|
|
||||||
|
## Commit `e8778da`
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| **Repository** | bojemoi |
|
||||||
|
| **Branch** | `main` |
|
||||||
|
| **Author** | Betty |
|
||||||
|
| **Hash** | `e8778da95365c0e582aa011e7b12243abd6cf380` |
|
||||||
|
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
Problem: alpine-meta XenServer template has no disk (CD-only); VMs halted
|
||||||
|
immediately. IP was never detected because XenTools had nothing to run on.
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
- cloud-init alpine/minimal,webserver,database: add xe-guest-utilities to
|
||||||
|
packages, rc-update add + rc-service start in runcmd so XenStore gets
|
||||||
|
the guest IP after first boot
|
||||||
|
- xenserver_client_real.py create_vm: after VM.provision(), check if any
|
||||||
|
disk VBD exists. If not and boot_vdi_uuid is provided, copy the source
|
||||||
|
VDI into the same SR, resize to requested disk size, and attach as
|
||||||
|
primary bootable disk (userdevice=0, type=Disk, bootable=True).
|
||||||
|
Removed the old step-4 pre-provision resize loop (now handled post-provision).
|
||||||
|
- config.py: add ALPINE_BOOT_VDI_UUID (df288d22-..., "alpine root" VDI)
|
||||||
|
- main.py: pass boot_vdi_uuid=settings.ALPINE_BOOT_VDI_UUID for alpine
|
||||||
|
deploys; poll for guest IP after VM creation; register real IP in
|
||||||
|
host_debug (fallback to UUID if XenTools not ready within timeout)
|
||||||
|
- schemas.py: add ip_poll_timeout to VMDeployRequest (default 120s, 0=skip);
|
||||||
|
add ip_address to DeploymentResponse
|
||||||
|
|
||||||
|
Tested: test-alpine-01 deployed, IP=192.168.1.247, host_debug id=5.
|
||||||
|
|
||||||
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||||||
|
|
||||||
|
### Files Changed
|
||||||
|
|
||||||
|
```
|
||||||
|
M provisioning/cloud-init/alpine/database.yaml
|
||||||
|
M provisioning/cloud-init/alpine/minimal.yaml
|
||||||
|
M provisioning/cloud-init/alpine/webserver.yaml
|
||||||
|
M provisioning/orchestrator/app/config.py
|
||||||
|
M provisioning/orchestrator/app/main.py
|
||||||
|
M provisioning/orchestrator/app/models/schemas.py
|
||||||
|
M provisioning/orchestrator/app/services/xenserver_client_real.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### Diff Summary
|
||||||
|
|
||||||
|
```
|
||||||
|
provisioning/cloud-init/alpine/database.yaml | 4 ++
|
||||||
|
provisioning/cloud-init/alpine/minimal.yaml | 4 ++
|
||||||
|
provisioning/cloud-init/alpine/webserver.yaml | 4 ++
|
||||||
|
provisioning/orchestrator/app/config.py | 3 +
|
||||||
|
provisioning/orchestrator/app/main.py | 32 +++++++--
|
||||||
|
provisioning/orchestrator/app/models/schemas.py | 7 ++
|
||||||
|
.../app/services/xenserver_client_real.py | 75 ++++++++++++++++++----
|
||||||
|
7 files changed, 109 insertions(+), 20 deletions(-)
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user