Skip to content

r16.1.0

Compare
Choose a tag to compare
@rpc-jenkins-svc rpc-jenkins-svc released this 01 May 16:37
· 319 commits to master since this release
9f5ee2a

Release Notes

r16.1.0

Prelude

Reno release notes will now be provided as of r14.1.0!

New Features

  • This adds MaaS checks for elasticsearch, filebeat, and rsyslog. It checks the processes are running or not. If not, it will create an alarm.
  • Added a Public endpoint for Magnum API
  • The option to enable or disable artifacts has been added giving the deployer the ability to chose how artifacts will be consumed. Three new variables are now available to users, apt_artifact_enabled container_artifact_enabled py_artifact_enabled which are all Boolean. If a user defines any of variables it will used as the ultimate source of truth, even if artifacts are "found" for the given release.
  • Artifacted builds will save facts as an ansible local fact. If a deployer needs to expunge facts from our cached local facts the file /etc/ansible/facts.d/rpc_openstack.fact can be modified or removed as needed. All artifacted facts will be saved under the "rpc_artifacts" section.
  • A new playbook has been introduced in the scripts/ directory called run_tempest.yml. This playbook will install tempest using the upstream OSA role, then execute the tempest tests defined in the sets enumerated in the tempest_test_sets variable.
  • A new variable, tempest_test_sets has been added to group_vars/all/rpc-o.yml. This variable contains a space-delimited string of tempest test sets to execute when running the scripts/run_tempest.yml playbook.
  • The elasticsearch role now respects upper constraints when installing pip packages.
  • The update-yaml.py script now contains an optional argument, --output-file, for specifying an output file.
  • Image metadata has been added to boost base image performance for the Images that we may provide to a customer deployment.
  • The metadata option hw_scsi_model is being passed into the images we provide by default and is set to virtio_scsi. This option will improve IO performance on our default images. While not required, it is recommended that the virtio_scsi kernel module be loaded on the host for this change to have a functional benifit.
  • The metadata option hw_vif_multiqueue_enabled is being passed into the images we provide by default and is set to true. This option will improve network performance on our default images when the guest OS has "multi-queuing" enabled. If the guest OS can not automatically understand "multi-queuing" enablment the user can run the following command to enable it within the guest ethtool -L ${NIC} combined ${CPU_CORES}.
  • The metadata option hw_qemu_guest_agent is being passsed into the images we provide by default and is set to "yes". This option will attempt to enable qemu guest agent which provides additional options to nova when managing the instance. While not required, it is recommended that the virtio_net kernel module be loaded on the host for this change to have a functional benifit.
  • RPC-MaaS has been seperated out into it's own repo. This change allows maas to be developed outside of rpc and maintained as an OpenStack version agnostic deployment for all things monitoring.
  • A variable has been added to allow RPC-MaaS to locked down to a specific version of the repo as needed. This variable is maas_version which has a default of "master".
  • Reno release notes will now be provided as of r14.1.0!

Known Issues

  • When upgrading ElasticSearch from RPCO r12 to r13, failure to set the Ansible var logging_upgrade=true may result in data corruption.

Upgrade Notes

  • The ceph monitors and osds needs their configuration file to be updated for the Mitaka release, to adapt with the hostnames changes done in Mitaka. Please backup, destroy, and re-create the monitors, and make them rejoin the cluster in a serial way. The osds also need to have their configuration file updated.
  • When re-created during the upgrade procedure, the ceph monitors will now have bind mounts to the hosts. This will make the backup of the mons easier in the future.
  • The elasticsearch-upgrade-pre.yml play takes care of upgrading the legacy elasticsearch data and preparing the cluster for the upgrade of the elasticsearch packages. Due to some inconsistencies in the legacy elasticsearch mappings it is necessary to reindex all elasticsearch data into indices with the updated 2.x compatible mappings. Included with the upgrade tasks is a python wrapper to monitor and control the reindexing process. It is recomended to reindex all indices prior to the current day before beginning the upgrade. Please check the upgrade documentation for more information on how to reindex the existing elasticsearch indices.
  • Any new secret variables that may be introduced in later releases are now handled by the update-secrets.sh script. test-upgrade.sh and deploy.sh have been updated to use update-secrets.sh to handle any new variables that may be introduced in newer releases. If the deployer is not using these scripts for upgrades, then update-secrets.sh needs to be invoked manually. Please see official RPCO upgrade docs for usage.
  • The HA policy for RabbitMQ is changed to replicate to two nodes, instead of three nodes, in order to increase performance and scalability of the RabbitMQ service. The override rabbitmq_policies set the new default value via the group_vars/all/osa.yml configuration. The replication count ideally resembles the number of RabbitMQ nodes necessary to maintain quorum (2 for 3 nodes, 3 for 5 nodes).

Deprecation Notes

  • ansible_ssh_host has been removed from Ansible 2.2 and renamed to ansible_host. All references of ansible_ssh_host in RPCO have been renamed to ansible_host.

Bug Fixes

  • Magnum endpoint now uses a Magnum-specific monitor
  • scripts/get-rpc_release.py was ignoring the RPC_PRODUCT_RELEASE environment variable to allow for branchless deployments. This fix will cause allow RPC_PRODUCT_RELEASE to overfide the branch default.
  • rpc-maas-tool.py is modified so that validating the status of checks correctly reports when there are failures. This tool is used by the playbook verify-maas.yml.
  • Secret variables defined in rpco specific variable files are now properly merged with any new secret variables that might be introduced in a subsequent release.
  • The elasticsearch_version and elasticsearch_reindex_version variables have been moved to group_vars/all/rpc-o.yml so that all OSA roles can have access to the variables.
  • The elasticsearch>=2.0.0,<3.0.0 constraint has been removed from the ElasticSearch role, and is now controlled via OpenStack upper-constraints placed here: https://github.com/openstack/requirements/blob/b6c588574ed23e7e5b8c1b788c7117f7c3aa4cff/upper-constraints.txt#L124
  • Having logstash process it's own log can lead to a "feedback" loop wherein an error that is logged into the logstash log will be re-logged ad-infinitum, eventually filling the disk and crashing logstash. This removes the filebeat shipping of the logstash.log file to logstash.
  • The check_firewall variable is now set to false because the check firewall tasks are incompatible with Ansible 2.1.5. This fix allows for our ceph playbooks to run successfully.

Other Notes

  • RPC-O previously relied on user-space configuration files to set variables used in playbooks across both OpenStack-Ansible and RPC-O playbooks. These user-space configuration files provided global overrides only and could not be scoped to specific host groups. These defaults have now been set in group_vars in the code tree, reducing the need to overwrite user-space files, making them easier to scope to host groups, and reducing their precedence level to improve future development flexibility.

RPC-OpenStack Diff Generator

This report shows changes from r16.0.1 to r16.1.0 in RPC-OpenStack.

rpc-openstack

32 commits were found in rpc-openstack from r16.0.1 to r16.1.0:

b283507b Increase SSH Timeout
ff1392d1 Revert "RO-4125 lengthen timeout to make sure it's not breaking gate"
2df387f9 lengthen timeout to make sure it's not breaking gate
7b2961cd RO-4125: lengthen shell timeout to fix gate
b828e708 RO-3972 Update pike dependencies
d6ee56e9 RO-3972 Update pike dependencies
833a8088 ASC-225 add qtest upload to pre_merge_test/post
8628a04c Increment rpc_release for 16.1.0
b6ea10f6 RO-3972 Update pike dependencies
478f632d Fix for get-rpc_release.py ignoring RPC_PRODUCT_RELEASE
60aac421 (RI-213) Run tempest tests on MNAIO deploy
92baaa36 RO-3972 Update pike dependencies
e71fb719 (ASC-219) update run_system_tests.sh for formatting
29ca9cbc (ASC-219) update run_system_tests.sh to record/use exit code
30c7c00c (ASC-219) Fix spelling errors in run_system_tests.sh script
4ad80258 RE-1357 Switch to doing patch version updates
d3b1570c RE-1357 Update rpc_release to r16.0.2
aa9d742b RO-3972 Update master dependencies
848f8d15 (ASC-144) Ensure RE_HOOK dirs exist for system test
382ea54f update instructions for passing defcore
2d8533f9 (ASC-144) Fix typo in run_system_tests
07913a86 (ASC-144) Source MNAIO_SSH from an exported file
b0381dfc RE-36 Additional thaw adjustments
c07c531b RO-3972 Update master dependencies
74ad4b9a (ASC-144) Put JUnit results in RE_HOOK_RESULT_DIR
da6fadcf RO-3972 Update master dependencies
0e1dd7db (ASC-144) Reduce scope of run_system_tests.sh
55e3d357 (ASC-144) Run system tests from action
bff6d058 RO-3972 Update master dependencies
e8a86d76 update DEFCORE.md based on what works
a407c838 RE-36 Update freeze and thaw process
00751b41 RO-3972 Update master dependencies

RPC-OpenStack Roles

logstash

No commits were found in logstash between the OpenStack-Ansible commits provided.

filebeat

No commits were found in filebeat between the OpenStack-Ansible commits provided.

kibana

No commits were found in kibana between the OpenStack-Ansible commits provided.

elasticsearch

No commits were found in elasticsearch between the OpenStack-Ansible commits provided.

rcbops_openstack-ops

No commits were found in rcbops_openstack-ops between the OpenStack-Ansible commits provided.

OpenStack-Ansible Roles

ansible-hardening

No commits were found in ansible-hardening between the OpenStack-Ansible commits provided.

apt_package_pinning

No commits were found in apt_package_pinning between the OpenStack-Ansible commits provided.

pip_install

No commits were found in pip_install between the OpenStack-Ansible commits provided.

galera_client

No commits were found in galera_client between the OpenStack-Ansible commits provided.

galera_server

No commits were found in galera_server between the OpenStack-Ansible commits provided.

ceph_client

No commits were found in ceph_client between the OpenStack-Ansible commits provided.

haproxy_server

No commits were found in haproxy_server between the OpenStack-Ansible commits provided.

keepalived

No commits were found in keepalived between the OpenStack-Ansible commits provided.

lxc_container_create

No commits were found in lxc_container_create between the OpenStack-Ansible commits provided.

lxc_hosts

No commits were found in lxc_hosts between the OpenStack-Ansible commits provided.

memcached_server

No commits were found in memcached_server between the OpenStack-Ansible commits provided.

openstack_hosts

No commits were found in openstack_hosts between the OpenStack-Ansible commits provided.

os_keystone

No commits were found in os_keystone between the OpenStack-Ansible commits provided.

openstack_openrc

No commits were found in openstack_openrc between the OpenStack-Ansible commits provided.

os_aodh

No commits were found in os_aodh between the OpenStack-Ansible commits provided.

os_barbican

No commits were found in os_barbican between the OpenStack-Ansible commits provided.

os_ceilometer

No commits were found in os_ceilometer between the OpenStack-Ansible commits provided.

os_cinder

No commits were found in os_cinder between the OpenStack-Ansible commits provided.

os_designate

No commits were found in os_designate between the OpenStack-Ansible commits provided.

os_glance

No commits were found in os_glance between the OpenStack-Ansible commits provided.

os_gnocchi

No commits were found in os_gnocchi between the OpenStack-Ansible commits provided.

os_heat

No commits were found in os_heat between the OpenStack-Ansible commits provided.

os_horizon

No commits were found in os_horizon between the OpenStack-Ansible commits provided.

os_ironic

No commits were found in os_ironic between the OpenStack-Ansible commits provided.

os_magnum

No commits were found in os_magnum between the OpenStack-Ansible commits provided.

os_molteniron

No commits were found in os_molteniron between the OpenStack-Ansible commits provided.

os_neutron

No commits were found in os_neutron between the OpenStack-Ansible commits provided.

os_nova

No commits were found in os_nova between the OpenStack-Ansible commits provided.

os_octavia

No commits were found in os_octavia between the OpenStack-Ansible commits provided.

os_rally

No commits were found in os_rally between the OpenStack-Ansible commits provided.

os_sahara

No commits were found in os_sahara between the OpenStack-Ansible commits provided.

os_swift

No commits were found in os_swift between the OpenStack-Ansible commits provided.

os_tempest

No commits were found in os_tempest between the OpenStack-Ansible commits provided.

os_trove

No commits were found in os_trove between the OpenStack-Ansible commits provided.

plugins

No commits were found in plugins between the OpenStack-Ansible commits provided.

rabbitmq_server

No commits were found in rabbitmq_server between the OpenStack-Ansible commits provided.

repo_build

No commits were found in repo_build between the OpenStack-Ansible commits provided.

repo_server

No commits were found in repo_server between the OpenStack-Ansible commits provided.

rsyslog_client

No commits were found in rsyslog_client between the OpenStack-Ansible commits provided.

rsyslog_server

No commits were found in rsyslog_server between the OpenStack-Ansible commits provided.

sshd

No commits were found in sshd between the OpenStack-Ansible commits provided.

bird

No commits were found in bird between the OpenStack-Ansible commits provided.

etcd

No commits were found in etcd between the OpenStack-Ansible commits provided.

unbound

No commits were found in unbound between the OpenStack-Ansible commits provided.

resolvconf

No commits were found in resolvconf between the OpenStack-Ansible commits provided.

ceph-defaults

No commits were found in ceph-defaults between the OpenStack-Ansible commits provided.

ceph-common

No commits were found in ceph-common between the OpenStack-Ansible commits provided.

ceph-config

No commits were found in ceph-config between the OpenStack-Ansible commits provided.

ceph-mon

No commits were found in ceph-mon between the OpenStack-Ansible commits provided.

ceph-mgr

No commits were found in ceph-mgr between the OpenStack-Ansible commits provided.

ceph-osd

No commits were found in ceph-osd between the OpenStack-Ansible commits provided.

OpenStack-Ansible Projects

ironic_dashboard

No commits were found in ironic_dashboard between the OpenStack-Ansible commits provided.

requirements

No commits were found in requirements between the OpenStack-Ansible commits provided.

designate

No commits were found in designate between the OpenStack-Ansible commits provided.

trove_dashboard

No commits were found in trove_dashboard between the OpenStack-Ansible commits provided.

tempest

No commits were found in tempest between the OpenStack-Ansible commits provided.

glance

No commits were found in glance between the OpenStack-Ansible commits provided.

novncproxy

No commits were found in novncproxy between the OpenStack-Ansible commits provided.

horizon

No commits were found in horizon between the OpenStack-Ansible commits provided.

aodh

No commits were found in aodh between the OpenStack-Ansible commits provided.

octavia

No commits were found in octavia between the OpenStack-Ansible commits provided.

neutron_fwaas

No commits were found in neutron_fwaas between the OpenStack-Ansible commits provided.

neutron

No commits were found in neutron between the OpenStack-Ansible commits provided.

neutron_dynamic_routing

No commits were found in neutron_dynamic_routing between the OpenStack-Ansible commits provided.

nova

No commits were found in nova between the OpenStack-Ansible commits provided.

swift

No commits were found in swift between the OpenStack-Ansible commits provided.

magnum

No commits were found in magnum between the OpenStack-Ansible commits provided.

trove

No commits were found in trove between the OpenStack-Ansible commits provided.

heat

No commits were found in heat between the OpenStack-Ansible commits provided.

ceilometer

No commits were found in ceilometer between the OpenStack-Ansible commits provided.

nova_lxd

No commits were found in nova_lxd between the OpenStack-Ansible commits provided.

keystone

No commits were found in keystone between the OpenStack-Ansible commits provided.

cinder

No commits were found in cinder between the OpenStack-Ansible commits provided.

barbican

No commits were found in barbican between the OpenStack-Ansible commits provided.

neutron_vpnaas

No commits were found in neutron_vpnaas between the OpenStack-Ansible commits provided.

designate_dashboard

No commits were found in designate_dashboard between the OpenStack-Ansible commits provided.

nova_powervm

No commits were found in nova_powervm between the OpenStack-Ansible commits provided.

neutron_lbaas

No commits were found in neutron_lbaas between the OpenStack-Ansible commits provided.

ironic

No commits were found in ironic between the OpenStack-Ansible commits provided.

magnum_dashboard

No commits were found in magnum_dashboard between the OpenStack-Ansible commits provided.

gnocchi

No commits were found in gnocchi between the OpenStack-Ansible commits provided.

dragonflow

No commits were found in dragonflow between the OpenStack-Ansible commits provided.

networking_calico

No commits were found in networking_calico between the OpenStack-Ansible commits provided.

swift_swift3

No commits were found in swift_swift3 between the OpenStack-Ansible commits provided.

neutron_lbaas_dashboard

No commits were found in neutron_lbaas_dashboard between the OpenStack-Ansible commits provided.

sahara_dashboard

No commits were found in sahara_dashboard between the OpenStack-Ansible commits provided.

rally

No commits were found in rally between the OpenStack-Ansible commits provided.

sahara

No commits were found in sahara between the OpenStack-Ansible commits provided.

molteniron

No commits were found in molteniron between the OpenStack-Ansible commits provided.

spicehtml5

No commits were found in spicehtml5 between the OpenStack-Ansible commits provided.