Avamar: Proxy Deployment Manager nie wdraża proxy
Summary: Proxy Deployment Manager (PDM) nie wdraża proxy z komunikatem o błędzie "Failed with HTTP error code: 400", "Prośba wysłana przez klienta była niepoprawna składniowo."
Symptoms
Proxy Deployment Manager nie wdraża proxy z komunikatem o błędzie "Failed with HTTP error code : 400", "The request sent by the client was syntactically incorrect”.

Z pliku dziennika Avamar MCS /usr/local/avamar/var/mc/server_log/mcserver.log.0, patrz poniższe ostrzeżenia:
10/10-10:23:26.00489 com.avamar.mc.pdm.ProxyDeploymentManagerService.logFailure WARNING: uri=https://localhost:8543/deploymanager/recommend/7e259e93-2f04-4e73-90fb-a65ea889784c, header=X-CustomTicket=71b e6487-c250-40a7-a2c1-5ee99753f2bd, body={"vcenter":"*******","user":"******","datacenters":[{ . . . . . . 10/10-10:23:26.00489 com.avamar.mc.util.MCException.logException WARNING: com.avamar.asn.service.ServiceException: Failed with HTTP error code : 400 additional information : <html><head><title>Apache Tomcat - Error report</title><style><!--H1 {font-family:Tahoma,Arial,s ans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;backgro und-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:1 4px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif ;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px; }A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 400 - </h1><HR size ="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The request sent by the client was syntactically incorrect.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat</h3></body></html> at com.avamar.mc.pdm.ProxyDeploymentManagerService.updateRecommendation(ProxyDeploymentManagerService.java:185) at com.avamar.mc.pdm.ProxyDeploymentManagerService.deployProxy(ProxyDeploymentManagerService.java:206) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.j ava:61) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at com.sun.proxy.$Proxy22.deployProxy(Unknown Source) at com.avamar.mc.pdm.ProxyDeploymentManagerServiceContext.deployProxy(ProxyDeploymentManagerServiceContext.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 10/10-10:23:28.00157 com.avamar.mc.cr.bcConnection.readClientMessage
Cause
Wyniki PDM tworzą rekomendację, w której pobierana jest hierarchia serwera vCenter (centra danych, klastry, hosty, magazyny danych i sieci). Jest on przechowywany w danych wyjściowych w formacie JSON zapisanych w pliku o nazwie, którą można znaleźć we wspomnianym wcześniej dzienniku MCS (mcserver.log.*). Ten plik JSON może znajdować się w obszarze /usr/local/avamar/var/vcs/dm/recommendations/.
10/10-10:23:26.00489 com.avamar.mc.pdm.ProxyDeploymentManagerService.logFailure
WARNING: uri=https://localhost:8543/deploymanager/recommend/7e259e93-2f04-4e73-90fb-a65ea889784c, header=X-CustomTicket=71b
e6487-c250-40a7-a2c1-5ee99753f2bd, body={"vcenter":"*******","user":"******","datacenters":[{
Jeden ze zwirtualizowanych komponentów serwera vCenter (w tym przypadku sieci) miał nieprawidłowy znak UTF-8, co spowodowało niepowodzenie wdrożenia proxy.
/usr/local/avamar/var/vcs/dm/recommendations/7e259e93-2f04-4e73-90fb-a65ea889784c.json
{"name":"Publica o","mor":{"type":"Network","val":"network-73"}