aboutsummaryrefslogtreecommitdiffstats
path: root/api/database/v2/models.py
blob: 59dab3ebcb3485450a8566e570c382c0ab361b76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
##############################################################################
# Copyright (c) 2017 Huawei Technologies Co.,Ltd.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
from __future__ import absolute_import
from sqlalchemy import Column
from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy import Text
from sqlalchemy import DateTime
from sqlalchemy import Boolean

from api.database import Base


class V2Environment(Base):
    __tablename__ = 'v2_environment'
    id = Column(Integer, primary_key=True)
    uuid = Column(String(30))
    name = Column(String(30))
    description = Column(Text)
    openrc_id = Column(String(10))
    image_id = Column(String(30))
    container_id = Column(Text)
    pod_id = Column(String(10))
    time = Column(DateTime)


class V2Openrc(Base):
    __tablename__ = 'v2_openrc'
    id = Column(Integer, primary_key=True)
    uuid = Column(String(30))
    name = Column(String(30))
    description = Column(Text)
    environment_id = Column(String(30))
    content = Column(Text)
    time = Column(DateTime)


class V2Image(Base):
    __tablename__ = 'v2_image'
    id = Column(Integer, primary_key=True)
    uuid = Column(String(30))
    name = Column(String(30))
    description = Column(Text)
    environment_id = Column(String(30))


class V2Container(Base):
    __tablename__ = 'v2_container'
    id = Column(Integer, primary_key=True)
    uuid = Column(String(30))
    name = Column(String(30))
    environment_id = Column(String(30))
    status = Column(Integer)
    port = Column(Integer)
    time = Column(String(30))


class V2Pod(Base):
    __tablename__ = 'v2_pod'
    id = Column(Integer, primary_key=True)
    uuid = Column(String(30))
    environment_id = Column(String(30))
    content = Column(Text)
    time = Column(String(30))


class V2Project(Base):
    __tablename__ = 'v2_project'
    id = Column(Integer, primary_key=True)
    uuid = Column(String(30))
    name = Column(String(30))
    description = Column(Text)
    time = Column(DateTime)
    tasks = Column(Text)


class V2Task(Base):
    __tablename__ = 'v2_task'
    id = Column(Integer, primary_key=True)
    uuid = Column(String(30))
    name = Column(String(30))
    description = Column(Text)
    project_id = Column(String(30))
    environment_id = Column(String(30))
    time = Column(DateTime)
    case_name = Column(String(30))
    suite = Column(Boolean)
    content = Column(Text)
    result = Column(Text)
    error = Column(Text)
    status = Column(Integer)
$CACHEBASE" echo "CACHETRANSPORT = $CACHETRANSPORT" if [ "$CLEAR_CACHE" -eq 1 ]; then echo $CACHEBASE | grep -q '^file://' $CACHE_BASE if [ $? -ne 0 ]; then error_exit "Can't clear a non-local cache!" else CACHEDIR=$(echo $CACHEBASE | sed 's;file://;;') echo "Clearing local cache at $CACHEDIR..." rm -rvf $CACHEDIR/* fi fi echo make ${MAKE_ARGS} cache cd ${BUILD_BASE} if make ${MAKE_ARGS} cache; then echo "Copying build result into $OUTPUT_DIR" sort ${BUILD_BASE}/gitinfo*.txt > ${OUTPUT_DIR}/gitinfo.txt cp ${RESULT_DIR}/*.iso ${OUTPUT_DIR} cp ${RESULT_DIR}/*.iso.txt ${OUTPUT_DIR} else error_exit "Build failed" fi } ############################################################################ # BEGIN of main # while getopts "s:c:l:v:f:r:f:h" OPTION do case $OPTION in s) BUILD_SPEC=${OPTARG} if [ ! -f ${BUILD_SPEC} ]; then echo "spec file does not exist: $BUILD_SPEC - exiting ...." exit 100 fi ;; c) # This value is used by cache.sh export CACHEBASE=${OPTARG} ;; l) BUILD_LOG=$(readlink -f ${OPTARG}) ;; v) MAKE_ARGS+="REVSTATE=${OPTARG}" ;; r) # This value is used by cache.sh export CACHETRANSPORT=${OPTARG} ;; h) usage rc=0 exit $rc ;; f) BUILD_FLAGS=${OPTARG} for ((i=0; i<${#BUILD_FLAGS};i++)); do case ${BUILD_FLAGS:$i:1} in s) exit 0 ;; f) exit 1 ;; P) CLEAR_CACHE=1 ;; D) DEBUG=1 ;; *) error_exit "${BUILD_FLAGS:$i:1} is not a valid build flag - exiting ...." ;; esac done ;; *) echo "${OPTION} is not a valid argument" rc=100 exit $rc ;; esac done # Get output directory shift $[$OPTIND - 1] case $# in 0) # No directory on command line OUTPUT_DIR=$(pwd) ;; 1) # Directory on command line OUTPUT_DIR=$(readlink -f $1) ;; *) error_exit "Too many arguments" ;; esac mkdir -p $OUTPUT_DIR || error_exit "Could not access output directory $OUTPUT_DIR" if [ -n "${BUILD_LOG}" ]; then touch ${BUILD_LOG} || error_exit "Could not write to log file ${BUILD_LOG}" build 2>&1 | tee ${BUILD_LOG} else build fi rc=$? exit $rc # # END of main ############################################################################