[
https://issues.apache.org/jira/browse/CLOUDSTACK-9055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15008863#comment-15008863
]
ASF GitHub Bot commented on CLOUDSTACK-9055:
--------------------------------------------
Github user remibergsma commented on the pull request:
https://github.com/apache/cloudstack/pull/1073#issuecomment-157409023
LGTM, based on a set of tests that I run on this branch (which I rebased
myself first):
```
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a
tags=advanced,required_hardware=true \
component/test_vpc_redundant.py \
component/test_routers_iptables_default_policy.py \
component/test_routers_network_ops.py \
component/test_vpc_router_nics.py \
smoke/test_loadbalance.py \
smoke/test_internal_lb.py \
smoke/test_ssvm.py \
smoke/test_network.py
```
Result:
```
Create a redundant VPC with two networks with two VMs in each network ...
=== TestName: test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Status :
SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network and
check default routes ... === TestName: test_02_redundant_VPC_default_routes |
Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policy on RouterVM ... === TestName:
test_02_routervm_iptables_policies | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policies on VPC router ... ===
TestName: test_01_single_VPC_iptables_policies | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName:
test_01_isolate_network_FW_PF_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName:
test_02_isolate_network_FW_PF_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName:
test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName:
test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test nics
after destroy ... === TestName: test_01_VPC_nics_after_destroy | Status :
SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test default
routes ... === TestName: test_02_VPC_default_routes | Status : SUCCESS ===
ok
Check the password file in the Router VM ... === TestName:
test_isolate_network_password_server | Status : SUCCESS ===
ok
Check that the /etc/dhcphosts.txt doesn't contain duplicate IPs ... ===
TestName: test_router_dhcphosts | Status : SUCCESS ===
ok
Test to create Load balancing rule with source NAT ... === TestName:
test_01_create_lb_rule_src_nat | Status : SUCCESS ===
ok
Test to create Load balancing rule with non source NAT ... === TestName:
test_02_create_lb_rule_non_nat | Status : SUCCESS ===
ok
Test for assign & removing load balancing rule ... === TestName:
test_assign_and_removal_lb | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... ===
TestName: test02_internallb_haproxy_stats_on_all_interfaces | Status : SUCCESS
===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic
to 3 vm's ... === TestName: test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80
| Status : SUCCESS ===
ok
Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status :
SUCCESS ===
ok
Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status :
SUCCESS ===
ok
Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
ok
Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
ok
Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS
===
ok
Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS
===
ok
Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS
===
ok
Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS
===
ok
Test Remote Access VPN in VPC ... === TestName: test_vpc_remote_access_vpn
| Status : SUCCESS ===
ok
Test VPN in VPC ... === TestName: test_vpc_site2site_vpn | Status : SUCCESS
===
ok
Test for port forwarding on source NAT ... === TestName:
test_01_port_fwd_on_src_nat | Status : SUCCESS ===
ok
Test for port forwarding on non source NAT ... === TestName:
test_02_port_fwd_on_non_src_nat | Status : SUCCESS ===
ok
Test for reboot router ... === TestName: test_reboot_router | Status :
SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... ===
TestName: test_network_rules_acquired_public_ip_1_static_nat_rule | Status :
SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... ===
TestName: test_network_rules_acquired_public_ip_2_nat_rule | Status : SUCCESS
===
ok
Test for Router rules for network rules on acquired public IP ... ===
TestName: test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Status :
SUCCESS ===
ok
----------------------------------------------------------------------
Ran 33 tests in 15321.119s
OK
```
And:
```
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a
tags=advanced,required_hardware=false \
smoke/test_routers.py \
smoke/test_network_acl.py \
smoke/test_privategw_acl.py \
smoke/test_reset_vm_on_reboot.py \
smoke/test_vm_life_cycle.py \
smoke/test_vpc_vpn.py \
smoke/test_service_offerings.py \
component/test_vpc_offerings.py \
component/test_vpc_routers.py
```
Result:
```
Test router internal advanced zone ... === TestName:
test_02_router_internal_adv | Status : SUCCESS ===
ok
Test restart network ... === TestName: test_03_restart_network_cleanup |
Status : SUCCESS ===
ok
Test router basic setup ... === TestName: test_05_router_basic | Status :
SUCCESS ===
ok
Test router advanced setup ... === TestName: test_06_router_advanced |
Status : SUCCESS ===
ok
Test stop router ... === TestName: test_07_stop_router | Status : SUCCESS
===
ok
Test start router ... === TestName: test_08_start_router | Status : SUCCESS
===
ok
Test reboot router ... === TestName: test_09_reboot_router | Status :
SUCCESS ===
ok
test_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL)
... === TestName: test_privategw_acl | Status : SUCCESS ===
ok
Test reset virtual machine on reboot ... === TestName:
test_01_reset_vm_on_reboot | Status : SUCCESS ===
ok
Test advanced zone virtual router ... === TestName:
test_advZoneVirtualRouter | Status : SUCCESS ===
ok
Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status :
SUCCESS ===
ok
Test Multiple Deploy Virtual Machine ... === TestName:
test_deploy_vm_multiple | Status : SUCCESS ===
ok
Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status :
SUCCESS ===
ok
Test Start Virtual Machine ... === TestName: test_02_start_vm | Status :
SUCCESS ===
ok
Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status :
SUCCESS ===
ok
Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status
: SUCCESS ===
ok
Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status
: SUCCESS ===
ok
Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
ok
Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm
| Status : SUCCESS ===
ok
Test to create service offering ... === TestName:
test_01_create_service_offering | Status : SUCCESS ===
ok
Test to update existing service offering ... === TestName:
test_02_edit_service_offering | Status : SUCCESS ===
ok
Test to delete service offering ... === TestName:
test_03_delete_service_offering | Status : SUCCESS ===
ok
Test for delete account ... === TestName: test_delete_account | Status :
SUCCESS ===
ok
Test for Associate/Disassociate public IP address for admin account ... ===
TestName: test_public_ip_admin_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for user account ... ===
TestName: test_public_ip_user_account | Status : SUCCESS ===
ok
Test for release public IP address ... === TestName: test_releaseIP |
Status : SUCCESS ===
ok
Test create VPC offering ... === TestName: test_01_create_vpc_offering |
Status : SUCCESS ===
ok
Test VPC offering without load balancing service ... === TestName:
test_03_vpc_off_without_lb | Status : SUCCESS ===
ok
Test VPC offering without static NAT service ... === TestName:
test_04_vpc_off_without_static_nat | Status : SUCCESS ===
ok
Test VPC offering without port forwarding service ... === TestName:
test_05_vpc_off_without_pf | Status : SUCCESS ===
ok
Test VPC offering with invalid services ... === TestName:
test_06_vpc_off_invalid_services | Status : SUCCESS ===
ok
Test update VPC offering ... === TestName: test_07_update_vpc_off | Status
: SUCCESS ===
ok
Test list VPC offering ... === TestName: test_08_list_vpc_off | Status :
SUCCESS ===
ok
test_09_create_redundant_vpc_offering
(integration.component.test_vpc_offerings.TestVPCOffering) ... === TestName:
test_09_create_redundant_vpc_offering | Status : SUCCESS ===
ok
Test start/stop of router after addition of one guest network ... ===
TestName: test_01_start_stop_router_after_addition_of_one_guest_network |
Status : SUCCESS ===
ok
Test reboot of router after addition of one guest network ... === TestName:
test_02_reboot_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to change service offering of router after addition of one guest
network ... === TestName:
test_04_chg_srv_off_router_after_addition_of_one_guest_network | Status :
SUCCESS ===
ok
Test destroy of router after addition of one guest network ... ===
TestName: test_05_destroy_router_after_addition_of_one_guest_network | Status :
SUCCESS ===
ok
Test to stop and start router after creation of VPC ... === TestName:
test_01_stop_start_router_after_creating_vpc | Status : SUCCESS ===
ok
Test to reboot the router after creating a VPC ... === TestName:
test_02_reboot_router_after_creating_vpc | Status : SUCCESS ===
ok
Tests to change service offering of the Router after ... === TestName:
test_04_change_service_offerring_vpc | Status : SUCCESS ===
ok
Test to destroy the router after creating a VPC ... === TestName:
test_05_destroy_router_after_creating_vpc | Status : SUCCESS ===
ok
----------------------------------------------------------------------
Ran 42 tests in 8219.441s
OK
```
These test may not cover your change, all they do is show you didn't break
them. Someone else needs to review the code. Please respond to the comments by
@wilderrodrigues.
> NPE in update Redundant State of VPC networks
> ---------------------------------------------
>
> Key: CLOUDSTACK-9055
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9055
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Reporter: Wei Zhou
> Assignee: Wei Zhou
>
> 2015-11-11 08:32:48,695 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-ee477aaa) Found 4 routers to update status.
> 2015-11-11 08:32:48,697 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-ee477aaa) Found 1 VPC networks to update Redundant
> State.
> 2015-11-11 08:32:48,697 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-ee477aaa) Found 0 networks to update RvR status.
> 2015-11-11 08:32:48,705 DEBUG [c.c.a.t.Request]
> (RedundantRouterStatusMonitor-7:ctx-195132c6) Seq 22-1391893759834266981:
> Sending { Cmd , MgmtId: 345051313197, via: 22(node12), Ver: v1, Flags:
> 100011,
> [{"com.cloud.agent.api.CheckRouterCommand":{"accessDetails":{"router.name":"r-7548-VM","router.ip":"169.254.2.52"},"wait":30}}]
> }
> 2015-11-11 08:32:58,451 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-f907d806) Begin cleanup expired async-jobs
> 2015-11-11 08:32:58,455 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-f907d806) End cleanup expired async-jobs
> 2015-11-11 08:33:06,370 DEBUG [c.c.c.ConsoleProxyManagerImpl]
> (consoleproxy-1:ctx-ab0d6092) Zone 1 is ready to launch console proxy
> 2015-11-11 08:33:06,435 DEBUG [o.a.c.s.SecondaryStorageManagerImpl]
> (secstorage-1:ctx-2b4d78f6) Zone 1 is ready to launch secondary storage VM
> 2015-11-11 08:33:08,451 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-a8a81c83) Begin cleanup expired async-jobs
> 2015-11-11 08:33:08,455 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-a8a81c83) End cleanup expired async-jobs
> 2015-11-11 08:33:15,441 DEBUG [c.c.s.StatsCollector]
> (StatsCollector-6:ctx-bba99e59) HostStatsCollector is running...
> 2015-11-11 08:33:17,649 DEBUG [c.c.s.StatsCollector]
> (StatsCollector-4:ctx-c64bf7b6) AutoScaling Monitor is running...
> 2015-11-11 08:33:18,451 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-73c3e11b) Begin cleanup expired async-jobs
> 2015-11-11 08:33:18,455 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-73c3e11b) End cleanup expired async-jobs
> 2015-11-11 08:33:18,660 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-25d2c01c) Found 4 routers to update status.
> 2015-11-11 08:33:18,663 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-25d2c01c) Found 1 VPC networks to update Redundant
> State.
> 2015-11-11 08:33:18,664 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-25d2c01c) Found 0 networks to update RvR status.
> 2015-11-11 08:33:18,673 DEBUG [c.c.a.t.Request]
> (RedundantRouterStatusMonitor-5:ctx-db2e782d) Seq 22-1391893759834266982:
> Sending { Cmd , MgmtId: 345051313197, via: 22(node12), Ver: v1, Flags:
> 100011,
> [{"com.cloud.agent.api.CheckRouterCommand":{"accessDetails":{"router.name":"r-7548-VM","router.ip":"169.254.2.52"},"wait":30}}]
> }
> 2015-11-11 08:33:18,674 DEBUG [c.c.a.m.AgentAttache]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Seq 22-1391893759834266980:
> Waiting some more time because this is the current command
> 2015-11-11 08:33:18,695 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-8466fef5) Found 4 routers to update status.
> 2015-11-11 08:33:18,697 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-8466fef5) Found 1 VPC networks to update Redundant
> State.
> /RedundantRouterStatusMonitor-10
> 2015-11-11 08:33:18,698 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-8466fef5) Found 0 networks to update RvR status.
> 2015-11-11 08:33:18,705 DEBUG [c.c.a.t.Request]
> (RedundantRouterStatusMonitor-6:ctx-b997744e) Seq 22-1391893759834266983:
> Sending { Cmd , MgmtId: 345051313197, via: 22(node12), Ver: v1, Flags:
> 100011,
> [{"com.cloud.agent.api.CheckRouterCommand":{"accessDetails":{"router.name":"r-7548-VM","router.ip":"169.254.2.52"},"wait":30}}]
> }
> 2015-11-11 08:33:18,706 DEBUG [c.c.a.m.AgentAttache]
> (RedundantRouterStatusMonitor-7:ctx-195132c6) Seq 22-1391893759834266981:
> Waiting some more time because this is the current command
> 2015-11-11 08:33:28,451 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-d9616dea) Begin cleanup expired async-jobs
> 2015-11-11 08:33:28,455 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-d9616dea) End cleanup expired async-jobs
> 2015-11-11 08:33:36,371 DEBUG [c.c.c.ConsoleProxyManagerImpl]
> (consoleproxy-1:ctx-6034ab55) Zone 1 is ready to launch console proxy
> 2015-11-11 08:33:36,435 DEBUG [o.a.c.s.SecondaryStorageManagerImpl]
> (secstorage-1:ctx-06c87dbe) Zone 1 is ready to launch secondary storage VM
> 2015-11-11 08:33:38,451 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-5564f450) Begin cleanup expired async-jobs
> 2015-11-11 08:33:38,455 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-5564f450) End cleanup expired async-jobs
> 2015-11-11 08:33:48,451 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-0729ed82) Begin cleanup expired async-jobs
> 2015-11-11 08:33:48,456 INFO [o.a.c.f.j.i.AsyncJobManagerImpl]
> (AsyncJobMgr-Heartbeat-1:ctx-0729ed82) End cleanup expired async-jobs
> 2015-11-11 08:33:48,660 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-a256ed6c) Found 4 routers to update status.
> 2015-11-11 08:33:48,662 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-a256ed6c) Found 1 VPC networks to update Redundant
> State.
> 2015-11-11 08:33:48,664 DEBUG [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RouterStatusMonitor-1:ctx-a256ed6c) Found 0 networks to update RvR status.
> 2015-11-11 08:33:48,676 DEBUG [c.c.a.m.AgentAttache]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Seq 22-1391893759834266980:
> Waiting some more time because this is the current command
> 2015-11-11 08:33:48,676 DEBUG [c.c.a.m.AgentAttache]
> (RedundantRouterStatusMonitor-5:ctx-db2e782d) Seq 22-1391893759834266982:
> Waiting some more time because this is the current command
> 2015-11-11 08:33:48,677 INFO [c.c.u.e.CSExceptionErrorCode]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Could not find exception:
> com.cloud.exception.OperationTimedoutException in error code list for
> exceptions
> 2015-11-11 08:33:48,677 WARN [c.c.a.m.AgentAttache]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Seq 22-1391893759834266980:
> Timed out on Seq 22-1391893759834266980: { Cmd , MgmtId: 345051313197, via:
> 22(node12), Ver: v1, Flags: 100011,
> [{"com.cloud.agent.api.CheckRouterCommand":{"accessDetails":{"router.name":"r-7548-VM","router.ip":"169.254.2.52"},"wait":30}}]
> }
> 2015-11-11 08:33:48,677 DEBUG [c.c.a.m.AgentAttache]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Seq 22-1391893759834266980:
> Cancelling.
> 2015-11-11 08:33:48,677 WARN [c.c.a.m.AgentManagerImpl]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Operation timed out: Commands
> 1391893759834266980 to Host 22 timed out after 60
> 2015-11-11 08:33:48,678 WARN [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Unable to update router
> r-7548-VM's status
> 2015-11-11 08:33:48,678 ERROR [c.c.n.r.VirtualNetworkApplianceManagerImpl]
> (RedundantRouterStatusMonitor-10:ctx-7afb35e1) Fail to complete the
> RvRStatusUpdateTask!
> java.lang.NullPointerException
> at
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl.updateRoutersRedundantState(VirtualNetworkApplianceManagerImpl.java:1019)
> at
> com.cloud.network.router.VirtualNetworkApplianceManagerImpl$RvRStatusUpdateTask.runInContext(VirtualNetworkApplianceManagerImpl.java:1201)
> at
> org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
> at
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
> at
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
> at
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
> at
> org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> 2015-11-11 08:33:48,683 DEBUG [c.c.a.t.Request]
> (RedundantRouterStatusMonitor-6:ctx-d0632264) Seq 22-1391893759834266984:
> Sending { Cmd , MgmtId: 345051313197, via: 22(node12), Ver: v1, Flags:
> 100011,
> [{"com.cloud.agent.api.CheckRouterCommand":{"accessDetails":{"router.name":"r-7548-VM","router.ip":"169.254.2.52"},"wait":30}}]
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)