failure if target provided in config and directory already exists.

Bug #1775622 reported by Scott Moser
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
curtin
Fix Released
Medium
Unassigned
curtin (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Subiquity provides /target as in config like:
  install: {target: /target}

if /target already exists, then WorkingDir will fail and stack trace.

stack trace looks something like this:

Running command ['tar', '-cvf', '/var/log/curtin/curtin-error-logs.tar', 'curtin-logs-2018-06-07-13-33'] with allowed return codes [0] (capture=True)
Wrote: /var/log/curtin/curtin-error-logs.tar
finish: cmd-install: FAIL: curtin command install
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/curtin/commands/install.py", line 469,
in cmd_install
    raise e
  File "/usr/lib/python3/dist-packages/curtin/commands/install.py", line 433,
in cmd_install
    workingd = WorkingDir(cfg)
  File "/usr/lib/python3/dist-packages/curtin/commands/install.py", line 119,
in __init__
    os.mkdir(p)
FileExistsError: [Errno 17] File exists: '/target'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/curtin/commands/main.py", line 201, in
main
    ret = args.func(args)
  File "/usr/lib/python3/dist-packages/curtin/commands/install.py", line 473,
in cmd_install
    copy_install_log(logfile, workingd.target, log_target_path)
UnboundLocalError: local variable 'workingd' referenced before assignment
local variable 'workingd' referenced before assignment

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: curtin 18.1-17-gae48e86f-0ubuntu1~18.04.1
ProcVersionSignature: User Name 4.15.0-22.24-generic 4.15.17
Uname: Linux 4.15.0-22-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.9-0ubuntu7.1
Architecture: amd64
Date: Thu Jun 7 13:45:03 2018
Ec2AMI: ami-0000059f
Ec2AMIManifest: FIXME
Ec2AvailabilityZone: nova
Ec2InstanceType: m1.small
Ec2Kernel: unavailable
Ec2Ramdisk: unavailable
PackageArchitecture: all
ProcEnviron:
 TERM=screen-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=C.UTF-8
 SHELL=/bin/bash
SourcePackage: curtin
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Scott Moser (smoser) wrote :
Scott Moser (smoser)
Changed in curtin:
status: New → Confirmed
Changed in curtin (Ubuntu):
status: New → Confirmed
Changed in curtin:
importance: Undecided → Medium
Changed in curtin (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Scott Moser (smoser) wrote :

An upstream commit landed for this bug.

To view that commit see the following URL:
https://git.launchpad.net/curtin/commit/?id=9d0e557e

Changed in curtin:
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package curtin - 18.1-25-g9d0e557e-0ubuntu1

---------------
curtin (18.1-25-g9d0e557e-0ubuntu1) cosmic; urgency=medium

  * New upstream snapshot.
    - Fix WorkingDir class to support already existing target directory.
      (LP: #1775622)
    - Fix extraction of local filesystem image. (LP: #1775630)
    - Fix tip-pyflakes imported but unused call to util.get_platform_arch
    - subp: update return value of subp with combine_capture=True.
    - tox: add a xenial environments, default envlist changes.
    - tests: Fix race on utcnow during timestamped curtin-log dir creation
      (LP: #1772481)
    - curtainer: patch source version from --source.
    - pyflakes: fix unused variable references identified by pyflakes 2.0.0.

 -- Scott Moser <email address hidden> Thu, 07 Jun 2018 14:59:20 -0400

Changed in curtin (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Ryan Harper (raharper) wrote : Fixed in curtin version 18.2.

This bug is believed to be fixed in curtin in version 18.2. If this is still a problem for you, please make a comment and set the state back to New

Thank you.

Changed in curtin:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.