@@ -878,6 +878,249 @@ func TestNodeAddressesWithAddressSortOrderOptions(t *testing.T) {
878878 }
879879}
880880
881+ func TestNodeAddressesWithSubports (t * testing.T ) {
882+ srv := servers.Server {
883+ Status : "ACTIVE" ,
884+ HostID : "06eacdcf714f7a2640b25a4a9a2f84a83c2a4e0d9913bb3581d8732a" ,
885+ Addresses : map [string ]interface {}{
886+ "flat_net_phys5" : []interface {}{
887+ map [string ]interface {}{
888+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:b3:9f:c2" ,
889+ "version" : float64 (4 ),
890+ "addr" : "13.13.13.106" ,
891+ "OS-EXT-IPS:type" : "fixed" ,
892+ },
893+ map [string ]interface {}{
894+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:b3:9f:c2" ,
895+ "version" : float64 (6 ),
896+ "addr" : "3000:0:0:1::3a3" ,
897+ "OS-EXT-IPS:type" : "fixed" ,
898+ },
899+ map [string ]interface {}{
900+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:1d:b7:a7" ,
901+ "version" : float64 (4 ),
902+ "addr" : "13.13.13.186" ,
903+ "OS-EXT-IPS:type" : "fixed" ,
904+ },
905+ map [string ]interface {}{
906+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:1d:b7:a7" ,
907+ "version" : float64 (6 ),
908+ "addr" : "3000:0:0:1::38a" ,
909+ "OS-EXT-IPS:type" : "fixed" ,
910+ },
911+ },
912+ "flat_net_phys6" : []interface {}{
913+ map [string ]interface {}{
914+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:15:20:50" ,
915+ "version" : float64 (4 ),
916+ "addr" : "14.14.14.228" ,
917+ "OS-EXT-IPS:type" : "fixed" ,
918+ },
919+ map [string ]interface {}{
920+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:15:20:50" ,
921+ "version" : float64 (6 ),
922+ "addr" : "3000:0:0:1::1a3" ,
923+ "OS-EXT-IPS:type" : "fixed" ,
924+ },
925+ map [string ]interface {}{
926+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:36:b7:8c" ,
927+ "version" : float64 (4 ),
928+ "addr" : "14.14.14.98" ,
929+ "OS-EXT-IPS:type" : "fixed" ,
930+ },
931+ map [string ]interface {}{
932+ "OS-EXT-IPS-MAC:mac_addr" : "fa:16:3e:36:b7:8c" ,
933+ "version" : float64 (6 ),
934+ "addr" : "3000:0:0:1::39d" ,
935+ "OS-EXT-IPS:type" : "fixed" ,
936+ },
937+ },
938+ },
939+ }
940+
941+ interfaces := []attachinterfaces.Interface {
942+ {
943+ PortState : "ACTIVE" ,
944+ FixedIPs : []attachinterfaces.FixedIP {
945+ {
946+ SubnetID : "491fba80-095e-4dee-bf4b-69046ba0b7fa" ,
947+ IPAddress : "13.13.13.106" ,
948+ },
949+ {
950+ SubnetID : "fb6ed503-7912-45cf-9bb6-15543296e960" ,
951+ IPAddress : "3000:0:0:1::3a3" ,
952+ },
953+ },
954+ PortID : "27c8b207-4ef1-4c3f-b27a-029ac5d62df1" ,
955+ NetID : "7da9e62c-2ec1-4784-91f1-a6b560d7b665" ,
956+ MACAddr : "fa:16:3e:b3:9f:c2" ,
957+ },
958+ {
959+ PortState : "ACTIVE" ,
960+ FixedIPs : []attachinterfaces.FixedIP {
961+ {
962+ SubnetID : "491fba80-095e-4dee-bf4b-69046ba0b7fa" ,
963+ IPAddress : "13.13.13.186" ,
964+ },
965+ {
966+ SubnetID : "fb6ed503-7912-45cf-9bb6-15543296e960" ,
967+ IPAddress : "3000:0:0:1::38a" ,
968+ },
969+ },
970+ PortID : "97a49a02-3703-4632-be5e-a947a1e44138" ,
971+ NetID : "7da9e62c-2ec1-4784-91f1-a6b560d7b665" ,
972+ MACAddr : "fa:16:3e:1d:b7:a7" ,
973+ },
974+ {
975+ PortState : "ACTIVE" ,
976+ FixedIPs : []attachinterfaces.FixedIP {
977+ {
978+ SubnetID : "b1c1f54e-f7cc-474f-be4c-f559ffb7fc94" ,
979+ IPAddress : "14.14.14.228" ,
980+ },
981+ {
982+ SubnetID : "3d3ab7f7-e235-4476-81a2-62982f9f9673" ,
983+ IPAddress : "3000:0:0:1::1a3" ,
984+ },
985+ },
986+ PortID : "6465554c-5ddc-4cd8-8704-e5ed4bde21ca" ,
987+ NetID : "59c2e3cc-26a2-44c8-b8dc-d10f3995bcd9" ,
988+ MACAddr : "fa:16:3e:15:20:50" ,
989+ },
990+ {
991+ PortState : "ACTIVE" ,
992+ FixedIPs : []attachinterfaces.FixedIP {
993+ {
994+ SubnetID : "b1c1f54e-f7cc-474f-be4c-f559ffb7fc94" ,
995+ IPAddress : "14.14.14.98" ,
996+ },
997+ {
998+ SubnetID : "3d3ab7f7-e235-4476-81a2-62982f9f9673" ,
999+ IPAddress : "3000:0:0:1::39d" ,
1000+ },
1001+ },
1002+ PortID : "a9145a03-1c58-442e-8ca5-cf85a65fdae4" ,
1003+ NetID : "59c2e3cc-26a2-44c8-b8dc-d10f3995bcd9" ,
1004+ MACAddr : "fa:16:3e:36:b7:8c" ,
1005+ },
1006+ {
1007+ PortState : "ACTIVE" ,
1008+ FixedIPs : []attachinterfaces.FixedIP {
1009+ {
1010+ SubnetID : "b1c1f54e-f7cc-474f-be4c-f559ffb7fc94" ,
1011+ IPAddress : "14.14.14.98" ,
1012+ },
1013+ {
1014+ SubnetID : "3d3ab7f7-e235-4476-81a2-62982f9f9673" ,
1015+ IPAddress : "3000:0:0:1::39d" ,
1016+ },
1017+ },
1018+ PortID : "a9145a03-1c58-442e-8ca5-cf85a65fdae4" ,
1019+ NetID : "59c2e3cc-26a2-44c8-b8dc-d10f3995bcd9" ,
1020+ MACAddr : "fa:16:3e:36:b7:8c" ,
1021+ },
1022+ {
1023+ PortState : "ACTIVE" ,
1024+ FixedIPs : []attachinterfaces.FixedIP {
1025+ {
1026+ SubnetID : "f729eeab-f3ef-4cbd-b90e-87030f617ecf" ,
1027+ IPAddress : "10.75.11.20" ,
1028+ },
1029+ },
1030+ PortID : "bf7934ab-9804-4453-b0b9-dd68010e5c56" ,
1031+ NetID : "ext-net1" ,
1032+ MACAddr : "fa:16:3e:ea:50:c9" ,
1033+ },
1034+ {
1035+ PortState : "ACTIVE" ,
1036+ FixedIPs : []attachinterfaces.FixedIP {
1037+ {
1038+ SubnetID : "c4a00f06-ffc7-4ef8-a135-10b033dbde59" ,
1039+ IPAddress : "10.75.11.20" ,
1040+ },
1041+ },
1042+ PortID : "37ee3b4c-b237-4648-86a5-3fbbf141c30b" ,
1043+ NetID : "ext-net2" ,
1044+ MACAddr : "fa:16:3e:ea:50:c9" ,
1045+ },
1046+ {
1047+ PortState : "ACTIVE" ,
1048+ FixedIPs : []attachinterfaces.FixedIP {
1049+ {
1050+ SubnetID : "bbece9ca-5f7a-4033-80d8-a98bf75220bf" ,
1051+ IPAddress : "172.16.1.241" ,
1052+ },
1053+ },
1054+ PortID : "3017537c-d94e-4fc6-beed-6cd6919680c1" ,
1055+ NetID : "mycluster-01-vlan701_network" ,
1056+ MACAddr : "fa:16:3e:10:f0:27" ,
1057+ },
1058+ {
1059+ PortState : "ACTIVE" ,
1060+ FixedIPs : []attachinterfaces.FixedIP {
1061+ {
1062+ SubnetID : "1236fcc3-f235-41bc-84f8-464329c1c4c5" ,
1063+ IPAddress : "172.16.1.241" ,
1064+ },
1065+ },
1066+ PortID : "79f2a2de-ce1b-4424-83d8-a904e732f222" ,
1067+ NetID : "mycluster-01-vlan701_network2" ,
1068+ MACAddr : "fa:16:3e:10:f0:27" ,
1069+ },
1070+ {
1071+ PortState : "ACTIVE" ,
1072+ FixedIPs : []attachinterfaces.FixedIP {
1073+ {
1074+ SubnetID : "a9f8028e-7a78-4ffe-ac26-f25887b77293" ,
1075+ IPAddress : "172.16.2.36" ,
1076+ },
1077+ {
1078+ SubnetID : "a278e619-4f31-4f54-a241-3814410f9247" ,
1079+ IPAddress : "3000:0:0:1::118" ,
1080+ },
1081+ },
1082+ PortID : "81936400-6240-4b81-b72b-cac0840a774d" ,
1083+ NetID : "mycluster-01-vlan702_network" ,
1084+ MACAddr : "fa:16:3e:c9:b0:7e" ,
1085+ },
1086+ {
1087+ PortState : "ACTIVE" ,
1088+ FixedIPs : []attachinterfaces.FixedIP {
1089+ {
1090+ SubnetID : "fe9826f5-dfb5-4a4c-8a57-3a2963068bb6" ,
1091+ IPAddress : "172.16.2.36" ,
1092+ },
1093+ {
1094+ SubnetID : "779c28ee-63cf-4dd8-9c87-b82bfae8e1fb" ,
1095+ IPAddress : "3000:0:0:1::118" ,
1096+ },
1097+ },
1098+ PortID : "87fac0f8-d46f-4744-940a-7d9526d3cdde" ,
1099+ NetID : "mycluster-01-vlan702_network2" ,
1100+ MACAddr : "fa:16:3e:c9:b0:7e" ,
1101+ },
1102+ }
1103+
1104+ networkingOpts := NetworkingOpts {
1105+ InternalNetworkName : []string {"mycluster-01-vlan701_network" , "mycluster-01-vlan701_network2" },
1106+ }
1107+
1108+ addresses , err := nodeAddresses (& srv , interfaces , networkingOpts )
1109+ if err != nil {
1110+ t .Errorf ("nodeAddresses returned error: %v" , err )
1111+ }
1112+
1113+ t .Logf ("addresses are %v" , addresses )
1114+
1115+ want := []v1.NodeAddress {
1116+ {Type : v1 .NodeInternalIP , Address : "172.16.1.241" },
1117+ }
1118+
1119+ if ! reflect .DeepEqual (want , addresses ) {
1120+ t .Errorf ("nodeAddresses returned incorrect value, want %v" , want )
1121+ }
1122+ }
1123+
8811124func TestNewOpenStack (t * testing.T ) {
8821125 cfg := ConfigFromEnv ()
8831126 testConfigFromEnv (t , & cfg )
0 commit comments