threefoldtecharchive / jumpscaleX_threebot

Apache License 2.0
0 stars 3 forks source link

Not able to access flist through ipv6 #788

Closed tobiaschielens closed 3 years ago

tobiaschielens commented 3 years ago

I've tried to deploy a flist through the 3sdk. Accessing it through ipv4 works fine. However, ipv6 is not working. I also added the public ipv6=true flag but I'm still not able to access the flist trough ipv6 publically or locally. Even the 7681 port is not accessible.

Network: Mainnet Reservation id: 11096 Public ipv6 is 2001:728:1000:401:2026:e1ff:fe06:bf0e

Create script:

explorer_url = 'explorer.grid.tf'
network_name = 'digitalyou_network'
node_id = '2gKiAZgeA8C1HsvSYMfdnZYPWNm51xMdYRBNnZxAthWr'

j.clients.explorer.default_addr_set(explorer_url)
me = j.me
zos = j.sal.zosv2

r = zos.reservation_create()

container = zos.container.create(reservation=r,
                    node_id=node_id,
                    network_name=network_name,
                    ip_address='172.20.0.16',
                    public_ipv6=True,
                    flist='https://hub.grid.tf/tobias.3bot/jimbersoftware-digitalyouonline-0.4.flist',
                    interactive=True,
                    cpu=4,
                    memory=4196,
                    disk_size=8192,
                    disk_type='SSD',
                    entrypoint='/bin/bash /entrypoint.sh')

container.environment['pub_key'] = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCTPaF1W8Fr9QAVtG7h8E+O9Kv+YWlfb1nK9vyxX+gm/27CpTTNJR+CZrhXAOnNoL8F3O2EFUtvzkx04n8gFfYUR1eHuVP3wIKXAF5qhQUwK18IfIPBIl9vvFSsMyGqRbNi4JVQ018IJP4tlejuMaPs8QBkEqMfHQy9FQGYGjzhJtpSgBvkhzrqToVhEunEgHCGDVdP+fJtM2ETGeoOCLD2xr9r+cakq2M3VwOj3teNN34+Mufz/INMIUrsFvIH4pdoMnKQbDfkF2gTLWOl902MOmlGxp/+hbtOxmZ962pNm07pEU9u553Km/KsUOJ54ZJybjQVS1ckB9OPHHA2AiUOWogWrJMPxYD0I9+FmFpvFdanh4+dFPHqt4X1uS/fqPrHgRCn/LfhOj7PHF2HOeB4PvVQf6vniTpxWLZAu6ldR3zyG+p9hUliZFAjDhATuzFUmqQhG+qULBh9Jai5gHNPeLD2KqYw39hPnn8baLj9rgWPRODNdIzdW4EomdgAVqhEXspH9uk+9i4BGyhzWH+gNvoVGYo2LmfQoHBCjobTlo/G/oWBZ4sq0RGi1YfMkDXictfKyRT2hSQu/X3vNJL+GFZRxL0N5upHEGxWwbogrMJoTwgVtmx75ulzu1aDBIn5144+d8aVSP6XEjnea+/1w6PU6NO7HktKxWklyjHgAQ== tobias.chielens@gmail.com'

expiration = j.data.time.epoch + 21600
rid = zos.reservation_register(r, expiration, identity=me, currencies=['FreeTFT'])

Terminal output

tfgrid.workloads.reservation.1

ID: 11096

m-motawea commented 3 years ago

but I'm still not able to access the flist trough ipv6 publically or locally. Even the 7681 port is not accessible.

are you unable to reach the assigned ip or you have a problem with corex? that's not clear in the issue.

if you can't reach the assigned ipv6, and you have correct ipv6 config on your local machine and network. then the node would probably be misbehaving.

if it is about corex, as far as I know, you should set entrypoint = "" when you use interactive=True

tobiaschielens commented 3 years ago

I am not able to reach the returned ipv6 address. However, I am able to reach the flist through ipv4. I'm also able to get a shell through ipv4. Using ipv6-test I can see that I have correct access to ipv6.

I've tried putting entrypoint = "" but the result seems to be the same

Changing from node results in the same issue

zaibon commented 3 years ago

So from what I can see in your comment, only the IPv6 was unreachable. Usually this means there is a firewall configuration issue at the farm network level that prevent traffic to go through. Did you ever had the same issue on nodes form different farms ?

tobiaschielens commented 3 years ago

I had it on node J1Xb2piba1vZM2pSmWP24CPgREnoTce7EuUJysttCyz6 from freefarm Reservation id: 11191 as well as the FLCoKMPfuDtbrwdfn2UN7dgKpMVizsbsWu3gYiGcpfRw from GreenEdge-Frankfurt1 reservation id: 11193

Both are accessible through ipv4 but not ipv6

zaibon commented 3 years ago

Keep in mind that coreX is not exposed on IPv6. So when you use the interfactive=True, you can only access port 7681 through your private network.

zaibon commented 3 years ago

After investigation it turns out the problem was the server running in the container was simply not listening on ipv6