@@ -79,37 +79,37 @@ def _format_servers_list_power_state(state):
7979
8080
8181def _get_ip_address (addresses , address_type , ip_address_family ):
82- # Old style addresses
83- if address_type in addresses :
84- for addy in addresses [address_type ]:
82+ # Old style addresses
83+ if address_type in addresses :
84+ for addy in addresses [address_type ]:
85+ if int (addy ['version' ]) in ip_address_family :
86+ return addy ['addr' ]
87+
88+ # New style addresses
89+ new_address_type = address_type
90+ if address_type == 'public' :
91+ new_address_type = 'floating'
92+ if address_type == 'private' :
93+ new_address_type = 'fixed'
94+ for network in addresses :
95+ for addy in addresses [network ]:
96+ # Case where it is list of strings
97+ if isinstance (addy , six .string_types ):
98+ if new_address_type == 'fixed' :
99+ return addresses [network ][0 ]
100+ else :
101+ return addresses [network ][- 1 ]
102+ # Case where it is a dict
103+ if 'OS-EXT-IPS:type' not in addy :
104+ continue
105+ if addy ['OS-EXT-IPS:type' ] == new_address_type :
85106 if int (addy ['version' ]) in ip_address_family :
86107 return addy ['addr' ]
87-
88- # New style addresses
89- new_address_type = address_type
90- if address_type == 'public' :
91- new_address_type = 'floating'
92- if address_type == 'private' :
93- new_address_type = 'fixed'
94- for network in addresses :
95- for addy in addresses [network ]:
96- # Case where it is list of strings
97- if isinstance (addy , six .string_types ):
98- if new_address_type == 'fixed' :
99- return addresses [network ][0 ]
100- else :
101- return addresses [network ][- 1 ]
102- # Case where it is a dict
103- if 'OS-EXT-IPS:type' not in addy :
104- continue
105- if addy ['OS-EXT-IPS:type' ] == new_address_type :
106- if int (addy ['version' ]) in ip_address_family :
107- return addy ['addr' ]
108- msg = _ ("ERROR: No %(type)s IP version %(family)s address found" )
109- raise exceptions .CommandError (
110- msg % {"type" : address_type ,
111- "family" : ip_address_family }
112- )
108+ msg = _ ("ERROR: No %(type)s IP version %(family)s address found" )
109+ raise exceptions .CommandError (
110+ msg % {"type" : address_type ,
111+ "family" : ip_address_family }
112+ )
113113
114114
115115def _prefix_checked_value (prefix ):
0 commit comments