aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrthallisey <rhallise@redhat.com>2015-08-28 18:42:18 -0400
committerJeff Peeler <jpeeler@redhat.com>2015-09-23 19:33:27 +0000
commitaebb16fff9f33727aa9ce49120a1c6384544bfdc (patch)
tree413e48ded6281e73bf997945608ebbc254b39a73
parent9a814e128fe910d57f83506d4e4be2f18156f9a7 (diff)
downloadkolla-aebb16fff9f33727aa9ce49120a1c6384544bfdc.tar.gz
kolla-aebb16fff9f33727aa9ce49120a1c6384544bfdc.zip
Replace config-external with a JSON file for Nova
Change-Id: I38c545484a7b1f3906d844eb3a7486e11c4b276a Partially-Implements: blueprint replace-config-external
-rw-r--r--ansible/roles/nova/tasks/bootstrap.yml2
-rw-r--r--ansible/roles/nova/tasks/config.yml35
-rw-r--r--ansible/roles/nova/tasks/start.yml14
-rw-r--r--ansible/roles/nova/templates/nova-api.json.j211
-rw-r--r--ansible/roles/nova/templates/nova-compute.json.j211
-rw-r--r--ansible/roles/nova/templates/nova-conductor.json.j211
-rw-r--r--ansible/roles/nova/templates/nova-consoleauth.json.j211
-rw-r--r--ansible/roles/nova/templates/nova-libvirt.json.j24
-rw-r--r--ansible/roles/nova/templates/nova-network.json.j211
-rw-r--r--ansible/roles/nova/templates/nova-novncproxy.json.j211
-rw-r--r--ansible/roles/nova/templates/nova-scheduler.json.j211
-rwxr-xr-xdocker/nova/nova-api/start.sh11
-rwxr-xr-xdocker/nova/nova-compute/start.sh11
-rwxr-xr-xdocker/nova/nova-conductor/start.sh11
-rwxr-xr-xdocker/nova/nova-consoleauth/start.sh11
-rwxr-xr-xdocker/nova/nova-libvirt/start.sh11
-rwxr-xr-xdocker/nova/nova-network/start.sh10
-rwxr-xr-xdocker/nova/nova-novncproxy/start.sh11
-rwxr-xr-xdocker/nova/nova-scheduler/start.sh11
19 files changed, 163 insertions, 56 deletions
diff --git a/ansible/roles/nova/tasks/bootstrap.yml b/ansible/roles/nova/tasks/bootstrap.yml
index c41fcf449..c06c011d0 100644
--- a/ansible/roles/nova/tasks/bootstrap.yml
+++ b/ansible/roles/nova/tasks/bootstrap.yml
@@ -59,7 +59,7 @@
insecure_registry: "{{ docker_insecure_registry }}"
name: bootstrap_nova
image: "{{ nova_api_image_full }}"
- volumes: "{{ node_config_directory }}/nova-api/:/opt/kolla/nova-api/:ro"
+ volumes: "{{ node_config_directory }}/nova-api/:/opt/kolla/config_files/:ro"
env:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
diff --git a/ansible/roles/nova/tasks/config.yml b/ansible/roles/nova/tasks/config.yml
index b1ea0df05..917ef25d2 100644
--- a/ansible/roles/nova/tasks/config.yml
+++ b/ansible/roles/nova/tasks/config.yml
@@ -19,6 +19,11 @@
config_dest: "{{ node_config_directory }}/{{ service_name }}/nova.conf"
when: inventory_hostname in groups['nova-api']
+- name: Copying Nova API JSON configuration file
+ template:
+ src: "roles/nova/templates/nova-api.json.j2"
+ dest: "{{ node_config_directory }}/nova-api/config.json"
+
- include: ../../config.yml
vars:
service_name: "nova-conductor"
@@ -39,6 +44,11 @@
config_dest: "{{ node_config_directory }}/{{ service_name }}/nova.conf"
when: inventory_hostname in groups['nova-conductor']
+- name: Copying Nova Conductor JSON configuration file
+ template:
+ src: "roles/nova/templates/nova-conductor.json.j2"
+ dest: "{{ node_config_directory }}/nova-conductor/config.json"
+
- include: ../../config.yml
vars:
service_name: "nova-consoleauth"
@@ -59,6 +69,11 @@
config_dest: "{{ node_config_directory }}/{{ service_name }}/nova.conf"
when: inventory_hostname in groups['nova-consoleauth']
+- name: Copying Nova Consoleauth JSON configuration file
+ template:
+ src: "roles/nova/templates/nova-consoleauth.json.j2"
+ dest: "{{ node_config_directory }}/nova-consoleauth/config.json"
+
- include: ../../config.yml
vars:
service_name: "nova-scheduler"
@@ -79,6 +94,11 @@
config_dest: "{{ node_config_directory }}/{{ service_name }}/nova.conf"
when: inventory_hostname in groups['nova-scheduler']
+- name: Copying Nova Scheduler JSON configuration file
+ template:
+ src: "roles/nova/templates/nova-scheduler.json.j2"
+ dest: "{{ node_config_directory }}/nova-scheduler/config.json"
+
- include: ../../config.yml
vars:
service_name: "nova-compute"
@@ -99,6 +119,11 @@
config_dest: "{{ node_config_directory }}/{{ service_name }}/nova.conf"
when: inventory_hostname in groups['compute']
+- name: Copying Nova Compute JSON configuration file
+ template:
+ src: "roles/nova/templates/nova-compute.json.j2"
+ dest: "{{ node_config_directory }}/nova-compute/config.json"
+
- include: ../../config.yml
vars:
service_name: "nova-novncproxy"
@@ -118,3 +143,13 @@
- "{{ node_templates_directory }}/{{ service_name }}/{{ service_name }}.conf_augment"
config_dest: "{{ node_config_directory }}/{{ service_name }}/nova.conf"
when: inventory_hostname in groups['nova-novncproxy']
+
+- name: Copying Nova Novncproxy JSON configuration file
+ template:
+ src: "roles/nova/templates/nova-novncproxy.json.j2"
+ dest: "{{ node_config_directory }}/nova-novncproxy/config.json"
+
+- name: Copying Nova Libvirt JSON configuration file
+ template:
+ src: "roles/nova/templates/nova-libvirt.json.j2"
+ dest: "{{ node_config_directory }}/nova-libvirt/config.json"
diff --git a/ansible/roles/nova/tasks/start.yml b/ansible/roles/nova/tasks/start.yml
index b6b657c24..09501330b 100644
--- a/ansible/roles/nova/tasks/start.yml
+++ b/ansible/roles/nova/tasks/start.yml
@@ -16,7 +16,7 @@
name: nova_libvirt
image: "{{ nova_libvirt_image_full }}"
volumes:
- - "{{ node_config_directory }}/nova-libvirt/:/opt/kolla/nova-libvirt/:ro"
+ - "{{ node_config_directory }}/nova-libvirt/:/opt/kolla/config_files/:ro"
- "/run:/run"
- "/sys/fs/cgroup:/sys/fs/cgroup"
volumes_from:
@@ -41,7 +41,7 @@
name: nova_api
image: "{{ nova_api_image_full }}"
volumes:
- - "{{ node_config_directory }}/nova-api/:/opt/kolla/nova-api/:ro"
+ - "{{ node_config_directory }}/nova-api/:/opt/kolla/config_files/:ro"
- "/lib/modules:/lib/modules:ro"
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
@@ -61,7 +61,7 @@
insecure_registry: "{{ docker_insecure_registry }}"
name: nova_conductor
image: "{{ nova_conductor_image_full }}"
- volumes: "{{ node_config_directory }}/nova-conductor/:/opt/kolla/nova-conductor/:ro"
+ volumes: "{{ node_config_directory }}/nova-conductor/:/opt/kolla/config_files/:ro"
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
when: inventory_hostname in groups['nova-conductor']
@@ -80,7 +80,7 @@
insecure_registry: "{{ docker_insecure_registry }}"
name: nova_consoleauth
image: "{{ nova_consoleauth_image_full }}"
- volumes: "{{ node_config_directory }}/nova-consoleauth/:/opt/kolla/nova-consoleauth/:ro"
+ volumes: "{{ node_config_directory }}/nova-consoleauth/:/opt/kolla/config_files/:ro"
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
when: inventory_hostname in groups['nova-consoleauth']
@@ -99,7 +99,7 @@
insecure_registry: "{{ docker_insecure_registry }}"
name: nova_novncproxy
image: "{{ nova_novncproxy_image_full }}"
- volumes: "{{ node_config_directory }}/nova-novncproxy/:/opt/kolla/nova-novncproxy/:ro"
+ volumes: "{{ node_config_directory }}/nova-novncproxy/:/opt/kolla/config_files/:ro"
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
when: inventory_hostname in groups['nova-novncproxy']
@@ -118,7 +118,7 @@
insecure_registry: "{{ docker_insecure_registry }}"
name: nova_scheduler
image: "{{ nova_scheduler_image_full }}"
- volumes: "{{ node_config_directory }}/nova-scheduler/:/opt/kolla/nova-scheduler/:ro"
+ volumes: "{{ node_config_directory }}/nova-scheduler/:/opt/kolla/config_files/:ro"
env:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
when: inventory_hostname in groups['nova-scheduler']
@@ -139,7 +139,7 @@
name: nova_compute
image: "{{ nova_compute_image_full }}"
volumes:
- - "{{ node_config_directory }}/nova-compute/:/opt/kolla/nova-compute/:ro"
+ - "{{ node_config_directory }}/nova-compute/:/opt/kolla/config_files/:ro"
- "/lib/modules:/lib/modules:ro"
- "/run:/run"
volumes_from:
diff --git a/ansible/roles/nova/templates/nova-api.json.j2 b/ansible/roles/nova/templates/nova-api.json.j2
new file mode 100644
index 000000000..cf4bdf3f6
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-api.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/nova-api",
+ "config_files": [
+ {
+ "source": "/opt/kolla/config_files/nova.conf",
+ "dest": "/etc/nova/nova.conf",
+ "owner": "nova",
+ "perm": "0600"
+ }
+ ]
+}
diff --git a/ansible/roles/nova/templates/nova-compute.json.j2 b/ansible/roles/nova/templates/nova-compute.json.j2
new file mode 100644
index 000000000..c9513d157
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-compute.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/nova-compute",
+ "config_files": [
+ {
+ "source": "/opt/kolla/config_files/nova.conf",
+ "dest": "/etc/nova/nova.conf",
+ "owner": "nova",
+ "perm": "0600"
+ }
+ ]
+}
diff --git a/ansible/roles/nova/templates/nova-conductor.json.j2 b/ansible/roles/nova/templates/nova-conductor.json.j2
new file mode 100644
index 000000000..41902783c
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-conductor.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/nova-conductor",
+ "config_files": [
+ {
+ "source": "/opt/kolla/config_files/nova.conf",
+ "dest": "/etc/nova/nova.conf",
+ "owner": "nova",
+ "perm": "0600"
+ }
+ ]
+}
diff --git a/ansible/roles/nova/templates/nova-consoleauth.json.j2 b/ansible/roles/nova/templates/nova-consoleauth.json.j2
new file mode 100644
index 000000000..0aaad565c
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-consoleauth.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/nova-consoleauth",
+ "config_files": [
+ {
+ "source": "/opt/kolla/config_files/nova.conf",
+ "dest": "/etc/nova/nova.conf",
+ "owner": "nova",
+ "perm": "0600"
+ }
+ ]
+}
diff --git a/ansible/roles/nova/templates/nova-libvirt.json.j2 b/ansible/roles/nova/templates/nova-libvirt.json.j2
new file mode 100644
index 000000000..5ec623dd9
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-libvirt.json.j2
@@ -0,0 +1,4 @@
+{
+ "command": "/usr/sbin/libvirtd",
+ "config_files": []
+}
diff --git a/ansible/roles/nova/templates/nova-network.json.j2 b/ansible/roles/nova/templates/nova-network.json.j2
new file mode 100644
index 000000000..eea74c71d
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-network.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/nova-network",
+ "config_files": [
+ {
+ "source": "/opt/kolla/config_files/nova.conf",
+ "dest": "/etc/nova/nova.conf",
+ "owner": "nova",
+ "perm": "0600"
+ }
+ ]
+}
diff --git a/ansible/roles/nova/templates/nova-novncproxy.json.j2 b/ansible/roles/nova/templates/nova-novncproxy.json.j2
new file mode 100644
index 000000000..c565202a7
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-novncproxy.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/nova-novncproxy",
+ "config_files": [
+ {
+ "source": "/opt/kolla/config_files/nova.conf",
+ "dest": "/etc/nova/nova.conf",
+ "owner": "nova",
+ "perm": "0600"
+ }
+ ]
+}
diff --git a/ansible/roles/nova/templates/nova-scheduler.json.j2 b/ansible/roles/nova/templates/nova-scheduler.json.j2
new file mode 100644
index 000000000..3e34eedd7
--- /dev/null
+++ b/ansible/roles/nova/templates/nova-scheduler.json.j2
@@ -0,0 +1,11 @@
+{
+ "command": "/usr/bin/nova-scheduler",
+ "config_files": [
+ {
+ "source": "/opt/kolla/config_files/nova.conf",
+ "dest": "/etc/nova/nova.conf",
+ "owner": "nova",
+ "perm": "0600"
+ }
+ ]
+}
diff --git a/docker/nova/nova-api/start.sh b/docker/nova/nova-api/start.sh
index ad25ba65c..c61c37feb 100755
--- a/docker/nova/nova-api/start.sh
+++ b/docker/nova/nova-api/start.sh
@@ -1,14 +1,12 @@
#!/bin/bash
set -o errexit
-CMD="/usr/bin/nova-api"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
# of the KOLLA_BOOTSTRAP variable being set, including empty.
@@ -17,4 +15,5 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
exit 0
fi
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD
diff --git a/docker/nova/nova-compute/start.sh b/docker/nova/nova-compute/start.sh
index 48e77542b..6191ce851 100755
--- a/docker/nova/nova-compute/start.sh
+++ b/docker/nova/nova-compute/start.sh
@@ -1,13 +1,12 @@
#!/bin/bash
set -o errexit
-CMD="/usr/bin/nova-compute"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD
diff --git a/docker/nova/nova-conductor/start.sh b/docker/nova/nova-conductor/start.sh
index 1fe7d0586..6191ce851 100755
--- a/docker/nova/nova-conductor/start.sh
+++ b/docker/nova/nova-conductor/start.sh
@@ -1,13 +1,12 @@
#!/bin/bash
set -o errexit
-CMD="/usr/bin/nova-conductor"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD
diff --git a/docker/nova/nova-consoleauth/start.sh b/docker/nova/nova-consoleauth/start.sh
index 1abccde19..6191ce851 100755
--- a/docker/nova/nova-consoleauth/start.sh
+++ b/docker/nova/nova-consoleauth/start.sh
@@ -1,13 +1,12 @@
#!/bin/bash
set -o errexit
-CMD="/usr/bin/nova-consoleauth"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD
diff --git a/docker/nova/nova-libvirt/start.sh b/docker/nova/nova-libvirt/start.sh
index ae0de867b..aa07f62dd 100755
--- a/docker/nova/nova-libvirt/start.sh
+++ b/docker/nova/nova-libvirt/start.sh
@@ -1,14 +1,12 @@
#!/bin/bash
set -o errexit
-CMD="/usr/sbin/libvirtd"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
# TODO(SamYaple): Tweak libvirt.conf rather than change permissions.
# Fix permissions for libvirt
@@ -17,4 +15,5 @@ if [[ -c /dev/kvm ]]; then
chown root:kvm /dev/kvm
fi
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD
diff --git a/docker/nova/nova-network/start.sh b/docker/nova/nova-network/start.sh
index 88f941b33..2f8254b89 100755
--- a/docker/nova/nova-network/start.sh
+++ b/docker/nova/nova-network/start.sh
@@ -1,13 +1,11 @@
#!/bin/bash
set -o errexit
-CMD="/usr/bin/nova-network"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD
diff --git a/docker/nova/nova-novncproxy/start.sh b/docker/nova/nova-novncproxy/start.sh
index 6e59d1253..6191ce851 100755
--- a/docker/nova/nova-novncproxy/start.sh
+++ b/docker/nova/nova-novncproxy/start.sh
@@ -1,13 +1,12 @@
#!/bin/bash
set -o errexit
-CMD="/usr/bin/nova-novncproxy"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD
diff --git a/docker/nova/nova-scheduler/start.sh b/docker/nova/nova-scheduler/start.sh
index d9b3e14eb..6191ce851 100755
--- a/docker/nova/nova-scheduler/start.sh
+++ b/docker/nova/nova-scheduler/start.sh
@@ -1,13 +1,12 @@
#!/bin/bash
set -o errexit
-CMD="/usr/bin/nova-scheduler"
-ARGS=""
-
# Loading common functions.
source /opt/kolla/kolla-common.sh
-# Execute config strategy
-set_configs
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
-exec $CMD $ARGS
+echo "Running command: ${CMD}"
+exec $CMD