Bug 1462450

Summary: Clarify status of zaqar and update our release notes accordingly
Product: Red Hat OpenStack Reporter: Andreas Karis <akaris>
Component: documentationAssignee: RHOS Documentation Team <rhos-docs>
Status: CLOSED NOTABUG QA Contact: RHOS Documentation Team <rhos-docs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 11.0 (Ocata)CC: srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-19 14:40:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andreas Karis 2017-06-17 19:19:29 UTC
Please clarify the status of zawar in RHOSP 11. The components have definitely moved from OSP 10 to 11 and it seems as if one can easily enable zaqar now. Please clarify if this is supported, of if this is a tech preview, or neither. In case of either of the first 2, please update the Release notes for OSP 11 to mention that zawar e.g. is a tech preview (or fully supported).

Thanks,

Andreas

Zaqar is not part of our supported components.
https://access.redhat.com/articles/1535373

OpenStack Platform 10:

This is not part of the OSP 10 Director templates:
~~~
[stack@undercloud-1 ~]$ grep -i zaqar /usr/share/openstack-tripleo-heat-templates/* -R
/usr/share/openstack-tripleo-heat-templates/extraconfig/tasks/major_upgrade_block_storage.sh:yum -y install python-zaqarclient  # needed for os-collect-config
/usr/share/openstack-tripleo-heat-templates/extraconfig/tasks/major_upgrade_ceph_storage.sh:yum -y install python-zaqarclient  # needed for os-collect-config
/usr/share/openstack-tripleo-heat-templates/extraconfig/tasks/major_upgrade_compute.sh:yum -y install python-zaqarclient  # needed for os-collect-config
/usr/share/openstack-tripleo-heat-templates/extraconfig/tasks/major_upgrade_controller_pacemaker_2.sh:yum -y install python-zaqarclient  # needed for os-collect-config
/usr/share/openstack-tripleo-heat-templates/extraconfig/tasks/major_upgrade_object_storage.sh:yum -y install python-zaqarclient  # needed for os-collect-config
/usr/share/openstack-tripleo-heat-templates/puppet/blockstorage-role.yaml:    - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
/usr/share/openstack-tripleo-heat-templates/puppet/cephstorage-role.yaml:    - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
/usr/share/openstack-tripleo-heat-templates/puppet/compute-role.yaml:    - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
/usr/share/openstack-tripleo-heat-templates/puppet/controller-role.yaml:    - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
/usr/share/openstack-tripleo-heat-templates/puppet/objectstorage-role.yaml:    - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
/usr/share/openstack-tripleo-heat-templates/puppet/role.role.j2.yaml:    - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
~~~

Red Hat OpenStack Platform 11:

This is available in the OSP 11 templates and may hence be a tech preview, but I cannot find anything about it so far in our docs:
~~~
[stack@undercloud-8 ~]$ grep OS::TripleO::Services::Zaqar /usr/share/openstack-tripleo-heat-templates/* -R
/usr/share/openstack-tripleo-heat-templates/ci/environments/scenario002-multinode.yaml:  OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar.yaml
/usr/share/openstack-tripleo-heat-templates/ci/environments/scenario002-multinode.yaml:    - OS::TripleO::Services::Zaqar
/usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-server-roles-data.yaml:    - OS::TripleO::Services::Zaqar
/usr/share/openstack-tripleo-heat-templates/environments/contrail/roles_data_contrail.yaml:    - OS::TripleO::Services::Zaqar
/usr/share/openstack-tripleo-heat-templates/environments/services/zaqar.yaml:  OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar.yaml
/usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.j2.yaml:  OS::TripleO::Services::Zaqar: OS::Heat::None
/usr/share/openstack-tripleo-heat-templates/roles_data_undercloud.yaml:    - OS::TripleO::Services::Zaqar
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml:    - OS::TripleO::Services::Zaqar
[stack@undercloud-8 ~]$ cat /usr/share/openstack-tripleo-heat-templates/environments/services/zaqar.yaml
resource_registry:
  OS::TripleO::Services::Zaqar: ../../puppet/services/zaqar.yaml
[stack@undercloud-8 ~]$ cat /usr/share/openstack-tripleo-heat-templates/puppet/services/zaqar.yaml 
heat_template_version: ocata

description: >
  Openstack Zaqar service. Shared for all Heat services.

parameters:
  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
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  Debug:
    default: ''
    description: Set to True to enable debugging on all services.
    type: string
  ZaqarPassword:
    description: The password for Zaqar
    type: string
    hidden: true
  KeystoneRegion:
    type: string
    default: 'regionOne'
    description: Keystone region for endpoint


outputs:
  role_data:
    description: Shared role data for the Heat services.
    value:
      service_name: zaqar
      config_settings:
        zaqar::keystone::authtoken::password: {get_param: ZaqarPassword}
        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::transport::websocket::bind: {get_param: [EndpointMap, ZaqarInternal, host]}
        zaqar::transport::wsgi::bind: {get_param: [ServiceNetMap, ZaqarApiNetwork]}
        zaqar::message_pipeline: 'zaqar.notification.notifier'
        zaqar::unreliable: true
      service_config_settings:
        keystone:
          zaqar::keystone::auth::password: {get_param: ZaqarPassword}
          zaqar::keystone::auth::public_url: {get_param: [EndpointMap, ZaqarPublic, uri]}
          zaqar::keystone::auth::admin_url: {get_param: [EndpointMap, ZaqarAdmin, uri]}
          zaqar::keystone::auth::internal_url: {get_param: [EndpointMap, ZaqarInternal, uri]}
          zaqar::keystone::auth::region: {get_param: KeystoneRegion}
          zaqar::keystone::auth::tenant: 'service'
          zaqar::keystone::auth_websocket::password: {get_param: ZaqarPassword}
          zaqar::keystone::auth_websocket::public_url: {get_param: [EndpointMap, ZaqarWebSocketPublic, uri]}
          zaqar::keystone::auth_websocket::admin_url: {get_param: [EndpointMap, ZaqarWebSocketAdmin, uri]}
          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'

      step_config: |
        include ::tripleo::profile::base::zaqar
      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: Stop zaqar service
          tags: step1
          when: zaqar_enabled.rc == 0
          service: name=openstack-zaqar state=stopped
        - name: Install openstack-zaqar package if it was disabled
          tags: step3
          yum: name=openstack-zaqar state=latest
          when: zaqar_enabled.rc != 0
~~~

Comment 1 Andreas Karis 2017-06-19 14:40:24 UTC
Hello,

I received my answer on an internal mailing list:

At time of this writing, Zaqar is definitely not supported in Red Hat OpenStack Platform, and not a tech preview. It is part of upstream though, which is why the templates and packages are included in Red Hat OpenStack Platform.

Regards,

Andreas