示例#1
0
    def __setup_rollback(self, record, sctx):
        # TODO: the rollback process should use a async way same
        #       as previous setup process, but for convinence,
        #       we do it in a sync way
        for rec in record:
            if rec.type == REMOTE_CREATED_RECORD.TYPE_CLOUD_SERVICE:
                adapter = CloudServiceAdapter(sctx.subscription_id, sctx.pem_url, host=sctx.management_host)
                adapter.delete_cloud_service(rec.name, complete=True)
            elif rec.type == REMOTE_CREATED_RECORD.TYPE_STORAGE_ACCOUNT:
                adapter = StorageAccountAdapter(sctx.subscription_id, sctx.pem_url, host=sctx.management_host)
                adapter.delete_storage_account(rec.name)
            elif (rec.type == REMOTE_CREATED_RECORD.TYPE_ADD_VIRTUAL_MACHINE
                    or rec.type == REMOTE_CREATED_RECORD.TYPE_CREATE_VIRTUAL_MACHINE_DEPLOYMENT):
                adapter = VirtualMachineAdapter(sctx.subscription_id, sctx.pem_url, host=sctx.management_host)

                if rec.type == REMOTE_CREATED_RECORD.TYPE_ADD_VIRTUAL_MACHINE:
                    adapter.delete_virtual_machine(
                        rec.cloud_service_name,
                        rec.deployment_name,
                        rec.virtual_machine_name,
                        True)
                else:
                    adapter.delete_deployment(
                        rec.cloud_service_name,
                        rec.deployment_name,
                        True)
            else:
                self.log.warn("unknown record type: %s" % rec.type)
示例#2
0
    def __setup_rollback(self, record, sctx):
        # TODO: the rollback process should use a async way same
        #       as previous setup process, but for convinence,
        #       we do it in a sync way
        for rec in record:
            if rec.type == REMOTE_CREATED_RECORD.TYPE_CLOUD_SERVICE:
                adapter = CloudServiceAdapter(sctx.subscription_id,
                                              sctx.pem_url,
                                              host=sctx.management_host)
                adapter.delete_cloud_service(rec.name, complete=True)
            elif rec.type == REMOTE_CREATED_RECORD.TYPE_STORAGE_ACCOUNT:
                adapter = StorageAccountAdapter(sctx.subscription_id,
                                                sctx.pem_url,
                                                host=sctx.management_host)
                adapter.delete_storage_account(rec.name)
            elif (rec.type == REMOTE_CREATED_RECORD.TYPE_ADD_VIRTUAL_MACHINE
                  or rec.type == REMOTE_CREATED_RECORD.
                  TYPE_CREATE_VIRTUAL_MACHINE_DEPLOYMENT):
                adapter = VirtualMachineAdapter(sctx.subscription_id,
                                                sctx.pem_url,
                                                host=sctx.management_host)

                if rec.type == REMOTE_CREATED_RECORD.TYPE_ADD_VIRTUAL_MACHINE:
                    adapter.delete_virtual_machine(rec.cloud_service_name,
                                                   rec.deployment_name,
                                                   rec.virtual_machine_name,
                                                   True)
                else:
                    adapter.delete_deployment(rec.cloud_service_name,
                                              rec.deployment_name, True)
            else:
                self.log.warn("unknown record type: %s" % rec.type)