blob: 9feb503f1b16acc290335b0d030ab685eb6fddf6 [file] [log] [blame]
Sean Dague3ed99c02017-06-20 14:09:30 -04001#!/bin/bash
2#
3# lib/oslo
4#
5# Functions to install **Oslo** libraries from git
6#
7# We need this to handle the fact that projects would like to use
8# pre-released versions of oslo libraries.
9
10# Dependencies:
11#
12# - ``functions`` file
13
14# ``stack.sh`` calls the entry points in this order:
15#
16# - install_oslo
17
18# Save trace setting
19_XTRACE_LIB_OSLO=$(set +o | grep xtrace)
20set +o xtrace
21
22
23# Defaults
24# --------
25GITDIR["automaton"]=$DEST/automaton
26GITDIR["castellan"]=$DEST/castellan
27GITDIR["cliff"]=$DEST/cliff
28GITDIR["cursive"]=$DEST/cursive
29GITDIR["debtcollector"]=$DEST/debtcollector
30GITDIR["futurist"]=$DEST/futurist
31GITDIR["os-client-config"]=$DEST/os-client-config
32GITDIR["osc-lib"]=$DEST/osc-lib
33GITDIR["oslo.cache"]=$DEST/oslo.cache
34GITDIR["oslo.concurrency"]=$DEST/oslo.concurrency
35GITDIR["oslo.config"]=$DEST/oslo.config
36GITDIR["oslo.context"]=$DEST/oslo.context
37GITDIR["oslo.db"]=$DEST/oslo.db
38GITDIR["oslo.i18n"]=$DEST/oslo.i18n
39GITDIR["oslo.log"]=$DEST/oslo.log
40GITDIR["oslo.messaging"]=$DEST/oslo.messaging
41GITDIR["oslo.middleware"]=$DEST/oslo.middleware
42GITDIR["oslo.policy"]=$DEST/oslo.policy
43GITDIR["oslo.privsep"]=$DEST/oslo.privsep
44GITDIR["oslo.reports"]=$DEST/oslo.reports
45GITDIR["oslo.rootwrap"]=$DEST/oslo.rootwrap
46GITDIR["oslo.serialization"]=$DEST/oslo.serialization
47GITDIR["oslo.service"]=$DEST/oslo.service
48GITDIR["oslo.utils"]=$DEST/oslo.utils
49GITDIR["oslo.versionedobjects"]=$DEST/oslo.versionedobjects
50GITDIR["oslo.vmware"]=$DEST/oslo.vmware
51GITDIR["osprofiler"]=$DEST/osprofiler
52GITDIR["pycadf"]=$DEST/pycadf
53GITDIR["python-openstacksdk"]=$DEST/python-openstacksdk
54GITDIR["stevedore"]=$DEST/stevedore
55GITDIR["taskflow"]=$DEST/taskflow
56GITDIR["tooz"]=$DEST/tooz
57# TODO(mriedem): This is a common pattern so even though os-traits isn't
58# officially an oslo library, it is nice to re-use this script for non-oslo
59# things like os-traits. We should rename this script to be more generic
60# and then fold os-brick into it also.
61GITDIR["os-traits"]=$DEST/os-traits
62
63# Support entry points installation of console scripts
64OSLO_BIN_DIR=$(get_python_exec_prefix)
65
66
67# Functions
68# ---------
69
70function _install_lib_from_source {
71 local name=$1
72 if use_library_from_git "$name"; then
73 git_clone_by_name "$name"
74 setup_dev_lib "$name"
75 fi
76}
77
78# install_oslo - install libraries that oslo needs
79function install_oslo {
80 install_libs
81}
82
83# install_libs() - Install additional libraries that we need and want
84# on all environments. Some will only install here if from source,
85# others will always install.
86function install_libs {
87 _install_lib_from_source "automaton"
88 _install_lib_from_source "castellan"
89 _install_lib_from_source "cliff"
90 _install_lib_from_source "cursive"
91 _install_lib_from_source "debtcollector"
92 _install_lib_from_source "futurist"
93 _install_lib_from_source "osc-lib"
94 _install_lib_from_source "os-client-config"
95 _install_lib_from_source "oslo.cache"
96 _install_lib_from_source "oslo.concurrency"
97 _install_lib_from_source "oslo.config"
98 _install_lib_from_source "oslo.context"
99 _install_lib_from_source "oslo.db"
100 _install_lib_from_source "oslo.i18n"
101 _install_lib_from_source "oslo.log"
102 _install_lib_from_source "oslo.messaging"
103 _install_lib_from_source "oslo.middleware"
104 _install_lib_from_source "oslo.policy"
105 _install_lib_from_source "oslo.privsep"
106 _install_lib_from_source "oslo.reports"
107 _install_lib_from_source "oslo.rootwrap"
108 _install_lib_from_source "oslo.serialization"
109 _install_lib_from_source "oslo.service"
110 _install_lib_from_source "oslo.utils"
111 _install_lib_from_source "oslo.versionedobjects"
112 _install_lib_from_source "oslo.vmware"
113 _install_lib_from_source "osprofiler"
114 _install_lib_from_source "pycadf"
115 _install_lib_from_source "python-openstacksdk"
116 _install_lib_from_source "stevedore"
117 _install_lib_from_source "taskflow"
118 _install_lib_from_source "tooz"
119 # installation of additional libraries
120 #
121 # os-traits for nova
122 _install_lib_from_source "os-traits"
123
124 # etcd (because tooz does not have a hard dependency on these)
125 pip_install etcd3
126 pip_install etcd3gw
127}
128
129# Restore xtrace
130$_XTRACE_LIB_OSLO
131
132# Tell emacs to use shell-script-mode
133## Local variables:
134## mode: shell-script
135## End: