On Jan 26, 2014, at 7:09 PM, Nux! nux@li.nux.ro wrote:
On 26.01.2014 22:47, Nux! wrote:
On 26.01.2014 20:59, Karanbir Singh wrote:
given that cloud-init does work and do the right thing for eucalyptus and openstack ( I've just tested those two ) - what fails for CloudInit ? is the data provider from CS itself incomplete or not hooking into the right place ?
I have not tested ssh key and/or user data functionality, I believe this was already reported to work[1], but from my tests cloud-init never makes a request to the virtual router on port 8080 to retrieve the password. Why that is, I'll leave it to someone who knows how cloud-init works and can read code... [1] http://shankerbalan.net/blog/ssh-keys-on-cloudstack-guest-instances-using-cl...
Furthermore, cloud-init does seem to be trying various stuff as it can be seen from the virtual router's apache logs, but it makes 0 requests (verified via tcpdump) to the password service on port 8080:
"GET //latest/meta-data/instance-id HTTP/1.1" 200 241 "-" "Cloud-Init/0.7.4" "GET //latest/user-data HTTP/1.1" 200 222 "-" "Python-urllib/2.6" "GET //latest/meta-data/ HTTP/1.1" 200 361 "-" "Python-urllib/2.6" "GET //latest/meta-data/ HTTP/1.1" 200 361 "-" "Python-urllib/2.6" "GET //latest/meta-data/local-ipv4 HTTP/1.1" 200 236 "-" "Python-urllib/2.6" "GET //latest/meta-data/local-hostname HTTP/1.1" 200 224 "-" "Python-urllib/2.6" "GET //latest/meta-data/public-hostname HTTP/1.1" 200 222 "-" "Python-urllib/2.6" "GET //latest/meta-data/public-keys HTTP/1.1" 200 222 "-" "Python-urllib/2.6" "GET //latest/meta-data/cloud-identifier HTTP/1.1" 200 273 "-" "Python-urllib/2.6" "GET //latest/meta-data/service-offering HTTP/1.1" 200 242 "-" "Python-urllib/2.6" "GET //latest/meta-data/public-ipv4 HTTP/1.1" 200 236 "-" "Python-urllib/2.6" "GET //latest/meta-data/vm-id HTTP/1.1" 200 260 "-" "Python-urllib/2.6" "GET //latest/meta-data/availability-zone HTTP/1.1" 200 233 "-" "Python-urllib/2.6" "GET //latest/meta-data/instance-id HTTP/1.1" 200 260 "-" "Python-urllib/2.6"
The weird thing is that it does indeed change the password, because the default password no longer works, but to what, I do not know.
[root@ce ~]# grep -i password /var/log/cloud-init.log Jan 26 23:46:52 ce [CLOUDINIT] importer.py[DEBUG]: Looking for modules ['cc_set_passwords', 'cloudinit.config.cc_set_passwords'] that have attributes ['handle'] Jan 26 23:46:52 ce [CLOUDINIT] importer.py[DEBUG]: Found cc_set_passwords with attributes ['handle'] in ['cloudinit.config.cc_set_passwords'] Jan 26 23:46:52 ce [CLOUDINIT] util.py[DEBUG]: Writing to /var/lib/cloud/instances/e4212973-1224-43f9-aba9-d1582bf8d881/sem/config_set_passwords - wb: [420] 20 bytes Jan 26 23:46:52 ce [CLOUDINIT] util.py[DEBUG]: Restoring selinux mode for /var/lib/cloud/instances/e4212973-1224-43f9-aba9-d1582bf8d881/sem/config_set_passwords (recursive=False) Jan 26 23:46:52 ce [CLOUDINIT] util.py[DEBUG]: Restoring selinux mode for /var/lib/cloud/instances/e4212973-1224-43f9-aba9-d1582bf8d881/sem/config_set_passwords (recursive=False) Jan 26 23:46:52 ce [CLOUDINIT] helpers.py[DEBUG]: Running config-set-passwords using lock (<FileLock using file '/var/lib/cloud/instances/e4212973-1224-43f9-aba9-d1582bf8d881/sem/config_set_passwords'>) Jan 26 23:46:52 ce [CLOUDINIT] cc_set_passwords.py[DEBUG]: Replacing auth line 66 with yes Jan 26 23:46:52 ce [CLOUDINIT] cc_set_passwords.py[DEBUG]: Restarted the ssh daemon Jan 26 23:51:44 ce [CLOUDINIT] importer.py[DEBUG]: Looking for modules ['cc_set_passwords', 'cloudinit.config.cc_set_passwords'] that have attributes ['handle'] Jan 26 23:51:44 ce [CLOUDINIT] importer.py[DEBUG]: Found cc_set_passwords with attributes ['handle'] in ['cloudinit.config.cc_set_passwords'] Jan 26 23:51:44 ce [CLOUDINIT] helpers.py[DEBUG]: config-set-passwords already ran (freq=once-per-instance) [root@ce ~]# cat /var/lib/cloud/instances/e4212973-1224-43f9-aba9-d1582bf8d881/sem/config_set_passwords 1261: 1390780012.61
So, I would say Cloudstack support is incomplete at this time, unless someone tells me I need to enable some other module. I'll look up in the following days how to hook a script into it, perhaps we can do it this way.
Nux, I think this might be due to this bug reported on ubuntu lists: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1250398
the cause might be an upgrade of boto. Let's discuss and test off list to see how we can solve this.
-sebastien
-- Sent from the Delta quadrant using Borg technology!
Nux! www.nux.ro