Release-announce
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
February 2017
- 1 participants
- 281 discussions
We are gleeful to announce the release of:
bifrost 3.0.0: Deployment of physical machines using OpenStack Ironic
and Ansible
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/bifrost/
For more details, please see below.
3.0.0
^^^^^
During the Ocata cycle, a number of improvements have been made to
bifrost to improve the managability and longevity of a bifrost
installation. Coupled with a number of fixes, and improvements, users
upgrading should take the time to read the entire release notes. A few
highlights are below:
* Bifrost now installs and utilizes Ansible 2.1 by default from
PyPI.
* Ironic's default of modifying a pre-existing ironic.conf upon
the installation being re-executed, has been changed to a utilize
a template file.
* Bifrost supports generating and reading from a os-client-config
"clouds.yaml" file for obtaining credentials.
* Bifrost can now leverage authentiation, as well as install and
configure keystone if requested by the installer.
* As a number of in-tree drivers in ironic were removed this past
cycle, due to lack of third-party CI, support has been added to
enable installation of the staging drivers repository.
New Features
************
* Allow user to insert private SSH key for ironic user. This is
useful for ansible deploy driver and another ssh based drivers. The
private key can be specified as path to local file in
"ssh_private_key_path" variable, or as string in "ssh_private_key".
* Allow install Ironic on remote server. Added group 'target' to
inventory, which is same as localhost by default. For install ironic
remotely, address and ssh credentials should be configured in
playbooks/inventory/target file.
* Bifrost has been updated to utilize Ansible 2.1's stable branch
for the version of ansible installed.
* Bifrost now prefers to use a system with Ansible already
installed. When this is the case, execution of the "env-setup.sh"
script is not required as it is geared for development and testing
use of bifrost.
In order to use the playbooks on a system with Ansible already
installed, the library requirements must be installed prior to
playbook execution:
"pip install -r requirements.txt"
Administrative privileges may be required if the packages must be
installed system wide.
* The environment setup script will now attempt to install bifrost
from PyPI instead of using a stable branch. This is to address
stability issues with Ansible stable branches.
If not requested to be installed into virtualenv, Ansible will be
installed into user's "~/.local" directory to not clobber possibly
existing system installation. To use such installed Ansible,
modifications of "$PATH" environment variable might be required to
include "~/.local/bin" path.
Some backwards compatibility is provided via the use of the
"ANSIBLE_GIT_BRANCH" variable, where a user can define "stable-X.Y"
and the latest available version in that series will be installed.
To install the Ansible 2.1 series as part of the env-setup script,
execute "env ANSIBLE_GIT_BRANCH="stable-2.1" scripts/env-setup".
Similarly, "ANSIBLE_PIP_VERSION" can be utilized to specify the
exact version, or range of version desired. Example:
"ANSIBLE_PIP_VERSION=2.1.0.1" or "ANSIBLE_PIP_VERSION=<2.2"
* Bifrost now has a role that can create a clouds.yaml file for os-
client-config based client auto-configuration.
* The functionality to create a service account and default user
account to bifrost has been added. This is controlled by the
"enable_keystone" parameter as well a "keystone" and "ironic" data
structure that contains all required parameters. Please consult the
bifrost-ironic-install/defaults/main.yml file for more details.
* Previously bifrost deployments on RedHat/Suse systems had to be
performed with selinux at least in permissive mode. This patch adds
the necessary policies to allow the components to operate with
selinux in enforcing mode.
* bifrost now supports "dnf" as package manager on RedHat-based
distros. It tries to use it by default and falls back to "yum" when
"dnf" is not available.
* Discovery of nodes via the ironic-inspector is now enabled by
default. If you wish to disable this, set
"enable_inspector_discovery" to "false" and re-execute the
installation playbook.
* Inspector is now installed and enabled by default. This changes
default value for the "enable_inspector" variable from "false" to
"true".
* Functionality to configure the ironic-inspector to utilize
keystone, utilizing the base "enable_keystone" boolean parameter.
* An ansible role enabling the installation of keystone has been
added in preparation for the addition of keystone support to
bifrost.
* The "bifrost-keystone-client-config" role can now write a
"clouds.yaml" file with several clouds settings. It starts to accept
a single compound variable "clouds" that must contain a dictionary
describing key:value pairs in the format of "<cloud-name>:<dict-of-
cloud-settings>". The previous way of passing "config_*" vars to the
role is supported for backward compatibility but is deprecated and
should be expected to be removed in Pike.
In addition to previous "bifrost" cloud, the default "install.yaml"
playbook now also writes "bifrost-admin" cloud settings that contain
Keystone admin credentials so that when installed, the Keystone
service is fully usable right away (users/projects etc can be
managed).
* The capability for Bifrost to read directly from the os-client-
config data has been added. While shade can do this for us to a
degree, bifrost also allows a user to directly choose the server
which they are connecting to via the "ironic_url" parameter. Instead
of duplicate code and retool, if no global "auth" parameter is
detected, the authentication parameters from the "os_client_config"
module is utilized to set the parameters.
* An optional parameter has been added to the roles that interact
with ironic that defines a "cloud_name". This cloud name is utilized
by the roles to determine the entry from os-client-config to
utilize.
* Add support of remote logging. This feature allows to send logs
from local syslog server and not collects logs from services on
baremetal nodes. To collect from the actual running nodes requires
configuration injected into each deployed host. Syslog server
address and port can be specified in options "remote_syslog_server"
and "remote_syslog_port" respectively.
* Ironic-Staging-Drivers can now be installed. These are drivers
that are not included in the ironic repo, and provide additional
hardware support for ironic. More information about the drivers can
be found at Ironic-Staging-Drivers
(http://git.openstack.org/cgit/openstack /ironic-staging-drivers) To
install the staging drivers set *staging_drivers_include* to true.
The default value is false.
* Ironic.conf is templated and only sets required options now, as
opposed to editing the sample configuration of Ironic.
Known Issues
************
* If installing bifrost in a virtualenv (venv) and running playbooks
against localhost, you must install the basic python requirements on
a system-wide level due to the operating behavior of Ansible.
* Bifrost now has a role that can create a clouds.yaml file for os-
client-config based client auto-configuration. This file overwrites
the default file for the user executing bifrost, located at
"~/.config/openstack/clouds.yaml". It is recommended that users
execute bifrost's installation via a service account.
* The addition of support for os-client-config does not allow a user
to choose their "cloud" directly. Only the first entry returned is
utilized.
* Log entries where authentication data is read and stored have been
masked with the "no_log" parameter. Troubleshooting non-standard
authentication configurations may require modifying the playbooks so
users can debug their input OR pass data directly in a different
way.
Upgrade Notes
*************
* Bifrost has been changed to utilize Ansible 2.1 by default. Should
a deployment encounter issues with Ansible, they may wish to
check/update their version of Ansible, or re-execute the env-
setup.sh script.
* Bifrost no longer supports installing ironic AMT drivers when PXE
drivers are enabled (which is the default) due to AMT drivers having
been removed from ironic in Ocata release.
* Upon installation, bifrost will replace the installed ironic.conf
file with a template generated file. Custom setting changes to that
file, which were previously retained, will now be lost upon re-
installation.
Deprecation Notes
*****************
* The "ANSIBLE_INSTALL_ROOT" variable has been deprecated and is
used only to raise a warning for third party scripts.
* The "ANSIBLE_FROM_PYPI" variable no longer has any effect, as
Ansible is always installed from PyPI now.
* The "node_network_info" parameter has been deperecated in favor of
the "node_network_data" parameter as the related configuration drive
"network_info.json" file was misnamed originally, and should have
been named "network_data.json". Support for the node_network_info,
and the continued write-out of the network_info.json file in
configuration drives will be removed in the Queens cycle.
* The "ironic_auth_strategy" setting is deprecated and will be
removed in Pike. The setting has no effect if the "enable_keystone"
setting is present and set to "true".
* The "inspector_auth" setting is deprecated and will be removed in
Pike. The setting has no effect if the "enable_keystone" setting is
present and set to "true".
* Passing "config_*" variables defining credentials for "bifrost"
cloud to the "bifrost-keystone-client-config" role has been
deprecated, and will be removed in the Pike cycle. Instead a single
compound variable named "clouds" defining sets of settings to be
written to "clouds.yaml" should be passed to that role.
Bug Fixes
*********
* Due to breaking change in the stable branch tags utilized with
Ansible, bifrost now utilizes installation of Ansible from PyPI.
* When support for passing configuration drive data to the nodes was
originally created, the file was accidently named incorrectly as
"network_info.json". The correct filename is "network_data.json".
Both files will now be written until support for writing
"network_info.json" is removed in the Queens cycle.
* Added dhcp configuration tasks to inspection role. In case when
inventory_dhcp is enabled and node is not deployed yet, inspection
is not working because dnsmasq ignores requests from unknown
address. This fix introduces tasks which configures dhcp before
inspection.
* Some users have encountered issues with introspection periodically
timing out for systems. As a result, we have added a new parameter
"inspection_wait_timeout" that is now defaulted to "1800" seconds.
Other Notes
***********
* By default, the installation process now downloads iPXE binaries
from ipxe.org upon re-installation. Previously, the download was not
set to be forced, and thus would be skipped if the file was already
present.
* In the past, the sample config in Ironic may have set some
boilerplate that Bifrost took advantage of. But now that config is
entirely made up of comments, and so this change does not change
much except stripping out all of those comments and leaving just the
required content in ironic.conf to use Ironic with Bifrost.
Changes in bifrost 2.1.0..3.0.0
-------------------------------
7a7f858 Always install Ansible with pip
d81f113 roles: bifrost-ironic-install: Always download the latest iPXE files
1d6e871 Revise release notes for release
7579106 Cleanup unused/deprecated files
1a04c6a Cleanup python requirements
3aeeec6 Correct closing brace causing install failure
69486c4 playbooks: bifrost-ironic-install: Fix reboot if iPXE boot failed
33c7804 Remove support for py34
1236d93 Allow deploy-dynamic on remote host
ae01dcd Enable DeprecationWarning in test environments
f72408b Typo fix: prepatory => preparatory
b67e785 Remove deprecated test playbooks
652aff9 Fixing typo in deprecation note
410176d Remove deprecated nginx_port option
1e5db81 Remove my_ip_address from use
d10abd2 roles: bifrost-create-vm-nodes: Randomize VM XML file
3a31ba4 Remove link to modindex
e09bec2 Allow to create cloud.yaml with many clouds
2153089 Consolidate release notes
15fc697 Allow enroll-dynamic on remote host
a229d65 scripts: test-bifrost.sh: Use 'unsafe' disk cache for test VMs
299a725 Do not install pxe_amt driver by default
29a7f96 Refresh Ansible facts after installing packages
b7a861c roles: bifrost-create-vm-nodes: Allow overriding the disk caching method
90f83d3 Move misplaced releasenote
d336d43 Remove local actions for ssh keys
f46afa9 Make path to ironic-rootwrap dynamic
1dfd452 roles: bifrost-ironic-install: SUSE/Debian: Add gcc and python-pip packages
ae78483 Typo fix: insufficent = insufficient
d6d4dad Fix endpoint service name for inspector
639d0cf Add socat package
8ae2209 Allow enroll node with empty properties.
d2ca09a Add wait_for_node_deploy parameter to deploy task with custom instance_info
f018f9a Fix "Create SSH directory for ironic user" task
c6e2851 Fixes to allow install Ironic on remote node
1767bc4 Typo fix: enviroment => environment
d87f253 Updated from global requirements
5be9b6f Allow user to specify private SSH key
31e3edb Need install ansible in source case
2ab916d Fix race in virbr0 startup
b70ef9e Don't assume 'dhcp' if node_network_data set
8651e26 Fix indentation of code in network_metadata.py
95837a6 Fix formatting of Role variables
a493cc9 Add keystone to git contents download
8e226b8 Remove useless paramiko requirements
460bc85 Correct inspector keystone endpoint name
3f58451 Fix condition for include ssh_public_key_path
697bb2d Support to wait for node deployment to complete
d6de3f9 Fix uuid and name parameters in inspect task
65a7b00 Fix stdout not defined
9b7d791 Add missing skip_install conditions
7288af2 Add checks for keystone endpoints
109cf98 Add dhcp related tasks to inspection role
0128ca8 Updated from global requirements
e56a4ac Fixes to allow services startup after reboot
361eb32 Default keystone to uuid tokens
d63fd59 Add support of remote logging
9772824 Fix ipa images urls in pxe config
490aae0 Fix bifrost install playbook README: default value
382f21c Adding staging driver support
ac5b258 Improve bifrost inventory module
9241ceb README.rst: Add openSUSE Leap to list of supported distributions
cf77dd9 Minor documentation updates
5ea4e7a Add support for dnf as package manager
487de04 Fix keystone config templates
68e7f12 Fix git_root default in README
ccce073 Provide default to uwsgi_install_prefix
c93ed6a Do not use bare variables in with_items
eb727f4 Allow installing Ansible from PyPI
aa38052 DRY when installing components
7a6fa59 Ensure git_root folder exists
ee38716 Adding keystone support to inspector config
5632058 Add keystone capability to base install
ad8d68b Update the task label for inspection
b17e4fc Add test script for Bifrost using keystone
2cf5ce5 Add initial keystone use documentation
82482a7 follow up to Change-Id: I4150f86fbc141dcd6fd12094acab1ca43d76910c
33d79b0 Config drive spec uses network_data.json
d806782 Enable inspector by default
3b60999 Bifrost keystone follow-up
46a552c Test timeout extension for inspection
d1e73c7 Show team and repo badges on README
e671094 playbooks: bifrost-ironic-install: Stop and disable epmd on SUSE
9629270 Replace six.iteritems() with .items()
345a62f Add Keystone support to ironic.conf
65dd103 Convert ironic.conf to template generated
99f1ca4 Add keystone install and clouds.yaml to testing
9068d38 Add ability to write clouds.yaml
6ad5be7 Add support to update keystone for bifrost
a5c688a Add keystone installation playbook
3e8a84f Update playbooks to support os_client_config
2c60745 Update Ansible version to stable-2.1
befa4bd playbooks: bifrost-ironic-install: Fix regexp for pxe_bootfile_name
95fc7af Updated from global requirements
c7e5132 Allow bifrost to work with selinux enabled
356ce0e Create new fact for dib_env_vars
d92db61 Updated from global requirements
a3f09bf Add instructions to setup ip on provisiong on virsh
5970763 Updated from global requirements
fd6045d Enable upper requirements on bifrost
43c2504 Don't include openstack/common in flake8 exclude list
2f7ba2d playbooks: Do not serialize ironic deployment
21f2731 bifrost: inventory: Downgrade log level to 'debug' for csv parsing
af24107 Add instructions to deploy bifrost on virsh
2786b42 Enable inspector discovery by default
cb373c8 Cleanup: adding linebreaks for readability
ec15436 Enable release notes translation
87a32c6 Serialize localhost actions during final host deployment
ba9fccc Fix a typo in documentation
5ef4bc5 Allow users to change the default provisioning timeout value
6e14419 Updated from global requirements
6ab45b2 Allow management of vlans when specifying mac
900bd2a TrivialFix: Fix typo in the RST file
cba9638 Add read and execute perms to httpboot and tftpboot folder
132e3fd Fix typo in bifrost-role-auth-support-ea6b5571cd339aa2.yaml
2599d4f Update flake8 ignore list
377e199 Redirect mkisofs and genisoimage stderr/stdout to /dev/null
fe9680c Ignore Ansible retry files in .gitignore
3edef76 Add new lines to improve pre-install yaml files
f4fb657 Update reno for Newton
231d5a9 SuSE support for VM node creation
0ed31d8 Install process SuSE support
add3cfb Workaround openSUSE ansible_os_family issue
5644b68 Refactor env-setup.sh
767276b Allow user to get iPXE files
c09d05c Updated from global requirements
1433fc8 Explain how to pronounce Bifrost
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 9 +
README.rst | 113 +++++---
README.vagrant.rst | 4 +-
bifrost/inventory.py | 49 ++--
openstack-common.conf | 6 -
playbooks/deploy-dynamic.yaml | 9 +-
playbooks/deploy.yaml | 9 -
playbooks/enroll-dynamic.yaml | 12 +-
playbooks/enroll.yaml | 9 -
playbooks/install.yaml | 22 +-
playbooks/inventory/group_vars/baremetal | 7 +
playbooks/inventory/group_vars/target | 72 ++++++
playbooks/inventory/localhost | 2 +-
playbooks/inventory/target | 2 +
playbooks/library/network_metadata.py | 25 +-
playbooks/library/os_ironic_facts.py | 4 +-
.../roles/bifrost-configdrives-dynamic/README.md | 20 +-
.../bifrost-configdrives-dynamic/defaults/main.yml | 3 +
.../bifrost-configdrives-dynamic/meta/main.yml | 2 +-
.../bifrost-configdrives-dynamic/tasks/main.yml | 48 +++-
.../tasks/ssh_public_key_path.yaml | 2 +
.../tasks/update_facts_from_ironic.yaml | 27 +-
.../templates/network_data.json.j2 | 1 +
.../templates/network_info.json.j2 | 1 -
.../roles/bifrost-create-dib-image/tasks/main.yml | 17 +-
.../defaults/required_defaults_Suse.yml | 10 +
.../files/create_vm_nodes-for-role.sh | 20 +-
.../roles/bifrost-create-vm-nodes/tasks/main.yml | 43 +++-
.../roles/bifrost-deploy-nodes-dynamic/README.md | 29 ++-
.../bifrost-deploy-nodes-dynamic/defaults/main.yml | 12 +-
.../bifrost-deploy-nodes-dynamic/meta/main.yml | 2 +-
.../bifrost-deploy-nodes-dynamic/tasks/main.yml | 35 ++-
playbooks/roles/bifrost-ironic-install/README.md | 31 ++-
.../roles/bifrost-ironic-install/defaults/main.yml | 99 ++++++-
.../defaults/required_defaults_Debian_family.yml | 5 +-
.../defaults/required_defaults_Debian_jessie.yml | 1 -
.../defaults/required_defaults_RedHat_family.yml | 7 +-
.../defaults/required_defaults_Suse_family.yml | 54 ++++
.../defaults/required_defaults_Ubuntu_16.04.yml | 33 +++
.../roles/bifrost-ironic-install/files/boot.ipxe | 2 +-
.../bifrost-ironic-install/files/ironic_policy.te | 19 ++
.../bifrost-ironic-install/tasks/bootstrap.yml | 152 ++++++++---
.../tasks/create_tftpboot.yml | 28 +-
.../tasks/download_ipa_image.yml | 3 +
.../bifrost-ironic-install/tasks/get_ipxe.yml | 31 +++
.../tasks/inspector_bootstrap.yml | 7 +-
.../tasks/inspector_install.yml | 1 +
.../tasks/inspector_start.yml | 1 +
.../roles/bifrost-ironic-install/tasks/install.yml | 9 +-
.../bifrost-ironic-install/tasks/ironic_config.yml | 184 +------------
.../tasks/keystone_setup.yml | 268 +++++++++++++++++++
.../tasks/keystone_setup_inspector.yml | 204 +++++++++++++++
.../roles/bifrost-ironic-install/tasks/main.yml | 21 ++
.../bifrost-ironic-install/tasks/pip_install.yml | 5 +-
.../tasks/redhat_libvirt_changes.yml | 2 +-
.../tasks/set_ssh_private_key.yml | 12 +
.../tasks/staging_install.yml | 22 ++
.../roles/bifrost-ironic-install/tasks/start.yml | 28 +-
.../templates/10-rsyslog-remote.conf.j2 | 1 +
.../templates/inspector-default-boot-ipxe.j2 | 4 +-
.../templates/ironic-inspector.conf.j2 | 49 +++-
.../templates/ironic.conf.j2 | 90 +++++++
.../bifrost-ironic-install/templates/nginx.conf.j2 | 1 +
.../roles/bifrost-keystone-client-config/README.md | 92 +++++++
.../defaults/main.yml | 2 +
.../bifrost-keystone-client-config/meta/main.yml | 22 ++
.../bifrost-keystone-client-config/tasks/main.yml | 45 ++++
.../templates/clouds.yaml.j2 | 14 +
playbooks/roles/bifrost-keystone-install/README.md | 119 +++++++++
.../defaults/dummy-defaults.yml | 3 +
.../bifrost-keystone-install/defaults/main.yml | 57 +++++
.../defaults/required_defaults_Debian_family.yml | 21 ++
.../defaults/required_defaults_Debian_jessie.yml | 20 ++
.../defaults/required_defaults_Fedora_22.yml | 5 +
.../defaults/required_defaults_RedHat_family.yml | 25 ++
.../defaults/required_defaults_Suse_family.yml | 19 ++
.../defaults/required_defaults_Ubuntu_15.04.yml | 4 +
.../defaults/required_defaults_Ubuntu_15.10.yml | 4 +
.../defaults/required_defaults_Ubuntu_16.04.yml | 21 ++
.../roles/bifrost-keystone-install/meta/main.yml | 15 ++
.../bifrost-keystone-install/tasks/bootstrap.yml | 285 +++++++++++++++++++++
.../bifrost-keystone-install/tasks/install.yml | 47 ++++
.../roles/bifrost-keystone-install/tasks/main.yml | 46 ++++
.../bifrost-keystone-install/tasks/pip_install.yml | 27 ++
.../roles/bifrost-keystone-install/tasks/start.yml | 22 ++
.../templates/keystone-admin.ini.j2 | 18 ++
.../templates/keystone-public.ini.j2 | 18 ++
.../templates/keystone.conf.j2 | 26 ++
.../templates/nginx.conf.j2 | 52 ++++
.../nginx_conf.d_bifrost-keystone.conf.j2 | 21 ++
.../templates/systemd_template.j2 | 15 ++
.../templates/upstart_template.j2 | 10 +
.../roles/bifrost-openstack-ci-prep/tasks/main.yml | 3 +
playbooks/roles/bifrost-prep-for-install/README.md | 4 +-
.../bifrost-prep-for-install/defaults/main.yml | 47 ++++
.../roles/bifrost-prep-for-install/tasks/git.yml | 23 --
.../tasks/git_download.yaml | 44 ----
.../bifrost-prep-for-install/tasks/local_path.yaml | 27 --
.../roles/bifrost-prep-for-install/tasks/main.yml | 21 +-
playbooks/roles/bifrost-test-vm/defaults/main.yml | 1 -
playbooks/roles/bifrost-test-vm/tasks/main.yml | 7 +-
.../bifrost-unprovision-node-dynamic/README.md | 3 +
.../bifrost-unprovision-node-dynamic/meta/main.yml | 2 +-
.../tasks/main.yml | 24 +-
playbooks/roles/ironic-delete-dynamic/README.md | 3 +
.../roles/ironic-delete-dynamic/meta/main.yml | 2 +-
.../roles/ironic-delete-dynamic/tasks/main.yml | 24 +-
playbooks/roles/ironic-enroll-dynamic/README.md | 3 +
.../roles/ironic-enroll-dynamic/defaults/main.yml | 4 +-
.../roles/ironic-enroll-dynamic/meta/main.yml | 2 +-
.../roles/ironic-enroll-dynamic/tasks/main.yml | 29 ++-
playbooks/roles/ironic-inspect-node/README.md | 41 +++
.../roles/ironic-inspect-node/defaults/main.yml | 4 +
playbooks/roles/ironic-inspect-node/meta/main.yml | 2 +-
playbooks/roles/ironic-inspect-node/tasks/main.yml | 59 ++++-
.../ironic-inspect-node/templates/dhcp-host.j2 | 6 +
.../ironic-inspect-node/templates/dns-address.j2 | 2 +
playbooks/test-bifrost-dhcp.yaml | 149 -----------
playbooks/test-bifrost-dynamic.yaml | 99 -------
playbooks/test-bifrost.yaml | 32 ++-
.../notes/add-private-key-9788621be14ba324.yaml | 6 +
.../allow-install-remote-101eea1ea4009fe1.yaml | 6 +
.../notes/ansible-2.1-4b6b36998287bb11.yaml | 9 +
.../ansible-pip-install-2b66bd82ce9ed4f6.yaml | 56 ++++
...bifrost-role-auth-support-ea6b5571cd339aa2.yaml | 2 +-
.../notes/create-clouds.yaml-9bbc79c0497dee43.yaml | 12 +
.../creation-of-ironic-user-5a970c5f73e8ef45.yaml | 8 +
...ploy-with-selinux-enabled-6c155cfa8f8720c0.yaml | 7 +
...precate_node_network_info-8c5e1bc4df6b8097.yaml | 17 ++
.../notes/dnf-support-413762b0af2887bc.yaml | 5 +
releasenotes/notes/drop-amt-e4bfb6e2ae3c4301.yaml | 6 +
...nable-inspector-discovery-77aa6f5c1f1e42c6.yaml | 6 +
...able_inspector_by_default-828fc1284d6a7c2b.yaml | 5 +
...ction-with-inventory-dhcp-cfc236974bf4ed0a.yaml | 7 +
...nspector-keystone-support-3786a22b49e851e5.yaml | 12 +
...pection-timeout-parameter-8e86afffd2f1d947.yaml | 6 +
.../notes/ipxe-download-bc1235cbbc87121c.yaml | 6 +
.../keystone-installation-3b812d9f673c7bbe.yaml | 5 +
.../notes/more-clouds-7c0fccf5701918d7.yaml | 24 ++
.../notes/ocata-summary-040e557460bab2bc.yaml | 19 ++
.../os_client_config-support-b1073062d842febb.yaml | 24 ++
.../support-remote-logging-93e159eeef4cc68b.yaml | 8 +
.../support-staging-drivers-1c398a56dde9b240.yaml | 9 +
.../templated_ironic_conf-bd052f2b2897d37a.yaml | 18 ++
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 2 +-
releasenotes/source/newton.rst | 2 +-
requirements.txt | 13 +-
scripts/ansible-pip-str.py | 55 ++++
scripts/env-setup.sh | 237 ++++-------------
scripts/install-deps.sh | 152 +++++++++++
scripts/test-bifrost-keystone-auth.sh | 1 +
scripts/test-bifrost.sh | 33 ++-
test-requirements.txt | 9 +-
tools/README.md | 4 +-
tools/virsh_dev_env/README.md | 65 +++++
tools/virsh_dev_env/network/br_direct.xml | 6 +
tools/virsh_dev_env/network/default.xml | 15 ++
tools/virsh_dev_env/vm/baremetal.xml | 101 ++++++++
tox.ini | 9 +-
troubleshooting.rst | 2 +-
164 files changed, 3824 insertions(+), 1026 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 34e451b..47f0055 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,10 +4,3 @@
-PyYAML>=3.1.0 # MIT
-Jinja2>=2.8 # BSD License (3 clause)
-pbr>=1.6 # Apache-2.0
-Babel>=2.3.4 # BSD
-oslo.config>=3.14.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
-six>=1.9.0 # MIT
-PyMySQL!=0.7.7,>=0.6.2 # MIT License
-paramiko>=2.0 # LGPLv2.1+
-pycrypto>=2.6 # Public Domain
+pbr>=1.8 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 7a55eca..29974b1 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +7 @@ hacking<0.11,>=0.10.0
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -9,3 +9,3 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-reno>=1.8.0 # Apache2
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+reno>=1.8.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+oslosphinx>=4.7.0 # Apache-2.0
@@ -15,0 +16 @@ testtools>=1.4.0 # MIT
+PyYAML>=3.10.0 # MIT
1
0
We are satisfied to announce the release of:
ironic-python-agent 2.0.0: Ironic Python Agent Ramdisk
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/ironic-python-agent/
For more details, please see below.
2.0.0
^^^^^
New Features
************
* Add support for Mellanox InfiniBand NICs in IPA. Each Mellanox
InfiniBand interface is returned with an "InfiniBand MAC" and
InfiniBand Client-ID calculated according to a Mellanox-specific
translation.
* Add HCTL (Host, Channel, Target and Lun) information to the block
devices.
* Ironic Python Agent can now access other services (Ironic,
Inspector, image backend) when those are configured with HTTPS
endpoints and use custom server certificates or require client
certificates. It is possible to add a custom Certificate Authority
(CA) file and client certificate files to the deploy ramdisk during
build, and provide paths to those as corresponding new options in
the "ironic_python_agent.conf" configuration file. Validation of the
server certificate can be turned off with the "insecure" config
option or via the "ipa-insecure" kernel boot parameter. This should
make it possible to run IPA in CI-like environments that use HTTPS
endpoints with self-signed certificates.
* Support for zypper has been added to the TinyIPA install-deps
script in order to support building TinyIPA on SUSE.
Upgrade Notes
*************
* Two reserved fields, "switch_port_descr" and
"switch_chassis_descr", were deprecated in Newton cycle and now are
removed.
* Ironic Python Agent no longer supports Ironic API lookup and
heartbeat actions via agent vendor passthru methods, and uses only
the new, top-level lookup and heartbeat endpoints of Ironic API
v1.22 (introduced in Newton release, Ironic version 6.1.0). This
effectively means that Ironic Python Agent becomes incompatible with
Ironic API < 1.22 (Ironic version 6.0.0 or older, integrated
OpenStack release Mitaka or older).
Bug Fixes
*********
* Fixes a bug in the CoreOS IPA images (where IPA runs in a chroot),
where IPA could not power off or reboot properly. In this case, it
will now use SYSRQ commands to forcefully reboot or power off.
* Values of "ipa-api-url" specified in the configuration file that
do not start with either "https://" or "http://" are no longer
accepted. Such values lead to failure while contacting ironic-api.
Such misconfigurations will be detected on ironic-python-agent
start. An exception will be raised and an error about the invalid
value will be logged.
* Fixes detection of IPMI address in the CoreOS-based images by
loading IPMI modules before going into chroot.
* Ironic Python Agent now correctly detects its IPv6 address if
communicating with ironic over IPv6. This address is also wrapped in
square brackets if the address being advertised is IPv6.
* If booted into a kernel that supports IPv6, Ironic Python Agent
now listens for connections on both the IPv4 and IPv6 wildcard
addresses.
* If using Linux-IO, ISCSI targets now support deploying over an
IPv6 network if booted into an IPv6 enabled kernel. IPv6 will be
used for deployments for all traffic between ironic and IPA if IPA
is passed an IPv6 address in the Ironic API URL.
* Limits the memory usage of "qemu-img convert" command to 1 GiB to
prevent it from causing the host machine to fail due to not enough
RAM.
* Fix LLDP discovery to not fail completely when an odd number of
bytes is received in an LLDP package.
* Fix raw sockets code to properly propagate exceptions to a caller
instead of silencing them and returning None (causing failures
later).
* Ironic Python Agent no longer requires 'bash' to be present in the
user image when preparing the partition image for local boot, and
uses the default 'sh' interpreter to run 'grub'-related commands
instead.
* If ipa-api-url is not configured in pxe parameters, skip lookup
and heartbeat to avoid ConnectionError when IPA starts. See
https://bugs.launchpad.net/bugs/1643966 for details.
* When writing a partition image, IPA now installs grub to the UEFI
fallback path (e.g. "EFI/BOOT/BOOTX64.EFI"). The fallback path is
used to boot the bare metal node if the NVRAM is reset.
Other Notes
***********
* Introspection data no longer contains keys used for compatibility
with the old introspection ramdisk.
* Ironic Python Agent now uses "oslo-config-generator" to create the
sample configuration file.
Changes in ironic-python-agent 1.5.0..2.0.0
-------------------------------------------
4737681 Improve grammar/readability in Ocata release notes
6993bd8 Correct error in Infiniband release note
0618375 imagebuild: tinyipa: Make the install-deps.sh SUSE aware
73f316d Remove switch_port_descr and switch_chassis_descr
e49f050 [TinyIPA] Avoid running rm with no parameters
5b1a217 Remove vendor_passthru mentions from lookup/heartbeat documentation
2334605 Add a comment about the catch-all exception for psutil
b7ae499 Remove support for older psutil versions
7ec1f25 Updated from global requirements
e4919e0 Support psutil 5.0.1
20dc04e Reboot and Poweroff fails with coreos IPA image
9595658 Mock out get_wildcard_address
449cda4 Limit memory usage when running qemu-img convert
256b233 Add IPv6 unit test for _get_route_source
1c493c4 iscsi: Listen for connections on both IPv4 and IPv6 ports
b4e41e2 Agent: Listen for connections on both IPv4 and IPv6 ports
df25373 Enable release notes translation
a5370d5 Use sh instead of bash when installing grub
185d4d0 Updated from global requirements
6997907 Removes unnecessary utf-8 encoding
fdd11b5 Configure and use SSL-related requests options
9f5f664 Advertise the correct address when using IPv6
415fd6e Updated from global requirements
10bff0a Remove compatibility with old bash-based introspection ramdisk
83a19a4 Fail IPA startup if no protocol prefix in ironic api address
16bef4a Fix missing newline at end-of-file in CONTRIBUTING.rst
4f1669d add CONTRIBUTING.rst
81780ad Use oslo_serialization.base64 to follow OpenStack Python3
1aa7269 Revert "Use liberty-eol tag for liberty release notes"
9948349 Moving Reboot bashscript to python
ed4d68b Use liberty-eol tag for liberty release notes
7854988 Comment on when the TinyCore mirror list was generated
3a4d319 Probe for TC mirror during tinyipa build
ef47d62 Add a new Hardware Manager for CNA network card
762f3bf Use oslo-config-generator for sample config
9ebb70d Update mock variable name in unit tests
b272426 Add HCTL to BlockDevices
dd9253f Skip API related work if no api url configured
92ced38 Fix docsting in Mellanox _detect_hardware
73825b2 Updated from global requirements
f98c245 Show team and repo badges on README
1bdcd44 Add a new Hardware Manager for Mellanox NICs
0a7735d Load IPMI modules before chroot in CoreOS image
41cf45f Fix two typos, "messsage" and "containg"
966db1c Dispatched out network interface info to all hardware managers
ab41106 Python 3 Compatible JSON
13c9350 Clarify test comment to minimize confusion
c40575e Add bash scripts style checking for IPA
b033bfd Remove old lookup/heartbeat from IPA
b864a8c Fix several errors in LLDP handling code
bcc98df Updated from global requirements
0b8763e Update to hacking 0.12.0 and use new checks
ef6c1cb Replaces uuid.uuid4 with uuidutils.generate_uuid()
70f8c65 Updated from global requirements
2c75147 Updated from global requirements
88aab19 Updated from global requirements
7471d40 Remove duplicated logging in configdrive creation
3665306 Use ironic-lib to create configdrive
0ce1e34 Updated from global requirements
cc5556d Install grub in the EFI "Fallback path"
7bda340 Fix config drive writing script
772ff4e Updated from global requirements
cca1cd4 Add support for root device hints with operators
c3bf482 Update .gitignore to ignore .idea of PyCharm
156ddaa Force en_US language for tests
20d960f Remove Python 2.6 format style
f1a8fef Update reno for stable/newton
9e442b2 [tinyipa] remove trailing slash from TC repo URL
67bd15c [tinyipa] allow skipping python compileall
c2b3055 Invalid URL and typo in .rst files
8f8e9f9 Fixed typo in doc file
f6acb7c Add py35 to tox environments
1dcb656 Add info on tinyipa to docs
629b599 Updated from global requirements
cceff3a Use CoreOS 1068.10.0
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
CONTRIBUTING.rst | 16 ++
README.rst | 9 +
.../ironic_python_agent.conf.sample | 291 +++++++++++++++++----
imagebuild/common/generate_upper_constraints.sh | 78 +++---
imagebuild/coreos/oem/cloud-config.yml | 3 +
imagebuild/coreos/version.txt | 10 +-
imagebuild/tinyipa/README.rst | 17 ++
imagebuild/tinyipa/build-tinyipa.sh | 6 +-
imagebuild/tinyipa/build_files/bootlocal.sh | 2 +-
imagebuild/tinyipa/finalise-tinyipa.sh | 26 +-
imagebuild/tinyipa/install-deps.sh | 18 +-
imagebuild/tinyipa/tc-mirror.sh | 53 ++++
ironic_python_agent/agent.py | 83 +++---
ironic_python_agent/api/config.py | 4 +-
ironic_python_agent/cmd/agent.py | 1 -
ironic_python_agent/config.py | 121 ++++++---
ironic_python_agent/errors.py | 51 +---
ironic_python_agent/extensions/base.py | 11 +-
ironic_python_agent/extensions/flow.py | 4 +-
ironic_python_agent/extensions/image.py | 21 +-
ironic_python_agent/extensions/iscsi.py | 10 +-
ironic_python_agent/extensions/standby.py | 192 +++++---------
ironic_python_agent/hardware.py | 208 +++++++--------
ironic_python_agent/hardware_managers/__init__.py | 0
ironic_python_agent/hardware_managers/cna.py | 91 +++++++
ironic_python_agent/hardware_managers/mlnx.py | 112 ++++++++
ironic_python_agent/inspector.py | 87 +-----
ironic_python_agent/ironic_api_client.py | 98 ++-----
ironic_python_agent/netutils.py | 73 ++++--
.../shell/copy_configdrive_to_disk.sh | 118 ---------
ironic_python_agent/shell/shutdown.sh | 26 --
ironic_python_agent/shell/write_image.sh | 13 +-
ironic_python_agent/utils.py | 23 +-
...mellanox_hardware_manager-edfae87964737df1.yaml | 6 +
.../notes/block-device-hctl-e81573812be3d469.yaml | 4 +
...reboot_in_chroot_by_sysrq-42447fc4cdd7dafe.yaml | 5 +
...art_if_ironic_api_invalid-7b78fcaba2141cc5.yaml | 9 +
.../fix-coreos-modprobe-75bda45c7bbeb469.yaml | 4 +
.../notes/handle-ssl-063a91fb7bdcf9b9.yaml | 16 ++
.../notes/ip6-addresses-1c2b9bcd9a124de7.yaml | 6 +
.../notes/ipv6-listen-85d40e58156e398f.yaml | 5 +
.../notes/ipv6-provision-42e9000f6f6a7a3a.yaml | 6 +
.../limit-qemu-img-ram-usage-d7b7a16ac5e9c917.yaml | 5 +
.../lldp-error-handling-5b6576b378ef9c3a.yaml | 6 +
.../notes/no-bash-for-grub-c38369af8cc7cf26.yaml | 6 +
.../notes/old-inspector-data-5e63c9bce72b4fb5.yaml | 5 +
.../oslo-config-generator-b0f70b9fb7e23997.yaml | 4 +
...escr-switch_chassis_descr-40f2bb37b5f1fdd1.yaml | 6 +
.../remove-vendor-passthru-eda3519c322eb4e2.yaml | 10 +
...-if-apiurl-not-configured-5ae8b04ae1e74673.yaml | 5 +
.../suse-tinyipa-support-20acecd6d7b20952.yaml | 4 +
.../notes/uefi-fallback-266c647f6aff58fd.yaml | 6 +
releasenotes/source/conf.py | 2 +
releasenotes/source/current-series.rst | 6 +-
releasenotes/source/newton.rst | 8 +-
requirements.txt | 21 +-
setup.cfg | 5 +
test-requirements.txt | 14 +-
tools/config/check_uptodate.sh | 16 +-
tools/config/generate_sample.sh | 120 ---------
tools/config/ipa-config-generator.conf | 5 +
tools/config/oslo.config.generator.rc | 0
tools/run_bashate.sh | 23 ++
tox.ini | 25 +-
81 files changed, 2320 insertions(+), 1404 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 7b0ddea..9972014 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -9 +9 @@ netifaces>=0.10.4 # MIT
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -11 +11,2 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.serialization>=1.10.0 # Apache-2.0
@@ -13,2 +14,2 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
+oslo.utils>=3.18.0 # Apache-2.0
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
@@ -16 +17 @@ Pint>=0.5 # BSD
-psutil<2.0.0,>=1.1.1 # BSD
+psutil>=3.0.1 # BSD
@@ -18,2 +19,2 @@ pyudev # LGPLv2.1+
-requests>=2.10.0 # Apache-2.0
-rtslib-fb>=2.1.41 # Apache-2.0
+requests!=2.12.2,>=2.10.0 # Apache-2.0
+rtslib-fb!=2.1.60,!=2.1.61,>=2.1.43 # Apache-2.0
@@ -21 +22 @@ six>=1.9.0 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -23 +24 @@ WSME>=0.8 # MIT
-ironic-lib>=2.0.0 # Apache-2.0
+ironic-lib>=2.5.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index fb06328..d204b3a 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,2 +4,2 @@
-hacking<0.12,>=0.11.0 # Apache-2.0
-coverage>=3.6 # Apache-2.0
+hacking<0.13,>=0.12.0 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -10,2 +10,2 @@ oslotest>=1.10.0 # Apache-2.0
-os-testr>=0.7.0 # Apache-2.0
-
+os-testr>=0.8.0 # Apache-2.0
+bashate>=0.2 # Apache-2.0
@@ -14 +14 @@ doc8 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -16,2 +16,2 @@ sphinxcontrib-pecanwsme>=0.8 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=1.8.0 # Apache2
+oslosphinx>=4.7.0 # Apache-2.0
+reno>=1.8.0 # Apache-2.0
1
0
We are psyched to announce the release of:
ironic 7.0.0: OpenStack Bare Metal Provisioning
This release is part of the ocata release series.
The source is available from:
http://git.openstack.org/cgit/openstack/ironic
Download the package from:
https://tarballs.openstack.org/ironic/
Please report issues through launchpad:
http://bugs.launchpad.net/ironic
For more details, please see below.
7.0.0
^^^^^
The 7.0.0 release includes many new features and bug fixes. Please
review the upgrade section which describes the required actions to
upgrade your ironic installation from 6.2.2 (Newton) to 7.0.0 (Ocata).
A few major changes are worth mentioning. This is not an exhaustive
list:
* "Port group" support allows users to take advantage of bonded
network interfaces.
* State change and CRUD notifications can now be emitted.
* Soft power off, soft reboot, and sending non-maskable interrupts
(NMI) are now supported in the REST API.
* The AMT, iBoot, msftocs, seamicro, VirtualBox, and Wake-On-Lan
drivers have been removed from ironic. Please see the upgrade notes
for additional details and options.
* "Dynamic drivers" is a revamp of how drivers are composed. Rather
than a huge matrix of hardware drivers supporting different things,
now users select a "hardware type" for a machine, and can
independently change the deploy method, console manager, RAID
management, power control interface, etc. This is experimental, as
not all "classic" drivers have a dynamic equivalent yet, but we
encourage users to try this feature out and submit feedback.
New Features
************
* Adds support for removing the chassis UUID associated with a node
(via "PATCH /v1/nodes/<ident>"). This is available starting with API
version 1.25.
* Adds the use of DHCP option 210 (tftp-path-prefix). This enables
PXE for systems using petitboot, which cannot infer their tftp-path-
prefix from the boot file location as petitboot does not use a boot
file.
* To enable SNMPv3 inspection in iLO drivers, the following
parameters must be set in the node's "driver_info". *
"snmp_auth_user" * "snmp_auth_prot_password" *
"snmp_auth_priv_password" * "snmp_auth_protocol" (optional, defaults
to iLO default value "MD5") * "snmp_auth_priv_protocol" (optional,
defaults to iLO default value "DES")
* Adds the initial substrate to allow for the creation of storage
interfaces. The default storage interface for nodes is "noop", which
routes to a no-op driver that is included with the substrate.
* Adds support for attaching and detaching network VIFs to ironic
ports and port groups by using the "/v1/nodes/<node>/vifs" API
endpoint that was added in API version 1.28. When attaching a VIF to
a node, it is attached to the first free port group. A port group is
considered free if it has no VIFs attached to any of its ports.
Otherwise, only the unattached ports of this port group are
available for attachment. If there are no free port groups, the
first available port is used instead, where ports with "pxe_enabled"
set to "True" have higher priority.
* Adds support for port groups with a new endpoint
"/v1/portgroups/". Ports can be combined into port groups to support
static Link Aggregation Group (LAG) and Multi-Chassis LAG (MLAG)
configurations.
Note that if the optional "mode" field for a port group is not
specified, its value will be set to the value of the configuration
option "[DEFAULT]default_portgroup_mode", which defaults to "active-
backup".
Additionally, adds the following API changes:
* a new endpoint "/v1/nodes/<node>/portgroups".
* a new endpoint "/v1/portgroups/<portgroup>/ports".
* a new field "portgroup_uuid" on the port object. This is the
UUID of a port group that this port belongs to, or None if it does
not belong to any port group.
All port group API functions are available starting with version
1.26 of the REST API.
* Adds timing metrics to DRAC drivers.
* Adds timing metrics to iRMC drivers.
* Adds new option "[deploy]/default_boot_option" for setting the
default boot option when no explicit boot option is requested via
capabilities.
* Adds new methods to network interfaces, which will become
mandatory in Pike release:
* "vif_list": List attached VIF IDs for a node.
* "vif_attach": Attach a virtual network interface to a node.
* "vif_detach": Detach a virtual network interface from a node.
* "port_changed": Handle any actions required when a port
changes.
* "portgroup_changed": Handle any actions required when a port
group changes.
* "get_current_vif": Return VIF ID attached to port or port group
object.
* Adds support for dynamic drivers. Using a dynamic driver in a
node's "driver" field is now possible. Dynamic drivers are composed
of a "hardware type" and a number of "hardware interfaces".
NOTE: this feature is considered somewhat experimental, as not all
classic drivers have a corresponding dynamic driver, and there is
minimal CI for dynamic drivers at the time of this writing.
Hardware types are enabled via the
"[DEFAULT]/enabled_hardware_types" configuration option, and
hardware interfaces are enabled via the
"[DEFAULT]/enabled_*_interfaces" configuration option. A default
interface to use when creating or updating nodes can be specified
with the "[DEFAULT]/default_*_interface" configuration option.
The ironic-conductor process will now fail to start if:
* a default interface implementation for any enabled hardware type
cannot be found.
* a dynamic driver and a classic driver with the same name are
both enabled.
* at least one classic driver *or* one dynamic driver is not
enabled.
Hardware types available in this release are:
* "ipmi" for IPMI-compatible hardware. This type is enabled by
default. Uses the "ipmitool" utility under the hood, similar to
existing classic drivers "pxe_ipmitool" and "agent_ipmitool".
Supports both types of serial console: via "shellinabox" and via
"socat", both are disabled by default.
* "irmc" for FUJITSU PRIMERGY servers, disabled by default.
This feature has a number of REST API changes, all of which are
available in API version 1.31.
* Adds additional parameters and response fields for GET
/v1/drivers and GET /v1/drivers/<name>.
* Exposes the following fields on the node resource, to allow
getting and setting interfaces for a dynamic driver:
* boot_interface
* console_interface
* deploy_interface
* inspect_interface
* management_interface
* power_interface
* raid_interface
* vendor_interface
* Allows dynamic drivers to be used and returned in the following
API calls, in all versions of the REST API:
* GET /v1/drivers
* GET /v1/drivers/<name>
* GET /v1/drivers/<name>/properties
* GET /v1/drivers/<name>/vendor_passthru/methods
* GET/POST /v1/drivers/<name>/vendor_passthru
* GET/POST /v1/nodes/<id>/vendor_passthru
For more details on the REST API changes, see the REST API Version
History documentation
(http://docs.openstack.org/developer/ironic/dev/webapi-version-
history.html).
This also adds dynamic interface fields to node-related
notifications:
* boot_interface
* console_interface
* deploy_interface
* inspect_interface
* management_interface
* power_interface
* raid_interface
* vendor_interface
The affected notifications are:
* baremetal.node.create.*, new payload version 1.1
* baremetal.node.update.*, new payload version 1.1
* baremetal.node.delete.*, new payload version 1.1
* baremetal.node.maintenance.*, new payload version 1.3
* baremetal.node.console.*, new payload version 1.3
* baremetal.node.power_set.*, new payload version 1.3
* baremetal.node.power_state_corrected.*, new payload version 1.3
* baremetal.node.provision_set.*, new payload version 1.3
* Add "hctl" to root device hints. HCTL is the SCSI address and
stands for Host, Channel, Target and Lun.
* Add support for the injection of Non-Masking Interrupts (NMI) for
a node in REST API version 1.29. This feature can be used for
hardware diagnostics, and actual support depends on the driver. In
7.0.0, this is available in the ipmitool and iRMC drivers.
* Adds support to deploy to nodes with different CPU architectures
from a single conductor. This depends on two new configuration
options, "[pxe]/pxe_config_template_by_arch" and
"[pxe]/pxe_bootfile_name_by_arch". Each is a dictionary mapping CPU
architecture to PXE config template or PXE boot file name,
respectively.
As an example, the syntax might look like:
pxe_config_template_by_arch=aarch64:pxe_grubaa64_config.template,ppc64:pxe_ppc64_config.template
Ironic attempts to map the CPU architecture in this mapping to the
"properties/cpu_arch" field for a node. If the node's CPU
architecture is not found in the mapping, ironic will fall back to
the standard options "pxe_config_template", "pxe_bootfile_name",
"uefi_pxe_config_template", and "uefi_pxe_bootfile_name".
* Adds new configuration option
"[conductor]/send_sensor_data_workers" to allow concurrent sending
of sensor data using the specified number of green threads. The
"[conductor]/wait_timeout_for_send_sensor_data" configuration option
is the time to wait for all spawned green threads before running the
periodic task again.
* Names can now be used instead of UUIDs for
"[neutron]/cleaning_network" and "[neutron]/provisioning_network"
configuration options (formerly called
"[neutron]/cleaning_network_uuid" and
"[neutron]/provisioning_network_uuid"). Care has to be taken to
ensure that the names are unique among all networks in this case.
Note that the mapping between a name and a UUID is cached for the
lifetime of the conductor.
* Adds in-band inspection interface usable by OneView drivers.
* Adds timing metrics to OneView drivers.
* Ironic is now configured to work with two oslo.policy CLI scripts
that have been added.
The first of these can be called like "oslopolicy-list-redundant
--namespace ironic" and will output a list of policy rules in
policy.[json|yaml] that match the project defaults. These rules can
be removed from the policy file as they have no effect there.
The second script can be called like "oslopolicy-policy-generator
--namespace ironic --output-file policy-merged.yaml" and will
populate the policy-merged.yaml file with the effective policy. This
is the merged results of project defaults and config file overrides.
* The pxe_snmp and fake_snmp are now supported and tested.
* Agent lookup/heartbeat as vendor passthru is removed from most of
in-tree ironic drivers. Affected drivers are
* agent_ipmitool
* agent_ipmitool_socat
* agent_ipminative
* agent_irmc
* agent_ssh
* agent_vbox
* agent_ucs
* pxe_agent_cimc
* pxe_ipmitool
* pxe_ipmitool_socat
* pxe_ssh
* pxe_ipminative
* pxe_seamicro
* pxe_snmp
* pxe_irmc
* pxe_vbox
* pxe_msftocs
* pxe_ucs
* pxe_iscsi_cimc
* pxe_drac
* pxe_drac_inspector
* iscsi_irmc
* agent_ilo
* iscsi_ilo
* pxe_ilo
* agent_pxe_oneview
* iscsi_pxe_oneview
All the other vendor passthru methods are left in place if the
driver had them.
* Adds the following notifications:
* Creation, updates, or deletions of ironic resources (node, port
and chassis). Event types are
"baremetal.<resource>.{create,update,delete}.{start,end,error}".
* Start and stop console on a node. Event types are
"baremetal.node.console_{set,restore}.{start,end,error}".
* Changes in node maintenance status. Event types are
"baremetal.node.maintenance_set.{start,end,error}".
* When ironic attempts to set the power state on the node. Event
types are "baremetal.node.power_set.{start,end,error}".
* When ironic detects the power state on baremetal hardware has
changed and updates the node in the database appropriately. Event
types are "baremetal.node.power_state_corrected.success".
* Node provision state changes. Event types are
"baremetal.node.provision_set.{start,end,success,error}".
These are only emitted when notifications are enabled. For more
details, see the developer documentation: http://docs.openstack.org
/developer/ironic/deploy/notifications.html.
* Adds support for security groups for the provisioning and cleaning
network. These are optionally specified by the configuration options
"[neutron]/provisioning_network_security_groups" and
"[neutron]/cleaning_network_security_groups", respectively. If not
specified, the default security group for the network is used. These
options are only applicable for nodes using the "neutron" network
interface. These options are ignored for nodes using the "flat" and
"noop" network interfaces.
* Adds support for soft reboot and soft power off requests in REST
API version 1.27. Also adds an optional "timeout" parameter to the
node power state API. Adds a new configuration option
"[conductor]/soft_power_off_timeout" to define the default timeout
for soft power actions. In 7.0.0, this is supported for ipmitool and
iRMC drivers.
* Adds support for using operators with the root device hints
mechanism. The supported operators are, "=", "==", "!=", ">=", "<=",
">", "<", "s==", "s!=", "s>=", "s>", "s<=", "s<", "<in>", "<all-in>"
and "<or>". See http://docs.openstack.org/project-install-
guide/baremetal/draft/advanced.html#specifying-the-disk-for-
deployment-root-device-hints
Upgrade Notes
*************
* Adds a new dependency on the tooz library
(https://pypi.python.org/pypi/tooz) as the consistent hash ring
code was moved out of ironic and into tooz.
* The "[DEFAULT]/debug" configuration option now also enables debug
logs for the "ironic-python-agent" ramdisk. If the "ipa-debug"
kernel option is already present in the "[pxe]/pxe_append_params"
configuration option, ironic will not overwrite it.
* Moves node creation logic from the API service to the conductor
service. This is more consistent with other node operations and
opens opportunities for conductor-side validations on nodes.
However, with this change, node creation may take longer, and this
may limit the number of nodes that can be enrolled in parallel.
* The "[DEFAULT]/default_network_interface" and
"[dhcp]/dhcp_provider" configuration options were previously
required for the ironic-api service to calculate the correct
"network_interface" default. Now these options are only required by
the ironic-conductor service.
* A future release will change the default value of
"[deploy]/default_boot_option" from "netboot" to "local". To avoid
disruptions, it is recommended to set an explicit value for this
option.
* The minimum version of python-oneviewclient is now 2.5.2.
* Ironic now uses only the Image Service (glance) v2 API by default.
Use of the deprecated v1 API for certain basic tasks can still be
enabled by setting "[glance]/glance_api_version" to "1". This
option, however, does not affect temporary URL generation, as it
always requires the v2 API.
* The "[inspector]/enabled" configuration option no longer has
effect on the "fake_inspector" driver. It will also not have effect
on new- style dynamic drivers based on hardware types; it will be
necessary to use "[DEFAULT]/enabled_inspect_interfaces" instead.
* Increases the default number of workers for the "send_sensor_data"
periodic task from 1 to 4.
* Ironic no longer passes "root_device" as kernel parameter via boot
config files. Passing root device hints to Ironic Python Agent (IPA)
as kernel parameters was deprecated in Newton release. As a
consequence, using root device hints with Ironic as of Ocata release
will not be possible when deploying nodes with the help of ramdisks
based on IPA as of Mitaka release. Operators relying on root device
hints functionality are advised to update their IPA-based Ironic
deploy images.
* Ironic no longer supports agent lookup/heartbeats as vendor
passthru methods. All out-of-tree drivers must be updated to use
"AgentDeployMixin" classes directly without relying on
"BaseAgentVendor" class and other classes that were inheriting from
it (e.g. "agent.AgentVendorInterface" and
"iscsi_deploy.VendorPassthru"). This means that ironic is
incompatible with deploy ramdisks based on Ironic Python Agent (IPA)
< 1.5.0. Operators must update their IPA-based deploy ramdisks in
this case. Operators using non-IPA based deploy ramdisks which use
ironic lookup/heartbeats functionality must update their ramdisks to
use the top level ironic lookup/heartbeats REST API, available since
ironic API v1.22.
* The deprecated ironic.nova.ClusteredComputerManager module is now
removed. This is not required with nova >= 14.0.0 (Newton).
* The configuration option "[deploy]/erase_devices_iterations" was
deprecated in the Newton cycle (6.0.0). It is no longer supported.
Please use the option "[deploy]/shred_random_overwrite_iterations"
instead.
* Removes these deprecated methods from the neutron DHCP provider
built into ironic:
* create_cleaning_ports
* delete_cleaning_ports
Removes these related methods from
"ironic.drivers.modules.deploy_utils":
* prepare_cleaning_ports
* tear_down_cleaning_ports
If you have your own custom ironic DHCP provider that implements
cleaning methods, you may need to update your code to use the
"add_cleaning_network()" and "remove_cleaning_network()" network
interface methods. See the modules in
"ironic/drivers/modules/network/" for more information.
* Removes support for attaching periodic tasks on a driver object,
rather than an interface.
* There is no longer any support for doing an iSCSI deploy on ironic
python agent (IPA) ramdisks with versions < 1.3 (Mitaka or earlier).
Please upgrade ironic python agent to a newer version.
* A number of drivers that were declared as unsupported in Newton
release have been removed from ironic tree. This includes drivers
with power and/or management driver interfaces based on:
* MSFT OCS
* SeaMicro client
* Virtualbox over pyremotevbox client
As a result, the following ironic drivers will no longer be
available:
* agent_vbox
* fake_msftocs
* fake_seamicro
* fake_vbox
* pxe_msftocs
* pxe_seamicro
* pxe_vbox
After upgrading, if one or more of these drivers are in the
'enabled_drivers' configuration option, the ironic-conductor service
will fail to start. Any existing ironic nodes with these drivers
assigned will become inoperational via ironic after ironic upgrade,
as it will be not possible to change any node state/properties
except changing the node driver. Operators having one of the drivers
listed above enabled are required to either disable those drivers
and assign another existing driver to affected nodes as appropriate,
or install these drivers from elsewhere separately.
* For SSH power drivers, if the configuration option
"[neutron]/port_setup_delay" had been set to 0, a delay of 15
seconds was used. This is no longer the case. Please set the
configuration option to the desired value; otherwise the service
will not wait for Neutron agents to set up a port.
* Updates required proliantutils version for iLO drivers to 2.2.0.
This version has support for sanitize disk erase using SSA utility.
Deprecation Notes
*****************
* Using "port.extra['vif_port_id']" for attaching and detaching VIFs
to ports or port groups is deprecated and will be removed in Pike
release.
* The function "build_instance_info_for_deploy" is deprecated from
"ironic.drivers.modules.agent" and will be removed in the Pike
cycle. Its new home is "ironic.drivers.modules.deploy_utils". Out-
of-tree drivers that use this function should be updated
accordingly.
* Usage of the following values was deprecated in the policy files:
* "domain_id" and "domain_name" - "user_domain_id" should be used
instead of those (note - "user_domain_id" is an ID of the domain,
not its name).
* "tenant" - "project_name" should be used instead.
* "user" - "user_id" should be used instead.
* "update_mac_address" method in the DHCP provider interface is
deprecated and will be removed in the Pike release. The logic should
be moved to a custom network interface's "port_changed" and
"portgroup_changed" methods.
* For DRAC drivers, the node's "driver_info["drac_host"]" property
is deprecated and will be ignored starting in the Pike release.
Please use "driver_info["drac_address"]" instead.
* Configuration options "[neutron]/cleaning_network_uuid" and
"[neutron]/provisioning_network_uuid" are deprecated in favor of the
new configuration options "[neutron]/cleaning_network" and
"[neutron]/provisioning_network" respectively.
* The "agent_last_heartbeat" field of "driver_internal_info" has
been removed from all agent drivers, since this field was unused by
ironic.
Security Issues
***************
* Private SSH keys are now masked when using the SSH power driver
and node details are requested.
Bug Fixes
*********
* Adds a missing error check into "ipmitool" power driver's reboot
method so that the reboot can fail properly if power off failed.
* Fixes disk size detection for out-of-band inspection in iLO
drivers, by optionally using SNMPv3 to get the disk size for certain
types of storage.
* Drivers using the "AgentDeploy" interface now correctly support
take-over for "ACTIVE" netboot-ed nodes.
* Fixed an issue of not returning "chassis_uuid" field of a node in
API responses if it does not belong to a chassis. It should be
always returned, either set to None, or to a corresponding chassis
UUID.
* Fixes SSH driver validation when using a private key with a
passphrase for authentication.
* Fixes an issue where setting a boot device as persistent does not
work when "ipmi_force_boot_device" is set to "True". For more
information, see https://bugs.launchpad.net/ironic/+bug/1626453.
* Fixes an issue where the API service does not start if audit is
enabled with the default value of "[audit]/ignore_req_list"
configuration option.
* Catch unknown exceptions with traceback when validating driver
interfaces.
* Now sets node's "updated_at" field correctly after a node has been
updated.
* Removes a check that was preventing whole disk images from being
deployed in UEFI mode without explicitly setting the "boot_option"
capability to "local". For whole disk images, ironic already assumes
booting from local storage by default.
* A "[conductor]/api_url" value specified in the configuration file
that does not start with either "https://" or "http://" is no longer
allowed. An incorrect value led to deployment failure on ironic-
python-agent side. This misconfiguration will now be detected during
ironic-conductor and ironic-api startup. An exception will be raised
and an error about the invalid value will be logged.
* Fixes an issue with the "neutron" network interface that could
lead to an inability to retry the deployment in case of failure on
boot interface's "prepare_ramdisk" stage.
* Fixes an issue where a pre-created tenant port was automatically
deleted by ironic on instance delete.
* Fixes an issue which caused the DRAC driver ("pxe_drac")
"get_bios_config()" vendor passthru method to unintentionally raise
an "AttributeError" exception. That method once again returns the
current BIOS configuration. For more information, see
https://bugs.launchpad.net/ironic/+bug/1637671.
* A validation step is added to verify that the Server Profile
Template's MAC type is set to Physical when dynamic allocation is
enabled. The OneView Driver needs this verification because the
machine is going to use a MAC that will only be specified at the
profile application.
* Fixes an issue where the ironic-conductor service would not run if
a trailing comma or empty driver was specified in the
"[DEFAULT]enabled_drivers" configuration option. The service now
runs and logs a warning.
* Fail deployment when no ports or port groups are linked to a node.
This is to avoid active nodes not connected to any tenant network.
* Changes interactions with neutron to always use the neutron
credentials from ironic configuration, instead of forwarding the
credentials from the API client.
* Fixes an issue with node rebuild, when tenant network ports were
not unbound prior to moving the node to provisioning network.
* Fixes an issue where the OneView deploy interface does not return
the node properties and in the tear down phase does not return the
state of the node.
* Fixes a bug in the OneView driver where the periodic task to check
if a node is in use by OneView may end prematurely.
* Fixes a bug where some of the API methods were not using the right
context values for checking the policy.
* Ironic exceptions that contained arbitrary objects in "kwargs" and
were sent via RPC were causing "oslo_messaging" serializer to fail.
This was leading to 500 errors from ironic API, timing out waiting
for response from the conductor. Starting with this release, all
non-serializable objects contained in an exception's kwargs are
dropped. Whether the error is going to be returned by the service
will depend on the configuration option
"[DEFAULT]/fatal_exception_format_errors".
* An issue when it was impossible to detach manually attached VIF to
port (port.extra) when port is in portgroup by using DELETE
"v1/nodes/<node_ident>/vifs" API.
* Fixes a bug in the iLO drivers' inspection where an existing
"local_gb" node property was overwritten with "0" if not detected.
* Correctly handle unexpected exceptions during inspection. Return
more detailed error message to a user and log the traceback.
* Fixes a bug with incorrect base socat command, which prevented the
usage of console.
* Adds support for deploying to IPv6 iSCSI portals.
* Remove "dhcp" command from the default iPXE script. It is
redundant, and may even break booting when the provisioning NIC is
not the first one.
* Fixes a problem where the deployment of a node would fail to
continue if a malformed MAC address was passed to the lookup
mechanism in the Ironic API. For example, if a node contains an
Infiniband card, the lookup used to fail because the agent ramdisk
passes a MAC address (or GID) with 20 octets (instead of the
expected 6 octets) as part of the lookup request. Invalid addresses
are now ignored.
* Fixes a bug in manual clean step caching, which resulted in all
clean steps not being abortable. See
https://bugs.launchpad.net/ironic/+bug/1658061.
* Nodes with classic drivers cannot have any interfaces (except for
network and storage) specified. HTTP status 400 is returned in these
cases.
* Fixes an issue with ironic being able to change the power state of
nodes currently in use by OneView.
* Fixes the OneView driver to make the "set_boot_device" method work
as expected with the "persistent" option set to "False".
* Drivers using the "PXEBoot" boot interface now correctly support
node take-over for netboot-ed nodes in "ACTIVE" state. During take-
over, the PXE environment is first re-created before attempting to
switch it to "service mode".
* Fixes a bug where OneView drivers create a new instance of the
OneView client for each request made.
* Ironic now validates any swift temporary URL when preparing for
deployment of nodes.
* Fixes an issue when attaching VIF to a port with missed
"local_link_connection" field was allowed when node network
interface was "neutron".
Other Notes
***********
* Some combinations of port group protocols and hardware might not
support falling back to single interface mode. If a static port
group was created under such circumstances (where
"portgroup.standalone_ports_supported = False"), additional
restrictions apply to such ports and port groups, for example such
ports will not support booting over PXE.
Certain restrictions are imposed on values of port properties for
ports belonging to a port group:
* "port.pxe_enabled" cannot be set to True if the port is a member
of a port group with portgroup.standalone_ports_supported already
set to False.
* "portgroup.standalone_ports_supported" cannot be set to False on
a port group if at least one port in that port group has
"port.pxe_enabled=True"
* "port.extra.vif_port_id" cannot be set on a port that is a
member of a port group with
"portgroup.standalone_ports_supported=False" as setting it means
that we using port in single interface mode.
* "portgroup.standalone_ports_supported" cannot be set to False on
a port group if it has at least one port with
"port.extra.vif_port_id" set.
Changes in ironic 6.2.0..7.0.0
------------------------------
4dfde43 Clean up release notes for 7.0.0
ba980bd Add a summary release note for ocata
a951e45 Walk over all objects when doing VIF detach
c14dbfa Fix unit tests with UcsSdk installed
dd2a85a Mock client initializations for irmc and oneview
442849b Follow up patch for SNMPv3 support
03cd4c4 Add a tox target for unit tests with driver libraries
b85d0d7 Fix missed '_' import
23013a9 Change misc to test_utils for tempest test
5efde6a Source lib/ironic in grenade settings
d33faed Update api-ref for dynamic drivers
d77b263 Switch to use test_utils.call_until_true
d3e13f6 Add port groups configuration documentation
02ce724 Remove most unsupported drivers
8de1f68 SNMP agent support for OOB inspection for iLO Drivers
d8bdbda No node interface settings for classic drivers
c6abd51 Unbind tenant ports before rebuild
eaf4622 Remove a py34 environment from tox
64e0983 Fix object save after refresh failure
5b10a82 Pass session directly to swiftclient
ef4bd99 Adds network check in upgrade phase in devstack
696e9ba Fix log formating in ironic/common/neutron
2ab96f6 Follow-up iRMC power driver for soft reboot/poff
06c4c00 Use https instead of http for git.openstack.org
f192abb Validate the network interface before cleaning
e3bd99f log if 'flat' interface and no cleaning network
0a7fc60 exception from driver_factory.default_interface()
e98b028 [devstack] Allow using "ipmi" hardware type
5d5edde Remove trailing slash from base_url in tempest plugin
1f25244 Improve enabled_*_interfaces config help and validation
dfc272c Prepare for using standard python tests
d9f03f9 [Devstack] fix waiting resources on subnode
04d8552 Log an actual error message when failed to load new style credentials
fa4a5a5 Speed up irmc power unit tests
c399e56 Add bumping sem-ver to the releasing docs
c96197c Make _send_sensors_data concurrent
c56375d [devstack] remove deprecated IRONIC_IPMIINFO_FILE
6206c47 Fail conductor startup if invalid defaults exist
d361d75 Add dynamic interfaces fields to base node notification
0071c7e Improve conductor driver validation at startup
ca87811 Remove iSCSI deploy support for IPA Mitaka
d7eb416 Do not change admin_state for tenant port
2a086db Use delay configoption for ssh.SSHPower drivers
c44acd8 Add the timeout parameter to relevant methods in the fake power interface
3284cd9 Adding clean-steps via json string examples
adf917e Allow duplicate execution of update node DB api method
9efaed6 Remove deprecated heartbeat policy check
4b28af4 Add sem-ver flag so pbr generates correct version
a1a3e2e Fix a few docstring warnings
2a9e4a5 Remove deprecated [deploy]erase_devices_iterations
308f00b Remove support for driver object periodic tasks
94bd464 Log reason for hardware type registration failure
e0affc1 Duplicated code in ..api.get_active_driver_dict()
6855ab1 Add hardware type 'irmc' for FUJITSU PRIMERGY servers
ee390e0 Allow using resource classes
7e7ef60 DevStack: Only install edk2-ovmf on Fedora
d602bb5 [Devstack] Add stack user to libvirt group
53a4aa9 Add soft reboot, soft power off and power timeout to api-ref
8570bee Add dynamic interfaces fields to nodes API
e776757 Add dynamic driver functionality to REST API
0ed2de5 [Devstack] Download both disk and uec images
4ac18de [Devstack] Set DEFAULT_IMAGE_NAME variable
e095bea Update the outdated link in user-guide
3a91daf Add Inject NMI to api-ref
cbdf507 Don't override device_owner for tenant network ports
56570b1 Validate port info before assume we may use it
ab48843 Switch to decorators.idempotent_id
5bb3adf Updated from global requirements
1f1e4b3 Minor updates to multi-tenancy documentation
25a536b Follow-up iRMC driver doc update
b1b86b6 Devstack: Create a "no ansi" logfile for the baremetal console logs
7975443 Add hardware type for IPMI using ipmitool
919e12d [Devstack] enable only pxe|agent_ipmitool by default
401f782 Update iRMC driver doc for soft reboot and soft power off
9ed1d1b Fix broken link in the iLO driver docs
6eab337 DevStack: Fix cleaning up nodes with NVRAM (UEFI)
d2a4dca iRMC power driver for soft reboot and soft power off
eb5a7bf Update proliantutils version required for Ocata release
07d4f4e Fix rel note format of the new feature Inject NMI
c46b720 iRMC management driver for Inject NMI
4c61f1a Revert "Revert "Remove ClusteredComputeManager""
b6ccb4b Use context manager for better file handling
f701719 Updated from global requirements
8de489a Fix typo in the metrics.rst file
3f7d482 Allow to use no nova installation
eae8e07 Fix api-ref warnings
1dc1540 Turn NOTE into docstring
1f2e743 Updated from global requirements
ee6bfb3 Correctly cache "abortable" flag for manual clean steps
638d8dd Use global vars for storing image deploy path's
22a3a5a Ipmitool management driver for Inject NMI
58d59db Generic management I/F for Inject NMI
d46ab0d Clean up driver_factory.enabled_supported_interfaces
3c45f2f Add hardware types to the hash ring
078fb81 Default ironic to not use nested KVM
7bfd88a Do not use user token in neutron client
72adb4f Use only Glance V2 by default (with a compatibility option)
3d22fa4 Enable manual-management hardware type in devstack
b7e6b73 Register/unregister hardware interfaces for conductors
22dcfc6 Validate the generated swift temp url
b08e536 Move to tooz hash ring implementation
77d1537 Add VIFs attach/detach to api-ref
07686f4 DevStack: Configure nodes/environment to boot in UEFI mode
1e162bf Add tests for Payloads with SCHEMAs
70504de make sure OVS_PHYSICAL_BRIDGE is up before bring up vlan interface
98aa3bb Update troubleshooting docs on no valid host found error
472abf4 Expose default interface calculation from driver_factory
ac90e73 Add default column to ConductorHardwareInterfaces
56604b9 Do not fail in Inspector.__init__ if [inspector]enabled is False
e72e68e Use TENANT_VIF_KEY constant everywhere
713a440 Updated from global requirements
b83af0d Allow to attach/detach VIF to portgroup
bf88706 Refactor DRAC driver boot-device tests
9012f52 Updated from global requirements
e63cd08 Remove check for UEFI + Whole disk images
f88f8dc Updated from global requirements
3a5e334 Update validate_ports from BaremetalBasicOps
ed6c599 Ipmitool power driver for soft reboot and soft power off
76b9170 Allow to set min,max API microversion in tempest
6d489ef Skip VIF api tests for old api versions
daa17e0 Fix assertEqual parmeters position in unittests
2505cb5 Ensures that OneView nodes are free for use by Ironic
39fe7c7 Move default image logic from DevStack to Ironic
df711ea Document HCTL for root device hints
eeababf Removes unnecessary utf-8 encoding
4789d3b Add Virtual Network Interface REST APIs
1bc5bbc Fix logging if power interface does not support timeout
79c0c8e Add lsblk to ironic-lib filters
6fa1421 Fix setting persistent boot device does not work
d9e1750 Updated from global requirements
bbd0e96 Add docs about creating release note when metrics change
79010d6 Fix take over of ACTIVE nodes in AgentDeploy
035ad6a Fix take over for ACTIVE nodes in PXEBoot
cf5eddd Don't translate exceptions w/ no message
41da55c Correct logging of loaded drivers/hardware types/interfaces
5130a3c Move baremetal tempest config setting from devstack
18acfae Change object parameter of swift functions
710254d Remove greenlet useless requirement
4b4a44f Fixes grammar in the hash_partition_exponent description
dc673e3 Revert "Disable placement-api by default"
36bd923 Remove service argument from tempest plugin client manager
f8e1bc2 Fix the comma's wrong locations.
a4b2954 Remove netaddr useless requirement
f15d5b9 Generic power interface for soft reboot and soft power off
4fa2412 Create a table to track loaded interfaces
480d5be Remove trailing backtick
40870e4 Updated from global requirements
cc88ce1 Remove 'fork' option from socat command
01374ad Add Virtual Network Interface RPC APIs
3467da6 Catch unknown exceptions in validate driver ifaces
be6f34c Disable placement-api by default
e7eb1e6 Update regenerate-samples.sh api-ref script
557469b Updated from global requirements
9088891 Add Virtual Network Interface Driver APIs
065326c 'updated_at' field value after node is updated
294f974 Add node console notifications
876db5a Add node maintenance notifications
499ef55 Add ironic resources CRUD notifications
9cd777f Auto-set nullable notification payload fields when needed
75bc194 Update dev-quickstart: interval value cannot be -1
053d4af Fix wrong exception message when deploy failed
c491e93 Add storage_interface to base driver class
7556dc6 Update multi-tenancy documentation
fa200aa Add storage_interface to node DB table
519bb0c Add API reference for portgroup's mode and properties
c756e7d Set access_policy for messaging's dispatcher
43fefe9 Add a NodePayload test
f6b28b3 Add test to ensure policy is always authorized
fd3c5e9 Fix bashate warning in devstack plugin
ef818b7 Forbid removing portgroup mode
88171fc Configure tempest for multitenancy/flat network
65b42a3 Wrap iscsi portal in []'s if IPv6
633abbe Fix policy dict checkers
36e92d9 Updated from global requirements
2777814 Introduce generic hardware types
318b763 Remove grenade config workaround
cce4281 Add portgroup configuration fields
1018fd5 Onetime boot when set_boot_device isn't persistent
3cc3602 Revert "Change liberty's reno page to use the tag"
75b90a5 Update multitenancy docs
eb04079 Use oslo_serialization.base64 to follow OpenStack Python3
9f7e694 Updated from global requirements
9011711 Support defining and loading hardware types
7611c4f Change liberty's reno page to use the tag
e6349f2 DevStack: Make $IRONIC_IMAGE_NAME less dependent of the name in DevStack
0f37379 Fix error when system uses /usr/bin/qemu-kvm, as in CentOS 7.2.
acfe366 Adds another validation step when using dynamic allocation
1198811 Fix return values in OneView deploy interface
0e3dd59 Clarify the comment about the object hashes
83b2d56 Reusing oneview_client when possible
a807394 Enhance wait_for_bm_node_status waiter
a3803b4 Use polling in set_console_mode tempest test
f13f1ed Make CONF.debug also reflect on IPA
30a4340 Fail ironic startup if no protocol prefix in ironic api address
5eb4ba2 Remove agent vendor passthru completely
87c2db4 Remove iBoot, WoL and AMT drivers
cf81c49 Remove agent vendor passthru from OneView drivers
8ad0a42 Move CONF.service_available.ironic to our plugin
95da9dc devstack: add vnc listen address
f31c8c7 Autospec ironic-lib mocks, fix test error string
e806cf7 Remove deprecation of snmp drivers
82d7c8c Allow setting dhcp_provider in devstack
8bcee6e Fix default value of "ignore_req_list" config option
ff4d6d1 Add unit test for create_node RPC call
27b2453 Documentation for Security Groups for baremetal servers
679edb4 Remove agent vendor passthru from iLO drvers
efca39e Updated from global requirements
1f605a2 Add release names & numbers to API version history
e276418 Remove the VALID_ROOT_DEVICE_HINTS list
a581c1e Make "enabled_drivers" config option more resilient to failures
fd41da7 Fix double dots at the end of a message to single dot
c7763a7 Clean up object code
349a4dd Use IronicObject._from_db_object_list method
ea55db7 Update help for 'provisioning_network' option
5514cee Updated from global requirements
1a4f342 Add virtualpdu to ironic devstack plugin
733e509 Auto enable the deploy driver
f11d3de Add volume_connectors and volume_targets to task
bd06102 Renaming audit map conf sample file
b6a2919 Support names for {cleaning,provisioning}_network
db0612f Allow use *_ipmitool with vbmc on multinode
aab505a Add RPCs to support volume target operations
237942f Fix import method to follow community guideline
f766bba Add VolumeTarget object
9606ac9 Unneeded testing in DB migration of volume connector
0754104 Add volume_targets table to database
3cbe720 Cleanup adding Ironic to cluster on upgrade case
6e98115 Move interface validation from API to conductor side
cf595d2 Update the links in iLO documentation
0da98de Turn off tempest's multitenant network tests
bbbe001 Make all IronicExceptions RPC-serializable
c81b385 Do not source old/localrc twise in grenade
9a8ac08 Fix docs error about OOB RAID support
206e246 Remove agent vendor passthru from most drivers
6d63e33 Follow-up for volume connector db_id
ae73b8e Remove file prefix parameter from lockutils methods
6aea212 Install syslinux package only for Wheezy / Trusty
f123e4e Show team and repo badges on README
2a844e6 Drac: Deprecate drac_host property
9f7b432 Update keystone_authtoken configuration sample in the install guide
20fe263 Add RPCs to support volume connector operation
bc7daf9 Add VolumeConnector object
a82a0ce Add volume_connectors table to save connector information
49e65b9 Minor changes to neutron security groups code
87910d3 Drop bad skip check in tempest plugin
f66495b Correct DB Interface migration test
b560f6e Updated from global requirements
3197e44 Add support for Security Groups for baremetal servers
ca585be mask private keys for the ssh power driver.
a9a1293 Remove deprecated Neutron DHCP provider methods
a9804c7 Add notification documentation to install guide
f7a8a2c Fix the message in the set_raid_config method
687a16b Convert iPXE boot script to Jinja template
d21564e Fix PXE setup for fresh Ubuntu Xenial
9e938f2 Add node (database and objects) fields for all interfaces
f03f3fe Move `deploy_forces_oob_reboot` to deploy drivers
ff4c11e Add route to Neutron private network
c8d5188 Rely on portgroup standalone_ports_supported
50a2f50 Add node provision state change notification
42c7c48 Update the alembic migration section in the developer FAQ
cb2971b Add notification documentation to administrator's guide
c5ab2fd Revert "Remove ClusteredComputeManager"
7434904 Remove ClusteredComputeManager
7d736d1 Followup to 0335e81a8787
1aaf219 Update iptables rules and services IPs for multinode
5e50f3a Add devstack setup_vxlan_network()
4cb95b7 Skip some steps for multinode case
2c76da5 Timing metrics: iRMC drivers
d713798 Use function is_valid_mac from oslo.utils
45b85e5 Docs: Document using operators with root device hints
0335e81 Add portgroup to api-ref
e299ef2 Updated from global requirements
3eba764 Add user and project domains to ironic context
ab6f73f Bring configurations from tempest to ironic_tempest_plugin
c0bdda9 Do not pass ipa-driver-name as kernel parameter
bcf137b Timing metrics: OneView drivers
2f960c4 Add unit test for microversion validator
2cf50d4 Update ironic node names for multinode case
485259c Update devstack provision net config for multihost
f85357f Add CI documentation outline
1f61654 Add possibility to remove chassis_uuid from a node
7591dce Create dummy interfaces for use with hardware types
492e67a [install-guide] describe service clients auth
565a0ed Simplify base interfaces in ironic.drivers.base
dd57ed5 Integrate portgroups with ports to support LAG
e34dded Updated from global requirements
a788fd7 Increase verbosity of devstack/lib/ironic
8b68944 Update to hacking 0.12.0 and use new checks
a78097b Add PS4 for better logfile information of devstack runs
7132ea7 Update guide section for messaging setup
4622922 Updated from global requirements
c4aa8e9 Replaces uuid.uuid4 with uuidutils.generate_uuid()
f13959c Enable PXE for systems using petitboot
f653587 Fix typo of 'authenticaiton'
c23a3c6 Add a unit test for microversion validation V1.22
ec581fc Clean up unit test of API root test
2f201d0 DevStack: Fix standard PXE on Ubuntu Xenial
98596ca Skip db configuration on subnodes
38f38fb Ignore required_services for multinode topology
a731037 Add PortGroups API
793e2b1 DevStack: Support for creating UEFI VMs
6893d23 Updated from global requirements
d5a0321 Clarify ironic governance requirements and process
e0fd53d API: lookup() ignore malformed MAC addresses
a7558dc TrivialFix: Fix typo in config file
6d6cf18 DRAC get_bios_config() passthru causes exception
395307f Fix exception handling in iscsi_deploy.continue_deploy
a084661 Log currently known iSCSI devices when we retry waiting for iSCSI target
0036d83 Use kvm for ironic VMs when possible
a0b316c Correct log the node UUID on failure
f4f3edc Updated from global requirements
7920e29 Change 'writeable' to 'writable'
c88ed33 Add the way to get the deploy ram disks
3c54dd5 Remove use of 'vconfig' command in devstack ironic script
729dcf6 Imported Translations from Zanata
0831698 Updated from global requirements
d92425d Revert "Set SUBNETPOOL_PREFIX_V4 to FIXED_RANGE"
15cc079 Fix typo in release note filename
a23454d Use function import_versioned_module from oslo.utils
c2c2154 Updated from global requirements
42b2c60 Remove "dhcp" command from the iPXE template
0acbf37 IPMI command should depend on console type
d5e24cf Trivial fix of notifications doc
ce46c43 Mock ironic-lib properly in test_deploy_utils
8407c27 Remove ..agent.build_instance_info_for_deploy() in Pike
6cc31f7 Trivial: fix typo in docstring
c073fb7 Add a missing error check in ipmitool driver's reboot
f91d83a Adding Timing metrics for DRAC drivers.
128c025 Remove 'agent_last_heartbeat' from node.driver_internal_info
ff32b51 Add power state change notifications
57821e7 Skip create_ovs_taps() for multitenancy case
a85d6a3 Remove unnecessary '.' before ':' in ironic rst
aa2e5d4 Updated from global requirements
7972932 Imported Translations from Zanata
2383d8d Replace parse_root_device_hints with the ironic-lib version one
50c7fdc Fixes parameters validation in SSH power manager.
14af219 Fix API docs to include API version history
ab968fc fix a typo in document
71964aa Updated from global requirements
168d48e Update guide for PXE multi-architecture setup
7dc74ab Remove "agent_last_heartbeat" internal field from agent drivers
e38cb77 No need to clear "target_provision_state" again from conductor
15eb6a3 Trivial: fix warning message formatting
af4b59c Updated from global requirements
b44438a Fix some typos
4852772 Add docs about releasing ironic projects
3110fa8 Fix unit tests failing with ironic-lib 2.1.1
340a5fa Do not hide unexpected exceptions in inspection code
53521b6 Avoid name errors in oneview periodics
10260a1 A few fixes in Multitenancy document
93f947c Introduce default_boot_option configuration option
e7190ea Fix broken xenial job
5194f41 Fix setting custom IRONIC_VM_NETWORK_BRIDGE
de9e581 Update configure_tenant_networks
95835f0 Remove wrong check from conductor periodic task
4aaba69 Remove reservation from sync power states db filter
65ab6b3 Fix a typo in deploy.py
5fd26a0 Updated from global requirements
187b5dc Clarify when oneview node can be managed by ironic
2662e1f Add tense guide to release note FAQ
cf38535 Refactor _test_build_pxe_config_options tests
70a35ad Imported Translations from Zanata
7365864 OneView driver docs explaining hardware inspection
e18aec6 Enable release notes translation
222bd10 Clean up provision ports when reattempting deploy
63b76e8 Remove unnecessary option from plugin settings
fb70e05 Cleanup unused (i)PXE kernel parameters
183d1d5 Set SUBNETPOOL_PREFIX_V4 to FIXED_RANGE
516f434 Enable DeprecationWarning in test environments
33c62a1 Fix _lookup() method for node API routing
ab0630b Log node state transitions at INFO level
55064d9 Update ironic config docs for keystone v3
e3fa4a9 Clean exceptions handling in conductor manager
dc5ce80 Move build_instance_info_for_deploy to deploy_utils
83b0e62 Fix undisplayed notes in Quick-Start
602790a Keep numbering of list in Install Guide
a04aeca Add description for vendor passthru methods
a48f317 [install-guide] describe pxe.ipxe_swift_tempurl
d8aaf13 Fix docstrings in tempest plugin baremetal json client
f17dd1f Add entry_point for oslo policy scripts
b821271 Remove unneeded exception handling from conductor
e53be99 Remove unused methods in common/utils.py
2671ceb Do not use mutable object as func default param
66a0812 Trivial: Fix some typos in comments and docstring
eadbe87 doc: Add oslo.i18n usage link
e3ad6af Replace assertTrue(isinstance()) with assertIsInstance()
264efcd Fix typo: remove redundant 'the'
f8ff1b2 Support multi arch deployment
9d068c8 Updated from global requirements
8279341 Use method delete_if_exists from oslo.utils
338e454 Use assertRaises() instead of fail()
b6e2a4f Cleanup get_ilo_license()
c1e0fec Fix grenade jobs
849f0e9 Add a missing whitespace to an error message
d1d2b02 Invalid URL and Typo in enrollment.rst
40aafa6 Update configuration reference link to latest draft
10a495a Update external links to developer documentation
9d86090 Fail test if excepted error was not raised
b786054 Add inspection feature for the OneView drivers
cb71a38 Use correct option value for standalone install
e388c3e Move flavor create under 'VIRT_DRIVER == ironic'
7c01efd Change links to point to new install guide
fde5d2c Fix inexact config option name in multitenancy.rst
0355c13 Fix typos in docstring/comments
3cedd6f Have bashate run for entire project
e4b08df Change 'decom' to clean/cleaning
04fe0ee Fix docstring typo in test_common.py
664b53c Fix invalid git url in devstack/local.conf sample
653a4ef Fix absolute links to install-guide.rst in developer docs
fa7b21a Update developer's guide "Installation Guide" link
53251b8 Add link to new guide in old install guide
ecc2406 Fixing Typo
b9b8ce7 [install-guide] Import "Setup the drivers for the Bare Metal service"
bf92678 [install-guide] Import "Trusted boot with partition image"
f4a6dc7 [install-guide] Import "Building or downloading a deploy ramdisk image"
240ee8f [install-guide] Import "Appending kernel parameters to boot instances"
279dd75 [install-guide] Import configdrive
6394c27 [install-guide] Import HTTPS, standalone and root device hints
0445213 [install-guide] Import "Enrollment" and "Troubleshooting" sections
123b545 [install-guide] Import "Local boot with partition images"
a999683 [install-guide] Import "Flavor creation"
21e7fc3 [install-guide] Import "Image requirements"
fb027ec [install-guide] Import "integration with other OpenStack components"
e26c71b [install-guide] Import Install and configure sections
7131037 [install-guide] Import "Bare Metal service overview"
2db3e7d Remove unused method is_valid_ipv6_cidr
f584606 Support https in devstack plugin
a896dec Use six.StringIO instead of six.moves.StringIO
cddb0be Remove unneeded try..except in heartbeat
298c03c Fix a typo in helper.py
264ab54 Add more details to MIGRATIONS_TIMEOUT note
f9f318e Fixes wrong steps to perform migration of nodes
8813fc5 Increase timeout for migration-related tests
2ba7a9d Update reno index for Newton
6b776e4 Add i18n _() to string
e434225 Change the logic of selecting image for tests
d42a94a Always return chassis UUID in node's API representation
ab71741 Updated from global requirements
d84e95a Fix iLO drivers to not clear local_gb if its not detected
67e29f4 Fix DRAC passthru 'list_unfinished_jobs' desc
d4d2183 DevStack: Use Jinja2 for templating when creating new VMs
071a263 Documentation change for feature updates in iLO drivers.
adb8bce Remove unused argument in Tempest Plugin
d77ba4a Fix docstrings to match with method arguments
2270260 [api-ref] Correcting type of r_addresses parameter
cf11b48 iLO drivers documentation update
Diffstat (except docs and test files)
-------------------------------------
README.rst | 9 +
api-ref/regenerate-samples.sh | 115 +-
api-ref/source/baremetal-api-v1-chassis.inc | 7 +-
api-ref/source/baremetal-api-v1-drivers.inc | 80 +-
api-ref/source/baremetal-api-v1-misc.inc | 2 +-
.../source/baremetal-api-v1-node-management.inc | 43 +-
.../source/baremetal-api-v1-nodes-portgroups.inc | 101 +
api-ref/source/baremetal-api-v1-nodes-vifs.inc | 76 +
api-ref/source/baremetal-api-v1-nodes.inc | 76 +-
.../source/baremetal-api-v1-portgroups-ports.inc | 98 +
api-ref/source/baremetal-api-v1-portgroups.inc | 275 +++
api-ref/source/baremetal-api-v1-ports.inc | 14 +
api-ref/source/conf.py | 2 +-
api-ref/source/index.rst | 4 +
api-ref/source/parameters.yaml | 337 ++-
api-ref/source/samples/api-root-response.json | 4 +-
api-ref/source/samples/api-v1-root-response.json | 10 +
.../samples/chassis-list-details-response.json | 2 +-
api-ref/source/samples/chassis-show-response.json | 2 +-
.../source/samples/chassis-update-response.json | 4 +-
api-ref/source/samples/driver-get-response.json | 52 +-
.../samples/drivers-list-detail-response.json | 160 ++
api-ref/source/samples/drivers-list-response.json | 63 +-
.../samples/node-create-request-classic.json | 8 +
.../samples/node-create-request-dynamic.json | 9 +
api-ref/source/samples/node-create-request.json | 8 -
api-ref/source/samples/node-create-response.json | 25 +-
.../source/samples/node-get-state-response.json | 2 +-
api-ref/source/samples/node-inject-nmi.json | 1 +
.../source/samples/node-port-detail-response.json | 5 +-
.../samples/node-portgroup-detail-response.json | 37 +
.../samples/node-portgroup-list-response.json | 19 +
api-ref/source/samples/node-set-power-state.json | 3 -
.../source/samples/node-set-soft-power-off.json | 4 +
api-ref/source/samples/node-show-response.json | 27 +-
.../source/samples/node-states-show-response.json | 11 -
.../samples/node-update-driver-info-response.json | 29 +-
.../source/samples/node-vif-attach-request.json | 3 +
api-ref/source/samples/node-vif-list-response.json | 7 +
.../samples/nodes-list-details-response.json | 109 +-
api-ref/source/samples/nodes-list-response.json | 20 +-
api-ref/source/samples/port-create-request.json | 3 +-
api-ref/source/samples/port-create-response.json | 3 +-
.../source/samples/port-list-detail-response.json | 3 +-
api-ref/source/samples/port-update-response.json | 5 +-
.../source/samples/portgroup-create-request.json | 5 +
.../source/samples/portgroup-create-response.json | 33 +
.../samples/portgroup-list-detail-response.json | 37 +
.../source/samples/portgroup-list-response.json | 19 +
.../samples/portgroup-port-detail-response.json | 30 +
.../samples/portgroup-port-list-response.json | 18 +
.../source/samples/portgroup-update-request.json | 7 +
.../source/samples/portgroup-update-response.json | 33 +
devstack/files/debs/ironic | 16 +-
devstack/files/hooks/qemu | 13 -
devstack/files/hooks/qemu.py | 102 +
devstack/files/rpms/ironic | 2 +
devstack/lib/ironic | 839 +++++--
devstack/plugin.sh | 7 +-
devstack/settings | 14 +-
devstack/tools/ironic/scripts/cleanup-node.sh | 5 +-
devstack/tools/ironic/scripts/configure-vm.py | 32 +-
devstack/tools/ironic/scripts/create-node.sh | 31 +-
devstack/tools/ironic/scripts/setup-network.sh | 9 +-
devstack/tools/ironic/templates/vm.xml | 47 +-
devstack/upgrade/resources.sh | 29 +-
devstack/upgrade/settings | 13 +
devstack/upgrade/upgrade.sh | 50 +-
driver-requirements.txt | 20 +-
etc/ironic/api_audit_map.conf.sample | 29 +
etc/ironic/ironic.conf.sample | 816 +++++--
etc/ironic/ironic_api_audit_map.conf.sample | 29 -
etc/ironic/policy.json.sample | 24 +-
etc/ironic/rootwrap.conf | 8 +-
etc/ironic/rootwrap.d/ironic-images.filters | 2 +-
etc/ironic/rootwrap.d/ironic-lib.filters | 3 +-
etc/ironic/rootwrap.d/ironic-utils.filters | 2 +-
install-guide/source/advanced.rst | 14 +
install-guide/source/common_prerequisites.rst | 6 -
install-guide/source/conf.py | 4 +-
install-guide/source/configdrive.rst | 116 +
install-guide/source/configure-cleaning.rst | 37 +
install-guide/source/configure-integration.rst | 13 +
install-guide/source/configure-port-groups.rst | 8 +
install-guide/source/configure-tenant-networks.rst | 8 +
install-guide/source/deploy-ramdisk.rst | 98 +
install-guide/source/enabling-https.rst | 89 +
install-guide/source/enrollment.rst | 398 +++
install-guide/source/get_started.rst | 77 +-
install-guide/source/include/common-configure.rst | 12 +
.../source/include/common-prerequisites.rst | 29 +
.../source/include/configure-glance-images.rst | 127 +
.../source/include/configure-identity.rst | 93 +
.../include/configure-ironic-api-mod_wsgi.rst | 63 +
.../source/include/configure-ironic-api.rst | 89 +
.../source/include/configure-ironic-conductor.rst | 190 ++
.../source/include/configure-neutron-networks.rst | 111 +
.../source/include/configure-nova-compute.rst | 120 +
.../source/include/configure-nova-flavors.rst | 39 +
.../source/include/kernel-boot-parameters.rst | 69 +
.../source/include/local-boot-partition-images.rst | 59 +
install-guide/source/include/notifications.rst | 16 +
install-guide/source/include/root-device-hints.rst | 93 +
install-guide/source/include/trusted-boot.rst | 71 +
install-guide/source/index.rst | 35 +-
install-guide/source/install-obs.rst | 17 +-
install-guide/source/install-rdo.rst | 36 +-
install-guide/source/install-ubuntu.rst | 25 +-
install-guide/source/install.rst | 6 +-
install-guide/source/next-steps.rst | 3 +-
install-guide/source/setup-drivers.rst | 613 +++++
install-guide/source/standalone.rst | 169 ++
install-guide/source/troubleshooting.rst | 126 +
install-guide/source/verify.rst | 9 -
ironic/api/config.py | 3 -
ironic/api/controllers/base.py | 2 +-
ironic/api/controllers/v1/__init__.py | 12 +
ironic/api/controllers/v1/chassis.py | 45 +-
ironic/api/controllers/v1/driver.py | 167 +-
ironic/api/controllers/v1/node.py | 399 ++-
ironic/api/controllers/v1/notification_utils.py | 155 ++
ironic/api/controllers/v1/port.py | 260 +-
ironic/api/controllers/v1/portgroup.py | 554 +++++
ironic/api/controllers/v1/ramdisk.py | 36 +-
ironic/api/controllers/v1/types.py | 53 +-
ironic/api/controllers/v1/utils.py | 180 +-
ironic/api/controllers/v1/versions.py | 21 +-
ironic/api/hooks.py | 89 +-
ironic/common/context.py | 69 +-
ironic/common/dhcp_factory.py | 2 +-
ironic/common/driver_factory.py | 399 ++-
ironic/common/exception.py | 173 +-
ironic/common/fsm.py | 2 -
ironic/common/glance_service/base_image_service.py | 4 +-
ironic/common/hash_ring.py | 115 +-
ironic/common/i18n.py | 6 +
ironic/common/image_service.py | 25 +-
ironic/common/images.py | 4 +-
ironic/common/network.py | 12 +-
ironic/common/neutron.py | 197 +-
ironic/common/policy.py | 59 +-
ironic/common/pxe_utils.py | 62 +-
ironic/common/rpc.py | 5 +-
ironic/common/states.py | 9 +
ironic/common/swift.py | 56 +-
ironic/common/utils.py | 227 +-
ironic/conductor/base_manager.py | 133 +-
ironic/conductor/manager.py | 777 ++++--
ironic/conductor/notification_utils.py | 178 ++
ironic/conductor/rpcapi.py | 218 +-
ironic/conductor/task_manager.py | 86 +-
ironic/conductor/utils.py | 164 +-
ironic/conf/__init__.py | 8 -
ironic/conf/amt.py | 48 -
ironic/conf/audit.py | 9 +-
ironic/conf/auth.py | 6 +-
ironic/conf/conductor.py | 24 +-
ironic/conf/default.py | 116 +-
ironic/conf/deploy.py | 10 +-
ironic/conf/glance.py | 3 +
ironic/conf/iboot.py | 42 -
ironic/conf/inspector.py | 4 +-
ironic/conf/irmc.py | 3 +
ironic/conf/neutron.py | 37 +-
ironic/conf/opts.py | 5 +-
ironic/conf/pxe.py | 12 +-
ironic/conf/seamicro.py | 34 -
ironic/conf/virtualbox.py | 27 -
ironic/db/api.py | 257 +-
.../1a59178ebdf6_add_volume_targets_table.py | 51 +
...51876d68_add_storage_interface_db_field_and_.py | 32 +
...cfae_add_conductor_hardware_interfaces_table.py | 47 +
...d8f27f235_add_portgroup_configuration_fields.py | 40 +
.../bcdd431ba0bf_add_fields_for_all_interfaces.py | 45 +
.../daa1ba02d98_add_volume_connectors_table.py | 48 +
.../dbefd6bdaa2c_add_default_column_to_.py | 35 +
ironic/db/sqlalchemy/api.py | 240 +-
ironic/db/sqlalchemy/models.py | 70 +
ironic/dhcp/base.py | 8 +-
ironic/dhcp/neutron.py | 99 +-
ironic/dhcp/none.py | 2 +
ironic/drivers/agent.py | 168 +-
ironic/drivers/base.py | 393 +--
ironic/drivers/drac.py | 15 +-
ironic/drivers/fake.py | 103 +-
ironic/drivers/fake_hardware.py | 77 +
ironic/drivers/generic.py | 91 +
ironic/drivers/hardware_type.py | 120 +
ironic/drivers/ilo.py | 1 -
ironic/drivers/ipmi.py | 131 +
ironic/drivers/irmc.py | 41 +-
ironic/drivers/modules/agent.py | 94 +-
ironic/drivers/modules/agent_base_vendor.py | 275 +--
ironic/drivers/modules/agent_client.py | 62 +-
ironic/drivers/modules/agent_config.template | 2 +-
ironic/drivers/modules/amt/__init__.py | 0
ironic/drivers/modules/amt/common.py | 232 --
ironic/drivers/modules/amt/management.py | 247 --
ironic/drivers/modules/amt/power.py | 250 --
ironic/drivers/modules/amt/resource_uris.py | 35 -
ironic/drivers/modules/amt/vendor.py | 30 -
ironic/drivers/modules/boot.ipxe | 4 +-
ironic/drivers/modules/console_utils.py | 14 +-
ironic/drivers/modules/deploy_utils.py | 349 ++-
ironic/drivers/modules/drac/common.py | 28 +-
ironic/drivers/modules/drac/deploy.py | 5 +
ironic/drivers/modules/drac/inspect.py | 10 +-
ironic/drivers/modules/drac/management.py | 8 +
ironic/drivers/modules/drac/power.py | 7 +
ironic/drivers/modules/drac/raid.py | 16 +-
ironic/drivers/modules/drac/vendor_passthru.py | 50 +-
.../drivers/modules/elilo_efi_pxe_config.template | 2 +-
ironic/drivers/modules/fake.py | 41 +-
ironic/drivers/modules/iboot.py | 257 --
ironic/drivers/modules/ilo/common.py | 122 +-
ironic/drivers/modules/ilo/deploy.py | 143 +-
ironic/drivers/modules/ilo/firmware_processor.py | 4 +-
ironic/drivers/modules/ilo/inspect.py | 20 +-
ironic/drivers/modules/ilo/vendor.py | 47 +-
ironic/drivers/modules/image_cache.py | 10 +-
ironic/drivers/modules/inspector.py | 4 -
ironic/drivers/modules/ipminative.py | 10 +-
ironic/drivers/modules/ipmitool.py | 206 +-
ironic/drivers/modules/ipxe_config.template | 4 +-
ironic/drivers/modules/irmc/boot.py | 8 +
ironic/drivers/modules/irmc/inspect.py | 6 +-
ironic/drivers/modules/irmc/management.py | 30 +-
ironic/drivers/modules/irmc/power.py | 184 +-
ironic/drivers/modules/iscsi_deploy.py | 57 +-
ironic/drivers/modules/msftocs/__init__.py | 0
ironic/drivers/modules/msftocs/common.py | 110 -
ironic/drivers/modules/msftocs/management.py | 121 -
ironic/drivers/modules/msftocs/msftocsclient.py | 176 --
ironic/drivers/modules/msftocs/power.py | 105 -
ironic/drivers/modules/network/common.py | 365 +++
ironic/drivers/modules/network/flat.py | 79 +-
ironic/drivers/modules/network/neutron.py | 97 +-
ironic/drivers/modules/network/noop.py | 61 +
ironic/drivers/modules/noop.py | 70 +
ironic/drivers/modules/oneview/common.py | 45 +-
ironic/drivers/modules/oneview/deploy.py | 186 +-
ironic/drivers/modules/oneview/deploy_utils.py | 133 +-
ironic/drivers/modules/oneview/inspect.py | 112 +
ironic/drivers/modules/oneview/management.py | 32 +-
ironic/drivers/modules/oneview/power.py | 48 +-
ironic/drivers/modules/oneview/vendor.py | 112 -
ironic/drivers/modules/pxe.py | 204 +-
ironic/drivers/modules/pxe_config.template | 2 +-
ironic/drivers/modules/pxe_grub_config.template | 2 +-
ironic/drivers/modules/seamicro.py | 663 -----
ironic/drivers/modules/ssh.py | 42 +-
ironic/drivers/modules/storage/__init__.py | 0
ironic/drivers/modules/storage/noop.py | 32 +
ironic/drivers/modules/ucs/helper.py | 2 +-
ironic/drivers/modules/virtualbox.py | 393 ---
ironic/drivers/modules/wol.py | 180 --
ironic/drivers/oneview.py | 9 +-
ironic/drivers/pxe.py | 227 +-
ironic/drivers/utils.py | 5 +-
.../locale/fr/LC_MESSAGES/ironic-log-critical.po | 15 +-
ironic/locale/fr/LC_MESSAGES/ironic-log-info.po | 506 ++++
ironic/locale/ja/LC_MESSAGES/ironic.po | 123 +-
ironic/nova/__init__.py | 0
ironic/nova/compute/__init__.py | 0
ironic/nova/compute/manager.py | 122 -
ironic/objects/__init__.py | 2 +
ironic/objects/base.py | 14 +
ironic/objects/chassis.py | 47 +-
ironic/objects/conductor.py | 32 +-
ironic/objects/fields.py | 17 +
ironic/objects/node.py | 309 ++-
ironic/objects/notification.py | 47 +-
ironic/objects/port.py | 69 +-
ironic/objects/portgroup.py | 31 +-
ironic/objects/volume_connector.py | 240 ++
ironic/objects/volume_target.py | 236 ++
.../notes/fix-socat-command-afc840284446870a.yaml | 8 +
.../unit/conductor/test_notification_utils.py | 223 ++
.../unit/drivers/elilo_efi_pxe_config.template | 2 +-
.../unit/drivers/ipxe_config_timeout.template | 4 +-
.../unit/drivers/modules/amt/test_management.py | 242 --
.../unit/drivers/modules/drac/test_management.py | 60 +-
.../unit/drivers/modules/irmc/test_management.py | 33 +
.../unit/drivers/modules/msftocs/test_common.py | 110 -
.../drivers/modules/msftocs/test_management.py | 132 -
.../drivers/modules/msftocs/test_msftocsclient.py | 182 --
.../unit/drivers/modules/msftocs/test_power.py | 163 --
.../unit/drivers/modules/network/test_common.py | 901 +++++++
.../unit/drivers/modules/network/test_flat.py | 150 +-
.../unit/drivers/modules/network/test_neutron.py | 225 +-
.../unit/drivers/modules/oneview/test_common.py | 24 +-
.../unit/drivers/modules/oneview/test_deploy.py | 914 ++++++-
.../drivers/modules/oneview/test_deploy_utils.py | 147 +-
.../unit/drivers/modules/oneview/test_inspect.py | 101 +
.../drivers/modules/oneview/test_management.py | 72 +-
.../unit/drivers/modules/oneview/test_power.py | 54 +-
.../unit/drivers/modules/oneview/test_vendor.py | 251 --
.../unit/drivers/modules/test_agent_base_vendor.py | 376 +--
.../unit/drivers/modules/test_agent_client.py | 102 +-
.../unit/drivers/modules/test_deploy_utils.py | 1086 ++++-----
.../unit/drivers/modules/test_iscsi_deploy.py | 163 +-
.../unit/drivers/modules/ucs/test_management.py | 1 -
.../unit/drivers/third_party_driver_mock_specs.py | 35 +-
ironic_tempest_plugin/clients.py | 14 +-
ironic_tempest_plugin/common/waiters.py | 38 +-
ironic_tempest_plugin/config.py | 66 +-
ironic_tempest_plugin/plugin.py | 2 +
ironic_tempest_plugin/services/baremetal/base.py | 27 +-
.../services/baremetal/v1/json/baremetal_client.py | 45 +-
..._uuid-removal-possibility-8b06341a91f7c676.yaml | 5 +
...ror-check-ipmitool-reboot-ca7823202c5ab71d.yaml | 4 +
...pxe-support-for-petitboot-50d1fe4e7da4bfba.yaml | 6 +
...d-snmp-inspection-support-e68fd6d57cb33846.yaml | 18 +
.../add-storage-interface-d4e64224804207fc.yaml | 6 +
.../notes/add-tooz-dep-85c56c74733a222d.yaml | 6 +
...vif-attach-detach-support-99eca43eea6e5a30.yaml | 15 +
.../add_portgroup_support-7d5c6663bb00684a.yaml | 21 +
...one_ports_supported_field-4c59702a052acf38.yaml | 6 +-
.../adding-audit-middleware-b95f2a00baed9750.yaml | 4 +-
.../notes/agent-takeover-60f27cef21ebfb48.yaml | 4 +
...lways-return-chassis-uuid-4eecbc8da2170cb1.yaml | 5 +
.../notes/bug-1607527-75885e145db62d69.yaml | 4 +
.../notes/bug-1611555-de1ec64ba46982ec.yaml | 4 +
.../notes/bug-1611556-92cbfde5ee7f44d6.yaml | 3 +
.../notes/bug-1626453-e8df46aa5db6dd5a.yaml | 5 +
.../notes/bug-1648387-92db52cbe007fabd.yaml | 4 +
.../build_instance_info-c7e3f12426b48965.yaml | 6 +
...river-validate-exceptions-94ed2a91c50d2d8e.yaml | 4 +
...e-updated-at-object-field-a74466f7c4541072.yaml | 4 +
...for-whole-disk-image-uefi-3bf2146588de2423.yaml | 6 +
...k_protocol_for_ironic_api-32f35c93a140d3ae.yaml | 8 +
...vision-ports-before-retry-ec3c89c193766d70.yaml | 6 +
.../notes/conf-debug-ipa-1d75e2283ca83395.yaml | 6 +
...omain-id-name-deprecation-ae6e40718273be8d.yaml | 10 +
.../create-on-conductor-c1c52a1f022c4048.yaml | 11 +
.../default_boot_option-f22c01f976bc2de7.yaml | 9 +
...e-dhcp-update-mac-address-f12a4959432c8e20.yaml | 25 +
...passthru-causes-exception-1e1dbeeb3e924f29.yaml | 7 +
.../drac_host-deprecated-b181149246eecb47.yaml | 5 +
...tion-spt-has-physical-mac-8967a1d926ed9301.yaml | 9 +
...mic-driver-list-show-apis-235e9fca26fc580d.yaml | 88 +
...resilient-enabled_drivers-4e9c864ed6eaddd1.yaml | 6 +
...en-vif-port-id-is-missing-7640669f9d9e705d.yaml | 5 +
...in-user-not-neutron-admin-f163df90ab520dad.yaml | 5 +
.../fix-net-ifaces-rebuild-1cc03df5d37f38dd.yaml | 5 +
...view-deploy-return-values-ab2ec6ae568d95a5.yaml | 5 +
.../fix-oneview-periodics-0f535fe7a0ad83cd.yaml | 4 +
.../fix-policy-checkers-1a08203e3c2cf859.yaml | 4 +
.../notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml | 9 +
.../notes/fix-vif-detach-fca221f1a1c0e9fa.yaml | 5 +
releasenotes/notes/glance-v2-83b04fec247cd22f.yaml | 7 +
.../hctl-root-device-hints-0cab86673bc4a924.yaml | 4 +
.../notes/ilo-fix-inspection-b169ad0a22aea2ff.yaml | 5 +
.../notes/inject-nmi-dacd692b1f259a30.yaml | 6 +
.../notes/inspection-logging-e1172f549ef80b04.yaml | 4 +
.../notes/inspector-enabled-f8a643f03e1e0360.yaml | 7 +
...pmi-cmd-for-ipmi-consoles-2e1104f22df3efcd.yaml | 3 +
.../notes/ipv6-provision-67bd9c1dbcc48c97.yaml | 3 +
releasenotes/notes/ipxe-dhcp-b799bc326cd2529a.yaml | 4 +
...kup-ignore-malformed-macs-09e7e909f3a134a3.yaml | 8 +
.../notes/manual-abort-d3d8985a5de7376a.yaml | 5 +
.../notes/mask-ssh-creds-54ab7b2656578d2e.yaml | 4 +
.../notes/multi-arch-deploy-bcf840107fc94bef.yaml | 20 +
...kers-for-send-sensor-data-89d29c12da30ec54.yaml | 11 +
releasenotes/notes/net-names-b8a36aa30659ce2f.yaml | 15 +
...ot-device-as-kernel-param-5e5326acae7b77a4.yaml | 11 +
...ers-cannot-set-interfaces-620b37c4e5c88b80.yaml | 5 +
.../notes/ocata-summary-a70f995cb3b18e18.yaml | 24 +
...view-inspection-interface-c2d6902bbeca0501.yaml | 3 +
...view-node-free-for-ironic-61b05fee827664cb.yaml | 4 +
.../oneview-onetime-boot-64a68e135a45f5e2.yaml | 4 +
.../oneview-timing-metrics-0b6c1b54e80eb683.yaml | 3 +
.../notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml | 16 +
...pxe-snmp-driver-supported-9c559c6182c6ec4b.yaml | 4 +
.../notes/pxe-takeover-d8f14bcb60e5b121.yaml | 7 +
...tandalone-ports-supported-8153e1135787828b.yaml | 25 +
.../remove-agent-passthru-432b18e6c430cee6.yaml | 36 +
...e-agent-passthru-complete-a6b2df65b95889d5.yaml | 14 +
...move-agent_last_heartbeat-65a9fe02f20465c5.yaml | 4 +
...clustered-compute-manager-6b45ed3803be53d1.yaml | 5 +
...-erase-devices-iterations-55680ab95cbce3e9.yaml | 6 +
...ted-dhcp-provider-methods-582742f3000be3c7.yaml | 19 +
...ver-object-periodic-tasks-1357a1cd3589becf.yaml | 5 +
.../remove-iboot-wol-amt-27edaf109d28b663.yaml | 18 +
...e-iscsi-deploy-ipa-mitaka-c0efa0d5c31933b6.yaml | 6 +
.../remove-most-unsupported-049f3401c2554a3c.yaml | 32 +
...move-ssh-power-port-delay-7ae6e5eb893439cd.yaml | 9 +
...ources-crud-notifications-70cba9f761da3afe.yaml | 23 +
.../reusing-oneview-client-6a3936fb8f113c10.yaml | 4 +
.../notes/security_groups-b57a5d6c30c2fae4.yaml | 10 +
.../soft-reboot-poweroff-9fdb0a4306dd668d.yaml | 8 +
...vice-hints-with-operators-96cf34fa37b5b2e8.yaml | 7 +
...ate-proliantutils-version-54c0cd5c5d3c01dc.yaml | 5 +
...-image-url-wnen-deploying-8820f4398ea9de9f.yaml | 4 +
...port-info-before-using-it-e26135982d37c698.yaml | 5 +
releasenotes/source/conf.py | 3 +
releasenotes/source/index.rst | 2 +-
releasenotes/source/newton.rst | 2 +-
requirements.txt | 43 +-
setup.cfg | 82 +-
test-requirements.txt | 16 +-
tools/config/check_uptodate.sh | 12 +-
tools/run_bashate.sh | 18 +-
tools/test-setup.sh | 57 +
tox.ini | 13 +-
548 files changed, 32007 insertions(+), 17907 deletions(-)
Requirements updates
--------------------
diff --git a/driver-requirements.txt b/driver-requirements.txt
index 711c337..af57659 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -7 +7 @@
-proliantutils>=2.1.11
+proliantutils>=2.2.0
@@ -11 +11 @@ python-ironic-inspector-client>=1.5.0
-python-oneviewclient<3.0.0,>=2.0.2
+python-oneviewclient<3.0.0,>=2.5.2
@@ -13 +12,0 @@ python-scciclient>=0.4.0
-python-seamicroclient>=0.4.0
@@ -17,15 +15,0 @@ python-dracclient>=0.1.0
-# The amt driver imports a python module called "pywsman", but this does not
-# exist on pypi.
-# It is installed by the openwsman-python (on RH) or python-openwsman (on deb)
-# package, from https://github.com/Openwsman/openwsman/blob/master/bindings/python/Makefile…
-# There is *also* a "wsman" module on pypi ... but I think that's the wrong one.
-
-# The iboot driver does not seem to have any available packages or pip modules,
-# but the source is available here:
-# https://github.com/darkip/python-iboot
-
-# 'pxe_vbox' and 'agent_vbox' drivers require pyremotevbox library.
-# Refer documentation on how to install and configure this:
-# http://docs.openstack.org/developer/ironic/drivers/vbox.html
-pyremotevbox>=0.5.0
-
diff --git a/requirements.txt b/requirements.txt
index c898e82..849c9e8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -6 +6 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-alembic>=0.8.4 # MIT
+alembic>=0.8.10 # MIT
@@ -9,3 +9 @@ eventlet!=0.18.3,>=0.18.2 # MIT
-WebOb>=1.2.3 # MIT
-greenlet>=0.3.2 # MIT
-netaddr!=0.7.16,>=0.7.13 # BSD
+WebOb>=1.6.0 # MIT
@@ -14,4 +12,4 @@ python-neutronclient>=5.1.0 # Apache-2.0
-python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
-keystoneauth1>=2.10.0 # Apache-2.0
-ironic-lib>=2.0.0 # Apache-2.0
-python-swiftclient>=2.2.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
+keystoneauth1>=2.18.0 # Apache-2.0
+ironic-lib>=2.5.0 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
@@ -19 +17 @@ pytz>=2013.6 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -22 +20 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -24 +22 @@ oslo.context>=2.9.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
@@ -27 +25 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
@@ -29 +27 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
@@ -32,3 +30,3 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
-requests>=2.10.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
+requests!=2.12.2,>=2.10.0 # Apache-2.0
@@ -38,3 +36,3 @@ WSME>=0.8 # MIT
-Jinja2>=2.8 # BSD License (3 clause)
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+keystonemiddleware>=4.12.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -42 +40 @@ retrying!=1.3.0,>=1.2.3 # Apache-2.0
-oslo.versionedobjects>=1.13.0 # Apache-2.0
+oslo.versionedobjects>=1.17.0 # Apache-2.0
@@ -44 +42 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-psutil<2.0.0,>=1.1.1 # BSD
+psutil>=3.0.1 # BSD
@@ -45,0 +44 @@ futurist!=0.15.0,>=0.11.0 # Apache-2.0
+tooz>=1.47.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 359d6ed..579437b 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,2 +4,2 @@
-hacking<0.12,>=0.11.0 # Apache-2.0
-coverage>=3.6 # Apache-2.0
+hacking<0.13,>=0.12.0 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -10 +10 @@ Babel>=2.3.4 # BSD
-PyMySQL!=0.7.7,>=0.6.2 # MIT License
+PyMySQL>=0.7.6 # MIT License
@@ -14 +14 @@ psycopg2>=2.5 # LGPL/ZPL
-python-ironicclient>=1.6.0 # Apache-2.0
+python-ironicclient>=1.11.0 # Apache-2.0
@@ -17 +17 @@ testtools>=1.4.0 # MIT
-os-testr>=0.7.0 # Apache-2.0
+os-testr>=0.8.0 # Apache-2.0
@@ -24 +24 @@ bashate>=0.2 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -28,2 +28,2 @@ openstackdocstheme>=1.5.0 # Apache-2.0
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=1.8.0 # Apache2
+oslosphinx>=4.7.0 # Apache-2.0
+reno>=1.8.0 # Apache-2.0
1
0
We are stoked to announce the release of:
python-zaqarclient 1.4.0: Client Library for OpenStack Zaqar Messaging
API
This release is part of the ocata stable release series.
The source is available from:
https://git.openstack.org/cgit/openstack/python-zaqarclient
Download the package from:
https://pypi.python.org/pypi/python-zaqarclient
Please report issues through launchpad:
https://bugs.launchpad.net/python-zaqarclient
For more details, please see below.
Changes in python-zaqarclient 1.3.0..1.4.0
------------------------------------------
bdeb81f Updated from global requirements
35404c7 Set client module __version__
23aa5c1 Enable release notes translation
cff83ad Switch to oslo_log
c8674db Remove unnecessary utf8 coding format in the head of files
Diffstat (except docs and test files)
-------------------------------------
releasenotes/source/conf.py | 5 +++--
requirements.txt | 3 ++-
zaqarclient/__init__.py | 19 +++++++++++++++++++
zaqarclient/queues/cli.py | 4 +---
zaqarclient/queues/v1/cli.py | 2 +-
zaqarclient/queues/v2/cli.py | 2 +-
zaqarclient/transport/ws.py | 2 +-
10 files changed, 32 insertions(+), 13 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 339caf8..ab2b167 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,0 +12 @@ oslo.i18n>=2.1.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
@@ -14 +15 @@ oslo.utils>=3.18.0 # Apache-2.0
-keystoneauth1>=2.16.0 # Apache-2.0
+keystoneauth1>=2.18.0 # Apache-2.0
1
0
We enthusiastically announce the release of:
virtualbmc 1.0.0: Create virtual BMCs for controlling virtual
instances via IPMI
Download the package from:
https://tarballs.openstack.org/virtualbmc/
For more details, please see below.
Changes in virtualbmc 0.1.0..1.0.0
----------------------------------
a63b7e8 Fix documentation title and README
1e01b69 Updated from global requirements
d6976c5 Document some usage with examples
a30bebc Fix typo in help message
8720944 Delete support py33 and py34
7585c6a Fix help string about adding a VBMC using IPv4
a2106ef Adds power diag support to vbmc
dceecaf Adds power_soft support to vbmc
0df3a0e Return proper errors on BMC action failures
ba679b9 Add support for a "global" configuration file
ca82398 Fix Python3 test errors
9326e17 Show real error when it fails to create a new VBMC
5a6e38d Show team and repo badges on README
89345c6 Updated from global requirements
f3c05f9 Updated from global requirements
d1fa458 Bump pyghmi version to 1.0.9
Diffstat (except docs and test files)
-------------------------------------
README.rst | 17 +++++-
requirements.txt | 6 +-
setup.cfg | 3 +-
setup.py | 4 +-
test-requirements.txt | 12 ++--
tox.ini | 2 +-
virtualbmc/cmd/vbmc.py | 5 +-
virtualbmc/config.py | 12 +++-
virtualbmc/exception.py | 1 +
virtualbmc/manager.py | 22 +++++---
virtualbmc/utils.py | 2 -
virtualbmc/vbmc.py | 72 +++++++++++++++++-------
17 files changed, 294 insertions(+), 67 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 55907e5..d56d13a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -8,2 +8,2 @@ libvirt-python>=1.2.5 # LGPLv2+
-pyghmi>=1.0.3 # Apache-2.0
-PrettyTable>=0.7,<0.8 # BSD
+pyghmi>=1.0.9 # Apache-2.0
+PrettyTable<0.8,>=0.7.1 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 7c40c36..ffa08e2 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=0.10.2,<0.11 # Apache-2.0
+hacking<0.11,>=0.10.2 # Apache-2.0
@@ -7 +7 @@ hacking>=0.10.2,<0.11 # Apache-2.0
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -10,2 +10,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3 # BSD
-oslosphinx>=2.5.0,!=3.4.0 # Apache-2.0
+sphinx>=1.5.1 # BSD
+oslosphinx>=4.7.0 # Apache-2.0
@@ -16,2 +16,2 @@ testtools>=1.4.0 # MIT
-os-testr>=0.4.1 # Apache-2.0
-mock>=1.2 # BSD
+os-testr>=0.8.0 # Apache-2.0
+mock>=2.0 # BSD
1
0
We contentedly announce the release of:
puppet-pacemaker 0.5.0: Puppet module for Pacemaker
Download the package from:
https://tarballs.openstack.org/puppet-pacemaker/
For more details, please see below.
Changes in puppet-pacemaker 0.4.0..0.5.0
----------------------------------------
d639da8 Prepare for 0.5.0 release
28020de Do not apply the cib via --config when pcs does not support diffing
3d0222d Add a pacemaker remote resource
d7f4f9a Add tries and try_sleep to ::pacemaker::stonith
37b7b43 Add support for fence_ironic fencing agent.
40c5ce5 Add a remote class for pacemaker-remote
6af6bc6 Use --config when pushing the CIB in the non diff-against case
b01145b Add support for non-standard ports to fence_ipmilan.
5c7a0ce Add tries/try_sleep to the constraint classes
99e21a5 Add a constraint::order class
ac332ae Do not operate on the live CIB with pcs commands
a945058 Move cluster properties implementation to ruby
6c705ce Move all pcs() function to a common file for increased re-use
63de292 Add a pcmk_common file with some helper routines
e78e08c Pin nokogiri module to 1.6.0
b4e3b88 Relax requires when creating resources on remote nodes
129e748 fix dependencies definition for firewall module
145464e Add minimal location rule support to resource creation
907a417 Remove useless etc-pacemaker-authkey -> pcsd dependency
Diffstat (except docs and test files)
-------------------------------------
Gemfile | 1 +
agent_generator/src_xml/fence_ipmilan.xml | 5 +
agent_generator/src_xml/fence_ironic.xml | 61 +++++++++
agent_generator/variables.sh | 1 +
lib/facter/pcmk_is_remote.rb | 8 ++
lib/puppet/provider/pcmk_common.rb | 116 ++++++++++++++++
lib/puppet/provider/pcmk_constraint/default.rb | 49 ++++---
lib/puppet/provider/pcmk_property/default.rb | 49 +++++++
lib/puppet/provider/pcmk_resource/default.rb | 176 ++++++++++++++++---------
lib/puppet/type/pcmk_constraint.rb | 52 +++++++-
lib/puppet/type/pcmk_property.rb | 62 +++++++++
lib/puppet/type/pcmk_resource.rb | 20 +++
manifests/constraint/base.pp | 13 +-
manifests/constraint/colocation.pp | 18 ++-
manifests/constraint/location.pp | 19 ++-
manifests/constraint/order.pp | 92 +++++++++++++
manifests/corosync.pp | 3 -
manifests/params.pp | 6 +
manifests/property.pp | 64 ++-------
manifests/remote.pp | 50 +++++++
manifests/resource/filesystem.pp | 20 ++-
manifests/resource/ip.pp | 20 ++-
manifests/resource/lsb.pp | 20 ++-
manifests/resource/ocf.pp | 21 ++-
manifests/resource/remote.pp | 106 +++++++++++++++
manifests/resource/route.pp | 20 ++-
manifests/resource/service.pp | 20 ++-
manifests/resource/systemd.pp | 20 ++-
manifests/stonith.pp | 26 +++-
manifests/stonith/fence_ipmilan.pp | 10 +-
manifests/stonith/fence_ironic.pp | 168 +++++++++++++++++++++++
metadata.json | 37 ++++--
releasenotes/source/conf.py | 4 +-
33 files changed, 1180 insertions(+), 177 deletions(-)
1
0
We are glad to announce the release of:
puppet-ceph 2.3.0: Puppet module for Ceph
Download the package from:
https://tarballs.openstack.org/puppet-ceph/
For more details, please see below.
2.3.0
^^^^^
Improves support for the MDS service and adds a profile class for it.
New Features
************
* On OSD nodes you can run out of PIDs during a recovery. Therefore
it is recommended that you raise pid_max. This change makes that
possible with an enablement flag and the ability to set the value.
* The MDS class is extended to allow for binding address and
instance ID configuration. It now also ensures that the needed
packages for the MDS daemon are installed and that the service is
manageable by Puppet.
* A new MDS profile class is added which, in addition to deploying
the MDS service will create a new keyring for it, allowing MDS
profilation and access to the OSD pools.
* Adds support for the rbd-mirror service including package
inistallation, service enable and service start. Does not include
support for generating the client see as ceph::key or other
processes creates this key
Deprecation Notes
*****************
* the ceph::rgw::syslog paramter is unused and will be removed
Other Notes
***********
* The package installed by default for the MDS service can be
configured via ceph::params::pkg_mds
* The keyring for the MDS service is only created if a key is given,
the key to use can be configured via ceph::profile::params::mds_key
Changes in puppet-ceph 2.2.1..2.3.0
-----------------------------------
0f66fec Prepare for 2.3.0
02e1a63 Deprecate unused ::ceph::rgw::syslog parameter
108f550 Automatically zap a disk if no valid gpt label is present
dba788f Reduce ceph::key.pp warnings
eccdd9a Update to reduce puppet errors.
37a01c9 Ensure the CephX client keys are provisioned by the mirror profile
8e01a41 init: allow to configure rbd_default_features
28e8f45 Add cephfs resource type and profile
5cc1954 Improves support for ceph-mds
65450a0 Pin reno version to reno>=0.1.1,!=2.0.0
e21a631 Include and not redeclare apache mod_env
f95aa99 Add support for installing Ceph rbd-mirror
a2aa860 Update ceph::key to update keys
3bb76e7 Unify parameter arguments between classes.
5a47d93 Use facts from puppet-openstack_spec_helper
ba23b0a Show team and repo badges on README
6a12d71 Switch puppet-ceph to rspec-puppet-facts
9f0a882 Fix puppet version for requirements in metadata
7c9e779 Make pid_max settable on OSD nodes.
803e151 Notify radosgw service on configuration change
1d77607 Change conf from create to ensure
e8590da Ensure wget is installed for RGW Keystone integration
939307f repo: deploy ceph.com apt key only when required
6efc1e9 Enable release notes translation
Diffstat (except docs and test files)
-------------------------------------
README.md | 7 ++
examples/common.yaml | 3 +
manifests/conf.pp | 2 +-
manifests/fs.pp | 56 ++++++++++++++
manifests/init.pp | 5 ++
manifests/key.pp | 36 +++++++--
manifests/mds.pp | 89 +++++++++++++++++++---
manifests/mirror.pp | 72 +++++++++++++++++
manifests/mon.pp | 2 +-
manifests/osd.pp | 44 ++++++++++-
manifests/osds.pp | 20 ++++-
manifests/params.pp | 5 +-
manifests/profile/base.pp | 1 +
manifests/profile/fs.pp | 29 +++++++
manifests/profile/mds.pp | 41 ++++++++++
manifests/profile/mirror.pp | 30 ++++++++
manifests/profile/params.pp | 34 ++++++++-
manifests/profile/rgw.pp | 2 +-
manifests/repo.pp | 13 ++--
manifests/rgw.pp | 12 ++-
manifests/rgw/apache_proxy_fcgi.pp | 2 +-
manifests/rgw/civetweb.pp | 2 +-
manifests/rgw/keystone.pp | 2 +-
manifests/rgw/keystone/auth.pp | 13 ++--
metadata.json | 10 ++-
...nging_pidmax_on_osd_nodes-d1a98328f666a895.yaml | 6 ++
.../mds-support-improvements-e30c7c4fdb838439.yaml | 19 +++++
.../notes/rbd-mirror-e8c13699bb0e71d8.yaml | 7 ++
.../notes/remove-rgw-syslog-2a6909362b702b15.yaml | 4 +
releasenotes/source/conf.py | 7 +-
spec/acceptance/ceph_mon_osd_spec.rb | 63 ++++++++-------
spec/classes/ceph_init_spec.rb | 28 +++----
spec/classes/ceph_mds_spec.rb | 53 +++++++------
spec/classes/ceph_mons_spec.rb | 37 ++-------
spec/classes/ceph_osds_spec.rb | 47 +++++-------
spec/classes/ceph_profile_fs_spec.rb | 39 ++++++++++
spec/classes/ceph_profile_mds_spec.rb | 50 ++++++++++++
spec/classes/ceph_repo_spec.rb | 15 ++--
spec/defines/ceph_fs_spec.rb | 52 +++++++++++++
spec/defines/ceph_key_spec.rb | 26 ++-----
spec/defines/ceph_mon_spec.rb | 42 +++++-----
spec/defines/ceph_osd_spec.rb | 75 +++++++++++++-----
spec/defines/ceph_pool_spec.rb | 26 ++-----
spec/defines/ceph_rbd_mirror_spec.rb | 64 ++++++++++++++++
spec/defines/ceph_rgw_apache_proxy_fcgi_spec.rb | 2 +
spec/defines/ceph_rgw_civetweb_spec.rb | 70 +++++++----------
spec/defines/ceph_rgw_spec.rb | 3 -
spec/fixtures/hieradata/common.yaml | 4 +
spec/spec_helper.rb | 10 +--
test-requirements.txt | 3 +-
50 files changed, 963 insertions(+), 321 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index bedd666..baa2346 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4,2 @@ oslosphinx>=2.5.0 # Apache-2.0
-reno>=0.1.1 # Apache-2.0
+# FIXME: reno is manually pinned to !=2.0.0 because of bug #1651995
+reno>=0.1.1,!=2.0.0 # Apache-2.0
1
0
We contentedly announce the release of:
puppet-congress 10.3.0: Puppet module for OpenStack Congress
This is the first release of puppet-congress. This release is part of
the ocata release series.
Download the package from:
https://tarballs.openstack.org/puppet-congress/
For more details, please see below.
Changes in puppet-congress 7ec60eb0cec991cae1a04f6fba78b5b03db87001..10.3.0
---------------------------------------------------------------------------
7fd7961 Updating service name for Red Hat platform
6de9711 Prepare 10.3.0 release
72d8ea5 Add control_exchange and rpc_response_timeout options
8f860c5 Add oslo::db to dependency chain
3296068 Allow python-memcache install from authtoken class
c155495 Remove signing_dir option
90cf189 updating service name
cb05afc Pin reno version to reno>=0.1.1,!=2.0.0
026efc8 Add oslo_messaging_notifications transport_url
87367df Fix the case statement
d6ff0c1 Added retries for db_sync
f9b1e59 Remove policy_path option
74b7d7e Add support for Debian system
d7e1454 Change author in setup.cfg
e1265f1 Show team and repo badges on README
cada0ea Adding a client.pp file
7a00463 Congress uses congress-db-manage instead of congress-manage
11f9a34 Remove unused parameters in params
7a22528 Add requirements in metadata.json file
e4aa1db Deprecate rabbitmq connection parameters
22140dd Add test for policy
88236c8 Add support for db_max_retries param
1d732c2 Fix documentation for log_dir parameter
9cd38f4 Add basic structure for ReNo
6e9191b Move rspec-puppet-facts to spec helper
b1dec23 Populating init.pp and parameters
e531fa4 Added retries for db_sync
c54f274 Fix authtoken
2af6aad Add authtoken class
52b1561 Include openstacklib defaults manifest.
60117d3 Add Xenial to metadata
f44faa7 Fix version_requirement
84c317f Commiting a cookie cutter module sync set of files
a2ca3cd updating configuration options
ffcf16f Syntax fixes to get the initial service start up to succeed
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
new file mode 100644
index 0000000..baa2346
--- /dev/null
+++ b/test-requirements.txt
@@ -0,0 +1,5 @@
+# this is required for the docs build jobs
+sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2
+oslosphinx>=2.5.0 # Apache-2.0
+# FIXME: reno is manually pinned to !=2.0.0 because of bug #1651995
+reno>=0.1.1,!=2.0.0 # Apache-2.0
1
0
We are amped to announce the release of:
monasca-agent 1.7.0: Monitoring agent for gathering metrics and
sending them to the Monasca API.
This release is part of the ocata release series.
Download the package from:
https://tarballs.openstack.org/monasca-agent/
For more details, please see below.
Changes in monasca-agent 1.6.0..1.7.0
-------------------------------------
6f3e984 Add support for psutil<2.0.0
b72932b Password is now set to raw mode to support passwords that contain a percent %
9f605ff Update psutil version to >= 3.0.1
2a8bf29 Add proxy configuration for tox.ini file
8c12e87 Fix nova client init for libvirt and ovs plugins
962888a Add router max bandwidth metrics to ovs plugin
c725999 Add global_delegeated_tenant field to agent config
7b9bc11 Domain being in shutoff state may have several reasons
0556ea6 Add service_type, endpoint_type & region_name querying Keystone Catalog
Diffstat (except docs and test files)
-------------------------------------
agent.yaml.template | 16 ++-
monasca_agent/collector/checks/check.py | 4 +-
monasca_agent/collector/checks_d/cpu.py | 3 +-
monasca_agent/collector/checks_d/libvirt.py | 26 ++--
monasca_agent/collector/checks_d/load.py | 3 +-
monasca_agent/collector/checks_d/ovs.py | 157 +++++++++++++++++++++-
monasca_agent/collector/checks_d/process.py | 30 +----
monasca_agent/common/aggregator.py | 9 +-
monasca_agent/common/keystone.py | 17 ++-
monasca_agent/common/psutil_wrapper.py | 139 +++++++++++++++++++
monasca_agent/statsd/daemon.py | 3 +-
monasca_setup/detection/plugins/kafka_consumer.py | 4 +-
monasca_setup/detection/plugins/libvirt.py | 8 +-
monasca_setup/detection/plugins/mon.py | 2 +-
monasca_setup/detection/plugins/ovs.py | 7 +-
monasca_setup/detection/plugins/vcenter.py | 9 +-
monasca_setup/detection/service_plugin.py | 11 +-
monasca_setup/detection/utils.py | 33 +++--
monasca_setup/main.py | 3 +
monasca_setup/service/service.py | 8 +-
requirements.txt | 2 +-
tools/tox_install.sh | 5 +-
tox.ini | 6 +
28 files changed, 545 insertions(+), 108 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 1a0c8c4..30c3bb3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -16 +16 @@ ntplib>=0.3.2,<0.4
-psutil<3.1.0
+psutil>=1.1.1 # BSD
1
0
We are ecstatic to announce the release of:
puppet-trove 10.3.0: Puppet module for OpenStack Trove
This release is part of the ocata stable release series.
Download the package from:
https://tarballs.openstack.org/puppet-trove/
For more details, please see below.
10.3.0
^^^^^^
New Features
* Add the ability to configure aes_cbc key for backup in trove-
guestagent.conf
Changes in puppet-trove 10.2.1..10.3.0
--------------------------------------
9a9fca0 Prepare ocata-rc1 release
ca075e0 Add backup_aes_cbc_key parameter
Diffstat (except docs and test files)
-------------------------------------
manifests/guestagent.pp | 6 ++++++
metadata.json | 8 ++++----
.../notes/configure-backup_aes_cbc_key-aaf934036d76ee57.yaml | 3 +++
releasenotes/source/conf.py | 4 ++--
spec/classes/trove_guestagent_spec.rb | 1 +
5 files changed, 16 insertions(+), 6 deletions(-)
1
0