You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by dsclose <gi...@git.apache.org> on 2016/04/27 12:11:07 UTC
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
GitHub user dsclose opened a pull request:
https://github.com/apache/cloudstack/pull/1519
Cloudstack 9339: Virtual Routers don't handle Multiple Public Interfaces
This PR addresses CLOUDSTACK-9339 and may need a code review from someone familiar with the System VM scripts. In particular, this PR has not been tested in a VPC RvR context. Only standalone routers and RvR routers have been demonstrated.
- **d582358: Leave public interfaces down in backup redundant routers.** Previously backup routers were bringing all interfaces up and thus arping public IPs away from the master router.
- **9ee1eb6: Add the default gateway to the main routing table when interfaces are configured.** The gateway for the first public IP was always being added to the main routing table. Sometimes a router would consequently add the gateway for an IP other than the default source-NAT IP. This would prevent outbound connectivity for guest VMs.
- **ad9d72f: Add default gateway to device-specific routing tables.** Link-level routes were being put into the device-specific routing tables (accessed via firewall marks) but these are unnecessary. Instead, the default gateway is needed to allow the kernel to make an appropriate routing decision.
- **8db879e: Only mark guest connections when they are part of a static-NAT.** Guest connections were being marked with a zero. This added no functionality and prevented static-NAT rules from routing outbound traffic properly as device-specific routing tables would not be used. Instead, all traffic would be routed out via the default public interface.
- **788b1be: Allow forwarding and collect network stats on any public interface.** Forwarding rules and network stats were limited to eth2 on RvR networks. This needed to be decoupled from eth2 and reapplied to whichever interface was under consideration.
- **b19e8aa: Ensure that CONNMARK --restore-mark only appears once.** This is a bit of a hack and can do with being improved. The CONNMARK rule was not being picked up by the de-duplication logic in CsNetfilter and was being added twice. This caused checksum errors on packets traversing NAT.
- **bf285e1: Transition to master state should add all necessary routes.** Now that backup routers keep their interfaces down, the route logic executed at configuration-time cannot be applied. Instead, once the interface is brought up during a transition to master, routers must re-evaluate what routes are needed and add them. Unfortunately I couldn't see a way to re-use the existing route logic with the variables that I had in scope so there is some duplication. In some cases, routers did not successfully arp IPs away from the old master so some arp logic was added. During a failover most connections with guest VMs will be maintained with only minor packet loss. SSH sessions implemented via port-forwarding rules on an interface other than the source-NAT interface consistently get dropped, however, so the failover isn't quite seamless. It's possible that there's an easy fix for that.
I expect that a number of tests may need to be modified/written as part of this PR. Any feedback or pointers would be useful as initially I'll be relying on the CI failures to tell me where to look.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dsclose/cloudstack CLOUDSTACK-9339
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1519.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 #1519
----
commit d5823589c8f14f943d921ef0072119b3643893ef
Author: dean.close <de...@icloudhosting.com>
Date: 2016-04-27T08:30:30Z
CLOUDSTACK-9339: Leave public interfaces down in backup redundant routers.
commit 9ee1eb6be9ccc6b297a2d0bd74c6ded629a04461
Author: dean.close <de...@icloudhosting.com>
Date: 2016-04-27T08:35:49Z
CLOUDSTACK-9339: Add the default gateway to the main routing table when the interfaces are configured.
commit ad9d72f288070096c5817d9dac36b1cf8c37b7b2
Author: dean.close <de...@icloudhosting.com>
Date: 2016-04-27T08:49:25Z
CLOUDSTACK-9339: Add default gateway to device-specific routing tables.
commit 8db879e3f0a880836ba11129ce66649fc1260d95
Author: dean.close <de...@icloudhosting.com>
Date: 2016-04-27T09:07:06Z
CLOUDSTACK-9339: Only mark guest connections when they are part of a static-NAT.
commit 788b1be3366435bb8c1dc3c0a7f14e6a24ac45c0
Author: dean.close <de...@icloudhosting.com>
Date: 2016-04-27T09:08:23Z
CLOUDSTACK-9339: Allow forwarding and collect network stats on any public interface.
commit b19e8aab2725cdad048162505153dfcd10fd8810
Author: dean.close <de...@icloudhosting.com>
Date: 2016-04-27T09:10:04Z
CLOUDSTACK-9339: Ensure that CONNMARK --restore-mark only appears once. This avoids checksum errors.
commit bf285e185d674238f228a546b600aed694699166
Author: dean.close <de...@icloudhosting.com>
Date: 2016-04-27T09:23:41Z
CLOUDSTACK-9339: Transition to master state should add all necessary routes and arp IPs.
----
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217495575
@swill ok, thanks, good luck with the master.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by bvbharatk <gi...@git.apache.org>.
Github user bvbharatk commented on the issue:
https://github.com/apache/cloudstack/pull/1519
### ACS CI BVT Run
**Sumarry:**
Build Number 182
Hypervisor xenserver
NetworkType Advanced
Passed=67
Failed=6
Skipped=3
_Link to logs Folder (search by build_no):_ https://www.dropbox.com/sh/yj3wnzbceo9uef2/AAB6u-Iap-xztdm6jHX9SjPja?dl=0
**Failed tests:**
* test_vpc_vpn.py
* ContextSuite context=TestRVPCSite2SiteVpn>:setup Failing since 18 runs
* ContextSuite context=TestVpcRemoteAccessVpn>:setup Failing since 18 runs
* ContextSuite context=TestVpcSite2SiteVpn>:setup Failing since 18 runs
* test_routers_iptables_default_policy.py
* test_01_single_VPC_iptables_policies Failed
* test_volumes.py
* test_06_download_detached_volume Failed
* test_vm_life_cycle.py
* test_10_attachAndDetach_iso Failed
**Skipped tests:**
test_vm_nic_adapter_vmxnet3
test_static_role_account_acls
test_deploy_vgpu_enabled_vm
**Passed test suits:**
test_deploy_vm_with_userdata.py
test_affinity_groups_projects.py
test_portable_publicip.py
test_over_provisioning.py
test_global_settings.py
test_scale_vm.py
test_service_offerings.py
test_routers.py
test_reset_vm_on_reboot.py
test_snapshots.py
test_deploy_vms_with_varied_deploymentplanners.py
test_login.py
test_list_ids_parameter.py
test_public_ip_range.py
test_multipleips_per_nic.py
test_regions.py
test_affinity_groups.py
test_network_acl.py
test_pvlan.py
test_nic.py
test_deploy_vm_root_resize.py
test_resource_detail.py
test_secondary_storage.py
test_disk_offerings.py
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221867807
@swill no worries. Happy to do that - the CI output was vast and I wasn't looking forward to combing through it.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1519
Thanks @dsclose can you help review PR #1659 and see that all of your changes are ported too, in which you may close your PR.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by ustcweizhou <gi...@git.apache.org>.
Github user ustcweizhou commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1519#discussion_r61681715
--- Diff: systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py ---
@@ -423,22 +443,15 @@ def fw_router(self):
self.fw.append(
["filter", "", "-A FORWARD -i %s -o %s -m state --state NEW -j ACCEPT" % (self.dev, self.dev)])
self.fw.append(
- ["filter", "", "-A FORWARD -i eth2 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT"])
- self.fw.append(
["filter", "", "-A FORWARD -i eth0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT"])
- self.fw.append(
- ["filter", "", "-A FORWARD -i eth0 -o eth2 -j FW_OUTBOUND"])
- self.fw.append(["mangle", "",
--- End diff --
good to see these lines (line 429-431) are removed.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217489945
I rebased against the latest 4.7 before force pushing. Has an error been introduced along the way?
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-216267457
@rhtyd is there a reason you want him to rebase to master? We still support 4.7, so all fixes to that branch will be forward merged to 4.8 and master. I think this PR can stay open against 4.7.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by ustcweizhou <gi...@git.apache.org>.
Github user ustcweizhou commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-215347296
@dsclose I think it is better to split this PR into some isolated PRs, as the issues are isolated.
to be honest, some commits looks good to me ( as we have similar fix in our production), others need testing.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1519
@blueorangutan package
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
GitHub user dsclose reopened a pull request:
https://github.com/apache/cloudstack/pull/1519
Cloudstack 9339: Virtual Routers do not handle Multiple Public Interfaces
This PR addresses CLOUDSTACK-9339 and may need a code review from someone familiar with the System VM scripts. In particular, this PR has not been tested in a VPC RvR context. Only standalone routers and RvR routers have been demonstrated.
- **d582358: Leave public interfaces down in backup redundant routers.** Previously backup routers were bringing all interfaces up and thus arping public IPs away from the master router.
- **9ee1eb6: Add the default gateway to the main routing table when interfaces are configured.** The gateway for the first public IP was always being added to the main routing table. Sometimes a router would consequently add the gateway for an IP other than the default source-NAT IP. This would prevent outbound connectivity for guest VMs.
- **ad9d72f: Add default gateway to device-specific routing tables.** Link-level routes were being put into the device-specific routing tables (accessed via firewall marks) but these are unnecessary. Instead, the default gateway is needed to allow the kernel to make an appropriate routing decision.
- **8db879e: Only mark guest connections when they are part of a static-NAT.** Guest connections were being marked with a zero. This added no functionality and prevented static-NAT rules from routing outbound traffic properly as device-specific routing tables would not be used. Instead, all traffic would be routed out via the default public interface.
- **788b1be: Allow forwarding and collect network stats on any public interface.** Forwarding rules and network stats were limited to eth2 on RvR networks. This needed to be decoupled from eth2 and reapplied to whichever interface was under consideration.
- **b19e8aa: Ensure that CONNMARK --restore-mark only appears once.** This is a bit of a hack and can do with being improved. The CONNMARK rule was not being picked up by the de-duplication logic in CsNetfilter and was being added twice. This caused checksum errors on packets traversing NAT.
- **bf285e1: Transition to master state should add all necessary routes.** Now that backup routers keep their interfaces down, the route logic executed at configuration-time cannot be applied. Instead, once the interface is brought up during a transition to master, routers must re-evaluate what routes are needed and add them. Unfortunately I couldn't see a way to re-use the existing route logic with the variables that I had in scope so there is some duplication. In some cases, routers did not successfully arp IPs away from the old master so some arp logic was added. During a failover most connections with guest VMs will be maintained with only minor packet loss. SSH sessions implemented via port-forwarding rules on an interface other than the source-NAT interface consistently get dropped, however, so the failover isn't quite seamless. It's possible that there's an easy fix for that.
I expect that a number of tests may need to be modified/written as part of this PR. Any feedback or pointers would be useful as initially I'll be relying on the CI failures to tell me where to look.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dsclose/cloudstack CLOUDSTACK-9339
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1519.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 #1519
----
commit e7a63be161bdd14c985a8b483bffe4bfdaa3f5d4
Author: dean.close <de...@icloudhosting.com>
Date: 2016-05-09T10:31:26Z
CLOUDSTACK-9339: Handle multiple public subnets on virtual routers.
----
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the issue:
https://github.com/apache/cloudstack/pull/1519
@murali-reddy I haven't worked on Cloudstack for many months but one thing I do recall; without d582358 and bf285e1, networks with redundant virtual routers will simply not work.
Whether the commits are appropriate for the current codebase, however, is unclear. I have no way of testing them so I shall not be confusing matters by raising a speculative PR.
I shall close this PR now.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1519#discussion_r64537215
--- Diff: systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py ---
@@ -288,14 +290,16 @@ def post_configure(self, address):
""" The steps that must be done after a device is configured """
route = CsRoute()
if not self.get_type() in ["control"]:
- route.add_table(self.dev)
- CsRule(self.dev).addMark()
+ if self.dev != 'eth0':
+ route.add_table(self.dev)
+ CsRule(self.dev).addMark()
+ self.set_mark()
interfaces = [CsInterface(address, self.config)]
CsHelper.reconfigure_interfaces(self.cl, interfaces)
--- End diff --
Lines 299 and 300 were added as part of c41edc1. I've not investigated what those lines do, I've just naively overcome the merge conflicts. I'll look at the results of CI and follow from there.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221600590
> No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
>
>The build has been terminated
Kicking it off again.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
GitHub user dsclose reopened a pull request:
https://github.com/apache/cloudstack/pull/1519
Cloudstack 9339: Virtual Routers do not handle Multiple Public Interfaces
This PR addresses CLOUDSTACK-9339 and may need a code review from someone familiar with the System VM scripts. In particular, this PR has not been tested in a VPC RvR context. Only standalone routers and RvR routers have been demonstrated.
- **d582358: Leave public interfaces down in backup redundant routers.** Previously backup routers were bringing all interfaces up and thus arping public IPs away from the master router.
- **9ee1eb6: Add the default gateway to the main routing table when interfaces are configured.** The gateway for the first public IP was always being added to the main routing table. Sometimes a router would consequently add the gateway for an IP other than the default source-NAT IP. This would prevent outbound connectivity for guest VMs.
- **ad9d72f: Add default gateway to device-specific routing tables.** Link-level routes were being put into the device-specific routing tables (accessed via firewall marks) but these are unnecessary. Instead, the default gateway is needed to allow the kernel to make an appropriate routing decision.
- **8db879e: Only mark guest connections when they are part of a static-NAT.** Guest connections were being marked with a zero. This added no functionality and prevented static-NAT rules from routing outbound traffic properly as device-specific routing tables would not be used. Instead, all traffic would be routed out via the default public interface.
- **788b1be: Allow forwarding and collect network stats on any public interface.** Forwarding rules and network stats were limited to eth2 on RvR networks. This needed to be decoupled from eth2 and reapplied to whichever interface was under consideration.
- **b19e8aa: Ensure that CONNMARK --restore-mark only appears once.** This is a bit of a hack and can do with being improved. The CONNMARK rule was not being picked up by the de-duplication logic in CsNetfilter and was being added twice. This caused checksum errors on packets traversing NAT.
- **bf285e1: Transition to master state should add all necessary routes.** Now that backup routers keep their interfaces down, the route logic executed at configuration-time cannot be applied. Instead, once the interface is brought up during a transition to master, routers must re-evaluate what routes are needed and add them. Unfortunately I couldn't see a way to re-use the existing route logic with the variables that I had in scope so there is some duplication. In some cases, routers did not successfully arp IPs away from the old master so some arp logic was added. During a failover most connections with guest VMs will be maintained with only minor packet loss. SSH sessions implemented via port-forwarding rules on an interface other than the source-NAT interface consistently get dropped, however, so the failover isn't quite seamless. It's possible that there's an easy fix for that.
I expect that a number of tests may need to be modified/written as part of this PR. Any feedback or pointers would be useful as initially I'll be relying on the CI failures to tell me where to look.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dsclose/cloudstack CLOUDSTACK-9339
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1519.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 #1519
----
commit e7a63be161bdd14c985a8b483bffe4bfdaa3f5d4
Author: dean.close <de...@icloudhosting.com>
Date: 2016-05-09T10:31:26Z
CLOUDSTACK-9339: Handle multiple public subnets on virtual routers.
----
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the issue:
https://github.com/apache/cloudstack/pull/1519
PR #1659 appears to have superseded this PR. As such I'm concerned about recent activity on this PR.
Is anyone available to clarify what should be done? I'd anticipated closing this PR when PR #1659 matured.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-215480948
@ustcweizhou How would you recommend I separate this? I can imagine separating the issues broadly into two parts:
1. **Routing tables and iptables rules should be properly configured for multiple public NICs.** This PR should allow all features to work on standalone virtual routers. To achieve this, we'd need commits 9ee1eb6, ad9d72f, 8db879e, 788b1be and b19e8aa.
2. **Public Interfaces should be down on backup RvRs.** This PR would also need to ensure that the transition to master restores the proper routing and tables and iptables rules. Therefore it would need commits d582358 and bf285e1.
I'm reticent to do this because the first PR would not allow multiple subnets to work on RvR setups. Do you agree with this separation and if so how should it be handled?
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217491038
There is an issue currently on master which I am trying to get sorted out, but there should not be a problem on `4.7`. It looks like Jenkins may be out of diskspace again looking at that error.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by luhaijiao <gi...@git.apache.org>.
Github user luhaijiao commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-222182040
@dsclose we installed your updated commits d582358 and bf285e1 ONLY in our environment to solve the RvR issue (VR network services intermittent hang due to public interface is up on backup VR), however, it's not working as expected, the status of eth2 is still up on backup VR. Do we need install all the commits ? or it's probably our environment issue ?
Besides, if we install all the commits, the port forwarding and VPN seems getting broken. We are investigating more.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by murali-reddy <gi...@git.apache.org>.
Github user murali-reddy commented on the issue:
https://github.com/apache/cloudstack/pull/1519
@dsclose #1659 is merged, so you can close this PR if you wish. Though issue related to redundant VR fixed by commit d582358, bf285e1 in this PR are not addressed by #1659, and still a open issue.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217279039
That worked a treat. The suggestions made by @ustcweizhou resulted in a very clean set of IP rules and I was able to add IPs on eth4 and eth5 without breaking the router. I'll do a bit more testing tomorrow before squashing and force pushing.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217110131
Currently I'm investigating @ustcweizhou suggestions above. He's quite correct about not adding the mark for eth0 and I think I've reproduced the problem he reported on NICs higher than eth3.
Once we trigger the creation of eth4, the routing table Table_eth4 gets added multiple times - but only once with the fwmark limitation. This prevents any traffic being routed correctly on the VR - even to the point of not being able to connect to it from the HV.
@swill @rhtyd - I'll squash and force push this soon. I want to incorporate the snippets given by @ustcweizhou and verify that they work first.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217290925
@kiwiflyer I have not.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1519
We should get this tested and merged for 4.9 /cc @swill
@abhinandanprateek @murali-reddy @JayapalUradi can you help review this and advise any further changes, thanks.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221862724
@dsclose sorry to do this to you. Can you close and reopen again to kick off the jobs again? Thanks...
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217397801
Looks like the build environment isn't sufficient on jenkins-test-a20:
```
[ERROR] Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file:
30583
Try using the -Djava.io.tmpdir= option to select an alternate temp location.
```
Doing another force push.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217268926
Thank you for working on fixing this. \U0001f44d
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
GitHub user dsclose reopened a pull request:
https://github.com/apache/cloudstack/pull/1519
Cloudstack 9339: Virtual Routers do not handle Multiple Public Interfaces
This PR addresses CLOUDSTACK-9339 and may need a code review from someone familiar with the System VM scripts. In particular, this PR has not been tested in a VPC RvR context. Only standalone routers and RvR routers have been demonstrated.
- **d582358: Leave public interfaces down in backup redundant routers.** Previously backup routers were bringing all interfaces up and thus arping public IPs away from the master router.
- **9ee1eb6: Add the default gateway to the main routing table when interfaces are configured.** The gateway for the first public IP was always being added to the main routing table. Sometimes a router would consequently add the gateway for an IP other than the default source-NAT IP. This would prevent outbound connectivity for guest VMs.
- **ad9d72f: Add default gateway to device-specific routing tables.** Link-level routes were being put into the device-specific routing tables (accessed via firewall marks) but these are unnecessary. Instead, the default gateway is needed to allow the kernel to make an appropriate routing decision.
- **8db879e: Only mark guest connections when they are part of a static-NAT.** Guest connections were being marked with a zero. This added no functionality and prevented static-NAT rules from routing outbound traffic properly as device-specific routing tables would not be used. Instead, all traffic would be routed out via the default public interface.
- **788b1be: Allow forwarding and collect network stats on any public interface.** Forwarding rules and network stats were limited to eth2 on RvR networks. This needed to be decoupled from eth2 and reapplied to whichever interface was under consideration.
- **b19e8aa: Ensure that CONNMARK --restore-mark only appears once.** This is a bit of a hack and can do with being improved. The CONNMARK rule was not being picked up by the de-duplication logic in CsNetfilter and was being added twice. This caused checksum errors on packets traversing NAT.
- **bf285e1: Transition to master state should add all necessary routes.** Now that backup routers keep their interfaces down, the route logic executed at configuration-time cannot be applied. Instead, once the interface is brought up during a transition to master, routers must re-evaluate what routes are needed and add them. Unfortunately I couldn't see a way to re-use the existing route logic with the variables that I had in scope so there is some duplication. In some cases, routers did not successfully arp IPs away from the old master so some arp logic was added. During a failover most connections with guest VMs will be maintained with only minor packet loss. SSH sessions implemented via port-forwarding rules on an interface other than the source-NAT interface consistently get dropped, however, so the failover isn't quite seamless. It's possible that there's an easy fix for that.
I expect that a number of tests may need to be modified/written as part of this PR. Any feedback or pointers would be useful as initially I'll be relying on the CI failures to tell me where to look.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dsclose/cloudstack CLOUDSTACK-9339
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1519.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 #1519
----
commit e7a63be161bdd14c985a8b483bffe4bfdaa3f5d4
Author: dean.close <de...@icloudhosting.com>
Date: 2016-05-09T10:31:26Z
CLOUDSTACK-9339: Handle multiple public subnets on virtual routers.
----
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by luhaijiao <gi...@git.apache.org>.
Github user luhaijiao commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221202635
@dclose I think this PR is important for RvR environment too, particularly to the commits d582358 and bf285e1. Would be very nice to have it in 4.9 if you can review the CI results and fix the issues.
thanks!
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217383124
Squashed and force pushed. Tasks remaining:
- [ ] Pass CI
- [ ] Situational testing on VPC RvR
- [ ] Some automated tests
Regarding the automated tests for the routers, where should I look for these? If I see some examples I should be able to adjust/add to them.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1519
Packaging result: \u2714centos6 \u2714centos7 \u2714debian. JID-222
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-216229957
@dsclose rebase against master, squash changes to a single commit, thanks
tag:needlove
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose closed the pull request at:
https://github.com/apache/cloudstack/pull/1519
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose closed the pull request at:
https://github.com/apache/cloudstack/pull/1519
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221278559
@dsclose if you can fix the merge conflicts I can run this again and see what is outstanding. Thanks...
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-222085574
@swill agreed; in particular, my note concerning the merge of lines 299 and 300 - i've not even tested that locally - not had a chance to even figure out what it's doing!
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217490305
Same error over at #1519 - something introduced in an earlier commit?
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-222195257
@luhaijiao I'd recommend trying e7a63be
Port forwarding works for me. I've not tried the VPN functionality.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the issue:
https://github.com/apache/cloudstack/pull/1519
I tried hard to get this one in, and I just don't see it happening...
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-216435381
@swill agree for keeping it against 4.7; but it would be great if @dsclose can squash the changes to a single commit as all of them solve for Cloudstack-9339 issue
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-218842214
### CI RESULTS
```
Tests Run: 85
Skipped: 0
Failed: 9
Errors: 10
Duration: 10h 09m 15s
```
**Summary of the problem(s):**
```
ERROR: Create a redundant VPC with 1 Tier, 1 VM, 1 ACL, 1 PF and test Network GC Nics
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 281, in tearDown
raise Exception("Warning: Exception during cleanup : %s" % e)
Exception: Warning: Exception during cleanup : Execute cmd: deletenetworkoffering failed, due to: errorCode: 431, errorText:Can't delete network offering 22 as its used by 1 networks. To make the network offering unavaiable, disable it
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: Test iptables default INPUT/FORWARD policies on VPC router
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_routers_iptables_default_policy.py", line 302, in test_01_single_VPC_iptables_policies
self.entity_manager.do_vpc_test()
File "/data/git/cs1/cloudstack/test/integration/smoke/test_routers_iptables_default_policy.py", line 490, in do_vpc_test
self.check_ssh_into_vm(vm.get_vm(), vm.get_ip())
File "/data/git/cs1/cloudstack/test/integration/smoke/test_routers_iptables_default_policy.py", line 525, in check_ssh_into_vm
raise Exception("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress))
Exception: Failed to SSH into VM - 192.168.23.9
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: Test redundant router internals
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_routers_network_ops.py", line 510, in test_03_RVR_Network_check_router_state
zoneid=self.zone.id
File "/usr/lib/python2.7/site-packages/marvin/lib/base.py", line 2780, in create
return Network(apiclient.createNetwork(cmd).__dict__)
File "/usr/lib/python2.7/site-packages/marvin/cloudstackAPI/cloudstackAPIClient.py", line 1887, in createNetwork
response = self.connection.marvinRequest(command, response_type=response, method=method)
File "/usr/lib/python2.7/site-packages/marvin/cloudstackConnection.py", line 379, in marvinRequest
raise e
CloudstackAPIException: Execute cmd: createnetwork failed, due to: errorCode: 530, errorText:Failed to implement persistent guest network
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: Test to verify access to loadbalancer haproxy admin stats page
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 763, in test_03_vpc_internallb_haproxy_stats_on_all_interfaces
self.execute_internallb_haproxy_tests(vpc_offering)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 838, in execute_internallb_haproxy_tests
applb.sourceipaddress, self.get_ssh_client(vm, 5), settings)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 497, in get_ssh_client
self.fail("Unable to create ssh connection: " % e)
TypeError: not all arguments converted during string formatting
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: Test to verify access to loadbalancer haproxy admin stats page
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 784, in test_04_rvpc_internallb_haproxy_stats_on_all_interfaces
self.execute_internallb_haproxy_tests(redundant_vpc_offering)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 838, in execute_internallb_haproxy_tests
applb.sourceipaddress, self.get_ssh_client(vm, 5), settings)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 497, in get_ssh_client
self.fail("Unable to create ssh connection: " % e)
TypeError: not all arguments converted during string formatting
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: Test Site 2 Site VPN Across redundant VPCs
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_vpn.py", line 1154, in test_01_redundant_vpc_site2site_vpn
ssh_client = self._get_ssh_client(vm2, self.services, 10)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_vpn.py", line 898, in _get_ssh_client
self.fail("Unable to create ssh connection: " % e)
TypeError: not all arguments converted during string formatting
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: Test Site 2 Site VPN Across VPCs
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_vpn.py", line 787, in test_01_vpc_site2site_vpn
ssh_client = self._get_ssh_client(vm2, self.services, 10)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_vpn.py", line 497, in _get_ssh_client
self.fail("Unable to create ssh connection: " % e)
TypeError: not all arguments converted during string formatting
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: test_02_vpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 253, in test_02_vpc_privategw_static_routes
self.performVPCTests(vpc_off)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 324, in performVPCTests
self.check_pvt_gw_connectivity(vm1, public_ip_1, vm2.nic[0].ipaddress)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 553, in check_pvt_gw_connectivity
(vmObj.get_ip(), e)
NameError: global name 'vmObj' is not defined
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: test_03_vpc_privategw_restart_vpc_cleanup (integration.smoke.test_privategw_acl.TestPrivateGwACL)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 265, in test_03_vpc_privategw_restart_vpc_cleanup
self.performVPCTests(vpc_off, True)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 324, in performVPCTests
self.check_pvt_gw_connectivity(vm1, public_ip_1, vm2.nic[0].ipaddress)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 553, in check_pvt_gw_connectivity
(vmObj.get_ip(), e)
NameError: global name 'vmObj' is not defined
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
ERROR: test_04_rvpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 277, in test_04_rvpc_privategw_static_routes
self.performVPCTests(vpc_off)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 324, in performVPCTests
self.check_pvt_gw_connectivity(vm1, public_ip_1, vm2.nic[0].ipaddress)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_privategw_acl.py", line 553, in check_pvt_gw_connectivity
(vmObj.get_ip(), e)
NameError: global name 'vmObj' is not defined
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Create a redundant VPC with two networks with two VMs in each network
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 534, in test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL
self.do_vpc_test(False)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 679, in do_vpc_test
self.check_ssh_into_vm(vm.get_vm(), vm.get_ip(), expectFail=expectFail, retries=retries)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 523, in check_ssh_into_vm
self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress))
AssertionError: Failed to SSH into VM - 192.168.23.5
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Create a redundant VPC with two networks with two VMs in each network and check default routes
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 559, in test_02_redundant_VPC_default_routes
self.do_default_routes_test()
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 701, in do_default_routes_test
(vmObj.get_ip(), e)
AssertionError: SSH Access failed for <marvin.lib.base.PublicIPAddress instance at 0x28606c8>: SSH connection has Failed. Waited 600s. Error is SSH Connection Failed
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Create a redundant VPC with two networks with two VMs in each network
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 569, in test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
self.do_vpc_test(False)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 679, in do_vpc_test
self.check_ssh_into_vm(vm.get_vm(), vm.get_ip(), expectFail=expectFail, retries=retries)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 523, in check_ssh_into_vm
self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress))
AssertionError: Failed to SSH into VM - 192.168.23.5
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Create a redundant VPC with 1 Tier, 1 VM, 1 ACL, 1 PF and test Network GC Nics
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 587, in test_04_rvpc_network_garbage_collector_nics
self.do_vpc_test(False)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 679, in do_vpc_test
self.check_ssh_into_vm(vm.get_vm(), vm.get_ip(), expectFail=expectFail, retries=retries)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 523, in check_ssh_into_vm
self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress))
AssertionError: Failed to SSH into VM - 192.168.23.5
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Create a redundant VPC with 1 Tier, 1 VM, 1 ACL, 1 PF and test Network GC Nics
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 622, in test_05_rvpc_multi_tiers
self.do_vpc_test(False)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 679, in do_vpc_test
self.check_ssh_into_vm(vm.get_vm(), vm.get_ip(), expectFail=expectFail, retries=retries)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_redundant.py", line 523, in check_ssh_into_vm
self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress))
AssertionError: Failed to SSH into VM - 192.168.23.5
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Create a VPC with two networks with one VM in each network and test nics after destroy
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_router_nics.py", line 390, in test_01_VPC_nics_after_destroy
self.check_ssh_into_vm()
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_router_nics.py", line 448, in check_ssh_into_vm
self.fail("Failed to SSH into VM - %s" % (public_ip.ipaddress.ipaddress))
AssertionError: Failed to SSH into VM - 192.168.23.9
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Create a VPC with two networks with one VM in each network and test default routes
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_router_nics.py", line 414, in test_02_VPC_default_routes
self.do_default_routes_test()
File "/data/git/cs1/cloudstack/test/integration/smoke/test_vpc_router_nics.py", line 470, in do_default_routes_test
(vmObj.get_ip(), e)
AssertionError: SSH Access failed for <marvin.lib.base.PublicIPAddress instance at 0x3239248>: SSH connection has Failed. Waited 600s. Error is SSH Connection Failed
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's in a Single VPC
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 599, in test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80
self.execute_internallb_roundrobin_tests(vpc_offering)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 668, in execute_internallb_roundrobin_tests
self.setup_http_daemon(vm)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 519, in setup_http_daemon
self.fail("Failed to ssh into vm: %s due to %s" % (vm, e))
AssertionError: Failed to ssh into vm: <marvin.lib.base.VirtualMachine instance at 0x328e200> due to not all arguments converted during string formatting
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
```
FAIL: Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's in a Redundant VPC
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 617, in test_02_internallb_roundrobin_1RVPC_3VM_HTTP_port80
self.execute_internallb_roundrobin_tests(redundant_vpc_offering)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 668, in execute_internallb_roundrobin_tests
self.setup_http_daemon(vm)
File "/data/git/cs1/cloudstack/test/integration/smoke/test_internal_lb.py", line 519, in setup_http_daemon
self.fail("Failed to ssh into vm: %s due to %s" % (vm, e))
AssertionError: Failed to ssh into vm: <marvin.lib.base.VirtualMachine instance at 0x34c5560> due to not all arguments converted during string formatting
----------------------------------------------------------------------
Additional details in: /tmp/MarvinLogs/test_network_8UJKVV/results.txt
```
**Associated Uploads**
**`/tmp/MarvinLogs/DeployDataCenter__May_12_2016_06_05_04_5V5GEZ:`**
* [dc_entries.obj](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/DeployDataCenter__May_12_2016_06_05_04_5V5GEZ/dc_entries.obj)
* [failed_plus_exceptions.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/DeployDataCenter__May_12_2016_06_05_04_5V5GEZ/failed_plus_exceptions.txt)
* [runinfo.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/DeployDataCenter__May_12_2016_06_05_04_5V5GEZ/runinfo.txt)
**`/tmp/MarvinLogs/test_network_8UJKVV:`**
* [failed_plus_exceptions.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/test_network_8UJKVV/failed_plus_exceptions.txt)
* [results.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/test_network_8UJKVV/results.txt)
* [runinfo.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/test_network_8UJKVV/runinfo.txt)
**`/tmp/MarvinLogs/test_vpc_routers_0OKTB0:`**
* [failed_plus_exceptions.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/test_vpc_routers_0OKTB0/failed_plus_exceptions.txt)
* [results.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/test_vpc_routers_0OKTB0/results.txt)
* [runinfo.txt](https://objects-east.cloud.ca/v1/e465abe2f9ae4478b9fff416eab61bd9/PR1519/tmp/MarvinLogs/test_vpc_routers_0OKTB0/runinfo.txt)
Uploads will be available until `2016-07-12 02:00:00 +0200 CEST`
*Comment created by [`upr comment`](https://github.com/cloudops/upr).*
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose closed the pull request at:
https://github.com/apache/cloudstack/pull/1519
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:
https://github.com/apache/cloudstack/pull/1519
@murali-reddy @abhinandanprateek ping, please review this one as well, thanks.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221904409
I actually had a test running overnight for this one and it had similar results.
```
Tests Run: 85
Skipped: 0
Failed: 14
Errors: 6
Duration: 9h 36m 41s
```
I think this one will need some work still. I will run it again to see what we get as a result and I will post the next run so you know what the latest issues are.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by kiwiflyer <gi...@git.apache.org>.
Github user kiwiflyer commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-217290619
Has anyone tested this with VPC VRs as of yet?
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by ustcweizhou <gi...@git.apache.org>.
Github user ustcweizhou commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1519#discussion_r61681494
--- Diff: systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py ---
@@ -289,51 +290,62 @@ def post_configure(self, address):
route = CsRoute()
if not self.get_type() in ["control"]:
route.add_table(self.dev)
-
CsRule(self.dev).addMark()
--- End diff --
addMark should be not applied to eth0, so we can move set_mark togeterh with addMark. like
```
if self.dev != 'eth0':
CsRule(self.dev).addMark()
self.set_mark()
```
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221637516
@dsclose can you kick it off again. It is just a timeout which caused it to fail, so kicking it off again could fix it. `No output has been received in the last 10m0s`.
I will CI this right now. Thx...
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by abhinandanprateek <gi...@git.apache.org>.
Github user abhinandanprateek commented on the issue:
https://github.com/apache/cloudstack/pull/1519
@LGTM on code review.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221501553
@swill taking a look now.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221611699
Same issue. I don't think this is related to the PR. I'll leave this be for now.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-221901259
I will retest this one. Thanks for kicking it off again, we are green now. :)
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request #1519: Cloudstack 9339: Virtual Routers do not handl...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose closed the pull request at:
https://github.com/apache/cloudstack/pull/1519
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-218842740
@dsclose we have merge conflicts on this one now. Also, prior to merging the PRs that caused the conflicts, I ran the above CI. You will probably want to review the results of that CI run to fix some things.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by swill <gi...@git.apache.org>.
Github user swill commented on the pull request:
https://github.com/apache/cloudstack/pull/1519#issuecomment-216267768
I am also fine with these being separate commits as they are functionally separate.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers don't ha...
Posted by ustcweizhou <gi...@git.apache.org>.
Github user ustcweizhou commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1519#discussion_r61681472
--- Diff: systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py ---
@@ -289,51 +290,62 @@ def post_configure(self, address):
route = CsRoute()
if not self.get_type() in ["control"]:
route.add_table(self.dev)
-
CsRule(self.dev).addMark()
+
self.check_is_up()
- self.set_mark()
+
+ if self.dnum != '0':
--- End diff --
self.dnum is hex, so this line always return true.
you can use ( self.dev != 'eth0') instead, or other
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by blueorangutan <gi...@git.apache.org>.
Github user blueorangutan commented on the issue:
https://github.com/apache/cloudstack/pull/1519
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
GitHub user dsclose reopened a pull request:
https://github.com/apache/cloudstack/pull/1519
Cloudstack 9339: Virtual Routers do not handle Multiple Public Interfaces
This PR addresses CLOUDSTACK-9339 and may need a code review from someone familiar with the System VM scripts. In particular, this PR has not been tested in a VPC RvR context. Only standalone routers and RvR routers have been demonstrated.
- **d582358: Leave public interfaces down in backup redundant routers.** Previously backup routers were bringing all interfaces up and thus arping public IPs away from the master router.
- **9ee1eb6: Add the default gateway to the main routing table when interfaces are configured.** The gateway for the first public IP was always being added to the main routing table. Sometimes a router would consequently add the gateway for an IP other than the default source-NAT IP. This would prevent outbound connectivity for guest VMs.
- **ad9d72f: Add default gateway to device-specific routing tables.** Link-level routes were being put into the device-specific routing tables (accessed via firewall marks) but these are unnecessary. Instead, the default gateway is needed to allow the kernel to make an appropriate routing decision.
- **8db879e: Only mark guest connections when they are part of a static-NAT.** Guest connections were being marked with a zero. This added no functionality and prevented static-NAT rules from routing outbound traffic properly as device-specific routing tables would not be used. Instead, all traffic would be routed out via the default public interface.
- **788b1be: Allow forwarding and collect network stats on any public interface.** Forwarding rules and network stats were limited to eth2 on RvR networks. This needed to be decoupled from eth2 and reapplied to whichever interface was under consideration.
- **b19e8aa: Ensure that CONNMARK --restore-mark only appears once.** This is a bit of a hack and can do with being improved. The CONNMARK rule was not being picked up by the de-duplication logic in CsNetfilter and was being added twice. This caused checksum errors on packets traversing NAT.
- **bf285e1: Transition to master state should add all necessary routes.** Now that backup routers keep their interfaces down, the route logic executed at configuration-time cannot be applied. Instead, once the interface is brought up during a transition to master, routers must re-evaluate what routes are needed and add them. Unfortunately I couldn't see a way to re-use the existing route logic with the variables that I had in scope so there is some duplication. In some cases, routers did not successfully arp IPs away from the old master so some arp logic was added. During a failover most connections with guest VMs will be maintained with only minor packet loss. SSH sessions implemented via port-forwarding rules on an interface other than the source-NAT interface consistently get dropped, however, so the failover isn't quite seamless. It's possible that there's an easy fix for that.
I expect that a number of tests may need to be modified/written as part of this PR. Any feedback or pointers would be useful as initially I'll be relying on the CI failures to tell me where to look.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dsclose/cloudstack CLOUDSTACK-9339
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1519.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 #1519
----
commit e7a63be161bdd14c985a8b483bffe4bfdaa3f5d4
Author: dean.close <de...@icloudhosting.com>
Date: 2016-05-09T10:31:26Z
CLOUDSTACK-9339: Handle multiple public subnets on virtual routers.
----
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack pull request: Cloudstack 9339: Virtual Routers do not h...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose closed the pull request at:
https://github.com/apache/cloudstack/pull/1519
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] cloudstack issue #1519: Cloudstack 9339: Virtual Routers do not handle Multi...
Posted by dsclose <gi...@git.apache.org>.
Github user dsclose commented on the issue:
https://github.com/apache/cloudstack/pull/1519
I'd recommend merging this if the tests are passing. There is an issue with hairpin NATs which can be solved by adding a route to the guest subnet (scope link) in each routing table. This is easy to do on Redundant routers (as routes are handled in one spot in the transition to master) but needs a bit more work on standalone routers - it looks like the guest subnet and device need to be passed down from CsIP.process all the way to CsAddress.post_change_config.
Unfortunately I won't be available to do further work on this PR.
---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---