Follow up:

i have added some crude debug to /usr/local/lib/python2.7/dist-packages/shade/openstackcloud.py and seems that private ip is really treated as public, this condition is triggered:

        if server['public_v4']:
            return False

so basically shade figures out that started instance already has a public IP.

If i "hack" it and just change it to return True, so that def _needs_floating_ip(self, server, nat_destination): despite thinking that instance already has public_v4 returnes True, instance gets floating IP adress auto assigned.

Now i have to figure out why private IP is considered as public...


03.04.2017 17:21, Alex Burmashev пишет:
Yeah, i thought about it, but i think automatic IP assigning is only supported with nova-network, and i use neutron.

Moreover at least for some time nodepool definitely was assigning IPs to the VMs, it is starting, it is mentioned in docs, maillists and irc discussions. Maybe at some moment automatic floating IP assigning on a cloud became a must-have, but it is not mentioned in nodepool/openstack CI docs anywhere...



03.04.2017 17:07, Lenny Verkhovsky пишет:
If I am not mistaken,
You can configure your cloud/network to assign automatically floating IP to the VM.
This is related to the cloud and not to the nodepool

-----Original Message-----
From: Alex Burmashev [mailto:[email protected]]
Sent: Monday, April 3, 2017 6:03 PM
To: Lenny Verkhovsky <[email protected]>; [email protected]
Subject: Re: [OpenStack-Infra] [nodepool] unable to get a floating IP

Hi!

* private ip is assigned without a problem automatically.

* VM is inaccessible from the external network using private IP, available from inside the private network. Which is normal, i think. When i manually assign public IP, machine is accessible via that public IP from elsewhere.

* This is the problem. I am a bit stuck debugging, because i do not see any failures in logs, except for "Timeout waiting for ssh access" in nodepool logs.

Here is some more info:

nodepool logs already have DEBUG enabled, at least according to logging.conf

[handler_debug]
level=DEBUG
class=logging.handlers.TimedRotatingFileHandler
formatter=simple
args=('/var/log/nodepool/debug.log', 'H', 8, 30,)


The only error i am getting is

ERROR nodepool.NodeLauncher: Timeout launching node id: 155 in provider:
local_01 error: Timeout waiting for ssh access

but it is obvious why it is happening:

DEBUG nodepool.TaskManager: Manager local_01 ran task ServerList in 0.138505220413s
   DEBUG nodepool.TaskManager: Manager local_01 running task PortList
(queue: 0)
DEBUG nodepool.TaskManager: Manager local_01 ran task PortList in 0.0317981243134s DEBUG nodepool.TaskManager: Manager local_01 running task NeutronFloatingIPList (queue: 0) DEBUG nodepool.NodeLauncher: Node id: 155 is running, ipv4: 8.8.8.151, ipv6:. DEBUG nodepool.NodeLauncher: Node id: 155 testing ssh at ip: 8.8.8.151

It looks like nodepool assumes that private IP is the one, needed, and tries to access the instance using it, and i do not see any attempts to assign a public floating ip at all.

I tried adding "public: true/false" to networks field in nodepool.yaml and it did not help at all.


03.04.2017 15:12, Lenny Verkhovsky пишет:
Hi Alex,
    Please set DEBUG level in nodepool to see more info
Few questions:
    Do you get private ip?
    Can you ping the vm?
    What is the failure?



-----Original Message-----
From: Alex Burmashev [mailto:[email protected]]
Sent: Monday, April 3, 2017 4:03 PM
To: [email protected]
Subject: [OpenStack-Infra] [nodepool] unable to get a floating IP

Hello!

I am setting up a CI instance and currently face a problem with auto-assigning floating IPs.

Instances are started, no error in /var/log/nodepool/debug.log, but floating ip is not assigned and nodepool tries to access instance via private ip, and it fails obviously.

Manual IP assigning both from cli and horizon works without any problems.

I am using nodepool 0.4.0 + zookeeper.

Here is my nodepool provider config:

       username: '***'
       password: '***'
       auth-url: 'http://****:5000/v2.0'
       project-name: 'openstackci'
       max-servers: 4
       pool: public-net
       clean-floating-ips: true
       networks:
         - name: net2
       images:
         - name: oracle7
           min-ram: 8192
           diskimage: oracle7
           username: jenkins
           private-key: '/home/nodepool/.ssh/id_rsa'

targets:
     - name: jenkins1


net2 - is a private network, public-net is a pool of floating ips on public network,

net2 is connected to public network through router. Manual VM creation on net2 and assigning a floating IP works without any problems.

    docker-ostk neutron net-list
+--------------------------------------+------------+------------------------------------------------------+
| id                                   | name       |
subnets                                              |
+--------------------------------------+------------+------------------------------------------------------+
| 38a6b5c4-fb04-47fd-bc4e-8cc9e341bbd2 | public-net |
ebf6fb2e-f423-47ef-9f09-3e007c15817f                 |
| 632ed77c-f913-4576-90c3-4404a7e2fbc6 | net2       |
6ad037cf-2177-4159-9676-99e01ca0b15b 8.8.8.0/24      |
+--------------------------------------+------------+------------------------------------------------------+

docker-ostk nova floating-ip-pool-list
+------------+
| name       |
+------------+
| public-net |
+------------+


_______________________________________________
OpenStack-Infra mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra



_______________________________________________
OpenStack-Infra mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra

Reply via email to