diff --git a/docker_templates/nova/nova-api/Dockerfile.j2 b/docker_templates/nova/nova-api/Dockerfile.j2 new file mode 100644 index 0000000000..1b1e119275 --- /dev/null +++ b/docker_templates/nova/nova-api/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install openstack-nova-api \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-api/config-external.sh b/docker_templates/nova/nova-api/config-external.sh new file mode 120000 index 0000000000..bfa5b09c03 --- /dev/null +++ b/docker_templates/nova/nova-api/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-api/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-api/start.sh b/docker_templates/nova/nova-api/start.sh new file mode 120000 index 0000000000..e4407856ea --- /dev/null +++ b/docker_templates/nova/nova-api/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-api/start.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-base/Dockerfile.j2 b/docker_templates/nova/nova-base/Dockerfile.j2 new file mode 100644 index 0000000000..46ce0e2e0d --- /dev/null +++ b/docker_templates/nova/nova-base/Dockerfile.j2 @@ -0,0 +1,52 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + openstack-nova-common \ + python-keystoneclient \ + python-cinderclient \ + python-nova \ + bridge-utils \ + && yum clean all + + {% elif base_distro in ['ubuntu', 'debian'] %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + + {% endif %} +{% elif install_type == 'source' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + bridge-utils \ + && yum clean all + + {% elif base_distro in ['ubuntu', 'debian'] %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + + {% endif %} + +RUN pip install \ + python-cinderclient \ + python-keystoneclient + +ADD ./nova.tar / +RUN ln -s /nova-* /nova + +RUN cd /nova \ + && useradd --user-group nova \ + && pip install -r requirements.txt \ + && pip install /nova \ + && tox -egenconfig \ + && mkdir /etc/nova /var/log/nova \ + && cp -r /nova/etc/nova/* /etc/nova/ \ + && chown -R nova: /etc/nova /var/log/nova \ + && rm -rf /root/.cache + +{% endif %} diff --git a/docker_templates/nova/nova-compute/Dockerfile.j2 b/docker_templates/nova/nova-compute/Dockerfile.j2 new file mode 100644 index 0000000000..84dd5d3d8d --- /dev/null +++ b/docker_templates/nova/nova-compute/Dockerfile.j2 @@ -0,0 +1,27 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install openstack-nova-compute \ + openvswitch \ + sysfsutils \ + && yum clean all + + {% endif %} +{% elif install_type == 'source' %} + +RUN yum -y install \ + sysfsutils \ + libvirt-python \ + && yum clean all + +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +VOLUME [ "/sys/fs/cgroup" ] + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-compute/config-external.sh b/docker_templates/nova/nova-compute/config-external.sh new file mode 120000 index 0000000000..f048280043 --- /dev/null +++ b/docker_templates/nova/nova-compute/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-compute/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-compute/start.sh b/docker_templates/nova/nova-compute/start.sh new file mode 120000 index 0000000000..6745e03e6b --- /dev/null +++ b/docker_templates/nova/nova-compute/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-compute/start.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-conductor/Dockerfile.j2 b/docker_templates/nova/nova-conductor/Dockerfile.j2 new file mode 100644 index 0000000000..572d2b46a0 --- /dev/null +++ b/docker_templates/nova/nova-conductor/Dockerfile.j2 @@ -0,0 +1,17 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + openstack-nova-conductor \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-conductor/config-external.sh b/docker_templates/nova/nova-conductor/config-external.sh new file mode 120000 index 0000000000..0f8937e2d4 --- /dev/null +++ b/docker_templates/nova/nova-conductor/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-conductor/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-conductor/start.sh b/docker_templates/nova/nova-conductor/start.sh new file mode 120000 index 0000000000..bd27c26817 --- /dev/null +++ b/docker_templates/nova/nova-conductor/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-conductor/start.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-consoleauth/Dockerfile.j2 b/docker_templates/nova/nova-consoleauth/Dockerfile.j2 new file mode 100644 index 0000000000..c1e8cbffbf --- /dev/null +++ b/docker_templates/nova/nova-consoleauth/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install openstack-nova-console \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-consoleauth/config-external.sh b/docker_templates/nova/nova-consoleauth/config-external.sh new file mode 120000 index 0000000000..90fedb172c --- /dev/null +++ b/docker_templates/nova/nova-consoleauth/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-consoleauth/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-consoleauth/start.sh b/docker_templates/nova/nova-consoleauth/start.sh new file mode 120000 index 0000000000..23339e5d9c --- /dev/null +++ b/docker_templates/nova/nova-consoleauth/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-consoleauth/start.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-libvirt/Dockerfile.j2 b/docker_templates/nova/nova-libvirt/Dockerfile.j2 new file mode 100644 index 0000000000..691ec81335 --- /dev/null +++ b/docker_templates/nova/nova-libvirt/Dockerfile.j2 @@ -0,0 +1,22 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + libvirt-daemon \ + libguestfs \ + qemu-system-x86 \ + libvirt-daemon-driver-nwfilter \ + libvirt-daemon-config-nwfilter \ + libvirt-daemon-driver-lxc \ + && yum clean all + +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +VOLUME [ "/sys/fs/cgroup" ] + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-libvirt/config-external.sh b/docker_templates/nova/nova-libvirt/config-external.sh new file mode 120000 index 0000000000..cdcc6cc68c --- /dev/null +++ b/docker_templates/nova/nova-libvirt/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-libvirt/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-libvirt/start.sh b/docker_templates/nova/nova-libvirt/start.sh new file mode 120000 index 0000000000..8188547e1d --- /dev/null +++ b/docker_templates/nova/nova-libvirt/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-libvirt/start.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-network/Dockerfile.j2 b/docker_templates/nova/nova-network/Dockerfile.j2 new file mode 100644 index 0000000000..2f6adf18eb --- /dev/null +++ b/docker_templates/nova/nova-network/Dockerfile.j2 @@ -0,0 +1,26 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + openstack-nova-network \ + bridge-utils \ + initscripts \ + && yum clean all + + {% endif %} +{% elif install_type == 'source' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install initscripts \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-network/config-external.sh b/docker_templates/nova/nova-network/config-external.sh new file mode 120000 index 0000000000..02cf8efee9 --- /dev/null +++ b/docker_templates/nova/nova-network/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-network/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-network/start.sh b/docker_templates/nova/nova-network/start.sh new file mode 120000 index 0000000000..ce608a5d46 --- /dev/null +++ b/docker_templates/nova/nova-network/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-network/start.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-novncproxy/Dockerfile.j2 b/docker_templates/nova/nova-novncproxy/Dockerfile.j2 new file mode 100644 index 0000000000..58a4664bdd --- /dev/null +++ b/docker_templates/nova/nova-novncproxy/Dockerfile.j2 @@ -0,0 +1,27 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + novnc \ + openstack-nova-novncproxy \ + && yum clean all + + {% endif %} +{% elif install_type == 'source' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + https://rdoproject.org/repos/openstack-kilo/rdo-release-kilo.rpm \ + novnc \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-novncproxy/config-external.sh b/docker_templates/nova/nova-novncproxy/config-external.sh new file mode 120000 index 0000000000..87797c27cc --- /dev/null +++ b/docker_templates/nova/nova-novncproxy/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-novncproxy/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-novncproxy/start.sh b/docker_templates/nova/nova-novncproxy/start.sh new file mode 120000 index 0000000000..36d3f1a459 --- /dev/null +++ b/docker_templates/nova/nova-novncproxy/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-novncproxy/start.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-scheduler/Dockerfile.j2 b/docker_templates/nova/nova-scheduler/Dockerfile.j2 new file mode 100644 index 0000000000..66b4910bc8 --- /dev/null +++ b/docker_templates/nova/nova-scheduler/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-nova-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if install_type == 'binary' %} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install openstack-nova-scheduler \ + && yum clean all + + {% endif %} +{% endif %} + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker_templates/nova/nova-scheduler/config-external.sh b/docker_templates/nova/nova-scheduler/config-external.sh new file mode 120000 index 0000000000..4021bbbdad --- /dev/null +++ b/docker_templates/nova/nova-scheduler/config-external.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-scheduler/config-external.sh \ No newline at end of file diff --git a/docker_templates/nova/nova-scheduler/start.sh b/docker_templates/nova/nova-scheduler/start.sh new file mode 120000 index 0000000000..cd22061913 --- /dev/null +++ b/docker_templates/nova/nova-scheduler/start.sh @@ -0,0 +1 @@ +../../../docker/common/nova/nova-scheduler/start.sh \ No newline at end of file