Hello, Ashish, I think sync itself (if excluding the remote sec-group) is not complex, the complexity is to ensure the rules set in different region of Neutron will not conflict with each other. Otherwise, it'll become mess.
So I agree with you "We must use neutron to perform all our operations as with neutron we have total control over it." (Is my understanding correct?) That's the way of Tricircle(please forgive me to explain a little: Tricircle now is only a project about networking automation across Neutron. And the Nova/Cinder API-Gateway part will be moved to Trio2o, a new created project: https://docs.google.com/presentation/d/1kpVo5rsL6p_rq9TvkuczjommJSsisDiKJiurbhaQg7E/edit),And the SEG sync has been implemented in the Tricircle, and we are now doing the tricircle splitting and cleaning. If we implement seg sync in Kingbird, we have to write lots of duplicated code which has already done in Neutron, for example, SEG CRUD, rule CRUD, validation, rule checking, default rule management, etc. Best Regards Chaoyi Huang(joehuang) ________________________________ From: Ashish singh [[email protected]] Sent: 08 September 2016 23:57 To: opnfv-tech-discuss; caizhiyuan (A); Meimei; Sama, Malla Reddy; Zhipeng Huang; Ashish singh; Dimitri Mazmanov; joehuang; Ashish Singh7 Subject: [opnfv-tech-discuss][multisite] Secgroup syncing Approach Hi All, I have drafted a basic approach for security group synching in release D and it is as follows. - Get list of secgroups with rules for a tenant from all the regions which do not have remote group references(currently, we ignore remote secgroup references as there can be lot nested dependencies). - Traverse each region and do the following - Get the list of secgroup which are present in all the regions except the current region, These are the secgroups which we need to sync in current region: say it GRP_TO_BE_SYNCED - There can be case where the secgroup from GRP_TO_BE_SYNCED may have the same rules as the secgroup in current region(If not initially but which will obviously happen after a sync job). - Traverse through the GRP_TO_BE_SYNCED and check if there are such secgroups(rules overlapping groups), if there, ignore it. After this filtering, the remaining secgroup will be the final list of secgroup which should be created for the current region. - Create the secgroup with the final list of secgroups in the region. - Repeat the process for all the tenant in batches. The default security group is not syned, as I feel region specific default secgroup has to there in each region. We must use neutron to perform all our operations as with neutron we have total control over it. For creating a security group we need the following information --tenant-id TENANT_ID The owner tenant ID. --description DESCRIPTION Description of security group rule. --direction {ingress,egress} Direction of traffic: ingress/egress. --ethertype ETHERTYPE IPv4/IPv6 --protocol PROTOCOL Protocol of packet. Allowed values are [icmp, icmpv6, tcp, udp] and integer representations [0-255] --port-range-min PORT_RANGE_MIN Starting port range. For ICMP it is type. --port-range-max PORT_RANGE_MAX Ending port range. For ICMP it is code. --remote-ip-prefix REMOTE_IP_PREFIX CIDR to match on. We have all these details with us available. Let us take this forward, Please review/comment. -- Best Regards, Ashish Singh
_______________________________________________ opnfv-tech-discuss mailing list [email protected] https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss
