def connect(params): """ Connect ovirt manager API. """ url = params.get('ovirt_engine_url') username = params.get('ovirt_engine_user') password = params.get('ovirt_engine_password') version = params.get('ovirt_engine_version') if not all([url, username, password]): logging.error('ovirt_engine[url|user|password] are necessary!!') if version is None: version = param.Version(major='3', minor='6') else: version = param.Version(version) global _api, _connected try: # Try to connect oVirt API if connection doesn't exist, # otherwise, directly return existing API connection. if not _connected: _api = API(url, username, password, insecure=True) _connected = True return (_api, version) else: return (_api, version) except Exception as e: logging.error('Failed to connect: %s\n' % str(e)) else: logging.info('Succeed to connect oVirt/Rhevm manager\n')
def connect(ovirt_api_url, ovirt_username, ovirt_password): VERSION = params.Version(major='4', minor='0') ovirt_api = API(url=ovirt_api_url, username=ovirt_username, password=ovirt_password, insecure=True) return ovirt_api
def add_dc_3(api): p = params.DataCenter( name=DC_NAME, local=False, version=params.Version( major=DC_VER_MAJ, minor=DC_VER_MIN, ), ) nt.assert_true(api.datacenters.add(p))
def add_cluster(api): p = params.Cluster( name=CLUSTER_NAME, cpu=params.CPU(id=CLUSTER_CPU_FAMILY, ), version=params.Version( major=DC_VER_MAJ, minor=DC_VER_MIN, ), data_center=params.DataCenter(name=DC_NAME, ), ) nt.assert_true(api.clusters.add(p))
def add_cluster_3(prefix): api = prefix.virt_env.engine_vm().get_api() p = params.Cluster( name=CLUSTER_NAME, version=params.Version( major=DC_VER_MAJ, minor=DC_VER_MIN, ), data_center=params.DataCenter(name=DC_NAME, ), ballooning_enabled=True, ) nt.assert_true(api.clusters.add(p))
def createDC(): global controller logging.debug("Creating the local datacenter") try: controller.CONF["API_OBJECT"].datacenters.add( params.DataCenter(name=LOCAL_DATA_CENTER, storage_type='localfs', version=params.Version(major=MAJOR, minor=MINOR))) except: logging.error(traceback.format_exc()) raise Exception(ERROR_CREATE_LOCAL_DATACENTER)
def add_cluster(api): p = params.Cluster( name=CLUSTER_NAME, cpu=params.CPU(id=CLUSTER_CPU_FAMILY, ), version=params.Version( major=DC_VER_MAJ, minor=DC_VER_MIN, ), data_center=params.DataCenter(name=DC_NAME, ), memory_policy=params.MemoryPolicy(overcommit=params.MemoryOverCommit( percent=100)), ) nt.assert_true(api.clusters.add(p))
def createCluster(): global controller logging.debug("Creating the local cluster") CPU_TYPE = controller.CONF['VDSM_CPU_FAMILY'] try: controller.CONF["API_OBJECT"].clusters.add( params.Cluster( name=LOCAL_CLUSTER, cpu=params.CPU(id=CPU_TYPE), data_center=controller.CONF["API_OBJECT"].datacenters.get( LOCAL_DATA_CENTER), version=params.Version(major=MAJOR, minor=MINOR))) except: logging.error(traceback.format_exc()) raise Exception(ERROR_CREATE_LOCAL_CLUSTER)
def connect(ovirt_api_url, ovirt_username, ovirt_password, cinder_username, cinder_password, cinder_project, cinder_auth_url, ceph_conf_file, ceph_client, ceph_pool): VERSION = params.Version(major='4', minor='0') ovirt_api = API(url=ovirt_api_url, username=ovirt_username, password=ovirt_password, insecure=True) cinder_api = client.Client(cinder_username, cinder_password, cinder_project, cinder_auth_url, service_type="volume") ceph_api = rados.Rados(conffile=ceph_conf_file, name="client.{}".format(ceph_client)) ceph_api.connect() ceph_api_ioctx = ceph_api.open_ioctx(ceph_pool) return ovirt_api, cinder_api, ceph_api, ceph_api_ioctx
1. #! /usr/bin/python 2. #this script requires ovirt-engine-sdk-python 3. import api_ovirt_include 4. from ovirtsdk.api import API 5. from ovirtsdk.xml import params 6. from time import sleep 7. 8. 9. VERSION = params.Version(major='3', minor='0') 10. ##change to fit your host 11. URL = input(' enter ip address, example: 'https://192.168.1.1:8443/api') 12. USERNAME = input('Enter username, example: [email protected] ') 13. PASSWORD = input('Enter your password) 14. 15. DC_NAME = input('Enter name of your datacenter') 16. CLUSTER_NAME = input('cluster name') 17. HOST_NAME = input('input host name') 18. STORAGE_NAME = input('input storage name') 19. VM_NAME = input('enter VM name') 20. 21. api = API(url=URL, username=USERNAME, password=PASSWORD)30 22. try: 23. if api.hosts.add(params.Host(name=HOST_NAME, address=HOST_ADDRESS, cluster=api.clusters.get(CLUSTER_NAME), root_password=ROOT_PASSWORD)): 24. 25. print 'Host was installed successfully' 26. print 'Waiting for host to reach the Up status' 27. while api.hosts.get(HOST_NAME).status.state != 'up': 28. sleep(1) 29. print "Host is up" 30. except Exception as e: 31. print 'Failed to install Host:\n%s' % str(e)
def create_version(self, major='3', minor='1'): return params.Version(major=major, minor=minor)