@@ -126,9 +126,8 @@ def get_config(config=None):
126
126
# Restore existing config level
127
127
conf .set_level (old_level )
128
128
129
- if dict_search ('member.interface' , bond ):
130
- for interface , interface_config in bond ['member' ]['interface' ].items ():
131
-
129
+ if dict_search ('member.interface' , bond ) is not None :
130
+ for interface in bond ['member' ]['interface' ]:
132
131
interface_ethernet_config = conf .get_config_dict (
133
132
['interfaces' , 'ethernet' , interface ],
134
133
key_mangling = ('-' , '_' ),
@@ -137,44 +136,45 @@ def get_config(config=None):
137
136
with_defaults = False ,
138
137
with_recursive_defaults = False )
139
138
140
- interface_config ['config_paths' ] = dict_to_paths_values (interface_ethernet_config )
139
+ bond ['member' ]['interface' ][interface ].update ({'config_paths' :
140
+ dict_to_paths_values (interface_ethernet_config )})
141
141
142
142
# Check if member interface is a new member
143
143
if not conf .exists_effective (base + [ifname , 'member' , 'interface' , interface ]):
144
144
bond ['shutdown_required' ] = {}
145
- interface_config [ 'new_added' ] = {}
145
+ bond [ 'member' ][ 'interface' ][ interface ]. update ({ 'new_added' : {}})
146
146
147
147
# Check if member interface is disabled
148
148
conf .set_level (['interfaces' ])
149
149
150
150
section = Section .section (interface ) # this will be 'ethernet' for 'eth0'
151
151
if conf .exists ([section , interface , 'disable' ]):
152
- interface_config [ 'disable' ] = ''
152
+ if tmp : bond [ 'member' ][ 'interface' ][ interface ]. update ({ 'disable' : '' })
153
153
154
154
conf .set_level (old_level )
155
155
156
156
# Check if member interface is already member of another bridge
157
157
tmp = is_member (conf , interface , 'bridge' )
158
- if tmp : interface_config [ 'is_bridge_member' ] = tmp
158
+ if tmp : bond [ 'member' ][ 'interface' ][ interface ]. update ({ 'is_bridge_member' : tmp })
159
159
160
160
# Check if member interface is already member of a bond
161
161
tmp = is_member (conf , interface , 'bonding' )
162
- for tmp in is_member (conf , interface , 'bonding' ):
163
- if bond ['ifname' ] == tmp :
164
- continue
165
- interface_config ['is_bond_member' ] = tmp
162
+ if ifname in tmp :
163
+ del tmp [ifname ]
164
+ if tmp : bond ['member' ]['interface' ][interface ].update ({'is_bond_member' : tmp })
166
165
167
166
# Check if member interface is used as source-interface on another interface
168
167
tmp = is_source_interface (conf , interface )
169
- if tmp : interface_config [ 'is_source_interface' ] = tmp
168
+ if tmp : bond [ 'member' ][ 'interface' ][ interface ]. update ({ 'is_source_interface' : tmp })
170
169
171
170
# bond members must not have an assigned address
172
171
tmp = has_address_configured (conf , interface )
173
- if tmp : interface_config [ 'has_address' ] = {}
172
+ if tmp : bond [ 'member' ][ 'interface' ][ interface ]. update ({ 'has_address' : '' })
174
173
175
174
# bond members must not have a VRF attached
176
175
tmp = has_vrf_configured (conf , interface )
177
- if tmp : interface_config ['has_vrf' ] = {}
176
+ if tmp : bond ['member' ]['interface' ][interface ].update ({'has_vrf' : '' })
177
+
178
178
return bond
179
179
180
180
0 commit comments