|
| 1 | +# Configuration file for XCP-ng tests |
| 2 | +# To be customized for your environment |
| 3 | + |
| 4 | +# The following prefix will be added to the `name-label` parameter of XAPI objects |
| 5 | +# that the tests will create or import, such as VMs and SRs. |
| 6 | +# Default value: [your login/user] |
| 7 | +# Prefix for test-created objects in XAPI (empty = use username) |
| 8 | +objects_name_prefix = "" |
| 9 | + |
| 10 | +# This should be a working DNS server that's not used by any VM images. |
| 11 | +dns_server = "1.1.1.1" |
| 12 | + |
| 13 | +# Default size of VDIs created for storage tests. |
| 14 | +volume_size = "1 GiB" |
| 15 | + |
| 16 | +# Maximum amount of data written to a volume during storage tests. |
| 17 | +write_volume_cap = "2 GiB" |
| 18 | + |
| 19 | +# Block size to align span positions to when writing in volumes. |
| 20 | +write_volume_align = 1 |
| 21 | + |
| 22 | +[host] |
| 23 | +# Default user and password to connect to a host through XAPI |
| 24 | +# Note: this won't be used for SSH. |
| 25 | +# You need to have an SSH key into the hosts' /root/.ssh/authorized_keys. |
| 26 | +default_user = "root" |
| 27 | +default_password = "" |
| 28 | + |
| 29 | +[hosts] |
| 30 | +# Override settings for specific hosts |
| 31 | +# skip_xo_config allows to not touch XO's configuration regarding the host |
| 32 | +# Else the default behaviour is to add the host to XO servers at the beginning |
| 33 | +# of the testing session and remove it at the end. |
| 34 | +# "10.0.0.1" = { user = "root", password = "" } |
| 35 | +# "testhost1" = { user = "root", password = "", skip_xo_config = true } |
| 36 | + |
| 37 | +[network] |
| 38 | +# Network names and descriptions |
| 39 | +mgmt = "Pool-wide network associated with eth0" |
| 40 | + |
| 41 | +# List of NICs available on host for network tests. |
| 42 | +# example: free_nics = ["eth1", "eth2"] |
| 43 | +free_nics = [] |
| 44 | + |
| 45 | +[pxe] |
| 46 | +# PXE configuration server for automated XCP-ng installation |
| 47 | +config_server = "pxe" |
| 48 | +# Server on MGMT network, where ARP tables can reveal the MACs |
| 49 | +arp_server = "pxe" |
| 50 | + |
| 51 | +[vm] |
| 52 | +# Default VM images location |
| 53 | +# Values can be either full URLs or only partial URLs that will be automatically appended to def_url |
| 54 | +def_url = "http://pxe/images/" |
| 55 | + |
| 56 | +# Whether to cache VMs on the test host, that is import them only if not already |
| 57 | +# present in the target SR. This also causes the VM to be cloned at the beginning |
| 58 | +# of each test module, so that the original VM remains untouched. |
| 59 | +# /!\ The VM identifier in cache is simply the URL where it was imported from. |
| 60 | +# No checksum or date is checked. |
| 61 | +# A cached VM is just a VM which has a special description. |
| 62 | +# Example description: "[Cache for http://example.com/images/filename.xva]" |
| 63 | +# Delete the VM to remove it from cache. |
| 64 | +# This setting affects VMs managed by the `imported_vm` fixture. |
| 65 | +cache_imported = false |
| 66 | + |
| 67 | +# In some cases, we may prefer to favour a local SR to store test VM disks, |
| 68 | +# to avoid latency or unstabilities related to network or shared file servers. |
| 69 | +# However it's not good practice to make a local SR the default SR for a pool of several hosts. |
| 70 | +# Hence this configuration value that you can set to `local` so that our tests use this SR by default. |
| 71 | +# This setting affects VMs managed by the `imported_vm` fixture. |
| 72 | +# Possible values: |
| 73 | +# - 'default': keep using the pool's default SR |
| 74 | +# - 'local': use the first local SR found instead |
| 75 | +# - A UUID of the SR to be used |
| 76 | +default_sr = "default" |
| 77 | + |
| 78 | +[vm.images] |
| 79 | +# VM image definitions: name -> filename or URL |
| 80 | +# Values can be either full URLs or only partial URLs appended to vm.def_url |
| 81 | +"mini-linux-x86_64-bios" = "alpine-minimal-3.12.0.xva" |
| 82 | +"mini-linux-x86_64-uefi" = "alpine-uefi-minimal-3.12.0.xva" |
| 83 | + |
| 84 | +[vm.equivalents] |
| 85 | +# Image equivalences for caching/deduplication |
| 86 | +# Maps test image IDs to other IDs they can be substituted with |
| 87 | +# "test_id_1" = "test_id_2" |
| 88 | + |
| 89 | +[install] |
| 90 | +# Installation configuration |
| 91 | +# Path to the iso-remaster utility script |
| 92 | +# iso_remaster = "/home/user/src/xcpng/xcp/scripts/iso-remaster/iso-remaster.sh" |
| 93 | + |
| 94 | +[install.answerfiles] |
| 95 | +# Base answer files for installation |
| 96 | +# Password hash is computed from host.default_password at config load time |
| 97 | +# When used, <PASSWORD_HASH> placeholder will be replaced with the actual hash |
| 98 | +INSTALL = { TAG = "installation", CONTENTS = [ |
| 99 | + { TAG = "root-password", type = "hash", CONTENTS = "<PASSWORD_HASH>" }, |
| 100 | + { TAG = "timezone", CONTENTS = "Europe/Paris" }, |
| 101 | + { TAG = "keymap", CONTENTS = "us" } |
| 102 | +] } |
| 103 | +UPGRADE = { TAG = "installation", mode = "upgrade" } |
| 104 | +RESTORE = { TAG = "restore" } |
| 105 | + |
| 106 | +[install.isos] |
| 107 | +# Base URL for XCP-ng installer ISOs |
| 108 | +base_url = "https://updates.xcp-ng.org/isos/" |
| 109 | +# Local cache directory for downloaded ISOs |
| 110 | +cache_dir = "/home/user/iso" |
| 111 | + |
| 112 | +[install.isos.definitions] |
| 113 | +# XCP-ng installer ISO definitions |
| 114 | +# path can be: |
| 115 | +# - absolute filename |
| 116 | +# - absolute URL |
| 117 | +# - path relative to base_url |
| 118 | +# Note the dirname part is ignored when looking in cache_dir, abuse this |
| 119 | +# for local-only ISO with things like "locally-built/my.iso" or "xs/8.3.iso". |
| 120 | +# If 'net-only' is set to 'True' only source of type URL will be possible. |
| 121 | +# By default the parameter is set to False. |
| 122 | +"83nightly" = { path = "http://unconfigured.iso", unsigned = true } |
| 123 | +"830" = { path = "8.3/xcp-ng-8.3.0.iso" } |
| 124 | +"82nightly" = { path = "http://unconfigured.iso", unsigned = true } |
| 125 | +"821.1" = { path = "8.2/xcp-ng-8.2.1-20231130.iso" } |
| 126 | +"821" = { path = "8.2/xcp-ng-8.2.1.iso" } |
| 127 | +"820" = { path = "8.2/xcp-ng-8.2.0.iso" } |
| 128 | +"81" = { path = "8.1/xcp-ng-8.1.0-2.iso" } |
| 129 | +"80" = { path = "8.0/xcp-ng-8.0.0.iso" } |
| 130 | +"76" = { path = "7.6/xcp-ng-7.6.0.iso" } |
| 131 | +"75" = { path = "7.5/xcp-ng-7.5.0-2.iso" } |
| 132 | +"xs8" = { path = "XenServer8_2024-03-18.iso" } |
| 133 | +"ch821.1" = { path = "CitrixHypervisor-8.2.1-2306-install-cd.iso" } |
| 134 | +"ch821" = { path = "CitrixHypervisor-8.2.1-install-cd.iso" } |
| 135 | + |
| 136 | +[guest_tools] |
| 137 | +# Guest tools ISO download location |
| 138 | +download_url = "http://pxe/isos/" |
| 139 | + |
| 140 | +[guest_tools.win] |
| 141 | +# Definitions of Windows guest tool ISOs to be tested |
| 142 | + |
| 143 | +[guest_tools.win.stable] |
| 144 | +# ISO name on SR or subpath of download_url |
| 145 | +name = "guest-tools-win.iso" |
| 146 | +# Whether ISO should be downloaded from download_url |
| 147 | +download = true |
| 148 | +# ISO-relative path of MSI file to be installed |
| 149 | +package = "package\\XenDrivers-x64.msi" |
| 150 | +# ISO-relative path of XenClean script |
| 151 | +xenclean_path = "package\\XenClean\\x64\\Invoke-XenClean.ps1" |
| 152 | +# ISO-relative path of root cert file to be installed before guest tools (optional) |
| 153 | +testsign_cert = "testsign\\XCP-ng_Test_Signer.crt" |
| 154 | +# What's the onboard family of our tools? This is equal to the WinPV VENDOR_NAME value |
| 155 | +onboard_family = "XCP-ng" |
| 156 | + |
| 157 | +[guest_tools.other] |
| 158 | +# Definition of ISO containing other guest tools to be tested |
| 159 | +# ISO name on SR or subpath of download_url |
| 160 | +name = "other-guest-tools-win.iso" |
| 161 | +# Whether ISO should be downloaded from download_url |
| 162 | +download = false |
| 163 | + |
| 164 | +[guest_tools.installed] |
| 165 | +# Definitions of other guest tools contained in guest_tools.other ISO |
| 166 | + |
| 167 | +[guest_tools.installed."xcp-ng-9.0.9000"] |
| 168 | +# Whether we are installing MSI files ("msi"), bare .inf drivers ("inf") |
| 169 | +# or nothing in case of Windows Update (absent or null) |
| 170 | +type = "msi" |
| 171 | +# ISO-relative path of this guest tool |
| 172 | +path = "xcp-ng-9.0.9000" |
| 173 | +# "path"-relative path of MSI or driver files to be installed |
| 174 | +package = "package\\XenDrivers-x64.msi" |
| 175 | +# Relative path of root cert file (optional) |
| 176 | +testsign_cert = "testsign\\XCP-ng_Test_Signer.crt" |
| 177 | +# Whether this guest tool version wants vendor device to be activated (optional, defaults to False) |
| 178 | +# Note: other guest tools may not install correctly with this setting enabled |
| 179 | +vendor_device = false |
| 180 | +# Can we upgrade automatically from this guest tool to our tools? |
| 181 | +upgradable = true |
| 182 | +# What is the expected onboarding phase after running XenClean when this tool is installed? (optional) |
| 183 | +# See test_xenclean.py ONBOARDING_PHASES for details |
| 184 | +onboarding_phase = "see test_xenclean.py ONBOARDING_PHASES" |
| 185 | + |
| 186 | +[guest_tools.installed.vendor] |
| 187 | +# Vendor device-specific guest tools |
| 188 | +vendor_device = true |
| 189 | +upgradable = false |
| 190 | + |
| 191 | +[ssh] |
| 192 | +# Public keys for a private key available to the test runner |
| 193 | +pubkey = """ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMnN/wVdQqHA8KsndfrLS7fktH/IEgxoa533efuXR6rw XCP-ng CI |
| 194 | +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKz9uQOoxq6Q0SQ0XTzQHhDolvuo/7EyrDZsYQbRELhcPJG8MT/o5u3HyJFhIP2+HqBSXXgmqRPJUkwz9wUwb2sUwf44qZm/pyPUWOoxyVtrDXzokU/uiaNKUMhbnfaXMz6Ogovtjua63qld2+ZRXnIgrVtYKtYBeu/qKGVSnf4FTOUKl1w3uKkr59IUwwAO8ay3wVnxXIHI/iJgq6JBgQNHbn3C/SpYU++nqL9G7dMyqGD36QPFuqH/cayL8TjNZ67TgAzsPX8OvmRSqjrv3KFbeSlpS/R4enHkSemhgfc8Z2f49tE7qxWZ6x4Uyp5E6ur37FsRf/tEtKIUJGMRXN XCP-ng CI""" |
| 195 | +# Maximum number of SSH output lines to log before truncating |
| 196 | +output_max_lines = 20 |
| 197 | +# If true, strips SSH banners from output |
| 198 | +ignore_banner = false |
| 199 | + |
| 200 | +[storage] |
| 201 | +# Storage device configurations (all optional, leave empty if not used) |
| 202 | + |
| 203 | +[storage.nfs] |
| 204 | +# Default NFS device config: |
| 205 | +# URL/Hostname of NFS server |
| 206 | +# server = "10.0.0.2" |
| 207 | +# Path to shared mountpoint |
| 208 | +# serverpath = "/path/to/shared/mount" |
| 209 | + |
| 210 | +[storage.nfs4] |
| 211 | +# Default NFS4+ only device config: |
| 212 | +# URL/Hostname of NFS server |
| 213 | +# server = "10.0.0.2" |
| 214 | +# Path to shared mountpoint |
| 215 | +# serverpath = "/path_to_shared_mount" |
| 216 | +# nfsversion = "4.1" |
| 217 | + |
| 218 | +[storage.nfs_iso] |
| 219 | +# Default NFS ISO device config: |
| 220 | +# URL/Hostname of NFS server and path to shared mountpoint |
| 221 | +# location = "10.0.0.2:/path/to/shared/mount" |
| 222 | + |
| 223 | +[storage.cifs_iso] |
| 224 | +# Default CIFS ISO device config: |
| 225 | +# location = r"\\10.0.0.2\<shared folder name>" |
| 226 | +# username = "<user>" |
| 227 | +# cifspassword = "<password>" |
| 228 | +# type = "cifs" |
| 229 | +# vers = "<1.0> or <3.0>" |
| 230 | + |
| 231 | +[storage.cephfs] |
| 232 | +# CephFS storage configuration |
| 233 | +# server = "10.0.0.2" |
| 234 | +# serverpath = "/vms" |
| 235 | + |
| 236 | +[storage.moosefs] |
| 237 | +# MooseFS storage configuration |
| 238 | +# masterhost = "mfsmaster" |
| 239 | +# masterport = "9421" |
| 240 | +# rootpath = "/vms" |
| 241 | + |
| 242 | +[storage.lvmohba] |
| 243 | +# LVM over HBA storage configuration |
| 244 | +# SCSIid = "id" |
| 245 | + |
| 246 | +[storage.lvmoiscsi] |
| 247 | +# LVM over iSCSI storage configuration |
| 248 | +# target = "192.168.1.1" |
| 249 | +# port = "3260" |
| 250 | +# targetIQN = "target.example" |
| 251 | +# SCSIid = "id" |
| 252 | + |
| 253 | +[storage.linstor] |
| 254 | +# LINSTOR storage configuration |
| 255 | +redundancy = 2 |
0 commit comments