Skip to content

Commit b886966

Browse files
committed
feat(fips): update packaging tests
1 parent c53421f commit b886966

8 files changed

+162
-112
lines changed

test/packaging/ansible/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ localhost ansible_connection=local
99
1010
[testing_hosts]
1111
amd64:debian-buster ansible_host=192.168.1.12 ansible_user=admin ansible_python_interpreter=/usr/bin/python3
12-
amd64:centos7 ansible_host=192.168.1.13 ansible_user=centos ansible_python_interpreter=/usr/bin/python
12+
amd64:centos7 ansible_host=192.168.1.13 ansible_user=centos ansible_python_interpreter=/usr/bin/python
13+
amd64:al-2023-fips ansible_host=192.168.1.14 ansible_user=ec2-user ansible_python_interpreter=/usr/bin/python3 ansible_ssh_common_args='-o Ciphers=aes256-ctr,aes192-ctr,aes128-ctr -o KexAlgorithms=ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 -o MACs=hmac-sha2-256,hmac-sha2-512'
1314
```
1415

1516
## Playbooks

test/packaging/ansible/agent-upgrade.yml

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
tasks:
1616
- name: agent upgrade tests suite
17+
# TODO: https://new-relic.atlassian.net/browse/NR-355851 Update when two releases with FIPS are done
18+
# Also add FIPS tests
1719
vars:
1820
target_agent_version: "1.57.1"
1921

test/packaging/ansible/installation-pinned.yml

+17-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
---
2-
3-
- name: installation-pinned
2+
- name: Installation-pinned
43
hosts: testing_hosts_linux
54
become: true
6-
gather_facts: yes
5+
gather_facts: true
76

87
pre_tasks:
98
- name: Initial cleanup
10-
include_role:
9+
ansible.builtin.include_role:
1110
name: caos.ansible_roles.infra_agent
1211
vars:
1312
uninstall: true
@@ -18,16 +17,26 @@
1817
target_agent_version: "1.57.1" # minimum version for ubuntu sles 15.6
1918

2019
block:
21-
22-
- name: install agent
23-
include_role:
20+
- name: Install agent
21+
# when: "'-fips' not in inventory_hostname"
22+
ansible.builtin.include_role:
2423
name: caos.ansible_roles.infra_agent
2524
vars:
2625
target_version: "{{ target_agent_version }}"
2726
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
2827

28+
# TODO: https://new-relic.atlassian.net/browse/NR-355845 Uncomment when FIPS version is available for the minimum version
29+
# - name: Install agent - FIPS
30+
# when: "'-fips' in inventory_hostname"
31+
# ansible.builtin.include_role:
32+
# name: caos.ansible_roles.infra_agent
33+
# vars:
34+
# target_version: "{{ target_agent_version }}"
35+
# repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
36+
# fips_enabled: true
37+
2938
- name: Assert version
30-
include_role:
39+
ansible.builtin.include_role:
3140
name: caos.ansible_roles.assert_version
3241
vars:
3342
target_versions:
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
---
2-
3-
- name: installation-privileged
2+
- name: Installation-privileged
43
hosts: testing_hosts_linux
54
become: true
6-
gather_facts: yes
5+
gather_facts: true
76

87
pre_tasks:
98
- name: Initial cleanup
10-
include_role:
9+
ansible.builtin.include_role:
1110
name: caos.ansible_roles.infra_agent
1211
vars:
1312
uninstall: true
@@ -21,30 +20,38 @@
2120
NRIA_MODE: PRIVILEGED
2221

2322
block:
23+
- name: Install agent
24+
when: "'-fips' not in inventory_hostname"
25+
ansible.builtin.include_role:
26+
name: caos.ansible_roles.infra_agent
27+
vars:
28+
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
2429

25-
- name: install agent
26-
include_role:
27-
name: caos.ansible_roles.infra_agent
28-
vars:
29-
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
30+
- name: Install agent - FIPS
31+
when: "'-fips' in inventory_hostname"
32+
ansible.builtin.include_role:
33+
name: caos.ansible_roles.infra_agent
34+
vars:
35+
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
36+
fips_enabled: true
3037

31-
- name: assert privileged caps
32-
include_role:
33-
name: caos.ansible_roles.assert_privileged_caps
34-
vars:
35-
executable: "/usr/bin/newrelic-infra"
36-
caps:
37-
- cap_dac_read_search
38-
- cap_sys_ptrace.ep
38+
- name: Assert privileged caps
39+
ansible.builtin.include_role:
40+
name: caos.ansible_roles.assert_privileged_caps
41+
vars:
42+
executable: "/usr/bin/newrelic-infra"
43+
caps:
44+
- cap_dac_read_search
45+
- cap_sys_ptrace.ep
3946

40-
- name: Assert rootless
41-
include_role:
42-
name: caos.ansible_roles.assert_files
43-
vars:
44-
processes:
45-
- name: newrelic-infra-service
46-
owner: "{{ agent_user }}"
47-
files:
48-
- name: /usr/bin/newrelic-infra
49-
permissions: "{{ bin_mode }}"
47+
- name: Assert rootless
48+
ansible.builtin.include_role:
49+
name: caos.ansible_roles.assert_files
50+
vars:
51+
processes:
52+
- name: newrelic-infra-service
53+
owner: "{{ agent_user }}"
54+
files:
55+
- name: /usr/bin/newrelic-infra
56+
permissions: "{{ bin_mode }}"
5057
...

test/packaging/ansible/installation-root.yml

+15-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22

3-
- name: installation-root
3+
- name: Installation-root
44
hosts: testing_hosts_linux
55
become: true
6-
gather_facts: yes
6+
gather_facts: true
77

88
pre_tasks:
99
- name: Initial cleanup
10-
include_role:
10+
ansible.builtin.include_role:
1111
name: caos.ansible_roles.infra_agent
1212
vars:
1313
uninstall: true
@@ -20,14 +20,23 @@
2020

2121
block:
2222

23-
- name: install agent
24-
include_role:
23+
- name: Install agent
24+
when: "'-fips' not in inventory_hostname"
25+
ansible.builtin.include_role:
2526
name: caos.ansible_roles.infra_agent
2627
vars:
2728
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
2829

30+
- name: Install agent - FIPS
31+
when: "'-fips' in inventory_hostname"
32+
ansible.builtin.include_role:
33+
name: caos.ansible_roles.infra_agent
34+
vars:
35+
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
36+
fips_enabled: true
37+
2938
- name: Assert root
30-
include_role:
39+
ansible.builtin.include_role:
3140
name: caos.ansible_roles.assert_files
3241
vars:
3342
processes:
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
---
2-
3-
- name: installation-unprivileged
2+
- name: Installation-unprivileged
43
hosts: testing_hosts_linux
54
become: true
6-
gather_facts: yes
5+
gather_facts: true
76

87
pre_tasks:
98
- name: Initial cleanup
10-
include_role:
9+
ansible.builtin.include_role:
1110
name: caos.ansible_roles.infra_agent
1211
vars:
1312
uninstall: true
@@ -21,28 +20,36 @@
2120
NRIA_MODE: UNPRIVILEGED
2221

2322
block:
23+
- name: Install agent
24+
when: "'-fips' not in inventory_hostname"
25+
ansible.builtin.include_role:
26+
name: caos.ansible_roles.infra_agent
27+
vars:
28+
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
2429

25-
- name: install agent
26-
include_role:
27-
name: caos.ansible_roles.infra_agent
28-
vars:
29-
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
30+
- name: Install agent - FIPS
31+
when: "'-fips' in inventory_hostname"
32+
ansible.builtin.include_role:
33+
name: caos.ansible_roles.infra_agent
34+
vars:
35+
repo_endpoint: "http://nr-downloads-ohai-staging.s3-website-us-east-1.amazonaws.com/infrastructure_agent"
36+
fips_enabled: true
3037

31-
- name: assert no privileged caps
32-
include_role:
33-
name: caos.ansible_roles.assert_privileged_caps
34-
vars:
35-
executable: "/usr/bin/newrelic-infra"
36-
caps: []
38+
- name: Assert no privileged caps
39+
ansible.builtin.include_role:
40+
name: caos.ansible_roles.assert_privileged_caps
41+
vars:
42+
executable: "/usr/bin/newrelic-infra"
43+
caps: []
3744

38-
- name: Assert rootless
39-
include_role:
40-
name: caos.ansible_roles.assert_files
41-
vars:
42-
processes:
43-
- name: newrelic-infra-service
44-
owner: "{{ agent_user }}"
45-
files:
46-
- name: /usr/bin/newrelic-infra
47-
permissions: "{{ bin_mode }}"
45+
- name: Assert rootless
46+
ansible.builtin.include_role:
47+
name: caos.ansible_roles.assert_files
48+
vars:
49+
processes:
50+
- name: newrelic-infra-service
51+
owner: "{{ agent_user }}"
52+
files:
53+
- name: /usr/bin/newrelic-infra
54+
permissions: "{{ bin_mode }}"
4855
...

0 commit comments

Comments
 (0)