Hi, Curious, I also did some research on the B&R plugin for KVM. You are right about the `restoreBackupVolumeAndAttachToVM()` and the `restoreBackup()` methods that, in the end, are hypervisor-specific. There is a need to implement `attachRestoredVolumeToVirtualMachine()` and `importVirtualMachineFromBackup()` in the KVMGuru.
I'm still not sure if a general implementation could work for B&R plugins that support the KVM hypervisor or if there is a need to be a B&R plugin-specific. My advice is to check when you override the methods in the KVMGuru class if the B&R plugin can support it. Probably to add BackupStrategy here https://github.com/apache/cloudstack/blob/main/engine/storage/src/main/java/org/apache/cloudstack/storage/helper/StorageStrategyFactoryImpl.java Best regards, Slavka On Thu, Jul 7, 2022 at 7:03 AM Harikrishna Patnala < harikrishna.patn...@shapeblue.com> wrote: > Hi Curious, > > Good to know that you could implement what you need. > > Regarding the framework part, you might have already checked this > document, if not please have a look to understand how the Backup and > recovery framework is made. > https://cwiki.apache.org/confluence/display/CLOUDSTACK/Backup+and+Recovery+Framework > > As an example, you can check the implementation for the Veeam backup > plugin https://github.com/apache/cloudstack/tree/main/plugins/backup > > Regarding the specific question about restore method I think it is not > hypervisor specific. If you see this method > https://github.com/shapeblue/cloudstack/blob/c3a1c7862f6b490c4ee78b9796fd6aec0cd9a9ad/plugins/backup/veeam/src/main/java/org/apache/cloudstack/backup/VeeamBackupProvider.java#L213 > > This is implemented for Veeam in VeeamBackupProvider. I assume you also > need to develop a similar plugin and implement methods as per your need. If > it is required to run the commands from either hypervisor, you will have to > implement specific command answer models as I explained in the previous > reply or you can use the SSH way as well. > > Hope this helps. > > Regards, > Harikrishna > > > ________________________________ > From: Curious Pandora <p4nd...@gmail.com> > Sent: Thursday, July 7, 2022 6:03 AM > To: dev@cloudstack.apache.org <dev@cloudstack.apache.org> > Subject: Re: New B&R plugin for EMC Networker > > Hello Harikrishna, > > Thank you for your feedback. We have implemented the communication and > works great. > We are at the restore part now and it seems that there is no > implementation for the B&R Framework for KVM. > The restoreBackupVolumeAndAttachToVM() and restoreBackup() looks like they > are Hypervisor specific. > > For other hypervisors it looks like this is implemented in > HypervisorGuruBase. > > Does this have to be implemented for KVM too ? > > > On Tue, Jul 5, 2022 at 7:27 AM Harikrishna Patnala < > harikrishna.patn...@shapeblue.com> wrote: > > > Hello Curious, > > > > This is interesting and as far as I understand you can go with that > > approach of SSH into the host and run the scripts that are required. > > > > For better control from the CloudStack management server, you can also > try > > Command-Answer model to send a command to CloudStack agent in KVM host > and > > get the required job done on the host. > > > > For example, you may refer to the implementation of > > "UpdateHostPasswordCommand< > > > https://github.com/shapeblue/cloudstack/blob/523805c8bc63e5d5f2b8634e46db9bb9ec6214ad/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java#L2878 > >" > > class which updates the host password using a script. Following are the > > abstract steps that are done during the process. > > > > 1. API implementation "updateHostPassword< > > > https://github.com/shapeblue/cloudstack/blob/893a88d225276e45f12f9490e6af2c94a81c2965/api/src/main/java/org/apache/cloudstack/api/command/admin/host/UpdateHostPasswordCmd.java#L30 > > >" > > 2. Prepare "UpdateHostPasswordCommand< > > > https://github.com/shapeblue/cloudstack/blob/523805c8bc63e5d5f2b8634e46db9bb9ec6214ad/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java#L2878 > >" > > and send it to corresponding host > > 3. Implement a resource wrapper > > "LibvirtUpdateHostPasswordCommandWrapper< > > > https://github.com/shapeblue/cloudstack/blob/893a88d225276e45f12f9490e6af2c94a81c2965/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtUpdateHostPasswordCommandWrapper.java#L29 > >" > > and run the specific script here. > > > > You may follow a similar procedure like above or you can directly use the > > SSH model as you mentioned. > > > > Hope this helps, let us know if you need something else. > > > > Regards, > > Harikrishna > > ________________________________ > > From: Curious Pandora <p4nd...@gmail.com> > > Sent: Monday, July 4, 2022 6:17 PM > > To: dev@cloudstack.apache.org <dev@cloudstack.apache.org> > > Subject: Re: New B&R plugin for EMC Networker > > > > We are a cloud provider using cloudstack for our IaaS services. > > > > > > > > > > > > > On Mon, Jul 4, 2022 at 3:21 PM Sven Vogel <s.vo...@ewerk.com> wrote: > > > > > Hi p4nd0ra - the curious, > > > > > > who is deleloping the plugin? > > > > > > Cheers > > > > > > Sven > > > > > > > > > > > > __ > > > > > > Sven Vogel > > > Senior Manager Research and Development - Cloud and Infrastructure > > > > > > EWERK DIGITAL GmbH > > > Br?hl 24, D-04109 Leipzig > > > P +49 341 42649 - 99 > > > F +49 341 42649 - 98 > > > s.vo...@ewerk.com > > > www.ewerk.com<http://www.ewerk.com> > > > > > > Gesch?ftsf?hrer: > > > Dr. Erik Wende, Markus B?ttcher, Marcus Leeb > > > Registergericht: Leipzig HRB 9065 > > > > > > Support: > > > +49 341 42649 555 > > > > > > Zertifiziert nach: > > > ISO/IEC 27001:2013 > > > DIN EN ISO 9001:2015 > > > DIN ISO/IEC 20000-1:2018 > > > > > > ISAE 3402 Typ II Assessed > > > > > > EWERK-Blog<https://blog.ewerk.com/> | LinkedIn< > > > https://www.linkedin.com/company/ewerk-group> | Xing< > > > https://www.xing.com/company/ewerk> | Twitter< > > > https://twitter.com/EWERK_Group> | Facebook< > > > https://de-de.facebook.com/EWERK.Group/> > > > > > > > > > Ausk?nfte und Angebote per Mail sind freibleibend und unverbindlich. > > > > > > Disclaimer Privacy: > > > Der Inhalt dieser E-Mail (einschlie?lich etwaiger beigef?gter Dateien) > > ist > > > vertraulich und nur f?r den Empf?nger bestimmt. Sollten Sie nicht der > > > bestimmungsgem??e Empf?nger sein, ist Ihnen jegliche Offenlegung, > > > Vervielf?ltigung, Weitergabe oder Nutzung des Inhalts untersagt. Bitte > > > informieren Sie in diesem Fall unverz?glich den Absender und l?schen > Sie > > > die E-Mail (einschlie?lich etwaiger beigef?gter Dateien) von Ihrem > > System. > > > Vielen Dank. > > > > > > The contents of this e-mail (including any attachments) are > confidential > > > and may be legally privileged. If you are not the intended recipient of > > > this e-mail, any disclosure, copying, distribution or use of its > contents > > > is strictly prohibited, and you should please notify the sender > > immediately > > > and then delete it (including any attachments) from your system. Thank > > you. > > > Von: Curious Pandora <p4nd...@gmail.com> > > > Datum: Montag, 4. Juli 2022 um 14:11 > > > An: dev@cloudstack.apache.org <dev@cloudstack.apache.org> > > > Betreff: New B&R plugin for EMC Networker > > > Hello all, > > > > > > We are developing a new plugin for supporting KVM backups for DELL/EMC > > > Networker. > > > > > > Unfortunately there is no straight way to do it (it's the same for > almost > > > all backup softwares out there) and we will need to access the > hypervisor > > > hosts directly and execute some custom scripts. > > > > > > As you understand this raises a series of design, implementation and > > > operation decisions and issues and we think it's better if we ask for > the > > > advise of the community. > > > > > > For starters, the implementation of SLA based backups is not feasible > due > > > to Networker design and concepts. > > > > > > It is most likely feasible to utilize ad-hoc and scheduled backups > > > (provided that are initiated by cloudstack). > > > > > > We wonder if we can utilize the ssh functionality from the management > > host > > > to the hypervisors (that is used for example to restart ssh-agent if > > > kvm.ssh.to.agent is enabled to execute a centralized script in bash > that > > > will be included in the cloudstack-agent. > > > > > > Is this approach acceptable ? > > > > > > Kind regards, > > > > > > > > > > > > -- > > > p4nd0ra - the curious > > > > > > > > > -- > > p4nd0ra - the curious > > > > > -- > p4nd0ra - the curious >