You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Murali Reddy (JIRA)" <ji...@apache.org> on 2013/06/28 09:04:19 UTC

[jira] [Resolved] (CLOUDSTACK-2045) [Multiple IPs Per Nic] This feature is not working well in case of networks with external devices after GC

     [ https://issues.apache.org/jira/browse/CLOUDSTACK-2045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Murali Reddy resolved CLOUDSTACK-2045.
--------------------------------------

    Resolution: Fixed
    
> [Multiple IPs Per Nic] This feature is not working well in case of networks with external devices after GC
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-2045
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2045
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Network Controller
>    Affects Versions: 4.2.0
>         Environment: commit bc3e184b7273da605177b0ac4ed7186f7fa36fbd 
>            Reporter: venkata swamybabu budumuru
>            Assignee: Murali Reddy
>            Priority: Critical
>             Fix For: 4.2.0
>
>         Attachments: logs.tgz
>
>
> Steps to reproduce :
> 1. Have an advanced zone created with 1 Xen Cluster
> 2. create a network offering with SRX and Netscaler
> mysql> select * from ntwk_offering_service_map where network_offering_id=14;
> +----+---------------------+----------------+---------------+---------------------+
> | id | network_offering_id | service | provider | created |
> +----+---------------------+----------------+---------------+---------------------+
> | 48 | 14 | Dhcp | VirtualRouter | 2013-04-15 09:49:58 |
> | 49 | 14 | Dns | VirtualRouter | 2013-04-15 09:49:58 |
> | 50 | 14 | Firewall | JuniperSRX | 2013-04-15 09:49:58 |
> | 52 | 14 | Lb | Netscaler | 2013-04-15 09:49:58 |
> | 51 | 14 | PortForwarding | JuniperSRX | 2013-04-15 09:49:58 |
> | 47 | 14 | SourceNat | JuniperSRX | 2013-04-15 09:49:58 |
> | 46 | 14 | StaticNat | JuniperSRX | 2013-04-15 09:49:58 |
> | 53 | 14 | UserData | VirtualRouter | 2013-04-15 09:49:58 |
> +----+---------------------+----------------+---------------+---------------------+
> 3. create a Network using the above offering
>                    id: 210
>                  name: ExtNet1
>                  uuid: 455f4a1c-204a-4d64-8357-63b9e562d5b7
>          display_text: ExtNet1
>          traffic_type: Guest
> broadcast_domain_type: Vlan
>         broadcast_uri: vlan://902
>               gateway: 10.0.32.1
>                  cidr: 10.0.32.0/20
>                  mode: Dhcp
>   network_offering_id: 14
>   physical_network_id: 200
>        data_center_id: 1
>             guru_name: ExternalGuestNetworkGuru
>                 state: Implemented
>               related: 210
>             domain_id: 2
>            account_id: 3
>                  dns1: 10.103.128.16
>                  dns2: NULL
>             guru_data: NULL
>            set_fields: 0
>              acl_type: Account
>        network_domain: cs3swamy.xen
>        reservation_id: 7f12298d-0c8a-41d7-9407-dd4744342c55
>            guest_type: Isolated
>      restart_required: 0
>               created: 2013-04-15 15:04:53
>               removed: NULL
>     specify_ip_ranges: 0
>                vpc_id: NULL
>           ip6_gateway: NULL
>              ip6_cidr: NULL
>          network_cidr: NULL
> 4. deploy VM using the above network (for example : in my case it got 10.0.64.0/20 as CIDR)
> 5. acquire at least 2 secondary ips for the above nic
> 6. create some PF/static Nat rules 
> Below mentioned are the configured rules on secondary ips:
> - PF & Firewall rule created on one secondary ip i.e. 10.0.65.59
> - Static Nat & Firewall rule create on one more secondary ip i.e. 10.0.65.78
> mysql> select * from nic_secondary_ips;
> +----+--------------------------------------+------+-------+-------------+-------------+------------+---------------------+------------+-----------+
> | id | uuid                                 | vmId | nicId | ip4_address | ip6_address | network_id | created             | account_id | domain_id |
> +----+--------------------------------------+------+-------+-------------+-------------+------------+---------------------+------------+-----------+
> |  1 | c4af4a4f-2697-446e-9b2b-92df3be5a922 |   20 |    53 | 10.0.65.78  | NULL        |        210 | 2013-04-15 17:48:27 |          3 |         2 |
> |  2 | 1f316ce5-2bc9-4c60-94b2-8d414dad2536 |   20 |    53 | 10.0.65.59  | NULL        |        210 | 2013-04-15 17:54:03 |          3 |         2 |
> +----+--------------------------------------+------+-------+-------------+-------------+------------+---------------------+------------+-----------+
> mysql> select * from user_ip_address where one_to_one_nat=1\G
> *************************** 1. row ***************************
>                  id: 5
>                uuid: dd31e847-0aa8-4506-9a13-b6c6895d91a3
>          account_id: 3
>           domain_id: 2
>   public_ip_address: 10.147.44.64
>      data_center_id: 1
>          source_nat: 0
>           allocated: 2013-04-16 10:17:45
>          vlan_db_id: 1
>      one_to_one_nat: 1
>               vm_id: 20
>               state: Allocated
>         mac_address: 15
>   source_network_id: 200
>          network_id: 210
> physical_network_id: 200
>           is_system: 0
>              vpc_id: NULL
>           dnat_vmip: 10.0.65.78
> mysql> select * from port_forwarding_rules;
> +----+-------------+-----------------+-----------------+---------------+
> | id | instance_id | dest_ip_address | dest_port_start | dest_port_end |
> +----+-------------+-----------------+-----------------+---------------+
> | 22 |          20 | 10.0.65.59      |              22 |            22 |
> +----+-------------+-----------------+-----------------+---------------+
> 7. Stop the above VM and wait till network GC happens
> Note : Make sure that "network.gc.interval" and "network.gc.wait" are set to some small value. in my case it is set to "10" 
> 8. Make sure that above network is set to "Allocated" after GC
> 9. Deploy VM and verify everything is fine.
> Observations :-
> (i) After step:9, network got a new CIDR range allocated i.e. 10.0.32.0/20
> (ii) Verified the table port_forwarding_rules which got automatically changed to the new CIDR but, that secondary ip doesn't exist anywhere.
> mysql> select * from port_forwarding_rules;
> +----+-------------+-----------------+-----------------+---------------+
> | id | instance_id | dest_ip_address | dest_port_start | dest_port_end |
> +----+-------------+-----------------+-----------------+---------------+
> | 22 |          20 | 10.0.33.59      |              22 |            22 |
> +----+-------------+-----------------+-----------------+---------------+
> mysql> select * from user_ip_address where one_to_one_nat=1\G
> *************************** 1. row ***************************
>                  id: 5
>                uuid: dd31e847-0aa8-4506-9a13-b6c6895d91a3
>          account_id: 3
>           domain_id: 2
>   public_ip_address: 10.147.44.64
>      data_center_id: 1
>          source_nat: 0
>           allocated: 2013-04-16 10:17:45
>          vlan_db_id: 1
>      one_to_one_nat: 1
>               vm_id: 20
>               state: Allocated
>         mac_address: 15
>   source_network_id: 200
>          network_id: 210
> physical_network_id: 200
>           is_system: 0
>              vpc_id: NULL
>           dnat_vmip: 10.0.65.78
> 1 row in set (0.00 sec)
> mysql> select * from nic_secondary_ips;
> +----+--------------------------------------+------+-------+-------------+-------------+------------+---------------------+------------+-----------+
> | id | uuid                                 | vmId | nicId | ip4_address | ip6_address | network_id | created             | account_id | domain_id |
> +----+--------------------------------------+------+-------+-------------+-------------+------------+---------------------+------------+-----------+
> |  1 | c4af4a4f-2697-446e-9b2b-92df3be5a922 |   20 |    53 | 10.0.65.78  | NULL        |        210 | 2013-04-15 17:48:27 |          3 |         2 |
> |  2 | 1f316ce5-2bc9-4c60-94b2-8d414dad2536 |   20 |    53 | 10.0.65.59  | NULL        |        210 | 2013-04-15 17:54:03 |          3 |         2 |
> +----+--------------------------------------+------+-------+-------------+-------------+------------+---------------------+------------+-----------+
> Issue :
> =====
> While the secondary ips are still pointing to the OLD CIDR, network got a new CIDR after GC.
> Enhancement/Improvement needs to be done here is :
> ==========================================
> Either we need to persist the old CIDR or we need to change the secondary ips automatically fit into the new CIDR
> Attaching the vmops.log and api.log

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira