Overview
Cloud synchronization enables:- Automatic asset updates - Keep cloud hosts, flavors, and images in sync
- Event-driven sync - Near real-time updates via cloud event streams
- Multiple providers - Support for OpenStack, AWS, and custom providers
- HTTP endpoint - Generic integration point for any cloud platform
How Cloud Sync Works
Ralph provides an HTTP endpoint that consumes messages from cloud platforms. When events occur in the cloud (VM created, deleted, resized), the cloud provider sends notifications to Ralph, which automatically updates the corresponding assets.Sync Architecture
Configuring Cloud Providers
Identify Provider Boundaries
Determine which cloud providers contain isolated sets of assets and provide isolated event streams.Each isolated environment needs its own Cloud Provider configuration.
Configuration Options
Basic Settings
Name- Descriptive name for the cloud provider
- Example: “Production OpenStack”, “AWS US-East-1”
- Check to enable synchronization
- When enabled, Ralph generates an HTTP endpoint for receiving events
- Uncheck to temporarily disable sync without deleting configuration
Synchronization Driver
Cloud Sync Driver- Specifies which driver Ralph uses to process cloud events
- Required when synchronization is enabled
- Must match your cloud platform type
Client Configuration
Client Configuration- JSON object containing credentials and connection details
- Used by the sync driver to communicate with the cloud API
- Format depends on the selected driver
Available Drivers
Ralph provides these built-in drivers:noop Driver
A no-operation driver for testing:- Receives events but doesn’t process them
- Useful for testing event delivery
- No configuration required
OpenStack Ocata Driver
Synchronizes with OpenStack Ocata:version- OpenStack API version (typically “3.0”)auth_url- Keystone authentication endpointusername- OpenStack admin usernamepassword- OpenStack admin passwordtenant_name- Default tenant/project name
Setting Up OpenStack Sync
Configure Cloud Provider
Create a cloud provider in Ralph with:
- Name: Your OpenStack cluster name
- Driver:
openstack.ocata - Client config: OpenStack credentials (see above)
Note the Endpoint URL
After saving, Ralph displays the HTTP endpoint URL.Format:
https://ralph.example.com/cloud-sync/provider/<id>/Configure Event Notifications
In OpenStack, configure event notifications to send to Ralph’s endpoint.This typically involves:
- Enabling notifications in Nova, Neutron, etc.
- Configuring message queue routing
- Setting up a webhook or adapter
Synchronized Objects
Cloud sync maintains these object types:Cloud Hosts
Virtual machine instances:- Hostname
- IP addresses
- Flavor (instance type)
- Image
- Status (running, stopped, etc.)
- Hypervisor assignment
Cloud Flavors
Instance types/sizes:- Name
- CPU cores
- Memory
- Disk size
- Resource quotas
Cloud Images
OS images and templates:- Name
- Image ID
- Operating system
- Architecture
Event Handling
The sync system processes these event types: Create Events- New cloud hosts
- New flavors
- New images
- Instance resize/flavor change
- Status changes (start, stop, pause)
- IP address changes
- Hostname updates
- Instance termination
- Image deletion
- Flavor removal
API Access
Access synchronized cloud assets via API:Monitoring Synchronization
Check Sync Status
- Go to Cloud → Cloud hosts
- Verify recent VMs appear
- Check that details match cloud provider
Troubleshooting Sync Issues
Check Credentials
Verify client configuration credentials are correct:
- Test OpenStack login manually
- Check API endpoint accessibility
- Verify permissions
Review Logs
Check Ralph logs for sync errors:
- Authentication failures
- Network timeouts
- Parsing errors
Security Considerations
Advanced Configuration
Custom Sync Drivers
For unsupported cloud platforms, you can:- Create a custom sync driver in Ralph
- Implement the event processing logic
- Register the driver
- Configure client connection details
Multiple Regions
For multi-region cloud deployments:- Create separate cloud provider for each region
- Use distinct names (e.g., “AWS US-East”, “AWS EU-West”)
- Configure each with region-specific credentials
- Events route to the correct Ralph provider
Tips and Best Practices
Troubleshooting
VMs not appearing in Ralph
VMs not appearing in Ralph
- Verify cloud sync is enabled on the provider
- Check that events are being sent from cloud platform
- Review Ralph logs for errors
- Test endpoint accessibility
- Verify credentials in client configuration
Authentication errors
Authentication errors
- Double-check username and password
- Verify auth_url is correct and accessible
- Ensure user has required permissions in OpenStack
- Check tenant_name is valid
Outdated information
Outdated information
- Cloud sync is event-driven; manual changes in Ralph may be overwritten
- Check that all event types are configured in cloud platform
- Verify event delivery isn’t delayed or failing
Related Documentation
- DCIM - Physical infrastructure management
- External: OpenStack API Documentation