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

Reply via email to