--- version: 2.1 commands: dry_run: parameters: version: type: string python: type: string steps: - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_<>.yaml" -e 'ansible_python_interpreter=/usr/bin/<>' --check - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5.yaml" -e 'ansible_python_interpreter=/usr/bin/<>' --check install_agent_5: parameters: python: type: string steps: - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_5.yaml" -e 'ansible_python_interpreter=/usr/bin/<>' - run: dd-agent info || true - run: ps aux | grep -v grep | grep datadog-agent install_agent: parameters: version: type: string python: type: string steps: - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_<>.yaml" -e 'ansible_python_interpreter=/usr/bin/<>' - run: datadog-agent version test_install_no_manage_config: parameters: version: type: string python: type: string steps: - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_<>.yaml" -e '{"ansible_python_interpreter":"/usr/bin/<>","datadog_manage_config":false}' - run: bash -c '[ -f /etc/datadog-agent/datadog.yaml.example ] || [ -f /etc/dd-agent/datadog.conf.example ]' - run: bash -c '[ ! -f /etc/datadog-agent/datadog.yaml ] && [ ! -f /etc/datadog-agent/system-probe.yaml ] && [ ! -f /etc/datadog-agent/security-agent.yaml ] && [ ! -f /etc/dd-agent/datadog.conf ]' downgrade_agent_5_23_0: parameters: python: type: string steps: - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5.yaml" -e 'ansible_python_interpreter=/usr/bin/<>' - run: dd-agent info || true - run: ps aux | grep -v grep | grep datadog-agent test_agent_install_downgrade: parameters: version: type: string python: type: string steps: - checkout - dry_run: version: "<>" python: "<>" - install_agent_5: python: "<>" - when: condition: not: equal: [<>, "5"] steps: - install_agent: version: "<>" python: "<>" - downgrade_agent_5_23_0: python: "<>" test_agent_install: parameters: version: type: string python: type: string steps: - checkout - install_agent: version: "<>" python: "<>" jobs: ansible_lint: docker: - image: datadog/docker-library:ansible_debian_2_10 steps: - checkout - run: pip install ansible-lint - run: ansible-lint -v . test_install_downgrade: parameters: ansible_version: type: string agent_version: type: string os: type: string python: type: string docker: - image: datadog/docker-library:ansible_<>_<> steps: - checkout - test_agent_install_downgrade: version: "<>" python: "<>" test_install: parameters: ansible_version: type: string agent_version: type: string os: type: string python: type: string docker: - image: datadog/docker-library:ansible_<>_<> steps: - checkout - test_agent_install: version: "<>" python: "<>" test_install_no_manage_config: parameters: ansible_version: type: string agent_version: type: string os: type: string python: type: string docker: - image: datadog/docker-library:ansible_<>_<> steps: - checkout - test_install_no_manage_config: version: "<>" python: "<>" workflows: version: 2 test_datadog_role: jobs: - ansible_lint - test_install_downgrade: matrix: parameters: ansible_version: ["2_6", "2_7", "2_8"] agent_version: ["5", "6", "7"] os: ["debian"] python: ["python2", "python3"] # Newer debian images only have Pythpn 3 installed - test_install_downgrade: matrix: parameters: ansible_version: ["2_9", "2_10"] agent_version: ["5", "6", "7"] os: ["debian"] python: ["python3"] # Newer debian images only have Pythpn 3 installed - test_install_no_manage_config: matrix: parameters: ansible_version: ["2_10"] agent_version: ["5", "7"] os: ["debian"] python: ["python3"] # centos = CentOS 7. CentOS <= 7 + Python3 is not supported, # as the yum module is Python2-only. - test_install_downgrade: matrix: parameters: ansible_version: ["2_6", "2_7", "2_8", "2_9", "2_10"] agent_version: ["5", "6", "7"] os: ["centos"] python: ["python2"] # We want to check that the dnf path works with CentOS 8 # Newer CentOS images only have Pythpn 3 installed - test_install: matrix: parameters: ansible_version: ["2_8", "2_9", "2_10"] agent_version: ["6", "7"] os: ["centos8"] python: ["python3"] # Newer suse images only have Python 3 installed - test_install: matrix: parameters: ansible_version: ["2_8", "2_9", "2_10"] agent_version: ["6", "7"] os: ["suse"] python: ["python3"]