Skip to content

Commit 54d7085

Browse files
committed
proxmox_firewall: Fix minor bugs and sanity issues
1 parent 6f37333 commit 54d7085

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
lines changed

plugins/module_utils/proxmox.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,20 +102,20 @@ def compare_list_of_dicts(existing_list, new_list, uid, params_to_ignore=None):
102102

103103
common_uids = set(existing_list.keys()).intersection(set(new_list.keys()))
104104
missing_uids = set(new_list.keys()) - set(existing_list.keys())
105-
items_to_create = [new_list[id] for id in missing_uids]
105+
items_to_create = [new_list[uid] for uid in missing_uids]
106106

107-
for id in common_uids:
107+
for uid in common_uids:
108108
# If new rule has a parameter that is not present in existing rule we need to update
109-
if set(new_list[id].keys()) - set(existing_list[id].keys()) != set():
110-
items_to_update.append(new_list[id])
109+
if set(new_list[uid].keys()) - set(existing_list[uid].keys()) != set():
110+
items_to_update.append(new_list[uid])
111111
continue
112112

113113
# If existing rule param value doesn't match new rule param OR
114114
# If existing rule has a param that is not present in new rule except for params in params_to_ignore
115-
for existing_rule_param, existing_parm_value in existing_list[id].items():
115+
for existing_rule_param, existing_parm_value in existing_list[uid].items():
116116
if (existing_rule_param not in params_to_ignore and
117-
new_list[id].get(existing_rule_param) != existing_parm_value):
118-
items_to_update.append(new_list[id])
117+
new_list[uid].get(existing_rule_param) != existing_parm_value):
118+
items_to_update.append(new_list[uid])
119119

120120
return items_to_create, items_to_update
121121

plugins/module_utils/proxmox_sdn.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def get_aliases(self, firewall_obj):
113113
return firewall_obj().aliases().get()
114114
except Exception as e:
115115
self.module.fail_json(
116-
msg='Failed to retrieve aliases'
116+
msg=f'Failed to retrieve aliases - {e}'
117117
)
118118

119119
def get_fw_rules(self, rules_obj, pos=None):

plugins/modules/proxmox_firewall.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
short_description: Manage firewall rules in Proxmox
1515
version_added: "1.4.0"
1616
description:
17-
- Create/update/delete firewall rules at cluster/group/vnet/node/vm level.
18-
- Create/delete firewall security groups.
17+
- create/update/delete FW rules at cluster/group/vnet/node/vm level
18+
- Create/delete firewall security groups
19+
- Create/delete aliases
1920
author: 'Jana Hoch <[email protected]> (!UNKNOWN)'
2021
attributes:
2122
check_mode:

plugins/modules/proxmox_firewall_info.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
version_added: "1.4.0"
1616
description:
1717
- Get firewall rules at cluster/group/vnet/node/vm level.
18+
- Get firewall security groups at cluster level.
19+
- Get aliases at cluster/VM level.
1820
author: 'Jana Hoch <[email protected]> (!UNKNOWN)'
1921
options:
2022
level:

tests/unit/plugins/modules/test_proxmox_firewall.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@ def setUp(self):
123123
self.connect_mock = patch(
124124
"ansible_collections.community.proxmox.plugins.module_utils.proxmox.ProxmoxAnsible._connect",
125125
).start()
126-
self.connect_mock.return_value.cluster.return_value.firewall.return_value.rules.get.return_value = RAW_FIREWALL_RULES
127-
self.connect_mock.return_value.cluster.return_value.firewall.return_value.groups.return_value.get.return_value = RAW_GROUPS
126+
self.connect_mock.return_value.cluster.return_value.firewall.return_value.rules.get.return_value = RAW_FIREWALL_RULES.copy()
127+
self.connect_mock.return_value.cluster.return_value.firewall.return_value.groups.return_value.get.return_value = RAW_GROUPS.copy()
128128

129129
def tearDown(self):
130130
self.connect_mock.stop()

tests/unit/plugins/modules/test_proxmox_firewall_info.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,12 @@ def setUp(self):
147147
mock_cluster_fw = self.connect_mock.return_value.cluster.return_value.firewall.return_value
148148
mock_vm100_fw = self.connect_mock.return_value.nodes.return_value.return_value.return_value.firewall.return_value
149149

150-
mock_cluster_fw.rules.get.return_value = RAW_FIREWALL_RULES
151-
mock_cluster_fw.groups.return_value.get.return_value = RAW_GROUPS
152-
mock_cluster_fw.aliases.return_value.get.return_value = RAW_ALIASES
150+
mock_cluster_fw.rules.get.return_value = RAW_FIREWALL_RULES.copy()
151+
mock_cluster_fw.groups.return_value.get.return_value = RAW_GROUPS.copy()
152+
mock_cluster_fw.aliases.return_value.get.return_value = RAW_ALIASES.copy()
153153

154-
mock_vm100_fw.rules.get.return_value = RAW_FIREWALL_RULES
155-
mock_vm100_fw.aliases.return_value.get.return_value = RAW_ALIASES
154+
mock_vm100_fw.rules.get.return_value = RAW_FIREWALL_RULES.copy()
155+
mock_vm100_fw.aliases.return_value.get.return_value = RAW_ALIASES.copy()
156156

157157
def tearDown(self):
158158
self.connect_mock.stop()

0 commit comments

Comments
 (0)