From 470d59c634552dd5ed4180beafab8ea91a75876e Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Fri, 11 Sep 2015 15:49:39 -0400 Subject: [PATCH] Next round of nodepool configuration Signed-off-by: Paul Belanger --- defaults/main.yaml | 18 ++++++++ files/etc/nodepool/logging.conf | 56 +++++++++++++++++++++++++ files/nodepool.service | 2 +- handlers/main.yaml | 6 ++- tasks/config.yaml | 20 +++++++-- tasks/main.yaml | 3 -- templates/etc/nodepool/nodepool.yaml.j2 | 14 +++++++ templates/etc/nodepool/secure.conf.j2 | 8 ++++ templates/nodepool.yaml.j2 | 19 --------- vars/nodepool.yaml | 5 --- 10 files changed, 118 insertions(+), 33 deletions(-) create mode 100644 files/etc/nodepool/logging.conf create mode 100644 templates/etc/nodepool/nodepool.yaml.j2 create mode 100644 templates/etc/nodepool/secure.conf.j2 delete mode 100644 templates/nodepool.yaml.j2 delete mode 100644 vars/nodepool.yaml diff --git a/defaults/main.yaml b/defaults/main.yaml index 26ec316..ef70178 100644 --- a/defaults/main.yaml +++ b/defaults/main.yaml @@ -1,10 +1,28 @@ --- # tasks/config.yaml +nodepool_config_database_dburi: sqlite:////var/lib/nodepool/nodepool.db nodepool_config_elements_dir: /etc/nodepool/elements +nodepool_config_gearman_servers: [] nodepool_config_images_dir: /opt/nodepool/images +nodepool_config_log_config: /etc/nodepool/logging.conf +nodepool_config_secure_config: /etc/nodepool/secure.conf nodepool_config_script_dir: /etc/nodepool/scripts nodepool_config_zmq_publishers: [] +nodepool_file_logging_conf: etc/nodepool/logging.conf + +nodepool_template_nodepool_yaml_contents: | + diskimages: [] + labels: [] + providers: [] + targets: [] +nodepool_template_nodepool_yaml_dest: /etc/nodepool/nodepool.yaml +nodepool_template_nodepool_yaml_src: etc/nodepool/nodepool.yaml.j2 + +nodepool_template_secure_conf_contents: "" +nodepool_template_secure_conf_dest: /etc/nodepool/secure.conf +nodepool_template_secure_conf_src: etc/nodepool/secure.conf.j2 + # tasks/install.yaml nodepool_git_dest: /opt/git/openstack-infra/nodepool nodepool_git_uri: https://git.openstack.org/openstack-infra/nodepool diff --git a/files/etc/nodepool/logging.conf b/files/etc/nodepool/logging.conf new file mode 100644 index 0000000..96fef7f --- /dev/null +++ b/files/etc/nodepool/logging.conf @@ -0,0 +1,56 @@ +[loggers] +keys=root,nodepool,requests,image + +[handlers] +keys=console,debug,normal,image + +[formatters] +keys=simple + +[logger_root] +level=WARNING +handlers=console + +[logger_requests] +level=WARNING +handlers=debug,normal +qualname=requests + +[logger_nodepool] +level=DEBUG +handlers=debug,normal +qualname=nodepool + +[logger_image] +level=INFO +handlers=image +qualname=nodepool.image.build +propagate=0 + +[handler_console] +level=WARNING +class=StreamHandler +formatter=simple +args=(sys.stdout,) + +[handler_debug] +level=DEBUG +class=logging.handlers.TimedRotatingFileHandler +formatter=simple +args=('/var/log/nodepool/debug.log', 'H', 8, 30,) + +[handler_normal] +level=INFO +class=logging.handlers.TimedRotatingFileHandler +formatter=simple +args=('/var/log/nodepool/nodepool.log', 'H', 8, 30,) + +[handler_image] +level=INFO +class=logging.handlers.TimedRotatingFileHandler +formatter=simple +args=('/var/log/nodepool/image.log', 'H', 8, 30,) + +[formatter_simple] +format=%(asctime)s %(levelname)s %(name)s: %(message)s +datefmt= diff --git a/files/nodepool.service b/files/nodepool.service index 325b569..bd8203c 100644 --- a/files/nodepool.service +++ b/files/nodepool.service @@ -6,7 +6,7 @@ Type=simple User=nodepool Group=nodepool EnvironmentFile=-/etc/sysconfig/nodepool -ExecStart=/usr/bin/nodepoold -d +ExecStart=/usr/bin/nodepoold -d -l /etc/nodepool/logging.conf StandardOutput=syslog StandardError=syslog diff --git a/handlers/main.yaml b/handlers/main.yaml index 0ed8582..bd4acfe 100644 --- a/handlers/main.yaml +++ b/handlers/main.yaml @@ -1,2 +1,6 @@ --- -# handlers file for nodepool +- name: Restart nodepool + service: + name: nodepool + state: restarted + sudo: yes diff --git a/tasks/config.yaml b/tasks/config.yaml index 7e00bd9..f2de808 100644 --- a/tasks/config.yaml +++ b/tasks/config.yaml @@ -14,13 +14,19 @@ with_items: - /etc/nodepool - "{{ nodepool_config_images_dir }}" - - /var/lib/nodepool - /var/log/nodepool -- name: Template nodepool configuration file. +- name: Template secure configuration file. template: - dest: /etc/nodepool/nodepool.yaml - src: nodepool.yaml.j2 + dest: "{{ nodepool_template_secure_conf_dest }}" + src: "{{ nodepool_template_secure_conf_src }}" + notify: Restart nodepool + +- name: Template yaml configuration file. + template: + dest: "{{ nodepool_template_nodepool_yaml_dest }}" + src: "{{ nodepool_template_nodepool_yaml_src }}" + notify: Restart nodepool - name: Copy sudoers file into place. copy: @@ -30,3 +36,9 @@ owner: root src: nodepool.sudoers validate: 'visudo -cf %s' + +- name: Copy logging configuration file. + copy: + dest: "{{ nodepool_config_log_config }}" + src: "{{ nodepool_file_logging_conf }}" + notify: Restart nodepool diff --git a/tasks/main.yaml b/tasks/main.yaml index afaa7cc..2e965d7 100644 --- a/tasks/main.yaml +++ b/tasks/main.yaml @@ -2,9 +2,6 @@ - name: Include OS-specific variables. include_vars: "{{ ansible_os_family }}.yaml" -- name: Include nodepool configuration defaults. - include_vars: nodepool.yaml - - include: install.yaml sudo: yes diff --git a/templates/etc/nodepool/nodepool.yaml.j2 b/templates/etc/nodepool/nodepool.yaml.j2 new file mode 100644 index 0000000..bf49963 --- /dev/null +++ b/templates/etc/nodepool/nodepool.yaml.j2 @@ -0,0 +1,14 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# +dburi: {{ nodepool_config_database_dburi }} +elements-dir: {{ nodepool_config_elements_dir }} +images-dir: {{ nodepool_config_images_dir }} +script-dir: {{ nodepool_config_script_dir }} + +{% set _gearman_servers = { 'gearman-servers': nodepool_config_gearman_servers } -%} +{{ _gearman_servers | to_nice_yaml }} +{% set _zmq_publishers = { 'zmq-publishers': nodepool_config_zmq_publishers } -%} +{{ _zmq_publishers | to_nice_yaml }} +{{ nodepool_template_nodepool_yaml_contents }} +# {{ ansible_managed }} diff --git a/templates/etc/nodepool/secure.conf.j2 b/templates/etc/nodepool/secure.conf.j2 new file mode 100644 index 0000000..669c61b --- /dev/null +++ b/templates/etc/nodepool/secure.conf.j2 @@ -0,0 +1,8 @@ +# This file is generated by Ansible +# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN +# +[database] +dburi = {{ nodepool_config_database_dburi }} + +{{ nodepool_template_secure_conf_contents }} +# {{ ansible_managed }} diff --git a/templates/nodepool.yaml.j2 b/templates/nodepool.yaml.j2 deleted file mode 100644 index f1e53a8..0000000 --- a/templates/nodepool.yaml.j2 +++ /dev/null @@ -1,19 +0,0 @@ -elements-dir: {{ nodepool_config_elements_dir }} -images-dir: {{nodepool_config_images_dir }} -script-dir: {{ nodepool_config_script_dir }} - -# TODO(pabelanger): Remove hardcoded variable. -dburi: sqlite:////var/lib/nodepool/nodepool.db - -{% set _zmq_publishers = { 'zmq-publishers': nodepool_config_zmq_publishers } -%} -{{ _zmq_publishers | to_nice_yaml }} -{% set _diskimages = { 'diskimages': diskimages } -%} -{{ _diskimages | to_nice_yaml }} -{% set _labels = { 'labels': labels } -%} -{{ _labels | to_nice_yaml }} -{% set _providers = { 'providers': providers } -%} -{{ _providers | to_nice_yaml }} -{% set _targets = { 'targets': targets } -%} -{{ _targets | to_nice_yaml }} - -# {{ ansible_managed }} diff --git a/vars/nodepool.yaml b/vars/nodepool.yaml deleted file mode 100644 index 21b18db..0000000 --- a/vars/nodepool.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -diskimages: [] -labels: [] -providers: [] -targets: []