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:
parent
30487e4c41
commit
b71dce4adb
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)
|
Loading…
x
Reference in New Issue
Block a user