[Yahoo-eng-team] [Bug 1705306] [NEW] Cannot set hostname on Arch Linux

2017-07-19 Thread Jon Gjengset
Public bug reported:

cloud-init fails to set the hostname on Arch Linux with the following
error:

[CLOUDINIT] util.py[DEBUG]: Failed to set the hostname to dev1.localdomain 
(dev1)
  Traceback (most recent call last):
File 
"/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.py", line 
33, in handle
  cloud.distro.set_hostname(hostname, fqdn)
File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 
96, in set_hostname
  self._write_hostname(writeable_hostname, self.hostname_conf_fn)
File "/usr/lib/python2.7/site-packages/cloudinit/distros/arch.py", line 
132, in _write_hostname
  util.write_file(out_fn, conf, 0o644)
File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 1662, in 
write_file
  content = encode_text(content)
File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 97, in 
encode_text
  return text.encode(encoding)
  AttributeError: 'HostnameConf' object has no attribute 'encode'

The bug is that _write_hostname passes conf instead of str(conf) to
util.write_file (compare distros/arch.py#n122 and
distros/debian.py#n112).

** Affects: cloud-init
 Importance: Undecided
 Status: New

** Description changed:

  cloud-init fails to set the hostname on Arch Linux with the following
  error:
  
  [CLOUDINIT] util.py[DEBUG]: Failed to set the hostname to dev1.localdomain 
(dev1)
-  Traceback (most recent call last):
-File 
"/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.py", line 
33, in handle
-  
cloud.distro.set_hostname(hostname, fqdn)
-File 
"/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 96, in 
set_hostname
-  
self._write_hostname(writeable_hostname, self.hostname_conf_fn)
-File 
"/usr/lib/python2.7/site-packages/cloudinit/distros/arch.py", line 132, in 
_write_hostname
-  util.write_file(out_fn, conf, 
0o644)
-File 
"/usr/lib/python2.7/site-packages/cloudinit/util.py", line 1662, in write_file
-  content = encode_text(content)
-File 
"/usr/lib/python2.7/site-packages/cloudinit/util.py", line 97, in encode_text
-  return text.encode(encoding)
-  AttributeError: 'HostnameConf' 
object has no attribute 'encode'
+   Traceback (most recent call last):
+ File 
"/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.py", line 
33, in handle
+   cloud.distro.set_hostname(hostname, fqdn)
+ File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", 
line 96, in set_hostname
+   self._write_hostname(writeable_hostname, self.hostname_conf_fn)
+ File "/usr/lib/python2.7/site-packages/cloudinit/distros/arch.py", line 
132, in _write_hostname
+   util.write_file(out_fn, conf, 0o644)
+ File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 1662, in 
write_file
+   content = encode_text(content)
+ File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 97, in 
encode_text
+   return text.encode(encoding)
+   AttributeError: 'HostnameConf' object has no attribute 'encode'
  
  The bug is that _write_hostname passes conf instead of str(conf) to
  util.write_file (compare distros/arch.py#n122 and
  distros/debian.py#n112).

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1705306

Title:
  Cannot set hostname on Arch Linux

Status in cloud-init:
  New

Bug description:
  cloud-init fails to set the hostname on Arch Linux with the following
  error:

  [CLOUDINIT] util.py[DEBUG]: Failed to set the hostname to dev1.localdomain 
(dev1)
Traceback (most recent call last):
  File 
"/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.py", line 
33, in handle
cloud.distro.set_hostname(hostname, fqdn)
  File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", 
line 96, in set_hostname
self._write_hostname(writeable_hostname, self.hostname_conf_fn)
  File "/usr/lib/python2.7/site-packages/cloudinit/distros/arch.py", line 
132, in _write_hostname
util.write_file(out_fn, conf, 0o644)
  File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 1662, in 
write_file
content = encode_text(content)
  File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 97, in 
encode_text
return text.encode(encoding)
AttributeError: 'HostnameConf' object has no attribute 'encode'

  The bug 

[Yahoo-eng-team] [Bug 1499751] Re: OpenStack (nova boot exactly) allows only one SSH key.

2017-02-08 Thread Jon Gjengset
*** This bug is a duplicate of bug 917850 ***
https://bugs.launchpad.net/bugs/917850

** This bug has been marked a duplicate of bug 917850
   assignment of multiple keypair to instances

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1499751

Title:
  OpenStack (nova boot exactly) allows only one SSH key.

Status in OpenStack Compute (nova):
  Opinion

Bug description:
  ii  nova-api 1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute - API frontend
  ii  nova-cert1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute - certificate management
  ii  nova-common  1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute - common files
  ii  nova-conductor   1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute - conductor service
  ii  nova-consoleauth 1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute - Console Authenticator
  ii  nova-novncproxy  1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute - NoVNC proxy
  ii  nova-scheduler   1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute - virtual machine scheduler
  ii  python-nova  1:2015.1.1-0ubuntu1~cloud2   
 all  OpenStack Compute Python libraries
  ii  python-novaclient1:2.22.0-0ubuntu1~cloud0 
 all  client library for OpenStack Compute API

  Problem was described at 
https://ask.openstack.org/en/question/82224/is-it-possible-to-create-instance-with-multiple-ssh-keys/
  Looks like OpenStack (nova) allows to specify only one SSH key when instance 
is created. I believe array of strings should be supported instead of single 
string only, as authorized_keys allows for more than one SSH key. Workarounds 
like using merged key are not always an option, as it scales poorly (see 
example in question linked above).

  Wishlist/enhancement request of course.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1499751/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp


[Yahoo-eng-team] [Bug 1663045] [NEW] Arch distro fails to write network config with empty dns-nameservers

2017-02-08 Thread Jon Gjengset
Public bug reported:

In distros/arch.py, the network configuration is created using

'DNS': str(tuple(info.get('dns-nameservers'))).replace(',', '')

However, when dns-nameservers is None, this causes both cloud-init and
cloud-init-local to fail with

failed run of stage init-local

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cloudinit/cmd/main.py", line 513, in 
status_wrap
ret = functor(name, args)
  File "/usr/lib/python2.7/site-packages/cloudinit/cmd/main.py", line 254, in 
main_init
init.apply_network_config(bring_up=not args.local)
  File "/usr/lib/python2.7/site-packages/cloudinit/stages.py", line 641, in 
apply_network
return self.distro.apply_network_config(netcfg, bring_up=bring_up)
  File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 
154, in app
netconfig, bring_up=bring_up)
  File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 
143, in _ap
return self.apply_network(contents, bring_up=bring_up)
  File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 
125, in app
dev_names = self._write_network(settings)
  File "/usr/lib/python2.7/site-packages/cloudinit/distros/arch.py", line 67, 
in _write_n
'DNS': str(tuple(info.get('dns-nameservers'))).replace(',', '')
TypeError: 'NoneType' object is not iterable


The fix proposed in
https://bbs.archlinux.org/viewtopic.php?pid=1662566#p1662566 seems to
work for me, namely replacing the line with

'DNS': str(tuple(info.get('dns-nameservers'))).replace(',', '') if
info.get('dns-nameservers') != None else None

** Affects: cloud-init
 Importance: Undecided
 Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1663045

Title:
  Arch distro fails to write network config with empty dns-nameservers

Status in cloud-init:
  New

Bug description:
  In distros/arch.py, the network configuration is created using

  'DNS': str(tuple(info.get('dns-nameservers'))).replace(',', '')

  However, when dns-nameservers is None, this causes both cloud-init and
  cloud-init-local to fail with

  failed run of stage init-local
  
  Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/cloudinit/cmd/main.py", line 513, in 
status_wrap
  ret = functor(name, args)
File "/usr/lib/python2.7/site-packages/cloudinit/cmd/main.py", line 254, in 
main_init
  init.apply_network_config(bring_up=not args.local)
File "/usr/lib/python2.7/site-packages/cloudinit/stages.py", line 641, in 
apply_network
  return self.distro.apply_network_config(netcfg, bring_up=bring_up)
File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 
154, in app
  netconfig, bring_up=bring_up)
File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 
143, in _ap
  return self.apply_network(contents, bring_up=bring_up)
File "/usr/lib/python2.7/site-packages/cloudinit/distros/__init__.py", line 
125, in app
  dev_names = self._write_network(settings)
File "/usr/lib/python2.7/site-packages/cloudinit/distros/arch.py", line 67, 
in _write_n
  'DNS': str(tuple(info.get('dns-nameservers'))).replace(',', '')
  TypeError: 'NoneType' object is not iterable
  

  The fix proposed in
  https://bbs.archlinux.org/viewtopic.php?pid=1662566#p1662566 seems to
  work for me, namely replacing the line with

  'DNS': str(tuple(info.get('dns-nameservers'))).replace(',', '') if
  info.get('dns-nameservers') != None else None

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1663045/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp