From 42b5667dc65869397a52f1f775c1f0746b648b2e Mon Sep 17 00:00:00 2001 From: Baptiste Foy Date: Mon, 7 Oct 2024 11:55:52 +0200 Subject: [PATCH 1/3] 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 ++++ .../Dockerfile.libgcc.template | 4 +- .../Dockerfile.template | 4 +- .../Dockerfile.template | 2 +- 10 files changed, 134 insertions(+), 34 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/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template b/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template index a363a4f576..569d71c28f 100644 --- a/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template +++ b/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template @@ -1,4 +1,4 @@ -FROM public.ecr.aws/docker/library/python:3-alpine +FROM public.ecr.aws/docker/library/python:3.12-alpine # Install python/pip ENV PYTHONUNBUFFERED=1 RUN apk add libgcc @@ -9,4 +9,4 @@ WORKDIR /src ADD . /src RUN pip3 install django EXPOSE 18080 -CMD python3 -m django runserver 0.0.0.0:18080 \ No newline at end of file +CMD python3 -m django runserver 0.0.0.0:18080 diff --git a/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.template b/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.template index fe7520d6df..497d83c512 100644 --- a/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.template +++ b/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.template @@ -1,4 +1,4 @@ -FROM public.ecr.aws/docker/library/python:3-alpine +FROM public.ecr.aws/docker/library/python:3.12-alpine # Install python/pip ENV PYTHONUNBUFFERED=1 @@ -9,4 +9,4 @@ WORKDIR /src ADD . /src RUN pip3 install django EXPOSE 18080 -CMD python3 -m django runserver 0.0.0.0:18080 \ No newline at end of file +CMD python3 -m django runserver 0.0.0.0:18080 diff --git a/utils/build/virtual_machine/weblogs/python/test-app-python-container/Dockerfile.template b/utils/build/virtual_machine/weblogs/python/test-app-python-container/Dockerfile.template index a432bf6441..e53d686eab 100644 --- a/utils/build/virtual_machine/weblogs/python/test-app-python-container/Dockerfile.template +++ b/utils/build/virtual_machine/weblogs/python/test-app-python-container/Dockerfile.template @@ -1,4 +1,4 @@ -FROM public.ecr.aws/docker/library/python:3 +FROM public.ecr.aws/docker/library/python:3.12 ENV PYTHONUNBUFFERED 1 ENV DJANGO_SETTINGS_MODULE django_app From 3f9a100559f3f1ddc9387e6fa57273e65ab2c642 Mon Sep 17 00:00:00 2001 From: Baptiste Foy Date: Tue, 8 Oct 2024 14:46:13 +0200 Subject: [PATCH 2/3] disable ruby --- utils/_context/_scenarios/auto_injection.py | 62 +++++++++---------- .../provision_test-app-ruby-container.yml | 2 +- .../weblogs/ruby/provision_test-app-ruby.yml | 4 +- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/utils/_context/_scenarios/auto_injection.py b/utils/_context/_scenarios/auto_injection.py index d5add27424..e04ca479a3 100644 --- a/utils/_context/_scenarios/auto_injection.py +++ b/utils/_context/_scenarios/auto_injection.py @@ -321,37 +321,37 @@ def __init__( app_env=app_env, doc=doc, github_workflow=github_workflow, - 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_redhat_8_amd64=False, - include_redhat_8_arm64=False, + 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_redhat_8_amd64=True, + include_redhat_8_arm64=True, include_fedora_36_amd64=True, include_fedora_36_arm64=True, include_fedora_37_amd64=True, diff --git a/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby-container.yml b/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby-container.yml index e1192096df..15c36f4fac 100644 --- a/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby-container.yml +++ b/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby-container.yml @@ -1,6 +1,6 @@ weblog: name: test-app-ruby-container - excluded_os_branches: [amazon_linux2_dotnet6, amazon_linux2, ubuntu21] + excluded_os_branches: [amazon_linux2_dotnet6, amazon_linux2, ubuntu21, fedora] install: - os_type: linux diff --git a/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby.yml b/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby.yml index 38496e9310..e4ce9b7415 100644 --- a/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby.yml +++ b/utils/build/virtual_machine/weblogs/ruby/provision_test-app-ruby.yml @@ -25,9 +25,9 @@ lang_variant: weblog: name: test-app-ruby - # centos_7_amd64 & redhat_8_6 are excluded because they do not provide the right Ruby versions + # centos_7_amd64, redhat_8_6, & fedora are excluded because they do not provide the right Ruby versions # TODO oracle_linux and alma_linux. Failed when we run the app. Related with how we install Ruby - excluded_os_branches: [amazon_linux2_dotnet6, ubuntu18_amd64, amazon_linux2, centos_7_amd64, oracle_linux, alma_linux, ubuntu24, ubuntu20, ubuntu21, ubuntu23, redhat_8_6] + excluded_os_branches: [amazon_linux2_dotnet6, ubuntu18_amd64, amazon_linux2, centos_7_amd64, oracle_linux, alma_linux, ubuntu24, ubuntu20, ubuntu21, ubuntu23, redhat_8_6, fedora] install: - os_type: linux From 18b7a16a71a2b7aedd87059489125e201febe809 Mon Sep 17 00:00:00 2001 From: Baptiste Foy Date: Tue, 8 Oct 2024 15:24:50 +0200 Subject: [PATCH 3/3] format --- 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/virtual_machines.py | 4 ++++ .../Dockerfile.libgcc.template | 12 ------------ 6 files changed, 4 insertions(+), 16 deletions(-) delete mode 100644 Pulumi.baptiste-foy-aws-vm.yaml delete mode 100644 Pulumi.baptiste-foy-installer-lab.yaml delete mode 100644 Pulumi.system-tests_onboarding.yaml delete mode 100644 Pulumi.testing_v3.yaml delete mode 100644 utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template diff --git a/Pulumi.baptiste-foy-aws-vm.yaml b/Pulumi.baptiste-foy-aws-vm.yaml deleted file mode 100644 index e6227b874e..0000000000 --- a/Pulumi.baptiste-foy-aws-vm.yaml +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 2c20ef8a58..0000000000 --- a/Pulumi.baptiste-foy-installer-lab.yaml +++ /dev/null @@ -1 +0,0 @@ -encryptionsalt: v1:LGV69+pVwqQ=:v1:yTZ6/Ogy0513nVO5:7dJvlnSGXEvmMdhCBsNL/G/bF8z0lQ== diff --git a/Pulumi.system-tests_onboarding.yaml b/Pulumi.system-tests_onboarding.yaml deleted file mode 100644 index 6d49658a82..0000000000 --- a/Pulumi.system-tests_onboarding.yaml +++ /dev/null @@ -1 +0,0 @@ -encryptionsalt: v1:C3B4130+1DY=:v1:kyoXQwBjaMynt2jw:7xdgjhGWaCmJblRYJ1p8w6PPqDC2nQ== diff --git a/Pulumi.testing_v3.yaml b/Pulumi.testing_v3.yaml deleted file mode 100644 index 13037c4354..0000000000 --- a/Pulumi.testing_v3.yaml +++ /dev/null @@ -1 +0,0 @@ -encryptionsalt: v1:DCTAwH+IE6U=:v1:m6X+m3w5JBGE4GOA:ATWKy+/7exwTTOu39wGB8EPsA56BmQ== diff --git a/utils/_context/virtual_machines.py b/utils/_context/virtual_machines.py index 8791b5af2d..2e4ebbb0fc 100644 --- a/utils/_context/virtual_machines.py +++ b/utils/_context/virtual_machines.py @@ -722,6 +722,7 @@ def __init__(self, **kwargs) -> None: **kwargs, ) + class Fedora36amd64(_VirtualMachine): def __init__(self, **kwargs) -> None: super().__init__( @@ -737,6 +738,7 @@ def __init__(self, **kwargs) -> None: **kwargs, ) + class Fedora36arm64(_VirtualMachine): def __init__(self, **kwargs) -> None: super().__init__( @@ -752,6 +754,7 @@ def __init__(self, **kwargs) -> None: **kwargs, ) + class Fedora37amd64(_VirtualMachine): def __init__(self, **kwargs) -> None: super().__init__( @@ -767,6 +770,7 @@ def __init__(self, **kwargs) -> None: **kwargs, ) + class Fedora37arm64(_VirtualMachine): def __init__(self, **kwargs) -> None: super().__init__( diff --git a/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template b/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template deleted file mode 100644 index 569d71c28f..0000000000 --- a/utils/build/virtual_machine/weblogs/python/test-app-python-alpine/Dockerfile.libgcc.template +++ /dev/null @@ -1,12 +0,0 @@ -FROM public.ecr.aws/docker/library/python:3.12-alpine -# Install python/pip -ENV PYTHONUNBUFFERED=1 -RUN apk add libgcc -RUN pip3 install --no-cache --upgrade pip setuptools - -ENV DJANGO_SETTINGS_MODULE django_app -WORKDIR /src -ADD . /src -RUN pip3 install django -EXPOSE 18080 -CMD python3 -m django runserver 0.0.0.0:18080