exoscale / cs

A simple, yet powerful CloudStack API client for python and the command-line.
BSD 3-Clause "New" or "Revised" License
88 stars 36 forks source link

Test environments for cs #81

Closed synergiator closed 2 years ago

synergiator commented 5 years ago

How do you test this component also for cross-compatibility?

I've checked for community Docker images of Apache Cloud Stack but for example for 4.7 /4.9/4.10 there are no images available and the provided Dockerfile does not build.

See also: https://github.com/apache/cloudstack/issues/3083

greut commented 5 years ago

did you try @resmo's https://github.com/resmo/cloudstack-test-container ?

resmo commented 5 years ago

It is a integration test environment setup for ansible modules (which also rely on cs):

docker run -d -p 8888:8888 --name cloudstack-sim quay.io/ansible/cloudstack-test-container:1.2.0

This takes a minute or 2. You can check the URL http://localhost:8888/admin.json, it returns a 503 unless all is set up. When setup completed you get root admin api keys from the location.

Default UI login is also available at http://localhost:8888/client/ with admin and password as credentials.

Get the source from https://github.com/ansible/cloudstack-test-container

synergiator commented 5 years ago

@greut @resmo thanks for providing the resources, however:

I'd have a go and try to change the first position from 4.9 to 4.10, maybe I'm lucky.

synergiator commented 5 years ago

@resmo at your repo, issues seem to be disabled; as I build the image with the Dockerfile provided as-is , that is for 4.9, after 15 minutes there is still an error 503 at port 8888 and in the logs there are Java exceptions:


[STDOUT] ERROR [c.c.s.l.StoragePoolMonitor] (Simulator-Agent-Mgr-1:ctx-dbbee19a ctx-7efe7ce9) (logid:8aebe37b) hostAdded(long) failed for storage provider SolidFireShared
[STDOUT] java.lang.NullPointerException
[STDOUT]    at org.apache.cloudstack.storage.datastore.provider.SolidFireSharedHostListener.hostAdded(SolidFireSharedHostListener.java:71)
[STDOUT]    at com.cloud.storage.listener.StoragePoolMonitor.processHostAdded(StoragePoolMonitor.java:84)
[STDOUT]    at com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfNewlyAddedHost(AgentManagerImpl.java:551)
[STDOUT]    at com.cloud.agent.manager.AgentManagerImpl.handleDirectConnectAgent(AgentManagerImpl.java:1515)
[STDOUT]    at com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1902)
[STDOUT]    at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:788)
[STDOUT]    at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:605)
[STDOUT]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[STDOUT]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[STDOUT]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[STDOUT]    at java.lang.reflect.Method.invoke(Method.java:498)
[STDOUT]    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
[STDOUT]    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
[STDOUT]    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
[STDOUT]    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
[STDOUT]    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
[STDOUT]    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
[STDOUT]    at com.sun.proxy.$Proxy122.discoverHosts(Unknown Source)
[STDOUT]    at com.cloud.agent.manager.MockAgentManagerImpl$SystemVMHandler.run(MockAgentManagerImpl.java:362)
[STDOUT]    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[STDOUT]    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[STDOUT]    at java.lang.Thread.run(Thread.java:748)
[STDOUT] ERROR [c.c.s.l.StoragePoolMonitor] (Simulator-Agent-Mgr-1:ctx-dbbee19a ctx-7efe7ce9) (logid:8aebe37b) hostAdded(long) failed for storage provider SolidFire
[STDOUT] java.lang.NullPointerException
[STDOUT]    at org.apache.cloudstack.storage.datastore.provider.SolidFireHostListener.hostAdded(SolidFireHostListener.java:77)
[STDOUT]    at com.cloud.storage.listener.StoragePoolMonitor.processHostAdded(StoragePoolMonitor.java:84)
[STDOUT]    at com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfNewlyAddedHost(AgentManagerImpl.java:551)
[STDOUT]    at com.cloud.agent.manager.AgentManagerImpl.handleDirectConnectAgent(AgentManagerImpl.java:1515)
[STDOUT]    at com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1902)
[STDOUT]    at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:788)
[STDOUT]    at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:605)
[STDOUT]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[STDOUT]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[STDOUT]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[STDOUT]    at java.lang.reflect.Method.invoke(Method.java:498)
[STDOUT]    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
[STDOUT]    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
[STDOUT]    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
[STDOUT]    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
[STDOUT]    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
[STDOUT]    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
[STDOUT]    at com.sun.proxy.$Proxy122.discoverHosts(Unknown Source)
[STDOUT]    at com.cloud.agent.manager.MockAgentManagerImpl$SystemVMHandler.run(MockAgentManagerImpl.java:362)
[STDOUT]    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[STDOUT]    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[STDOUT]    at java.lang.Thread.run(Thread.java:748)

OK - somewhat later the UI shows error 403 which is then okay so far.