The multinode, multitenant grenade job seems healthy again, lets
have it vote in gate as well as in check.
This is a follow up to Iab5fc999fcfa427549192ec73bd076a588f37e20.
Change-Id: Ib3d8c3cf1c906c6e958650ad7b1a1942e5d9a9c3
oslo.config will start using the same functions that we mock in its
next release, breaking our assumptions on how many times they are
called.
Change-Id: Ief2c3d3089916e021cfef38f45f2cc2c78bc4f9b
Closes-Bug: #1754026
Infiniband ports do not require the local_link_connection field to be
populated as the network topology is discoverable by the Infiniband
Subnet Manager.
This change removes the requirement for local_link_connection for
Infiniband ports. Infiniband ports have a client-id in their extra
field.
Closes-Bug: #1753222
Change-Id: I2bfac4ccaf825bd9aa8ea0d2b447fcd7767acbc5
Agent client is not well documented with docstring, this patch updates
existing and adds missing docstring in the code.
Change-Id: Ic7ddc1a4454630a14550a82e803a2568cafc8969
Closes-Bug: #1368906
The 'releasenotes' gate job does not run our tox section. This allowed a
releasenote to land that had a filename in an incorrect format because
it was not created with 'reno new'.
Move the running of 'tools/check-releasenotes.py' to the pep8 section
and whitelist the releasenote that got merged.
Change-Id: Id5bd8e0cbc9186c89f682224088a8f23998d59c3
This changes the ironic (ironic-api and ironic-conductor)
services so that when a SIGHUP signal is issued, the
service reloads (and uses) the values of mutable configuration
options.
The mutable configuration options (set by oslo.config Opts' mutable=True)
are:
- [DEFAULT]/pin_release_version
- [DEFAULT]/debug
- [DEFAULT]/log_config_append
and are indicated as such in ironic's sample config
(https://docs.openstack.org/ironic/latest/configuration/sample-config.html)
by "# Note: This option can be changed without restarting.".
Configuration options are mutable if their oslo.config Opt's mutable=True
is set. This mutable setting is respected when the oslo method
mutate_config_files is called instead of reload_config_files.
Icec3e664f3fe72614e373b2938e8dee53cf8bc5e allows services to tell
oslo.service they want mutate_config_files to be called by specifying the
'restart_method=mutate' parameter, which this patch does.
Change-Id: I0df46bb21dda035b25daad17737dbfedb861e868
Closes-Bug: #1585595
Remove I202 (Additional newline in a group of imports) from the ignore
list. I202 is a check from the flake8-import-order [1] package.
There was a note to remove this check once the tempest plugin was
removed. As the tempest plugin has been removed we can now remove the
exclusion of this check.
Update files which failed this test.
[1] https://github.com/PyCQA/flake8-import-order
Change-Id: I6018d5a90174b3d4b6b8d8e05cee1c1104ccfde9
This change adds support for assiging traits to nodes in the ironic
devstack plugin. The set of traits added is configured by
IRONIC_DEFAULT_TRAITS, which defaults to a single trait - CUSTOM_GOLD
Using nodes with traits during testing ensures that we are exercising
node traits code paths in the Ironic CI.
Node traits are not used for upgrade testing, as the queens devstack
plugin does not currently register traits. Once this change is
backported to queens, we can enable traits during upgrade testing.
Change-Id: I18b9dbf8a5b16e36e0cc14f290b12ffdd634364a
Related-Bug: #1722194
Related-Bug: #1750027
An issue was discovered if we mock an already mock-ed function. This
was happening in our execute() detection code. Change it to not use a
mock and instead a function.
Fix a failing unit test. This was due to the fact that using
'autospec=True' causes assert_not_called() to not work. This is a
known bug in the mock code[1].
Add test cases to ensure it works as expected.
[1] https://bugs.python.org/issue28380
Change-Id: Ifa18df61d17750f9a37118a2ac8aaf13005a5159
This patch modifies the ilo drivers to use the
`boot_mode` capability for cleaning and update the
same on the baremetal.
Change-Id: I5b095cac47890e117866f0569f69148deff173b7
Closes-Bug: #1559835
The value returned by ironic.objects.IronicObject.as_dict() should be a
plain object, in order for it to be serialised to JSON. Currently,
nested object fields and object list fields are not converted to dict
format. This caused problems during cleaning, when the node object's
as_dict representation is JSON encoded and sent to IPA.
This change adds support for calling as_dict() on nested objects and
list objects, to ensure these are also returned in dict form.
We also change the method used in as_dict() for checking whether an
object has an attribute. The hasattr() function used previously has
problems when used with properties in python 2 [1], in that any
exceptions raised in the property getter result in hasattr() returning
False. Instead we use obj_attr_is_set() to determine whether the object
has a particular attribute.
[1] https://hynek.me/articles/hasattr/
Change-Id: Ib2166040508827db28d6f6e2d9a3e655c16f2993
Closes-Bug: #1750027
This is causing more serious issues, as there is a race
between tenant VIF removal and cleaning VIF adding.
This reverts commit 4f79cb3932f2518ab3f06b86ceea065cbb399e8c.
The release note is not deleted from it, because the change has
already been released. A new one is added instead.
Change-Id: I922f24293645ff6bb79ad753f49dc9548b9f2485
Closes-Bug: #1750785
The kernel paramter 'initrd' is hard-coded as 'deploy_ramdisk' in iPXE
config template. A rescue ramdisk may fail to boot due to this wrong
paramter. This patch sets this 'initrd' paramter properly to
'deploy_ramdisk' or 'rescue_ramdisk' by adding a new pxe option.
Change-Id: I8ad1223dc289bbe915ee4ca8db66c8f80bf08f15
Closes-Bug: 1749860
In MySQL, the maximum size of TEXT is 64KiB. The instance_info column
is defined as TEXT and can potentially hold big amount of data
(partly affected by cloud-init scripts for the node).
This patch-set resizes nodes.instance_info to LONGTEXT which allows up
to 4GiB of data to be stored in the column. This change is relevant only
to MySQL and does not affect PostgreSQL or any other DB flavor. The fix
also addresses the upgrade process of the column.
Change-Id: Ifb9a49d4258a559cf2175d902e9424a3f98065c5
Closes-Bug: #1596421