Skip to content

Commit

Permalink
provider/openstack: Detect Region for Importing Resources (#10509)
Browse files Browse the repository at this point in the history
* provider/openstack: Detect Region for Importing Resources

This commit changes the way the OpenStack region is detected and set.
Any time a region is required, the region attribute will first be
checked. Next, the OS_REGION_NAME environment variable will be checked.
While schema.EnvDefaultFunc handles this same situation, it is not
applicable when importing resources.

* provider/openstack: No longer ignore region in importing tests

* provider/openstack: Network and Subnet Import Fixes

This commit fixes the OpenStack Network and Subnet resources so that
importing of those resources is successful.
  • Loading branch information
jtopjian authored and stack72 committed Dec 4, 2016
1 parent 5f7bc12 commit b2f9a3a
Show file tree
Hide file tree
Showing 54 changed files with 268 additions and 253 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccBlockStorageVolumeAttachV2_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackBlockStorageV1Volume_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackBlockStorageV2Volume_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccComputeV2FloatingIP_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackComputeV2Keypair_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccComputeV2SecGroup_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccComputeV2ServerGroup_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccComputeV2VolumeAttach_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackFWFirewallV1_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackFWPolicyV1_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackFWRuleV1_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackLBMemberV1_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackLBMonitorV1_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackLBPoolV1_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackLBVIPV1_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingFloatingIPV2_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingNetworkV2_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingPortV2_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingSecGroupRuleV2_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingSecGroupV2_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ func TestAccOpenStackNetworkingSubnetV2_importBasic(t *testing.T) {
},

resource.TestStep{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
ImportStateVerifyIgnore: []string{"region"},
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ func resourceBlockStorageVolumeAttachV2() *schema.Resource {

func resourceBlockStorageVolumeAttachV2Create(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
client, err := config.blockStorageV2Client(d.Get("region").(string))
client, err := config.blockStorageV2Client(GetRegion(d))
if err != nil {
return fmt.Errorf("Error creating OpenStack block storage client: %s", err)
}
Expand Down Expand Up @@ -153,7 +153,7 @@ func resourceBlockStorageVolumeAttachV2Create(d *schema.ResourceData, meta inter

func resourceBlockStorageVolumeAttachV2Read(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
client, err := config.blockStorageV2Client(d.Get("region").(string))
client, err := config.blockStorageV2Client(GetRegion(d))
if err != nil {
return fmt.Errorf("Error creating OpenStack block storage client: %s", err)
}
Expand Down Expand Up @@ -184,13 +184,14 @@ func resourceBlockStorageVolumeAttachV2Read(d *schema.ResourceData, meta interfa
d.Set("device", attachment.Device)
d.Set("instance_id", attachment.ServerID)
d.Set("host_name", attachment.HostName)
d.Set("region", GetRegion(d))

return nil
}

func resourceBlockStorageVolumeAttachV2Delete(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
client, err := config.blockStorageV2Client(d.Get("region").(string))
client, err := config.blockStorageV2Client(GetRegion(d))
if err != nil {
return fmt.Errorf("Error creating OpenStack block storage client: %s", err)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func resourceBlockStorageVolumeV1() *schema.Resource {

func resourceBlockStorageVolumeV1Create(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string))
blockStorageClient, err := config.blockStorageV1Client(GetRegion(d))
if err != nil {
return fmt.Errorf("Error creating OpenStack block storage client: %s", err)
}
Expand Down Expand Up @@ -159,7 +159,8 @@ func resourceBlockStorageVolumeV1Create(d *schema.ResourceData, meta interface{}

func resourceBlockStorageVolumeV1Read(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string))

blockStorageClient, err := config.blockStorageV1Client(GetRegion(d))
if err != nil {
return fmt.Errorf("Error creating OpenStack block storage client: %s", err)
}
Expand All @@ -179,6 +180,7 @@ func resourceBlockStorageVolumeV1Read(d *schema.ResourceData, meta interface{})
d.Set("source_vol_id", v.SourceVolID)
d.Set("volume_type", v.VolumeType)
d.Set("metadata", v.Metadata)
d.Set("region", GetRegion(d))

attachments := make([]map[string]interface{}, len(v.Attachments))
for i, attachment := range v.Attachments {
Expand All @@ -195,7 +197,7 @@ func resourceBlockStorageVolumeV1Read(d *schema.ResourceData, meta interface{})

func resourceBlockStorageVolumeV1Update(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string))
blockStorageClient, err := config.blockStorageV1Client(GetRegion(d))
if err != nil {
return fmt.Errorf("Error creating OpenStack block storage client: %s", err)
}
Expand All @@ -219,7 +221,7 @@ func resourceBlockStorageVolumeV1Update(d *schema.ResourceData, meta interface{}

func resourceBlockStorageVolumeV1Delete(d *schema.ResourceData, meta interface{}) error {
config := meta.(*Config)
blockStorageClient, err := config.blockStorageV1Client(d.Get("region").(string))
blockStorageClient, err := config.blockStorageV1Client(GetRegion(d))
if err != nil {
return fmt.Errorf("Error creating OpenStack block storage client: %s", err)
}
Expand All @@ -232,7 +234,7 @@ func resourceBlockStorageVolumeV1Delete(d *schema.ResourceData, meta interface{}
// make sure this volume is detached from all instances before deleting
if len(v.Attachments) > 0 {
log.Printf("[DEBUG] detaching volumes")
if computeClient, err := config.computeV2Client(d.Get("region").(string)); err != nil {
if computeClient, err := config.computeV2Client(GetRegion(d)); err != nil {
return err
} else {
for _, volumeAttachment := range v.Attachments {
Expand Down
Loading

0 comments on commit b2f9a3a

Please sign in to comment.