Bug 234595

Summary: xendomains init script fails to save a domain with name > 17 characters
Product: [Fedora] Fedora Reporter: Mark McLoughlin <markmc>
Component: xenAssignee: Mark McLoughlin <markmc>
Status: CLOSED UPSTREAM QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bstein, katzj, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-19 11:57:50 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Attachments:
Description Flags
xen-xendomains-17chars.patch none

Description Mark McLoughlin 2007-03-30 09:54:11 EDT
+++ This bug was initially created as a clone of Bug #221268 +++

Description of problem:
If you have a guest running with a name greater than 17 characters in length,
the /etc/init.d/xendomains script will fail to save it upon shutdown.

Version-Release number of selected component (if applicable):
xen-3.0.3-17.el5

How reproducible:
Always

Steps to Reproduce:
1. xm rename demo  12345678901234567890123456789012345678901234567890
2. /etc/init.d/xendomains stop
3.
  
Actual results:
# /etc/init.d/xendomains  stop
Shutting down Xen domains: 12345678901234567(save)Error: Domain
'890123456789012345678901234567890' does not exist.
Usage: xm save <Domain> <CheckpointFile>

Save a domain state to restore later.
!(shut)Error: Domain '890123456789012345678901234567890' does not exist.
Usage: xm shutdown <Domain> [-waRH]

Shutdown a domain.


Expected results:
Guest is saved

Additional info:

If you look at the shell code in /etc/init.d/xendomains there's this interesting
function


parseln()
{
    name=`echo "$1" | cut -c0-17`
    name=${name%% *}
    rest=`echo "$1" | cut -c18- `
    read id mem cpu vcpu state tm < <(echo "$rest")
}

which is used to parse the output of 'xm list'. The 'cut -c0-17' bit looks
like the obvious problem - truncating the name at 17 characters :-(
Comment 1 Mark McLoughlin 2007-03-30 09:56:32 EDT
Yep, confirmed. The weirdness comes from the fact that "xm list" used to only
allow 16 characters for the domain name.

Best fix is probably to use "xm list -l" instead of "xm list" ... that way we'll
get the full name.
Comment 2 Mark McLoughlin 2007-05-04 13:01:27 EDT
Created attachment 154140 [details]
xen-xendomains-17chars.patch

Okay, I suggest something like this (untested) patch ... it's not a bug many
people are going to hit, though, so let's delay this until after Fedora 7
Comment 3 Mark McLoughlin 2007-06-19 11:57:50 EDT
Fixed upstream by:

  changeset:   15384:865c4ae59be3
  user:        kfraser@localhost.localdomain
  date:        Tue Jun 19 16:29:22 2007 +0100
  files:       tools/examples/init.d/xendomains
  description:
  tools: Allow xendomains to handle domain names >16 characters

Closing as UPSTREAM, not really worth backporting.