コード例 #1
0
ファイル: server.py プロジェクト: zzxwill/Heat4CloudProviders
    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
コード例 #2
0
    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
コード例 #3
0
ファイル: server.py プロジェクト: zzxwill/Heat4CloudProviders
    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
コード例 #4
0
    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