From 150ec195bd49bc0e1cc1e821a896272f610c4033 Mon Sep 17 00:00:00 2001 From: Kevin Fox Date: Wed, 31 Aug 2016 11:12:06 -0700 Subject: [PATCH] Generic Services, external ip & nodeport Refactor the services to be more generic and sharable. Add the external vip in case you need that, and allow node port to be used. Partially implements: blueprint external-ips Change-Id: I2f98e01d069a2686dd8023fa1491475d026b97b0 --- etc/kolla-kubernetes/service_resources.yml | 18 ++++++++++++++---- services/common/generic-service.yml.j2 | 19 +++++++++++++++++++ services/nova/nova-service-compute.yml.j2 | 11 ----------- services/nova/nova-service-metadata.yml.j2 | 11 ----------- 4 files changed, 33 insertions(+), 26 deletions(-) create mode 100644 services/common/generic-service.yml.j2 delete mode 100644 services/nova/nova-service-compute.yml.j2 delete mode 100644 services/nova/nova-service-metadata.yml.j2 diff --git a/etc/kolla-kubernetes/service_resources.yml b/etc/kolla-kubernetes/service_resources.yml index dc914e061..64621c9e6 100644 --- a/etc/kolla-kubernetes/service_resources.yml +++ b/etc/kolla-kubernetes/service_resources.yml @@ -216,10 +216,20 @@ kolla-kubernetes: pv: pvc: svc: - - name: nova-service-compute - template: services/nova/nova-service-compute.yml.j2 - - name: nova-service-metadata - template: services/nova/nova-service-metadata.yml.j2 + - name: nova-api + template: services/common/generic-service.yml.j2 + vars: + port_name: nova_api_port + service: nova + type: api + name: nova-api + - name: nova-metadata + template: services/common/generic-service.yml.j2 + vars: + port_name: nova_metadata_port + service: nova + type: metadata + name: nova-metadata bootstrap: - name: nova-compute-bootstrap-job template: services/nova/nova-compute-bootstrap-job.yml.j2 diff --git a/services/common/generic-service.yml.j2 b/services/common/generic-service.yml.j2 new file mode 100644 index 000000000..92c395301 --- /dev/null +++ b/services/common/generic-service.yml.j2 @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +spec: + ports: + - port: {{ global[kolla_kubernetes.template.vars.port_name] }} + targetPort: {{ global[kolla_kubernetes.template.vars.port_name] }} + name: {{ kolla_kubernetes.template.vars.name }} +{%- if global[kolla_kubernetes.template.vars.port_name + '_nodeport'] is defined %} + nodePort: {{ global[kolla_kubernetes.template.vars.port_name + '_nodeport'] }} + type: NodePort +{%- else %} + externalIPs: + - {{ kolla_kubernetes_external_vip }} +{%- endif %} + selector: + service: {{ kolla_kubernetes.template.vars.service }} + type: {{ kolla_kubernetes.template.vars.type }} +metadata: + name: {{ kolla_kubernetes.template.vars.name }} diff --git a/services/nova/nova-service-compute.yml.j2 b/services/nova/nova-service-compute.yml.j2 deleted file mode 100644 index 13dc37048..000000000 --- a/services/nova/nova-service-compute.yml.j2 +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -spec: - ports: - - port: {{ nova_api_port }} - name: nova-api - selector: - service: nova - type: api -metadata: - name: nova-api diff --git a/services/nova/nova-service-metadata.yml.j2 b/services/nova/nova-service-metadata.yml.j2 deleted file mode 100644 index 404c7fb72..000000000 --- a/services/nova/nova-service-metadata.yml.j2 +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -spec: - ports: - - port: {{ nova_metadata_port }} - name: nova-metadata - selector: - service: nova - type: api -metadata: - name: nova-metadata