Backup and Recovery
Backup and Recovery 7.1
Backup and Recovery 7.1
  • Storware Backup & Recovery documentation
    • Table of Contents
  • Changelog
  • Overview
    • Main Features
    • Storware Backup and Recovery concepts
      • Support Matrix
      • Architecture
      • Components
      • Backup types
      • Typical Scenarios
    • Licensing
    • Product Life Cycle
  • Deployment
    • Component requirements
    • Supported platforms requirements
    • Sizing Guide
      • Small
      • Medium
      • Large
    • Installation
      • ISO-based installation
      • Quick Installation using all-in-one script
      • Installation using Ansible playbook
      • Installation with RPMs
      • Deployment in Microsoft Azure
      • Virtual Appliance
        • RHV/oVirt/OLVM Virtual Appliance
        • Citrix Hypervisor | XCP-ng Virtual Appliance
        • VMware Virtual Appliance
        • Nutanix Acropolis Hypervisor (AHV)
    • Initial Configuration
    • Backup Destinations
      • File System
        • Synthetic File System
          • XFS
          • DD Boost
        • isoLayer (Synthetic)
        • File system
          • Virtual Data Optimizer (VDO)
        • Catalogic Software vStor
      • Deduplication Appliances
        • Dell EMC Data Domain
        • Huawei OceanProtect
        • HPE StoreOnce
        • Exagrid
        • Neverfail HybriStor
      • Object Storage
        • Alibaba Cloud OSS
        • AWS S3 or S3-compatible
        • Ceph Rados Gateway
        • Cloudian S3
        • Wasabi
        • Google Cloud Storage
        • IBM Cloud Object Storage
        • Microsoft Azure Blob Storage
        • Nutanix Objects
        • OpenStack SWIFT
        • Oracle Cloud Infrastructure Object Storage
        • Scality RING
      • Enterprise Backup Providers
        • Dell EMC Avamar
        • Dell EMC Networker
        • IBM Spectrum Protect
        • Micro Focus Data Protector
        • Veritas NetBackup
        • Rubrik Managed Volumes
      • Tape Pools
    • High Availability
      • 2 Node Cluster
      • 3 Node Cluster
    • Common tasks
      • Staging space configuration
      • Enabling HTTPS connectivity for nodes
      • LVM setup on Storware Backup & Recovery Node for disk attachment backup mode
      • Full versions of libvirt/qemu packages installation
      • SSH public key authentication
      • Enabling HTTP(S) Proxy for Storware Backup & Recovery
  • Protecting Virtual Environments
    • Virtual Machines
      • VMware vSphere/ESXi
      • Microsoft Hyper-V
      • Azure Stack HCI
      • Nutanix Acropolis Hypervisor (AHV)
      • Red Hat Openshift Virtualization
      • Red Hat Virtualization
      • oVirt
      • Oracle Linux Virtualization Manager
      • Oracle VM
      • Proxmox VE
      • KVM/Xen
      • OpenStack
      • OpenNebula
      • Virtuozzo
      • Verge
      • Citrix Hypervisor (XenServer)
      • XCP-ng
      • Huawei FusionCompute
      • HPE SimpliVity
      • SC//Platform
    • Cloud
      • Amazon EC2
      • GCP GCE
      • Azure Cloud
    • Containers
      • Kubernetes
      • Red Hat OpenShift
      • Proxmox VE
    • Backup & Restore
    • v2v migration
  • Protecting Microsoft 365
    • Microsoft 365 organization management
      • Configure Microsoft 365 access
      • Add Microsoft 365 organization manually
      • Add Microsoft 365 organization using the Setup Assistant
      • Account auto-synchronization
    • Backup & Restore
    • Suppoted Sharepoint templates, and limitations
  • File Level Backup and Restore - OS Agent
  • Protecting Applications
    • Applications
      • MSSQL
      • MySQL/MariaDB
      • PostgreSQL
      • DB2
      • Oracle
      • Relax and Recover - ReaR
      • Git
      • oVirt/RHV/OLVM
      • Kubernetes/OpenShift etcd
    • Backup & Restore
  • Protecting Storage Providers
    • Storage Providers
      • Ceph RBD
      • Nutanix Files
      • Nutanix Volume Groups
    • Backup & Restore
  • Administration
    • Dashboard
    • Virtual Environments
      • Instances
        • Backup on-demand
        • Restore on-demand
        • Snapshot Management
      • Virtualization Providers
      • Backup SLAs
        • Policies
        • Schedules
      • Snapshot SLAs
        • Policies
        • Schedules
      • Recovery Plans
        • Policies
        • Schedules
      • Mounted Backups (File-level Restore)
    • Storage
      • Instances
        • Backup on-demand
        • Restore on-demand
      • Infrastructure
      • Backup SLAs
        • Policies
        • Schedules
      • Snapshot SLAs
        • Policies
        • Schedules
      • Mounted Backups (File-level Restore)
    • Cloud
      • Instances
      • Service Providers
      • Backup SLAs
        • Policies
        • Schedules
      • Download
    • Applications
      • Instances
      • Execution Configurations
      • Backup SLAs
    • Endpoints
      • Environment
      • Administrators
      • Endpoints Server Management
        • Dashboard
        • Packages
        • Organizations
      • Endpoints Administrator
        • Dashboard
        • Users
          • Local users
          • LDAP users
        • Devices
          • Devices list view
          • Device status
        • Backup SLA
          • Create a Backup SLA
            • GENERAL
            • WINDOWS
            • MAC OS (technical preview)
            • EMAIL CLIENTS
          • Backup SLA management
          • Backup SLA removal
        • Restore Jobs
        • Client Deployments
    • Reporting
      • Virtual Environments
      • Storage
      • Microsoft 365
      • Applications
      • Notifications
      • Audit Log
    • Nodes
      • Instances
      • Node Configurations
    • Access Management
      • Users
      • Groups
      • Roles
      • OS Credentials
    • Settings
      • Global Settings
      • Internal DB Backup
      • Notification Rules
      • Mailing Lists
      • Endpoints Global Settings
    • Upgrade
    • CLI Reference
    • CLI v2 Reference
  • Integration
  • Integration Plugins
    • Red Hat Virtualization UI Plugin
    • oVirt UI Plugin
    • Oracle Linux Virtualization Manager UI Plugin
    • OpenStack UI Plugin
  • Troubleshooting
    • Enable DEBUG mode in Storware Backup and Recovery
    • Collecting logs
    • External log targets
    • Disaster Recovery
  • Known software issues and limitations
  • Glossary
Powered by GitBook
On this page
  • Overview
  • Virtual Environments
  • Task Console
  • Settings
  • OpenStack general integration setup
  • Integrate Storware Backup & Recovery dashboard plugin to OpenStack (LXC)
  • Installing Horizon Plugin in a Juju Deployment
  1. Integration Plugins

OpenStack UI Plugin

PreviousOracle Linux Virtualization Manager UI PluginNextTroubleshooting

Overview

Integration with the Openstack interface is our second plugin alongside the oVirt/RHV virtualization family. Thanks to it, you can perform most of the basic operations without logging into the Storware Backup & Recovery dashboard.

After installation (which is described at the end of this article) you will see a new tab "Backup & Recovery" in the OpenStack menu. This consists of several sub-tabs that allow you to perform basic actions such as backup, restore or create a new schedule.

Dashboard

Divided into a few sections, it makes it possible to view and set the most vital options related to management, monitoring, and reporting.

Reporting

Reporting allow users to view statistics, especially for backup and restore tasks. They also provide the possibility to view what has happened lately in the Storware Backup & Recovery environment.

Virtual Environments

Instances

This tab shows all inventoried instances in your OpenStack environment.

Besides, you can also perform basic backup operations.

Backup SLAs

Our plugin also allows you to create or manage backup policies

and schedules.

Mounted Backups

Finally, you can also browse your mounted backups from the OpenStack dashboard. You only need to enter the backup details using the menu on the right.

From here we can see the basic information about the backup and start browsing the files using the "Browse" button on the right.

Just select a folder or file and then click on the "download selected" button to have the files on your computer.

Task Console

Basic information about current tasks performed by Storware Backup & Recovery.

Settings

Mailing

It allows you to create a mailing list that can be used for sending group report e-mails.

OpenStack general integration setup

Example: python install.py http://localhost:8080/api admin vprotect.

Note: you need to restart your Horizon HTTP server after this

The above-mentioned script will copy the plug-in files to the following folders:

  • /usr/share/openstack-dashboard/openstack_dashboard/dashboards/vprotect - plugin files

  • /usr/share/openstack-dashboard/openstack_dashboard/enabled - file to enable the plugin

In order to uninstall it, remove the vprotect subfolder and enabled/_50_vprotect.py file and restart your Horizon HTTP server.

Integrate Storware Backup & Recovery dashboard plugin to OpenStack (LXC)

Requirements:

  • git, python3-yaml packages

  • internet connection

  1. Check the name of the horizon container:

    lxc-ls -f | grep horizon
    
    example:
    
    [root@aio1 ~]# lxc-ls -f | grep horizon  aio1_horizon_container-b2daccaa RUNNING 1 onboot, openstack 10.255.255.213, 172.29.239.229 - false
  2. Enter horizon container:

    [root@aio1 ~]# lxc-attach aio1_horizon_container-b2daccaa
  3. Install requirements packages:

    root@aio1-horizon-container-b2daccaa:~# apt install python3-yaml git -y
  4. Clone from github installations files:

    root@aio1-horizon-container-b2daccaa:~# git clone https://github.com/Storware/openstack-horizon-ui-vprotect-extensions
  5. Change owner of the plugin directory to horizon:horizon

    root@aio1-horizon-container-b2daccaa:~# chown -R horizon:horizon openstack-horizon-ui-vprotect-extensions
  6. Enter plugin directory:

    root@aio1-horizon-container-b2daccaa:~# cd openstack-horizon-ui-vprotect-extensions
  7. Optionally you can ping Storware Backup & Recovery server by ping

    root@aio1-horizon-container-b2daccaa:~# ping storware-server-IP-ADDRESS
  8. Next, install the plugin

    root@aio1-horizon-container-b2daccaa:~# python3 install.py http://storware-ip:8080/api admin_user admin_password

    When the installation process is completed, plugin files should be placed in /usr/share/openstack-dashboard/openstack_dashboard directory. If your path to the dashboard directory is different, create symbolic links from plugin install directories to non-standard directories.

    Example:

    root@aio1-horizon-container-b2daccaa:~# ln -s /usr/share/openstack-dashboard/openstack_dashboard/dashboards/vprotect /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/openstack_dashboard/dashboards/
    
    root@aio1-horizon-container-b2daccaa:~#  ln -s /usr/share/openstack-dashboard/static/vprotect /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/static/
    
    root@aio1-horizon-container-b2daccaa:~#  ln -s /usr/share/openstack-dashboard/openstack_dashboard/enabled/_50_vprotect.py /openstack/venvs/horizon-23.1.0.dev42/lib/python3.8/dist-packages/openstack_dashboard/enabled/
  9. Edit /etc/apache2/sites-available/openstack-dashboard.conf file:

    • Add alias for static files

    Alias /dashboard/static /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/static/
    • Directory tag informs you, where dashboards directories should be placed.

    • Second Directory tag informs where static directory from plugin should be placed.

    Example: configuration file should look like this:

    # Ansible managed
    
    # If horizon is being served via SSL from this web server,
    # then we must redirect HTTP requests to HTTPS.
    
    # If horizon is being served via SSL via a load balancer, we
    # need to listen via HTTP on this web server. If SSL is not
    # enabled, then the same applies.
    <VirtualHost 172.29.239.229:80>
    ServerName aio1-horizon-container-b2daccaa.openstack.local
    LogLevel info
    ErrorLog syslog:daemon
    CustomLog "|/usr/bin/env logger -p [daemon.info](http://daemon.info/) -t apache2" "%h %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
    Options +FollowSymLinks
    RequestHeader set X-Forwarded-Proto "https"
    
    WSGIScriptAlias / /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/openstack_dashboard/wsgi.py
    WSGIDaemonProcess horizon user=horizon group=horizon processes=1 threads=1 python-path=/openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/site-packages
    
    WSGIProcessGroup horizon
    WSGIApplicationGroup %{GLOBAL}
    
    <Directory /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/openstack_dashboard>
    <Files wsgi.py >
    <IfVersion < 2.4>
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.4>
    Require all granted
    </IfVersion>
    </Files>
    </Directory>
    
    Alias /static /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/static/
    Alias /dashboard/static /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/static/
    
    <Directory /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/static/>
    Options -FollowSymlinks
    <IfVersion < 2.4>
    AllowOverride None
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.4>
    Require all granted
    </IfVersion>
    </Directory>
    </VirtualHost>
    Edit /openstack/venvs/horizon-23.1.0.dev65/lib/python3.8/dist-packages/openstack_dashboard/urls.py and add in urlPatterns following line
    url(r'^dashboard/', horizon.base._wrapped_include(horizon.urls))
    Your urls.py should looks like:
    """
    URL patterns for the OpenStack Dashboard.
    """
    
    from django.conf import settings
    from django.conf.urls import include
    from django.conf.urls.static import static
    from django.conf.urls import url
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    from django.views import defaults
    
    import horizon
    import horizon.base
    from horizon.browsers import views as browsers_views
    from horizon.decorators import require_auth
    
    from openstack_dashboard.api import rest
    from openstack_dashboard import views
    
    urlpatterns = [
    url(r'^$', views.splash, name='splash'),
    url(r'^api/', include(rest.urls)),
    url(r'^header/', views.ExtensibleHeaderView.as_view()),
    url(r'', horizon.base._wrapped_include(horizon.urls)),
    **url(r'^dashboard/', horizon.base._wrapped_include(horizon.urls)),**
    ]
    
    # add URL for ngdetails
  10. Restart httpd service

    /etc/init.d/apache2 restart
  11. After refreshing the dashboard site, you should see Storware Backup & Recovery tab in the Openstack menu.

Installing Horizon Plugin in a Juju Deployment

This guide provides detailed instructions for installing the Horizon plugin in a Juju-deployed OpenStack environment.

Prerequisites

Before you begin, make sure you have the following:

  • Access to the Juju controller and the model where the OpenStack services are deployed.

  • The IP address of the Storware Backup & Recovery server

Installation

  1. SSH into the leader unit of the openstack-dashboard application:

    juju ssh openstack-dashboard/leader
  2. Clone the Horizon plugin repository from GitHub:

    git clone https://github.com/Storware/openstack-horizon-ui-vprotect-extensions
  3. Change into the cloned directory:

    cd openstack-horizon-ui-vprotect-extensions
  4. Install the required Python packages using pip:

    pip3 install -r requirements.txt
  5. Run the plugin installer script with the following command:

    python3 install.py http://SBR_SERVER_IP:8080/api admin vPr0tect
    • Replace http://SBR_SERVER_IP:8080 with the actual address of your Storware Backup & Recovery server.

    • admin is the username.

    • vPr0tect is the password.

  6. Navigate to the static files directory of the OpenStack Dashboard:

    cd /usr/share/openstack-dashboard/openstack_dashboard/static/
  7. Create a symbolic link to the Storware Backup & Recovery static files:

    ln -s /var/lib/openstack-dashboard/static/vprotect/ vprotect
  8. Check if the following aliases are present in the Apache configuration file:

    nano /etc/apache2/conf-enabled/openstack-dashboard.conf

    Ensure the file contains the following aliases:

    Alias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/dashboards
    Alias /dashboard/static /var/lib/openstack-dashboard/static/
    Alias /static /var/lib/openstack-dashboard/static/
    Alias /horizon/static /var/lib/openstack-dashboard/static/
  9. Edit the default Apache site configuration to add a rewrite rule:

    vi /etc/apache2/sites-available/000-default.conf

    Add the following lines under DocumentRoot /var/www:

    RewriteEngine on
    RewriteRule ^/dashboard/vprotect/(.*)$ http://%{HTTP_HOST}/horizon/vprotect/$1 [R=301,L]
**Note:** This rewrite rule may need adjustment based on your HAProxy/ReverseProxy setup.
  1. Edit the urls.py file to include a specific path:

    vi /usr/lib/python3/dist-packages/openstack_dashboard/urls.py
  2. Add the following line to the urlpatterns section:

    re_path(r'^horizon/', horizon.base._wrapped_include(horizon.urls)),
  3. Restart the Apache service to apply the changes:

    sudo service apache2 restart

The Horizon plugin should now be installed and configured in your Juju-deployed OpenStack environment. Verify that the plugin appears in the OpenStack Dashboard and is functioning correctly.

You can find minimum requirements for OpenStack UI Plugin in

You can find the add-on in the . Extract the provided archive onto your Horizon host and execute python install.py STORWARE_API_URL USER PASSWORD

GitHub repository
Support Matrix