Merge "Manually set healthchecks for _cron services" into stable/pike
authorJenkins <jenkins@review.openstack.org>
Mon, 4 Sep 2017 20:58:59 +0000 (20:58 +0000)
committerGerrit Code Review <review@openstack.org>
Mon, 4 Sep 2017 20:59:00 +0000 (20:59 +0000)
25 files changed:
capabilities-map.yaml
ci/environments/scenario001-multinode-containers.yaml
common/deploy-steps.j2
docker/services/swift-ringbuilder.yaml
docker/services/zaqar.yaml
environments/cinder-dellemc-vmax-iscsi-config.yaml [new file with mode: 0644]
overcloud-resource-registry-puppet.j2.yaml
puppet/role.role.j2.yaml
puppet/services/aodh-api.yaml
puppet/services/barbican-api.yaml
puppet/services/ceilometer-api.yaml
puppet/services/cinder-api.yaml
puppet/services/cinder-backend-dellemc-vmax-iscsi.yaml [new file with mode: 0644]
puppet/services/gnocchi-api.yaml
puppet/services/keystone.yaml
puppet/services/neutron-ovs-agent.yaml
puppet/services/nova-api.yaml
puppet/services/opendaylight-ovs.yaml
puppet/services/panko-api.yaml
puppet/services/zaqar-api.yaml
releasenotes/notes/vmax_cinder_a6672898724a11e7.yaml [new file with mode: 0644]
roles/Controller.yaml
roles_data.yaml
test-requirements.txt
tools/yaml-validate.py

index 1af6be9..35ff2da 100644 (file)
@@ -316,6 +316,10 @@ topics:
             title: Cinder Dell EMC Unity backend
             description: >
               Enables a Cinder Dell EMC Unity backend,
+          - file: environments/cinder-dellemc-vmax-iscsi-config.yaml
+            title: Cinder Dell EMC VMAX ISCSI backend
+            description: >
+              Enables a Cinder Dell EMC VMAX ISCSI backend,
               configured via puppet
             requires:
               - overcloud-resource-registry-puppet.yaml
index b625f71..46e8c5d 100644 (file)
@@ -12,7 +12,6 @@ resource_registry:
   OS::TripleO::Services::CephClient: ../../docker/services/ceph-ansible/ceph-client.yaml
   OS::TripleO::Services::PankoApi: ../../docker/services/panko-api.yaml
   OS::TripleO::Services::Collectd: ../../docker/services/collectd.yaml
-  OS::TripleO::Services::Tacker: ../../docker/services/tacker.yaml
   OS::TripleO::Services::Congress: ../../docker/services/congress.yaml
   # TODO fluentd is being containerized: https://review.openstack.org/#/c/467072/
   OS::TripleO::Services::FluentdClient: ../../puppet/services/logging/fluentd-client.yaml
@@ -86,7 +85,6 @@ parameter_defaults:
     - OS::TripleO::Services::CinderScheduler
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Tacker
     - OS::TripleO::Services::Congress
     - OS::TripleO::Services::TripleoPackages
     - OS::TripleO::Services::TripleoFirewall
index 32d1afc..3af4846 100644 (file)
@@ -182,54 +182,52 @@ resources:
                   puppet_step_config: {get_param: [role_data, {{role.name}}, step_config]}
                 tasks:
                   # Join host_prep_tasks with the other per-host configuration
-                  yaql:
-                    expression: $.data.host_prep_tasks + $.data.template_tasks
-                    data:
-                      host_prep_tasks: {get_param: [role_data, {{role.name}}, host_prep_tasks]}
-                      template_tasks:
+                  list_concat:
+                    - {get_param: [role_data, {{role.name}}, host_prep_tasks]}
+                    -
 {%- raw %}
-                        # 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 creates a JSON config file for our docker-puppet.py script
-                        - name: Create /var/lib/docker-puppet
-                          file: path=/var/lib/docker-puppet state=directory
-                        - name: Write docker-puppet-tasks json files
-                          copy: content="{{puppet_config | to_json}}" dest=/var/lib/docker-puppet/docker-puppet.json force=yes
-                        # FIXME: can we move docker-puppet somewhere so it's installed via a package?
-                        - name: Write docker-puppet.py
-                          copy: content="{{docker_puppet_script}}" dest=/var/lib/docker-puppet/docker-puppet.py force=yes
-                        # 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}}"
-                        ########################################################
-                        # Bootstrap tasks, only performed on bootstrap_server_id
-                        ########################################################
-                        - name: Clean /var/lib/docker-puppet/docker-puppet-tasks*.json files
-                          file:
-                            path: "{{item}}"
-                            state: absent
-                          with_fileglob:
-                            - /var/lib/docker-puppet/docker-puppet-tasks*.json
-                          when: deploy_server_id == bootstrap_server_id
-                        - name: Write docker-puppet-tasks json files
-                          copy: content="{{item.value|to_json}}" dest=/var/lib/docker-puppet/docker-puppet-tasks{{item.key.replace("step_", "")}}.json force=yes
-                          with_dict: "{{docker_puppet_tasks}}"
-                          when: deploy_server_id == bootstrap_server_id
+                      # 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 creates a JSON config file for our docker-puppet.py script
+                      - name: Create /var/lib/docker-puppet
+                        file: path=/var/lib/docker-puppet state=directory
+                      - name: Write docker-puppet-tasks json files
+                        copy: content="{{puppet_config | to_json}}" dest=/var/lib/docker-puppet/docker-puppet.json force=yes
+                      # FIXME: can we move docker-puppet somewhere so it's installed via a package?
+                      - name: Write docker-puppet.py
+                        copy: content="{{docker_puppet_script}}" dest=/var/lib/docker-puppet/docker-puppet.py force=yes
+                      # 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}}"
+                      ########################################################
+                      # Bootstrap tasks, only performed on bootstrap_server_id
+                      ########################################################
+                      - name: Clean /var/lib/docker-puppet/docker-puppet-tasks*.json files
+                        file:
+                          path: "{{item}}"
+                          state: absent
+                        with_fileglob:
+                          - /var/lib/docker-puppet/docker-puppet-tasks*.json
+                        when: deploy_server_id == bootstrap_server_id
+                      - name: Write docker-puppet-tasks json files
+                        copy: content="{{item.value|to_json}}" dest=/var/lib/docker-puppet/docker-puppet-tasks{{item.key.replace("step_", "")}}.json force=yes
+                        with_dict: "{{docker_puppet_tasks}}"
+                        when: deploy_server_id == bootstrap_server_id
 {%- endraw %}
 
   {{role.name}}HostPrepDeployment:
index e4e2c7d..2a44f70 100644 (file)
@@ -7,6 +7,10 @@ parameters:
   DockerSwiftConfigImage:
     description: The container image to use for the swift config_volume
     type: string
+  DockerSwiftRingbuilderConfigImage:
+    description: Fake parameter to bypass config_volume yaml validation
+    type: string
+    default: ''
   ServiceData:
     default: {}
     description: Dictionary packing service data
@@ -92,9 +96,22 @@ outputs:
       service_config_settings: {get_attr: [SwiftRingbuilderBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       puppet_config:
-        config_volume: 'swift'
+        config_volume: 'swift_ringbuilder'
         puppet_tags: exec,fetch_swift_ring_tarball,extract_swift_ring_tarball,ring_object_device,swift::ringbuilder::create,tripleo::profile::base::swift::add_devices,swift::ringbuilder::rebalance,create_swift_ring_tarball,upload_swift_ring_tarball
         step_config: *step_config
-        config_image: {get_param: DockerSwiftConfigImage}
+        config_image: &swift_ringbuilder_image {get_param: DockerSwiftConfigImage}
       kolla_config: {}
-      docker_config: {}
+      docker_config:
+        step_3:
+          swift_copy_rings:
+            image: *swift_ringbuilder_image
+            user: root
+            detach: false
+            command:
+              # Use bash to run the cp command so that wildcards can be used
+              - '/bin/bash'
+              - '-c'
+              - 'cp -v -a -t /etc/swift /swift_ringbuilder/etc/swift/*.gz /swift_ringbuilder/etc/swift/*.builder /swift_ringbuilder/etc/swift/backups'
+            volumes:
+              - /var/lib/config-data/puppet-generated/swift/etc/swift:/etc/swift:rw
+              - /var/lib/config-data/swift_ringbuilder:/swift_ringbuilder:ro
index b6fb400..34f2e43 100644 (file)
@@ -130,7 +130,8 @@ outputs:
                       -
                         - /var/lib/config-data/zaqar/etc/zaqar/:/etc/zaqar/:ro
                         - /var/log/containers/zaqar:/var/log/zaqar
-                  command: "/usr/bin/bootstrap_host_exec zaqar su zaqar -s /bin/bash -c 'zaqar-sql-db-manage upgrade head'"
+                        - /var/log/containers/httpd/zaqar:/var/log/httpd
+                  command: "/usr/bin/bootstrap_host_exec zaqar_api su zaqar -s /bin/bash -c 'zaqar-sql-db-manage upgrade head'"
             - {}
           - step_4:
               zaqar:
diff --git a/environments/cinder-dellemc-vmax-iscsi-config.yaml b/environments/cinder-dellemc-vmax-iscsi-config.yaml
new file mode 100644 (file)
index 0000000..3832dad
--- /dev/null
@@ -0,0 +1,9 @@
+# A Heat environment file which can be used to enable a
+# Cinder Dell EMC VMAX backend, configured via puppet
+resource_registry:
+  OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI: ../puppet/services/cinder-backend-dellemc-vmax-iscsi.yaml
+
+parameter_defaults:
+  CinderEnableDellEMCVMAXISCSIBackend: true
+  CinderDellEMCVMAXISCSIBackendName: 'tripleo_dellemc_vmax_iscsi'
+  CinderDellEMCVMAXISCSIConfigFile: ''
index 0fa0a9f..b8819e7 100644 (file)
@@ -267,6 +267,7 @@ resource_registry:
   OS::TripleO::Services::CinderBackendDellPs: OS::Heat::None
   OS::TripleO::Services::CinderBackendDellSc: OS::Heat::None
   OS::TripleO::Services::CinderBackendDellEMCUnity: OS::Heat::None
+  OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI: OS::Heat::None
   OS::TripleO::Services::CinderBackendNetApp: OS::Heat::None
   OS::TripleO::Services::CinderBackendScaleIO: OS::Heat::None
   OS::TripleO::Services::CinderBackendVRTSHyperScale: OS::Heat::None
index f58f740..15da177 100644 (file)
@@ -105,6 +105,11 @@ parameters:
     description: DEPRECATED - use {{role.name}}IPs instead
     type: json
 {%- endif %}
+  {{role.name}}NetworkDeploymentActions:
+    type: comma_delimited_list
+    description: >
+      Heat action when to apply network configuration changes
+    default: []
   NetworkDeploymentActions:
     type: comma_delimited_list
     description: >
@@ -265,6 +270,11 @@ conditions:
         - {get_param: {{role.deprecated_param_flavor}}}
         - {{default_flavor_name}}
 {%- endif %}
+  role_network_deployment_actions_exists:
+    not:
+      equals:
+        - {get_param: {{role.name}}NetworkDeploymentActions}
+        - []
 
 resources:
   {{server_resource_name}}:
@@ -490,7 +500,10 @@ resources:
       actions:
         if:
           - server_not_blacklisted
-          - {get_param: NetworkDeploymentActions}
+          - if:
+            - role_network_deployment_actions_exists
+            - {get_param: {{role.name}}NetworkDeploymentActions}
+            - {get_param: NetworkDeploymentActions}
           - []
 
   {{server_resource_name}}UpgradeInitConfig:
index f84edde..f0493f0 100644 (file)
@@ -116,12 +116,9 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.aodh_api_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            aodh_api_upgrade:
-              - name: Stop aodh_api service (running under httpd)
-                tags: step1
-                service: name=httpd state=stopped
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Stop aodh_api service (running under httpd)
+              tags: step1
+              service: name=httpd state=stopped
index a894dbd..974c253 100644 (file)
@@ -186,22 +186,19 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.barbican_api_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            barbican_api_upgrade:
-              - name: Check if barbican_api is deployed
-                command: systemctl is-enabled openstack-barbican-api
-                tags: common
-                ignore_errors: True
-                register: barbican_api_enabled
-              - name: "PreUpgrade step0,validation: Check service openstack-barbican-api is running"
-                shell: /usr/bin/systemctl show 'openstack-barbican-api' --property ActiveState | grep '\bactive\b'
-                when: barbican_api_enabled.rc == 0
-                tags: step0,validation
-              - name: Install openstack-barbican-api package if it was disabled
-                tags: step3
-                yum: name=openstack-barbican-api state=latest
-                when: barbican_api_enabled.rc != 0
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Check if barbican_api is deployed
+              command: systemctl is-enabled openstack-barbican-api
+              tags: common
+              ignore_errors: True
+              register: barbican_api_enabled
+            - name: "PreUpgrade step0,validation: Check service openstack-barbican-api is running"
+              shell: /usr/bin/systemctl show 'openstack-barbican-api' --property ActiveState | grep '\bactive\b'
+              when: barbican_api_enabled.rc == 0
+              tags: step0,validation
+            - name: Install openstack-barbican-api package if it was disabled
+              tags: step3
+              yum: name=openstack-barbican-api state=latest
+              when: barbican_api_enabled.rc != 0
index aba303f..1076c04 100644 (file)
@@ -118,12 +118,9 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.ceilometer_api_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            ceilometer_api_upgrade:
-              - name: Stop ceilometer_api service (running under httpd)
-                tags: step1
-                service: name=httpd state=stopped
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Stop ceilometer_api service (running under httpd)
+              tags: step1
+              service: name=httpd state=stopped
index fbfe532..193c6ba 100644 (file)
@@ -184,31 +184,28 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.cinder_api_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            cinder_api_upgrade:
-              - name: Check if cinder_api is deployed
-                command: systemctl is-enabled openstack-cinder-api
-                tags: common
-                ignore_errors: True
-                register: cinder_api_enabled
-              - name: "PreUpgrade step0,validation: Check service openstack-cinder-api is running"
-                shell: /usr/bin/systemctl show 'openstack-cinder-api' --property ActiveState | grep '\bactive\b'
-                when: cinder_api_enabled.rc == 0
-                tags: step0,validation
-              - name: check for cinder running under apache (post upgrade)
-                tags: step1
-                shell: "httpd -t -D DUMP_VHOSTS | grep -q cinder"
-                register: cinder_apache
-                ignore_errors: true
-              - name: Stop cinder_api service (running under httpd)
-                tags: step1
-                service: name=httpd state=stopped
-                when: cinder_apache.rc == 0
-              - name: Stop and disable cinder_api service (pre-upgrade not under httpd)
-                tags: step1
-                when: cinder_api_enabled.rc == 0
-                service: name=openstack-cinder-api state=stopped enabled=no
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Check if cinder_api is deployed
+              command: systemctl is-enabled openstack-cinder-api
+              tags: common
+              ignore_errors: True
+              register: cinder_api_enabled
+            - name: "PreUpgrade step0,validation: Check service openstack-cinder-api is running"
+              shell: /usr/bin/systemctl show 'openstack-cinder-api' --property ActiveState | grep '\bactive\b'
+              when: cinder_api_enabled.rc == 0
+              tags: step0,validation
+            - name: check for cinder running under apache (post upgrade)
+              tags: step1
+              shell: "httpd -t -D DUMP_VHOSTS | grep -q cinder"
+              register: cinder_apache
+              ignore_errors: true
+            - name: Stop cinder_api service (running under httpd)
+              tags: step1
+              service: name=httpd state=stopped
+              when: cinder_apache.rc == 0
+            - name: Stop and disable cinder_api service (pre-upgrade not under httpd)
+              tags: step1
+              when: cinder_api_enabled.rc == 0
+              service: name=openstack-cinder-api state=stopped enabled=no
diff --git a/puppet/services/cinder-backend-dellemc-vmax-iscsi.yaml b/puppet/services/cinder-backend-dellemc-vmax-iscsi.yaml
new file mode 100644 (file)
index 0000000..1a3beab
--- /dev/null
@@ -0,0 +1,65 @@
+# Copyright (c) 2016-2017 Dell Inc, or its subsidiaries.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+heat_template_version: pike
+
+description: >
+  Openstack Cinder Dell EMC VMAX iscsi backend
+
+parameters:
+  CinderEnableDellEMCVMAXISCSIBackend:
+    type: boolean
+    default: true
+  CinderDellEMCVMAXISCSIBackendName:
+    type: string
+    default: 'tripleo_dellemc_vmax_iscsi'
+  CinderDellEMCVMAXISCSIConfigFile:
+    type: string
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+  RoleName:
+    default: ''
+    description: Role name on which the service is applied
+    type: string
+  RoleParameters:
+    default: {}
+    description: Parameters specific to the role
+    type: json
+  EndpointMap:
+    default: {}
+    type: json
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+
+outputs:
+  role_data:
+    description: Role data for the Cinder Dell EMC VMAX iscsi backend.
+    value:
+      service_name: cinder_backend_dellemc_vmax_iscsi
+      config_settings:
+                tripleo::profile::base::cinder::volume::cinder_enable_dellemc_vmax_iscsi_backend: {get_param: CinderEnableDellEMCVMAXISCSIBackend}
+                cinder::backend::dell_emc_vmax_iscsi::volume_backend_name: {get_param: CinderDellEMCVMAXISCSIBackendName}
+                cinder::backend::dell_emc_vmax_iscsi::cinder_emc_config_file: {get_param: CinderDellEMCVMAXISCSIConfigFile}
+      step_config: |
+        include ::tripleo::profile::base::cinder::volume
index cd7ab69..0f8f352 100644 (file)
@@ -151,12 +151,9 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.gnocchi_api_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            gnocchi_api_upgrade:
-              - name: Stop gnocchi_api service (running under httpd)
-                tags: step1
-                service: name=httpd state=stopped
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Stop gnocchi_api service (running under httpd)
+              tags: step1
+              service: name=httpd state=stopped
index 218ba74..6301314 100644 (file)
@@ -400,12 +400,9 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.keystone_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            keystone_upgrade:
-              - name: Stop keystone service (running under httpd)
-                tags: step1
-                service: name=httpd state=stopped
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Stop keystone service (running under httpd)
+              tags: step1
+              service: name=httpd state=stopped
index 7894f78..a2f82a5 100644 (file)
@@ -140,22 +140,19 @@ outputs:
       step_config: |
         include ::tripleo::profile::base::neutron::ovs
       upgrade_tasks:
-        yaql:
-          expression: $.data.ovs_upgrade + $.data.neutron_ovs_upgrade
-          data:
-            ovs_upgrade:
-              get_attr: [Ovs, role_data, upgrade_tasks]
-            neutron_ovs_upgrade:
-              - name: Check if neutron_ovs_agent is deployed
-                command: systemctl is-enabled neutron-openvswitch-agent
-                tags: common
-                ignore_errors: True
-                register: neutron_ovs_agent_enabled
-              - name: "PreUpgrade step0,validation: Check service neutron-openvswitch-agent is running"
-                shell: /usr/bin/systemctl show 'neutron-openvswitch-agent' --property ActiveState | grep '\bactive\b'
-                when: neutron_ovs_agent_enabled.rc == 0
-                tags: step0,validation
-              - name: Stop neutron_ovs_agent service
-                tags: step1
-                when: neutron_ovs_agent_enabled.rc == 0
-                service: name=neutron-openvswitch-agent state=stopped
+        list_concat:
+          - get_attr: [Ovs, role_data, upgrade_tasks]
+          -
+            - name: Check if neutron_ovs_agent is deployed
+              command: systemctl is-enabled neutron-openvswitch-agent
+              tags: common
+              ignore_errors: True
+              register: neutron_ovs_agent_enabled
+            - name: "PreUpgrade step0,validation: Check service neutron-openvswitch-agent is running"
+              shell: /usr/bin/systemctl show 'neutron-openvswitch-agent' --property ActiveState | grep '\bactive\b'
+              when: neutron_ovs_agent_enabled.rc == 0
+              tags: step0,validation
+            - name: Stop neutron_ovs_agent service
+              tags: step1
+              when: neutron_ovs_agent_enabled.rc == 0
+              service: name=neutron-openvswitch-agent state=stopped
index b413fb1..a4a3ca2 100644 (file)
@@ -199,88 +199,85 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.nova_api_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            nova_api_upgrade:
-              - name: get bootstrap nodeid
-                tags: common
-                command: hiera bootstrap_nodeid
-                register: bootstrap_node
-              - name: set is_bootstrap_node fact
-                tags: common
-                set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
-              - name: Extra migration for nova tripleo/+bug/1656791
-                tags: step0,pre-upgrade
-                when: is_bootstrap_node
-                command: nova-manage db online_data_migrations
-              - name: Stop and disable nova_api service (pre-upgrade not under httpd)
-                tags: step2
-                service: name=openstack-nova-api state=stopped enabled=no
-              - name: Create puppet manifest to set transport_url in nova.conf
-                tags: step5
-                when: is_bootstrap_node
-                copy:
-                  dest: /root/nova-api_upgrade_manifest.pp
-                  mode: 0600
-                  content: >
-                    $transport_url = os_transport_url({
-                      'transport' => hiera('messaging_service_name', 'rabbit'),
-                      'hosts'     => any2array(hiera('rabbitmq_node_names', undef)),
-                      'port'      => sprintf('%s',hiera('nova::rabbit_port', '5672') ),
-                      'username'  => hiera('nova::rabbit_userid', 'guest'),
-                      'password'  => hiera('nova::rabbit_password'),
-                      'ssl'       => sprintf('%s', bool2num(str2bool(hiera('nova::rabbit_use_ssl', '0'))))
-                    })
-                    oslo::messaging::default { 'nova_config':
-                      transport_url => $transport_url
-                    }
-              - name: Run puppet apply to set tranport_url in nova.conf
-                tags: step5
-                when: is_bootstrap_node
-                command: puppet apply --modulepath /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules --detailed-exitcodes /root/nova-api_upgrade_manifest.pp
-                register: puppet_apply_nova_api_upgrade
-                failed_when: puppet_apply_nova_api_upgrade.rc not in [0,2]
-                changed_when: puppet_apply_nova_api_upgrade.rc == 2
-              - name: Setup cell_v2 (map cell0)
-                tags: step5
-                when: is_bootstrap_node
-                shell: nova-manage cell_v2 map_cell0 --database_connection=$(hiera nova::cell0_database_connection)
-              - name: Setup cell_v2 (create default cell)
-                tags: step5
-                when: is_bootstrap_node
-                # (owalsh) puppet-nova expects the cell name 'default'
-                # (owalsh) pass the db uri explicitly to avoid https://bugs.launchpad.net/tripleo/+bug/1662344
-                shell: nova-manage cell_v2 create_cell --name='default' --database_connection=$(hiera nova::database_connection)
-                register: nova_api_create_cell
-                failed_when: nova_api_create_cell.rc not in [0,2]
-                changed_when: nova_api_create_cell.rc == 0
-              - name: Setup cell_v2 (sync nova/cell DB)
-                tags: step5
-                when: is_bootstrap_node
-                command: nova-manage db sync
-                async: {get_param: NovaDbSyncTimeout}
-                poll: 10
-              - name: Setup cell_v2 (get cell uuid)
-                tags: step5
-                when: is_bootstrap_node
-                shell: nova-manage cell_v2 list_cells | sed -e '1,3d' -e '$d' | awk -F ' *| *' '$2 == "default" {print $4}'
-                register: nova_api_cell_uuid
-              - name: Setup cell_v2 (migrate hosts)
-                tags: step5
-                when: is_bootstrap_node
-                command: nova-manage cell_v2 discover_hosts --cell_uuid {{nova_api_cell_uuid.stdout}} --verbose
-              - name: Setup cell_v2 (migrate instances)
-                tags: step5
-                when: is_bootstrap_node
-                command: nova-manage cell_v2 map_instances --cell_uuid {{nova_api_cell_uuid.stdout}}
-              - name: Sync nova_api DB
-                tags: step5
-                command: nova-manage api_db sync
-                when: is_bootstrap_node
-              - name: Online data migration for nova
-                tags: step5
-                when: is_bootstrap_node
-                command: nova-manage db online_data_migrations
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: get bootstrap nodeid
+              tags: common
+              command: hiera bootstrap_nodeid
+              register: bootstrap_node
+            - name: set is_bootstrap_node fact
+              tags: common
+              set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
+            - name: Extra migration for nova tripleo/+bug/1656791
+              tags: step0,pre-upgrade
+              when: is_bootstrap_node
+              command: nova-manage db online_data_migrations
+            - name: Stop and disable nova_api service (pre-upgrade not under httpd)
+              tags: step2
+              service: name=openstack-nova-api state=stopped enabled=no
+            - name: Create puppet manifest to set transport_url in nova.conf
+              tags: step5
+              when: is_bootstrap_node
+              copy:
+                dest: /root/nova-api_upgrade_manifest.pp
+                mode: 0600
+                content: >
+                  $transport_url = os_transport_url({
+                    'transport' => hiera('messaging_service_name', 'rabbit'),
+                    'hosts'     => any2array(hiera('rabbitmq_node_names', undef)),
+                    'port'      => sprintf('%s',hiera('nova::rabbit_port', '5672') ),
+                    'username'  => hiera('nova::rabbit_userid', 'guest'),
+                    'password'  => hiera('nova::rabbit_password'),
+                    'ssl'       => sprintf('%s', bool2num(str2bool(hiera('nova::rabbit_use_ssl', '0'))))
+                  })
+                  oslo::messaging::default { 'nova_config':
+                    transport_url => $transport_url
+                  }
+            - name: Run puppet apply to set tranport_url in nova.conf
+              tags: step5
+              when: is_bootstrap_node
+              command: puppet apply --modulepath /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules --detailed-exitcodes /root/nova-api_upgrade_manifest.pp
+              register: puppet_apply_nova_api_upgrade
+              failed_when: puppet_apply_nova_api_upgrade.rc not in [0,2]
+              changed_when: puppet_apply_nova_api_upgrade.rc == 2
+            - name: Setup cell_v2 (map cell0)
+              tags: step5
+              when: is_bootstrap_node
+              shell: nova-manage cell_v2 map_cell0 --database_connection=$(hiera nova::cell0_database_connection)
+            - name: Setup cell_v2 (create default cell)
+              tags: step5
+              when: is_bootstrap_node
+              # (owalsh) puppet-nova expects the cell name 'default'
+              # (owalsh) pass the db uri explicitly to avoid https://bugs.launchpad.net/tripleo/+bug/1662344
+              shell: nova-manage cell_v2 create_cell --name='default' --database_connection=$(hiera nova::database_connection)
+              register: nova_api_create_cell
+              failed_when: nova_api_create_cell.rc not in [0,2]
+              changed_when: nova_api_create_cell.rc == 0
+            - name: Setup cell_v2 (sync nova/cell DB)
+              tags: step5
+              when: is_bootstrap_node
+              command: nova-manage db sync
+              async: {get_param: NovaDbSyncTimeout}
+              poll: 10
+            - name: Setup cell_v2 (get cell uuid)
+              tags: step5
+              when: is_bootstrap_node
+              shell: nova-manage cell_v2 list_cells | sed -e '1,3d' -e '$d' | awk -F ' *| *' '$2 == "default" {print $4}'
+              register: nova_api_cell_uuid
+            - name: Setup cell_v2 (migrate hosts)
+              tags: step5
+              when: is_bootstrap_node
+              command: nova-manage cell_v2 discover_hosts --cell_uuid {{nova_api_cell_uuid.stdout}} --verbose
+            - name: Setup cell_v2 (migrate instances)
+              tags: step5
+              when: is_bootstrap_node
+              command: nova-manage cell_v2 map_instances --cell_uuid {{nova_api_cell_uuid.stdout}}
+            - name: Sync nova_api DB
+              tags: step5
+              command: nova-manage api_db sync
+              when: is_bootstrap_node
+            - name: Online data migration for nova
+              tags: step5
+              when: is_bootstrap_node
+              command: nova-manage db online_data_migrations
index 139ab7c..c1cec4f 100644 (file)
@@ -141,22 +141,19 @@ outputs:
       step_config: |
         include tripleo::profile::base::neutron::plugins::ovs::opendaylight
       upgrade_tasks:
-        yaql:
-          expression: $.data.ovs_upgrade + $.data.opendaylight_upgrade
-          data:
-            ovs_upgrade:
-              get_attr: [Ovs, role_data, upgrade_tasks]
-            opendaylight_upgrade:
-              - name: Check if openvswitch is deployed
-                command: systemctl is-enabled openvswitch
-                tags: common
-                ignore_errors: True
-                register: openvswitch_enabled
-              - name: "PreUpgrade step0,validation: Check service openvswitch is running"
-                shell: /usr/bin/systemctl show 'openvswitch' --property ActiveState | grep '\bactive\b'
-                when: openvswitch_enabled.rc == 0
-                tags: step0,validation
-              - name: Stop openvswitch service
-                tags: step1
-                when: openvswitch_enabled.rc == 0
-                service: name=openvswitch state=stopped
+        list_concat:
+          - get_attr: [Ovs, role_data, upgrade_tasks]
+          -
+            - name: Check if openvswitch is deployed
+              command: systemctl is-enabled openvswitch
+              tags: common
+              ignore_errors: True
+              register: openvswitch_enabled
+            - name: "PreUpgrade step0,validation: Check service openvswitch is running"
+              shell: /usr/bin/systemctl show 'openvswitch' --property ActiveState | grep '\bactive\b'
+              when: openvswitch_enabled.rc == 0
+              tags: step0,validation
+            - name: Stop openvswitch service
+              tags: step1
+              when: openvswitch_enabled.rc == 0
+              service: name=openvswitch state=stopped
index 74d3f27..892ad1c 100644 (file)
@@ -112,27 +112,24 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.panko_api_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            panko_api_upgrade:
-              - name: Check if httpd is deployed
-                command: systemctl is-enabled httpd
-                tags: common
-                ignore_errors: True
-                register: httpd_enabled
-              - name: "PreUpgrade step0,validation: Check if httpd is running"
-                shell: >
-                  /usr/bin/systemctl show 'httpd' --property ActiveState |
-                  grep '\bactive\b'
-                when: httpd_enabled.rc == 0
-                tags: step0,validation
-              - name: Stop panko-api service (running under httpd)
-                tags: step1
-                service: name=httpd state=stopped
-                when: httpd_enabled.rc == 0
-              - name: Install openstack-panko-api package if it was not installed
-                tags: step3
-                yum: name=openstack-panko-api state=latest
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Check if httpd is deployed
+              command: systemctl is-enabled httpd
+              tags: common
+              ignore_errors: True
+              register: httpd_enabled
+            - name: "PreUpgrade step0,validation: Check if httpd is running"
+              shell: >
+                /usr/bin/systemctl show 'httpd' --property ActiveState |
+                grep '\bactive\b'
+              when: httpd_enabled.rc == 0
+              tags: step0,validation
+            - name: Stop panko-api service (running under httpd)
+              tags: step1
+              service: name=httpd state=stopped
+              when: httpd_enabled.rc == 0
+            - name: Install openstack-panko-api package if it was not installed
+              tags: step3
+              yum: name=openstack-panko-api state=latest
index 82d105e..71f9053 100644 (file)
@@ -98,6 +98,7 @@ 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::keystone::trust::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
             zaqar::debug:
               if:
               - service_debug_unset
@@ -164,6 +165,8 @@ outputs:
               zaqar::keystone::auth_websocket::internal_url: {get_param: [EndpointMap, ZaqarWebSocketInternal, uri]}
               zaqar::keystone::auth_websocket::region: {get_param: KeystoneRegion}
               zaqar::keystone::auth_websocket::tenant: 'service'
+              zaqar::keystone::trust::password: {get_param: ZaqarPassword}
+              zaqar::keystone::trust::user_domain_name: 'Default'
           -
             if:
             - zaqar_management_store_sqlalchemy
@@ -181,37 +184,34 @@ outputs:
       metadata_settings:
         get_attr: [ApacheServiceBase, role_data, metadata_settings]
       upgrade_tasks:
-        yaql:
-          expression: $.data.apache_upgrade + $.data.zaqar_upgrade
-          data:
-            apache_upgrade:
-              get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
-            zaqar_upgrade:
-              - name: Check if zaqar is deployed
-                command: systemctl is-enabled openstack-zaqar
-                tags: common
-                ignore_errors: True
-                register: zaqar_enabled
-              - name: "PreUpgrade step0,validation: Check if openstack-zaqar is running"
-                shell: >
-                  /usr/bin/systemctl show 'openstack-zaqar' --property ActiveState |
-                  grep '\bactive\b'
-                when: zaqar_enabled.rc == 0
-                tags: step0,validation
-              - name: Check for zaqar running under apache (post upgrade)
-                tags: step1
-                shell: "httpd -t -D DUMP_VHOSTS | grep -q zaqar_wsgi"
-                register: zaqar_apache
-                ignore_errors: true
-              - name: Stop zaqar service (running under httpd)
-                tags: step1
-                service: name=httpd state=stopped
-                when: zaqar_apache.rc == 0
-              - name: Stop and disable zaqar service (pre-upgrade not under httpd)
-                tags: step1
-                when: zaqar_enabled.rc == 0
-                service: name=openstack-zaqar state=stopped enabled=no
-              - name: Install openstack-zaqar package if it was disabled
-                tags: step3
-                yum: name=openstack-zaqar state=latest
-                when: zaqar_enabled.rc != 0
+        list_concat:
+          - get_attr: [ApacheServiceBase, role_data, upgrade_tasks]
+          -
+            - name: Check if zaqar is deployed
+              command: systemctl is-enabled openstack-zaqar
+              tags: common
+              ignore_errors: True
+              register: zaqar_enabled
+            - name: "PreUpgrade step0,validation: Check if openstack-zaqar is running"
+              shell: >
+                /usr/bin/systemctl show 'openstack-zaqar' --property ActiveState |
+                grep '\bactive\b'
+              when: zaqar_enabled.rc == 0
+              tags: step0,validation
+            - name: Check for zaqar running under apache (post upgrade)
+              tags: step1
+              shell: "httpd -t -D DUMP_VHOSTS | grep -q zaqar_wsgi"
+              register: zaqar_apache
+              ignore_errors: true
+            - name: Stop zaqar service (running under httpd)
+              tags: step1
+              service: name=httpd state=stopped
+              when: zaqar_apache.rc == 0
+            - name: Stop and disable zaqar service (pre-upgrade not under httpd)
+              tags: step1
+              when: zaqar_enabled.rc == 0
+              service: name=openstack-zaqar state=stopped enabled=no
+            - name: Install openstack-zaqar package if it was disabled
+              tags: step3
+              yum: name=openstack-zaqar state=latest
+              when: zaqar_enabled.rc != 0
diff --git a/releasenotes/notes/vmax_cinder_a6672898724a11e7.yaml b/releasenotes/notes/vmax_cinder_a6672898724a11e7.yaml
new file mode 100644 (file)
index 0000000..e6eb749
--- /dev/null
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Add support for Dell EMC VMAX Iscsi cinder driver
index 8f5e0cc..e10ff85 100644 (file)
@@ -47,6 +47,7 @@
     - OS::TripleO::Services::CinderBackendDellPs
     - OS::TripleO::Services::CinderBackendDellSc
     - OS::TripleO::Services::CinderBackendDellEMCUnity
+    - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
     - OS::TripleO::Services::CinderBackendNetApp
     - OS::TripleO::Services::CinderBackendScaleIO
     - OS::TripleO::Services::CinderBackendVRTSHyperScale
index dcb66af..6c2a8eb 100644 (file)
@@ -50,6 +50,7 @@
     - OS::TripleO::Services::CinderBackendDellPs
     - OS::TripleO::Services::CinderBackendDellSc
     - OS::TripleO::Services::CinderBackendDellEMCUnity
+    - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
     - OS::TripleO::Services::CinderBackendNetApp
     - OS::TripleO::Services::CinderBackendScaleIO
     - OS::TripleO::Services::CinderBackendVRTSHyperScale
index 1b60459..6ba8e17 100644 (file)
@@ -1,7 +1,7 @@
 # The order of packages is significant, because pip processes them in the order
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
-openstackdocstheme>=1.11.0 # Apache-2.0
+openstackdocstheme>=1.16.0 # Apache-2.0
 PyYAML>=3.10.0 # MIT
 Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
 six>=1.9.0 # MIT
index a096d69..682cb8d 100755 (executable)
@@ -105,7 +105,7 @@ PARAMETER_DEFINITION_EXCLUSIONS = {'ManagementNetCidr': ['default'],
                                    'ControllerExtraConfig': ['description'],
                                    'NovaComputeExtraConfig': ['description'],
                                    'controllerExtraConfig': ['description'],
-                                   'DockerSwiftConfigImage': ['default'],
+                                   'DockerSwiftConfigImage': ['default']
                                    }
 
 PREFERRED_CAMEL_CASE = {