mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-05-02 06:16:08 -04:00
AB#2286 Return only primary IPs for instance metadata operations (#335)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
This commit is contained in:
parent
5c00dafe9b
commit
4151d365fb
21 changed files with 180 additions and 185 deletions
|
@ -73,16 +73,14 @@ func (s *Server) listSelf(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
for _, peer := range peers {
|
||||
for _, ip := range peer.PublicIPs {
|
||||
if ip == remoteIP {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
if err := json.NewEncoder(w).Encode(peer); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
log.Infof("Request successful")
|
||||
if peer.PublicIP == remoteIP {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
if err := json.NewEncoder(w).Encode(peer); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
log.Infof("Request successful")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -178,7 +176,7 @@ func (s *Server) exportPCRs(w http.ResponseWriter, r *http.Request) {
|
|||
return
|
||||
}
|
||||
for _, peer := range peers {
|
||||
if peer.PublicIPs[0] == remoteIP {
|
||||
if peer.PublicIP == remoteIP {
|
||||
nodeName = peer.Name
|
||||
}
|
||||
}
|
||||
|
@ -225,8 +223,8 @@ func (s *Server) listAll() ([]metadata.InstanceMetadata, error) {
|
|||
peers = append(peers, metadata.InstanceMetadata{
|
||||
Name: lease.Hostname,
|
||||
Role: instanceRole,
|
||||
PrivateIPs: []string{lease.IPaddr},
|
||||
PublicIPs: []string{lease.IPaddr},
|
||||
VPCIP: lease.IPaddr,
|
||||
PublicIP: lease.IPaddr,
|
||||
ProviderID: "qemu:///hostname/" + lease.Hostname,
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
|
@ -145,7 +146,7 @@ func TestListSelf(t *testing.T) {
|
|||
|
||||
server := New(logger.NewTest(t), tc.connect, file.Handler{})
|
||||
|
||||
req, err := http.NewRequest(http.MethodGet, "http://192.0.0.1/self", nil)
|
||||
req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "http://192.0.0.1/self", nil)
|
||||
require.NoError(err)
|
||||
req.RemoteAddr = tc.remoteAddr
|
||||
|
||||
|
@ -163,7 +164,7 @@ func TestListSelf(t *testing.T) {
|
|||
var metadata metadata.InstanceMetadata
|
||||
require.NoError(json.Unmarshal(metadataRaw, &metadata))
|
||||
assert.Equal(tc.connect.network.leases[0].Hostname, metadata.Name)
|
||||
assert.Equal(tc.connect.network.leases[0].IPaddr, metadata.PublicIPs[0])
|
||||
assert.Equal(tc.connect.network.leases[0].IPaddr, metadata.PublicIP)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -207,7 +208,7 @@ func TestListPeers(t *testing.T) {
|
|||
|
||||
server := New(logger.NewTest(t), tc.connect, file.Handler{})
|
||||
|
||||
req, err := http.NewRequest(http.MethodGet, "http://192.0.0.1/peers", nil)
|
||||
req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, "http://192.0.0.1/peers", nil)
|
||||
require.NoError(err)
|
||||
req.RemoteAddr = tc.remoteAddr
|
||||
|
||||
|
@ -262,7 +263,7 @@ func TestPostLog(t *testing.T) {
|
|||
|
||||
server := New(logger.NewTest(t), &stubConnect{}, file.NewHandler(afero.NewMemMapFs()))
|
||||
|
||||
req, err := http.NewRequest(tc.method, "http://192.0.0.1/logs", tc.message)
|
||||
req, err := http.NewRequestWithContext(context.Background(), tc.method, "http://192.0.0.1/logs", tc.message)
|
||||
require.NoError(err)
|
||||
req.RemoteAddr = tc.remoteAddr
|
||||
|
||||
|
@ -343,7 +344,7 @@ func TestExportPCRs(t *testing.T) {
|
|||
file := file.NewHandler(afero.NewMemMapFs())
|
||||
server := New(logger.NewTest(t), tc.connect, file)
|
||||
|
||||
req, err := http.NewRequest(tc.method, "http://192.0.0.1/pcrs", strings.NewReader(tc.message))
|
||||
req, err := http.NewRequestWithContext(context.Background(), tc.method, "http://192.0.0.1/pcrs", strings.NewReader(tc.message))
|
||||
require.NoError(err)
|
||||
req.RemoteAddr = tc.remoteAddr
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue