From 78a42f3612545937618d2ad2463f59dff4b7279f Mon Sep 17 00:00:00 2001 From: Baptiste Foy Date: Mon, 7 Oct 2024 11:55:52 +0200 Subject: [PATCH] add fedora VMs --- Pulumi.baptiste-foy-aws-vm.yaml | 1 + Pulumi.baptiste-foy-installer-lab.yaml | 1 + Pulumi.system-tests_onboarding.yaml | 1 + Pulumi.testing_v3.yaml | 1 + utils/_context/_scenarios/auto_injection.py | 78 ++++++++++++------- utils/_context/virtual_machines.py | 60 ++++++++++++++ .../auto-inject_init_vm_config.yml | 16 ++++ utils/virtual_machine/aws_provider.py | 2 +- 8 files changed, 130 insertions(+), 30 deletions(-) create mode 100644 Pulumi.baptiste-foy-aws-vm.yaml create mode 100644 Pulumi.baptiste-foy-installer-lab.yaml create mode 100644 Pulumi.system-tests_onboarding.yaml create mode 100644 Pulumi.testing_v3.yaml diff --git a/Pulumi.baptiste-foy-aws-vm.yaml b/Pulumi.baptiste-foy-aws-vm.yaml new file mode 100644 index 0000000000..e6227b874e --- /dev/null +++ b/Pulumi.baptiste-foy-aws-vm.yaml @@ -0,0 +1 @@ +encryptionsalt: v1:C+GkIq4Rj8s=:v1:OyiH00vbYt4ImDbX:Y7m9xV4ZV/db/nWlB977JELA7VNhiQ== diff --git a/Pulumi.baptiste-foy-installer-lab.yaml b/Pulumi.baptiste-foy-installer-lab.yaml new file mode 100644 index 0000000000..2c20ef8a58 --- /dev/null +++ b/Pulumi.baptiste-foy-installer-lab.yaml @@ -0,0 +1 @@ +encryptionsalt: v1:LGV69+pVwqQ=:v1:yTZ6/Ogy0513nVO5:7dJvlnSGXEvmMdhCBsNL/G/bF8z0lQ== diff --git a/Pulumi.system-tests_onboarding.yaml b/Pulumi.system-tests_onboarding.yaml new file mode 100644 index 0000000000..6d49658a82 --- /dev/null +++ b/Pulumi.system-tests_onboarding.yaml @@ -0,0 +1 @@ +encryptionsalt: v1:C3B4130+1DY=:v1:kyoXQwBjaMynt2jw:7xdgjhGWaCmJblRYJ1p8w6PPqDC2nQ== diff --git a/Pulumi.testing_v3.yaml b/Pulumi.testing_v3.yaml new file mode 100644 index 0000000000..13037c4354 --- /dev/null +++ b/Pulumi.testing_v3.yaml @@ -0,0 +1 @@ +encryptionsalt: v1:DCTAwH+IE6U=:v1:m6X+m3w5JBGE4GOA:ATWKy+/7exwTTOu39wGB8EPsA56BmQ== diff --git a/utils/_context/_scenarios/auto_injection.py b/utils/_context/_scenarios/auto_injection.py index f80cf516e4..12cd4a4ffc 100644 --- a/utils/_context/_scenarios/auto_injection.py +++ b/utils/_context/_scenarios/auto_injection.py @@ -34,6 +34,10 @@ AlmaLinux8arm64, AlmaLinux9amd64, AlmaLinux9arm64, + Fedora36amd64, + Fedora36arm64, + Fedora37amd64, + Fedora37arm64, ) from .core import Scenario @@ -77,6 +81,10 @@ def __init__( include_almalinux_8_arm64=False, include_almalinux_9_amd64=False, include_almalinux_9_arm64=False, + include_fedora_36_amd64=False, + include_fedora_36_arm64=False, + include_fedora_37_amd64=False, + include_fedora_37_arm64=False, agent_env=None, app_env=None, scenario_groups=None, @@ -152,6 +160,14 @@ def __init__( self.required_vms.append(AlmaLinux9amd64()) if include_almalinux_9_arm64: self.required_vms.append(AlmaLinux9arm64()) + if include_fedora_36_amd64: + self.required_vms.append(Fedora36amd64()) + if include_fedora_36_arm64: + self.required_vms.append(Fedora36arm64()) + if include_fedora_37_amd64: + self.required_vms.append(Fedora37amd64()) + if include_fedora_37_arm64: + self.required_vms.append(Fedora37arm64()) def print_installed_components(self): logger.terminal.write_sep("=", "Installed components", bold=True) @@ -297,34 +313,38 @@ def __init__( app_env=app_env, doc=doc, github_workflow=github_workflow, - include_ubuntu_20_amd64=True, - include_ubuntu_20_arm64=True, - include_ubuntu_21_arm64=True, - include_ubuntu_22_amd64=True, - include_ubuntu_22_arm64=True, - include_ubuntu_23_04_amd64=True, - include_ubuntu_23_04_arm64=True, - include_ubuntu_23_10_amd64=True, - include_ubuntu_23_10_arm64=True, - include_ubuntu_24_amd64=True, - include_ubuntu_24_arm64=True, - include_ubuntu_18_amd64=True, - include_amazon_linux_2_amd64=True, - include_amazon_linux_2_arm64=True, - include_amazon_linux_2_dotnet_6=True, - include_amazon_linux_2023_amd64=True, - include_amazon_linux_2023_arm64=True, - include_centos_7_amd64=True, - include_oraclelinux_9_2_amd64=True, - include_oraclelinux_9_2_arm64=True, - include_oraclelinux_8_8_amd64=True, - include_oraclelinux_8_8_arm64=True, - include_oraclelinux_7_9_amd64=True, - include_debian_12_amd64=True, - include_debian_12_arm64=True, - include_almalinux_8_amd64=True, - include_almalinux_8_arm64=True, - include_almalinux_9_amd64=True, - include_almalinux_9_arm64=True, + include_ubuntu_20_amd64=False, + include_ubuntu_20_arm64=False, + include_ubuntu_21_arm64=False, + include_ubuntu_22_amd64=False, + include_ubuntu_22_arm64=False, + include_ubuntu_23_04_amd64=False, + include_ubuntu_23_04_arm64=False, + include_ubuntu_23_10_amd64=False, + include_ubuntu_23_10_arm64=False, + include_ubuntu_24_amd64=False, + include_ubuntu_24_arm64=False, + include_ubuntu_18_amd64=False, + include_amazon_linux_2_amd64=False, + include_amazon_linux_2_arm64=False, + include_amazon_linux_2_dotnet_6=False, + include_amazon_linux_2023_amd64=False, + include_amazon_linux_2023_arm64=False, + include_centos_7_amd64=False, + include_oraclelinux_9_2_amd64=False, + include_oraclelinux_9_2_arm64=False, + include_oraclelinux_8_8_amd64=False, + include_oraclelinux_8_8_arm64=False, + include_oraclelinux_7_9_amd64=False, + include_debian_12_amd64=False, + include_debian_12_arm64=False, + include_almalinux_8_amd64=False, + include_almalinux_8_arm64=False, + include_almalinux_9_amd64=False, + include_almalinux_9_arm64=False, + include_fedora_36_amd64=True, + include_fedora_36_arm64=True, + include_fedora_37_amd64=True, + include_fedora_37_arm64=True, scenario_groups=scenario_groups, ) diff --git a/utils/_context/virtual_machines.py b/utils/_context/virtual_machines.py index deac7c439a..df6634bbeb 100644 --- a/utils/_context/virtual_machines.py +++ b/utils/_context/virtual_machines.py @@ -689,3 +689,63 @@ def __init__(self, **kwargs) -> None: default_vm=False, **kwargs, ) + +class Fedora36amd64(_VirtualMachine): + def __init__(self, **kwargs) -> None: + super().__init__( + "Fedora_36_amd64", + aws_config=_AWSConfig(ami_id="ami-05e7ccec1e0408397", ami_instance_type="t2.medium", user="fedora"), + vagrant_config=None, + krunvm_config=None, + os_type="linux", + os_distro="rpm", + os_branch="fedora", + os_cpu="amd64", + default_vm=False, + **kwargs, + ) + +class Fedora36arm64(_VirtualMachine): + def __init__(self, **kwargs) -> None: + super().__init__( + "Fedora_36_arm64", + aws_config=_AWSConfig(ami_id="ami-0487fbde1f898f0f1", ami_instance_type="t4g.medium", user="fedora"), + vagrant_config=None, + krunvm_config=None, + os_type="linux", + os_distro="rpm", + os_branch="fedora", + os_cpu="arm64", + default_vm=False, + **kwargs, + ) + +class Fedora37amd64(_VirtualMachine): + def __init__(self, **kwargs) -> None: + super().__init__( + "Fedora_37_amd64", + aws_config=_AWSConfig(ami_id="ami-032e9a5778bde5a1a", ami_instance_type="t2.medium", user="fedora"), + vagrant_config=None, + krunvm_config=None, + os_type="linux", + os_distro="rpm", + os_branch="fedora", + os_cpu="amd64", + default_vm=False, + **kwargs, + ) + +class Fedora37arm64(_VirtualMachine): + def __init__(self, **kwargs) -> None: + super().__init__( + "Fedora_37_arm64", + aws_config=_AWSConfig(ami_id="ami-08ec1e90576b74511", ami_instance_type="t4g.medium", user="fedora"), + vagrant_config=None, + krunvm_config=None, + os_type="linux", + os_distro="rpm", + os_branch="fedora", + os_cpu="arm64", + default_vm=False, + **kwargs, + ) diff --git a/utils/build/virtual_machine/provisions/auto-inject/auto-inject_init_vm_config.yml b/utils/build/virtual_machine/provisions/auto-inject/auto-inject_init_vm_config.yml index 33635f756c..62d4f7e245 100644 --- a/utils/build/virtual_machine/provisions/auto-inject/auto-inject_init_vm_config.yml +++ b/utils/build/virtual_machine/provisions/auto-inject/auto-inject_init_vm_config.yml @@ -104,6 +104,22 @@ echo "Firewall disabled" exit 0 fi +- os_type: linux + os_branch: fedora + os_distro: rpm + remote-command: | + # Disable SELinux as it isn't supported by the injector today + sudo setenforce 0 + sudo sed -i 's/enforcing/disabled/g' /etc/selinux/config + # Allow DD env variables from ssh + echo 'AcceptEnv DD_*' | sudo tee -a /etc/ssh/sshd_config + sudo id -u datadog &>/dev/null || sudo useradd -m datadog + sudo yum clean expire-cache + #sudo yum -y update + sudo systemctl restart sshd.service + #Install git and clone system tests repository + sudo yum -y install git wget which + git clone https://github.com/DataDog/system-tests.git - os_type: linux os_distro: rpm remote-command: | diff --git a/utils/virtual_machine/aws_provider.py b/utils/virtual_machine/aws_provider.py index 6ebdc060b4..6ed5440f51 100644 --- a/utils/virtual_machine/aws_provider.py +++ b/utils/virtual_machine/aws_provider.py @@ -75,7 +75,7 @@ def pulumi_start_program(): def _start_vm(self, vm): # Check for cached ami, before starting a new one should_skip_ami_cache = os.getenv("SKIP_AMI_CACHE", "False").lower() == "true" - ami_id = self._get_cached_ami(vm) if not should_skip_ami_cache else None + ami_id = None # self._get_cached_ami(vm) if not should_skip_ami_cache else None logger.info(f"Cache AMI: {vm.get_cache_name()}") # Startup VM and prepare connection ec2_server = aws.ec2.Instance(