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
>

Reply via email to