Windows/XenServer agent builds an invalid route command
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openstack-guest-agents |
New
|
Undecided
|
Unassigned |
Bug Description
A Windows 2008 R2 deployed image is unable to communicate over the private network.
When a resetnetwork command is processed, gateway information is not included in the route command passed to Windows.
Agentlog info follows:
2012-05-02 01:48:18,813 [4] INFO AgentService [(null)] - Processing Command: C:\Program Files (X86)\Citrix\
2012-05-02 01:48:18,813 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=
Error=
2012-05-02 01:48:18,813 [4] INFO AgentService [(null)] - Processing Command: C:\Program Files (X86)\Citrix\
2012-05-02 01:48:18,828 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output={"name": "resetnetwork", "value": ""}
Error=
2012-05-02 01:48:18,828 [4] INFO AgentService [(null)] - Processing Command: C:\Program Files (X86)\Citrix\
2012-05-02 01:48:18,844 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=fa163e64e887
Error=
2012-05-02 01:48:18,844 [4] INFO AgentService [(null)] - Processing Command: C:\Program Files (X86)\Citrix\
2012-05-02 01:48:18,844 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output={"rxtx_cap": 0, "should_
Error=
2012-05-02 01:48:19,109 [4] INFO AgentService [(null)] - Network Interfaces found locally:
2012-05-02 01:48:19,109 [4] INFO AgentService [(null)] - Local Area Connection (FA:16:3E:64:E8:87)
2012-05-02 01:48:19,125 [4] INFO AgentService [(null)] - Processing Command: netsh interface ip set address name="Local Area Connection" source=dhcp
2012-05-02 01:48:19,203 [4] INFO AgentService [(null)] - Command Result:
ExitCode=1
Output=DHCP is already enabled on this interface.
Error=
2012-05-02 01:48:19,203 [4] INFO AgentService [(null)] - Processing Command: netsh interface ip add address name="Local Area Connection" addr=10.0.0.2 mask=255.255.255.0 gateway=10.0.0.1 gwmetric=2
2012-05-02 01:48:19,265 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=
Error=
2012-05-02 01:48:19,265 [4] INFO AgentService [(null)] - Processing Command: netsh interface ip set dns name="Local Area Connection" source=dhcp
2012-05-02 01:48:19,312 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=
Error=
2012-05-02 01:48:19,312 [4] INFO AgentService [(null)] - Processing Command: netsh interface ip add dns name="Local Area Connection" addr=8.8.4.4 index=1
2012-05-02 01:48:23,493 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=
Error=
2012-05-02 01:48:23,493 [4] INFO AgentService [(null)] - Processing Command: netsh interface set interface name="Local Area Connection" newname="private"
2012-05-02 01:48:23,711 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=
Error=
2012-05-02 01:48:23,727 [4] INFO AgentService [(null)] - Routes Found: 0
2012-05-02 01:48:23,742 [4] INFO AgentService [(null)] - Processing Command: route delete 0.0.0.0
2012-05-02 01:48:23,789 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output= OK!
Error=
2012-05-02 01:48:23,789 [4] INFO AgentService [(null)] - Processing Command: route -p add 0.0.0.0 mask 0.0.0.0 metric 2
2012-05-02 01:48:23,789 [4] INFO AgentService [(null)] - Command Result:
ExitCode=1
Output=
Error=Manipulates network routing tables.
ROUTE [-f] [-p] [-4|-6] command [destination]
-f Clears the routing tables of all gateway entries. If this is
used in conjunction with one of the commands, the tables are
-p When used with the ADD command, makes a route persistent across
when the system is restarted. Ignored for all other commands,
-4 Force using IPv4.
-6 Force using IPv6.
command One of these:
destination Specifies the host.
MASK Specifies that the next parameter is the 'netmask' value.
netmask Specifies a subnet mask value for this route entry.
If not specified, it defaults to 255.255.255.255.
gateway Specifies gateway.
interface the interface number for the specified route.
METRIC specifies the metric, ie. cost for the destination.
All symbolic names used for destination are looked up in the network database
file NETWORKS. The symbolic names for gateway are looked up in the host name
database file HOSTS.
If the command is PRINT or DELETE. Destination or gateway can be a wildcard,
(wildcard is specified as a star '*'), or the gateway argument may be omitted.
If Dest contains a * or ?, it is treated as a shell pattern, and only
matching destination routes are printed. The '*' matches any string,
and '?' matches any one char. Examples: 157.*.1, 157.*, 127.*, *224*.
Pattern match is only allowed in PRINT command.
Diagnostic Notes:
Invalid MASK generates an error, that is when (DEST & MASK) != DEST.
Example> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1
The route addition failed: The specified mask parameter is invalid. (Destination & Mask) != Destination.
Examples:
> route PRINT
> route PRINT -4
> route PRINT -6
> route PRINT 157* .... Only prints those matching 157*
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
If IF is not given, it tries to find the best interface for a given
gateway.
> route ADD 3ffe::/32 3ffe::1
> route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
CHANGE is used to modify gateway and/or metric only.
> route DELETE 157.0.0.0
> route DELETE 3ffe::/32
2012-05-02 01:48:23,805 [4] INFO AgentService [(null)] - Processing Command: C:\Program Files (X86)\Citrix\
2012-05-02 01:48:23,805 [4] INFO AgentService [(null)] - Command Result:
ExitCode=1
Output=writing to data/guest/
Error=
2012-05-02 01:48:23,805 [4] INFO AgentService [(null)] - Processing Command: C:\Program Files (X86)\Citrix\
2012-05-02 01:48:23,820 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=
Error=
2012-05-02 01:48:29,826 [4] INFO AgentService [(null)] - Processing Command: C:\Program Files (X86)\Citrix\
2012-05-02 01:48:29,826 [4] INFO AgentService [(null)] - Command Result:
ExitCode=0
Output=
Error=