| # Copyright 2018 Telefonica S.A. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| # implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| .PHONY: all test clean |
| |
| SHELL := /bin/bash |
| |
| BRANCH ?= master |
| |
| all: clean package |
| |
| clean: |
| rm -rf dist deb_dist osm_ro-*.tar.gz osm_ro.egg-info .eggs |
| find osm_ro -name '*.pyc' -delete |
| find osm_ro -name '*.pyo' -delete |
| |
| package: |
| # apt-get install -y python-stdeb |
| python3 setup.py --command-packages=stdeb.command sdist_dsc |
| cp debian/python3-osm-ro.postinst deb_dist/osm-ro*/debian/ |
| # cd deb_dist/osm-nbi*/debian && echo "cryptography python3-cryptography (>= 1.9)" > py3dist-overrides |
| cd deb_dist/osm-ro*/ && dpkg-buildpackage -rfakeroot -uc -us |
| # mkdir -p .build |
| # cp build/deb_dist/python-*.deb .build/ |
| |
| clean_build: |
| rm -rf build |
| find osm_ro -name '*.pyc' -delete |
| find osm_ro -name '*.pyo' -delete |
| |
| prepare: |
| # ip install --user --upgrade setuptools |
| mkdir -p build/ |
| # VER1=$(shell git describe | sed -e 's/^v//' |cut -d- -f1); \ |
| # VER2=$(shell git describe | cut -d- -f2); \ |
| # VER3=$(shell git describe | cut -d- -f3); \ |
| # echo "$$VER1.dev$$VER2+$$VER3" > build/RO_VERSION |
| cp tox.ini build/ |
| cp MANIFEST.in build/ |
| cp requirements.txt build/ |
| cp README.rst build/ |
| cp setup.py build/ |
| cp stdeb.cfg build/ |
| cp -r osm_ro build/ |
| cp openmano build/ |
| cp openmanod build/ |
| cp -r vnfs build/osm_ro |
| cp -r scenarios build/osm_ro |
| cp -r instance-scenarios build/osm_ro |
| cp -r scripts build/osm_ro |
| cp -r database_utils build/osm_ro |
| cp LICENSE build/osm_ro |
| |
| connectors: prepare |
| # python-novaclient is required for that |
| rm -f build/osm_ro/openmanolinkervimconn.py |
| cd build/osm_ro; for i in `ls vimconn_*.py |sed "s/\.py//"` ; do echo "import $$i" >> openmanolinkervimconn.py; done |
| python build/osm_ro/openmanolinkervimconn.py 2>&1 |
| rm -f build/osm_ro/openmanolinkervimconn.py |
| |
| build: connectors prepare |
| python -m py_compile build/osm_ro/*.py |
| # cd build && tox -e flake8 |
| |
| lib-openvim: |
| $(shell git clone https://osm.etsi.org/gerrit/osm/openvim) |
| LIB_BRANCH=$(shell git -C openvim branch -a|grep -oP 'remotes/origin/\K$(BRANCH)'); \ |
| [ -z "$$LIB_BRANCH" ] && LIB_BRANCH='master'; \ |
| echo "BRANCH: $(BRANCH)"; \ |
| echo "LIB_OPENVIM_BRANCH: $$LIB_BRANCH"; \ |
| git -C openvim checkout $$LIB_BRANCH |
| make -C openvim clean lite |
| |
| osm-im: |
| $(shell git clone https://osm.etsi.org/gerrit/osm/IM) |
| make -C IM clean all |
| |
| snap: |
| echo "Nothing to be done yet" |
| |
| install: lib-openvim osm-im |
| dpkg -i IM/deb_dist/python-osm-im*.deb |
| dpkg -i openvim/.build/python-lib-osm-openvim*.deb |
| dpkg -i .build/python-osm-ro*.deb |
| cd .. && \ |
| OSMLIBOVIM_PATH=`python -c 'import lib_osm_openvim; print lib_osm_openvim.__path__[0]'` || FATAL "lib-osm-openvim was not properly installed" && \ |
| OSMRO_PATH=`python -c 'import osm_ro; print osm_ro.__path__[0]'` || FATAL "osm-ro was not properly installed" && \ |
| USER=root DEBIAN_FRONTEND=noninteractive $$OSMRO_PATH/database_utils/install-db-server.sh --updatedb || FATAL "osm-ro db installation failed" && \ |
| 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" |
| service osm-ro restart |
| |
| develop: prepare |
| # pip install -r requirements.txt |
| cd build && ./setup.py develop |
| |
| test: |
| . ./test/basictest.sh -f --insert-bashrc --install-openvim --init-openvim |
| . ./test/basictest.sh -f reset add-openvim |
| ./test/test_RO.py deploy -n mgmt -t osm -i cirros034 -d local-openvim --timeout=30 --failfast |
| ./test/test_RO.py vim -t osm -d local-openvim --timeout=30 --failfast |
| |
| build-docker-from-source: |
| docker build -t osm/openmano -f docker/Dockerfile-local . |
| |
| run-docker: |
| docker-compose -f docker/openmano-compose.yml up |
| |
| stop-docker: |
| docker-compose -f docker/openmano-compose.yml down |
| |
| |