Connections to unsecure hosts has to go to 2375 not 2376.

Make swarm ports search by hostname and not instance name as it is what
we get from swarm.
This commit is contained in:
Jonathan Leibiusky @xetorthio
2017-09-18 17:13:03 -03:00
parent 05135dd645
commit 86f27ee10d
4 changed files with 7 additions and 11 deletions

View File

@@ -38,7 +38,7 @@ func NewClient(instance *types.Instance, proxyHost string) (*client.Client, erro
tlsConfig.Certificates = []tls.Certificate{tlsCert}
}
} else {
host = router.EncodeHost(instance.SessionId, instance.RoutableIP, router.HostOpts{EncodedPort: 2376})
host = router.EncodeHost(instance.SessionId, instance.RoutableIP, router.HostOpts{EncodedPort: 2375})
}
transport := &http.Transport{

View File

@@ -29,10 +29,9 @@ func NewDinD(generator id.Generator, f docker.FactoryApi, s storage.StorageApi)
}
func checkHostnameExists(sessionId, hostname string, instances []*types.Instance) bool {
containerName := fmt.Sprintf("%s_%s", sessionId[:8], hostname)
exists := false
for _, instance := range instances {
if instance.Name == containerName {
if instance.Hostname == hostname {
exists = true
break
}

View File

@@ -2,7 +2,6 @@ package task
import (
"context"
"fmt"
"log"
"github.com/play-with-docker/play-with-docker/docker"
@@ -53,17 +52,12 @@ func (t *checkSwarmPorts) Run(ctx context.Context, instance *types.Instance) err
log.Println(err)
return err
}
instances := make([]string, len(hosts))
sessionPrefix := instance.SessionId[:8]
for i, host := range hosts {
instances[i] = fmt.Sprintf("%s_%s", sessionPrefix, host)
}
ports := make([]int, len(ps))
for i, port := range ps {
ports[i] = int(port)
}
t.event.Emit(CheckSwarmPortsEvent, instance.SessionId, DockerSwarmPorts{Manager: instance.Name, Instances: instances, Ports: ports})
t.event.Emit(CheckSwarmPortsEvent, instance.SessionId, DockerSwarmPorts{Manager: instance.Name, Instances: hosts, Ports: ports})
return nil
}

View File

@@ -23,6 +23,7 @@
$scope.sessionId = SessionService.getCurrentSessionId();
$scope.instances = [];
$scope.idx = {};
$scope.idxByHostname = {};
$scope.selectedInstance = null;
$scope.isAlive = true;
$scope.ttl = '--:--:--';
@@ -106,6 +107,7 @@
$scope.instances.push(i);
i.buffer = '';
$scope.idx[i.name] = i;
$scope.idxByHostname[i.hostname] = i;
} else {
$scope.idx[i.name].ip = i.ip;
$scope.idx[i.name].hostname = i.hostname;
@@ -170,6 +172,7 @@
var instance = i.instances[k];
$scope.instances.push(instance);
$scope.idx[instance.name] = instance;
$scope.idxByHostname[instance.hostname] = instance;
}
var socket = io({ path: '/sessions/' + sessionId + '/ws' });
@@ -267,7 +270,7 @@
socket.on('instance docker swarm ports', function(status) {
for(var i in status.instances) {
var instance = status.instances[i];
$scope.idx[instance].swarmPorts = status.ports;
$scope.idxByHostname[instance].swarmPorts = status.ports;
}
$scope.$apply();
});