cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wei Zhou (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CLOUDSTACK-9885) VPC RVR: On deleting first tier network both VRs becoming MASTER
Date Wed, 24 May 2017 19:55:04 GMT

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

Wei Zhou edited comment on CLOUDSTACK-9885 at 5/24/17 7:54 PM:
---------------------------------------------------------------

[~jayapal] thanks for testing.
The code I posted cleanup the wrong ips. We do have another commit for the wrong ethernet
in keepalived.conf

{code}
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
index 63c0df6..9f9513d 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
@@ -53,9 +53,9 @@ class CsAddress(CsDataBag):
         for ip in self.get_ips():
             if ip.is_guest() and ip.is_added():
                 device = ip.get_device()
-                device_suffix = int(''.join([digit for digit in device if digit.isdigit()]))
-                if device_suffix < lowest_device:
-                    lowest_device = device_suffix
+                device_physical_number = CsHelper.get_physical_device_number(device)
+                if device_physical_number < lowest_device:
+                    lowest_device = device_physical_number
                     guest_interface = ip
                     logging.debug("Guest interface will be set on device '%s' and IP '%s'"
% (guest_interface.get_device(), guest_interface.get_ip()))
         return guest_interface
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py
index becad9c..a8ccea2 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py
@@ -128,6 +128,14 @@ def get_ip(device):
             return vals[1]
     return ""

+def get_physical_device_number(device):
+    """ Return physical device number on an interface """
+    cmd = "ip addr show dev %s" % device
+    for i in execute(cmd):
+        vals = i.lstrip().split()
+        if (vals[1].split(':')[0] == device):
+            return int(vals[0].split(':')[0])
+    return 1000 #lowest_device

 def definedinfile(filename, val):
     """ Check if val is defined in the file """
{code}


was (Author: weizhou):
[~jayapal] thanks for testing.
The code I posted cleanup the wrong ips. We do have another commit for the wrong ethernet
in keepalived.conf

```
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
index 63c0df6..9f9513d 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
@@ -53,9 +53,9 @@ class CsAddress(CsDataBag):
         for ip in self.get_ips():
             if ip.is_guest() and ip.is_added():
                 device = ip.get_device()
-                device_suffix = int(''.join([digit for digit in device if digit.isdigit()]))
-                if device_suffix < lowest_device:
-                    lowest_device = device_suffix
+                device_physical_number = CsHelper.get_physical_device_number(device)
+                if device_physical_number < lowest_device:
+                    lowest_device = device_physical_number
                     guest_interface = ip
                     logging.debug("Guest interface will be set on device '%s' and IP '%s'"
% (guest_interface.get_device(), guest_interface.get_ip()))
         return guest_interface
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py
index becad9c..a8ccea2 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsHelper.py
@@ -128,6 +128,14 @@ def get_ip(device):
             return vals[1]
     return ""

+def get_physical_device_number(device):
+    """ Return physical device number on an interface """
+    cmd = "ip addr show dev %s" % device
+    for i in execute(cmd):
+        vals = i.lstrip().split()
+        if (vals[1].split(':')[0] == device):
+            return int(vals[0].split(':')[0])
+    return 1000 #lowest_device

 def definedinfile(filename, val):
     """ Check if val is defined in the file """
```

> VPC RVR: On deleting first tier network both VRs becoming MASTER
> ----------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9885
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9885
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: 4.10.0.0
>            Reporter: Jayapal Reddy
>            Assignee: Jayapal Reddy
>            Priority: Blocker
>             Fix For: 4.10.0.0
>
>
> - Configure two tier networks t1 and t2. Delete the t1 network. Both VRs are getting
 into MASTER state.
> r-269-QA - was BACKUP VR. On deleting t1 network it became MASTER.
> {noformat}
> root@r-269-QA:~# 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:01:dc brd ff:ff:ff:ff:ff:ff
>     inet 169.254.1.220/16 brd 169.254.255.255 scope global eth0
> 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
>     link/ether 06:e4:c8:00:00:0e brd ff:ff:ff:ff:ff:ff
>     inet 10.147.46.102/24 brd 10.147.46.255 scope global eth1
> 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:5d:a4:00:03 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.1.33/24 brd 10.1.1.255 scope global eth2
> 5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:de:fc:00:00:29 brd ff:ff:ff:ff:ff:ff
>     inet 10.147.52.200/24 brd 10.147.52.255 scope global eth3
> 6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:31:e1:00:03 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.2.78/24 brd 10.1.2.255 scope global eth4
> root@r-269-QA:~#
> root@r-269-QA:~# 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:01:dc brd ff:ff:ff:ff:ff:ff
>     inet 169.254.1.220/16 brd 169.254.255.255 scope global eth0
> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:e4:c8:00:00:0e brd ff:ff:ff:ff:ff:ff
>     inet 10.147.46.102/24 brd 10.147.46.255 scope global eth1
> 5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:de:fc:00:00:29 brd ff:ff:ff:ff:ff:ff
>     inet 10.147.52.200/24 brd 10.147.52.255 scope global eth3
>     inet 10.147.52.100/24 brd 10.147.52.255 scope global secondary eth3
> 6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:31:e1:00:03 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.2.78/24 brd 10.1.2.255 scope global eth4
>     inet 10.1.2.1/24 brd 10.1.2.255 scope global secondary eth4
> root@r-269-QA:~# checkrouter.sh
> Status: MASTER
> root@r-269-QA:~#
> {noformat}
> root@r-268-QA - was MASTER VR. On deleting t1 it deleted its eth2 interface and delete
10.2.1.1 ip on ethic interface.
>    After some time it configured 10.2.1.1 ip on eth4 and it became master.
> {noformat}
> root@r-268-QA:~# 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:ac brd ff:ff:ff:ff:ff:ff
>     inet 169.254.2.172/16 brd 169.254.255.255 scope global eth0
> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:e4:c8:00:00:0e brd ff:ff:ff:ff:ff:ff
>     inet 10.147.46.102/24 brd 10.147.46.255 scope global eth1
> 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:15:ab:00:02 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.1.189/24 brd 10.1.1.255 scope global eth2
>     inet 10.1.1.1/24 brd 10.1.1.255 scope global secondary eth2
> 5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:67:ce:00:00:29 brd ff:ff:ff:ff:ff:ff
>     inet 10.147.52.200/24 brd 10.147.52.255 scope global eth3
>     inet 10.147.52.100/24 brd 10.147.52.255 scope global secondary eth3
> 6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:09:1d:00:02 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.2.49/24 brd 10.1.2.255 scope global eth4
>     inet 10.1.2.1/24 brd 10.1.2.255 scope global secondary eth4
> root@r-268-QA:~#
> root@r-268-QA:~# 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:ac brd ff:ff:ff:ff:ff:ff
>     inet 169.254.2.172/16 brd 169.254.255.255 scope global eth0
> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:e4:c8:00:00:0e brd ff:ff:ff:ff:ff:ff
>     inet 10.147.46.102/24 brd 10.147.46.255 scope global eth1
> 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:15:ab:00:02 brd ff:ff:ff:ff:ff:ff
> 5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:67:ce:00:00:29 brd ff:ff:ff:ff:ff:ff
>     inet 10.147.52.200/24 brd 10.147.52.255 scope global eth3
> 6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:09:1d:00:02 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.2.49/24 brd 10.1.2.255 scope global eth4
> root@r-268-QA:~# 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:ac brd ff:ff:ff:ff:ff:ff
>     inet 169.254.2.172/16 brd 169.254.255.255 scope global eth0
> 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
>     link/ether 06:e4:c8:00:00:0e brd ff:ff:ff:ff:ff:ff
>     inet 10.147.46.102/24 brd 10.147.46.255 scope global eth1
> 5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:67:ce:00:00:29 brd ff:ff:ff:ff:ff:ff
>     inet 10.147.52.200/24 brd 10.147.52.255 scope global eth3
> 6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:09:1d:00:02 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.2.49/24 brd 10.1.2.255 scope global eth4
> root@r-268-QA:~# 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:ac brd ff:ff:ff:ff:ff:ff
>     inet 169.254.2.172/16 brd 169.254.255.255 scope global eth0
> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:e4:c8:00:00:0e brd ff:ff:ff:ff:ff:ff
>     inet 10.147.46.102/24 brd 10.147.46.255 scope global eth1
> 5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 06:67:ce:00:00:29 brd ff:ff:ff:ff:ff:ff
>     inet 10.147.52.200/24 brd 10.147.52.255 scope global eth3
>     inet 10.147.52.100/24 brd 10.147.52.255 scope global secondary eth3
> 6: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen
1000
>     link/ether 02:00:09:1d:00:02 brd ff:ff:ff:ff:ff:ff
>     inet 10.1.2.49/24 brd 10.1.2.255 scope global eth4
>     inet 10.1.2.1/24 brd 10.1.2.255 scope global secondary eth4
> root@r-268-QA:~# checkrouter.sh
> Status: MASTER
> root@r-268-QA:~#
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message