Skip to content

Commit 14c811a

Browse files
docs: Fix xcp/net/ifrename/* for Sphinx-autodoc generation
Signed-off-by: Bernhard Kaindl <[email protected]>
1 parent a92f7d8 commit 14c811a

File tree

2 files changed

+79
-36
lines changed

2 files changed

+79
-36
lines changed

xcp/net/ifrename/logic.py

Lines changed: 68 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939
[out] transactions
4040
list of string tuples as source and destination names for "ip link set
4141
name"
42+
43+
Abbreviations used in this file:
44+
kname: The kernel name of the network interface (the original name assigned by the kernel).
45+
tname: The temporary name of the interface, used while renaming interfaces to avoid name conflicts.
4246
"""
4347

4448
from __future__ import unicode_literals
@@ -122,24 +126,37 @@ def __rename_nic(nic, name, transactions, cur_state):
122126
transactions.append((nic.kname, name))
123127

124128

125-
def rename_logic( static_rules,
126-
cur_state,
127-
last_state,
128-
old_state ):
129+
def rename_logic(
130+
static_rules: list[MACPCI],
131+
cur_state: list[MACPCI],
132+
last_state: list[MACPCI],
133+
old_state: list[MACPCI]
134+
) -> list:
129135
"""
130136
Core logic of renaming the current state based on the rules and past state.
137+
131138
This function assumes all inputs have been suitably sanitised.
132-
@param static_rules
139+
140+
Parameters
141+
----------
142+
static_rules : list[MACPCI]
133143
List of MACPCI objects representing rules
134-
@param cur_state
144+
cur_state : list[MACPCI]
135145
List of MACPCI objects representing the current state
136-
@param last_state
146+
last_state : list[MACPCI]
137147
List of MACPCI objects representing the last boot state
138-
@param old_state
148+
old_state : list[MACPCI]
139149
List of MACPCI objects representing the old state
140-
@returns List of tuples...
141-
@throws AssertionError (Should not be thrown, but better to know about logic
142-
errors if they occur)
150+
151+
Returns
152+
-------
153+
list
154+
List of tuples representing name transactions.
155+
156+
Raises
157+
------
158+
AssertionError
159+
If the current state contains invalid entries.
143160
"""
144161

145162
transactions = []
@@ -365,26 +382,53 @@ def rename_logic( static_rules,
365382
util.niceformat(cur_state)))
366383
return transactions
367384

368-
def rename( static_rules,
369-
cur_state,
370-
last_state,
371-
old_state ):
385+
def rename(
386+
static_rules: list[MACPCI],
387+
cur_state: list[MACPCI],
388+
last_state: list[MACPCI],
389+
old_state: list[MACPCI]
390+
) -> list:
372391
"""
373392
Rename current state based on the rules and past state.
374-
This function sanitises the input and delegates the renaming logic to
375-
__rename.
376-
@param static_rules
393+
394+
This function:
395+
- Sanitises the input
396+
- Delegates the renaming logic to rename_logic()
397+
398+
Parameters
399+
----------
400+
static_rules : list[MACPCI]
377401
List of MACPCI objects representing rules
378-
@param cur_state
402+
cur_state : list[MACPCI]
379403
List of MACPCI objects representing the current state
380-
@param last_state
404+
last_state : list[MACPCI]
381405
List of MACPCI objects representing the last boot state
382-
@param old_state
406+
old_state : list[MACPCI]
383407
List of MACPCI objects representing the old state
384408
385-
@throws StaticRuleError, CurrentStateError, LastStateError, TypeError
386-
387-
@returns list of tuples of name changes required
409+
Returns
410+
-------
411+
list
412+
List of tuples of name changes required
413+
414+
Raises
415+
------
416+
OldStateError
417+
Raised if any of the following conditions are met:
418+
- An old state has a kernel name.
419+
- An old state has a tname not starting with 'eth'.
420+
StaticRuleError
421+
Raised if any of the following conditions are met:
422+
- A static rule has a kernel name.
423+
- A static rule has a tname not starting with 'eth'.
424+
- Duplicate eth names are present in static rules.
425+
- Duplicate MAC addresses are present in static rules.
426+
CurrentStateError
427+
If the current state contains invalid entries.
428+
LastStateError
429+
If the last state contains invalid entries.
430+
TypeError
431+
If any of the input lists contain objects that are not MACPCI instances.
388432
"""
389433

390434
if len(static_rules):

xcp/net/ifrename/static.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,16 @@
2525
Object for manipulating static rules.
2626
2727
Rules are of the form:
28-
<target name>: <id method> = "value"
28+
<target name>: <id method> = "value"
2929
30-
target name must be in the form eth*
31-
id methods are:
32-
mac: value should be the mac address of a device (e.g. DE:AD:C0:DE:00:00)
33-
pci: value should be the pci bus location of the device, optionally with an index (e.g. 0000:01:01.1[0])
34-
ppn: value should be the result of the biosdevname physical naming policy of a device (e.g. p1p1)
35-
label: value should be the SMBios label of a device (for SMBios 2.6 or above)
36-
37-
Any line starting with '#' is considered to be a comment
30+
target name must be in the form eth*
31+
id methods are:
32+
- `mac`: value should be the MAC address of a device (e.g. DE:AD:C0:DE:00:00)
33+
- `pci`: value should be the PCI bus location of the device, optionally with an index (e.g. 0000:01:01.1[0])
34+
- `ppn`: value should be the result of the biosdevname physical naming policy of a device (e.g. p1p1)
35+
- `label`: value should be the SMBIOS label of a device (for SMBIOS 2.6 or above)
3836
37+
Any line starting with '#' is considered to be a comment
3938
"""
4039

4140
from __future__ import unicode_literals
@@ -71,10 +70,10 @@
7170
7271
# target name must be in the form eth*
7372
# id methods are:
74-
# mac: value should be the mac address of a device (e.g. DE:AD:C0:DE:00:00)
75-
# pci: value should be the pci bus location of the device (e.g. 0000:01:01.1[0])
73+
# mac: value should be the MAC address of a device (e.g. DE:AD:C0:DE:00:00)
74+
# pci: value should be the PCI bus location of the device (e.g. 0000:01:01.1[0])
7675
# ppn: value should be the result of the biosdevname physical naming policy of a device (e.g. p1p1)
77-
# label: value should be the SMBios label of a device (for SMBios 2.6 or above)
76+
# label: value should be the SMBIOS label of a device (for SMBIOS 2.6 or above)
7877
7978
"""
8079

0 commit comments

Comments
 (0)