OSM IM consumed, changes in devops-related files: Makefile, Dockerfile, setup, new...
[osm/RO.git] / Makefile
1 .PHONY: all test clean
2
3 SHELL := /bin/bash
4
5 BRANCH ?= master
6
7 all: lib-openvim osm-im
8 $(MAKE) clean_build build
9 $(MAKE) clean_build package
10
11 clean: clean_build
12 rm -rf .build openvim IM
13
14 clean_build:
15 rm -rf build
16 find osm_ro -name '*.pyc' -delete
17 find osm_ro -name '*.pyo' -delete
18
19 prepare:
20 # ip install --user --upgrade setuptools
21 mkdir -p build/
22 # VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \
23 # VER2=$(shell git describe | cut -d- -f2); \
24 # VER3=$(shell git describe | cut -d- -f3); \
25 # echo "$$VER1.dev$$VER2+$$VER3" > build/RO_VERSION
26 cp tox.ini build/
27 cp MANIFEST.in build/
28 cp requirements.txt build/
29 cp README.rst build/
30 cp setup.py build/
31 cp stdeb.cfg build/
32 cp -r osm_ro build/
33 cp openmano build/
34 cp openmanod build/
35 cp -r vnfs build/osm_ro
36 cp -r scenarios build/osm_ro
37 cp -r instance-scenarios build/osm_ro
38 cp -r scripts build/osm_ro
39 cp -r database_utils build/osm_ro
40
41 connectors: prepare
42 # python-novaclient is required for that
43 rm -f build/osm_ro/openmanolinkervimconn.py
44 cd build/osm_ro; for i in `ls vimconn_*.py |sed "s/\.py//"` ; do echo "import $$i" >> openmanolinkervimconn.py; done
45 python build/osm_ro/openmanolinkervimconn.py
46 rm -f build/osm_ro/openmanolinkervimconn.py
47
48 build: connectors prepare
49 python -m py_compile build/osm_ro/*.py
50 # cd build && tox -e flake8
51
52 lib-openvim:
53 $(shell git clone https://osm.etsi.org/gerrit/osm/openvim)
54 LIB_BRANCH=$(shell git -C openvim branch -a|grep -oP 'remotes/origin/\K$(BRANCH)'); \
55 [ -z "$$LIB_BRANCH" ] && LIB_BRANCH='master'; \
56 echo "BRANCH: $(BRANCH)"; \
57 echo "LIB_OPENVIM_BRANCH: $$LIB_BRANCH"; \
58 git -C openvim checkout $$LIB_BRANCH
59 make -C openvim clean lite
60
61 osm-im:
62 $(shell git clone https://osm.etsi.org/gerrit/osm/IM)
63 make -C IM clean all
64
65 package: prepare
66 # apt-get install -y python-stdeb
67 cd build && python setup.py --command-packages=stdeb.command sdist_dsc --with-python2=True
68 cd build && cp osm_ro/scripts/python-osm-ro.postinst deb_dist/osm-ro*/debian/
69 cd build/deb_dist/osm-ro* && dpkg-buildpackage -rfakeroot -uc -us
70 mkdir -p .build
71 cp build/deb_dist/python-*.deb .build/
72
73 snap:
74 echo "Nothing to be done yet"
75
76 install:
77 dpkg -i IM/deb_dist/python-osm-im*.deb
78 dpkg -i openvim/.build/python-lib-osm-openvim*.deb
79 dpkg -i .build/python-osm-ro*.deb
80 cd .. && \
81 OSMLIBOVIM_PATH=`python -c 'import lib_osm_openvim; print lib_osm_openvim.__path__[0]'` || FATAL "lib-osm-openvim was not properly installed" && \
82 OSMRO_PATH=`python -c 'import osm_ro; print osm_ro.__path__[0]'` || FATAL "osm-ro was not properly installed" && \
83 USER=root DEBIAN_FRONTEND=noninteractive $$OSMRO_PATH/database_utils/install-db-server.sh --updatedb || FATAL "osm-ro db installation failed" && \
84 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"
85 service osm-ro restart
86
87 develop: prepare
88 # pip install -r requirements.txt
89 cd build && ./setup.py develop
90
91 test:
92 . ./test/basictest.sh -f --insert-bashrc --install-openvim --init-openvim
93 . ./test/basictest.sh -f reset add-openvim
94 ./test/test_RO.py deploy -n mgmt -t osm -i cirros034 -d local-openvim --timeout=30 --failfast
95 ./test/test_RO.py vim -t osm -d local-openvim --timeout=30 --failfast
96
97 build-docker-from-source:
98 docker build -t osm/openmano -f docker/Dockerfile-local .
99
100 run-docker:
101 docker-compose -f docker/openmano-compose.yml up
102
103 stop-docker:
104 docker-compose -f docker/openmano-compose.yml down
105
106