378 lines
10 KiB
YAML
378 lines
10 KiB
YAML
- name: Upload config files
|
|
template:
|
|
src: "{{item}}"
|
|
dest: /tmp/{{item}}
|
|
backup: yes
|
|
mode: 0644
|
|
with_items:
|
|
- cinder-wsgi.conf
|
|
|
|
- include: hiera.yml
|
|
|
|
- name: Generate config files
|
|
config_template:
|
|
src: cinder.conf.j2
|
|
dest: /tmp/cinder.conf
|
|
config_overrides: '{{cinder_config}}'
|
|
config_type: ini
|
|
|
|
- name: Read configs into memory
|
|
slurp:
|
|
src: "/tmp/cinder.conf"
|
|
register: "cinder_conf"
|
|
|
|
- name: Read configs into memory
|
|
slurp:
|
|
src: "/tmp/cinder-wsgi.conf"
|
|
register: "cinder_wsgi_conf"
|
|
|
|
- name: Create cinder configmaps
|
|
ignore_errors: yes
|
|
k8s_v1_config_map:
|
|
name: cinder-api
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
state: present
|
|
debug: yes
|
|
labels:
|
|
service: cinder
|
|
data:
|
|
config.json: |
|
|
{
|
|
"command": "httpd -DFOREGROUND",
|
|
"config_files": [
|
|
{
|
|
"source": "/var/lib/kolla/config_files/cinder.conf",
|
|
"dest": "/etc/cinder/cinder.conf",
|
|
"owner": "cinder",
|
|
"perm": "0600"
|
|
},
|
|
{
|
|
"source": "/var/lib/kolla/config_files/cinder-wsgi.conf",
|
|
"dest": "/etc/httpd/conf.d/cinder-wsgi.conf",
|
|
"owner": "cinder",
|
|
"perm": "0600"
|
|
}
|
|
],
|
|
"permissions": [
|
|
{
|
|
"path": "/var/lib/cinder",
|
|
"owner": "cinder:cinder",
|
|
"recurse": true
|
|
},
|
|
{
|
|
"path": "/var/log/kolla/cinder",
|
|
"owner": "cinder:cinder",
|
|
"recurse": true
|
|
}
|
|
]
|
|
}
|
|
|
|
cinder.conf: |
|
|
{{cinder_conf['content'] | b64decode}}
|
|
|
|
cinder-wsgi.conf: |
|
|
{{cinder_wsgi_conf['content'] | b64decode}}
|
|
|
|
- name: Create cinder-scheduler configmaps
|
|
ignore_errors: yes
|
|
k8s_v1_config_map:
|
|
name: cinder-scheduler
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
state: present
|
|
debug: yes
|
|
labels:
|
|
service: cinder-scheduler
|
|
data:
|
|
config.json: |
|
|
{
|
|
"command": "cinder-scheduler --config-file /etc/cinder/cinder.conf",
|
|
"config_files": [
|
|
{
|
|
"source": "/var/lib/kolla/config_files/cinder.conf",
|
|
"dest": "/etc/cinder/cinder.conf",
|
|
"owner": "cinder",
|
|
"perm": "0600"
|
|
}
|
|
],
|
|
"permissions": [
|
|
{
|
|
"path": "/var/lib/cinder",
|
|
"owner": "cinder:cinder",
|
|
"recurse": true
|
|
},
|
|
{
|
|
"path": "/var/log/kolla/cinder",
|
|
"owner": "cinder:cinder",
|
|
"recurse": true
|
|
}
|
|
]
|
|
}
|
|
|
|
cinder.conf: |
|
|
{{cinder_conf['content'] | b64decode}}
|
|
|
|
- name: Create cinder-volume configmaps
|
|
ignore_errors: yes
|
|
k8s_v1_config_map:
|
|
name: cinder-volume
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
state: present
|
|
debug: yes
|
|
labels:
|
|
service: cinder-volume
|
|
data:
|
|
config.json: |
|
|
{
|
|
"command": "/usr/bin/cinder-volume --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf",
|
|
"config_files": [
|
|
{
|
|
"source": "/var/lib/kolla/config_files/cinder.conf",
|
|
"dest": "/etc/cinder/cinder.conf",
|
|
"owner": "cinder",
|
|
"perm": "0600"
|
|
}
|
|
],
|
|
"permissions": [
|
|
{
|
|
"path": "/var/lib/cinder",
|
|
"owner": "cinder:cinder",
|
|
"recurse": true
|
|
},
|
|
{
|
|
"path": "/var/log/kolla/cinder",
|
|
"owner": "cinder:cinder",
|
|
"recurse": true
|
|
}
|
|
]
|
|
}
|
|
|
|
cinder.conf: |
|
|
{{cinder_conf['content'] | b64decode}}
|
|
|
|
- name: Create Cinder Database
|
|
k8s_v1_job:
|
|
name: cinder-create-db
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
service_account_name: "{{ service_account }}"
|
|
restart_policy: OnFailure
|
|
containers:
|
|
- name: cinder-create-db
|
|
image: tripleoupstream/centos-binary-kolla-toolbox:latest
|
|
image_pull_policy: IfNotPresent
|
|
command: ["sh", "-c"]
|
|
args:
|
|
- ansible localhost -m mysql_db -a
|
|
"login_host='mariadb'
|
|
login_port='3306'
|
|
login_user='root'
|
|
login_password='$DATABASE_PASSWORD'
|
|
name='cinder'"
|
|
env:
|
|
- name: DATABASE_PASSWORD
|
|
value: "{{ database_password }}"
|
|
- name: "TZ"
|
|
value: "UTC"
|
|
register: result
|
|
|
|
- name: Create Cinder User in the database
|
|
k8s_v1_job:
|
|
name: cinder-create-user
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
service_account_name: "{{ service_account }}"
|
|
restart_policy: OnFailure
|
|
containers:
|
|
- name: cinder-create-db
|
|
image: tripleoupstream/centos-binary-kolla-toolbox:latest
|
|
image_pull_policy: IfNotPresent
|
|
command: ["sh", "-c"]
|
|
args:
|
|
- ansible localhost -m mysql_user -a
|
|
"login_host='mariadb'
|
|
login_port='3306'
|
|
login_user='root'
|
|
login_password='$DATABASE_PASSWORD'
|
|
name='cinder'
|
|
password='$CINDER_DATABASE_PASSWORD'
|
|
host='%'
|
|
priv='cinder.*:ALL'
|
|
append_privs='yes'"
|
|
env:
|
|
- name: CINDER_DATABASE_PASSWORD
|
|
value: "{{ cinder_db_password }}"
|
|
- name: DATABASE_PASSWORD
|
|
value: "{{database_password}}"
|
|
- name: "TZ"
|
|
value: "UTC"
|
|
when: result|succeeded
|
|
|
|
# Cinder Scheduler won't start without cinder tables present
|
|
- name: Create Cinder Tables
|
|
k8s_v1_job:
|
|
name: cinder-create-tables
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
service_account_name: "{{ service_account }}"
|
|
restart_policy: OnFailure
|
|
containers:
|
|
- name: cinder-create-db
|
|
image: tripleoupstream/centos-binary-cinder-api:latest
|
|
image_pull_policy: IfNotPresent
|
|
# command: ["/usr/bin/cinder-manage", "db", "sync"]
|
|
env:
|
|
- name: KOLLA_KUBERNETES
|
|
value: ""
|
|
- name: KOLLA_BOOTSTRAP
|
|
value: ""
|
|
- name: KOLLA_CONFIG_STRATEGY
|
|
value: "COPY_ONCE"
|
|
- name: "TZ"
|
|
value: "UTC"
|
|
volume_mounts:
|
|
- name: kolla-config
|
|
mountPath: /var/lib/kolla/config_files/
|
|
volumes:
|
|
- name: kolla-config
|
|
config_map:
|
|
name: cinder
|
|
when: result|succeeded
|
|
|
|
- name: create cinder-api service
|
|
k8s_v1_service:
|
|
name: cinder
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
labels:
|
|
app: cinder-api
|
|
service: cinder-api
|
|
selector:
|
|
app: cinder-api
|
|
service: cinder-api
|
|
ports:
|
|
- name: cinder-api
|
|
port: 8776
|
|
target_port: 8776
|
|
|
|
# Cinder API
|
|
- name: Create Cinder-api Deployment
|
|
k8s_v1beta1_deployment:
|
|
name: cinder-api
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
service_account_name: "{{ service_account }}"
|
|
labels:
|
|
app: cinder-api
|
|
service: cinder-api
|
|
replicas: 1
|
|
spec_template_metadata_labels:
|
|
app: cinder-api
|
|
service: cinder-api
|
|
containers:
|
|
- name: cinder-api
|
|
image: tripleoupstream/centos-binary-cinder-api:latest
|
|
ports:
|
|
- container_port: 8776
|
|
protocol: TCP
|
|
env:
|
|
- name: TZ
|
|
value: UTC
|
|
- name: KOLLA_CONFIG_STRATEGY
|
|
value: COPY_ALWAYS
|
|
- name: KOLLA_KUBERNETES
|
|
value: ""
|
|
volume_mounts:
|
|
- name: kolla-config
|
|
mountPath: /var/lib/kolla/config_files/
|
|
volumes:
|
|
- name: kolla-config
|
|
config_map:
|
|
name: cinder-api
|
|
|
|
# Cinder Scheduler
|
|
- name: create cinder-scheduler deployment
|
|
k8s_v1beta1_deployment:
|
|
name: cinder-scheduler
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
service_account_name: "{{ service_account }}"
|
|
labels:
|
|
app: cinder-scheduler
|
|
service: cinder-scheduler
|
|
replicas: 1
|
|
spec_template_metadata_labels:
|
|
app: cinder-scheduler
|
|
service: cinder-scheduler
|
|
containers:
|
|
- name: cinder-scheduler
|
|
image: tripleoupstream/centos-binary-cinder-scheduler:latest
|
|
env:
|
|
- name: TZ
|
|
value: UTC
|
|
- name: KOLLA_CONFIG_STRATEGY
|
|
value: COPY_ALWAYS
|
|
- name: KOLLA_KUBERNETES
|
|
value: ""
|
|
volume_mounts:
|
|
- name: kolla-config
|
|
mountPath: /var/lib/kolla/config_files/
|
|
volumes:
|
|
- name: kolla-config
|
|
config_map:
|
|
name: cinder-scheduler
|
|
|
|
- name: Create Cinder Volume Deployment
|
|
k8s_v1beta1_deployment:
|
|
name: cinder-volume
|
|
host: "{{coe_host}}"
|
|
context: "{{kube_context}}"
|
|
kubeconfig: "{{config_file}}"
|
|
namespace: "{{ namespace }}"
|
|
service_account_name: "{{ service_account }}"
|
|
labels:
|
|
app: cinder-volume
|
|
service: cinder-volume
|
|
replicas: 1
|
|
spec_template_metadata_labels:
|
|
app: cinder-volume
|
|
service: cinder-volume
|
|
containers:
|
|
- name: cinder-volume
|
|
image: tripleoupstream/centos-binary-cinder-volume:latest
|
|
image_pull_policy: IfNotPresent
|
|
volumeMounts:
|
|
- name: kolla-config
|
|
mountPath: /var/lib/kolla/config_files/
|
|
env:
|
|
- name: TZ
|
|
value: UTC
|
|
- name: KOLLA_CONFIG_STRATEGY
|
|
value: COPY_ALWAYS
|
|
- name: KOLLA_KUBERNETES
|
|
value: ""
|
|
volumes:
|
|
- name: kolla-config
|
|
config_map:
|
|
name: cinder-volume
|