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
