blob: 437ce0e33360df73fc41d7f2d14a4decc9e98a79 [file] [log] [blame]
tierno7d782ef2019-10-04 12:56:31 +00001# Copyright 2018 Telefonica S.A.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12# implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16.PHONY: all test clean
17
18SHELL := /bin/bash
19
20BRANCH ?= master
21
22all: clean package
23
24clean:
25 rm -rf dist deb_dist osm_ro-*.tar.gz osm_ro.egg-info .eggs
tierno43276902020-08-03 13:39:44 +000026 find osm_ro -name '*.pyc' -delete
27 find osm_ro -name '*.pyo' -delete
tierno7d782ef2019-10-04 12:56:31 +000028
29package:
30# apt-get install -y python-stdeb
31 python3 setup.py --command-packages=stdeb.command sdist_dsc
32 cp debian/python3-osm-ro.postinst deb_dist/osm-ro*/debian/
tierno366c2602020-07-10 10:52:56 +000033 # cd deb_dist/osm-nbi*/debian && echo "cryptography python3-cryptography (>= 1.9)" > py3dist-overrides
tierno7d782ef2019-10-04 12:56:31 +000034 cd deb_dist/osm-ro*/ && dpkg-buildpackage -rfakeroot -uc -us
35 # mkdir -p .build
36 # cp build/deb_dist/python-*.deb .build/
37
38clean_build:
39 rm -rf build
40 find osm_ro -name '*.pyc' -delete
41 find osm_ro -name '*.pyo' -delete
42
43prepare:
44# ip install --user --upgrade setuptools
45 mkdir -p build/
46# VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
47# VER2=$(shell git describe | cut -d- -f2); \
48# VER3=$(shell git describe | cut -d- -f3); \
49# echo "$$VER1.dev$$VER2+$$VER3" > build/RO_VERSION
50 cp tox.ini build/
51 cp MANIFEST.in build/
52 cp requirements.txt build/
53 cp README.rst build/
54 cp setup.py build/
55 cp stdeb.cfg build/
56 cp -r osm_ro build/
57 cp openmano build/
58 cp openmanod build/
59 cp -r vnfs build/osm_ro
60 cp -r scenarios build/osm_ro
61 cp -r instance-scenarios build/osm_ro
62 cp -r scripts build/osm_ro
63 cp -r database_utils build/osm_ro
64 cp LICENSE build/osm_ro
65
66connectors: prepare
67 # python-novaclient is required for that
68 rm -f build/osm_ro/openmanolinkervimconn.py
69 cd build/osm_ro; for i in `ls vimconn_*.py |sed "s/\.py//"` ; do echo "import $$i" >> openmanolinkervimconn.py; done
70 python build/osm_ro/openmanolinkervimconn.py 2>&1
71 rm -f build/osm_ro/openmanolinkervimconn.py
72
73build: connectors prepare
74 python -m py_compile build/osm_ro/*.py
75# cd build && tox -e flake8
76
77lib-openvim:
78 $(shell git clone https://osm.etsi.org/gerrit/osm/openvim)
79 LIB_BRANCH=$(shell git -C openvim branch -a|grep -oP 'remotes/origin/\K$(BRANCH)'); \
80 [ -z "$$LIB_BRANCH" ] && LIB_BRANCH='master'; \
81 echo "BRANCH: $(BRANCH)"; \
82 echo "LIB_OPENVIM_BRANCH: $$LIB_BRANCH"; \
83 git -C openvim checkout $$LIB_BRANCH
84 make -C openvim clean lite
85
86osm-im:
87 $(shell git clone https://osm.etsi.org/gerrit/osm/IM)
88 make -C IM clean all
89
90snap:
91 echo "Nothing to be done yet"
92
93install: lib-openvim osm-im
94 dpkg -i IM/deb_dist/python-osm-im*.deb
95 dpkg -i openvim/.build/python-lib-osm-openvim*.deb
96 dpkg -i .build/python-osm-ro*.deb
97 cd .. && \
98 OSMLIBOVIM_PATH=`python -c 'import lib_osm_openvim; print lib_osm_openvim.__path__[0]'` || FATAL "lib-osm-openvim was not properly installed" && \
99 OSMRO_PATH=`python -c 'import osm_ro; print osm_ro.__path__[0]'` || FATAL "osm-ro was not properly installed" && \
100 USER=root DEBIAN_FRONTEND=noninteractive $$OSMRO_PATH/database_utils/install-db-server.sh --updatedb || FATAL "osm-ro db installation failed" && \
101 USER=root DEBIAN_FRONTEND=noninteractive $$OSMLIBOVIM_PATH/database_utils/install-db-server.sh -u mano -p manopw -d mano_vim_db --updatedb || FATAL "lib-osm-openvim db installation failed"
102 service osm-ro restart
103
104develop: prepare
105# pip install -r requirements.txt
106 cd build && ./setup.py develop
107
108test:
109 . ./test/basictest.sh -f --insert-bashrc --install-openvim --init-openvim
110 . ./test/basictest.sh -f reset add-openvim
111 ./test/test_RO.py deploy -n mgmt -t osm -i cirros034 -d local-openvim --timeout=30 --failfast
112 ./test/test_RO.py vim -t osm -d local-openvim --timeout=30 --failfast
113
114build-docker-from-source:
115 docker build -t osm/openmano -f docker/Dockerfile-local .
116
117run-docker:
118 docker-compose -f docker/openmano-compose.yml up
119
120stop-docker:
121 docker-compose -f docker/openmano-compose.yml down
122
123