GitHub user remibergsma opened a pull request:

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

    CLOUDSTACK-9266: Make deleting static routes in private gw work

    The to-be-deleted static routes were removed from the json file, instead of 
putting them there with revoke=true. The script that parses the json now 
doesn't find it and thus does not delete it.
    
    Example after adding/removing some:
    ```
    root@r-3-VM:/var/cache/cloud# cat /etc/cloudstack/staticroutes.json 
    {
        "1.2.3.0/24": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "1.2.3.0/24", 
            "revoke": true
        }, 
        "1.2.3.4/32": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "1.2.3.4/32", 
            "revoke": true
        }, 
        "1.2.33.3/32": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "1.2.33.3/32", 
            "revoke": true
        }, 
        "1.22.2.2/32": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "1.22.2.2/32", 
            "revoke": true
        }, 
        "10.1.2.1/32": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "10.1.2.1/32", 
            "revoke": true
        }, 
        "10.1.200.0/25": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "10.1.200.0/25", 
            "revoke": true
        }, 
        "10.11.12.13/32": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "10.11.12.13/32", 
            "revoke": true
        }, 
        "172.16.1.3/32": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "172.16.1.3/32", 
            "revoke": true
        }, 
        "172.16.15.14/32": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "172.16.15.14/32", 
            "revoke": false
        }, 
        "172.16.17.0/25": {
            "gateway": "172.16.0.1", 
            "ip_address": "172.16.0.2", 
            "network": "172.16.17.0/25", 
            "revoke": false
        }, 
        "id": "staticroutes"
    }
    ```
    
    This results in:
    ```
    root@r-3-VM:/var/cache/cloud# ip route show
    default via 192.168.23.1 dev eth1 
    169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.1.67 
    172.16.0.0/24 dev eth2  proto kernel  scope link  src 172.16.0.2 
    172.16.15.14 via 172.16.0.1 dev eth2 
    172.16.17.0/25 via 172.16.0.1 dev eth2 
    192.168.23.0/24 dev eth1  proto kernel  scope link  src 192.168.23.4 
    ```
    
    Two static routes left, the rest deleted:
    ```
    172.16.15.14 via 172.16.0.1 dev eth2 
    172.16.17.0/25 via 172.16.0.1 dev eth2 
    ```
    
    That also matches the UI:
    
    <img width="1327" alt="screen shot 2016-01-30 at 06 34 06" 
src="https://cloud.githubusercontent.com/assets/1630096/12693933/83e67d80-c71b-11e5-9241-9f478522b7a4.png";>
    


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

    $ git pull https://github.com/remibergsma/cloudstack 
fix-del-private-gw-route

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

    https://github.com/apache/cloudstack/pull/1386.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 #1386
    
----
commit a40415604a9a8bbdc7833d850c4f74d66236d334
Author: Remi Bergsma <git...@remi.nl>
Date:   2016-01-30T05:24:03Z

    CLOUDSTACK-9266: Make deleting static routes in private gw work

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to