From 8d0bf21c6d6c59b830cd2c34476547476a9af395 Mon Sep 17 00:00:00 2001 From: Nathan LeClaire Date: Tue, 3 Mar 2015 14:48:04 -0800 Subject: [PATCH] Fix panic when instance doesn't exist remotely Signed-off-by: Nathan LeClaire --- drivers/amazonec2/amazonec2.go | 2 ++ drivers/amazonec2/amz/ec2.go | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/amazonec2/amazonec2.go b/drivers/amazonec2/amazonec2.go index c720855d20..27a2600c54 100644 --- a/drivers/amazonec2/amazonec2.go +++ b/drivers/amazonec2/amazonec2.go @@ -402,6 +402,8 @@ func (d *Driver) GetState() (state.State, error) { return state.Stopping, nil case "stopped": return state.Stopped, nil + default: + return state.Error, nil } return state.None, nil } diff --git a/drivers/amazonec2/amz/ec2.go b/drivers/amazonec2/amz/ec2.go index 30d9cff287..6a8b40470c 100644 --- a/drivers/amazonec2/amz/ec2.go +++ b/drivers/amazonec2/amz/ec2.go @@ -501,9 +501,11 @@ func (e *EC2) GetInstance(instanceId string) (EC2Instance, error) { return ec2Instance, fmt.Errorf("Error unmarshalling AWS response XML: %s", err) } - reservationSet := unmarshalledResponse.ReservationSet[0] - instance := reservationSet.InstancesSet[0] - return instance, nil + if len(unmarshalledResponse.ReservationSet) > 0 { + reservationSet := unmarshalledResponse.ReservationSet[0] + ec2Instance = reservationSet.InstancesSet[0] + } + return ec2Instance, nil } func (e *EC2) StartInstance(instanceId string) error {