Bug 1777905

Summary: [RFE] Tag neutron resources at creation time
Product: Red Hat OpenStack Reporter: Luis Tomas Bolivar <ltomasbo>
Component: openstack-neutronAssignee: OSP Team <rhos-maint>
Status: POST --- QA Contact: Eran Kuris <ekuris>
Severity: medium Docs Contact:
Priority: medium    
Version: 17.0 (Wallaby)CC: amoralej, chrisw, gurpsing, scohen, skaplons
Target Milestone: ---Keywords: FutureFeature, Triaged
Target Release: ---Flags: gurpsing: needinfo? (ltomasbo)
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Luis Tomas Bolivar 2019-11-28 16:09:18 UTC
Kuryr is used on the OpenShift on OpenStack use case to make OpenShift use the Neutron SDN. Therefore, kuryr is creating Neutron (ports, subnets, networks, and security groups) and Octavia resources (loadbalancers, listeners, pools and members) for the OpenShift cluster.

When running OpenShift on OpenStack, different OpenShift clusters can be created by the same OpenStack tenant. The way to differentiate if a resource created by Kuryr belongs to one cluster or the other is by using tags. Resources created for 'cluster-1' as tagged with 'cluster-1' while resources generated for cluster-X are tagged with 'cluster=-X'. 

However, Neutron does not support to directly create the resources with tags, but need to do a follow up call to add the tagging. This is problematic as if there is any error in between both actions, the OpenStack resource will be created but not tagged, and it is not easy to know to what cluster it belongs to (or if it belongs to any). 

Octavia already implements this support and resources (load balancers) can be created with tags on POST requests: https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=create-a-load-balancer-detail#create-a-load-balancer.