Thanks Ramy.
I will post the question....

In fact, I do have the NODEPOOL_SSH_KEY set.
This key is only referenced by Jenkins puppet to enable puppet to connect 
to the node.
The problem here is that nodepool tries to access the node through 
user=root, and there is no code that sets the key (that was created by 
nodpool itself) to the node's root authorized_keys.
 

Isaac Beckman

Office: +972-3-6897874
Fax: +972-3-6897755
Mobile: +972-50-2680180
Email: [email protected]

IBM XIV, Cloud Storage Solutions (previously HSG)
www.ibm.com/storage/disk/xiv
 



From:   "Asselin, Ramy" <[email protected]>
To:     Isaac Beckman/Israel/IBM@IBMIL, "[email protected]" 
<[email protected]>, OpenStack Infra 
<[email protected]>
Date:   04/04/2016 05:52 PM
Subject:        RE: Nodepool issue (is it a bug?)



Hi Isaac,
 
Please send these questions to openstack-infra mailing list. You?ll get 
better responses.
 
Nodepool keys are injected here as documented [1]
 
# Ensure the NODEPOOL_SSH_KEY variable is in the environment
# Otherwise nodepool won't be able to ssh into nodes based
# on the image built manually using these instructions
source /etc/default/nodepool
 
I suspect you don?t have that variable set.
 
Ramy
 
[1] 
http://docs.openstack.org/infra/openstackci/third_party_ci.html#start-nodepool
 
From: Isaac Beckman [mailto:[email protected]] 
Sent: Monday, April 04, 2016 4:29 AM
To: [email protected]
Subject: Nodepool issue (is it a bug?)
 
Hi Ramy,

I'm working on setting a CI system for IBM storage products.
Currently I'm dealing with Nodepool.

I created an image and uplad it to glance and then I use nodepool to 
create VMs
I run the following command....

> nodepool image-update

After the VM is created in openstack nodepool tries to connect via ssh and 
fails 
the error is: (from /var/log/nodepool.log)
2016-04-03 16:34:08,985 INFO nodepool.utils: Auth exception for 
[email protected]. Try number 18..

I looked in nodepool.py. The problem seems to be with the following code:


    def bootstrapServer(self, server, key, use_password=False):
        log = logging.getLogger("nodepool.image.build.%s.%s" %
                                (self.provider.name, self.image.name))

        ssh_kwargs = dict(log=log)
        if not use_password:
            ssh_kwargs['pkey'] = key
        else:
            ssh_kwargs['password'] = server['admin_pass']

        host = utils.ssh_connect(server['public_ip'], 'root', ssh_kwargs,
                                 timeout=CONNECT_TIMEOUT)

        if not host:
            # We have connected to the node but couldn't do anything as 
root
            # try distro specific users, since we know ssh is up (a 
timeout
            # didn't occur), we can connect with a very sort timeout.
            for username in ['ubuntu', 'fedora', 'cloud-user', 'centos',
                             'debian']:
                try:
                    host = utils.ssh_connect(server['public_ip'], 
username,
                                             ssh_kwargs,
                                             timeout=10)
                    if host:
                        break
                except:
                    continue

        if not host:
            raise Exception("Unable to log in via SSH")

According to this code, nodepool tries to connect to the node with new 
generated key (by paramiko) and user = 'root' or user = 'ubuntu';
The problem is that no one put the ssh key in theses users?
Is it a bug?

Thanks,
Isaac Beckman

Office: +972-3-6897874
Fax: +972-3-6897755
Mobile: +972-50-2680180
Email: [email protected]

IBM XIV, Cloud Storage Solutions (previously HSG)
www.ibm.com/storage/disk/xiv
 



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

Reply via email to