cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sheng Yang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-7111) [Automation] Failed to Enable VPN for VPC
Date Fri, 18 Jul 2014 00:12:04 GMT

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

Sheng Yang commented on CLOUDSTACK-7111:
----------------------------------------

Introduced by: 

commit c12767908deb8f038d62827ae30bd3cfa302c8a6
Author: Hugo Trippaers <htrippaers@schubergphilis.com>
Date:   Fri Jul 11 09:09:32 2014 +0200

    Refactor VirtualRoutingResource, put the ConfigItems in separate classes and create a
separate ConfigHelper

The old code:


-            ExecutionResult result = new ExecutionResult(true, "No configure to be applied");
-            for (ConfigItem c : cfg) {
-                result = applyConfigToVR(cmd, c);
-                if (!result.isSuccess()) {
-                    break;
-                }
-            }
-            return new Answer(cmd, result.isSuccess(), result.getDetails());
-        }

The result is true by default, because in some cases, configuration won't be generated since
VR determined it's not necessary, for example when VPN is created first time, there is no
VPN user available. So cfg can be null and success.

And here is the new code.

        boolean finalResult = false;
        for (ConfigItem configItem : cfg) {
            ExecutionResult result = applyConfigToVR(cmd.getRouterAccessIp(), configItem);
            if (result == null) {
                result = new ExecutionResult(false, "null execution result");
            }
            results.add(result);
            details.add(configItem.getInfo() + (result.isSuccess() ? " - success: " : " -
failed: ") + result.getDetails());
            finalResult = result.isSuccess();
        }

        // Not sure why this matters, but log it anyway
        if (cmd.getAnswersCount() != results.size()) {
            s_logger.warn("Expected " + cmd.getAnswersCount() + " answers while executing
" + cmd.getClass().getSimpleName() + " but received " + results.size());
        }

If cfg is null, then you would have less Answers than cfg.

Then finalResult is false in the new code, which caused bug on create VPN failure.


> [Automation] Failed to Enable VPN for VPC 
> ------------------------------------------
>
>                 Key: CLOUDSTACK-7111
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7111
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Network Controller
>    Affects Versions: 4.5.0
>         Environment: KVM 6.3
> 4.5 build
>            Reporter: Rayees Namathponnan
>            Assignee: Sheng Yang
>            Priority: Blocker
>             Fix For: 4.5.0
>
>
> Steps to reproduce 
> Run the BVT test integration.smoke.test_vpc_vpn
> This test performing below steps 
> # 0) Get the default network offering for VPC
> # 1) Create VPC
> # 2) Create network in VPC
> # 3) Deploy a vm
> # 4) Enable VPN for VPC
> Failed to create VM here, with below exception
> 2014-07-14 22:53:05,871 INFO  [o.a.c.f.j.i.AsyncJobMonitor] (API-Job-Executor-36:ctx-fc4efaf3
job-74) Add job-74 into job monitoring
> 2014-07-14 22:53:05,872 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-36:ctx-fc4efaf3
job-74) Executing AsyncJobVO {id:74,
> userId: 2, accountId: 2, instanceType: None, instanceId: 1, cmd: org.apache.cloudstack.api.command.user.vpn.CreateRemoteAccessVpnCmd,
c
> mdInfo: {"id":"1","response":"json","ctxDetails":"{\"com.cloud.network.IpAddress\":\"66bf0fbf-ac94-4770-8507-52a1f8b9a7d8\",\"com.cloud
> .network.RemoteAccessVpn\":\"bd20bd01-ae57-498b-9069-b1c138f27913\",\"com.cloud.domain.Domain\":\"68e734aa-0bdf-11e4-b040-1a6f7bb0d0a8\
> "}","cmdEventType":"VPN.REMOTE.ACCESS.CREATE","ctxUserId":"2","account":"test-account-TestVpcRemoteAccessVpn-ZDPAJA","httpmethod":"GET"
> ,"domainid":"68e734aa-0bdf-11e4-b040-1a6f7bb0d0a8","uuid":"bd20bd01-ae57-498b-9069-b1c138f27913","ctxAccountId":"2","ctxStartEventId":"
> 190","apiKey":"d7qu6koH_u-l9nc42w6ytRz4xyDyYiwQZEyBhNWiEEXFwjnrU6ol4utGN0J4GxNj6J-PCun_VLaLOJ9lwARLtA","publicipid":"66bf0fbf-ac94-4770
> -8507-52a1f8b9a7d8","signature":"7wR4z472+EYAuM2XzDYv81uCY7A\u003d"}, cmdVersion: 0,
status: IN_PROGRESS, processStatus: 0, resultCode:
>  0, result: null, initMsid: 29066118877352, completeMsid: null, lastUpdated: null, lastPolled:
null, created: null}
> 2014-07-14 22:53:05,875 DEBUG [c.c.a.ApiServlet] (catalina-exec-14:ctx-0328e9cc) ===START===
 10.223.240.194 -- GET  jobid=a7799878-d5c
> c-4a89-a1d5-1bb3208cfa07&apiKey=d7qu6koH_u-l9nc42w6ytRz4xyDyYiwQZEyBhNWiEEXFwjnrU6ol4utGN0J4GxNj6J-PCun_VLaLOJ9lwARLtA&command=queryAsy
> ncJobResult&response=json&signature=cpelD6icZqrDQFDAY0wj9fSjOnY%3D
> 2014-07-14 22:53:05,881 DEBUG [c.c.n.IpAddressManagerImpl] (API-Job-Executor-35:ctx-76a0736f
job-73 ctx-aa6075d3) Associating ip Ip[10.
> 223.122.75-1] to network Ntwk[210|Guest|8]
> 2014-07-14 22:53:05,903 DEBUG [c.c.a.ApiServlet] (catalina-exec-14:ctx-0328e9cc ctx-6d712844
ctx-6fc284cd) ===END===  10.223.240.194 --
>  GET  jobid=a7799878-d5cc-4a89-a1d5-1bb3208cfa07&apiKey=d7qu6koH_u-l9nc42w6ytRz4xyDyYiwQZEyBhNWiEEXFwjnrU6ol4utGN0J4GxNj6J-PCun_VLaLOJ9
> lwARLtA&command=queryAsyncJobResult&response=json&signature=cpelD6icZqrDQFDAY0wj9fSjOnY%3D
> 2014-07-14 22:53:05,907 DEBUG [c.c.n.IpAddressManagerImpl] (API-Job-Executor-35:ctx-76a0736f
job-73 ctx-aa6075d3) Successfully associat
> ed ip address 10.223.122.75 to network Ntwk[210|Guest|8]
> 2014-07-14 22:53:05,930 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-35:ctx-76a0736f
job-73 ctx-aa6075d3) Complete async j
> ob-73, jobStatus: SUCCEEDED, resultCode: 0, result: org.apache.cloudstack.api.response.IPAddressResponse/ipaddress/{"id":"665a562a-377b
> -4ec9-8439-1c6b3acee07a","ipaddress":"10.223.122.75","allocated":"2014-07-14T22:53:05-0700","zoneid":"af2983df-186a-4425-974b-bc104c48c
> 51f","zonename":"Adv-KVM-Zone1","issourcenat":false,"account":"test-account-TestCreateVolume-PZC40O","domainid":"68e734aa-0bdf-11e4-b04
> 0-1a6f7bb0d0a8","domain":"ROOT","forvirtualnetwork":true,"vlanid":"a644b87b-48a6-4114-8b77-957f0a796563","vlanname":"vlan://1221","isst
> aticnat":false,"issystem":false,"associatednetworkid":"3269567f-7916-47f6-b2e5-c052b393fd03","associatednetworkname":"test-account-Test
> CreateVolume-PZC40O-network","networkid":"9b0a5472-1441-4b0d-be85-7c5562c2172e","state":"Allocating","physicalnetworkid":"5f21a284-0845
> -48e8-8533-52c68df2510e","tags":[],"isportable":false,"fordisplay":true}
> 2014-07-14 22:53:05,936 DEBUG [c.c.a.t.Request] (API-Job-Executor-36:ctx-fc4efaf3 job-74
ctx-0a401278) Seq 1-5112992951949066325: Sendi
> ng  { Cmd , MgmtId: 29066118877352, via: 1(Rack2Host11.lab.vmops.com), Ver: v1, Flags:
100111, [{"com.cloud.agent.api.routing.VpnUsersC
> fgCommand":{"userpwds":[],"accessDetails":{"account.id":"9","zone.network.type":"Advanced","router.ip":"169.254.3.27","router.name":"r-
> 13-VM"},"wait":0}},{"com.cloud.agent.api.routing.RemoteAccessVpnCfgCommand":{"create":true,"vpcEnabled":true,"vpnServerIp":"10.223.122.
> 73","ipRange":"10.1.2.2-10.1.2.8","presharedKey":"zKxOudqtjrMP6wwgO3WuvHzr","localIp":"10.1.2.1","localCidr":"10.1.1.0/24","publicInter
> face":"eth1","accessDetails":{"zone.network.type":"Advanced","router.ip":"169.254.3.27","router.name":"r-13-VM"},"wait":0}}]
}
> 2014-07-14 22:53:05,941 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] (API-Job-Executor-35:ctx-76a0736f
job-73) Done executing org.apache.clo
> udstack.api.command.admin.address.AssociateIPAddrCmdByAdmin for job-73
> 2014-07-14 22:53:05,947 DEBUG [c.c.a.t.Request] (AgentManager-Handler-1:null) Seq 1-5112992951949066325:
Processing:  { Ans: , MgmtId:
> 29066118877352, via: 1, Ver: v1, Flags: 110, [{"com.cloud.agent.api.routing.GroupAnswer":{"results":[],"result":false,"wait":0}},{"com.
> cloud.agent.api.Answer":{"result":false,"details":"Stopped by previous failure","wait":0}}]
}
> 2014-07-14 22:53:05,947 DEBUG [c.c.a.m.AgentAttache] (AgentManager-Handler-1:null) Seq
1-5112992951949066325: No more commands found
> 2014-07-14 22:53:05,947 DEBUG [c.c.a.t.Request] (API-Job-Executor-36:ctx-fc4efaf3 job-74
ctx-0a401278) Seq 1-5112992951949066325: Recei
> ved:  { Ans: , MgmtId: 29066118877352, via: 1, Ver: v1, Flags: 110, { GroupAnswer, Answer
} }
> 2014-07-14 22:53:05,948 ERROR [c.c.n.r.VpcVirtualNetworkApplianceManagerImpl] (API-Job-Executor-36:ctx-fc4efaf3
job-74 ctx-0a401278) Unable to start vpn: unable add users to vpn in zone 1 for account 9
on domR: r-13-VM due to null
> 2014-07-14 22:53:05,949 INFO  [o.a.c.f.j.i.AsyncJobMonitor] (API-Job-Executor-35:ctx-76a0736f
job-73) Remove job-73 from job monitoring
> 2014-07-14 22:53:05,958 WARN  [o.a.c.a.c.u.v.CreateRemoteAccessVpnCmd] (API-Job-Executor-36:ctx-fc4efaf3
job-74 ctx-0a401278) Exception:
> com.cloud.exception.ResourceUnavailableException: Resource [DataCenter:1] is unreachable:
Unable to start vpn: Unable to add users to vpn in zone 1 for account 9 on domR: r-13-VM due
to null
>         at com.cloud.network.router.VpcVirtualNetworkApplianceManagerImpl.startRemoteAccessVpn(VpcVirtualNetworkApplianceManagerImpl.java:1452)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>         at com.sun.proxy.$Proxy189.startRemoteAccessVpn(Unknown Source)
>         at com.cloud.network.element.VpcVirtualRouterElement.startVpn(VpcVirtualRouterElement.java:563)
>         at com.cloud.network.vpn.RemoteAccessVpnManagerImpl.startRemoteAccessVpn(RemoteAccessVpnManagerImpl.java:477)
>         at com.cloud.network.vpn.RemoteAccessVpnManagerImpl.startRemoteAccessVpn(RemoteAccessVpnManagerImpl.java:95)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>         at org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:106)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
>         at com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
>         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
>         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>         at com.sun.proxy.$Proxy226.startRemoteAccessVpn(Unknown Source)
>         at org.apache.cloudstack.api.command.user.vpn.CreateRemoteAccessVpnCmd.execute(CreateRemoteAccessVpnCmd.java:165)
>         at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:141)
>         at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108)
>         at org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:507)
>         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 org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:464)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         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:744)
>  



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message