group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #12692
[Bug 1665694] Re: cc_set_passwords fails to change passwords specified as chpasswd['list'] in cloud-config
This bug was fixed in the package cloud-init - 0.7.9-90-g61eb03fe-
0ubuntu1~16.04.1
---------------
cloud-init (0.7.9-90-g61eb03fe-0ubuntu1~16.04.1) xenial-proposed; urgency=medium
* debian/cloud-init.templates: add Bigstep to list of sources. (LP: #1676460)
* New upstream snapshot.
- OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946)
- Fix bug that resulted in an attempt to rename bonds or vlans.
(LP: #1669860)
- tests: update OpenNebula and Digital Ocean to not rely on host
interfaces.
- net: in netplan renderer delete known image-builtin content.
(LP: #1675576)
- doc: correct grammar in capabilities.rst [David Tagatac]
- ds-identify: fix detecting of maas datasource. (LP: #1677710)
- netplan: remove debugging prints, add debug logging [Ryan Harper]
- ds-identify: do not write None twice to datasource_list.
- support resizing partition and rootfs on system booted without
initramfs. [Steve Langasek] (LP: #1677376)
- apt_configure: run only when needed. (LP: #1675185)
- OpenStack: identify OpenStack by product 'OpenStack Compute'.
(LP: #1675349)
- GCE: Search GCE in ds-identify, consider serial number in check.
(LP: #1674861)
- Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325)
- Fix filesystem creation when using "partition: auto"
[Jonathan Ballet] (LP: #1634678)
- ConfigDrive: support reading config drive data from /config-drive.
(LP: #1673411)
- ds-identify: fix detection of Bigstep datasource. (LP: #1674766)
- test: add running of pylint [Joshua Powers]
- ds-identify: fix bug where filename expansion was left on.
- advertise network config v2 support (NETWORK_CONFIG_V2) in features.
- Bigstep: fix bug when executing in python3. [root]
- Fix unit test when running in a system deployed with cloud-init.
- Bounce network interface for Azure when using the built-in path.
[Brent Baude] (LP: #1674685)
- cloudinit.net: add network config v2 parsing and rendering [Ryan Harper]
- net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317)
- net: add renderers for automatically selecting the renderer.
- doc: fix config drive doc with regard to unpartitioned disks.
(LP: #1673818)
- test: Adding integratiron test for password as list [Joshua Powers]
- render_network_state: switch arguments around, do not require target
- support 'loopback' as a device type.
- Integration Testing: improve testcase subclassing [Wesley Wiedenmeier]
- gitignore: adding doc/rtd_html [Joshua Powers]
- doc: add instructions for running integration tests via tox.
[Joshua Powers]
- test: avoid differences in 'date' output due to daylight savings.
- Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837)
- Add feature flags to cloudinit.version. [Wesley Wiedenmeier]
- tox: add a citest environment
- Support chpasswd/list being a list in addition to a string.
[Sergio Lystopad] (LP: #1665694)
- doc: Fix configuration example for cc_set_passwords module.
[Sergio Lystopad] (LP: #1665773)
- net: support both ipv4 and ipv6 gateways in sysconfig.
[Lars Kellogg-Stedman] (LP: #1669504)
- net: do not raise exception for > 3 nameservers
[Lars Kellogg-Stedman] (LP: #1670052)
-- Scott Moser <smoser@xxxxxxxxxx> Mon, 03 Apr 2017 11:52:56 -0400
** Changed in: cloud-init (Ubuntu Xenial)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1665694
Title:
cc_set_passwords fails to change passwords specified as
chpasswd['list'] in cloud-config
Status in cloud-init:
Fix Committed
Status in cloud-init package in Ubuntu:
Fix Released
Status in cloud-init source package in Xenial:
Fix Released
Status in cloud-init source package in Yakkety:
Fix Released
Status in cloud-init source package in Zesty:
Fix Released
Bug description:
=== Being SRU Template ===
[Impact]
Users of cloud-init can change passwords on a system by providing input
to chpasswd as a string:
#cloud-config
chpasswd:
list: |
user1:password1
Confusingly, the 'list' is actually not a list, but a multi-line string.
The change made in this bug supports either.
[Test Case]
There is an integration test in cloud-init that runs though this code.
To run that:
$ git clone https://git.launchpad.net/cloud-init
$ cd cloud-init
# download the appropriate deb for cloud-init from -proposed
$ rel=xenial
$ pver=$(rmadison --url=ubuntu --suite=$rel-proposed cloud-init | awk '{print $3}')
$ fname="cloud-init_${pver}_all.deb"
$ wget "http://archive.ubuntu.com/ubuntu/pool/main/c/cloud-init/$fname"
$ ln -sf $fname cloud-init_all.$rel.deb
$ tox -e citest -- run -v -n $rel --deb=cloud-init_all.$rel.deb \
-t tests/cloud_tests/testcases/modules/set_password_list_string.py \
-t tests/cloud_tests/testcases/modules/set_password_list.py
That will install the new cloud-init into a container and run
with user data to excercise this new feature.
[Regression Potential]
Very low regression potential. The test case shown provides both
the previously supported path (a string) and the new path (a list).
[Other Info]
Upstream commit:
https://git.launchpad.net/cloud-init/commit/?id=7f2b51054a5defe
=== End SRU Template ===
If cloud-config contains list of user:password pairs as in example
below
chpasswd:
list:
- user1:pwd001
- user2:pwd002
cc_set_passwords module fails to change passwords with error:
Feb 17 15:52:48 si-man [CLOUDINIT] stages.py[DEBUG]: Running module set-passwords (<module 'cloudinit.config.cc_set_passwords' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_set_passwords.py'>) with frequency once-per-instance
Feb 17 15:52:48 si-man [CLOUDINIT] handlers.py[DEBUG]: start: modules-config/config-set-passwords: running config-set-passwords with frequency once-per-instance
Feb 17 15:52:48 si-man [CLOUDINIT] util.py[DEBUG]: Writing to /var/lib/cloud/instances/6d822e81-98a1-4b43-bed2-db8d0cf045bb/sem/config_set_passwords - wb: [420] 25 bytes
Feb 17 15:52:48 si-man [CLOUDINIT] helpers.py[DEBUG]: Running config-set-passwords using lock (<FileLock using file '/var/lib/cloud/instances/6d822e81-98a1-4b43-bed2-db8d0cf045bb/sem/config_set_passwords'>)
Feb 17 15:52:48 si-man [CLOUDINIT] cc_set_passwords.py[DEBUG]: Changing password for ["['user1"]:
Feb 17 15:52:48 si-man [CLOUDINIT] util.py[DEBUG]: Running command ['chpasswd'] with allowed return codes [0] (shell=False, capture=True)
Feb 17 15:52:48 si-man [CLOUDINIT] util.py[WARNING]: Failed to set passwords with chpasswd for ["['user1"]
Feb 17 15:52:48 si-man [CLOUDINIT] util.py[DEBUG]: Failed to set passwords with chpasswd for ["['user1"]#012Traceback (most recent call last):#012 File "/usr/lib/python3/dist-packages/cloudinit/config/cc_set_passwords.py", line 121, in handle#012 util.subp(['chpasswd'], ch_in)#012 File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1836, in subp#012 cmd=args)#012cloudinit.util.ProcessExecutionError: Unexpected error while running command.#012Command: ['chpasswd']#012Exit code: 1#012Reason: -#012Stdout: ''#012Stderr: "chpasswd: (user ['user1) pam_chauthtok() failed, error:\nAuthentication token manipulation error\nchpasswd: (line 1, user ['user1) password not changed\n"
Feb 17 15:52:48 si-man [CLOUDINIT] util.py[DEBUG]: Running command ['passwd', '--expire', "['user1"] with allowed return codes [0] (shell=False, capture=True)
Feb 17 15:52:48 si-man [CLOUDINIT] util.py[WARNING]: Failed to set 'expire' for ['user1
Feb 17 15:52:48 si-man [CLOUDINIT] util.py[DEBUG]: Failed to set 'expire' for ['user1#012Traceback (most recent call last):#012 File "/usr/lib/python3/dist-packages/cloudinit/config/cc_set_passwords.py", line 136, in handle#012 util.subp(['passwd', '--expire', u])#012 File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1836, in subp#012 cmd=args)#012cloudinit.util.ProcessExecutionError: Unexpected error while running command.#012Command: ['passwd', '--expire', "['user1"]#012Exit code: 1#012Reason: -#012Stdout: ''#012Stderr: "passwd: user '['user1' does not exist\n"
Feb 17 15:52:48 si-man [CLOUDINIT] cc_set_passwords.py[DEBUG]: 2 errors occured, re-raising the last one
The issue affects cloud-init installed in xenial-server-cloudimg-amd64-disk1.img
# apt-cache policy cloud-init
cloud-init:
Installed: 0.7.8-49-g9e904bb-0ubuntu1~16.04.4
Candidate: 0.7.8-49-g9e904bb-0ubuntu1~16.04.4
Version table:
*** 0.7.8-49-g9e904bb-0ubuntu1~16.04.4 500
500 http://zone-1.clouds.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
100 /var/lib/dpkg/status
0.7.7~bzr1212-0ubuntu1 500
500 http://zone-1.clouds.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
cc_set_passwords converts list of user:password lists to str and as
result user names get corrupted.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1665694/+subscriptions