Example #1
0
 def _create_policy(self, policy_name, proj_obj, src_vn_obj, dst_vn_obj):
     policy_exists = False
     policy = NetworkPolicy(name=policy_name, parent_obj=proj_obj)
     try:
         policy_obj = self._vnc_lib.network_policy_read(
             fq_name=policy.get_fq_name())
         policy_exists = True
     except NoIdError:
         # policy does not exist. Create one.
         policy_obj = policy
     network_policy_entries = PolicyEntriesType([
         PolicyRuleType(
             direction='<>',
             action_list=ActionListType(simple_action='pass'),
             protocol='any',
             src_addresses=[
                 AddressType(virtual_network=src_vn_obj.get_fq_name_str())
             ],
             src_ports=[PortType(-1, -1)],
             dst_addresses=[
                 AddressType(virtual_network=dst_vn_obj.get_fq_name_str())
             ],
             dst_ports=[PortType(-1, -1)])
     ])
     policy_obj.set_network_policy_entries(network_policy_entries)
     if policy_exists:
         self._vnc_lib.network_policy_update(policy)
     else:
         self._vnc_lib.network_policy_create(policy)
     return policy_obj
 def _create_vn_vn_policy(self, policy_name, \
         proj_obj, src_vn_obj, dst_vn_obj):
     policy_exists = False
     policy = NetworkPolicy(name=policy_name, parent_obj=proj_obj)
     try:
         policy_obj = self._vnc_lib.network_policy_read(
             fq_name=policy.get_fq_name())
         policy_exists = True
     except NoIdError:
         # policy does not exist. Create one.
         policy_obj = policy
     network_policy_entries = PolicyEntriesType()
     policy_entry = self._create_policy_entry(src_vn_obj, dst_vn_obj)
     network_policy_entries.add_policy_rule(policy_entry)
     policy_obj.set_network_policy_entries(network_policy_entries)
     if policy_exists:
         self._vnc_lib.network_policy_update(policy)
     else:
         self._vnc_lib.network_policy_create(policy)
     return policy_obj
 def _create_vn_vn_policy(self, policy_name,
         proj_obj, src_vn_obj, dst_vn_obj):
     policy_exists = False
     policy = NetworkPolicy(name=policy_name, parent_obj=proj_obj)
     try:
         policy_obj = self._vnc_lib.network_policy_read(
             fq_name=policy.get_fq_name())
         policy_exists = True
     except NoIdError:
         # policy does not exist. Create one.
         policy_obj = policy
     network_policy_entries = PolicyEntriesType()
     policy_entry = self._create_policy_entry(src_vn_obj, dst_vn_obj)
     network_policy_entries.add_policy_rule(policy_entry)
     policy_obj.set_network_policy_entries(network_policy_entries)
     if policy_exists:
         self._vnc_lib.network_policy_update(policy)
     else:
         self._vnc_lib.network_policy_create(policy)
     return policy_obj