summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/nova-base/Dockerfile3
-rwxr-xr-xdocker/nova-base/config-nova.sh26
-rw-r--r--docker/nova-compute/nova-compute/Dockerfile26
-rwxr-xr-xdocker/nova-compute/nova-compute/config-nova-compute.sh11
-rwxr-xr-xdocker/nova-compute/nova-compute/start.sh6
-rw-r--r--docker/nova-compute/nova-libvirt/Dockerfile2
-rw-r--r--docker/nova-compute/nova-network/Dockerfile12
l---------docker/nova-compute/nova-network/build1
-rwxr-xr-xdocker/nova-compute/nova-network/start.sh8
-rwxr-xr-xdocker/nova-controller/nova-api/start.sh2
-rwxr-xr-xdocker/nova-controller/nova-conductor/start.sh2
-rwxr-xr-xdocker/nova-controller/nova-scheduler/start.sh2
-rw-r--r--k8s/pod/neutron-controller-pod.yaml36
-rw-r--r--k8s/replication/nova-compute-replication.yaml14
-rw-r--r--k8s/service/nova-novncproxy-service.yaml7
15 files changed, 105 insertions, 53 deletions
diff --git a/docker/nova-base/Dockerfile b/docker/nova-base/Dockerfile
index dfe4ce003..d8933ba65 100644
--- a/docker/nova-base/Dockerfile
+++ b/docker/nova-base/Dockerfile
@@ -4,7 +4,8 @@ MAINTAINER Ryan Hallisey <rhallisey@redhat.com>
RUN yum -y install openstack-nova-common \
python-keystoneclient \
python-cinderclient \
- python-nova && yum clean all
+ python-nova \
+ bridge-utils && yum clean all
ADD config-nova.sh /opt/kolla/config-nova.sh
diff --git a/docker/nova-base/config-nova.sh b/docker/nova-base/config-nova.sh
index 104466cdd..4f086e857 100755
--- a/docker/nova-base/config-nova.sh
+++ b/docker/nova-base/config-nova.sh
@@ -11,7 +11,7 @@
: ${RABBIT_PASSWORD:=guest}
check_required_vars KEYSTONE_ADMIN_TOKEN \
- NOVA_DB_PASSWORD NEUTRON_SHARED_SECRET
+ NOVA_DB_PASSWORD
cfg=/etc/nova/nova.conf
@@ -36,13 +36,13 @@ crudini --set $cfg DEFAULT service_down_time 60
crudini --set $cfg DEFAULT rootwrap_config /etc/nova/rootwrap.conf
crudini --set $cfg DEFAULT auth_strategy keystone
crudini --set $cfg DEFAULT use_forwarded_for False
-crudini --set $cfg DEFAULT service_neutron_metadata_proxy True
-crudini --set $cfg DEFAULT neutron_metadata_proxy_shared_secret ${NEUTRON_SHARED_SECRET}
-crudini --set $cfg DEFAULT neutron_default_tenant_id default
+#crudini --set $cfg DEFAULT service_neutron_metadata_proxy True
+#crudini --set $cfg DEFAULT neutron_metadata_proxy_shared_secret ${NEUTRON_SHARED_SECRET}
+#crudini --set $cfg DEFAULT neutron_default_tenant_id default
crudini --set $cfg DEFAULT novncproxy_host 0.0.0.0
crudini --set $cfg DEFAULT novncproxy_port 6080
crudini --set $cfg DEFAULT glance_api_servers ${GLANCE_API_SERVICE_HOST}:9292
-crudini --set $cfg DEFAULT network_api_class nova.network.neutronv2.api.API
+#crudini --set $cfg DEFAULT network_api_class nova.network.neutronv2.api.API
crudini --set $cfg DEFAULT metadata_host ${MY_IP}
crudini --set $cfg DEFAULT cpu_allocation_ratio 16.0
crudini --set $cfg DEFAULT ram_allocation_ratio 1.5
@@ -50,7 +50,7 @@ crudini --set $cfg DEFAULT scheduler_default_filters RetryFilter,AvailabilityZon
crudini --set $cfg DEFAULT compute_driver nova.virt.libvirt.LibvirtDriver
crudini --set $cfg DEFAULT vif_plugging_is_fatal True
crudini --set $cfg DEFAULT vif_plugging_timeout 300
-crudini --set $cfg DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
+#crudini --set $cfg DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
crudini --set $cfg DEFAULT novncproxy_base_url http://${PUBLIC_IP}:6080/vnc_auto.html
crudini --set $cfg DEFAULT vncserver_listen 0.0.0.0
crudini --set $cfg DEFAULT vncserver_proxyclient_address ${MY_IP}
@@ -67,6 +67,20 @@ crudini --set $cfg DEFAULT admin_token "${KEYSTONE_ADMIN_TOKEN}"
crudini --set $cfg conductor workers 8
+/usr/sbin/brctl addbr nova_br
+
+crudini --set /etc/nova/nova.conf DEFAULT network_manager nova.network.manager.FlatDHCPManager
+crudini --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver
+crudini --set /etc/nova/nova.conf DEFAULT network_size 254
+crudini --set /etc/nova/nova.conf DEFAULT allow_same_net_traffic False
+crudini --set /etc/nova/nova.conf DEFAULT multi_host True
+crudini --set /etc/nova/nova.conf DEFAULT send_arp_for_ha True
+crudini --set /etc/nova/nova.conf DEFAULT share_dhcp_address True
+crudini --set /etc/nova/nova.conf DEFAULT force_dhcp_release True
+crudini --set /etc/nova/nova.conf DEFAULT flat_interface eth0
+crudini --set /etc/nova/nova.conf DEFAULT flat_network_bridge nova_br
+crudini --set /etc/nova/nova.conf DEFAULT public_interface eth0
+
# disabled pending answers to http://lists.openstack.org/pipermail/openstack/2014-October/009997.html
#for option in auth_protocol auth_host auth_port; do
# crudini --del $cfg \
diff --git a/docker/nova-compute/nova-compute/Dockerfile b/docker/nova-compute/nova-compute/Dockerfile
index ecd6b558f..e13e71eee 100644
--- a/docker/nova-compute/nova-compute/Dockerfile
+++ b/docker/nova-compute/nova-compute/Dockerfile
@@ -1,24 +1,18 @@
FROM kollaglue/fedora-rdo-nova-base
MAINTAINER Steven Dake <sdake@redhat.com>
-# broken out by operation - we don't need libvirt and
-# 200 deps for libguestfs (?)
-RUN yum -y install curl \
- iscsi-initiator-utils \
- iptables \
- iptables-ipv6 \
- ipmitool \
- libvirt-python \
- python-libguestfs \
- openssh-clients \
- rsync \
- lvm2 \
- genisoimage \
- bridge-utils \
- openstack-nova-compute \
- ; yum clean all
+RUN yum -y install openstack-nova-compute \
+ libvirtd; yum clean all
ADD config-nova-compute.sh /opt/kolla/config-nova-compute.sh
+ADD libvirt-start.sh /opt/kolla/libvirt-start.sh
+
ADD ./start.sh /start.sh
+RUN mkdir -p /var/lib/libvirt/images/
+
+VOLUME [ "/sys/fs/cgroup" ]
+VOLUME [ "/var/lib/nova" ]
+VOLUME [ "/var/lib/libvirt" ]
+
CMD ["/start.sh"]
diff --git a/docker/nova-compute/nova-compute/config-nova-compute.sh b/docker/nova-compute/nova-compute/config-nova-compute.sh
index 7ced0cac6..ddc38809d 100755
--- a/docker/nova-compute/nova-compute/config-nova-compute.sh
+++ b/docker/nova-compute/nova-compute/config-nova-compute.sh
@@ -3,11 +3,12 @@
. /opt/kolla/kolla-common.sh
. /opt/kolla/config-nova.sh
-check_required_vars NOVA_LIBVIRT_SERVICE_HOST
+#check_required_vars NOVA_LIBVIRT_SERVICE_HOST
cfg=/etc/nova/nova.conf
-crudini --set $cfg libvirt virt_type kvm
-crudini --set $cfg libvirt \
- connection_uri qemu+tcp://${NOVA_LIBVIRT_SERVICE_HOS}/system
-
+crudini --set $cfg libvirt virt_type qemu
+# separate containers don't work because of libguestfs bug
+# https://bugzilla.redhat.com/show_bug.cgi?id=1154408
+#crudini --set $cfg libvirt \
+# connection_uri qemu+tcp://${NOVA_LIBVIRT_SERVICE_HOST}/system
diff --git a/docker/nova-compute/nova-compute/start.sh b/docker/nova-compute/nova-compute/start.sh
index 3e39ec9c0..9aebdd636 100755
--- a/docker/nova-compute/nova-compute/start.sh
+++ b/docker/nova-compute/nova-compute/start.sh
@@ -4,4 +4,10 @@ set -e
. /opt/kolla/config-nova-compute.sh
+# ideally this would be a separate container, but because of libguestfs RFEs
+# this is not possible.
+. /opt/kolla/libvirt-start.sh
+
+sleep 5
+
exec /usr/bin/nova-compute
diff --git a/docker/nova-compute/nova-libvirt/Dockerfile b/docker/nova-compute/nova-libvirt/Dockerfile
index a37d97cff..9ecfc743a 100644
--- a/docker/nova-compute/nova-libvirt/Dockerfile
+++ b/docker/nova-compute/nova-libvirt/Dockerfile
@@ -15,6 +15,8 @@ RUN echo 'LIBVIRTD_ARGS="--listen"' >> /etc/sysconfig/libvirtd
RUN mkdir -p /var/lib/libvirt/images/
VOLUME [ "/sys/fs/cgroup" ]
+VOLUME [ "/var/lib/nova" ]
ADD ./start.sh /start.sh
+
CMD ["/start.sh"]
diff --git a/docker/nova-compute/nova-network/Dockerfile b/docker/nova-compute/nova-network/Dockerfile
new file mode 100644
index 000000000..135c03f4f
--- /dev/null
+++ b/docker/nova-compute/nova-network/Dockerfile
@@ -0,0 +1,12 @@
+FROM kollaglue/fedora-rdo-nova-base
+MAINTAINER Steven Dake <sdake@redhat.com>
+
+RUN yum -y install openstack-nova-network \
+ ; yum clean all
+
+ADD ./start.sh /start.sh
+
+VOLUME [ "/var/lib/nova" ]
+VOLUME [ "/var/lib/libvirt" ]
+
+CMD ["/start.sh"]
diff --git a/docker/nova-compute/nova-network/build b/docker/nova-compute/nova-network/build
new file mode 120000
index 000000000..43944faa0
--- /dev/null
+++ b/docker/nova-compute/nova-network/build
@@ -0,0 +1 @@
+../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/nova-compute/nova-network/start.sh b/docker/nova-compute/nova-network/start.sh
new file mode 100755
index 000000000..a925cefc9
--- /dev/null
+++ b/docker/nova-compute/nova-network/start.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+set -e
+
+. /opt/kolla/config-common.sh
+. /opt/kolla/config-nova.sh
+
+exec /usr/bin/nova-network
diff --git a/docker/nova-controller/nova-api/start.sh b/docker/nova-controller/nova-api/start.sh
index eca024204..2feeeea05 100755
--- a/docker/nova-controller/nova-api/start.sh
+++ b/docker/nova-controller/nova-api/start.sh
@@ -2,7 +2,7 @@
set -e
-. /opt/kolla/config-nova-controller.sh
+. /opt/kolla/config-nova.sh
check_for_keystone
diff --git a/docker/nova-controller/nova-conductor/start.sh b/docker/nova-controller/nova-conductor/start.sh
index fdb79f7fd..4053a27ff 100755
--- a/docker/nova-controller/nova-conductor/start.sh
+++ b/docker/nova-controller/nova-conductor/start.sh
@@ -2,7 +2,7 @@
set -e
-. /opt/kolla/config-nova-controller.sh
+. /opt/kolla/config-nova.sh
check_for_db
diff --git a/docker/nova-controller/nova-scheduler/start.sh b/docker/nova-controller/nova-scheduler/start.sh
index af5c8c338..71dd848f7 100755
--- a/docker/nova-controller/nova-scheduler/start.sh
+++ b/docker/nova-controller/nova-scheduler/start.sh
@@ -2,6 +2,6 @@
set -e
-. /opt/kolla/config-nova-controller.sh
+. /opt/kolla/config-nova.sh
exec /usr/bin/nova-scheduler
diff --git a/k8s/pod/neutron-controller-pod.yaml b/k8s/pod/neutron-controller-pod.yaml
index a3262a365..b614bed41 100644
--- a/k8s/pod/neutron-controller-pod.yaml
+++ b/k8s/pod/neutron-controller-pod.yaml
@@ -5,24 +5,24 @@ desiredState:
source:
emptyDir: {}
containers:
- env:
- - name: DB_ROOT_PASSWORD
- value: password
- - name: NEUTRON_DB_PASSWORD
- value: password
- - name: NEUTRON_KEYSTONE_PASSWORD
- value: password
- - name: KEYSTONE_ADMIN_TOKEN
- value: ADMINTOKEN
- - name: NOVA_ADMIN_PASSWORD
- value: kolla
- image: danehans/fedora-rdo-neutron-server
- name: neutron-server
- ports:
- - containerPort: 9696
- volumeMounts:
- - name: neutron-data
- mountPath: /var/lib/neutron
+ - name: neutron-server
+ env:
+ - name: DB_ROOT_PASSWORD
+ value: password
+ - name: NEUTRON_DB_PASSWORD
+ value: password
+ - name: NEUTRON_KEYSTONE_PASSWORD
+ value: password
+ - name: KEYSTONE_ADMIN_TOKEN
+ value: ADMINTOKEN
+ - name: NOVA_ADMIN_PASSWORD
+ value: kolla
+ image: kollaglue/fedora-rdo-neutron-server
+ ports:
+ - containerPort: 9696
+ volumeMounts:
+ - name: neutron-data
+ mountPath: /var/lib/neutron
id: neutron-controller-1
version: v1beta1
id: neutron-controller
diff --git a/k8s/replication/nova-compute-replication.yaml b/k8s/replication/nova-compute-replication.yaml
index 4c3060c63..569436b3d 100644
--- a/k8s/replication/nova-compute-replication.yaml
+++ b/k8s/replication/nova-compute-replication.yaml
@@ -6,6 +6,10 @@ desiredState:
containers:
- name: nova-compute
image: kollaglue/fedora-rdo-nova-compute
+ ports:
+ - containerPort: 12000
+ hostPort: 12000
+ privileged: true
env:
- name: DB_ROOT_PASSWORD
value: password
@@ -13,10 +17,12 @@ desiredState:
value: novadbpassword
- name: KEYSTONE_ADMIN_TOKEN
value: ADMINTOKEN
- - name: nova-libvirt
- image: kollaglue/fedora-rdo-nova-libvirt
+ - name: nova-network
+ image: kollaglue/fedora-rdo-nova-network
ports:
- - containerPort: 16509
+ - containerPort: 12001
+ hostPort: 12001
+ privileged: true
env:
- name: DB_ROOT_PASSWORD
value: password
@@ -30,7 +36,7 @@ desiredState:
name: nova-compute
replicaSelector:
name: nova-compute
- replicas: 1
+ replicas: 6
id: nova-compute-controller
kind: ReplicationController
labels:
diff --git a/k8s/service/nova-novncproxy-service.yaml b/k8s/service/nova-novncproxy-service.yaml
new file mode 100644
index 000000000..099d844a2
--- /dev/null
+++ b/k8s/service/nova-novncproxy-service.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1beta1
+containerPort: 6080
+id: nova-novncproxy
+kind: Service
+port: 6080
+selector:
+ name: nova-controller