@@ -92,6 +92,7 @@ func (cp *CloudProvider) NodeAddresses(ctx context.Context, name types.NodeName)
9292// nodeaddresses are being queried. i.e. local metadata services cannot be used
9393// in this method to obtain nodeaddresses.
9494func (cp * CloudProvider ) NodeAddressesByProviderID (ctx context.Context , providerID string ) ([]api.NodeAddress , error ) {
95+ addresses := []api.NodeAddress {}
9596 cp .logger .With ("instanceID" , providerID ).Debug ("Getting node addresses by provider id" )
9697 instanceID , err := MapProviderIDToInstanceID (providerID )
9798 if err != nil {
@@ -101,7 +102,28 @@ func (cp *CloudProvider) NodeAddressesByProviderID(ctx context.Context, provider
101102 if err != nil {
102103 return nil , errors .Wrap (err , "GetPrimaryVNICForInstance" )
103104 }
104- return extractNodeAddressesFromVNIC (vnic )
105+ vnicAddresses , err := extractNodeAddressesFromVNIC (vnic )
106+ if err != nil {
107+ return nil , err
108+ }
109+ addresses = append (addresses , vnicAddresses ... )
110+ hostname := vnic .HostnameLabel
111+ if * hostname == "" {
112+ cp .logger .With ("instanceID" , providerID ).Debug ("hostname not set, instance won't be resolvable using using the Internet and VCN Resolver" )
113+ return addresses , nil
114+ }
115+ subnet , err := cp .client .Networking ().GetSubnet (ctx , * vnic .SubnetId )
116+ if err != nil {
117+ return nil , errors .Wrap (err , "GetSubnetForInstance" )
118+ }
119+ vcn , err := cp .client .Networking ().GetVcn (ctx , * subnet .VcnId )
120+ if err != nil {
121+ return nil , errors .Wrap (err , "GetVcnForInstance" )
122+ }
123+ fqdn := strings .Join ([]string {* hostname , * subnet .DnsLabel , * vcn .DnsLabel , "oraclevcn.com" }, "." )
124+ addresses = append (addresses , api.NodeAddress {Type : api .NodeHostName , Address : fqdn })
125+ addresses = append (addresses , api.NodeAddress {Type : api .NodeInternalDNS , Address : fqdn })
126+ return addresses , nil
105127}
106128
107129// InstanceID returns the cloud provider ID of the node with the specified NodeName.
0 commit comments