Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove external_gateway from router_v2 #1685

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions docs/resources/networking_router_v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,6 @@ The following arguments are supported:
distributed router. The default policy setting in Neutron restricts
usage of this property to administrative users only.

* `external_gateway` - (**Deprecated** - use `external_network_id` instead) The
network UUID of an external gateway for the router. A router with an
external gateway is required if any compute instances or load balancers
will be using floating IPs. Changing this updates the external gateway
of an existing router.

* `external_network_id` - (Optional) The network UUID of an external gateway
for the router. A router with an external gateway is required if any
compute instances or load balancers will be using floating IPs. Changing
Expand Down Expand Up @@ -106,7 +100,6 @@ The following attributes are exported:
* `name` - See Argument Reference above.
* `description` - See Argument Reference above.
* `admin_state_up` - See Argument Reference above.
* `external_gateway` - See Argument Reference above.
* `external_network_id` - See Argument Reference above.
* `enable_snat` - See Argument Reference above.
* `external_fixed_ip` - See Argument Reference above.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ resource "openstack_networking_router_interface_v2" "router_interface_1" {

resource "openstack_networking_router_v2" "router_1" {
name = "router_1"
external_gateway = "%s"
external_network_id = "%s"
}

resource "openstack_networking_port_v2" "port_1" {
Expand Down Expand Up @@ -173,7 +173,7 @@ resource "openstack_networking_router_interface_v2" "router_interface_1" {

resource "openstack_networking_router_v2" "router_1" {
name = "router_1"
external_gateway = "%s"
external_network_id = "%s"
}

resource "openstack_networking_port_v2" "port_1" {
Expand Down Expand Up @@ -224,7 +224,7 @@ resource "openstack_networking_router_interface_v2" "router_interface_1" {

resource "openstack_networking_router_v2" "router_1" {
name = "router_1"
external_gateway = "%s"
external_network_id = "%s"
}

resource "openstack_networking_port_v2" "port_1" {
Expand Down
4 changes: 2 additions & 2 deletions openstack/resource_openstack_networking_floatingip_v2_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ resource "openstack_networking_router_interface_v2" "router_interface_1" {

resource "openstack_networking_router_v2" "router_1" {
name = "router_1"
external_gateway = "%s"
external_network_id = "%s"
}

resource "openstack_networking_port_v2" "port_1" {
Expand Down Expand Up @@ -243,7 +243,7 @@ resource "openstack_networking_router_interface_v2" "router_interface_1" {

resource "openstack_networking_router_v2" "router_1" {
name = "router_1"
external_gateway = "%s"
external_network_id = "%s"
}

resource "openstack_networking_port_v2" "port_1" {
Expand Down
32 changes: 4 additions & 28 deletions openstack/resource_openstack_networking_router_v2.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,21 +74,11 @@ func resourceNetworkingRouterV2() *schema.Resource {
Computed: true,
},

"external_gateway": {
Type: schema.TypeString,
Optional: true,
ForceNew: false,
Computed: true,
Deprecated: "use external_network_id instead",
ConflictsWith: []string{"external_network_id"},
},

"external_network_id": {
Type: schema.TypeString,
Optional: true,
ForceNew: false,
Computed: true,
ConflictsWith: []string{"external_gateway"},
Type: schema.TypeString,
Optional: true,
ForceNew: false,
Computed: true,
},

"enable_snat": {
Expand Down Expand Up @@ -215,10 +205,6 @@ func resourceNetworkingRouterV2Create(ctx context.Context, d *schema.ResourceDat
// Gateway settings
var externalNetworkID string
var gatewayInfo routers.GatewayInfo
if v := d.Get("external_gateway").(string); v != "" {
externalNetworkID = v
gatewayInfo.NetworkID = externalNetworkID
}

if v := d.Get("external_network_id").(string); v != "" {
externalNetworkID = v
Expand Down Expand Up @@ -312,7 +298,6 @@ func resourceNetworkingRouterV2Create(ctx context.Context, d *schema.ResourceDat
var updateOpts routers.UpdateOpts
updateOpts.GatewayInfo = &gatewayInfo

log.Printf("[DEBUG] Assigning external_gateway to openstack_networking_router_v2 %s with options: %#v", r.ID, updateOpts)
_, err = routers.Update(networkingClient, r.ID, updateOpts).Extract()
if err != nil {
return diag.Errorf("Error updating openstack_networking_router_v2: %s", err)
Expand Down Expand Up @@ -367,7 +352,6 @@ func resourceNetworkingRouterV2Read(ctx context.Context, d *schema.ResourceData,
}

// Gateway settings.
d.Set("external_gateway", r.GatewayInfo.NetworkID)
d.Set("external_network_id", r.GatewayInfo.NetworkID)
d.Set("enable_snat", r.GatewayInfo.EnableSNAT)

Expand Down Expand Up @@ -412,10 +396,6 @@ func resourceNetworkingRouterV2Update(ctx context.Context, d *schema.ResourceDat
var externalNetworkID string
gatewayInfo := routers.GatewayInfo{}

if v := d.Get("external_gateway").(string); v != "" {
externalNetworkID = v
}

if v := d.Get("external_network_id").(string); v != "" {
externalNetworkID = v
}
Expand All @@ -424,10 +404,6 @@ func resourceNetworkingRouterV2Update(ctx context.Context, d *schema.ResourceDat
gatewayInfo.NetworkID = externalNetworkID
}

if d.HasChange("external_gateway") {
updateGatewaySettings = true
}

if d.HasChange("external_network_id") {
updateGatewaySettings = true
}
Expand Down
6 changes: 2 additions & 4 deletions openstack/resource_openstack_networking_router_v2_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func TestAccNetworkingV2Router_vendor_opts(t *testing.T) {
Check: resource.ComposeTestCheckFunc(
testAccCheckNetworkingV2RouterExists("openstack_networking_router_v2.router_1", &router),
resource.TestCheckResourceAttr(
"openstack_networking_router_v2.router_1", "external_gateway", osExtGwID),
"openstack_networking_router_v2.router_1", "external_network_id", osExtGwID),
),
},
},
Expand All @@ -111,7 +111,7 @@ func TestAccNetworkingV2Router_vendor_opts_no_snat(t *testing.T) {
Check: resource.ComposeTestCheckFunc(
testAccCheckNetworkingV2RouterExists("openstack_networking_router_v2.router_1", &router),
resource.TestCheckResourceAttr(
"openstack_networking_router_v2.router_1", "external_gateway", osExtGwID),
"openstack_networking_router_v2.router_1", "external_network_id", osExtGwID),
),
},
},
Expand All @@ -122,7 +122,6 @@ func TestAccNetworkingV2Router_extFixedIPs(t *testing.T) {
resource.Test(t, resource.TestCase{
PreCheck: func() {
testAccPreCheck(t)
// (rule:create_router and (rule:create_router:external_gateway_info and (rule:create_router:external_gateway_info:network_id and rule:create_router:external_gateway_info:external_fixed_ips))) is disallowed by policy
testAccPreCheckAdminOnly(t)
},
ProviderFactories: testAccProviders,
Expand All @@ -147,7 +146,6 @@ func TestAccNetworkingV2Router_extSubnetIDs(t *testing.T) {
resource.Test(t, resource.TestCase{
PreCheck: func() {
testAccPreCheck(t)
// (rule:create_router and (rule:create_router:external_gateway_info and (rule:create_router:external_gateway_info:network_id and rule:create_router:external_gateway_info:external_fixed_ips))) is disallowed by policy
testAccPreCheckAdminOnly(t)
},
ProviderFactories: testAccProviders,
Expand Down
Loading