Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fedora installer tests #3077

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
46 changes: 34 additions & 12 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@ include:
- remote: https://gitlab-templates.ddbuild.io/libdatadog/include/single-step-instrumentation-tests.yml

stages:
- ruby_tracer
- nodejs_tracer
- java_tracer
- python_tracer
- dotnet_tracer
- php_tracer
- fedora_tracer
# - ruby_tracer
# - nodejs_tracer
# - java_tracer
# - python_tracer
# - dotnet_tracer
# - php_tracer
- parse_results
- before_tests

Expand All @@ -32,7 +33,28 @@ variables:
KUBERNETES_CPU_REQUEST: "6"
KUBERNETES_CPU_LIMIT: "6"

onboarding_nodejs:
onboarding_fedora_host:
extends: .base_job_onboarding_system_tests
stage: fedora_tracer
allow_failure: true
dependencies: []
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
when: always
- when: manual
variables:
SCENARIO: "SIMPLE_INSTALLER_AUTO_INJECTION"
AMI_UPDATE: "true"
parallel:
matrix:
- ONBOARDING_FILTER_ENV: [dev, prod]
TEST_LIBRARY: [nodejs, python, java, ruby, dotnet, php]

script:
- ./build.sh -i runner
- timeout 2700s ./run.sh $SCENARIO --vm-weblog test-app-${TEST_LIBRARY} --vm-env ${ONBOARDING_FILTER_ENV} --vm-library ${TEST_LIBRARY} --vm-provider aws --vm-default-vms False

.onboarding_nodejs:
extends: .base_job_onboarding_system_tests
stage: nodejs_tracer
allow_failure: true
Expand Down Expand Up @@ -70,7 +92,7 @@ onboarding_nodejs:
- ./build.sh -i runner
- timeout 2700s ./run.sh $SCENARIO --vm-weblog ${ONBOARDING_FILTER_WEBLOG} --vm-env ${ONBOARDING_FILTER_ENV} --vm-library ${TEST_LIBRARY} --vm-provider aws

onboarding_java:
.onboarding_java:
extends: .base_job_onboarding_system_tests
stage: java_tracer
allow_failure: true
Expand Down Expand Up @@ -114,7 +136,7 @@ onboarding_java:
- ./build.sh -i runner
- timeout 2700s ./run.sh $SCENARIO --vm-weblog ${ONBOARDING_FILTER_WEBLOG} --vm-env ${ONBOARDING_FILTER_ENV} --vm-library ${TEST_LIBRARY} --vm-provider aws

onboarding_python:
.onboarding_python:
extends: .base_job_onboarding_system_tests
stage: python_tracer
allow_failure: true
Expand Down Expand Up @@ -152,7 +174,7 @@ onboarding_python:
- ./build.sh -i runner
- timeout 2700s ./run.sh $SCENARIO --vm-weblog ${ONBOARDING_FILTER_WEBLOG} --vm-env ${ONBOARDING_FILTER_ENV} --vm-library ${TEST_LIBRARY} --vm-provider aws

onboarding_dotnet:
.onboarding_dotnet:
extends: .base_job_onboarding_system_tests
stage: dotnet_tracer
allow_failure: true
Expand Down Expand Up @@ -187,7 +209,7 @@ onboarding_dotnet:
- ./build.sh -i runner
- timeout 2700s ./run.sh $SCENARIO --vm-weblog ${ONBOARDING_FILTER_WEBLOG} --vm-env ${ONBOARDING_FILTER_ENV} --vm-library ${TEST_LIBRARY} --vm-provider aws

onboarding_ruby:
.onboarding_ruby:
extends: .base_job_onboarding_system_tests
stage: ruby_tracer
allow_failure: true
Expand Down Expand Up @@ -222,7 +244,7 @@ onboarding_ruby:
- ./build.sh -i runner
- timeout 2700s ./run.sh $SCENARIO --vm-weblog ${ONBOARDING_FILTER_WEBLOG} --vm-env ${ONBOARDING_FILTER_ENV} --vm-library ${TEST_LIBRARY} --vm-provider aws

onboarding_php:
.onboarding_php:
extends: .base_job_onboarding_system_tests
stage: php_tracer
allow_failure: true
Expand Down
7 changes: 7 additions & 0 deletions conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,13 @@ def pytest_addoption(parser):
parser.addoption("--vm-provider", type=str, action="store", help="Set provider for VMs")
parser.addoption("--vm-only-branch", type=str, action="store", help="Filter to execute only one vm branch")
parser.addoption("--vm-skip-branches", type=str, action="store", help="Filter exclude vm branches")
parser.addoption(
"--vm-default-vms",
type=str,
action="store",
help="True launch vms marked as default, False launch only no default vm. All launch all vms",
default="True",
)

# Docker ssi scenarios
parser.addoption("--ssi-weblog", type=str, action="store", help="Set docker ssi weblog")
Expand Down
5 changes: 5 additions & 0 deletions utils/_context/_scenarios/auto_injection.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
AmazonLinux2DotNet6,
AmazonLinux2amd64,
Centos7amd64,
Fedora39amd64,
)

from .core import Scenario
Expand All @@ -35,6 +36,7 @@ def __init__(
include_amazon_linux_2023_amd64=False,
include_amazon_linux_2023_arm64=False,
include_centos_7_amd64=False,
include_fedora_39_amd64=False,
agent_env=None,
app_env=None,
scenario_groups=None,
Expand Down Expand Up @@ -67,6 +69,8 @@ def __init__(
self.required_vms.append(AmazonLinux2023arm64())
if include_centos_7_amd64:
self.required_vms.append(Centos7amd64())
if include_fedora_39_amd64:
self.required_vms.append(Fedora39amd64())

def print_installed_components(self):
logger.terminal.write_sep("=", "Installed components", bold=True)
Expand Down Expand Up @@ -189,5 +193,6 @@ def __init__(
include_amazon_linux_2023_amd64=True,
include_amazon_linux_2023_arm64=True,
include_centos_7_amd64=True,
include_fedora_39_amd64=True,
scenario_groups=scenario_groups,
)
16 changes: 15 additions & 1 deletion utils/_context/virtual_machines.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import hashlib

from utils.tools import logger
from utils._context.library_version import Version
from utils import context
from utils.onboarding.debug_vm import extract_logs_to_file

Expand Down Expand Up @@ -331,3 +330,18 @@ def __init__(self, **kwargs) -> None:
os_cpu="amd64",
**kwargs,
)


class Fedora39amd64(_VirtualMachine):
def __init__(sef, **kwargs) -> None:
super().__init__(
"Fedora_39_amd64",
aws_config=_AWSConfig(ami_id="ami-0ba8f2988373d0735", ami_instance_type="t2.medium", user="fedora"),
emmettbutler marked this conversation as resolved.
Show resolved Hide resolved
vagrant_config=None,
krunvm_config=None,
os_type="linux",
os_distro="rpm",
os_branch="fedora",
os_cpu="amd64",
**kwargs,
)
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#Add initial configuration that it must do after start the machine
#Add initial configuration that it must do after start the machine
- os_type: linux
os_distro: deb
remote-command: |

#Disable auto updates. It could raise problems if the update proccess is launched just when we are trying to install de software
#Disable auto updates. It could raise problems if the update proccess is launched just when we are trying to install de software
sudo sed -i 's/1/0/g' /etc/apt/apt.conf.d/20auto-upgrades
sudo sed -i 's/1/0/g' /etc/apt/apt.conf.d/10periodic || true

echo "On VM boot the Apt service status::::"
sudo ps -fea|grep apt
echo "On VM boot the System service apt-daily.service status"
Expand Down Expand Up @@ -49,18 +49,28 @@
- os_type: linux
os_distro: rpm
os_branch: centos_7_amd64 # CentOS override as the mirrors are not available anymore
remote-command: |
remote-command: |
sudo sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sudo sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sudo sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo

#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

- os_type: linux
os_distro: rpm
os_branch: fedora
remote-command: |
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

- os_type: linux
os_distro: rpm
remote-command: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,18 @@
curl -fsSL https://get.docker.com | sudo sh
sudo systemctl start docker
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/bin/docker-compose && sudo chmod +x /usr/bin/docker-compose && sudo docker-compose --version
- os_type: linux
os_distro: rpm
os_branch: fedora
remote-command: |
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
- os_type: linux
os_distro: rpm
remote-command: |
sudo yum -y install docker
sudo systemctl start docker.service
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/bin/docker-compose && sudo chmod +x /usr/bin/docker-compose && sudo docker-compose --version

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ lang_variant:
name: Python_3.8.15
version: 3.8.15
cache: true
install:
install:
- os_type: linux
os_distro: deb
copy_files:
Expand All @@ -15,7 +15,13 @@ lang_variant:
copy_files:
- name: copy-auto-install-script
local_path: utils/build/virtual_machine/weblogs/python/test-app-python/python_install.sh
remote-command: sudo sh python_install.sh rpm 3.8.15
remote-command: |
if ! command -v make &> /dev/null
then
sudo yum groupinstall "Development Tools" -y
fi
sudo sh python_install.sh rpm 3.8.15


weblog:
name: test-app-python
Expand Down
Loading