From fe28973675eeec96199f2c2c70ea65e2de9c561d Mon Sep 17 00:00:00 2001 From: Daneyon Hansen Date: Tue, 11 Nov 2014 21:16:53 +0000 Subject: Adds Neutron Networking Support Implements: blueprint kube-neutron-container Previously, only the neutron-server service was functional. This patch adds support the the rest of the neutron services need by Nova instances to function. The linux-bridge agent is used instead of the OVS agent to realize network abstractions. This is because the ovs-agent package will install the kernel module version of OVS instead of the userspace version. Additionally, the OVS userspace code is still very experimental and reduces performance. Requires: https://github.com/larsks/heat-kubernetes/pull/8 Change-Id: I5ef34ddeb48d4954934571a928cc82ae7f3a0f20 --- k8s/pod/neutron-controller-pod.yaml | 30 ------------------------------ k8s/pod/neutron-network-pod.yaml | 30 ++++++++++++++++++++++++++++++ k8s/pod/neutron-server-pod.yaml | 30 ++++++++++++++++++++++++++++++ k8s/pod/nova-controller-pod.yaml | 13 +++++++++---- 4 files changed, 69 insertions(+), 34 deletions(-) delete mode 100644 k8s/pod/neutron-controller-pod.yaml create mode 100644 k8s/pod/neutron-network-pod.yaml create mode 100644 k8s/pod/neutron-server-pod.yaml (limited to 'k8s') diff --git a/k8s/pod/neutron-controller-pod.yaml b/k8s/pod/neutron-controller-pod.yaml deleted file mode 100644 index b614bed41..000000000 --- a/k8s/pod/neutron-controller-pod.yaml +++ /dev/null @@ -1,30 +0,0 @@ -desiredState: - manifest: - volumes: - - name: neutron-data - source: - emptyDir: {} - containers: - - 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 -labels: - name: neutron diff --git a/k8s/pod/neutron-network-pod.yaml b/k8s/pod/neutron-network-pod.yaml new file mode 100644 index 000000000..a9fcfacd2 --- /dev/null +++ b/k8s/pod/neutron-network-pod.yaml @@ -0,0 +1,30 @@ +desiredState: + manifest: + containers: + - name: neutron-linux-bridge + image: kollaglue/fedora-rdo-linux-bridge:l3_ovs_wip + env: + - name: CONFIG_NETWORK + value: true + - name: NEUTRON_KEYSTONE_PASSWORD + value: password + - name: neutron-l3-agent + image: kollaglue/fedora-rdo-l3:l3_ovs_wip + env: + - name: NEUTRON_KEYSTONE_PASSWORD + value: password + - name: neutron-dhcp-agent + image: kollaglue/fedora-rdo-dhcp:l3_ovs_wip + env: + - name: NEUTRON_KEYSTONE_PASSWORD + value: password + - name: neutron-metadata-agent + image: kollaglue/fedora-rdo-metadata:l3_ovs_wip + env: + - name: NEUTRON_KEYSTONE_PASSWORD + value: password + id: neutron-network-1 + version: v1beta1 +id: neutron-network +labels: + name: neutron-network diff --git a/k8s/pod/neutron-server-pod.yaml b/k8s/pod/neutron-server-pod.yaml new file mode 100644 index 000000000..a8d18ee8b --- /dev/null +++ b/k8s/pod/neutron-server-pod.yaml @@ -0,0 +1,30 @@ +desiredState: + manifest: + volumes: + - name: neutron-data + source: + emptyDir: {} + containers: + - 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:l3_ovs_wip + ports: + - containerPort: 9696 + volumeMounts: + - name: neutron-data + mountPath: /var/lib/neutron + id: neutron-server-1 + version: v1beta1 +id: neutron-server +labels: + name: neutron-server diff --git a/k8s/pod/nova-controller-pod.yaml b/k8s/pod/nova-controller-pod.yaml index b7e9bce0d..903400887 100644 --- a/k8s/pod/nova-controller-pod.yaml +++ b/k8s/pod/nova-controller-pod.yaml @@ -2,6 +2,8 @@ desiredState: manifest: containers: - env: + - name: NETWORK_MANAGER + value: neutron - name: DB_ROOT_PASSWORD value: password - name: NOVA_DB_PASSWORD @@ -10,9 +12,11 @@ desiredState: value: ADMINTOKEN - name: NEUTRON_SHARED_SECRET value: sharedsecret - image: kollaglue/fedora-rdo-nova-conductor + image: kollaglue/fedora-rdo-nova-conductor:l3_ovs_wip name: nova-conductor - env: + - name: NETWORK_MANAGER + value: neutron - name: DB_ROOT_PASSWORD value: password - name: NOVA_DB_PASSWORD @@ -21,9 +25,11 @@ desiredState: value: ADMINTOKEN - name: NEUTRON_SHARED_SECRET value: sharedsecret - image: kollaglue/fedora-rdo-nova-scheduler + image: kollaglue/fedora-rdo-nova-scheduler:l3_ovs_wip name: nova-scheduler - env: + - name: NETWORK_MANAGER + value: neutron - name: DB_ROOT_PASSWORD value: password - name: NOVA_DB_PASSWORD @@ -32,12 +38,11 @@ desiredState: value: ADMINTOKEN - name: NEUTRON_SHARED_SECRET value: sharedsecret - image: kollaglue/fedora-rdo-nova-api + image: kollaglue/fedora-rdo-nova-api:l3_ovs_wip name: nova-api privileged: true id: nova-1 version: v1beta1 - id: nova labels: name: nova-controller -- cgit v1.2.3