Bug 240371

Summary: sysutils/iocage: destroy doesn't handle renamed jails
Product: Ports & Packages Reporter: Laszlo Danielisz <lacibsd>
Component: Individual Port(s)Assignee: Michael Gmelin <grembo>
Status: Open ---    
Severity: Affects Many People CC: araujo, grembo, lwhsu, w.schwarzenfeld
Priority: --- Keywords: needs-qa
Version: LatestFlags: w.schwarzenfeld: maintainer-feedback? (grembo)
koobs: merge-quarterly?
Hardware: amd64   
OS: Any   

Description Laszlo Danielisz 2019-09-06 16:12:10 UTC
If you rename a jail and later destroy a jail which has a dependent jail, "iocage destroy jailname" will list the original name of the dependent jail not the current one.

See details below: 
---
% iocage list
+-----+----------+-------+--------------+------------+
| JID |   NAME   | STATE |   RELEASE    |    IP4     |
+=====+==========+=======+==============+============+
| 1   | 2blog    | up    | 11.2-RELEASE | 172.16.1.3 |
+-----+----------+-------+--------------+------------+
| 7   | 2sql     | up    | 11.2-RELEASE | 172.16.1.2 |
+-----+----------+-------+--------------+------------+
| -   | 2sql_old | down  | 11.2-RELEASE | 172.16.1.4 |
+-----+-------+-------+--------------+------------+

% sudo iocage destroy 2sql_old
Password:

This will destroy jail 2sql_old

Are you sure? [y/N]: y

2sql_old has dependent jails (who may also have dependents), use --recursive to destroy:
  20190728
  20190729
  20190730
  20190731
  20190801
  20190802
  20190803
  3sql

% sudo iocage destroy 2sql_old --recursive 

% iocage list
+-----+-------+-------+--------------+------------+
| JID | NAME  | STATE |   RELEASE    |    IP4     |
+=====+=======+=======+==============+============+
| 1   | 2blog | up    | 11.2-RELEASE | 172.16.1.3 |
+-----+-------+-------+--------------+------------+

---
3sql was renamed to 2sql (JID 7) a few months ago, at iocage destroy, iocage presented the original name rather than the current one. I ended up destroying the wrong jail as well
Comment 1 Laszlo Danielisz 2019-09-06 17:15:09 UTC
% pkg info py36-iocage-1.1
py36-iocage-1.1
Name           : py36-iocage
Version        : 1.1
Installed on   : Fri Jun 21 00:07:45 2019 UTC
Origin         : sysutils/iocage
Architecture   : FreeBSD:11:*
Prefix         : /usr/local
Categories     : sysutils python
Licenses       : BSD2CLAUSE
Maintainer     : araujo@FreeBSD.org
WWW            : https://github.com/iocage/iocage
Comment        : FreeBSD jail manager written in Python3
Annotations    :
	flavor         : py36
	repo_type      : binary
	repository     : FreeBSD
Flat size      : 1.21MiB
Description    :
iocage is a jail/container manager amalgamating some of the best
features and technologies the FreeBSD operating system has
to offer. It is geared for ease of use with a simple and easy
to understand command syntax.

WWW: https://github.com/iocage/iocage
Comment 2 Laszlo Danielisz 2020-06-28 16:34:35 UTC
Just tested, it looks this is still an issue
Comment 3 Li-Wen Hsu freebsd_committer freebsd_triage 2020-10-27 14:41:56 UTC
Over to the current maintainer.