Enterprise Integration
ConVirt has an exhaustive setup of CLI as well as XML-RPC based APIs which can be used via python. Most of the common operations available via ConVirt UI are also available via CLI for use in automation.
Preparing ConVirt CLI package To use the command line interface, use the make-cli command to generate the cli tarball.
For example,
cd ~/convirt-enterprise ./make-cli
This will generate a convirt-cli.tar.gz tarball containing files required by the CLI. This now can be deployed on any machine on the network that can access the CMS via http.
Setting up ConVirt CLI
On the machine you want to do setup:
mkdir cli copy the tarball generated in the previous step. tar -xzf convirt-cli.tar.gz
Now create a file required by convirt-cli that would contain the information to connect to CMS.
Using your favorite editor create convirt-cli.conf containing following information pertaining to your environment. For example, /home/automation/convirt-cli.conf file.
cms_url=http://192.168.1.100:8091 cms_username=Joe cms_password=r0cks
Make sure that the file is only readable by owner
chmod go-rwx convirt-cli.conf
Using convirt-cli
To use the CLI from the shell, setup the following environment variables.
export auth_type='FILE' export cms_config_filename=/home/automation/convirt-cli.conf ./convirt-cli list_server_pools
To see list of operations available,
./convirt-cli
To see syntax about particular operation,
./convirt-cli --help migrate_vm Usage for migrate_vm (1) Short options: migrate_vm -v <vm_name> -n <node_name> -N <dest_node_name> -w<waittime> (2) Long options : migrate_vm --vm_name <vm_name> --node <src_node_name> --destnode_name <dest_node_name> --wait <waittime>
API documentation
The ConVirt API allows you to invoke most features of ConVirt using programmatic API. For more details refer to Media:convirt-api.doc
ConVirt CLI Documentation
Usage: convirt-cli operation parameters convirt cli --help operation
CLI Setup Details: For CLI to work, the following information is required. * CMS url * CMS username * CMS pasword
You can provide this information via environment variables, from a file or command line.
For using environment variables : export auth_type='ENV' export the cms_url,cms_username and cms_password...
For using a file : export auth_type='FILE' and cms_config_filename='path to config file.' The file content should have ... cms_url= cms_username= cms_password=
For using commandline: export auth_type='STDIN' and give username,password and url when prompted for.
To login as LDAP user , you need to provide the ldap_user parameter in addition to url,username and password. set ldap_user to True/False as required.
Data Center operations: list_server_pools Lists all Server Pools add_server_pool Adds a Server Pool
Server Pool operations: remove_server_pool Removes a Server Pool list_servers Lists all Managed Servers add_server Adds a server
Server operations: connect_server Connect to the Server edit_server Edits Server details remove_server Removes a Server kill_all_vms Kill all vms start_all_vms Start all vms shutdown_all_vms Shutdown all vms list_vms Listing Virtual Machines transfer_node Transfering a node provision_vm Creates a vm import_vm Imports a vmconfig to a Server change_server_password Changes Server password
Virtual Machine operations: remove_vm Deletes a vm migrate_vm Migrates a vm start_vm Starts a vm pause_vm Pauses a vm resume_vm Resumes a paused vm shutdown_vm Shuts a vm down kill_vm Kills a vm edit_vm_settings Edit the memory and cpu of virtual machine snapshot_vm Snapshots a virtual machine
Template Library operations: add_template_group Adds a Template Group list_template_groups Lists Template Groups scan_for_templates Scan for new Templates in default template store location or given directory create_template Creates a new Template from disk reference
Templategroup operations: remove_template_group Removes a Template Group rename_template_group Renames Template Group list_templates Lists all Templates
Template operations: remove_template Removes a Template rename_template Renames a Template clone_template Creates a Similar Template
Task: task_status Returns details of a Task cancel_task Cancels a running task cancel_backup Cancels a running backup policy Metrics operations: datacenter_summary_info Summary for Data Center serverpool_summary_info Summary for Server Pool server_summary_info Summary information for Server vm_summary_info Summary infromation for Virtual Machine server_metric_info Metric information for server vm_metric_info Metric information for virtual Machine
get_vm_metrics The cpu /Memory Usage for Virtual Machine
get_server_metrics The cpu /Memory Usage for Virtual Machine
User Permissions: list_user_operations Lists permitted Operations for the Entity has_permission Checks the user's Privilege
User Model: list_users Listing Users user_info User Information add_user Adds a User remove_user Deletes a Usergroup change_password Change Password
list_groups List of Groups group_info Group Information add_group Adds a Usergroup remove_group Deletes a Group add_group_user Adds a User to Group remove_group_user Delete a User from Group assign_role Assign a Role to Group
list_roles The list of Roles add_role Adds a Role remove_role Deletes a Role assign_entity_privilege Assign a Privilege for the Role on the Entity remove_entity_privilege Remove a Privilege for the Role on the Entity
create_like_role Creates a Similar Role
list_privileges List of Privileges add_privilege Add Privilege remove_privilege Deleting a Privilege
list_operations List of Operations list_opgroups List of Operations Groups add_opgroup Add an Operations Group remove_opgroup Deletes an Operation Group add_operation Add an Operation to Operations Group remove_operation Delete an Operation from Operations Group
create_like_opgroup Creates a similar Operations_Group assign_opgroup_privilege Assign a Privilege to the Operations Group remove_opgroup_privilege Removes the privilege of Operations Group
High Availability:
standby_servers List Standby servers for HA under a serverpool get_ha_details Detail whether HA or Not fencing_details The available fencing Configurations vm_priority The Virtual Machine priority enable_ha Enable/Disable High Availability
Storage Management: list_storages Lists defined storages list_storage_disks Lists Storage Disks add_storage Add a new storage remove_storage Removes a storage add_storage_disk Adds a storage disk remove_storage_disk Removes a disk from a storage associate_storage_defns Associate storage definition to serverpool dissociate_storage_defns Remove storage form the serverpool mark_sorage_disk Define disk as allocated
Backup and Restore:
list_backup_info Backup Informations associated with a Virtual Machine list_backups The policies defined with backup details backup_vm Virtual Machine backup restore_vm Restores a Virtual Machine from a recent Backup
Cache: list_cache_details List all cache details
Comments