[release-announce] tenks 1.0.0

no-reply at openstack.org no-reply at openstack.org
Tue Mar 10 15:24:59 UTC 2020


We are happy to announce the release of:

tenks 1.0.0: Deployment of virtual bare metal clusters with Tenks

This is the first release of tenks.

The source is available from:

    https://opendev.org/openstack/tenks

Download the package from:

    https://tarballs.openstack.org/tenks/

For more details, please see below.

1.0.0
^^^^^


New Features
************

* Adds support for setting the libvirt connection uri via the
  "libvirt_local_uri" variable. See this story
  (https://storyboard.openstack.org/#!/story/2004344) for details.

* Adds support for setting default properties on ironic nodes. This
  avoids an issue where nodes are registered with the standard
  scheduling properties all set to 1, causing ironic validation
  failures. See story 2004908 for details.

* Adds support for setting node and volume name prefixes on a per-
  spec basis. This allows for different node specifications to use
  different names, e.g. "controller" vs "compute"

* Adds support for standalone Ironic. This includes support for
  environments without keystone for authentication, and without a
  placement service.


Upgrade Notes
*************

* Tenks no longer installs Open vSwitch. Please use your preferred
  method to install Open vSwitch prior to running Tenks.


Bug Fixes
*********

* Fixes an issue where VMs, virtual ethernet pairs and virtual BMC
  state is not cleaned up on a reconfiguration. See story 2004907 for
  details.

* Fixes an issue where deployed VMs can't be reached on a different
  MAC address than the one originally assigned. See story 2004906 for
  details.

* Fixes an issue where multiple nodes could be given the same name
  in a multi-hypervisor scenario.

Changes in tenks 80ff2d9c889b5e6de5ff7d5a3241429d2c2bcaac..1.0.0
----------------------------------------------------------------

b783f1c Add missing ws between words
c20606e Switch to Ussuri job
9c12633 Do not install Open vSwitch
c7ec790 Add debugging statements to wait for resources loop
f929683 Build pdf doc
b27c6bc Update Python 3 test runtimes for Train
1bd25bd Fix ansible lint job
26fcfd5 Ignore traits with a COMPUTE_ prefix in wait for placement
871d3cf Use zuul checkout for stackhpc-libvirt roles
d7142c0 Replace git.openstack.org URLs with opendev.org URLs
aa0bda2 OpenDev Migration Patch
bda7320 Ignore COMPUTE_NET_ATTACH_INTERFACE trait when waiting for placement
3e8fecd Fix Zuul galaxy install task
6e2bb04 Add playbook tags
b4bddc2 Adding python 3.6 unit test
8e2f8a3 Fix ansible lint and ubuntu deployment
a04f607 Support specifying deploy images via URL
c58a22a Default Ironic node properties are bogus
7ad354c Use node state rather than 'cmd'
dcc25d8 Configure VM interfaces in macvtap passthrough mode
c5c18ce Allow setting node and volume name prefixes per-spec
9cef71f Change openstack-dev to openstack-discuss in setup.cfg
64eb9d0 Add os-client-config to requirements.txt
ff3a73f Check for specific error messages in ironic version check
d28635d Changes to support standalone ironic
f3cc81f Support legacy drivers
1a0d953 Support ocata release of ironic
60ffdc1 Gate on kayobe overcloud deploy job
a30ac7d Fix ansible-lint nits
49fb893 Changes following becoming an official project
8802ff3 Use only the first 6 characters of the node name in link names
347ee1c Fix skipping glance check if deploy images not defined
50cf161 Pass node and volume name prefixes to tenks_update_state
1e2bd2c Fail nicely if ironic port lookup fails
6a2fb44 Fix deploy and teardown without node enrolment
ffcdee6 Add support for setting the libvirt connection uri
d4e7e58 Wait for resources to become available
21afcc5 Add venv tox environment
4f20ed3 Add support for generating release notes
b4bc89d Add a zuul job to deploy and teardown a tenks cluster
602fdfa Remove dependency on bridge-utils
154ec6c Open vSwitch service name is different between distros
d697cb4 Use state: started instead of state:running
75a86cb Abstract over differerences in Open vSwitch package name
2715c36 Add an initial set of zuul jobs
71e510f Add an initial noop job to bootstrap zuul
a5e1b65 Only set Ironic port attributes when changed
f6bc698 Fix lint warning concerning task names
51d18cf Use extend-ignore in preference to ignore
302472a Add a .gitreview file
3437bec ip on RedHat based distros is at /usr/sbin/ip
bc66151 Use /usr/bin/virsh instead of /bin/virsh
90b31af ovs-vsctl list-br requires root privileges
7ef64ff Support Debian based GNU/Linux distributions
41b6e07 Use package instead of yum
9ccf17a path of `ip` command is system dependent
a23e2e2 Reorder installation steps
f0adf96 Bring each end of veth pair up after creation
e81eb6d Move deploy image ID finding to enrolment role
de8e6bc Add boot mode configuration to to-do list
7c46f00 Add assumptions to install
9e7494a Add to-do list to development
d1228ca Add more substance to README
3edc58f Add flavors and deploy images to example overrides
36c3756 Address doc review comments
5e21655 Allow deploy_kernel/ramdisk names to be specified
0bbca02 Migrate documentation to Sphinx
1f4127c Prefix volume names with node name
9619720 Add stestr config file
7c1f7aa Document console_log_enabled flag
1375df3 Add additional tox environments to Travis
61e884e Fix typo in README
c0227d2 Move absent node pruning to cleanup section
56a469f Remove unnecessary test
7f2bfa8 Add additional _process_specs tests
1006415 Run coverage testing by default in tox
5e0702c Add _process_specs tests
daccd02 Add coverage testing
08940e1 Save task arguments and vars in object
3fb33d8 Fix mock import for Python 2
794bffd Add basis for action plugin tests
78dfa05 Update documentation
99eaf48 Persist physnet indices in state file
da15c6f Add inventory_hostname parameter to filter plugins
caffd7b Add new tenks_state_update plugin
a5b63d3 Add updated diagram
b6b2497 Add names to set_fact tasks
8edb3ad Improve comments for override file variables
71aa379 Split deployment and teardown playbooks
fd2f867 Disable automatic power-on of Libvirt nodes
c14b62f Fix multiple 'when' clauses
a925095 Allow teardown in Ironic enrolment
ee0600f Allow teardown of Nova flavors
fbd489d Rename virtualbmc-domain internal variable
9563516 Fix veth-pair role for teardown
67e8f74 Ensure physical_network.yml handles teardown
877e7eb Fix veth_pair_state typo
39bc329 Add 'teardown' action to virtualbmc-domain role
24f47ca Add 'teardown' action to veth-pair role
56b0019 Restructure playbooks for multiple commands
0b106a4 Fix Markdown title formatting
21f47fd Add documentation about override file
2789a56 Extract Ironic node extra specs dicts
94aee5d Set interfaces and properties on Ironic nodes
8d1fe82 Add defaults for all Ironic interfaces
0fdd4ec Remove 'bmc type' concept
ae85a02 Add diagram update instructions
7f21b4c Copy requirements file to remote host
9b1ad58 Use become for all Open vSwitch tasks
3066438 Use full path for ip command
768af20 Move pip settings to group_vars/all
af98a20 Fix upper constraints typo
8b44c71 Use round-robin scheduling instead of all-on-one
24900f4 Use basepython of 2.7
106832e Add Travis CI config file
dde9b48 Add Ansible structure diagram to README
8d02c28 Add Nova flavor registration
c8e4681 Use node ironic_config details during enrolment
2215cce Add bmc_type checking for virtualbmc
846baa8 Save ironic_config in node details
7421c49 Make specs, types and flavors more extensible
c89a70b Remove properties from Ironic nodes
cfb7c05 Move node enrolment up a level
84ef8cd Fix PEP8 and ansible-lint warnings
e39d080 Split deployment into stages
ed0f1be Split deploy.yml
b888c3c Allow binary and decimal capacities in size string
b7334f4 Use dict query instead of iteritems
0b340a1 Fix IPMI address typo
06bfdb0 Fix PEP8 issues
81f1696 Add Ironic enrolment Ansible role
8e9e91a Ensure nodes are always sorted alphabetically
7a78f86 Add additional network naming filter plugins
c9ea94b Consolidate interface/link naming
32fcca4 Use loop rather than with_items
e007012 Install package dependencies for virtualbmc daemon
8884d4e Use become=true for OVS bridge creation
64134ea Fix OVS detection
e481b97 Fix path to playbook in README
2d214ad Extract IPMI configuration out of role
0d88c38 Move VBMCD service name into vars file
2cc0bb6 Set up VBMCD with Libvirt host setup
e31a313 Check IPMI port count before creating VMs
855a2c2 Split Virtual BMC role into two
34ebd92 Refer to nodes, rather than VMs
7aeb2e9 Check existence of node types referenced in specs
7e0cc7e Fix typo in scheduling plugin
b36f95a Extract Virtual BMC tasks into a role
fb0a948 Move Python package vars together
1c2d1e5 Gather hypervisor facts in parallel pre-scheduling
3bd8e05 Fix veth-pair role README typos
66f5f8e Use a separate requirements file for venv packages
f9638bc Use Ansible variables for relative paths
e5fc211 Configure Virtual BMC
c1cb7b9 Use Ansible variables for relative paths
41c3d16 Remove unused variable
ef70415 Remove defaults for specs and vm_types
c538a82 Remove unnecessary Pip dependency
87e4e5e Perform Libvirt host setup after Tenks host setup
b2f0be9 fix Python doc typo
997f1f5 Fix Ansible lint errors
a79a894 Fix PEP8 import errors
740432d Add basic package structure
9840887 Rename flavours to VM types
a84e649 Add downloaded Galaxy roles to .gitignore
a922430 Add header to Python files
c7efb16 Use base log directory
a4c21a2 Remove 'controllers' group in favour of localhost
5a04d38 Add dependency installation to README
6aa5a2f Add basis for README
56fb19d Formatting fixes
7e35255 Update Libvirt interfaces plugin for veth naming
b2c348e Use more logical names for playbooks
291f800 Fix veth suffix naming scheme
30d1047 Use contextfilter decorator to simplify plugin
695d757 WIP: Libvirt VM creation
0087d22 Clean up scheduling code
4782720 Add libvirt_vm_config.py filter plugins
4c79cfa Add veth-pair role
9cbf9a5 WIP: Create Libvirt VMs
1346703 Add basis for VM scheduling to hypervisors
2a04903 Split out group_vars
72a17aa Add initial host setup




Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..c7393e4
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,8 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+
+pbr>=2.0 # Apache-2.0
+# NOTE(mgoddard): Ansible 2.8.0 breaks ansible-lint.
+ansible>=2.6.0,<2.8.0 # GPLv3
+os-client-config # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
new file mode 100644
index 0000000..ab67516
--- /dev/null
+++ b/test-requirements.txt
@@ -0,0 +1,10 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+
+ansible-lint>=3.0.0 # MIT
+coverage>=4.5.1 # Apache-2.0
+flake8>=3.5.0 # MIT
+# Required for Python 2
+mock>=2.0.0 # BSD
+stestr>=1.0.0 # Apache-2.0






More information about the Release-announce mailing list