From 343f565f88e350b9f9e7a25ffab5885b3bcea263 Mon Sep 17 00:00:00 2001 From: Jessica Lucci Date: Wed, 22 May 2013 15:40:00 -0500 Subject: [PATCH] Cleaning up files/extraneous files/fixing relations --- taskflow/backends/celery/__init__.py | 1 - taskflow/backends/celery/celeryapp.py | 1 - taskflow/backends/celery/celeryconfig.py | 1 - taskflow/common/exception.py | 20 -------------------- taskflow/db/api.py | 4 +++- taskflow/db/sqlalchemy/api.py | 5 +++++ taskflow/db/sqlalchemy/models.py | 8 +++++--- taskflow/patterns/distributed_flow.py | 4 ++-- taskflow/tests/unit/.test_memory.py.swp | Bin 16384 -> 0 bytes 9 files changed, 15 insertions(+), 29 deletions(-) delete mode 100644 taskflow/common/exception.py delete mode 100644 taskflow/tests/unit/.test_memory.py.swp diff --git a/taskflow/backends/celery/__init__.py b/taskflow/backends/celery/__init__.py index e068b146..fbe1837c 100644 --- a/taskflow/backends/celery/__init__.py +++ b/taskflow/backends/celery/__init__.py @@ -2,7 +2,6 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 -# Copyright (C) 2012 Yahoo! Inc. All Rights Reserved. # Copyright (C) 2013 Rackspace Hosting Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may diff --git a/taskflow/backends/celery/celeryapp.py b/taskflow/backends/celery/celeryapp.py index c60088f3..1debf027 100644 --- a/taskflow/backends/celery/celeryapp.py +++ b/taskflow/backends/celery/celeryapp.py @@ -2,7 +2,6 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 -# Copyright (C) 2012 Yahoo! Inc. All Rights Reserved. # Copyright (C) 2013 Rackspace Hosting Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may diff --git a/taskflow/backends/celery/celeryconfig.py b/taskflow/backends/celery/celeryconfig.py index 63345bfc..9d29056b 100644 --- a/taskflow/backends/celery/celeryconfig.py +++ b/taskflow/backends/celery/celeryconfig.py @@ -2,7 +2,6 @@ # vim: tabstop=4 shiftwidth=4 softtabstop=4 -# Copyright (C) 2012 Yahoo! Inc. All Rights Reserved. # Copyright (C) 2013 Rackspace Hosting Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may diff --git a/taskflow/common/exception.py b/taskflow/common/exception.py deleted file mode 100644 index e5486b06..00000000 --- a/taskflow/common/exception.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- - -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -# Copyright (C) 2012 Yahoo! Inc. All Rights Reserved. -# Copyright (C) 2013 Rackspace Hosting Inc. 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. - -from taskflow.openstack.common import * diff --git a/taskflow/db/api.py b/taskflow/db/api.py index 831f21d8..dc493b18 100644 --- a/taskflow/db/api.py +++ b/taskflow/db/api.py @@ -24,7 +24,6 @@ from oslo.config import cfg from taskflow.common import config from taskflow import utils -SQL_CONNECTION = 'sqlite://' db_opts = [ cfg.StrOpt('db_backend', default='sqlalchemy', @@ -84,6 +83,9 @@ def job_get_owner(context, job_id): def job_get_state(context, job_id): return IMPL.job_get_state(context, job_id) +def job_get_logbook(context, job_id): + return IMPL.job_get_logbook(context, job_id) + def job_destroy(context, job_id): return IMPL.job_destroy(context, job_id) diff --git a/taskflow/db/sqlalchemy/api.py b/taskflow/db/sqlalchemy/api.py index 4bc0c17e..6b36e573 100644 --- a/taskflow/db/sqlalchemy/api.py +++ b/taskflow/db/sqlalchemy/api.py @@ -136,6 +136,11 @@ def job_get_state(context, job_id): job = job_get(context, job_id) return job.state +def job_get_logbook(context, job_id): + """Return the logbook associated with the given job""" + job = job_get(context, job_id) + return job.logbook + def job_destroy(context, job_id): """Delete a given Job""" session = get_session() diff --git a/taskflow/db/sqlalchemy/models.py b/taskflow/db/sqlalchemy/models.py index a7f754b5..d726b2cf 100644 --- a/taskflow/db/sqlalchemy/models.py +++ b/taskflow/db/sqlalchemy/models.py @@ -48,7 +48,7 @@ class Json(types.TypeDecorator, types.MutableType): class TaskFlowBase(object): - """Base class for Heat Models.""" + """Base class for TaskFlow Models.""" __table_args__ = {'mysql_engine':'InnoDB'} __table_initialized = False created_at = Column(DateTime, default=timeutils.utcnow) @@ -132,6 +132,7 @@ class LogBook(BASE, TaskFlowBase): name = Column(String) workflows = relationship("Workflow", secondary=workflow_logbook_assoc) + job = relationship("Job", uselist=False, backref="logbook") class Job(BASE, TaskFlowBase): """Represents a Job""" @@ -146,10 +147,11 @@ class Job(BASE, TaskFlowBase): state = Column(String) workflows = relationship("Workflow", secondary=workflow_job_assoc) + logbook_id = Column(String, ForeignKey('logbook.logbook_id') class Workflow(BASE, TaskFlowBase): - """Represents Workflow Objects""" + """Represents Workflow detail objects""" __tablename__ = 'workflow' @@ -158,7 +160,7 @@ class Workflow(BASE, TaskFlowBase): tasks = relationship("Task", backref="workflow") class Task(BASE, TaskFlowBase): - """Represents Task Objects""" + """Represents Task detail objects""" __tablename__ = 'task' diff --git a/taskflow/patterns/distributed_flow.py b/taskflow/patterns/distributed_flow.py index 2e095851..72e97424 100644 --- a/taskflow/patterns/distributed_flow.py +++ b/taskflow/patterns/distributed_flow.py @@ -26,7 +26,7 @@ from celery import chord LOG = logging.getLogger(__name__) -class Workflow(object): +class Flow(object): """A linear chain of independent tasks that can be applied as one unit or rolled back as one unit.""" @@ -83,5 +83,5 @@ class Workflow(object): def run(self, context, *args, **kwargs): """ Start root task and kick off workflow """ - root(context) + self.root(context) LOG.info('WF %s has been started' % (self.name,)) diff --git a/taskflow/tests/unit/.test_memory.py.swp b/taskflow/tests/unit/.test_memory.py.swp deleted file mode 100644 index 6f4a9e58ef9ad7bb29274886607c3275ccef8dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 Pg=sF^)Rkj44xIl2sxp}Q