copr: preparations for the first ppc64le vmhost
This commit is contained in:
parent
73ee026af6
commit
63b2de25cb
6 changed files with 77 additions and 14 deletions
|
@ -46,4 +46,7 @@ builders:
|
|||
#x86_hypervisor_04:
|
||||
# x86_64: [20, 4, 20]
|
||||
|
||||
#ppc64le_hypervisor_01:
|
||||
# ppc64le: [2, 1, 1]
|
||||
|
||||
rpm_vendor_copr_name: Fedora Copr
|
||||
|
|
|
@ -18,6 +18,7 @@ copr_builder_images:
|
|||
aarch64: copr-builder-aarch64-f32-20200914_073754
|
||||
hypervisor:
|
||||
x86_64: copr-builder-20210511_210127
|
||||
ppc64le: copr-builder-XXX
|
||||
aws:
|
||||
x86_64: ami-05766cb7551777d09 # copr-builder-x86_64-f34-20210516_142224
|
||||
aarch64: ami-0b7d49fecf0c393a9 # copr-builder-aarch64-f34-20210516_143216
|
||||
|
|
|
@ -18,6 +18,7 @@ copr_builder_images:
|
|||
aarch64: copr-builder-aarch64-f32-20200914_073754
|
||||
hypervisor:
|
||||
x86_64: copr-builder-20210511_210127
|
||||
ppc64le: copr-builder-XXX
|
||||
aws:
|
||||
x86_64: ami-05766cb7551777d09 # copr-builder-x86_64-f34-20210516_142224
|
||||
aarch64: ami-0b7d49fecf0c393a9 # copr-builder-aarch64-f34-20210516_143216
|
||||
|
|
|
@ -48,4 +48,7 @@ builders:
|
|||
#x86_hypervisor_04:
|
||||
# x86_64: [2, 1, 1]
|
||||
|
||||
#ppc64le_hypervisor_01:
|
||||
# ppc64le: [2, 1, 1]
|
||||
|
||||
rpm_vendor_copr_name: Fedora Copr (devel)
|
||||
|
|
|
@ -20,18 +20,47 @@ import argparse
|
|||
DEFAULT_POOL = 'images'
|
||||
VOLUMES = {
|
||||
'x86_64': '{{ copr_builder_images.hypervisor.x86_64 }}',
|
||||
'ppc64le': '{{ copr_builder_images.hypervisor.ppc64le }}',
|
||||
}
|
||||
|
||||
|
||||
def get_hv_id_from_pool_id(pool_id):
|
||||
def get_hv_identification_from_pool_id(pool_id):
|
||||
""" Get unique ID of the hypervisor """
|
||||
pfx = "copr_hv_x86_64_"
|
||||
if pool_id.startswith(pfx):
|
||||
pool_id = pool_id.replace(pfx, "")
|
||||
pool_id = pool_id.replace("_dev", "")
|
||||
pool_id = pool_id.replace("_prod", "")
|
||||
pool_id = pool_id.replace("_stg", "")
|
||||
return pool_id
|
||||
if pool_id.startswith("copr_hv_x86_64_01"):
|
||||
return (
|
||||
0,
|
||||
"qemu+ssh://copr@vmhost-x86-copr01"
|
||||
".rdu-cc.fedoraproject.org/system",
|
||||
"x86_64",
|
||||
)
|
||||
if pool_id.startswith("copr_hv_x86_64_02"):
|
||||
return (
|
||||
1,
|
||||
"qemu+ssh://copr@vmhost-x86-copr02"
|
||||
".rdu-cc.fedoraproject.org/system",
|
||||
"x86_64",
|
||||
)
|
||||
if pool_id.startswith("copr_hv_x86_64_03"):
|
||||
return (
|
||||
2,
|
||||
"qemu+ssh://copr@vmhost-x86-copr03"
|
||||
".rdu-cc.fedoraproject.org/system",
|
||||
"x86_64",
|
||||
)
|
||||
if pool_id.startswith("copr_hv_x86_64_04"):
|
||||
return (
|
||||
3,
|
||||
"qemu+ssh://copr@vmhost-x86-copr04"
|
||||
".rdu-cc.fedoraproject.org/system",
|
||||
"x86_64",
|
||||
)
|
||||
if pool_id.startswith("copr_hv_ppc64le_01"):
|
||||
return (
|
||||
4,
|
||||
"qemu+ssh://copr@vmhost-p08-copr01"
|
||||
".rdu-cc.fedoraproject.org/system",
|
||||
"ppc64le",
|
||||
)
|
||||
raise Exception("can't convert pool_id to hv ID")
|
||||
|
||||
|
||||
|
@ -54,11 +83,9 @@ class LibvirtSpawner:
|
|||
playbook = "{{ provision_directory }}/libvirt-provision.yml"
|
||||
|
||||
def __init__(self, resalloc_pool_id, log):
|
||||
hv_id = get_hv_id_from_pool_id(resalloc_pool_id)
|
||||
self.connection = (
|
||||
f"qemu+ssh://copr@vmhost-x86-copr{hv_id}"
|
||||
".rdu-cc.fedoraproject.org/system")
|
||||
self.arch = "x86_64"
|
||||
_, self.connection, self.arch = get_hv_identification_from_pool_id(
|
||||
resalloc_pool_id)
|
||||
|
||||
self.workdir = tempfile.mkdtemp()
|
||||
self.script_path = os.path.dirname(os.path.realpath(__file__))
|
||||
self.log = log
|
||||
|
@ -358,7 +385,7 @@ def get_fedora_ipv6_address(pool_id, id_in_pool, dev=False):
|
|||
|
||||
offset = 0
|
||||
# 01 => 0, 02 => 1, ...
|
||||
hv_id = int(get_hv_id_from_pool_id(pool_id)) - 1
|
||||
hv_id, _, _ = get_hv_identification_from_pool_id(pool_id)
|
||||
# we have block of 256 ipv6 addresses for builder, and 4 hypervisors
|
||||
block = int(256 / 4)
|
||||
# give 48 IPs to each hv (32 prod, some dev), currently 4*48=192 ips
|
||||
|
|
|
@ -87,6 +87,34 @@ copr_hv_x86_64_{{ hv }}_{% if devel %}dev{% else %}prod{% endif %}:
|
|||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
# x86_64 hypervisors
|
||||
{% for hv in ["01"] %}
|
||||
{% if "ppc64le_hypervisor_" + hv in builders %}
|
||||
|
||||
copr_hv_ppc64le_{{ hv }}_{% if devel %}dev{% else %}prod{% endif %}:
|
||||
max: {{ builders["ppc64le_hypervisor_" + hv]["ppc64le"][0] }}
|
||||
max_starting: {{ builders["ppc64le_hypervisor_" + hv]["ppc64le"][1] }}
|
||||
max_prealloc: {{ builders["ppc64le_hypervisor_" + hv]["ppc64le"][2] }}
|
||||
tags:
|
||||
- copr_builder
|
||||
- arch_ppc64le
|
||||
- arch_ppc64le_native
|
||||
- hypervisor
|
||||
- hypervisor_ppc64le
|
||||
- hypervisor_ppc64le_{{ hv }}
|
||||
cmd_new: "/var/lib/resallocserver/provision/libvirt-new --swap-vol-size 168"
|
||||
cmd_delete: "/var/lib/resallocserver/provision/libvirt-new --swap-vol-size 168"
|
||||
cmd_delete: "/var/lib/resallocserver/provision/libvirt-delete"
|
||||
cmd_livecheck: "/var/lib/resallocserver/resalloc_provision/vm-check"
|
||||
cmd_release: "/var/lib/resallocserver/resalloc_provision/vm-release"
|
||||
livecheck_period: 180
|
||||
reuse_opportunity_time: 180
|
||||
reuse_max_count: 8
|
||||
reuse_max_time: 1800
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% macro hw_aarch64(id, inst, max, max_starting, max_prealloc) %}
|
||||
aarch64_{{ id }}_{{ inst }}:
|
||||
max: 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue