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