aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-08-16 03:30:08 +0000
committerSam Yaple <sam@yaple.net>2015-08-20 09:28:09 +0000
commitb89575b419979cc6ed76bf0f56dd45f34b0aac55 (patch)
tree756699cd5b977d0babaac778a84292ef96cfe95b
parenta760549e78d2a36b2684dc75f521b5d05bb501b2 (diff)
downloadkolla-b89575b419979cc6ed76bf0f56dd45f34b0aac55.tar.gz
kolla-b89575b419979cc6ed76bf0f56dd45f34b0aac55.zip
Add Dockerfile template for nova
Change-Id: I11fd26950f76be2200730e333e365ef74dfd5747 Partially-Implements: blueprint dockerfile-template
-rw-r--r--docker_templates/nova/nova-api/Dockerfile.j216
l---------docker_templates/nova/nova-api/config-external.sh1
l---------docker_templates/nova/nova-api/start.sh1
-rw-r--r--docker_templates/nova/nova-base/Dockerfile.j252
-rw-r--r--docker_templates/nova/nova-compute/Dockerfile.j227
l---------docker_templates/nova/nova-compute/config-external.sh1
l---------docker_templates/nova/nova-compute/start.sh1
-rw-r--r--docker_templates/nova/nova-conductor/Dockerfile.j217
l---------docker_templates/nova/nova-conductor/config-external.sh1
l---------docker_templates/nova/nova-conductor/start.sh1
-rw-r--r--docker_templates/nova/nova-consoleauth/Dockerfile.j216
l---------docker_templates/nova/nova-consoleauth/config-external.sh1
l---------docker_templates/nova/nova-consoleauth/start.sh1
-rw-r--r--docker_templates/nova/nova-libvirt/Dockerfile.j222
l---------docker_templates/nova/nova-libvirt/config-external.sh1
l---------docker_templates/nova/nova-libvirt/start.sh1
-rw-r--r--docker_templates/nova/nova-network/Dockerfile.j226
l---------docker_templates/nova/nova-network/config-external.sh1
l---------docker_templates/nova/nova-network/start.sh1
-rw-r--r--docker_templates/nova/nova-novncproxy/Dockerfile.j227
l---------docker_templates/nova/nova-novncproxy/config-external.sh1
l---------docker_templates/nova/nova-novncproxy/start.sh1
-rw-r--r--docker_templates/nova/nova-scheduler/Dockerfile.j216
l---------docker_templates/nova/nova-scheduler/config-external.sh1
l---------docker_templates/nova/nova-scheduler/start.sh1
25 files changed, 235 insertions, 0 deletions
diff --git a/docker_templates/nova/nova-api/Dockerfile.j2 b/docker_templates/nova/nova-api/Dockerfile.j2
new file mode 100644
index 000000000..1b1e11927
--- /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 000000000..bfa5b09c0
--- /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 000000000..e4407856e
--- /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 000000000..46ce0e2e0
--- /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 000000000..84dd5d3d8
--- /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 000000000..f04828004
--- /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 000000000..6745e03e6
--- /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 000000000..572d2b46a
--- /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 000000000..0f8937e2d
--- /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 000000000..bd27c2681
--- /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 000000000..c1e8cbffb
--- /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 000000000..90fedb172
--- /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 000000000..23339e5d9
--- /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 000000000..691ec8133
--- /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 000000000..cdcc6cc68
--- /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 000000000..8188547e1
--- /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 000000000..2f6adf18e
--- /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 000000000..02cf8efee
--- /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 000000000..ce608a5d4
--- /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 000000000..58a4664bd
--- /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 000000000..87797c27c
--- /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 000000000..36d3f1a45
--- /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 000000000..66b4910bc
--- /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 000000000..4021bbbda
--- /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 000000000..cd2206191
--- /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