Git Product home page Git Product logo

autoscaling-engine's People

Contributors

ananyajh avatar flaviomu avatar gc4rella avatar lorenzotomasini avatar marcellom avatar mpauls avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

autoscaling-engine's Issues

Lag Time Waiting for Monitoring Measurements

Right now, when Scaling dictates the instantiation of a new VM, there is a lag time between the VM being instantiated and the VM connecting to Zabbix. While the Engine waits for this to happen, it throws an exception about the fact that the number of measurements requested does not equal the number of measurements received. No processing happens when this exception occurs - the cycle is skipped until the next interval.

I see several issues with this. Many VMs can be sacrificed on account of a single new instance. Or, what if that VM has an issue and never comes online for some reason? And the other VMs are pegged out and desperately need to scale?

I could be wrong and maybe it needs more design thought, but I am thinking that once a VM is instantiated, the engine needs to subscribe to a queue. And when that VM is connected to Zabbix, it can send a message to the queue that the engine receives, and a flag or state condition is set to mark that VM as "eligible to participate" for purposes of counters and measurements towards scaling policies.

SCALE_IN floors out at a single instance

If I put 2 connection points in my VDU Components, and launch the descriptor, it should be assumed that the MINIMUM number of instances i want to go out with initially is 2.

If I apply Elasticity with a set of SCALE_OUT and SCALE_IN parameters, what is happening right now is that SCALE_IN will knock the instances down to a single instance. This is because in the class DecisionTask.java, the code has a ">1", which ensures that not all of the instances are killed off and that a single instance will always be remaining.

I went in and attempted to change the code (DecisionTask.java) such that instead of using a hard-coded 1 value, I would use the number of initial connection points. What I realized is that the getConnection_points call returns is a dynamic value of the at-runtime number of connection points; not the number we went out with and deployed initially.

After poking around and realizing that we really don't seem to save off that initial number of connection points in the descriptor, so that we can use it as a floor on the SCALE_IN policy, I decided to write it up for discussion.

Not getting the correct data format required by the autoscaling-engine

Hi, we are trying to autoscale the SIPp network service. The NSD used to deply the network is attached. We are using Open Baton version 5.2.1 and Zabbix version 3.0.22. The autoscaling engine seems to be expecting a Json array but is getting Json object. The logs for the autoscaling engine in ase.log give the following error:

2018-12-11 14:29:43.915 INFO 8755 --- [TaskScheduler-4] o.o.a.core.detection.DetectionEngine : Get monitoring plugin with following parameters:
2018-12-11 14:29:43.923 ERROR 8755 --- [TaskScheduler-4] o.o.a.core.detection.task.DetectionTask : Exception occured while getting measurements -> Expected a com.google.gson.JsonArray but was com.google.gson.JsonObject, Trying again next time...

Your help would be much appreciated.
Thanks

SIPpNSD.txt

Error Connecting to NFVO via SSL on port 8443

I am running many other components just fine (nvfo, generic-vnfm, zabbix plugin, et al).
I compiled the source code - version 1.2.4-SNAPSHOT.jar.

Cannot seem to even get the service to start. I can log into the dashboard at the IP and Port (8443) just fine. But when I start the autoscaling-ase service up, I see that it cannot connect and finally throws an exception.

I know this ip and port work, because I am logged into it on the dashboard. Of course aside of that, a netstat tln does show port 8443 listening. I have tried localhost, and have also tried the actual IP of the instance.

I did put in a external driver.properties file for the openstack4j plugin and set the values on disable-ssl-certificate-check to both false and true, to see if maybe it was an ssl error. I still think it could be an ssl error, but maybe it's not.

At this point, I cannot get the autoscaling engine to work until and unless I can figure out a solution for this. I'm out of clues, so I'll post this.

Configuration File:

Direct log to a log file

logging.file=/var/log/openbaton/autoscaling.log

#Logging levels settings
logging.level.org.springframework=INFO
logging.level.org.apache.activemq=WARN
logging.level.org.openbaton=INFO
logging.level.org.openbaton.autoscaling=INFO

#AutoScaling settings
autoscaling.server.ip=localhost
autoscaling.server.port=9999
autoscaling.management.port=9998

autoscaling.rabbitmq.brokerIp=172.31.0.136
autoscaling.rabbitmq.management.port=15672
autoscaling.rabbitmq.autodelete=true
autoscaling.rabbitmq.durable=false
autoscaling.rabbitmq.exclusive=false
autoscaling.rabbitmq.minConcurrency=5
autoscaling.rabbitmq.maxConcurrency=15

autoscaling.plugin.dir = ./plugins
autoscaling.plugin.startup = true
#autoscaling.plugin.log.dir = ${autoscaling.plugin.dir}/logs
autoscaling.plugin.log.dir = /var/log/openbaton/plugins/ase

Port settings

server.port=${autoscaling.server.port}
management.port=${autoscaling.management.port}

NFVO settings

nfvo.ip=localhost
nfvo.port=8443
nfvo.username=[redacted out but it is correct]
nfvo.password=[redacted out but it is correct]

#########################################
############## RabbitMQ #################
#########################################

Comma-separated list of addresses to which the client should connect to.

#spring.rabbitmq.addresses= 192.168.145.54

Create an AmqpAdmin bean.

#spring.rabbitmq.dynamic=true

RabbitMQ host.

spring.rabbitmq.host=${autoscaling.rabbitmq.brokerIp}
.... (remainder is original unchanged)

Log File

2017-09-06 17:13:52.089 INFO 25579 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-06 17:13:52.090 INFO 25579 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/
] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-06 17:13:52.110 INFO 25579 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : Detected @ExceptionHandler methods in globalExceptionHandler
2017-09-06 17:13:52.152 INFO 25579 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-09-06 17:13:52.298 INFO 25579 --- [main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-09-06 17:13:52.345 INFO 25579 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 9999 (http)
2017-09-06 17:14:07.855 ERROR 25579 --- [main] org.openbaton.plugin.mgmt.PluginStartup : After 15 seconds the plugin is not started.
2017-09-06 17:14:23.452 ERROR 25579 --- [main] org.openbaton.plugin.mgmt.PluginStartup : After 15 seconds the plugin is not started.
2017-09-06 17:14:23.453 INFO 25579 --- [main] org.openbaton.autoscaling.utils.Utils : Waiting until NFVO is available...
2017-09-06 17:14:23.454 INFO 25579 --- [main] org.openbaton.autoscaling.utils.Utils : NFVO is listening on port 8443 at 172.31.0.136
2017-09-06 17:14:23.469 ERROR 25579 --- [main] org.openbaton.sdk.api.rest.ProjectAgent : 172.31.0.136:8443 failed to respond

org.apache.http.NoHttpResponseException: 172.31.0.136:8443 failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)

Cannot create new autoscaling-service

Hi, we're using the bootstrap script to install OB on a Linux Ubuntu 16.04LTS image in an esxi VM. All goes well, but when starting the autoscaling service service, we get the error:

2018-09-06 19:43:05.025 ERROR 25898 --- [main] org.openbaton.sdk.api.rest.ProjectAgent : java.lang.IllegalArgumentException: Empty key

When trying to create the key via the dashboard, we get a bunch of spring errors:
2018-09-06 19:47:49.502 ERROR 26064 --- [http-nio-8080-exec-3] .a.c.c.C.[.[.[.[customDispatcherServlet] : Servlet.service() for servlet [customDispatcherServlet] in context with path [] threw exception

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
at org.springframework.security.web.firewall.StrictHttpFirewall.getFirewalledRequest(StrictHttpFirewall.java:248) ~[spring-security-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:193) ~[spring-security-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) ~[spring-security-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106) ~[spring-boot-actuator-1.5.11.RELEASE.jar!/:1.5.11.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.3.15.RELEASE.jar!/:4.3.15.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) ~[tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_181]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.29.jar!/:8.5.29]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

Any ideas appreciated!
Cheers,
Mos

VNFR won't scale if another VNFR causes NSR to set State to SCALING

I have an NSD with two VNFs (A & B). A has an FM Policy on it, B has an AutoScaling policy on it.

When I launch the NSD,

  • A scales due to the FM Policy, and the VNF is in state "SCALE".
  • B is in START state, as everything properly proceeds through INSTANTIATE, CONFIGURE and START.
  • The NSD is in State "SCALING".

Then, the AutoScaling thread keeps throwing an API exception because the NSR State is not ACTIVE, as shown below:
"message": "NetworkServiceDescriptor must be in ACTIVE state"
}
2017-10-30 23:18:07.508 ERROR 17811 --- [TaskScheduler-9] o.o.a.core.execution.ExecutionEngine : Error while requesting VNFR 940fb838-3ed2-47f5-ba4a-bd53755033ce

org.openbaton.sdk.api.exception.SDKException: Status is 422. The reason is: {
"code": "Bad Request",
"message": "NetworkServiceDescriptor must be in ACTIVE state"
}

at org.openbaton.sdk.api.util.RestUtils.checkStatus(RestUtils.java:41) ~[sdk-4.0.1-SNAPSHOT.jar!/:na]
at org.openbaton.sdk.api.util.RestRequest.requestPost(RestRequest.java:440) ~[sdk-4.0.1-SNAPSHOT.jar!/:na]
at org.openbaton.sdk.api.rest.NetworkServiceRecordAgent.createVNFCInstance(NetworkServiceRecordAgent.java:301) ~[sdk-4.0.1-SNAPSHOT.jar!/:na]
at org.openbaton.autoscaling.core.execution.ExecutionEngine.scaleOut(ExecutionEngine.java:109) ~[core-1.2.4-SNAPSHOT.jar!/:na]
at org.openbaton.autoscaling.core.execution.task.ExecutionTask.run(ExecutionTask.java:138) [core-1.2.4-SNAPSHOT.jar!/:na]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-4.3.11.RELEASE.jar!/:4.3.11.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_131]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_131]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_131]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]

2017-10-30 23:18:07.508 DEBUG 17811 --- [TaskScheduler-9] o.o.a.core.execution.ExecutionEngine : Executed scale-out for VNFR with id: 940fb838-3ed2-47f5-ba4a-bd53755033ce
2017-10-30 23:18:07.508 INFO 17811 --- [TaskScheduler-9] o.o.a.core.execution.task.ExecutionTask : Executed scaling actions for NSR 940fb838-3ed2-47f5-ba4a-bd53755033ce

AES should wait for ACTIVE or ERROR event from NFVO

If you start NFVO and then start AES, AES produces error because the state of the NSR is NULL (initially). What it probably should do, is to notice that the NSR ID is NULL, and wait for for an NFVO event that tells the AES whether the NFVO has moved it to the ACTIVE state, or into a state of ERROR

(see log below with further comments)

2017-10-23 19:27:37.654 DEBUG 5763 --- [ main] o.o.s.a.rest.NetworkServiceRecordAgent : Post: https://172.31.0.136:8443/api/v1/components/services/register
2017-10-23 19:27:37.703 DEBUG 5763 --- [ main] o.o.s.a.rest.NetworkServiceRecordAgent : Executing get on: https://172.31.0.136:8443/api/v1/ns-records
2017-10-23 19:27:37.808 WARN 5763 --- [ main] org.openbaton.autoscaling.Application : Cannot add NSR with id: 1d304360-11ca-4a0f-ba66-0149660f2983 to autoscaling because it is in state: NULL and not in state ACTIVE or ERROR.
2017-10-23 19:27:37.809 INFO 5763 --- [ main] org.openbaton.autoscaling.Starter : Started Starter in 4.828 seconds (JVM running for 5.181)

It does not appear to recover from this error. I noticed that after the VMs came up, and I restarted the AES (I was running it in foreground), I then got the following messages:

2017-10-23 19:33:41.478 DEBUG 6124 --- [ main] o.o.s.a.rest.NetworkServiceRecordAgent : Post: https://172.31.0.136:8443/api/v1/components/services/register
2017-10-23 19:33:41.501 DEBUG 6124 --- [ main] o.o.s.a.rest.NetworkServiceRecordAgent : Executing get on: https://172.31.0.136:8443/api/v1/ns-records
2017-10-23 19:33:41.567 DEBUG 6124 --- [ main] org.openbaton.autoscaling.Application : Adding previously deployed NSR with id: 1d304360-11ca-4a0f-ba66-0149660f2983 to autoscaling
2017-10-23 19:33:41.571 DEBUG 6124 --- [ main] o.o.a.c.management.ElasticityManagement : Activating Elasticity for NSR with id: 1d304360-11ca-4a0f-ba66-0149660f2983
2017-10-23 19:33:41.576 DEBUG 6124 --- [ main] o.o.a.c.detection.DetectionManagement : Activating Alarm Detection for AutoScalePolicy with id: a57621f7-4bbc-4a5e-aedb-104c6b19673d of VNFR edfada2b-6d8f-4d75-b751-a2276d58505c of NSR with id: 1d304360-11ca-4a0f-ba66-0149660f2983
2017-10-23 19:33:41.576 DEBUG 6124 --- [ main] o.o.a.c.detection.DetectionManagement : Creating new DetectionTask for AutoScalingPolicy scale-out with id: a57621f7-4bbc-4a5e-aedb-104c6b19673d of VNFR with id: edfada2b-6d8f-4d75-b751-a2276d58505c
2017-10-23 19:33:41.584 INFO 6124 --- [ main] o.o.a.c.detection.DetectionManagement : Activated Alarm Detection for AutoScalePolicy with id: a57621f7-4bbc-4a5e-aedb-104c6b19673d of VNFR edfada2b-6d8f-4d75-b751-a2276d58505c of NSR with id: 1d304360-11ca-4a0f-ba66-0149660f2983
2017-10-23 19:33:41.584 INFO 6124 --- [ main] o.o.a.c.management.ElasticityManagement : Activated Elasticity for NSR with id: 1d304360-11ca-4a0f-ba66-0149660f2983
2017-10-23 19:33:41.585 DEBUG 6124 --- [TaskScheduler-1] o.o.a.core.detection.task.DetectionTask : Starting DetectionTask the first time. So wait for the cooldown...
2017-10-23 19:33:41.585 INFO 6124 --- [ main] org.openbaton.autoscaling.Starter : Started Starter in 4.514 seconds (JVM running for 4.892)

Unfortunately, the AES never starts functioning. I believe this is related to the fact that in the Dashboard, I see the following in the Event Listing:
ID: 59eb67bb-880b-45a5-a09b-6a634ad43275
Name: Subscription:ERROR
Endpoint: http://localhost:9999/elasticity-management/ERROR
Event: ERROR
This is probably a separate issue.

ASE Error - Getting exception instead of Json array

I am still getting the following error but the credentials don't seem to be the problem.

2018-12-11 14:29:43.915 INFO 8755 --- [TaskScheduler-4] o.o.a.core.detection.DetectionEngine : Get monitoring plugin with following parameters:
2018-12-11 14:29:43.923 ERROR 8755 --- [TaskScheduler-4] o.o.a.core.detection.task.DetectionTask : Exception occured while getting measurements -> Expected a com.google.gson.JsonArray but was com.google.gson.JsonObject, Trying again next time...

Inside Zabbix, my instances are automatically getting registered and are being monitored. Initially, I thought that the ASE uses the createThreshold method so I had configured the send_notification script and was trying to add an Action but I was informed that it doesn't use that. I later realised it uses the monitoringPluginCaller and the plugin SDK has already been imported.

Do I need to manually use the methods create PM Job and query PM Job in order to get metrics from the Zabbix plugin? I see examples of how to do this but I am not sure which file to do it in. Please let me know if there are configurations I need to do either on the Zabbix server or plugin to get data for the ASE.

Thank you in advance.
Tapiwa

ASE not starting - invalid_token

I'm trying to build an image of openbaton with ASE in a Packer image that is then deployed in OpenStack.

For some reason ASE won't startup in the new image, though the NFVO and Generic NFVM will.

I see many of these in the ASE log:

2018-01-02 22:43:53.389 ERROR 2023 --- [main] org.openbaton.sdk.api.util.RestUtils     : Status expected: 200 obtained: 401
2018-01-02 22:43:53.390 ERROR 2023 --- [main] org.openbaton.sdk.api.util.RestUtils     : httpresponse: HttpResponseProxy{HTTP/1.1 401  [X-Content-Type-Options: nosniff, X-XSS-Protection: 1; mode=block, Cache-Control: no-cache, no-store, max-age=0, must-revalidate, Pragma: no-cache, Expires: 0, X-Frame-Options: DENY, Cache-Control: no-store, Pragma: no-cache, WWW-Authenticate: Bearer realm="oauth2-server", error="invalid_token", error_description="Invalid access token: 4c3821ef-6086-4c6d-a2ff-425608536c19", Content-Type: application/json;charset=UTF-8, Transfer-Encoding: chunked, Date: Tue, 02 Jan 2018 22:43:53 GMT] ResponseEntityProxy{[Content-Type: application/json;charset=UTF-8,Chunked: true]}}
2018-01-02 22:43:53.390 ERROR 2023 --- [main] org.openbaton.sdk.api.util.RestUtils     : Body: {"error":"invalid_token","error_description":"Invalid access token: 4c3821ef-6086-4c6d-a2ff-425608536c19"}

Any thoughts on this?

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.