summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/deploy-steps-playbook.yaml47
-rwxr-xr-xdocker/docker-puppet.py4
-rw-r--r--docker/docker-steps.j2129
-rw-r--r--docker/services/containers-common.yaml1
-rw-r--r--docker/services/neutron-l3.yaml5
-rw-r--r--puppet/blockstorage-role.yaml1
-rw-r--r--puppet/cephstorage-role.yaml1
-rw-r--r--puppet/compute-role.yaml1
-rw-r--r--puppet/controller-role.yaml1
-rw-r--r--puppet/objectstorage-role.yaml1
-rw-r--r--puppet/role.role.j2.yaml1
-rw-r--r--puppet/services/aodh-base.yaml13
-rw-r--r--puppet/services/barbican-api.yaml13
-rw-r--r--puppet/services/ceilometer-base.yaml13
-rw-r--r--puppet/services/cinder-base.yaml13
-rw-r--r--puppet/services/congress.yaml13
-rw-r--r--puppet/services/glance-api.yaml15
-rw-r--r--puppet/services/gnocchi-base.yaml13
-rw-r--r--puppet/services/heat-base.yaml13
-rw-r--r--puppet/services/horizon.yaml12
-rw-r--r--puppet/services/ironic-base.yaml13
-rw-r--r--puppet/services/keystone.yaml11
-rw-r--r--puppet/services/manila-base.yaml13
-rw-r--r--puppet/services/mistral-base.yaml13
-rw-r--r--puppet/services/neutron-base.yaml11
-rw-r--r--puppet/services/nova-base.yaml11
-rw-r--r--puppet/services/octavia-base.yaml13
-rw-r--r--puppet/services/panko-base.yaml13
-rw-r--r--puppet/services/sahara-base.yaml13
-rw-r--r--puppet/services/tacker.yaml13
-rw-r--r--puppet/services/zaqar.yaml11
-rw-r--r--releasenotes/notes/debug_per_service-54a260917c4a7e3a.yaml9
32 files changed, 328 insertions, 126 deletions
diff --git a/docker/deploy-steps-playbook.yaml b/docker/deploy-steps-playbook.yaml
new file mode 100644
index 00000000..a0beaa2c
--- /dev/null
+++ b/docker/deploy-steps-playbook.yaml
@@ -0,0 +1,47 @@
+- hosts: localhost
+ connection: local
+ tasks:
+ #####################################################
+ # Per step puppet configuration of the baremetal host
+ #####################################################
+ - name: Write the config_step hieradata
+ copy: content="{{dict(step=step|int)|to_json}}" dest=/etc/puppet/hieradata/config_step.json force=true
+ - name: Run puppet host configuration for step {{step}}
+ # FIXME: modulepath requires ansible 2.4, our builds currently only have 2.3
+ # puppet: manifest=/var/lib/tripleo-config/puppet_step_config.pp modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
+ puppet: manifest=/var/lib/tripleo-config/puppet_step_config.pp
+ ######################################
+ # Generate config via docker-puppet.py
+ ######################################
+ - name: Run docker-puppet tasks (generate config)
+ shell: python /var/lib/docker-puppet/docker-puppet.py
+ environment:
+ NET_HOST: 'true'
+ when: step == "1"
+ changed_when: false
+ check_mode: no
+ ##################################################
+ # Per step starting of the containers using paunch
+ ##################################################
+ - name: Check if /var/lib/tripleo-config/docker-container-startup-config-step_{{step}}.json exists
+ stat:
+ path: /var/lib/tripleo-config/docker-container-startup-config-step_{{step}}.json
+ register: docker_config_json
+ - name: Start containers for step {{step}}
+ command: paunch --debug apply --file /var/lib/tripleo-config/docker-container-startup-config-step_{{step}}.json --config-id tripleo_step{{step}} --managed-by tripleo-{{role_name}}
+ when: docker_config_json.stat.exists
+ changed_when: false
+ check_mode: no
+ ########################################################
+ # Bootstrap tasks, only performed on bootstrap_server_id
+ ########################################################
+ - name: Run docker-puppet tasks (bootstrap tasks)
+ shell: python /var/lib/docker-puppet/docker-puppet.py
+ environment:
+ CONFIG: /var/lib/docker-puppet/docker-puppet-tasks{{step}}.json
+ NET_HOST: "true"
+ NO_ARCHIVE: "true"
+ STEP: "{{step}}"
+ when: deploy_server_id == bootstrap_server_id
+ changed_when: false
+ check_mode: no
diff --git a/docker/docker-puppet.py b/docker/docker-puppet.py
index 49dd00cd..d9d0c255 100755
--- a/docker/docker-puppet.py
+++ b/docker/docker-puppet.py
@@ -176,6 +176,10 @@ def mp_puppet_config((config_volume, puppet_tags, manifest, config_image, volume
mkdir -p /var/lib/config-data/${NAME}/etc
cp -a /etc/* /var/lib/config-data/${NAME}/etc/
+ # workaround LP1696283
+ mkdir -p /var/lib/config-data/${NAME}/etc/ssh
+ touch /var/lib/config-data/${NAME}/etc/ssh/ssh_known_hosts
+
if [ -d /root/ ]; then
cp -a /root/ /var/lib/config-data/${NAME}/root/
fi
diff --git a/docker/docker-steps.j2 b/docker/docker-steps.j2
index 86811b86..a56ca02b 100644
--- a/docker/docker-steps.j2
+++ b/docker/docker-steps.j2
@@ -55,39 +55,18 @@ resources:
step_{{step}}: {}
{%- endfor %}
-# BEGIN primary_role_name docker-puppet-tasks (run only on a single node)
-{% for step in range(1, deploy_steps_max) %}
-
- {{primary_role_name}}DockerPuppetTasksConfig{{step}}:
+ RoleConfig:
type: OS::Heat::SoftwareConfig
properties:
- group: script
- config: {get_file: docker-puppet.py}
+ group: ansible
+ options:
+ modulepath: /usr/share/ansible-modules
inputs:
- - name: CONFIG
- - name: NET_HOST
- - name: NO_ARCHIVE
- - name: STEP
-
- {{primary_role_name}}DockerPuppetTasksDeployment{{step}}:
- type: OS::Heat::SoftwareDeployment
- depends_on:
- {% for dep in roles %}
- - {{dep.name}}Deployment_Step{{step}}
- - {{dep.name}}ContainersDeployment_Step{{step}}
- {% endfor %}
- properties:
- name: {{primary_role_name}}DockerPuppetTasksDeployment{{step}}
- server: {get_param: [servers, {{primary_role_name}}, '0']}
- config: {get_resource: {{primary_role_name}}DockerPuppetTasksConfig{{step}}}
- input_values:
- CONFIG: /var/lib/docker-puppet/docker-puppet-tasks{{step}}.json
- NET_HOST: 'true'
- NO_ARCHIVE: 'true'
- STEP: {{step}}
-
-{% endfor %}
-# END primary_role_name docker-puppet-tasks
+ - name: step
+ - name: role_name
+ - name: update_identifier
+ - name: bootstrap_server_id
+ config: {get_file: deploy-steps-playbook.yaml}
{% for role in roles %}
# Post deployment steps for all roles
@@ -122,6 +101,7 @@ resources:
docker_startup_configs: {get_attr: [{{role.name}}DockerConfig, value]}
kolla_config: {get_param: [role_data, {{role.name}}, kolla_config]}
bootstrap_server_id: {get_param: [servers, {{primary_role_name}}, '0']}
+ puppet_step_config: {get_attr: [{{role.name}}PuppetStepConfig, value]}
tasks:
# Join host_prep_tasks with the other per-host configuration
yaql:
@@ -130,9 +110,11 @@ resources:
host_prep_tasks: {get_param: [role_data, {{role.name}}, host_prep_tasks]}
template_tasks:
{%- raw %}
- # This is where we stack puppet configuration (for now)...
- - name: Create /var/lib/config-data
- file: path=/var/lib/config-data state=directory
+ # Write the manifest for baremetal puppet configuration
+ - name: Create /var/lib/tripleo-config directory
+ file: path=/var/lib/tripleo-config state=directory
+ - name: Write the puppet step_config manifest
+ copy: content="{{puppet_step_config}}" dest=/var/lib/tripleo-config/puppet_step_config.pp force=yes
# This is the docker-puppet configs end in
- name: Create /var/lib/docker-puppet
file: path=/var/lib/docker-puppet state=directory
@@ -145,13 +127,22 @@ resources:
# Here we are dumping all the docker container startup configuration data
# so that we can have access to how they are started outside of heat
# and docker-cmd. This lets us create command line tools to test containers.
+ # FIXME do we need the docker-container-startup-configs.json or is the new per-step
+ # data consumed by paunch enough?
- name: Write docker-container-startup-configs
copy: content="{{docker_startup_configs | to_json}}" dest=/var/lib/docker-container-startup-configs.json force=yes
+ - name: Write per-step docker-container-startup-configs
+ copy: content="{{item.value|to_json}}" dest="/var/lib/tripleo-config/docker-container-startup-config-{{item.key}}.json" force=yes
+ with_dict: "{{docker_startup_configs}}"
- name: Create /var/lib/kolla/config_files directory
file: path=/var/lib/kolla/config_files state=directory
- name: Write kolla config json files
copy: content="{{item.value|to_json}}" dest="{{item.key}}" force=yes
with_dict: "{{kolla_config}}"
+ - name: Install paunch FIXME remove when packaged
+ shell: |
+ yum -y install python-pip
+ pip install paunch
########################################################
# Bootstrap tasks, only performed on bootstrap_server_id
########################################################
@@ -167,24 +158,6 @@ resources:
servers: {get_param: [servers, {{role.name}}]}
config: {get_resource: {{role.name}}HostPrepConfig}
- {{role.name}}GenerateConfig:
- type: OS::Heat::SoftwareConfig
- properties:
- group: script
- config: {get_file: docker-puppet.py}
- inputs:
- - name: NET_HOST
-
- {{role.name}}GenerateConfigDeployment:
- type: OS::Heat::SoftwareDeploymentGroup
- depends_on: [{{role.name}}ArtifactsDeploy, {{role.name}}HostPrepDeployment]
- properties:
- name: {{role.name}}GenerateConfigDeployment
- servers: {get_param: [servers, {{role.name}}]}
- config: {get_resource: {{role.name}}GenerateConfig}
- input_values:
- NET_HOST: 'true'
-
{{role.name}}PuppetStepConfig:
type: OS::Heat::Value
properties:
@@ -212,20 +185,16 @@ resources:
service_names: {get_param: [role_data, {{role.name}}, service_names]}
docker_config: {get_param: [role_data, {{role.name}}, docker_config]}
- # BEGIN BAREMETAL CONFIG STEPS
+ # BEGIN CONFIG STEPS
{{role.name}}PreConfig:
type: OS::TripleO::Tasks::{{role.name}}PreConfig
+ depends_on: {{role.name}}HostPrepDeployment
properties:
servers: {get_param: [servers, {{role.name}}]}
input_values:
update_identifier: {get_param: DeployIdentifier}
- {{role.name}}Config:
- type: OS::TripleO::{{role.name}}Config
- properties:
- StepConfig: {get_attr: [{{role.name}}PuppetStepConfig, value]}
-
{% for step in range(1, deploy_steps_max) %}
{{role.name}}Deployment_Step{{step}}:
@@ -236,64 +205,26 @@ resources:
depends_on:
{% for dep in roles %}
- {{dep.name}}Deployment_Step{{step -1}}
- - {{dep.name}}ContainersDeployment_Step{{step -1}}
{% endfor %}
- - {{primary_role_name}}DockerPuppetTasksDeployment{{step -1}}
{% endif %}
properties:
name: {{role.name}}Deployment_Step{{step}}
servers: {get_param: [servers, {{role.name}}]}
- config: {get_resource: {{role.name}}Config}
+ config: {get_resource: RoleConfig}
input_values:
step: {{step}}
+ role_name: {{role.name}}
update_identifier: {get_param: DeployIdentifier}
+ bootstrap_server_id: {get_param: [servers, {{primary_role_name}}, '0']}
{% endfor %}
- # END BAREMETAL CONFIG STEPS
-
- # BEGIN CONTAINER CONFIG STEPS
- {% for step in range(1, deploy_steps_max) %}
-
- {{role.name}}ContainersConfig_Step{{step}}:
- type: OS::Heat::StructuredConfig
- properties:
- group: docker-cmd
- config:
- {get_attr: [{{role.name}}DockerConfig, value, step_{{step}}]}
-
- {{role.name}}ContainersDeployment_Step{{step}}:
- type: OS::Heat::StructuredDeploymentGroup
- {% if step == 1 %}
- depends_on:
- {%- for dep in roles %}
- - {{dep.name}}Deployment_Step{{step}} # baremetal steps of the same level run first
- {%- endfor %}
- - {{role.name}}PreConfig
- - {{role.name}}HostPrepDeployment
- - {{role.name}}GenerateConfigDeployment
- {% else %}
- depends_on:
- {% for dep in roles %}
- - {{dep.name}}ContainersDeployment_Step{{step -1}}
- - {{dep.name}}Deployment_Step{{step}} # baremetal steps of the same level run first
- - {{dep.name}}Deployment_Step{{step -1}}
- {% endfor %}
- - {{primary_role_name}}DockerPuppetTasksDeployment{{step -1}}
- {% endif %}
- properties:
- name: {{role.name}}ContainersDeployment_Step{{step}}
- servers: {get_param: [servers, {{role.name}}]}
- config: {get_resource: {{role.name}}ContainersConfig_Step{{step}}}
-
- {% endfor %}
- # END CONTAINER CONFIG STEPS
+ # END CONFIG STEPS
{{role.name}}PostConfig:
type: OS::TripleO::Tasks::{{role.name}}PostConfig
depends_on:
{% for dep in roles %}
- {{dep.name}}Deployment_Step5
- - {{primary_role_name}}DockerPuppetTasksDeployment5
{% endfor %}
properties:
servers: {get_param: servers}
diff --git a/docker/services/containers-common.yaml b/docker/services/containers-common.yaml
index a9912a1f..973d9994 100644
--- a/docker/services/containers-common.yaml
+++ b/docker/services/containers-common.yaml
@@ -18,3 +18,4 @@ outputs:
- /etc/pki/tls/cert.pem:/etc/pki/tls/cert.pem:ro
# Syslog socket
- /dev/log:/dev/log
+ - /etc/ssh/ssh_known_hosts:/etc/ssh/ssh_known_hosts:ro
diff --git a/docker/services/neutron-l3.yaml b/docker/services/neutron-l3.yaml
index 97901bc8..bd5147d3 100644
--- a/docker/services/neutron-l3.yaml
+++ b/docker/services/neutron-l3.yaml
@@ -104,3 +104,8 @@ outputs:
file:
path: /var/log/containers/neutron
state: directory
+ upgrade_tasks:
+ - name: Stop and disable neutron_l3 service
+ tags: step2
+ service: name=neutron-l3-agent state=stopped enabled=no
+
diff --git a/puppet/blockstorage-role.yaml b/puppet/blockstorage-role.yaml
index d66cbd90..7b6fbb71 100644
--- a/puppet/blockstorage-role.yaml
+++ b/puppet/blockstorage-role.yaml
@@ -426,6 +426,7 @@ resources:
hierarchy:
- '"%{::uuid}"'
- heat_config_%{::deploy_config_name}
+ - config_step
- volume_extraconfig
- extraconfig
- service_names
diff --git a/puppet/cephstorage-role.yaml b/puppet/cephstorage-role.yaml
index d4dfa719..8047e3dc 100644
--- a/puppet/cephstorage-role.yaml
+++ b/puppet/cephstorage-role.yaml
@@ -431,6 +431,7 @@ resources:
hierarchy:
- '"%{::uuid}"'
- heat_config_%{::deploy_config_name}
+ - config_step
- ceph_extraconfig
- extraconfig
- service_names
diff --git a/puppet/compute-role.yaml b/puppet/compute-role.yaml
index ff1f6d2a..e453508a 100644
--- a/puppet/compute-role.yaml
+++ b/puppet/compute-role.yaml
@@ -437,6 +437,7 @@ resources:
hierarchy:
- '"%{::uuid}"'
- heat_config_%{::deploy_config_name}
+ - config_step
- compute_extraconfig
- extraconfig
- service_names
diff --git a/puppet/controller-role.yaml b/puppet/controller-role.yaml
index 9bf110d5..4c0a70f6 100644
--- a/puppet/controller-role.yaml
+++ b/puppet/controller-role.yaml
@@ -486,6 +486,7 @@ resources:
hierarchy:
- '"%{::uuid}"'
- heat_config_%{::deploy_config_name}
+ - config_step
- controller_extraconfig
- extraconfig
- service_configs
diff --git a/puppet/objectstorage-role.yaml b/puppet/objectstorage-role.yaml
index 2f7056c4..5ab6669f 100644
--- a/puppet/objectstorage-role.yaml
+++ b/puppet/objectstorage-role.yaml
@@ -414,6 +414,7 @@ resources:
hierarchy:
- '"%{::uuid}"'
- heat_config_%{::deploy_config_name}
+ - config_step
- object_extraconfig
- extraconfig
- service_names
diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml
index 7acf2dfb..570efb3a 100644
--- a/puppet/role.role.j2.yaml
+++ b/puppet/role.role.j2.yaml
@@ -450,6 +450,7 @@ resources:
hierarchy:
- '"%{::uuid}"'
- heat_config_%{::deploy_config_name}
+ - config_step
- {{role.lower()}}_extraconfig
- extraconfig
- service_names
diff --git a/puppet/services/aodh-base.yaml b/puppet/services/aodh-base.yaml
index 331fe9a9..0563d08b 100644
--- a/puppet/services/aodh-base.yaml
+++ b/puppet/services/aodh-base.yaml
@@ -56,11 +56,18 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ AodhDebug:
+ default: ''
+ description: Set to True to enable debugging Aodh services.
+ type: string
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
+conditions:
+ service_debug_unset: {equals : [{get_param: AodhDebug}, '']}
+
outputs:
role_data:
description: Role data for the Aodh role.
@@ -78,7 +85,11 @@ outputs:
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- aodh::debug: {get_param: Debug}
+ aodh::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: AodhDebug }
aodh::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
aodh::rabbit_userid: {get_param: RabbitUserName}
aodh::rabbit_password: {get_param: RabbitPassword}
diff --git a/puppet/services/barbican-api.yaml b/puppet/services/barbican-api.yaml
index 53fba63e..51331242 100644
--- a/puppet/services/barbican-api.yaml
+++ b/puppet/services/barbican-api.yaml
@@ -38,6 +38,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ BarbicanDebug:
+ default: ''
+ description: Set to True to enable debugging Barbican service.
+ type: string
KeystoneRegion:
type: string
default: 'regionOne'
@@ -81,6 +85,9 @@ resources:
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
+conditions:
+ service_debug_unset: {equals : [{get_param: BarbicanDebug}, '']}
+
outputs:
role_data:
description: Role data for the Barbican API role.
@@ -97,7 +104,11 @@ outputs:
barbican::api::host_href: {get_param: [EndpointMap, BarbicanPublic, uri]}
barbican::api::db_auto_create: false
barbican::api::enabled_certificate_plugins: ['simple_certificate']
- barbican::api::logging::debug: {get_param: Debug}
+ barbican::api::logging::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: BarbicanDebug }
barbican::api::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
barbican::api::rabbit_userid: {get_param: RabbitUserName}
barbican::api::rabbit_password: {get_param: RabbitPassword}
diff --git a/puppet/services/ceilometer-base.yaml b/puppet/services/ceilometer-base.yaml
index b3e2c3a4..1d86369b 100644
--- a/puppet/services/ceilometer-base.yaml
+++ b/puppet/services/ceilometer-base.yaml
@@ -64,6 +64,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ CeilometerDebug:
+ default: ''
+ description: Set to True to enable debugging Ceilometer services.
+ type: string
KeystoneRegion:
type: string
default: 'regionOne'
@@ -100,13 +104,20 @@ parameters:
type: string
hidden: true
+conditions:
+ service_debug_unset: {equals : [{get_param: CeilometerDebug}, '']}
+
outputs:
role_data:
description: Role data for the Ceilometer role.
value:
service_name: ceilometer_base
config_settings:
- ceilometer::debug: {get_param: Debug}
+ ceilometer::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: CeilometerDebug }
ceilometer::keystone::authtoken::project_name: 'service'
ceilometer::keystone::authtoken::user_domain_name: 'Default'
ceilometer::keystone::authtoken::project_domain_name: 'Default'
diff --git a/puppet/services/cinder-base.yaml b/puppet/services/cinder-base.yaml
index 2ba5aa52..f7dfe5e1 100644
--- a/puppet/services/cinder-base.yaml
+++ b/puppet/services/cinder-base.yaml
@@ -12,6 +12,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ CinderDebug:
+ default: ''
+ description: Set to True to enable debugging on Cinder services.
+ type: string
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
@@ -93,6 +97,9 @@ parameters:
Cron to move deleted instances to another table - Log destination
default: '/var/log/cinder/cinder-rowsflush.log'
+conditions:
+ service_debug_unset: {equals : [{get_param: CinderDebug}, '']}
+
outputs:
role_data:
description: Role data for the Cinder base service.
@@ -109,7 +116,11 @@ outputs:
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- cinder::debug: {get_param: Debug}
+ cinder::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: CinderDebug }
cinder::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
cinder::rabbit_userid: {get_param: RabbitUserName}
cinder::rabbit_password: {get_param: RabbitPassword}
diff --git a/puppet/services/congress.yaml b/puppet/services/congress.yaml
index 8fbcd99d..5bca94d7 100644
--- a/puppet/services/congress.yaml
+++ b/puppet/services/congress.yaml
@@ -33,6 +33,10 @@ parameters:
Debug:
type: string
default: ''
+ CongressDebug:
+ default: ''
+ description: Set to True to enable debugging Glance service.
+ type: string
KeystoneRegion:
type: string
default: 'regionOne'
@@ -62,6 +66,9 @@ parameters:
default: {}
type: json
+conditions:
+ service_debug_unset: {equals : [{get_param: CongressDebug}, '']}
+
outputs:
role_data:
description: Role data for the Congress role.
@@ -79,7 +86,11 @@ outputs:
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- congress::debug: {get_param: Debug}
+ congress::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: CongressDebug }
congress::rpc_backend: rabbit
congress::rabbit_userid: {get_param: RabbitUserName}
congress::rabbit_password: {get_param: RabbitPassword}
diff --git a/puppet/services/glance-api.yaml b/puppet/services/glance-api.yaml
index 28151744..7812c8e2 100644
--- a/puppet/services/glance-api.yaml
+++ b/puppet/services/glance-api.yaml
@@ -30,6 +30,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ GlanceDebug:
+ default: ''
+ description: Set to True to enable debugging Glance service.
+ type: string
GlancePassword:
description: The password for the glance service and db account, used by the glance services.
type: string
@@ -59,10 +63,6 @@ parameters:
CephClientUserName:
default: openstack
type: string
- Debug:
- default: ''
- description: Set to True to enable debugging on all services.
- type: string
GlanceNotifierStrategy:
description: Strategy to use for Glance notification queue
type: string
@@ -128,6 +128,7 @@ parameters:
conditions:
use_tls_proxy: {equals : [{get_param: EnableInternalTLS}, true]}
glance_workers_unset: {equals : [{get_param: GlanceWorkers}, '']}
+ service_debug_unset: {equals : [{get_param: GlanceDebug}, '']}
resources:
@@ -170,7 +171,11 @@ outputs:
glance::api::enable_v2_api: true
glance::api::authtoken::password: {get_param: GlancePassword}
glance::api::enable_proxy_headers_parsing: true
- glance::api::debug: {get_param: Debug}
+ glance::api::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: GlanceDebug }
glance::policy::policies: {get_param: GlanceApiPolicies}
tripleo.glance_api.firewall_rules:
'112 glance_api':
diff --git a/puppet/services/gnocchi-base.yaml b/puppet/services/gnocchi-base.yaml
index 80ef7171..f4067ef6 100644
--- a/puppet/services/gnocchi-base.yaml
+++ b/puppet/services/gnocchi-base.yaml
@@ -52,6 +52,13 @@ parameters:
type: string
default: ''
description: Set to True to enable debugging on all services.
+ GnocchiDebug:
+ default: ''
+ description: Set to True to enable debugging Gnocchi services.
+ type: string
+
+conditions:
+ service_debug_unset: {equals : [{get_param: GnocchiDebug}, '']}
outputs:
aux_parameters:
@@ -65,7 +72,11 @@ outputs:
config_settings:
#Gnocchi engine
gnocchi_redis_password: {get_param: RedisPassword}
- gnocchi::debug: {get_param: Debug}
+ gnocchi::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: GnocchiDebug }
gnocchi::db::database_connection:
make_url:
scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
diff --git a/puppet/services/heat-base.yaml b/puppet/services/heat-base.yaml
index dfd823db..d89fe46a 100644
--- a/puppet/services/heat-base.yaml
+++ b/puppet/services/heat-base.yaml
@@ -8,6 +8,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ HeatDebug:
+ default: ''
+ description: Set to True to enable debugging Heat services.
+ type: string
RabbitPassword:
description: The password for RabbitMQ
type: string
@@ -112,6 +116,9 @@ parameters:
description: Maximum raw byte size of the Heat API JSON request body.
type: number
+conditions:
+ service_debug_unset: {equals : [{get_param: HeatDebug}, '']}
+
outputs:
role_data:
description: Shared role data for the Heat services.
@@ -122,7 +129,11 @@ outputs:
heat::rabbit_password: {get_param: RabbitPassword}
heat::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
heat::rabbit_port: {get_param: RabbitClientPort}
- heat::debug: {get_param: Debug}
+ heat::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: HeatDebug }
heat::enable_proxy_headers_parsing: true
heat::rpc_response_timeout: 600
# We need this because the default heat policy.json no longer works on TripleO
diff --git a/puppet/services/horizon.yaml b/puppet/services/horizon.yaml
index 562afe16..93bced8b 100644
--- a/puppet/services/horizon.yaml
+++ b/puppet/services/horizon.yaml
@@ -14,6 +14,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ HorizonDebug:
+ default: false
+ description: Set to True to enable debugging Horizon service.
+ type: string
DefaultPasswords:
default: {}
type: json
@@ -62,7 +66,7 @@ parameters:
conditions:
- debug_empty: {equals : [{get_param: Debug}, '']}
+ debug_unset: {equals : [{get_param: Debug}, '']}
outputs:
role_data:
@@ -104,9 +108,9 @@ outputs:
memcached_ipv6: {get_param: MemcachedIPv6}
-
if:
- - debug_empty
- - {}
- - horizon::django_debug: {get_param: Debug}
+ - debug_unset
+ - horizon::django_debug: { get_param: HorizonDebug }
+ - horizon::django_debug: { get_param: Debug }
step_config: |
include ::tripleo::profile::base::horizon
# Ansible tasks to handle upgrade
diff --git a/puppet/services/ironic-base.yaml b/puppet/services/ironic-base.yaml
index da485161..41d6cedc 100644
--- a/puppet/services/ironic-base.yaml
+++ b/puppet/services/ironic-base.yaml
@@ -30,6 +30,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ IronicDebug:
+ default: ''
+ description: Set to True to enable debugging Ironic services.
+ type: string
IronicPassword:
description: The password for the Ironic service and db account, used by the Ironic services
type: string
@@ -53,6 +57,9 @@ parameters:
an SSL connection to the RabbitMQ host.
type: string
+conditions:
+ service_debug_unset: {equals : [{get_param: IronicDebug}, '']}
+
outputs:
role_data:
description: Role data for the Ironic role.
@@ -69,7 +76,11 @@ outputs:
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- ironic::debug: {get_param: Debug}
+ ironic::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: IronicDebug }
ironic::rabbit_userid: {get_param: RabbitUserName}
ironic::rabbit_password: {get_param: RabbitPassword}
ironic::rabbit_port: {get_param: RabbitClientPort}
diff --git a/puppet/services/keystone.yaml b/puppet/services/keystone.yaml
index 7262e478..f3a9cbc4 100644
--- a/puppet/services/keystone.yaml
+++ b/puppet/services/keystone.yaml
@@ -63,6 +63,10 @@ parameters:
Debug:
type: string
default: ''
+ KeystoneDebug:
+ default: ''
+ description: Set to True to enable debugging Keystone service.
+ type: string
AdminEmail:
default: 'admin@example.com'
description: The email for the keystone admin account.
@@ -198,6 +202,7 @@ resources:
conditions:
keystone_fernet_tokens: {equals: [{get_param: KeystoneTokenProvider}, "fernet"]}
keystone_ldap_domain_enabled: {equals: [{get_param: KeystoneLDAPDomainEnable}, True]}
+ service_debug_unset: {equals : [{get_param: KeystoneDebug}, '']}
outputs:
role_data:
@@ -242,7 +247,11 @@ outputs:
'/etc/keystone/fernet-keys/1':
content: {get_param: KeystoneFernetKey1}
keystone::fernet_replace_keys: false
- keystone::debug: {get_param: Debug}
+ keystone::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: KeystoneDebug }
keystone::rabbit_userid: {get_param: RabbitUserName}
keystone::rabbit_password: {get_param: RabbitPassword}
keystone::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
diff --git a/puppet/services/manila-base.yaml b/puppet/services/manila-base.yaml
index a299fffa..d0ee2125 100644
--- a/puppet/services/manila-base.yaml
+++ b/puppet/services/manila-base.yaml
@@ -30,6 +30,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ ManilaDebug:
+ default: ''
+ description: Set to True to enable debugging Manila services.
+ type: string
RabbitPassword:
description: The password for RabbitMQ
type: string
@@ -53,6 +57,9 @@ parameters:
type: string
hidden: true
+conditions:
+ service_debug_unset: {equals : [{get_param: ManilaDebug}, '']}
+
outputs:
role_data:
description: Role data for the Manila Base service.
@@ -63,7 +70,11 @@ outputs:
manila::rabbit_password: {get_param: RabbitPassword}
manila::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
manila::rabbit_port: {get_param: RabbitClientPort}
- manila::debug: {get_param: Debug}
+ manila::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: ManilaDebug }
manila::db::database_db_max_retries: -1
manila::db::database_max_retries: -1
manila::sql_connection:
diff --git a/puppet/services/mistral-base.yaml b/puppet/services/mistral-base.yaml
index 2e708650..8b3655dd 100644
--- a/puppet/services/mistral-base.yaml
+++ b/puppet/services/mistral-base.yaml
@@ -31,6 +31,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ MistralDebug:
+ default: ''
+ description: Set to True to enable debugging Mistral services.
+ type: string
RabbitPassword:
description: The password for RabbitMQ
type: string
@@ -58,6 +62,9 @@ parameters:
default: 'regionOne'
description: Keystone region for endpoint
+conditions:
+ service_debug_unset: {equals : [{get_param: MistralDebug}, '']}
+
outputs:
role_data:
description: Shared role data for the Mistral services.
@@ -78,7 +85,11 @@ outputs:
mistral::rabbit_password: {get_param: RabbitPassword}
mistral::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
mistral::rabbit_port: {get_param: RabbitClientPort}
- mistral::debug: {get_param: Debug}
+ mistral::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: MistralDebug }
mistral::keystone_password: {get_param: MistralPassword}
mistral::keystone_tenant: 'service'
mistral::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
diff --git a/puppet/services/neutron-base.yaml b/puppet/services/neutron-base.yaml
index 57581b58..3c7518b3 100644
--- a/puppet/services/neutron-base.yaml
+++ b/puppet/services/neutron-base.yaml
@@ -50,6 +50,10 @@ parameters:
type: string
default: ''
description: Set to True to enable debugging on all services.
+ NeutronDebug:
+ default: ''
+ description: Set to True to enable debugging Neutron services.
+ type: string
EnableConfigPurge:
type: boolean
default: false
@@ -90,6 +94,7 @@ parameters:
conditions:
dhcp_agents_zero: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]}
+ service_debug_unset: {equals : [{get_param: NeutronDebug}, '']}
outputs:
role_data:
@@ -104,7 +109,11 @@ outputs:
neutron::rabbit_port: {get_param: RabbitClientPort}
neutron::core_plugin: {get_param: NeutronCorePlugin}
neutron::service_plugins: {get_param: NeutronServicePlugins}
- neutron::debug: {get_param: Debug}
+ neutron::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: NeutronDebug }
neutron::purge_config: {get_param: EnableConfigPurge}
neutron::allow_overlapping_ips: true
neutron::dns_domain: {get_param: NeutronDnsDomain}
diff --git a/puppet/services/nova-base.yaml b/puppet/services/nova-base.yaml
index ea21af8a..ea584932 100644
--- a/puppet/services/nova-base.yaml
+++ b/puppet/services/nova-base.yaml
@@ -68,6 +68,10 @@ parameters:
type: string
default: ''
description: Set to True to enable debugging on all services.
+ NovaDebug:
+ default: ''
+ description: Set to True to enable debugging Nova services.
+ type: string
EnableConfigPurge:
type: boolean
default: false
@@ -136,6 +140,7 @@ parameters:
conditions:
compute_upgrade_level_empty: {equals : [{get_param: UpgradeLevelNovaCompute}, '']}
+ service_debug_unset: {equals : [{get_param: NovaDebug}, '']}
outputs:
role_data:
@@ -193,7 +198,11 @@ outputs:
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- nova::debug: {get_param: Debug}
+ nova::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: NovaDebug }
nova::purge_config: {get_param: EnableConfigPurge}
nova::network::neutron::neutron_project_name: 'service'
nova::network::neutron::neutron_username: 'neutron'
diff --git a/puppet/services/octavia-base.yaml b/puppet/services/octavia-base.yaml
index 19dc5b47..0809b3e4 100644
--- a/puppet/services/octavia-base.yaml
+++ b/puppet/services/octavia-base.yaml
@@ -30,6 +30,10 @@ parameters:
type: string
default: ''
description: Set to True to enable debugging on all services.
+ OctaviaDebug:
+ default: ''
+ description: Set to True to enable debugging Octavia services.
+ type: string
EnableConfigPurge:
type: boolean
default: false
@@ -55,13 +59,20 @@ parameters:
description: Set rabbit subscriber port, change this if using SSL
type: number
+conditions:
+ service_debug_unset: {equals : [{get_param: OctaviaDebug}, '']}
+
outputs:
role_data:
description: Base role data for Octavia services
value:
service_name: octavia_base
config_settings:
- octavia::debug: {get_param: Debug}
+ octavia::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: OctaviaDebug }
octavia::purge_config: {get_param: EnableConfigPurge}
octavia::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
octavia::rabbit_userid: {get_param: RabbitUserName}
diff --git a/puppet/services/panko-base.yaml b/puppet/services/panko-base.yaml
index 84817bcf..a94d4ea5 100644
--- a/puppet/services/panko-base.yaml
+++ b/puppet/services/panko-base.yaml
@@ -34,11 +34,18 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ PankoDebug:
+ default: ''
+ description: Set to True to enable debugging Panko services.
+ type: string
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
+conditions:
+ service_debug_unset: {equals : [{get_param: PankoDebug}, '']}
+
outputs:
role_data:
description: Role data for the Panko role.
@@ -55,7 +62,11 @@ outputs:
query:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- panko::debug: {get_param: Debug}
+ panko::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: PankoDebug }
panko::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
panko::keystone::authtoken::project_name: 'service'
panko::keystone::authtoken::user_domain_name: 'Default'
diff --git a/puppet/services/sahara-base.yaml b/puppet/services/sahara-base.yaml
index 1ee6d175..c294e744 100644
--- a/puppet/services/sahara-base.yaml
+++ b/puppet/services/sahara-base.yaml
@@ -52,11 +52,18 @@ parameters:
type: string
default: ''
description: Set to True to enable debugging on all services.
+ SaharaDebug:
+ default: ''
+ description: Set to True to enable debugging Sahara services.
+ type: string
SaharaPlugins:
default: ["ambari","cdh","mapr","vanilla","spark","storm"]
description: Sahara enabled plugin list
type: comma_delimited_list
+conditions:
+ service_debug_unset: {equals : [{get_param: SaharaDebug}, '']}
+
outputs:
role_data:
description: Role data for the Sahara base service.
@@ -77,7 +84,11 @@ outputs:
sahara::rabbit_user: {get_param: RabbitUserName}
sahara::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
sahara::rabbit_port: {get_param: RabbitClientPort}
- sahara::debug: {get_param: Debug}
+ sahara::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: SaharaDebug }
# Remove admin_password when https://review.openstack.org/442619 is merged.
sahara::admin_password: {get_param: SaharaPassword}
sahara::use_neutron: true
diff --git a/puppet/services/tacker.yaml b/puppet/services/tacker.yaml
index e121feb3..5ced8c3c 100644
--- a/puppet/services/tacker.yaml
+++ b/puppet/services/tacker.yaml
@@ -33,6 +33,10 @@ parameters:
Debug:
type: string
default: ''
+ TackerDebug:
+ default: ''
+ description: Set to True to enable debugging Tacker service.
+ type: string
KeystoneRegion:
type: string
default: 'regionOne'
@@ -62,6 +66,9 @@ parameters:
default: {}
type: json
+conditions:
+ service_debug_unset: {equals : [{get_param: TackerDebug}, '']}
+
outputs:
role_data:
description: Role data for the Tacker role.
@@ -80,7 +87,11 @@ outputs:
read_default_file: /etc/my.cnf.d/tripleo.cnf
read_default_group: tripleo
- tacker::debug: {get_param: Debug}
+ tacker::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: TackerDebug }
tacker::rpc_backend: rabbit
tacker::rabbit_userid: {get_param: RabbitUserName}
tacker::rabbit_password: {get_param: RabbitPassword}
diff --git a/puppet/services/zaqar.yaml b/puppet/services/zaqar.yaml
index 6bc296a3..416d86df 100644
--- a/puppet/services/zaqar.yaml
+++ b/puppet/services/zaqar.yaml
@@ -30,6 +30,10 @@ parameters:
default: ''
description: Set to True to enable debugging on all services.
type: string
+ ZaqarDebug:
+ default: ''
+ description: Set to True to enable debugging Zaqar service.
+ type: string
ZaqarPassword:
description: The password for Zaqar
type: string
@@ -54,6 +58,7 @@ parameters:
conditions:
zaqar_workers_zero: {equals : [{get_param: ZaqarWorkers}, 0]}
+ service_debug_unset: {equals : [{get_param: ZaqarDebug}, '']}
resources:
@@ -78,7 +83,11 @@ outputs:
zaqar::keystone::authtoken::project_name: 'service'
zaqar::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
zaqar::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
- zaqar::debug: {get_param: Debug}
+ zaqar::debug:
+ if:
+ - service_debug_unset
+ - {get_param: Debug }
+ - {get_param: ZaqarDebug }
zaqar::server::service_name: 'httpd'
zaqar::transport::websocket::bind: {get_param: [EndpointMap, ZaqarInternal, host]}
zaqar::wsgi::apache::ssl: false
diff --git a/releasenotes/notes/debug_per_service-54a260917c4a7e3a.yaml b/releasenotes/notes/debug_per_service-54a260917c4a7e3a.yaml
new file mode 100644
index 00000000..da9af4a3
--- /dev/null
+++ b/releasenotes/notes/debug_per_service-54a260917c4a7e3a.yaml
@@ -0,0 +1,9 @@
+---
+features:
+ - |
+ Allow to configure debug per service.
+ The feature is backward compatible with existing Debug parameter.
+ Adding a new parameter per service, e.g. GlanceDebug. Set to False,
+ it will disable debug for the service, even if Debug is set to True.
+ If Debug is set to False but GlanceDebug is set to True, Glance debug
+ will be enabled.