Remove services/cinder

Partially-Implements: blueprint services-redux
Change-Id: Ib51dadbfe55a02989ee941c9704cacfeaac6a311
This commit is contained in:
Steven Dake 2017-04-03 09:54:30 -07:00
parent 94654fe812
commit e3d9454ce1
9 changed files with 3 additions and 591 deletions

View File

@ -835,13 +835,6 @@ kolla-kubernetes:
- name: iscsi-tgtd
template: services/iscsi/iscsi-tgtd-daemonset.yml.j2
- name: cinder
pods:
- name: cinder
containers:
- name: cinder-api
- name: cinder-scheduler
- name: cinder-backup
- name: cinder-volume
resources:
configmap:
- name: cinder-api
@ -874,110 +867,6 @@ kolla-kubernetes:
configmap_name: cinder-volume-logging
log_format: 'openstack'
secret:
disk:
pv:
pvc:
svc:
- name: cinder-api
template: services/common/generic-service.yml.j2
vars:
port_name: cinder_api_port
service: cinder
type: api
name: cinder-api
bootstrap:
- name: cinder-create-db
template: services/cinder/cinder-bootstrap-job-create-db.yml.j2
- name: cinder-manage-db
template: services/cinder/cinder-bootstrap-job-manage-db.yml.j2
- name: cinder-create-keystone-endpoint-public
template: services/common/common-create-keystone-endpoint.yml.j2
vars:
service_name: cinder
service_type: volume
interface: public
service_auth: openstack_cinder_auth
description: Openstack Block Storage
endpoint: cinder_public_endpoint
- name: cinder-create-keystone-endpoint-internal
template: services/common/common-create-keystone-endpoint.yml.j2
vars:
service_name: cinder
service_type: volume
interface: internal
service_auth: openstack_cinder_auth
description: Openstack Block Storage
endpoint: cinder_internal_endpoint
- name: cinder-create-keystone-endpoint-admin
template: services/common/common-create-keystone-endpoint.yml.j2
vars:
service_name: cinder
service_type: volume
interface: admin
service_auth: openstack_cinder_auth
description: Openstack Block Storage
endpoint: cinder_admin_endpoint
- name: cinder-create-keystone-endpoint-publicv2
template: services/common/common-create-keystone-endpoint.yml.j2
vars:
service_name: cinder
service_type: volume
interface: public
service_auth: openstack_cinder_auth
description: Openstack Block Storage
endpoint: cinder_public_endpointv2
postfix: v2
- name: cinder-create-keystone-endpoint-internalv2
template: services/common/common-create-keystone-endpoint.yml.j2
vars:
service_name: cinder
service_type: volume
interface: internal
service_auth: openstack_cinder_auth
description: Openstack Block Storage
endpoint: cinder_internal_endpointv2
postfix: v2
- name: cinder-create-keystone-endpoint-adminv2
template: services/common/common-create-keystone-endpoint.yml.j2
vars:
service_name: cinder
service_type: volume
interface: admin
service_auth: openstack_cinder_auth
description: Openstack Block Storage
endpoint: cinder_admin_endpointv2
postfix: v2
- name: cinder-create-keystone-user
template: services/common/common-create-keystone-user.yml.j2
vars:
user: cinder
role: admin
service_auth: openstack_cinder_auth
secret: cinder-keystone-password
pod:
- name: cinder-api
template: services/common/common-deployment.yml.j2
vars:
replicas: cinder_api_replicas
service_name: cinder
service_type: api
service_location: kolla_kubernetes_hostlabel_cinder_api
config_file_name: cinder.conf
config_section_name: DEFAULT
config_listen_host_parameter: osapi_volume_listen
config_listen_port_parameter: osapi_volume_listen_port
port: cinder_api_port
port_name: cinder-api
image: cinder_api_image_full
check_path: /
- name: cinder-scheduler
template: services/cinder/cinder-scheduler-pod.yml.j2
- name: cinder-backup
template: services/cinder/cinder-backup-pod.yml.j2
- name: cinder-volume-lvm
template: services/cinder/cinder-volume-lvm-pod.yml.j2
- name: cinder-volume-ceph
template: services/cinder/cinder-volume-ceph-pod.yml.j2
- name: elasticsearch
pods:
- name: elasticsearch

View File

@ -169,8 +169,9 @@ class Service(object):
def __init__(self, y):
self.y = y
self.pods = collections.OrderedDict()
for i in self.y['pods']:
self.pods[i['name']] = Pod(i)
if 'pods' in self.y:
for i in self.y['pods']:
self.pods[i['name']] = Pod(i)
self.resourceTemplates = {}
for rt in self.VALID_RESOURCE_TYPES:
# Initialize instance resourceTemplates hash

View File

@ -1,83 +0,0 @@
{%- set resourceName = kolla_kubernetes.cli.args.resource_name %}
{%- import "services/common/common-lib.yml.j2" as lib with context %}
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: cinder-backup
namespace: {{ kolla_kubernetes_namespace }}
spec:
serviceName: "cinder-backup"
replicas: {{ cinder_backup_replicas }}
template:
metadata:
labels:
service: cinder-backup
type: backup
annotations:
pod.beta.kubernetes.io/init-containers: '[
{
"name": "initialize-cinder-volume",
"image": "{{ kolla_toolbox_image_full }}",
"imagePullPolicy": "IfNotPresent",
"command": [
"sh",
"-ce",
"cp -a /srv/configmap/..data/* /srv/pod-main-config/; "],
"volumeMounts": [
{
"name": "cinder-backup-configmap",
"mountPath": "/srv/configmap"
},
{
"name": "pod-main-config",
"mountPath": "/srv/pod-main-config"
}
]
},
{
"name": "initialize-cinder-logs",
"image": "{{ cinder_backup_image_full }}",
"command": [
"sh",
"-ce",
"mkdir /var/log/kolla/cinder ;
chown -R cinder: /var/log/kolla/cinder "],
"volumeMounts": [
{
"name": "kolla-logs",
"mountPath": "/var/log/kolla"
}
]
}
]'
spec:
nodeSelector:
{%- set selector = kolla_kubernetes_hostlabel_cinder_backup |
default(kolla_kubernetes_hostlabel_storage |
default(kolla_kubernetes_hostlabel_controller)
)
%}
{{ selector.key }}: {{ selector.value }}
containers:
- name: main
image: "{{ cinder_backup_image_full }}"
volumeMounts:
{{ lib.common_volume_mounts(indent=12) }}
- mountPath: /var/lib/kolla-kubernetes/event
name: kolla-kubernetes-events
- mountPath: {{ container_config_directory }}
name: pod-main-config
env:
- name: KOLLA_CONFIG_STRATEGY
value: {{ config_strategy }}
{{ lib.common_containers(indent=8) }}
volumes:
{{ lib.common_volumes(indent=8) }}
- name: kolla-kubernetes-events
emptyDir: {}
- name: pod-main-config
emptyDir: {}
- name: cinder-backup-configmap
configMap:
name: cinder-backup

View File

@ -1,76 +0,0 @@
{%- set podTypeBootstrap = "yes" %}
{%- set resourceName = kolla_kubernetes.cli.args.resource_name %}
{%- import "services/common/common-lib.yml.j2" as lib with context %}
apiVersion: batch/v1
kind: Job
metadata:
name: cinder-create-db
namespace: {{ kolla_kubernetes_namespace }}
spec:
parallelism: 1
completions: 1
template:
spec:
restartPolicy: OnFailure
nodeSelector:
{%- set selector = kolla_kubernetes_hostlabel_controller %}
{{ selector.key }}: {{ selector.value }}
containers:
- image: "{{ kolla_toolbox_image_full }}"
name: creating-cinder-database
command: ["sh", "-c"]
args:
- ansible localhost -m mysql_db -a
"login_host=mariadb
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='$DATABASE_PASSWORD'
name='{{ cinder_database_name }}'"
volumeMounts:
{{ lib.common_volume_mounts(indent=12) }}
env:
- name: ANSIBLE_NOCOLOR
value: "1"
- name: ANSIBLE_LIBRARY
value: "/usr/share/ansible"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: database-password
key: password
- image: "{{ kolla_toolbox_image_full }}"
name: creating-cinder-user-and-permissions
command: ["sh", "-c"]
args:
- ansible localhost -m mysql_user -a
"login_host=mariadb
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='$DATABASE_PASSWORD'
name='{{ cinder_database_name }}'
password='$CINDER_DATABASE_PASSWORD'
host='%'
priv='{{ cinder_database_name }}.*:ALL'
append_privs='yes'"
volumeMounts:
{{ lib.common_volume_mounts(indent=12) }}
env:
- name: ANSIBLE_NOCOLOR
value: "1"
- name: ANSIBLE_LIBRARY
value: "/usr/share/ansible"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: database-password
key: password
- name: CINDER_DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: cinder-database-password
key: password
volumes:
{{ lib.common_volumes(indent=8) }}
- name: cinder-api-config
configMap:
name: cinder-api

View File

@ -1,35 +0,0 @@
{%- set podTypeBootstrap = "yes" %}
{%- set resourceName = kolla_kubernetes.cli.args.resource_name %}
{%- import "services/common/common-lib.yml.j2" as lib with context %}
apiVersion: batch/v1
kind: Job
metadata:
name: cinder-manage-db
namespace: {{ kolla_kubernetes_namespace }}
spec:
parallelism: 1
completions: 1
template:
spec:
restartPolicy: OnFailure
nodeSelector:
{%- set selector = kolla_kubernetes_hostlabel_controller %}
{{ selector.key }}: {{ selector.value }}
containers:
- image: "{{ cinder_api_image_full }}"
name: main
env:
- name: KOLLA_BOOTSTRAP
value: ""
- name: KOLLA_CONFIG_STRATEGY
value: "{{ config_strategy }}"
volumeMounts:
{{ lib.common_volume_mounts(indent=12) }}
- mountPath: {{ container_config_directory }}
name: cinder-api-config
readOnly: true
volumes:
{{ lib.common_volumes(indent=8) }}
- name: cinder-api-config
configMap:
name: cinder-api

View File

@ -1,41 +0,0 @@
{%- set resourceName = kolla_kubernetes.cli.args.resource_name %}
{%- import "services/common/common-lib.yml.j2" as lib with context %}
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: cinder-scheduler
namespace: {{ kolla_kubernetes_namespace }}
spec:
serviceName: "cinder"
replicas: {{ cinder_scheduler_replicas }}
template:
metadata:
labels:
service: cinder
type: scheduler
spec:
nodeSelector:
{%- set selector = kolla_kubernetes_hostlabel_cinder_scheduler |
default(kolla_kubernetes_hostlabel_controller)
%}
{{ selector.key }}: {{ selector.value }}
containers:
- name: main
image: "{{ cinder_scheduler_image_full }}"
volumeMounts:
{{ lib.common_volume_mounts(indent=12) }}
- mountPath: /var/lib/kolla-kubernetes/event
name: kolla-kubernetes-events
- mountPath: {{ container_config_directory }}
name: cinder-scheduler-configmap
env:
- name: KOLLA_CONFIG_STRATEGY
value: {{ config_strategy }}
{{ lib.common_containers(indent=8) }}
volumes:
{{ lib.common_volumes(indent=8) }}
- name: kolla-kubernetes-events
emptyDir: {}
- name: cinder-scheduler-configmap
configMap:
name: cinder-scheduler

View File

@ -1,103 +0,0 @@
{%- set resourceName = kolla_kubernetes.cli.args.resource_name %}
{%- set loggerConfigmapName = "cinder-volume" %}
{%- import "services/common/common-lib.yml.j2" as lib with context %}
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: cinder-volume-ceph
namespace: {{ kolla_kubernetes_namespace }}
labels:
component: cinder-volume-ceph
system: cinder-volume-ceph
spec:
serviceName: "cinder"
replicas: {{ cinder_volume_ceph_replicas }}
template:
metadata:
labels:
component: cinder-volume-ceph
system: cinder-volume-ceph
annotations:
pod.beta.kubernetes.io/init-containers: '[
{
"name": "initialize-config",
"image": "{{ kolla_toolbox_image_full }}",
"imagePullPolicy": "IfNotPresent",
"command": [
"bash",
"-ec",
"cp -a /srv/configmap/..data/* /srv/pod-main-config/;
cp -a /srv/ceph.conf /srv/pod-main-config/;
cp -a /srv/ceph.client.cinder.keyring /srv/pod-main-config/;
"],
"volumeMounts": [
{
"name": "ceph-conf",
"mountPath": "/srv/ceph.conf",
"subPath": "ceph.conf"
},
{
"name": "ceph-client-cinder-keyring",
"mountPath": "/srv/ceph.client.cinder.keyring",
"subPath": "ceph.client.cinder.keyring"
},
{
"name": "cinder-volume-configmap",
"mountPath": "/srv/configmap"
},
{
"name": "pod-main-config",
"mountPath": "/srv/pod-main-config"
}
]
},
{
"name": "initialize-cinder-logs",
"image": "{{ cinder_volume_image_full }}",
"command": [
"sh",
"-ce",
"mkdir /var/log/kolla/cinder ;
chown -R cinder: /var/log/kolla/cinder "],
"volumeMounts": [
{
"name": "kolla-logs",
"mountPath": "/var/log/kolla"
}
]
}
]'
spec:
hostPID: True
nodeSelector:
{%- set selector = kolla_kubernetes_hostlabel_storage_ceph |
default(kolla_kubernetes_hostlabel_storage |
default(kolla_kubernetes_hostlabel_controller)
)
%}
{{ selector.key }}: {{ selector.value }}
containers:
- image: "{{ cinder_volume_image_full }}"
name: main
env:
- name: KOLLA_CONFIG_STRATEGY
value: COPY_ALWAYS
volumeMounts:
{{ lib.common_volume_mounts(indent=12) }}
- mountPath: {{ container_config_directory }}
name: pod-main-config
readOnly: true
{{ lib.common_containers(indent=8) }}
volumes:
{{ lib.common_volumes(indent=8) }}
- name: pod-main-config
emptyDir: {}
- name: cinder-volume-configmap
configMap:
name: cinder-volume
- name: ceph-conf
configMap:
name: ceph-conf
- name: ceph-client-cinder-keyring
secret:
secretName: ceph-client-cinder-keyring

View File

@ -1,137 +0,0 @@
{%- set resourceName = kolla_kubernetes.cli.args.resource_name %}
{%- set loggerConfigmapName = "cinder-volume" %}
{%- set netHostTrue = "yes" %}
{%- import "services/common/common-lib.yml.j2" as lib with context %}
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: cinder-volume-lvm
namespace: {{ kolla_kubernetes_namespace }}
labels:
component: cinder-volume-lvm
system: cinder-volume-lvm
spec:
template:
metadata:
labels:
component: cinder-volume-lvm
system: cinder-volume-lvm
annotations:
pod.alpha.kubernetes.io/init-containers: '[
{
"name": "initialize-cinder-volume-lvm",
"image": "{{ kolla_toolbox_image_full }}",
"command": [
"bash",
"-ce",
"cp -a /srv/configmap/..data/* /srv/pod-main-config/;
{%- if storage_interface is defined -%}
compute_node_mgnt_interface=''{{ storage_interface }}'';
{%- else -%}
compute_node_mgnt_interface=$(ip route | grep default | awk ''{print $5}'');
{%- endif -%}
compute_node_ip=$(ip addr show dev $compute_node_mgnt_interface | grep ''state UP'' -A2 | tail -n1 | awk ''{print $2}'' | cut -f1 -d''/'');
{%- if cinder_storage_list is defined -%}
{%- for backends in cinder_storage_list -%}
{%- if 'lvm_backends' in backends -%}
{%- for lvm_backend in backends -%}
{%- for iscsi_targets in backends[lvm_backend] -%}
{%- for item in iscsi_targets -%}
{%- set vg_ip = iscsi_targets[item]['ip'] -%}
{%- set vg_name = iscsi_targets[item]['vg_name'] -%}
{%- set lvm_enabled_backend = (vg_ip + '_' + vg_name)|string -%}
if [ $compute_node_ip = ''{{ vg_ip }}'' ];
then crudini --set /srv/pod-main-config/cinder.conf DEFAULT enabled_backends {{ lvm_enabled_backend }};
crudini --set /srv/pod-main-config/cinder.conf {{ lvm_enabled_backend }} volume_group {{ vg_name }};
crudini --set /srv/pod-main-config/cinder.conf {{ lvm_enabled_backend }} volume_backend_name {{ lvm_enabled_backend }};
crudini --set /srv/pod-main-config/cinder.conf {{ lvm_enabled_backend }} volume_driver ''cinder.volume.drivers.lvm.LVMVolumeDriver'';
crudini --set /srv/pod-main-config/cinder.conf {{ lvm_enabled_backend }} iscsi_helper ''tgtadm'';
crudini --set /srv/pod-main-config/cinder.conf {{ lvm_enabled_backend }} iscsi_protocol ''iscsi'';
crudini --set /srv/pod-main-config/cinder.conf {{ lvm_enabled_backend }} iscsi_ip_address {{ vg_ip }};
fi;
{%- endfor -%}
{%- endfor -%}
{%- endfor -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%} "],
"volumeMounts": [
{
"name": "cinder-volume-configmap",
"mountPath": "/srv/configmap"
},
{
"name": "pod-main-config",
"mountPath": "/srv/pod-main-config"
}
]
},
{
"name": "initialize-cinder-logs",
"image": "{{ cinder_volume_image_full }}",
"command": [
"sh",
"-ce",
"mkdir /var/log/kolla/cinder ;
chown -R cinder: /var/log/kolla/cinder "],
"volumeMounts": [
{
"name": "kolla-logs",
"mountPath": "/var/log/kolla"
}
]
}
]'
spec:
hostNetwork: True
hostIPC: True
nodeSelector:
{%- set selector = kolla_kubernetes_hostlabel_storage_lvm |
default(kolla_kubernetes_hostlabel_storage |
default(kolla_kubernetes_hostlabel_controller)
)
%}
{{ selector.key }}: {{ selector.value }}
containers:
- image: "{{ cinder_volume_image_full }}"
name: main
securityContext:
privileged: true
env:
- name: KOLLA_CONFIG_STRATEGY
value: COPY_ALWAYS
volumeMounts:
{{ lib.common_volume_mounts(indent=12) }}
- mountPath: {{ container_config_directory }}
name: pod-main-config
readOnly: true
- mountPath: /run
name: run
- mountPath: /dev
name: dev
- mountPath: /var/lib/cinder
name: cinder-volumes
- mountPath: /etc/iscsi
name: iscsi-info
{{ lib.common_containers(indent=8) }}
volumes:
{{ lib.common_volumes(indent=8) }}
- name: kolla-kubernetes-events
emptyDir: {}
- name: pod-main-config
emptyDir: {}
- name: cinder-volume-configmap
configMap:
name: cinder-volume
- name: run
hostPath:
path: /run
- name: dev
hostPath:
path: /dev
- name: cinder-volumes
hostPath:
path: /var/lib/cinder
- name: iscsi-info
hostPath:
path: /etc/iscsi

View File

@ -307,9 +307,6 @@ helm install kolla/neutron-create-keystone-endpoint-admin-job --version $VERSION
$DIR/tools/wait_for_pods.sh kolla
kollakube res delete bootstrap \
cinder-create-keystone-endpoint-publicv2
for x in cinder glance neutron nova; do
helm delete --purge $x-create-keystone-user
done