Re: Migrate from VMWare to Cloudstack/KVM

2023-12-15 Thread Nux

Hi Swen,

AFAIK nothing new on that front, but end of year is usually a bit slower 
time.
I expect this and other features will receive more attention in the new 
year.


Regards,
Lucian

On 2023-12-15 14:05, m...@swen.io wrote:

Hi all,



at CCC 2023 there were several talks about migrating instances from 
VMWare
to CS/KVM using virt-v2v. Also Olivier Lambert from Vates did a talk on 
how

XOA is doing migrations.

As far as I remember XOA is able to perform a migration significant 
faster
as virt-v2v and there was a discussion to look into the open source 
code of

XOA to see if CS can implement this migration path.



I want kindly ask if there is some progress regarding this? I see this 
as a

key feature for CS in the future to get as much VMWare installations
migrated to CS/KVM. Sadly we do not have any development capacities, 
but we

can provide help and a budget to get started.

Would that help?



Cu Swen


Re: New Object Storage - Huawei OBS

2023-12-15 Thread Wei ZHOU
Hi Wido,

I just tested your branch, it looks ok (
https://github.com/wido/cloudstack/commits/ceph-object-store).

I got an error which is because I input invalid host/keys

2023-12-15 19:07:22,313 DEBUG [o.a.c.s.d.l.CephObjectStoreLifeCycleImpl]
(qtp775386112-17:ctx-9be6ad79 ctx-b4cdcdd0) (logid:3a8340e9) Error while
initializing Ceph RGW Object Store: IOException
2023-12-15 19:07:22,313 DEBUG [c.c.s.StorageManagerImpl]
(qtp775386112-17:ctx-9be6ad79 ctx-b4cdcdd0) (logid:3a8340e9) Failed to add
object store: Error while initializing Ceph RGW Object Store. Invalid
credentials or URL
java.lang.RuntimeException: Error while initializing Ceph RGW Object Store.
Invalid credentials or URL
at
org.apache.cloudstack.storage.datastore.lifecycle.CephObjectStoreLifeCycleImpl.initialize(CephObjectStoreLifeCycleImpl.java:87)
at
com.cloud.storage.StorageManagerImpl.discoverObjectStore(StorageManagerImpl.java:3777)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)


-Wei

On Fri, 15 Dec 2023 at 17:18, Wido den Hollander  wrote:

>
>
> Op 15/12/2023 om 13:54 schreef Wei ZHOU:
> > Hi Wido,
> >
> > It looks you need a file like
> >
> https://github.com/apache/cloudstack/blob/main/plugins/storage/object/simulator/src/main/resources/META-INF/cloudstack/storage-object-simulator/spring-storage-object-simulator-context.xml
> >
>
> Tnx. But that didn't solve it. The module seems to load according to the
> mgmt server log, but I can't add the storage. Exception is the same.
>
> Wido
>
> > -Wei
> >
> > On Fri, 15 Dec 2023 at 13:40, Wido den Hollander  >
> > wrote:
> >
> >>
> >>
> >> On 12/15/23 09:41, Ronald Feicht wrote:
> >>> Hi Kishan,
> >>>
> >>>
> >>> when I add my module to client/pom.xml I get the following error and
> >> http://192.168.17.252:8080/client/ returns "HTTP ERROR 503 Service
> >> Unavailable" because of the following exception:
> >>>
> >>> [WARNING] Failed startup of context
> o.e.j.m.p.JettyWebAppContext@1df8ea34
> >>
> {/client,file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/,UNAVAILABLE}{file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/}
> >>> java.lang.NullPointerException
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$1.with
> >> (DefaultModuleDefinitionSet.java:104)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> >> (DefaultModuleDefinitionSet.java:263)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> >> (DefaultModuleDefinitionSet.java:268)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> >> (DefaultModuleDefinitionSet.java:268)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> >> (DefaultModuleDefinitionSet.java:268)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> >> (DefaultModuleDefinitionSet.java:268)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> >> (DefaultModuleDefinitionSet.java:268)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> >> (DefaultModuleDefinitionSet.java:251)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.startContexts
> >> (DefaultModuleDefinitionSet.java:96)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load
> >> (DefaultModuleDefinitionSet.java:79)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules
> >> (ModuleBasedContextFactory.java:37)
> >>>   at
> >> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init
> >> (CloudStackSpringContext.java:70)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.
> >> (CloudStackSpringContext.java:57)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.
> >> (CloudStackSpringContext.java:61)
> >>>   at
> >>
> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized
> >> (CloudStackContextLoaderListener.java:52)
> >>>   at
> >> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized
> >> (ContextHandler.java:933)
> >>>   at
> >> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized
> >> (ServletContextHandler.java:553)
> >>>   at org.eclipse.jetty.server.handler.ContextHandler.startContext
> >> (ContextHandler.java:892)
> >>>   at org.eclipse.jetty.servlet.ServletContextHandler.startContext
> >> (ServletContextHandler.java:356)
> >>>   at 

RE: New Object Storage - Huawei OBS

2023-12-15 Thread Kishan Kavala
Hi Ronald,
 Here is what I found from the logs:

Error:
WARN  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet] (main:null) (logid:) Failed to 
start module [root-ca] due to: [Failed to start bean 'cloudStackLifeCycle'; 
nested exception is java.lang.LinkageError: loader constraint violation: when 
resolving method 'org.bouncycastle.cert.X509v3CertificateBuilder 
org.bouncycastle.cert.X509v3CertificateBuilder.addExtension(org.bouncycastle.asn1.ASN1ObjectIdentifier,
 boolean, org.bouncycastle.asn1.ASN1Encodable)' the class loader 
org.eclipse.jetty.webapp.WebAppClassLoader @1d9295e2 of the current class, 
org/apache/cloudstack/utils/security/CertUtils, and the class loader 
org.codehaus.plexus.classworlds.realm.ClassRealm @7fecc26f for the method's 
defining class, org/bouncycastle/cert/X509v3CertificateBuilder, have different 
Class objects for the type org/bouncycastle/asn1/ASN1ObjectIdentifier used in 
the signature (org.apache.cloudstack.utils.security.CertUtils is in unnamed 
module of loader org.eclipse.jetty.webapp.WebAppClassLoader @1d9295e2, parent 
loader org.codehaus.plexus.classworlds.realm.ClassRealm @7fecc26f; 
org.bouncycastle.cert.X509v3CertificateBuilder is in unnamed module of loader 
org.codehaus.plexus.classworlds.realm.ClassRealm @7fecc26f, parent loader 
'bootstrap')].

Reason:
ASN1ObjectIdentifier has different versions in the dependencies of root-ca and 
Huawei OBS(huaweicloud-sdk-iam) packages. java.lang.LinkageError happens when 
code is compiled with dependency version say v1 and then is running with 
dependency version say v2.

Solution:

Add provided scope to huaweicloud-sdk-iam dependency in Huawei OBS project. 
This will mark dependencies that should be provided at runtime.


com.huaweicloud.sdk
huaweicloud-sdk-iam
3.1.69
 provided


Regards,
Kishan


 


-Original Message-
From: Kishan Kavala  
Sent: Friday, December 15, 2023 6:42 PM
To: dev@cloudstack.apache.org
Subject: RE: New Object Storage - Huawei OBS

Ronald,
 The error is coming from rootca project after adding Huawei OBS plugin.


org.apache.cloudstack
cloud-plugin-ca-rootca
${project.version}


After removing the above from client/pom.xml, Huawei OBS plugin was loaded.

On the other hand, if I remove Huawei OBS plugin and keep rootca project, I see 
no issues.

I'm investigating further, in the meantime removing rootca project can unblock 
your development.

Regards,
Kishan

 


-Original Message-
From: Ronald Feicht 
Sent: Friday, December 15, 2023 2:12 PM
To: dev@cloudstack.apache.org
Subject: Re: New Object Storage - Huawei OBS

Hi Kishan,


when I add my module to client/pom.xml I get the following error and 
http://192.168.17.252:8080/client/ returns "HTTP ERROR 503 Service Unavailable" 
because of the following exception:

[WARNING] Failed startup of context 
o.e.j.m.p.JettyWebAppContext@1df8ea34{/client,file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/,UNAVAILABLE}{file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/}
java.lang.NullPointerException
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$1.with
 (DefaultModuleDefinitionSet.java:104)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:263)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:251)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.startContexts
 (DefaultModuleDefinitionSet.java:96)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load 
(DefaultModuleDefinitionSet.java:79)
at 
org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules
 (ModuleBasedContextFactory.java:37)
at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init 
(CloudStackSpringContext.java:70)
at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:57)
at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:61)
at 

Re: New Object Storage - Huawei OBS

2023-12-15 Thread Wido den Hollander




Op 15/12/2023 om 13:54 schreef Wei ZHOU:

Hi Wido,

It looks you need a file like
https://github.com/apache/cloudstack/blob/main/plugins/storage/object/simulator/src/main/resources/META-INF/cloudstack/storage-object-simulator/spring-storage-object-simulator-context.xml



Tnx. But that didn't solve it. The module seems to load according to the 
mgmt server log, but I can't add the storage. Exception is the same.


Wido


-Wei

On Fri, 15 Dec 2023 at 13:40, Wido den Hollander 
wrote:




On 12/15/23 09:41, Ronald Feicht wrote:

Hi Kishan,


when I add my module to client/pom.xml I get the following error and

http://192.168.17.252:8080/client/ returns "HTTP ERROR 503 Service
Unavailable" because of the following exception:


[WARNING] Failed startup of context o.e.j.m.p.JettyWebAppContext@1df8ea34

{/client,file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/,UNAVAILABLE}{file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/}

java.lang.NullPointerException
  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$1.with
(DefaultModuleDefinitionSet.java:104)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
(DefaultModuleDefinitionSet.java:263)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
(DefaultModuleDefinitionSet.java:268)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
(DefaultModuleDefinitionSet.java:268)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
(DefaultModuleDefinitionSet.java:268)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
(DefaultModuleDefinitionSet.java:268)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
(DefaultModuleDefinitionSet.java:268)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
(DefaultModuleDefinitionSet.java:251)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.startContexts
(DefaultModuleDefinitionSet.java:96)

  at

org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load
(DefaultModuleDefinitionSet.java:79)

  at

org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules
(ModuleBasedContextFactory.java:37)

  at

org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init
(CloudStackSpringContext.java:70)

  at

org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.
(CloudStackSpringContext.java:57)

  at

org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.
(CloudStackSpringContext.java:61)

  at

org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized
(CloudStackContextLoaderListener.java:52)

  at

org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized
(ContextHandler.java:933)

  at

org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized
(ServletContextHandler.java:553)

  at org.eclipse.jetty.server.handler.ContextHandler.startContext

(ContextHandler.java:892)

  at org.eclipse.jetty.servlet.ServletContextHandler.startContext

(ServletContextHandler.java:356)

  at org.eclipse.jetty.webapp.WebAppContext.startWebapp

(WebAppContext.java:1445)

  at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp

(JettyWebAppContext.java:328)

  at org.eclipse.jetty.webapp.WebAppContext.startContext

(WebAppContext.java:1409)

  at org.eclipse.jetty.server.handler.ContextHandler.doStart

(ContextHandler.java:825)

  at org.eclipse.jetty.servlet.ServletContextHandler.doStart

(ServletContextHandler.java:275)

  at org.eclipse.jetty.webapp.WebAppContext.doStart

(WebAppContext.java:524)

  at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart

(JettyWebAppContext.java:397)

  at org.eclipse.jetty.util.component.AbstractLifeCycle.start

(AbstractLifeCycle.java:72)

  at org.eclipse.jetty.util.component.ContainerLifeCycle.start

(ContainerLifeCycle.java:169)

  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart

(ContainerLifeCycle.java:117)

  at org.eclipse.jetty.server.handler.AbstractHandler.doStart

(AbstractHandler.java:97)

  at org.eclipse.jetty.util.component.AbstractLifeCycle.start

(AbstractLifeCycle.java:72)

  at org.eclipse.jetty.util.component.ContainerLifeCycle.start

(ContainerLifeCycle.java:169)

  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart

(ContainerLifeCycle.java:117)

  at org.eclipse.jetty.server.handler.AbstractHandler.doStart

(AbstractHandler.java:97)

  at org.eclipse.jetty.util.component.AbstractLifeCycle.start

(AbstractLifeCycle.java:72)

  at org.eclipse.jetty.util.component.ContainerLifeCycle.start


Migrate from VMWare to Cloudstack/KVM

2023-12-15 Thread me
Hi all,

 

at CCC 2023 there were several talks about migrating instances from VMWare
to CS/KVM using virt-v2v. Also Olivier Lambert from Vates did a talk on how
XOA is doing migrations.

As far as I remember XOA is able to perform a migration significant faster
as virt-v2v and there was a discussion to look into the open source code of
XOA to see if CS can implement this migration path.

 

I want kindly ask if there is some progress regarding this? I see this as a
key feature for CS in the future to get as much VMWare installations
migrated to CS/KVM. Sadly we do not have any development capacities, but we
can provide help and a budget to get started.

Would that help?

 

Cu Swen



RE: New Object Storage - Huawei OBS

2023-12-15 Thread Kishan Kavala
Ronald,
 The error is coming from rootca project after adding Huawei OBS plugin.


org.apache.cloudstack
cloud-plugin-ca-rootca
${project.version}


After removing the above from client/pom.xml, Huawei OBS plugin was loaded.

On the other hand, if I remove Huawei OBS plugin and keep rootca project, I see 
no issues.

I'm investigating further, in the meantime removing rootca project can unblock 
your development.

Regards,
Kishan

 


-Original Message-
From: Ronald Feicht  
Sent: Friday, December 15, 2023 2:12 PM
To: dev@cloudstack.apache.org
Subject: Re: New Object Storage - Huawei OBS

Hi Kishan,


when I add my module to client/pom.xml I get the following error and 
http://192.168.17.252:8080/client/ returns "HTTP ERROR 503 Service Unavailable" 
because of the following exception:

[WARNING] Failed startup of context 
o.e.j.m.p.JettyWebAppContext@1df8ea34{/client,file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/,UNAVAILABLE}{file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/}
java.lang.NullPointerException
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$1.with
 (DefaultModuleDefinitionSet.java:104)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:263)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:251)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.startContexts
 (DefaultModuleDefinitionSet.java:96)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load 
(DefaultModuleDefinitionSet.java:79)
at 
org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules
 (ModuleBasedContextFactory.java:37)
at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init 
(CloudStackSpringContext.java:70)
at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:57)
at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:61)
at 
org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized
 (CloudStackContextLoaderListener.java:52)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized 
(ContextHandler.java:933)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized 
(ServletContextHandler.java:553)
at org.eclipse.jetty.server.handler.ContextHandler.startContext 
(ContextHandler.java:892)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext 
(ServletContextHandler.java:356)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp 
(WebAppContext.java:1445)
at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp 
(JettyWebAppContext.java:328)
at org.eclipse.jetty.webapp.WebAppContext.startContext 
(WebAppContext.java:1409)
at org.eclipse.jetty.server.handler.ContextHandler.doStart 
(ContextHandler.java:825)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart 
(ServletContextHandler.java:275)
at org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:524)
at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart 
(JettyWebAppContext.java:397)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
at 

Re: [PR] Add multiple local storage pools in KVM - via UI [cloudstack-documentation]

2023-12-15 Thread via GitHub


weizhouapache commented on code in PR #366:
URL: 
https://github.com/apache/cloudstack-documentation/pull/366#discussion_r1427960067


##
source/adminguide/storage.rst:
##
@@ -169,6 +174,13 @@ In order to use multiple local storages, you need to
 
 #. Restart cloudstack-agent service
 
+Adding Local Storage Pool via UI
+
+
+When using UI, ensure that the scope of the storage is set to "Host", and 
+ensure that the protocol is set to "Filesystem" 
+
+|adding-local-pool-via-ui.png|

Review Comment:
   @andrijapanicsb 
   the following is required to be at the end of the file. otherwise the image 
is not shown
   
   ```
   .. |adding-local-pool-via-ui.png| image:: 
/_static/images/adding-local-pool-via-ui.png
  :alt: Adding Local Storage Pool via UI
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: New Object Storage - Huawei OBS

2023-12-15 Thread Wei ZHOU
Hi Wido,

It looks you need a file like
https://github.com/apache/cloudstack/blob/main/plugins/storage/object/simulator/src/main/resources/META-INF/cloudstack/storage-object-simulator/spring-storage-object-simulator-context.xml

-Wei

On Fri, 15 Dec 2023 at 13:40, Wido den Hollander 
wrote:

>
>
> On 12/15/23 09:41, Ronald Feicht wrote:
> > Hi Kishan,
> >
> >
> > when I add my module to client/pom.xml I get the following error and
> http://192.168.17.252:8080/client/ returns "HTTP ERROR 503 Service
> Unavailable" because of the following exception:
> >
> > [WARNING] Failed startup of context o.e.j.m.p.JettyWebAppContext@1df8ea34
> {/client,file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/,UNAVAILABLE}{file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/}
> > java.lang.NullPointerException
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$1.with
> (DefaultModuleDefinitionSet.java:104)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> (DefaultModuleDefinitionSet.java:263)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> (DefaultModuleDefinitionSet.java:268)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> (DefaultModuleDefinitionSet.java:268)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> (DefaultModuleDefinitionSet.java:268)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> (DefaultModuleDefinitionSet.java:268)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> (DefaultModuleDefinitionSet.java:268)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
> (DefaultModuleDefinitionSet.java:251)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.startContexts
> (DefaultModuleDefinitionSet.java:96)
> >  at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load
> (DefaultModuleDefinitionSet.java:79)
> >  at
> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules
> (ModuleBasedContextFactory.java:37)
> >  at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init
> (CloudStackSpringContext.java:70)
> >  at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.
> (CloudStackSpringContext.java:57)
> >  at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.
> (CloudStackSpringContext.java:61)
> >  at
> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized
> (CloudStackContextLoaderListener.java:52)
> >  at
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized
> (ContextHandler.java:933)
> >  at
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized
> (ServletContextHandler.java:553)
> >  at org.eclipse.jetty.server.handler.ContextHandler.startContext
> (ContextHandler.java:892)
> >  at org.eclipse.jetty.servlet.ServletContextHandler.startContext
> (ServletContextHandler.java:356)
> >  at org.eclipse.jetty.webapp.WebAppContext.startWebapp
> (WebAppContext.java:1445)
> >  at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp
> (JettyWebAppContext.java:328)
> >  at org.eclipse.jetty.webapp.WebAppContext.startContext
> (WebAppContext.java:1409)
> >  at org.eclipse.jetty.server.handler.ContextHandler.doStart
> (ContextHandler.java:825)
> >  at org.eclipse.jetty.servlet.ServletContextHandler.doStart
> (ServletContextHandler.java:275)
> >  at org.eclipse.jetty.webapp.WebAppContext.doStart
> (WebAppContext.java:524)
> >  at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart
> (JettyWebAppContext.java:397)
> >  at org.eclipse.jetty.util.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:72)
> >  at org.eclipse.jetty.util.component.ContainerLifeCycle.start
> (ContainerLifeCycle.java:169)
> >  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart
> (ContainerLifeCycle.java:117)
> >  at org.eclipse.jetty.server.handler.AbstractHandler.doStart
> (AbstractHandler.java:97)
> >  at org.eclipse.jetty.util.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:72)
> >  at org.eclipse.jetty.util.component.ContainerLifeCycle.start
> (ContainerLifeCycle.java:169)
> >  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart
> (ContainerLifeCycle.java:117)
> >  at org.eclipse.jetty.server.handler.AbstractHandler.doStart
> (AbstractHandler.java:97)
> >  at org.eclipse.jetty.util.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:72)
> >  at org.eclipse.jetty.util.component.ContainerLifeCycle.start
> (ContainerLifeCycle.java:169)
> > 

Re: New Object Storage - Huawei OBS

2023-12-15 Thread Wido den Hollander




On 12/15/23 09:41, Ronald Feicht wrote:

Hi Kishan,


when I add my module to client/pom.xml I get the following error and 
http://192.168.17.252:8080/client/ returns "HTTP ERROR 503 Service Unavailable" 
because of the following exception:

[WARNING] Failed startup of context 
o.e.j.m.p.JettyWebAppContext@1df8ea34{/client,file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/,UNAVAILABLE}{file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/}
java.lang.NullPointerException
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$1.with
 (DefaultModuleDefinitionSet.java:104)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:263)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:251)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.startContexts
 (DefaultModuleDefinitionSet.java:96)
 at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load 
(DefaultModuleDefinitionSet.java:79)
 at 
org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules
 (ModuleBasedContextFactory.java:37)
 at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init 
(CloudStackSpringContext.java:70)
 at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:57)
 at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:61)
 at 
org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized
 (CloudStackContextLoaderListener.java:52)
 at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized 
(ContextHandler.java:933)
 at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized 
(ServletContextHandler.java:553)
 at org.eclipse.jetty.server.handler.ContextHandler.startContext 
(ContextHandler.java:892)
 at org.eclipse.jetty.servlet.ServletContextHandler.startContext 
(ServletContextHandler.java:356)
 at org.eclipse.jetty.webapp.WebAppContext.startWebapp 
(WebAppContext.java:1445)
 at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp 
(JettyWebAppContext.java:328)
 at org.eclipse.jetty.webapp.WebAppContext.startContext 
(WebAppContext.java:1409)
 at org.eclipse.jetty.server.handler.ContextHandler.doStart 
(ContextHandler.java:825)
 at org.eclipse.jetty.servlet.ServletContextHandler.doStart 
(ServletContextHandler.java:275)
 at org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:524)
 at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart 
(JettyWebAppContext.java:397)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
 at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
 at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:117)
 at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
 at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
 at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:117)
 at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
 at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
 at org.eclipse.jetty.server.Server.start (Server.java:407)
 at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:110)
 at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
 at org.eclipse.jetty.server.Server.doStart (Server.java:371)
 at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
 at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty 
(AbstractJettyMojo.java:450)
 at 

Re: [PR] Add multiple local storage pools in KVM - via UI [cloudstack-documentation]

2023-12-15 Thread via GitHub


blueorangutan commented on PR #366:
URL: 
https://github.com/apache/cloudstack-documentation/pull/366#issuecomment-1857795042

   @shwstppr a Jenkins job has been kicked to build the document. I'll keep you 
posted as I make progress.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Add multiple local storage pools in KVM - via UI [cloudstack-documentation]

2023-12-15 Thread via GitHub


blueorangutan commented on PR #366:
URL: 
https://github.com/apache/cloudstack-documentation/pull/366#issuecomment-1857796263

   QA-Doc build preview: https://qa.cloudstack.cloud/builds/docs-build/pr/366. 
(QA-JID 180)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Add multiple local storage pools in KVM - via UI [cloudstack-documentation]

2023-12-15 Thread via GitHub


shwstppr commented on PR #366:
URL: 
https://github.com/apache/cloudstack-documentation/pull/366#issuecomment-1857794505

   @blueorangutan docbuild


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Add doc for dynamic secondary storage selectors [cloudstack-documentation]

2023-12-15 Thread via GitHub


shwstppr commented on PR #368:
URL: 
https://github.com/apache/cloudstack-documentation/pull/368#issuecomment-1857793194

   @kiranchavala @rajujith can you please review?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Add docs about storage and host tags [cloudstack-documentation]

2023-12-15 Thread via GitHub


shwstppr commented on PR #365:
URL: 
https://github.com/apache/cloudstack-documentation/pull/365#issuecomment-1857792276

   @rajujith can you please review?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] kvm,snapshot: note on primary storage dependency [cloudstack-documentation]

2023-12-15 Thread via GitHub


shwstppr commented on code in PR #367:
URL: 
https://github.com/apache/cloudstack-documentation/pull/367#discussion_r1427892637


##
source/adminguide/storage.rst:
##
@@ -957,6 +957,9 @@ incremental backups are supported, every N backup is a full 
backup.
 | Support incremental backup   | No   | Yes  | No  |
 +--+--+--+-+
 
+   .. note::
+  Between versions 4.17.x, 4.18.0 and 4.18.1, KVM volume snapshot backups 
were not full snapshots and they rely on the snapshots on the primary storage. 
To prevent any loss of data, care must be taken during revert operation and it 
must be ensured that the source primary storage snapshot file is present.
+

Review Comment:
   @GutoVeronezi good idea. Though I'm not sure how to structure it.
   Would you mind adding a change in the PR as you must be having better 
understanding on the process?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] kvm,snapshot: note on primary storage dependency [cloudstack-documentation]

2023-12-15 Thread via GitHub


GutoVeronezi commented on code in PR #367:
URL: 
https://github.com/apache/cloudstack-documentation/pull/367#discussion_r1427852007


##
source/adminguide/storage.rst:
##
@@ -957,6 +957,9 @@ incremental backups are supported, every N backup is a full 
backup.
 | Support incremental backup   | No   | Yes  | No  |
 +--+--+--+-+
 
+   .. note::
+  Between versions 4.17.x, 4.18.0 and 4.18.1, KVM volume snapshot backups 
were not full snapshots and they rely on the snapshots on the primary storage. 
To prevent any loss of data, care must be taken during revert operation and it 
must be ensured that the source primary storage snapshot file is present.
+

Review Comment:
   @shwstppr, would not it be useful to guide users on how to identify the 
affected volumes/snapshots, vide 
https://github.com/apache/cloudstack/issues/8034#issuecomment-1750699975?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: New Object Storage - Huawei OBS

2023-12-15 Thread Ronald Feicht
Hi Kishan,


when I add my module to client/pom.xml I get the following error and 
http://192.168.17.252:8080/client/ returns "HTTP ERROR 503 Service Unavailable" 
because of the following exception:

[WARNING] Failed startup of context 
o.e.j.m.p.JettyWebAppContext@1df8ea34{/client,file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/,UNAVAILABLE}{file:///opt/cloudstack-huawei-obs/client/target/classes/META-INF/webapp/}
java.lang.NullPointerException
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$1.with
 (DefaultModuleDefinitionSet.java:104)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:263)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:268)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule
 (DefaultModuleDefinitionSet.java:251)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.startContexts
 (DefaultModuleDefinitionSet.java:96)
at 
org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load 
(DefaultModuleDefinitionSet.java:79)
at 
org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules
 (ModuleBasedContextFactory.java:37)
at org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init 
(CloudStackSpringContext.java:70)
at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:57)
at 
org.apache.cloudstack.spring.module.factory.CloudStackSpringContext. 
(CloudStackSpringContext.java:61)
at 
org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized
 (CloudStackContextLoaderListener.java:52)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized 
(ContextHandler.java:933)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized 
(ServletContextHandler.java:553)
at org.eclipse.jetty.server.handler.ContextHandler.startContext 
(ContextHandler.java:892)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext 
(ServletContextHandler.java:356)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp 
(WebAppContext.java:1445)
at org.eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp 
(JettyWebAppContext.java:328)
at org.eclipse.jetty.webapp.WebAppContext.startContext 
(WebAppContext.java:1409)
at org.eclipse.jetty.server.handler.ContextHandler.doStart 
(ContextHandler.java:825)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart 
(ServletContextHandler.java:275)
at org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:524)
at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart 
(JettyWebAppContext.java:397)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start 
(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start (Server.java:407)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart 
(ContainerLifeCycle.java:110)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart 
(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart (Server.java:371)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start 
(AbstractLifeCycle.java:72)
at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty 
(AbstractJettyMojo.java:450)
at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute 
(AbstractJettyMojo.java:311)
at 

Re: New Object Storage - Huawei OBS

2023-12-15 Thread Ronald Feicht
Hi Wido,


changing the method parameters from String to BucketTO is no problem for me - I 
will simply adapt my code accordingly and contribute my code upstream as soon 
as I get it to work.


Mit freundlichen Grüßen
R. Feicht

sc synergy GmbH
Hilgestrasse 14 | 55294 Bodenheim | Deutschland
Fon: +49 6135 71691 - 000 | Fax: +49 6135 71691 - 299
http://www.scsynergy.com | ronald.fei...@scsynergy.com
Sitz der Gesellschaft Bodenheim, HRB 8830, Amtsgericht Mainz, Geschäftsführer: 
Christian Reichert



From: Wido den Hollander 
Sent: Thursday, December 14, 2023 16:26
To: dev@cloudstack.apache.org; Ronald Feicht
Subject: Re: New Object Storage - Huawei OBS



Op 14/12/2023 om 10:51 schreef Ronald Feicht:
> Hi,
>
> I am trying to write an Object Storage plugin for Huawei OBS using Minio as 
> example. I added my plugin code to the plugins/storage/object/ directory, 
> added my plugin into plugins/pom.xml and added the string 'Huawei OBS' to 
> AddObjectStorage.vue for the dropdown in the UI. But when I select that 
> dropdown entry and click "Save" in the UI the following exception is thrown:

Great to see! I'm working on the Ceph plugin:
https://github.com/wido/cloudstack/commits/ceph-object-store

I will be changing something to the framework where a BucketTO is added
and passed, not just a String containing the bucket's name.

My PR will go out next week or after Christmas I think.

Wido

> com.cloud.exception.InvalidParameterValueException: can't find object store 
> provider: Huawei OBS
>  at 
> com.cloud.storage.StorageManagerImpl.discoverObjectStore(StorageManagerImpl.java:3743)
>  at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>  at 
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
>  at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
>  at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
>  at 
> org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:107)
>  at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
>  at 
> com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:52)
>  at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
>  at 
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
>  at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
>  at 
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
>  at com.sun.proxy.$Proxy119.discoverObjectStore(Unknown Source)
>  at 
> org.apache.cloudstack.api.command.admin.storage.AddObjectStoragePoolCmd.execute(AddObjectStoragePoolCmd.java:117)
>  at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:172)
>  at com.cloud.api.ApiServer.queueCommand(ApiServer.java:782)
>  at com.cloud.api.ApiServer.handleRequest(ApiServer.java:603)
>  at 
> com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:347)
>  at com.cloud.api.ApiServlet$1.run(ApiServlet.java:154)
>  at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
>  at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
>  at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
>  at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:151)
>  at com.cloud.api.ApiServlet.doGet(ApiServlet.java:105)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>  at 
> org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1386)
>  at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
>  at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
>  at 
> org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
>  at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)