def handle_create(self): LOG.info("----------------------Heat engine is starting to deploy Server------------------------------") ''' qingcloud_image_id = self.PROPERTIES.get(self.IMAGE_ID) qingcloud_login_mode = self.PROPERTIES.get(LOGIN_MODE) qingcloud_login_passwd = self.PROPERTIES.get(LOGIN_PASSWD) zone = self.PROPERTIES.get(self.ZONE) ''' qingcloud_image_id = self.properties['image_id'] qingcloud_login_mode = self.properties['login_mode'] qingcloud_login_passwd = self.properties['login_passwd'] zone = self.properties['zone'] ''' Connect to QingCloud API zzxwill 9/3/2015 ''' api_connection = API_Connection() conn = api_connection.get_connection(zone) self._conn = conn ret = conn.run_instances( image_id=qingcloud_image_id, cpu=1, memory=1024, vxnets=['vxnet-0'], login_mode= qingcloud_login_mode, login_passwd= qingcloud_login_passwd) ''' A sample of returned strings {u'action': u'RunInstancesResponse', u'instances': [u'i-kbvq1jio'], u'job_id': u'j-91chniph', u'ret_code': 0} ''' self._return_instance_dict = ret global _return_instance_dict_test _return_instance_dict_test = ret LOG.debug("ret: run_instance: %s" % ret) if 'ret_code' in ret.keys(): return_code = ret['ret_code'] LOG.info("return code or instance provisioning is: %s" % ret) if return_code == 0: return True else: # else can be elaborated later per https://docs.qingcloud.com/api/common/error_code.html return False return ret
def handle_create(self): LOG.info( "----------------------Heat engine is starting to deploy Server------------------------------" ) ''' qingcloud_image_id = self.PROPERTIES.get(self.IMAGE_ID) qingcloud_login_mode = self.PROPERTIES.get(LOGIN_MODE) qingcloud_login_passwd = self.PROPERTIES.get(LOGIN_PASSWD) zone = self.PROPERTIES.get(self.ZONE) ''' qingcloud_image_id = self.properties['image_id'] qingcloud_login_mode = self.properties['login_mode'] qingcloud_login_passwd = self.properties['login_passwd'] zone = self.properties['zone'] ''' Connect to QingCloud API zzxwill 9/3/2015 ''' api_connection = API_Connection() conn = api_connection.get_connection(zone) self._conn = conn ret = conn.run_instances(image_id=qingcloud_image_id, cpu=1, memory=1024, vxnets=['vxnet-0'], login_mode=qingcloud_login_mode, login_passwd=qingcloud_login_passwd) ''' A sample of returned strings {u'action': u'RunInstancesResponse', u'instances': [u'i-kbvq1jio'], u'job_id': u'j-91chniph', u'ret_code': 0} ''' self._return_instance_dict = ret global _return_instance_dict_test _return_instance_dict_test = ret LOG.debug("ret: run_instance: %s" % ret) if 'ret_code' in ret.keys(): return_code = ret['ret_code'] LOG.info("return code or instance provisioning is: %s" % ret) if return_code == 0: return True else: # else can be elaborated later per https://docs.qingcloud.com/api/common/error_code.html return False return ret
def handle_delete(self): zone = self.properties['zone'] LOG.debug("zone: %s" % zone) api_connection = API_Connection() conn = api_connection.get_connection(zone) LOG.debug("_return_instance_dict: %s" % self._return_instance_dict) LOG.debug("_return_instance_dict_test: %s" % _return_instance_dict_test) #ret = conn.terminate_instances(self._return_instance_dict['instances']) ret = conn.terminate_instances(_return_instance_dict_test['instances']) self._return_instance_dict_delete = ret LOG.debug("return of terminate_instances: %s" % ret) return
def handle_delete(self): zone = self.properties['zone'] LOG.debug("zone: %s" % zone) api_connection = API_Connection() conn = api_connection.get_connection(zone) LOG.debug("_return_instance_dict: %s" % self._return_instance_dict) LOG.debug("_return_instance_dict_test: %s" % _return_instance_dict_test) #ret = conn.terminate_instances(self._return_instance_dict['instances']) ret = conn.terminate_instances(_return_instance_dict_test['instances']) self._return_instance_dict_delete = ret LOG.debug("return of terminate_instances: %s" % ret) return