-
Notifications
You must be signed in to change notification settings - Fork 359
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
Add support for neutron tags #453
Comments
Note I'll rebase this on #446 as there is a common function to extract the tag list/slice from resource data that I also have in my branch. |
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
@hardys Copying the comment from #454:
Yes, let's do one PR per resource and you can link them all to this issue. We were able to add tag support to Gophercloud in a few large commits, but Gophercloud is not meant to be end-user facing, so we assume the developer reads the godoc or code itself. Terraform is end-user facing, so there's more we'll want to do. For each resource:
Bundling all of the above into one PR should be fine. If you want to do the resource and data source separately, that works, too, though I imagine vendoring might get in the way of this. As long as you vendor on the same commit, you should be able to open multiple PRs for different resources at once, though I recommend waiting until OpenLab finishes testing so it doesn't get overloaded. Thoughts? |
This sounds fine to me, thanks for the feedback. I'll rebase the networks patch today and start preparing the other resources locally - to avoid CI overload I'll push only the networks resource, then we can iterate on review feedback and I'll apply any common changes to the rest of the series before pushing (and then only a few at a time). Hopefully that will help with the review & CI overhead since most of the patches will be essentially the same after we get the initial review nits ironed out. |
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnets via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnetpools via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnetpools via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for ports via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnetpools via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for ports via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for security groups via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnets via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnetpools via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for ports via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for security groups via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for floatingips via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for routers via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for networks via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Note the test is added in a new resource_openstack_networking_tags_v2_test.go file, so that we can reduce duplication later in the series e.g subnet/port/trunk resources can share the same template which should be faster. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnets via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnetpools via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for ports via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for security groups via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for floatingips via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnets via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for subnetpools via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for ports via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for security groups via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for floatingips via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
This allows us to set/get tags for routers via terraform templates, and requires the recently added changes to gophercloud that enable the relevant features of the Neutron APIs to be accessed. Issue: terraform-provider-openstack#453
On closer inspection it seems qos/rbac policies aren't currently supported by terraform-provider-openstack so I'll strike that item off the issue and we can consider adding it at a later date if needed. |
All checklist items completed so I'll close this now, thanks for the prompt reviews! :) |
Note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
As for ports, this requires changes to the terraform-provider-openstack: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
Note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
As for ports, this requires changes to the terraform-provider-openstack: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
Note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
As for ports, this requires changes to the terraform-provider-openstack: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
Note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
As for ports, this requires changes to the terraform-provider-openstack: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
Note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
As for ports, this requires changes to the terraform-provider-openstack: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
Hi @jtopjian thanks very much for the prompt reviews on this series, much appreciated! 🍰 I was wondering when you next plan to tag a release, as I need to consume these new interfaces ref openshift/installer#391 (our CI only consumes tagged releases), thanks for any ETA you can provide! |
@hardys No problem at all - thank you for working on this. We just had a release last week, so we'll want to have a few more features/fixes added. Maybe the week after next. But if that's going to block some other work, I can see about doing a release next week - the schedule is totally arbitrary, anyway. |
@jtopjian Thanks for the reply - sometime in the next 1-2 weeks would be great, my openshift PR isn't super-urgent but I think the CI on it will be blocked until we pick up a new release, we can get reviews & local testing under-way in the meantime! :) |
This adds initial support for destroy for OpenStack Note that because gophercloud doesn't currently support nova tags[1] I've used Metadata for servers (which is already populated with the tectonicClusterId via the server properties). Also note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
This adds initial support for destroy for OpenStack Note that because gophercloud doesn't currently support nova tags[1] I've used Metadata for servers (which is already populated with the tectonicClusterId via the server properties). Also note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
This adds initial support for destroy for OpenStack Note that because gophercloud doesn't currently support nova tags[1] I've used Metadata for servers (which is already populated with the tectonicClusterId via the server properties). Also note this requires changes to the terraform-provider-openstack which are merged but currently unreleased: https://github.com/terraform-providers/terraform-provider-openstack/issues/453
This adds initial support for destroy for OpenStack Note that because gophercloud doesn't currently support nova tags[1] I've used Metadata for servers (which is already populated with the tectonicClusterId via the server properties). Also note this requires changes to the terraform-provider-openstack which are in the latest 1.12 release: https://github.com/terraform-providers/terraform-provider-openstack/releases/tag/v1.12.0 https://github.com/terraform-providers/terraform-provider-openstack/issues/453
Recently added gophercloud support for the neutron attributetags extension means we should be able to specify tags for neutron resources that support attributetags, so the created resources can be optionally tagged during resource create/update via terraform.
For example:
resource "openstack_networking_network_v2" "terraform" {
name = "terraform_test"
admin_state_up = "true"
tags = "${var.tags}"
}
tags should be optional and accept a list of strings - this is useful when you want to group neutron resources then later query for them by tag using the neutron API and server-side filtering by tags.
Affected Resource(s)
The affected resources will be the same as added to gophercloud via gophercloud/gophercloud#1286, e.g:
Router: https://github.com/openstack/neutron/blob/master/neutron/db/models/l3.py#L67
FloatingIP: https://github.com/openstack/neutron/blob/master/neutron/db/models/l3.py#L112
SecurityGroup: https://github.com/openstack/neutron/blob/master/neutron/db/models/securitygroup.py#L32
Port: https://github.com/openstack/neutron/blob/master/neutron/db/models_v2.py#L115
Subnet: https://github.com/openstack/neutron/blob/master/neutron/db/models_v2.py#L210
SubnetPool: https://github.com/openstack/neutron/blob/master/neutron/db/models_v2.py#L250
Network: https://github.com/openstack/neutron/blob/master/neutron/db/models_v2.py#L278
QoS/RBAC Policy: https://github.com/openstack/neutron/blob/master/neutron/db/qos/models.py#L36Trunk: https://github.com/openstack/neutron/blob/master/neutron/services/trunk/models.py#L49
Note that Trunk tag support is being added via https://github.com/terraform-providers/terraform-provider-openstack/pull/446 so this issue can track adding tag support to the remaining resources.
Checklist
QoS/RBAC Policy(Not currently supported in terraform-provider-openstack AFAICS)References
gophercloud/gophercloud#1286
https://docs.openstack.org/neutron/pike/contributor/internals/tag.html
gophercloud/gophercloud#1285
https://github.com/terraform-providers/terraform-provider-openstack/pull/446
The text was updated successfully, but these errors were encountered: