r16.1.0
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 calledrun_tempest.yml
. This playbook will install tempest using the upstream OSA role, then execute the tempest tests defined in the sets enumerated in thetempest_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 thescripts/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
anddeploy.sh
have been updated to useupdate-secrets.sh
to handle any new variables that may be introduced in newer releases. If the deployer is not using these scripts for upgrades, thenupdate-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 toansible_host
. All references ofansible_ssh_host
in RPCO have been renamed toansible_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
andelasticsearch_reindex_version
variables have been moved togroup_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 thecheck 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.