Initial set of files and scripts added

Initial set of files for automating package generation and build process.

Change-Id: Id08b46a1cdd84e19ee9bf03df53b4d7c4576d762
This commit is contained in:
Dmitry Teselkin 2013-11-22 13:01:34 +04:00
parent 587e6e0143
commit 68e110c11b
38 changed files with 1042 additions and 0 deletions

34
package-builder/build-all.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
set -o xtrace
curr_dir=$(pwd)
pkg_build_dir=~/build_dir
source ./functions.sh
upstream_repo_list='
https://github.com/stackforge/murano-api.git
'
#https://github.com/stackforge/murano-dashboard.git
#https://github.com/stackforge/murano-repository.git
#'
rm -rf $pkg_build_dir/debuild
mkdir $pkg_build_dir/debuild
mkdir $pkg_build_dir/upstream
for url in $upstream_repo_list ; do
repo_name=${url##*/}
repo_name=${repo_name%.git}
git_clone $url $pkg_build_dir/upstream/$repo_name 'master'
cd $curr_dir
BUILD_DIR=$pkg_build_dir/debuild ./python-buildpackage.sh $pkg_build_dir/upstream/$repo_name
done

View File

@ -0,0 +1,117 @@
function die() {
cat << EOF
***** ***** ***** *****
$@
***** ***** ***** *****
EOF
exit 1
}
################################################################################
#
# Functions below are taken from devstack repo
# https://github.com/openstack-dev/devstack
#
################################################################################
# git clone only if directory doesn't exist already. Since ``DEST`` might not
# be owned by the installation user, we create the directory and change the
# ownership to the proper user.
# Set global RECLONE=yes to simulate a clone when dest-dir exists
# Set global ERROR_ON_CLONE=True to abort execution with an error if the git repo
# does not exist (default is False, meaning the repo will be cloned).
# Uses global ``OFFLINE``
# git_clone remote dest-dir branch
function git_clone {
[[ "$OFFLINE" = "True" ]] && return
GIT_REMOTE=$1
GIT_DEST=$2
GIT_REF=$3
if echo $GIT_REF | egrep -q "^refs"; then
# If our branch name is a gerrit style refs/changes/...
if [[ ! -d $GIT_DEST ]]; then
[[ "$ERROR_ON_CLONE" = "True" ]] && exit 1
git clone $GIT_REMOTE $GIT_DEST
fi
cd $GIT_DEST
git fetch $GIT_REMOTE $GIT_REF && git checkout FETCH_HEAD
else
# do a full clone only if the directory doesn't exist
if [[ ! -d $GIT_DEST ]]; then
[[ "$ERROR_ON_CLONE" = "True" ]] && exit 1
git clone $GIT_REMOTE $GIT_DEST
cd $GIT_DEST
# This checkout syntax works for both branches and tags
git checkout $GIT_REF
elif [[ "$RECLONE" == "yes" ]]; then
# if it does exist then simulate what clone does if asked to RECLONE
cd $GIT_DEST
# set the url to pull from and fetch
git remote set-url origin $GIT_REMOTE
git fetch origin
# remove the existing ignored files (like pyc) as they cause breakage
# (due to the py files having older timestamps than our pyc, so python
# thinks the pyc files are correct using them)
find $GIT_DEST -name '*.pyc' -delete
# handle GIT_REF accordingly to type (tag, branch)
if [[ -n "`git show-ref refs/tags/$GIT_REF`" ]]; then
git_update_tag $GIT_REF
elif [[ -n "`git show-ref refs/heads/$GIT_REF`" ]]; then
git_update_branch $GIT_REF
elif [[ -n "`git show-ref refs/remotes/origin/$GIT_REF`" ]]; then
git_update_remote_branch $GIT_REF
else
echo $GIT_REF is neither branch nor tag
exit 1
fi
fi
fi
}
# git update using reference as a branch.
# git_update_branch ref
function git_update_branch() {
GIT_BRANCH=$1
git checkout -f origin/$GIT_BRANCH
# a local branch might not exist
git branch -D $GIT_BRANCH || true
git checkout -b $GIT_BRANCH
}
# git update using reference as a branch.
# git_update_remote_branch ref
function git_update_remote_branch() {
GIT_BRANCH=$1
git checkout -b $GIT_BRANCH -t origin/$GIT_BRANCH
}
# git update using reference as a tag. Be careful editing source at that repo
# as working copy will be in a detached mode
# git_update_tag ref
function git_update_tag() {
GIT_TAG=$1
git tag -d $GIT_TAG
# fetching given tag only
git fetch origin tag $GIT_TAG
git checkout -f $GIT_TAG
}

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'

View File

@ -0,0 +1,101 @@
Source: openstack-murano-virtualenv-murano-api
Section: Python
Priority: extra
Maintainer: root <ashestakov@mirantis.com>
Build-Depends: debhelper (>= 8.0.0),
python-setuptools,
python-virtualenv,
openstack-murano-virtualenv,
openstack-murano-virtualenv-python-d2to1 (>= 0.2.10),
openstack-murano-virtualenv-python-d2to1 (<< 0.3),
openstack-murano-virtualenv-python-greenlet (>= 0.4.1),
openstack-murano-virtualenv-python-markupsafe (>= 0.18),
openstack-murano-virtualenv-python-pbr (>= 0.5.21),
openstack-murano-virtualenv-python-pbr (<< 0.6),
openstack-murano-virtualenv-python-puka (>= 1.0.7c),
openstack-murano-virtualenv-python-eventlet (>= 0.9.12),
openstack-murano-virtualenv-python-anyjson (>= 0.3.3),
openstack-murano-virtualenv-murano-common (>= 0.2),
openstack-murano-virtualenv-python-babel,
openstack-murano-virtualenv-python-sqlalchemy (>= 0.7),
openstack-murano-virtualenv-python-pbr (<= 0.7.9),
openstack-murano-virtualenv-python-pastedeploy,
openstack-murano-virtualenv-python-repoze.lru,
openstack-murano-virtualenv-python-routes,
openstack-murano-virtualenv-python-pytz,
openstack-murano-virtualenv-python-sqlalchemy-migrate (>= 0.7),
openstack-murano-virtualenv-python-tempita,
openstack-murano-virtualenv-python-decorator,
openstack-murano-virtualenv-python-webob (>= 1.2),
openstack-murano-virtualenv-python-httplib2,
openstack-murano-virtualenv-python-pycrypto (>= 2.1),
openstack-murano-virtualenv-python-iso8601 (>= 0.1.4),
openstack-murano-virtualenv-python-six,
openstack-murano-virtualenv-python-netaddr,
openstack-murano-virtualenv-python-lxml,
openstack-murano-virtualenv-python-jsonschema (>= 2.0.0),
openstack-murano-virtualenv-python-oslo.config,
openstack-murano-virtualenv-python-amqp (>= 1.0.13),
openstack-murano-virtualenv-python-pbr (<< 1.1.0),
openstack-murano-virtualenv-python-ordereddict,
openstack-murano-virtualenv-python-requests (>= 0.8.8),
openstack-murano-virtualenv-python-simplejson,
openstack-murano-virtualenv-python-kombu,
openstack-murano-virtualenv-python-prettytable (>= 0.6),
openstack-murano-virtualenv-python-pbr (<= 0.8),
openstack-murano-virtualenv-python-keystoneclient (>= 0.2),
openstack-murano-virtualenv-python-boto,
openstack-murano-virtualenv-python-passlib,
openstack-murano-virtualenv-python-paste
Standards-Version: 3.9.2
Homepage: mirantis.com
Package: openstack-murano-virtualenv-murano-api
Architecture: all
Depends: ${misc:Depends}
python,
python-setuptools,
python-virtualenv,
openstack-murano-virtualenv,
openstack-murano-virtualenv-python-d2to1 (>= 0.2.10),
openstack-murano-virtualenv-python-d2to1 (<< 0.3),
openstack-murano-virtualenv-python-greenlet (>= 0.4.1),
openstack-murano-virtualenv-python-markupsafe (>= 0.18),
openstack-murano-virtualenv-python-pbr (>= 0.5.21),
openstack-murano-virtualenv-python-pbr (<< 0.6),
openstack-murano-virtualenv-python-puka (>= 1.0.7c),
openstack-murano-virtualenv-python-eventlet (>= 0.9.12),
openstack-murano-virtualenv-python-anyjson (>= 0.3.3),
openstack-murano-virtualenv-murano-common (>= 0.2),
openstack-murano-virtualenv-python-babel,
openstack-murano-virtualenv-python-sqlalchemy (>= 0.7),
openstack-murano-virtualenv-python-pbr (<= 0.7.9),
openstack-murano-virtualenv-python-pastedeploy,
openstack-murano-virtualenv-python-repoze.lru,
openstack-murano-virtualenv-python-routes,
openstack-murano-virtualenv-python-pytz,
openstack-murano-virtualenv-python-sqlalchemy-migrate (>= 0.7),
openstack-murano-virtualenv-python-tempita,
openstack-murano-virtualenv-python-decorator,
openstack-murano-virtualenv-python-webob (>= 1.2),
openstack-murano-virtualenv-python-httplib2,
openstack-murano-virtualenv-python-pycrypto (>= 2.1),
openstack-murano-virtualenv-python-iso8601 (>= 0.1.4),
openstack-murano-virtualenv-python-six,
openstack-murano-virtualenv-python-netaddr,
openstack-murano-virtualenv-python-lxml,
openstack-murano-virtualenv-python-jsonschema (>= 2.0.0),
openstack-murano-virtualenv-python-oslo.config,
openstack-murano-virtualenv-python-amqp (>= 1.0.13),
openstack-murano-virtualenv-python-pbr (<< 1.1.0),
openstack-murano-virtualenv-python-ordereddict,
openstack-murano-virtualenv-python-requests (>= 0.8.8),
openstack-murano-virtualenv-python-simplejson,
openstack-murano-virtualenv-python-kombu,
openstack-murano-virtualenv-python-prettytable (>= 0.6),
openstack-murano-virtualenv-python-pbr (<= 0.8),
openstack-murano-virtualenv-python-keystoneclient (>= 0.2),
openstack-murano-virtualenv-python-boto,
openstack-murano-virtualenv-python-passlib,
openstack-murano-virtualenv-python-paste
Description: openstack-murano-virtualenv-murano-api installed to virtualenv

View File

@ -0,0 +1,3 @@
README.rst
requirements.txt
test-requirements.txt

View File

@ -0,0 +1,159 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: murano-api
# Required-Start: $network $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: <Enter a short description of the sortware>
# Description: <Enter a long description of the software>
# <...>
# <...>
### END INIT INFO
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=murano-api # Introduce a short description here
NAME=murano-api # Introduce the short server's name here
DAEMON=/opt/openstack-murano-virtualenv/bin/murano-api # Introduce the server's location here
DAEMON_ARGS="--config-file /etc/murano/murano-api.conf" # Arguments to run the daemon with
VENV=/opt/openstack-murano-virtualenv/bin/activate
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
. $VENV
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
if [ -f $PIDFILE ]
then
exit 0
fi
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
. $VENV
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --pidfile $PIDFILE
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac
:

View File

@ -0,0 +1,3 @@
#!/bin/bash
mkdir -p /var/log/murano

View File

@ -0,0 +1,18 @@
#!/usr/bin/make -f
# -*- makefile -*-
export DH_VERBOSE=1
%:
dh $@ --buildsystem python_distutils --with python2
#override_dh_auto_install:
# sed -i "/setup_requires=.*/d" setup.py
# sed -i "/'.*'/d" setup.py
# sed -i "/],/d" setup.py
# /opt/openstack-murano-virtualenv/bin/python setup.py install --force --no-compile -O0 --root=debian/openstack-murano-virtualenv-murano-api
# mkdir -p debian/openstack-murano-virtualenv-murano-api/etc
# cp -r etc/ debian/openstack-murano-virtualenv-murano-api/etc/murano
override_dh_installinit:
dh_installinit --no-start --name openstack-murano-api

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'

View File

@ -0,0 +1 @@
8

View File

@ -0,0 +1,33 @@
Source: openstack-murano-virtualenv-murano-common
Section: Python
Priority: extra
Maintainer: root <ashestakov@mirantis.com>
Build-Depends: debhelper (>= 8.0.0),
python-setuptools,
python-virtualenv,
openstack-murano-virtualenv,
openstack-murano-virtualenv-python-d2to1 (>= 0.2.10),
openstack-murano-virtualenv-python-d2to1 (<< 0.3),
openstack-murano-virtualenv-python-pbr (>= 0.5),
openstack-murano-virtualenv-python-pbr (<< 0.6),
openstack-murano-virtualenv-python-anyjson,
openstack-murano-virtualenv-python-eventlet (>= 0.9.12),
openstack-murano-virtualenv-python-puka (>= 1.0.7c)
Standards-Version: 3.9.2
Homepage: mirantis.com
Package: openstack-murano-virtualenv-murano-common
Architecture: all
Depends: ${misc:Depends}
python,
python-setuptools,
python-virtualenv,
openstack-murano-virtualenv,
openstack-murano-virtualenv-python-d2to1 (>= 0.2.10),
openstack-murano-virtualenv-python-d2to1 (<< 0.3),
openstack-murano-virtualenv-python-pbr (>= 0.5),
openstack-murano-virtualenv-python-pbr (<< 0.6),
openstack-murano-virtualenv-python-anyjson,
openstack-murano-virtualenv-python-eventlet (>= 0.9.12),
openstack-murano-virtualenv-python-puka (>= 1.0.7c)
Description: openstack-murano-virtualenv-murano-common installed to virtualenv

View File

@ -0,0 +1,3 @@
README.rst
requirements.txt
test-requirements.txt

View File

@ -0,0 +1,11 @@
#!/usr/bin/make -f
# -*- makefile -*-
# export DH_VERBOSE=1
%:
dh $@ --buildsystem python_distutils --with python2
override_dh_auto_install:
/opt/openstack-murano-virtualenv/bin/python setup.py install --force --no-compile -O0 --root=debian/openstack-murano-virtualenv-murano-common

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'

View File

@ -0,0 +1 @@
8

View File

@ -0,0 +1,107 @@
Source: openstack-murano-virtualenv-murano-conductor
Section: Python
Priority: extra
Maintainer: root <ashestakov@mirantis.com>
Build-Depends: debhelper (>= 8.0.0),
python-setuptools,
python-virtualenv,
openstack-murano-virtualenv,
openstack-murano-virtualenv-python-d2to1,
openstack-murano-virtualenv-python-greenlet,
openstack-murano-virtualenv-python-markupsafe,
openstack-murano-virtualenv-python-pbr,
openstack-murano-virtualenv-python-puka (>= 1.0.7c),
openstack-murano-virtualenv-python-eventlet (>= 0.9.12),
openstack-murano-virtualenv-python-anyjson,
openstack-murano-virtualenv-murano-common (>= 0.2),
openstack-murano-virtualenv-python-babel,
openstack-murano-virtualenv-python-sqlalchemy,
openstack-murano-virtualenv-python-pastedeploy,
openstack-murano-virtualenv-python-repoze.lru,
openstack-murano-virtualenv-python-routes,
openstack-murano-virtualenv-python-pytz,
openstack-murano-virtualenv-python-sqlalchemy-migrate,
openstack-murano-virtualenv-python-tempita,
openstack-murano-virtualenv-python-decorator,
openstack-murano-virtualenv-python-webob,
openstack-murano-virtualenv-python-httplib2,
openstack-murano-virtualenv-python-pycrypto,
openstack-murano-virtualenv-python-iso8601 (>= 0.1.4),
openstack-murano-virtualenv-python-six,
openstack-murano-virtualenv-python-netaddr,
openstack-murano-virtualenv-python-lxml,
openstack-murano-virtualenv-python-jsonschema (>= 2.0.0),
openstack-murano-virtualenv-python-oslo.config,
openstack-murano-virtualenv-python-amqp,
openstack-murano-virtualenv-python-ordereddict,
openstack-murano-virtualenv-python-requests,
openstack-murano-virtualenv-python-simplejson,
openstack-murano-virtualenv-python-kombu,
openstack-murano-virtualenv-python-prettytable,
openstack-murano-virtualenv-python-keystoneclient (>= 0.3.0),
openstack-murano-virtualenv-python-boto,
openstack-murano-virtualenv-python-passlib,
openstack-murano-virtualenv-python-paste,
openstack-murano-virtualenv-python-jsonpath,
openstack-murano-virtualenv-python-heatclient (>= 0.2.4),
openstack-murano-virtualenv-python-deep,
openstack-murano-virtualenv-python-warlock,
openstack-murano-virtualenv-python-jsonpatch,
openstack-murano-virtualenv-python-jsonpointer,
openstack-murano-virtualenv-python-mysql,
openstack-murano-virtualenv-python-quantumclient
Standards-Version: 3.9.2
Homepage: mirantis.com
Package: openstack-murano-virtualenv-murano-conductor
Architecture: all
Depends: ${misc:Depends}
python,
python-setuptools,
python-virtualenv,
openstack-murano-virtualenv,
openstack-murano-virtualenv-python-d2to1,
openstack-murano-virtualenv-python-greenlet,
openstack-murano-virtualenv-python-markupsafe,
openstack-murano-virtualenv-python-pbr,
openstack-murano-virtualenv-python-puka (>= 1.0.7c),
openstack-murano-virtualenv-python-eventlet (>= 0.9.12),
openstack-murano-virtualenv-python-anyjson,
openstack-murano-virtualenv-murano-common (>= 0.2),
openstack-murano-virtualenv-python-babel,
openstack-murano-virtualenv-python-sqlalchemy,
openstack-murano-virtualenv-python-pastedeploy,
openstack-murano-virtualenv-python-repoze.lru,
openstack-murano-virtualenv-python-routes,
openstack-murano-virtualenv-python-pytz,
openstack-murano-virtualenv-python-sqlalchemy-migrate,
openstack-murano-virtualenv-python-tempita,
openstack-murano-virtualenv-python-decorator,
openstack-murano-virtualenv-python-webob,
openstack-murano-virtualenv-python-httplib2,
openstack-murano-virtualenv-python-pycrypto,
openstack-murano-virtualenv-python-iso8601 (>= 0.1.4),
openstack-murano-virtualenv-python-six,
openstack-murano-virtualenv-python-netaddr,
openstack-murano-virtualenv-python-lxml,
openstack-murano-virtualenv-python-jsonschema (>= 2.0.0),
openstack-murano-virtualenv-python-oslo.config,
openstack-murano-virtualenv-python-amqp,
openstack-murano-virtualenv-python-ordereddict,
openstack-murano-virtualenv-python-requests,
openstack-murano-virtualenv-python-simplejson,
openstack-murano-virtualenv-python-kombu,
openstack-murano-virtualenv-python-prettytable,
openstack-murano-virtualenv-python-keystoneclient (>= 0.3.0),
openstack-murano-virtualenv-python-boto,
openstack-murano-virtualenv-python-passlib,
openstack-murano-virtualenv-python-paste,
openstack-murano-virtualenv-python-jsonpath,
openstack-murano-virtualenv-python-heatclient (>= 0.2.4),
openstack-murano-virtualenv-python-deep,
openstack-murano-virtualenv-python-warlock,
openstack-murano-virtualenv-python-jsonpatch,
openstack-murano-virtualenv-python-jsonpointer,
openstack-murano-virtualenv-python-mysql,
openstack-murano-virtualenv-python-quantumclient
Description: openstack-murano-virtualenv-murano-conductor installed to virtualenv

View File

@ -0,0 +1,3 @@
README.rst
requirements.txt
test-requirements.txt

View File

@ -0,0 +1,159 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: murano-conductor
# Required-Start: $network $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: <Enter a short description of the sortware>
# Description: <Enter a long description of the software>
# <...>
# <...>
### END INIT INFO
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=murano-conductor # Introduce a short description here
NAME=murano-conductor # Introduce the short server's name here
DAEMON=/opt/openstack-murano-virtualenv/bin/muranoconductor # Introduce the server's location here
DAEMON_ARGS="--config-file /etc/murano/conductor.conf" # Arguments to run the daemon with
VENV=/opt/openstack-murano-virtualenv/bin/activate
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
. $VENV
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
if [ -f $PIDFILE ]
then
exit 0
fi
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
. $VENV
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --pidfile $PIDFILE
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac
:

View File

@ -0,0 +1,3 @@
#!/bin/bash
mkdir -p /var/log/murano

View File

@ -0,0 +1,21 @@
#!/usr/bin/make -f
# -*- makefile -*-
# export DH_VERBOSE=1
%:
dh $@ --buildsystem python_distutils --with python2
override_dh_auto_install:
sed -i "/setup_requires=.*/d" setup.py
sed -i "/'.*'/d" setup.py
sed -i "/],/d" setup.py
/opt/openstack-murano-virtualenv/bin/python setup.py install --force --no-compile -O0 --root=debian/openstack-murano-virtualenv-murano-conductor
mkdir -p debian/openstack-murano-virtualenv-murano-conductor/etc
cp -r etc/ debian/openstack-murano-virtualenv-murano-conductor/etc/murano
cp -r data debian/openstack-murano-virtualenv-murano-conductor/etc/murano/
cp -r data3 debian/openstack-murano-virtualenv-murano-conductor/etc/murano/
cp -r data5 debian/openstack-murano-virtualenv-murano-conductor/etc/murano/
override_dh_installinit:
dh_installinit --no-start --name openstack-murano-conductor

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'

View File

@ -0,0 +1,166 @@
#!/bin/bash
set -o xtrace
set -o nounset
source ./functions.sh
curr_dir=$(pwd)
pkg_upstream_dir=$1
[ -z "$pkg_upstream_dir" ] && die "Upstream directory must be provided."
pkg_build_dir=${BUILD_DIR:-$(cd $pkg_upstream_dir/.. && pwd)}
mkdir -p $pkg_build_dir
# Variables required for templates and build process
#---------------------------------------------------
cd $pkg_upstream_dir
pkg_upstream_url=$(git remote -v | awk '/fetch/{print $2}')
# Run setup.py once to resolve and install dependencies
# This workaround prevents us from getting gurbage in variables below
python setup.py --version
pkg_name=$(python setup.py --name)
pkg_ver_long=$(python setup.py --version)
pkg_ver=${pkg_ver_long}
#pkg_ver=${pkg_ver%.*}
#pkg_ver=${pkg_ver%.*}
pkg_fullname_long=${pkg_name}-${pkg_ver_long}
pkg_fullname=${pkg_name}-${pkg_ver}
pkg_descr_short=$(python setup.py --description)
pkg_descr_long=$(python setup.py --long-description)
pkg_homepage=$(python setup.py --url)
pkg_author=$(python setup.py --author)
pkg_license=$(python setup.py --license)
pkg_maint_name=$(python setup.py --maintainer)
pkg_maint_email=$(python setup.py --maintainer-email)
pkg_last_commit=$(git log | grep -m1 ^commit)
#---------------------------------------------------
# Importing and setting up default values for vars
#-------------------------------------------------
if [ -f $curr_dir/$pkg_name/debian/vars ] ; then
source $curr_dir/$pkg_name/debian/vars
fi
DEB_BUILD_DEPENDS=${DEB_BUILD_DEPENDS:-'debhelper (>= 8.0.0)'}
export DEBFULLNAME=${DEBFULLNAME:-$pkg_maint_name}
export DEBEMAIL=${DEBEMAIL:-$pkg_maint_email}
#-------------------------------------------------
# Copy tarball to the build_dir
#------------------------------
python setup.py sdist
cp dist/${pkg_fullname}.tar.gz $pkg_build_dir/${pkg_name}_${pkg_ver}.orig.tar.gz
#------------------------------
# Extract orig.tar.gz archive
#----------------------------
cd $pkg_build_dir
rm -rf ${pkg_fullname}
tar -xzvf ${pkg_name}_${pkg_ver}.orig.tar.gz
#----------------------------
# Create files required for debianization
#----------------------------------------
cd $pkg_build_dir/$pkg_fullname
mkdir -p debian/source
echo '8' > debian/compat
echo '3.0 (quilt)' > debian/source/format
cat << EOF > debian/control
Source: ${pkg_name}
Section: unknown
Priority: extra
Maintainer: ${DEBFULLNAME} <${DEBEMAIL}>
Build-Depends: ${DEB_BUILD_DEPENDS}
Standards-Version: 3.9.2
Homepage: ${pkg_homepage}
Vcs-Git: ${pkg_upstream_url}
Package: ${pkg_name}
Architecture: all
Depends: \${misc:Depends}, \${python:Depends} $([ -n "$DEB_DEPENDS" ] && echo ", $DEB_DEPENDS")
Description: ${pkg_descr_short}
$(echo "${pkg_descr_long}" | awk '/^$/{print " .";next}//{print " " $0}')
EOF
cat << EOF > debian/changelog
${pkg_name} (${pkg_ver}-1) unstable; urgency=low
* Initial build, based on ${pkg_last_commit}
-- ${DEBFULLNAME} <${DEBEMAIL}> $(date -R)
EOF
cat << EOF > debian/copyright
This package was debianized by ${DEBFULLNAME} on $(date -R)
It was downloaded from ${pkg_upstream_url}
Upstream author: ${pkg_author}
License: ${pkg_license}
EOF
cat << EOF > debian/rules
#!/usr/bin/make -f
%:
dh \$@ --buildsystem python_distutils --with python2
override_dh_clean:
rm -rf \$(CURDIR)\\build
dh_clean
EOF
chmod +x debian/rules
#----------------------------------------
# Update debian files from this repo
#-----------------------------------
if [ -d "$curr_dir/$pkg_name" ] ; then
cp -r "$curr_dir/$pkg_name/debian" .
fi
#-----------------------------------
# Build package
#--------------
dpkg-buildpackage -us -uc
#--------------

View File

@ -0,0 +1 @@
8

View File

@ -0,0 +1,41 @@
Source: python-muranoclient
Section: Python
Priority: extra
Maintainer: root <ashestakov@mirantis.com>
Build-Depends: debhelper (>= 8.0.0),
python-setuptools,
python-pip,
python-d2to1 (>= 0.2),
python-d2to1 (<< 0.3),
python-pbr (>= 0.5),
python-pbr (<< 0.6),
python-prettytable (>= 0.6),
python-prettytable (<< 0.7),
python-httplib2,
python-iso8601 (>= 0.1.4),
python-keystoneclient (>= 0.1.2),
python-six,
python-babel (>= 0.9.6),
python-openssl
Standards-Version: 3.9.2
Homepage: mirantis.com
Package: python-muranoclient
Architecture: all
Depends: ${misc:Depends}
python,
python-setuptools,
python-pip,
python-d2to1 (>= 0.2),
python-d2to1 (<< 0.3),
python-pbr (>= 0.5),
python-pbr (<< 0.6),
python-prettytable (>= 0.6),
python-prettytable (<< 0.7),
python-httplib2,
python-iso8601 (>= 0.1.4),
python-keystoneclient (>= 0.1.2),
python-six,
python-babel (>= 0.9.6),
python-openssl
Description: python-muranoclient

View File

@ -0,0 +1,3 @@
README.rst
requirements.txt
test-requirements.txt

View File

@ -0,0 +1,14 @@
#!/usr/bin/make -f
# -*- makefile -*-
# export DH_VERBOSE=1
%:
dh $@ --buildsystem python_distutils --with python2
override_dh_auto_install:
sed -i "/setup_requires=.*/d" setup.py
sed -i "/'.*'/d" setup.py
sed -i "/],/d" setup.py
dh_auto_install

View File

@ -0,0 +1,5 @@
DEBFULLNAME='Dmitry Teselkin'
DEBEMAIL='dteselkin@mirantis.com'
DEB_BUILD_DEPENDS='debhelper (>= 8.0.0),
python-pbr'