os-xenapi: add wrapper for complicated plugins
1. wrapper of xenhost.py as host_management 2. wrapper of xenstore.py as host_xenstore 3. wrapper of agent.py as host_agent 4. wrapper of glance.py as host_glance Change-Id: Ibf9780bb03edfa3fe94af05985b2766fc829ebc3
This commit is contained in:
		
							
								
								
									
										47
									
								
								os_xenapi/client/host_agent.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								os_xenapi/client/host_agent.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
# Copyright 2017 Citrix Systems
 | 
			
		||||
#
 | 
			
		||||
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
			
		||||
#    not use this file except in compliance with the License. You may obtain
 | 
			
		||||
#    a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#         http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
#    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
			
		||||
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
			
		||||
#    License for the specific language governing permissions and limitations
 | 
			
		||||
#    under the License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def version(session, uuid, dom_id, timeout):
 | 
			
		||||
    args = {'id': uuid, 'dom_id': dom_id, 'timeout': timeout}
 | 
			
		||||
    return session.call_plugin('agent.py', 'version', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def key_init(session, uuid, dom_id, timeout, pub=''):
 | 
			
		||||
    args = {'id': uuid, 'dom_id': dom_id, 'timeout': timeout,
 | 
			
		||||
            'pub': pub}
 | 
			
		||||
    return session.call_plugin('agent.py', 'key_init', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def agent_update(session, uuid, dom_id, timeout, url='', md5sum=''):
 | 
			
		||||
    args = {'id': uuid, 'dom_id': dom_id, 'timeout': timeout,
 | 
			
		||||
            'url': url, 'md5sum': md5sum}
 | 
			
		||||
    return session.call_plugin('agent.py', 'agentupdate', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def password(session, uuid, dom_id, timeout, enc_pass=''):
 | 
			
		||||
    args = {'id': uuid, 'dom_id': dom_id, 'timeout': timeout,
 | 
			
		||||
            'enc_pass': enc_pass}
 | 
			
		||||
    return session.call_plugin('agent.py', 'password', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def inject_file(session, uuid, dom_id, timeout, b64_path='', b64_contents=''):
 | 
			
		||||
    args = {'id': uuid, 'dom_id': dom_id, 'timeout': timeout,
 | 
			
		||||
            'b64_path': b64_path, 'b64_contents': b64_contents}
 | 
			
		||||
    return session.call_plugin('agent.py', 'inject_file', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def reset_network(session, uuid, dom_id, timeout):
 | 
			
		||||
    args = {'id': uuid, 'dom_id': dom_id, 'timeout': timeout}
 | 
			
		||||
    return session.call_plugin('agent.py', 'resetnetwork', args)
 | 
			
		||||
							
								
								
									
										30
									
								
								os_xenapi/client/host_glance.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								os_xenapi/client/host_glance.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
# Copyright 2017 Citrix Systems
 | 
			
		||||
#
 | 
			
		||||
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
			
		||||
#    not use this file except in compliance with the License. You may obtain
 | 
			
		||||
#    a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#         http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
#    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
			
		||||
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
			
		||||
#    License for the specific language governing permissions and limitations
 | 
			
		||||
#    under the License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def download_vhd(session, num_retries, callback, retry_cb, image_id, sr_path,
 | 
			
		||||
                 extra_headers, uuid_stack=''):
 | 
			
		||||
    args = {'image_id': image_id, 'sr_path': sr_path,
 | 
			
		||||
            'extra_headers': extra_headers, 'uuid_stack': uuid_stack}
 | 
			
		||||
    return session.call_plugin_serialized_with_retry(
 | 
			
		||||
        'glance.py', 'download_vhd2', num_retries, callback, retry_cb, **args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def upload_vhd(session, num_retries, callback, retry_cb, image_id, sr_path,
 | 
			
		||||
               extra_headers, vdi_uuids='', properties={}):
 | 
			
		||||
    args = {'image_id': image_id, 'sr_path': sr_path,
 | 
			
		||||
            'extra_headers': extra_headers, 'vdi_uuids': vdi_uuids,
 | 
			
		||||
            'properties': properties}
 | 
			
		||||
    return session.call_plugin_serialized_with_retry(
 | 
			
		||||
        'glance.py', 'upload_vhd2', num_retries, callback, retry_cb, **args)
 | 
			
		||||
							
								
								
									
										36
									
								
								os_xenapi/client/host_management.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								os_xenapi/client/host_management.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
# Copyright 2017 Citrix Systems
 | 
			
		||||
#
 | 
			
		||||
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
			
		||||
#    not use this file except in compliance with the License. You may obtain
 | 
			
		||||
#    a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#         http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
#    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
			
		||||
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
			
		||||
#    License for the specific language governing permissions and limitations
 | 
			
		||||
#    under the License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def set_host_enabled(session, enabled):
 | 
			
		||||
    args = {"enabled": enabled}
 | 
			
		||||
    return session.call_plugin('xenhost.py', 'set_host_enabled', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_host_uptime(session):
 | 
			
		||||
    return session.call_plugin('xenhost.py', 'host_uptime', {})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_host_data(session):
 | 
			
		||||
    return session.call_plugin('xenhost.py', 'host_data', {})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_pci_type(session, pci_device):
 | 
			
		||||
    return session.call_plugin_serialized('xenhost.py', 'get_pci_type',
 | 
			
		||||
                                          pci_device)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_pci_device_details(session):
 | 
			
		||||
    return session.call_plugin_serialized('xenhost.py',
 | 
			
		||||
                                          'get_pci_device_details')
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
# Copyright 2013 OpenStack Foundation
 | 
			
		||||
# Copyright 2013 Citrix Systems
 | 
			
		||||
#
 | 
			
		||||
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
			
		||||
#    not use this file except in compliance with the License. You may obtain
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								os_xenapi/client/host_xenstore.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								os_xenapi/client/host_xenstore.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
# Copyright 2017 Citrix Systems
 | 
			
		||||
#
 | 
			
		||||
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
			
		||||
#    not use this file except in compliance with the License. You may obtain
 | 
			
		||||
#    a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#         http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
#    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
			
		||||
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
			
		||||
#    License for the specific language governing permissions and limitations
 | 
			
		||||
#    under the License.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def read_record(session, dom_id, path, ignore_missing_path=True):
 | 
			
		||||
    args = {'dom_id': dom_id, 'path': path,
 | 
			
		||||
            'ignore_missing_path': 'True' if ignore_missing_path else 'False'}
 | 
			
		||||
    return session.call_plugin('xenstore.py', 'read_record', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def delete_record(session, dom_id, path):
 | 
			
		||||
    args = {'dom_id': dom_id, 'path': path}
 | 
			
		||||
    return session.call_plugin('xenstore.py', 'delete_record', args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def write_record(session, dom_id, path, value):
 | 
			
		||||
    args = {'dom_id': dom_id, 'path': path, 'value': value}
 | 
			
		||||
    return session.call_plugin('xenstore.py', 'write_record', args)
 | 
			
		||||
		Reference in New Issue
	
	Block a user