OpenStack Compute
OpenStack Compute resources represent Nova servers, backed up and restored
through the openstack-instance protocol of the OpenStack integration. A backup
holds the server’s flavor and networks, its root disk, and every Cinder volume
attached to it. A restore recreates the disks as new Cinder volumes, so the
original disks are never modified.
Inventory Management
Managed inventories can discover Nova servers automatically once the OpenStack inventory is connected to a project. OpenStack Compute resources are only discovered by the OpenStack inventory and cannot be set up by a self-managed inventory.
Backup and restore
A backup snapshots the root disk and each attached volume, and copies them through Glance without stopping the server. The disks are captured one after another rather than at the same instant, so they can reflect slightly different points in time. Every disk must fit within the Glance image size limit of the cloud. The limit is 1 TiB by default but it can be raised by the operator of the cloud.
Servers that boot from a volume are not supported. Their root disk is a Cinder volume rather than a Nova disk, and the backup refuses them.
A restore onto an existing server creates a new Cinder volume for every backed-up disk, including the root disk, and attaches them to that server. No server is created, and the disks already attached to the server are left as they are.
Restoring onto an existing server is currently the only restore mode available in Plakar Control Plane. This is a limitation of the Plakar Control Plane interface only, and support for creating a new server is planned for an upcoming release. The OpenStack integration itself can already create a new server from a backup, with the flavor, networks and security groups of the backed-up server, and reattach each restored volume to it. Until the interface supports it, this restore mode is available through the community integration.
Backup flow
flowchart TD
subgraph OpenStack["OpenStack Project"]
Server["Nova server"]
Volumes["Attached Cinder volumes"]
Images["Glance images"]
end
subgraph Plakar["Plakar Control Plane"]
Source["OpenStack Compute
Source app"]
Backup["Backup process
Encrypt & deduplicate"]
end
Store["Kloset Store"]
Source -->|"uses OpenStack APIs"| Server
Server --> Volumes
Server -->|"root disk snapshot"| Images
Volumes -->|"volume snapshots"| Images
Images -->|"read disks"| Backup
Backup --> Store
Restore flow
flowchart TD
Store["Kloset Store"]
subgraph Plakar["Plakar Control Plane"]
Destination["OpenStack Compute
Destination app"]
Restore["Restore process"]
end
subgraph OpenStack["OpenStack Project"]
Images["Temporary Glance images"]
Volumes["New Cinder volumes"]
Server["Existing Nova server"]
end
Store --> Restore
Destination --> Restore
Restore -->|"upload disks"| Images
Images -->|"create volume
from each disk"| Volumes
Volumes -->|"attach"| Server
Shared configuration
The following settings are available when configuring both source and destination apps.
- Openstack Auth Url: Required. The Keystone v3 endpoint, for example
https://keystone.example.com:5000/v3. - Openstack Region: Required. A single region. For a source app, the region the server runs in. For a destination app, the region the server is restored to.
- Openstack Application Credential Id and Openstack Application Credential Secret: The application credential to authenticate with. Both are required together, and they take precedence over a username and password.
- Openstack Username and Openstack Password: The credentials of an OpenStack user, used when no application credential is set.
- Openstack Project Id: The project to authenticate to with a username and password. Takes precedence over the project name.
- Openstack Project Name: The project to authenticate to when no project ID is set.
- Openstack Domain Name: The domain of the user, and of the project when it
is given by name. Defaults to
Default.
Permissions
Backing up and restoring servers creates and deletes snapshots, images and
volumes in the project, so the credentials need the reader and member roles
on it. See
Managing Users and Application Credentials
for how to create a user and an application credential with those roles.
Role names depend on how the OpenStack cloud is configured. The reader and
member roles are default Keystone roles, but some providers define their own.
Consult the documentation of the provider for the equivalent roles.