Red Hat Enterprise Virtualization 3.5

Technical Guide

Technical Concepts and Developer Tools for Red Hat Enterprise Virtualization

Red Hat Enterprise Virtualization Documentation Team

Red Hat Customer Content Services

Abstract

A comprehensive guide to the underlying technical concepts behind and developer tools available in Red Hat Enterprise Virtualization.
I. Technical Reference
1. Introduction
1.1. Red Hat Enterprise Virtualization Manager
1.2. Red Hat Virtualization Hypervisor
1.3. Features Requiring a Compatibility Upgrade to Red Hat Enterprise Virtualization 3.5
1.4. Interfaces for Accessing the Manager
1.5. Components that Support the Manager
1.6. Storage
1.7. Network
1.8. Data Centers
2. Storage
2.1. Storage Domains Overview
2.2. Types of Storage Backing Storage Domains
2.3. Storage Domain Types
2.4. Storage Formats for Virtual Machine Disk Images
2.5. Virtual Machine Disk Image Storage Allocation Policies
2.6. Settings to Wipe Virtual Disks After Deletion
2.7. Storage Domain Autorecovery in Red Hat Enterprise Virtualization
2.8. The Storage Pool Manager
2.9. Storage Pool Manager Selection Process
2.10. Exclusive Resources and Sanlock in Red Hat Enterprise Virtualization
2.11. Thin Provisioning and Storage Over-Commitment
2.12. Logical Volume Extension
3. Network
3.1. Network Architecture
3.2. Introduction: Basic Networking Terms
3.3. Network Interface Controller
3.4. Bridge
3.5. Bonds
3.6. Switch Configuration for Bonding
3.7. Virtual Network Interface Cards
3.8. Virtual LAN (VLAN)
3.9. Cluster Networking
3.10. Logical Networks
3.11. Required Networks, Optional Networks, and Virtual Machine Networks
3.12. Virtual Machine Connectivity
3.13. Port Mirroring
3.14. Host Networking Configurations
3.15. Bridge Configuration
3.16. VLAN Configuration
3.17. Bridge and Bond Configuration
3.18. Multiple Bridge, Multiple VLAN, and NIC Configuration
3.19. Multiple Bridge, Multiple VLAN, and Bond Configuration
4. Power Management
4.1. Introduction to Power Management and Fencing
4.2. Power Management by Proxy in Red Hat Enterprise Virtualization
4.3. Power Management
4.4. Fencing
4.5. Soft-Fencing Hosts
4.6. Using Multiple Power Management Fencing Agents
5. Load Balancing, Scheduling, and Migration
5.1. Load Balancing, Scheduling, and Migration
5.2. Load Balancing Policy
5.3. Load Balancing Policy: VM_Evenly_Distributed
5.4. Load Balancing Policy: Evenly_Distributed
5.5. Load Balancing Policy: Power_Saving
5.6. Load Balancing Policy: None
5.7. Highly Available Virtual Machine Reservation
5.8. Scheduling
5.9. Migration
6. Directory Services
6.1. Directory Services
6.2. Local Authentication: Internal Domain
6.3. Remote Authentication Using GSSAPI
7. Templates and Pools
7.1. Templates and Pools
7.2. Templates
7.3. Pools
8. Virtual Machine Snapshots
8.1. Snapshots
8.2. Live Snapshots in Red Hat Enterprise Virtualization
8.3. Snapshot Creation
8.4. Snapshot Previews
8.5. Snapshot Deletion
9. Hardware Drivers and Devices
9.1. Virtualized Hardware
9.2. Stable Device Addresses in Red Hat Enterprise Virtualization
9.3. Central Processing Unit (CPU)
9.4. System Devices
9.5. Network Devices
9.6. Graphics Devices
9.7. Storage Devices
9.8. Sound Devices
9.9. Serial Driver
9.10. Balloon Driver
10. Minimum Requirements and Technical Limitations
10.1. Minimum Requirements and Supported Limits
10.2. Data Center Limitations
10.3. Cluster Limitations
10.4. Storage Domain Limitations
10.5. Red Hat Enterprise Virtualization Manager Limitations
10.6. Hypervisor Requirements
10.7. Guest Requirements and Support Limits
10.8. SPICE Limitations
10.9. Additional References
II. The Command Line Interface
11. Using the CLI
11.1. Installing the CLI
11.2. TLS/SSL Certification
11.3. .rhevmshellrc Configuration
11.4. Running the CLI
11.5. Interacting with the CLI
11.6. Collections
12. Quick Start Example
12.1. Creating a Basic Virtualization Environment with the CLI
13. Commands
13.1. Connecting to RHEVM
13.2. Resources
13.3. Other Commands
14. Resource Types
14.1. brick
14.2. cdrom
14.3. cluster
14.4. datacenter
14.5. disk
14.6. glustervolume
14.7. group
14.8. host
14.9. network
14.10. nic
14.11. permission
14.12. permit
14.13. quotas
14.14. role
14.15. snapshot
14.16. statistic
14.17. storageconnection
14.18. storagedomain
14.19. tag
14.20. template
14.21. user
14.22. vm
14.23. vmpool
14.24. vnicprofile
15. CLI Queries
15.1. Query Syntax
15.2. Wildcards
III. The REST Application Programming Interface
16. Introduction
16.1. Representational State Transfer
16.2. Red Hat Enterprise Virtualization REST API Prerequisites
17. Authentication and Security
17.1. TLS/SSL Certification
17.2. HTTP Authentication
17.3. Authentication Sessions
18. REST API Quick Start Example
18.1. Example: Access API Entry Point
18.2. Example: List Data Center Collection
18.3. Example: List Host Cluster Collection
18.4. Example: List Logical Networks Collection
18.5. Example: List Host Collection
18.6. Example: List CPU Profiles
18.7. Example: Approve Host
18.8. Example: Create NFS Data Storage
18.9. Example: Create NFS ISO Storage
18.10. Example: Attach Storage Domains to Data Center
18.11. Example: Activate Storage Domains
18.12. Example: Create Virtual Machine
18.13. Example: Create Virtual Machine NIC
18.14. Example: Create Virtual Machine Storage Disk
18.15. Example: Attach ISO Image to Virtual Machine
18.16. Example: Start Virtual Machine
18.17. Example: Check System Events
19. Entry Point
19.1. Product Information
19.2. Link Elements
19.3. Special Object Elements
19.4. Summary Element
19.5. RESTful Service Description Language (RSDL)
19.6. Red Hat Enterprise Virtualization Windows Guest VSS Support
19.7. QEMU Guest Agent Overview
19.8. VSS Transaction Flow
20. Compatibility Level Versions
20.1. Upgrading Compatibility Levels
21. Capabilities
21.1. Version-Dependent Capabilities
21.2. Current Version
21.3. Features
22. Common Features
22.1. Element Property Icons
22.2. Representations
22.3. Collections
22.4. Resources
23. The Backup and Restore API
23.1. Backing Up a Virtual Machine
23.2. Restoring a Virtual Machine
24. Data Centers
24.1. Data Center Elements
24.2. XML Representation of a Data Center
24.3. JSON Representation of a Data Center
24.4. Methods
24.5. Sub-Collections
24.6. Actions
25. Clusters
25.1. Cluster Elements
25.2. Memory Policy Elements
25.3. Scheduling Policy Elements
25.4. XML Representation of a Cluster
25.5. JSON Representation of a Cluster
25.6. Methods
25.7. Sub-Collections
26. Networks
26.1. Network Elements
26.2. XML Representation of a Network Resource
26.3. JSON Representation of a Network Resource
26.4. Methods
26.5. Sub-collections
27. Storage Domains
27.1. Storage Domain Elements
27.2. XML Representation of a Storage Domain
27.3. JSON Representation of a Storage Domain
27.4. Methods
27.5. Storage Types
27.6. Export Storage Domains
27.7. Glance Image Storage Domains
27.8. Sub-Collections
27.9. Actions
28. Storage Connections
28.1. Storage Connection Elements
28.2. XML representation of a Storage Connection Resource
28.3. Methods
29. Hosts
29.1. Host Elements
29.2. XML Representation of a Host
29.3. JSON Representation of a Host
29.4. Power Management Elements
29.5. Memory Management Elements
29.6. Methods
29.7. Sub-Collections
29.8. Actions
30. Virtual Machines
30.1. Virtual Machine Elements
30.2. XML Representation of a Virtual Machine
30.3. XML Representation of Additional OVF Data for a Virtual Machine
30.4. JSON Representation of a Virtual Machine
30.5. Methods
30.6. Sub-Collections
30.7. Actions
31. Floating Disks
31.1. Floating Disk Elements
31.2. XML Representation of a Floating Disk
31.3. Methods
31.4. Sub-Collections
32. Templates
32.1. Virtual Machine Template Elements
32.2. XML Representation of a Virtual Machine Template
32.3. Methods
32.4. Actions
33. Virtual Machine Pools
33.1. Virtual Machine Pool Elements
33.2. XML Representation of a Virtual Machine Pool
33.3. Methods
33.4. Actions
34. Domains
34.1. Domain Elements
34.2. XML Representation of a Domain Resource
34.3. Sub-Collections
35. Groups
35.1. Imported Group Elements
35.2. XML Representation of a Group Resource
35.3. Adding a Group from a Directory Service
36. Roles
36.1. Role Elements
36.2. XML Representation of the Roles Collection
36.3. Methods
36.4. Roles Permits Sub-Collection
37. Users
37.1. User Elements
37.2. XML representation of a User Resource
37.3. Methods
38. Tags
38.1. Tag Elements
38.2. XML Representation of a Tag Resource
38.3. Associating Tags
38.4. Parent Tags
39. Events
39.1. Event Elements
39.2. XML Representation of the Events Collection
39.3. XML Representation of a Virtual Machine Creation Event
39.4. Searching Events
39.5. Paginating Events
IV. The Python Sofware Development Kit
40. Software Development Kit Overview
40.1. Overview
40.2. Prerequisites
40.3. Installing the Python Software Development Kit
41. Python Quick Start Example
41.1. Python Quick Start Introduction
41.2. Example: Accessing the API Entry Point using Python
41.3. Example: Listing the Data Center Collection using Python
41.4. Example: Listing the Cluster Collection using Python
41.5. Example: Listing the Logical Networks Collection using Python
41.6. Example: Listing the Host Collection using Python
41.7. Example: Listing the ISO Files in an ISO Storage Domain
41.8. Example: Listing the Size of a Virtual Machine
41.9. Example: Approving a Host using Python
41.10. Example: Creating NFS Data Storage using Python
41.11. Example: Creating NFS ISO Storage using Python
41.12. Example: Attaching Storage Domains to a Data Center using Python
41.13. Example: Activating Storage Domains using Python
41.14. Example: Creating a Virtual Machine using Python
41.15. Example: Creating a Virtual Machine NIC using Python
41.16. Example: Creating a Virtual Machine Storage Disk using Python
41.17. Example: Attaching an ISO Image to a Virtual Machine using Python
41.18. Example: Detaching a Disk using Python
41.19. Example: Starting a Virtual Machine using Python
41.20. Example: Starting a Virtual Machine with Overridden Parameters using Python
41.21. Example: Starting a Virtual Machine with Cloud-Init using Python
41.22. Example: Checking System Events using Python
42. Using the Software Development Kit
42.1. Connecting to the API using Python
42.2. Resources and Collections
42.3. Retrieving Resources from a Collection
42.4. Retrieving a Specific Resource from a Collection
42.5. Retrieving a List of Resources from a Collection
42.6. Adding a Resource to a Collection
42.7. Updating a Resource in a Collection
42.8. Removing a Resource from a Collection
42.9. Handling Errors
43. Python Reference Documentation
43.1. Python Reference Documentation
V. The Java Software Development Kit
44. Software Development Kit Overview
44.1. Overview
44.2. Installing the Java Software Development Kit
45. Using the Software Development Kit
45.1. Connecting to the Red Hat Enterprise Virtualization Manager
45.2. Listing Entities
45.3. Modifying the Attributes of Resources
45.4. Getting a Resource
45.5. Adding Resources
45.6. Performing Actions on Resources
45.7. Listing Sub-Resources
45.8. Getting Sub-Resources
45.9. Adding Sub-Resources to a Resource
45.10. Modifying Sub-Resources
45.11. Performing Actions on Sub-Resources
45.12. Recommended Practices
45.13. Configuring SSL
A. API Usage with cURL
A.1. API Usage with cURL
A.2. Installing cURL
A.3. Using cURL
A.4. Examples
B. UI Plugins
B.1. Installing the Red Hat Support Plug-in
C. Enumerated Value Translation
C.1. Enumerated Value Translation
D. Event Codes
D.1. Event Codes
E. Timezones
E.1. Timezones
F. Revision History