|  OpenStack Study: hus_backend.pyOpenStack Index**** CubicPower OpenStack Study ****
 # Copyright (c) 2013 Hitachi Data Systems, Inc. # Copyright (c) 2013 OpenStack Foundation # All Rights Reserved. # #    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. # """ Hitachi Unified Storage (HUS) platform. Backend operations. """ from cinder.openstack.common import log as logging from cinder import utils LOG = logging.getLogger("cinder.volume.driver") 
 
 **** CubicPower OpenStack Study **** class HusBackend:     """Back end. Talks to HUS."""     
 
 **** CubicPower OpenStack Study ****     def get_version(self, cmd, ver, ip0, ip1, user, pw):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--version', '1',                                  run_as_root=True,                                  check_exit_code=True)         LOG.debug('get_version: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def get_iscsi_info(self, cmd, ver, ip0, ip1, user, pw):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--iscsi', '1',                                  check_exit_code=True)         LOG.debug('get_iscsi_info: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def get_hdp_info(self, cmd, ver, ip0, ip1, user, pw):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--hdp', '1',                                  check_exit_code=True)         LOG.debug('get_hdp_info: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def create_lu(self, cmd, ver, ip0, ip1, user, pw, id, hdp, start,                   end, size):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--create-lun', '1',                                  '--array-id', id,                                  '--hdp', hdp,                                  '--start', start,                                  '--end', end,                                  '--size', size,                                  check_exit_code=True)         LOG.debug('create_lu: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def delete_lu(self, cmd, ver, ip0, ip1, user, pw, id, lun):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--delete-lun', '1',                                  '--array-id', id,                                  '--lun', lun,                                  '--force', 1,                                  check_exit_code=True)         LOG.debug('delete_lu: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def create_dup(self, cmd, ver, ip0, ip1, user, pw, id, src_lun,                    hdp, start, end, size):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--create-dup', '1',                                  '--array-id', id,                                  '--pvol', src_lun,                                  '--hdp', hdp,                                  '--start', start,                                  '--end', end,                                  '--size', size,                                  check_exit_code=True)         LOG.debug('create_dup: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def extend_vol(self, cmd, ver, ip0, ip1, user, pw, id, lun, new_size):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--extend-lun', '1',                                  '--array-id', id,                                  '--lun', lun,                                  '--size', new_size,                                  check_exit_code=True)         LOG.debug('extend_vol: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def add_iscsi_conn(self, cmd, ver, ip0, ip1, user, pw, id, lun, ctl, port,                        iqn, initiator):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--add-iscsi-connection', '1',                                  '--array-id', id,                                  '--lun', lun,                                  '--ctl', ctl,                                  '--port', port,                                  '--target', iqn,                                  '--initiator', initiator,                                  check_exit_code=True)         LOG.debug('add_iscsi_conn: ' + out + ' -- ' + err)         return out 
 
 **** CubicPower OpenStack Study ****     def del_iscsi_conn(self, cmd, ver, ip0, ip1, user, pw, id, lun, ctl, port,                        iqn, initiator):         out, err = utils.execute(cmd,                                  '--driver-version', ver,                                  '--ip0', ip0,                                  '--ip1', ip1,                                  '--user', user,                                  '--password', pw,                                  '--delete-iscsi-connection', '1',                                  '--array-id', id,                                  '--lun', lun,                                  '--ctl', ctl,                                  '--port', port,                                  '--target', iqn,                                  '--initiator', initiator,                                  '--force', 1,                                  check_exit_code=True)         LOG.debug('del_iscsi_conn: ' + out + ' -- ' + err)         return out 
 |