from __future__ import absolute_import from roll_engine import constants as _ from roll_engine.utils.log import get_logger from . import transition re_logger = get_logger() class _BrakeFSMixin(object): _all = set([_.ROLLOUT_SUCCESS_BRAKED, _.ROLLOUT_FAILURE_BRAKED, _.ROLLOUT_BRAKED] ) def can_brake(self): return self.can_brake() @transition(source=_.ROLLING_OUT, target=_.ROLLOUT_BRAKED, conditions=[can_brake], custom=dict(user_action=True, alias='brake')) def rolling_out_brake(self): pass @transition(source=_.BAKE_SUCCESS, target=_.ROLLOUT_SUCCESS_BRAKED, conditions=[can_brake], custom=dict(user_action=True, alias='brake')) def rollout_success_brake(selF):
from __future__ import absolute_import from django.db.models.base import ModelBase from django.db.models.options import Options from django_fsm import can_proceed, FSMField from roll_engine.db import TimestampedModel from roll_engine.constants import PENDING, REVOKED from roll_engine.exceptions import StatusError from roll_engine.utils.log import get_logger re_logger = get_logger() class RollEngineOptions(Options): @property def __parent_model(self): if self.proxy: return self.proxy_for_model else: for parent, _ in self.parents.items(): return parent return None def __getattr__(self, attr): if attr in ('batch_factory', 'task_set', 'smoke_success_status', 'salt_timeout'): parent = self.__parent_model if parent is not None: return getattr(parent._meta, attr)
import logging import time from constance import config from roll_engine.utils.log import get_logger # from rest_client import get_remix_client from .verify import Verify from ansible_playbook.runplaybook import RunPlaybook es_logger = get_logger() def choose_deploy_agency(group): return globals().get("{0}Agency".format(group.g_type)) class BaseAgency(object): def __init__(self, target): self.target = target def download_package(self, **kwargs): raise NotImplementedError() def install_app(self, **kwargs): raise NotImplementedError() def verify_app(self, **kwargs): raise NotImplementedError() def skip(self, **kwargs):