Adding IM python3 dependencies
[osm/RO.git] / docker / Dockerfile-local
1 from ubuntu:xenial
2
3 LABEL authors="Gennadiy Dubina, Alfonso Tierno, Gerardo Garcia"
4
5 COPY . /root/RO
6
7 COPY docker/scripts/ /bin/RO
8
9 RUN apt-get update && \
10     DEBIAN_FRONTEND=noninteractive apt-get -y install software-properties-common && \
11     DEBIAN_FRONTEND=noninteractive add-apt-repository -y cloud-archive:queens && \
12     apt-get update && \
13     DEBIAN_FRONTEND=noninteractive apt-get -y install git make python python-pip debhelper python3 python3-all python3-pip python3-setuptools && \
14     DEBIAN_FRONTEND=noninteractive apt-get -y install wget tox && \
15     DEBIAN_FRONTEND=noninteractive pip install pip==9.0.3 && \
16     DEBIAN_FRONTEND=noninteractive pip3 install pip==9.0.3 && \
17     DEBIAN_FRONTEND=noninteractive pip install -U setuptools setuptools-version-command stdeb && \
18     DEBIAN_FRONTEND=noninteractive pip install -U pyang pyangbind && \
19     DEBIAN_FRONTEND=noninteractive pip3 install -U pyang pyangbind && \
20     DEBIAN_FRONTEND=noninteractive apt-get -y install python-yaml python-netaddr python-boto && \
21     DEBIAN_FRONTEND=noninteractive apt-get -y install software-properties-common && \
22     DEBIAN_FRONTEND=noninteractive apt-get -y install python-novaclient python-keystoneclient python-glanceclient python-cinderclient python-neutronclient && \
23     DEBIAN_FRONTEND=noninteractive pip install -U progressbar pyvmomi pyvcloud==19.1.1 && \
24     DEBIAN_FRONTEND=noninteractive apt-get -y install python-argcomplete python-bottle python-cffi python-packaging python-paramiko python-pkgconfig libmysqlclient-dev libssl-dev libffi-dev python-mysqldb && \
25     DEBIAN_FRONTEND=noninteractive apt-get -y install python-logutils python-openstackclient python-openstacksdk && \
26     DEBIAN_FRONTEND=noninteractive pip install untangle && \
27     DEBIAN_FRONTEND=noninteractive pip install -e git+https://github.com/python-oca/python-oca#egg=oca && \
28     DEBIAN_FRONTEND=noninteractive apt-get -y install python-bitarray && \
29     DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-client && \
30     mkdir -p /root/RO && \
31     make -C /root/RO clean all BRANCH=master && \
32     dpkg -i /root/RO/IM/deb_dist/python-pyang_*.deb && \
33     dpkg -i /root/RO/IM/deb_dist/python-pyangbind_*.deb && \
34     dpkg -i /root/RO/IM/deb_dist/python-osm-im*.deb && \
35     dpkg -i /root/RO/openvim/.build/python-lib-osm-openvim*.deb && \
36     dpkg -i /root/RO/.build/python-osm-ro*.deb && \
37     rm -rf /root/.cache && \
38     apt-get clean && \
39     rm -rf /var/lib/apt/lists/* && \
40     rm -rf /root/RO
41
42 VOLUME /var/log/osm
43
44 EXPOSE 9090
45
46 # Two mysql databases are needed (DB and DB_OVIM). Can be hosted on same or separated containers
47 # These ENV must be provided
48 # RO_DB_HOST: host of the main
49 # RO_DB_OVIM_HOST: ...        if empty RO_DB_HOST is assumed
50 # RO_DB_ROOT_PASSWORD: this has to be provided first time for creating database. It will create and init only if empty!
51 # RO_DB_OVIM_ROOT_PASSWORD: ...  if empty RO_DB_ROOT_PASSWORD is assumed
52 # RO_DB_USER:    default value 'mano'
53 # RO_DB_OVIM_USER:       default value 'mano'
54 # RO_DB_PASSWORD:        default value 'manopw'
55 # RO_DB_OVIM_PASSWORD:        default value 'manopw'
56 # RO_DB_PORT:             default value '3306'
57 # RO_DB_OVIM_PORT:        default value '3306'
58 # RO_DB_NAME:             default value 'mano_db'
59 # RO_DB_OVIM_NAME:        default value 'mano_vim_db'
60
61 ENV RO_DB_HOST="" \
62     RO_DB_OVIM_HOST="" \
63     RO_DB_ROOT_PASSWORD="" \
64     RO_DB_OVIM_ROOT_PASSWORD="" \
65     RO_DB_USER=mano \
66     RO_DB_OVIM_USER=mano \
67     RO_DB_PASSWORD=manopw \
68     RO_DB_OVIM_PASSWORD=manopw \
69     RO_DB_PORT=3306 \
70     RO_DB_OVIM_PORT=3306 \
71     RO_DB_NAME=mano_db \
72     RO_DB_OVIM_NAME=mano_vim_db \
73     OPENMANO_TENANT=osm
74
75 CMD /bin/RO/start.sh
76