[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-9154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15065411#comment-15065411
 ] 

ASF GitHub Bot commented on CLOUDSTACK-9154:
--------------------------------------------

GitHub user wilderrodrigues opened a pull request:

    https://github.com/apache/cloudstack/pull/1259

    Critical VPCVR issues fixed: CLOUDSTACK-9154; CLOUDSTACK-9187; and 
CLOUDSTACK-9188

    This PR fixes:
    
    * CLOUDSTACK-9154: rVPC doesn't recover from cleaning up of network garbage 
collector
    * CLOUDSTACK-9187: rVPC routers in Master/Master due to concurrency problem 
when writing the keepalivd.conf
    * CLOUDSTACK-9188: NetworkGarbageCollector is not using gc.interval and 
gc.wait from settings
    
    Those changes have been covered by 2 new tests added to 
```smoke/test_vpc_redundant.py```:
    
    * test_04_rvpc_network_garbage_collector_nics
    * test_05_rvpc_multi_tiers
    
    The test ```test_04_rvpc_network_garbage_collector_nics``` depends on the 
global settings for the network.gc.interval and gc.wait. If one wants the test 
to run quicker, please change the settings (default is 600 seconds for each) 
and restart the Management Server before running the tests.
    
    In addition, the NetworkGarbageCollector was redefining the settings above 
mentioned and not reading their values through ConfigDao. Due to that, the 
settings were not being applied properly and the test was waiting to long to 
check the VPC routers.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ekholabs/cloudstack 
fix/rvpc-net-gc-CLOUDSTACK-9154

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1259.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1259
    
----
commit 2818b7fc39927b0ed7fedcf8306dddebd77c0839
Author: Wilder Rodrigues <[email protected]>
Date:   2015-12-17T13:20:59Z

    CLOUDSTACK-9154 - Returns the guest iterface that is marked as added
    
       - Force a restart of keepalived if conntrackd is not running or 
configuration has changed

commit f4b77a7d09ab88180309063b5eb32d405a5b9346
Author: Wilder Rodrigues <[email protected]>
Date:   2015-12-18T09:37:13Z

    CLOUDSTACK-9154 - Adds test to cover nics state after GC

commit 0f11cdb6c793cf49681547675bb15e7df3af1696
Author: Wilder Rodrigues <[email protected]>
Date:   2015-12-18T17:32:29Z

    CLOUDSTACK-9187 - Adds test to cover multiple nics and nic removal

commit f837b9bdd6d3694fe3041e6fa5541f4c8fdede67
Author: Wilder Rodrigues <[email protected]>
Date:   2015-12-18T17:36:02Z

    CLOUDSTACK-9187 - Fixes interface allocation to VRRP instances

commit a48137f39765668d9118f69a027329a2204ee8f4
Author: Wilder Rodrigues <[email protected]>
Date:   2015-12-18T18:56:06Z

    CLOUDSTACK-9188 -  Reads network GC interval and wait from configDao

commit d414d027ed77d6818ea28c0c40e390c483907cf5
Author: Wilder Rodrigues <[email protected]>
Date:   2015-12-18T19:18:24Z

    CLOUDSTACK-9187 - Makes code ready for more something like ethXXXX, if we 
ever get that far
    
       - Adds log info to NetworkOrchestrator in order to make the work of the 
Net-Scavenger more visible.

commit 8848c4f11342e8ebb0b231b5df07c91649b560ef
Author: Wilder Rodrigues <[email protected]>
Date:   2015-12-19T10:21:18Z

    CLOUDSTACK-9154 - Sets the pub interface down when all guest nets are gone
    
       - Refactors the set_backup, set_master and set_fault methods to have 
better names for the variable
       - Increase the sleep on the test in order to wait for the routers to be 
ready. It's now 3 times the GC settings

----


> rVPC doesn't recover from cleaning up of network garbage collector
> ------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9154
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9154
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Virtual Router
>         Environment: ACS 4.7
>            Reporter: Remi Bergsma
>            Assignee: Wilder Rodrigues
>
> - deploy a rVPC
> - deploy VM in it
> - make port forwarding (2nd ip, firewall and such)
> - confirm it works
> - stop the vm
> - after some time the network garbage collector will come and tear down the 
> network since there are no more VMs
> - keepalived will enter FAULT state because of missing eth2 nic (which was 
> first network tier)
> - all is left is ethic (link local) and lo0
> - then start the vm again
> - the nics get plugged again and keepalived will decide on a new master
> - the nics are screwed up after this:
> ```
> root@r-1021-VM:~# ip a
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>     inet 127.0.0.1/8 scope host lo
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
> qlen 1000
>     link/ether 0e:00:a9:fe:02:92 brd ff:ff:ff:ff:ff:ff
>     inet 169.254.2.146/16 brd 169.254.255.255 scope global eth0
> 5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
> qlen 1000
>     link/ether 02:00:18:34:00:05 brd ff:ff:ff:ff:ff:ff
>     inet x.y.238.24/24 brd x.y.238.255 scope global eth1
>     inet 10.0.0.51/24 brd 10.0.0.255 scope global eth1
>     inet 10.0.0.1/24 brd 10.0.0.255 scope global secondary eth1
> 6: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
> qlen 1000
>     link/ether 06:d5:4e:00:00:1d brd ff:ff:ff:ff:ff:ff
>     inet x.y.238.25/24 brd x.y.238.255 scope global eth2
>     inet 10.0.0.1/24 brd 10.0.0.255 scope global eth2
> root@r-1021-VM:~#
> ```
> Public and tier ip addresses are mixed up.
> /etc/cloudstack/ips.json has the wrong info:
> ```
> {                                                                             
>                                                                               
>                                      [44/959]
>     "eth0": [
>         {
>             "add": true,
>             "broadcast": "169.254.255.255",
>             "cidr": "169.254.2.146/16",
>             "device": "eth0",
>             "gateway": "None",
>             "netmask": "255.255.0.0",
>             "network": "169.254.0.0/16",
>             "nic_dev_id": "0",
>             "nw_type": "control",
>             "one_to_one_nat": false,
>             "public_ip": "169.254.2.146",
>             "size": "16",
>             "source_nat": false
>         }
>     ],
>     "eth1": [
>         {
>             "add": true,
>             "broadcast": "x.y.238.255",
>             "cidr": "x.y.238.24/24",
>             "device": "eth1",
>             "first_i_p": true,
>             "gateway": "x.y.238.1",
>             "netmask": "255.255.255.0",
>             "network": "x.y.238.0/24",
>             "new_nic": false,
>             "nic_dev_id": 1,
>             "nw_type": "public",
>             "one_to_one_nat": false,
>             "public_ip": "x.y.238.24",
>             "size": "24",
>             "source_nat": true,
>             "vif_mac_address": "06:fc:da:00:00:1c"
>         },
>         {
>             "add": true,
>             "broadcast": "10.0.0.255",
>             "cidr": "10.0.0.51/24",
>             "device": "eth1",
>             "gateway": "10.0.0.1",
>             "netmask": "255.255.255.0",
>             "network": "10.0.0.0/24",
>             "nic_dev_id": "1",
>             "nw_type": "guest",
>             "one_to_one_nat": false,
>             "public_ip": "10.0.0.51",
>             "size": "24",
>             "source_nat": false
>         }
>     ],
>     "eth2": [
>         {
>             "add": false,
>             "broadcast": "10.0.0.255",
>             "cidr": "10.0.0.173/24",
>             "device": "eth2",
>             "gateway": "10.0.0.1",
>             "netmask": "255.255.255.0",
>             "network": "10.0.0.0/24",
>             "nic_dev_id": "2",
>             "nw_type": "guest",
>             "one_to_one_nat": false,
>             "public_ip": "10.0.0.173",
>             "size": "24",
>             "source_nat": false
>         },
>         {
>             "add": true,
>             "broadcast": "x.y.238.255",
>             "cidr": "x.y.238.25/24",
>             "device": "eth2",
>             "first_i_p": true,
>             "gateway": "x.y.238.1",
>             "netmask": "255.255.255.0",
>             "network": "x.y.238.0/24",
>             "new_nic": false,
>             "nic_dev_id": 2,
>             "nw_type": "public",
>             "one_to_one_nat": false,
>             "public_ip": "x.y.238.25",
>             "size": "24",
>             "source_nat": true,
>             "vif_mac_address": "06:d5:4e:00:00:1d"
>         }
>     ],
>     "id": "ips"
> ```
> Pinging [~wilder.rodrigues]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to