When authorized_file doesn't contain new-line character at the end,
configure_ironic_ssh_keypair() just append new key to the existed line,
as result both keys becomes corrupted. The patch adds a check for
last character in the authorized_key file, if new-line is missed
add it.
Change-Id: I64a7bba5f3c7dee76ae2faf659af1231280f2b8b
Closes-Bug: #1611207
New phase 'test-config' has been introduced by [0].
'test-config' is called at the end of devstack used to configure
tempest or any other test environments.
This patch uses new phase to configure tempest if it is enabled.
Reference:
[0] https://review.openstack.org/#/c/311797/
Change-Id: I8a6a3aeee89c1c08bfa5e630b1cdd8f8a5fa2007
Introduces new /v1/lookup and /v1/heartbeat/<UUID> endpoints
(and associated controllers).
This change does not deprecate the old passthru endpoints, it should
be done after IPA switches to using the new ones.
Change-Id: I9080c07b03103cd7a323e2fc01be821733b07eea
Partial-Bug: #1570841
Some jobs/installations install ironic without nova. We need to
check that nova service is enabled/installed before adding nova
user to baremetal_admin. Otherwise it leads to deployment errors.
Change-Id: I7d753085d5c8ff6633fba3947752aed0e99c72b2
Closes-Bug: #1610011
This change is about adding the ability to the OneView drivers of
dynamically allocate OneView resources to Ironic. The current
version of the drivers consider what we call "pre-allocation" of
nodes, meaning that when a node is registered in Ironic, even if
it is not in use, this resource is still reserved in OneView.
This change will prevent such situations by allocating OneView
resources only at boot time, allowing both systems to really
share the same pool of hardware.
Change-Id: I43d1db490b4834080562946b8a6ca584ea36864d
Co-Authored-By: Lilia Sampaio <liliars@lsd.ufcg.edu.br>
Co-Authored-By: Xavier <marcusrafael@lsd.ufcg.edu.br>
Co-Authored-By: Hugo Nicodemos <nicodemos@lsd.ufcg.edu.br>
Co-Authored-By: Thiago Paiva Brito <thiagop@lsd.ufcg.edu.br>
Co-Authored-By: Caio Oliveira <caiobo@lsd.ufcg.edu.br>
Partial-Bug: #1541096
Implements more fine-grained policy support within our API service,
following the oslo policy-in-code spec, while maintaining compatibility
with the previous default policy.json file. An empty policy.json file is
included, along with a sample file listig all supported policy settings
and their default values.
A new tox target "genpolicy" has been added to ease automation of
sample policy file generation.
All calls to policy.enforce() have been replaced with with
policy.authorize() to avoid silent failures when a rule is undefined,
because enforce() does not raise() if the target rule does not exist.
NOTE: policy.enforce() is not removed by this patch, but a deprecation
warning will be logged if it this method is invoked.
Updates unit test coverage for the new authorize() method, as well as
more general unit test updates for some of the new rules.
Partial-bug: #1526752
Change-Id: Ie4398f840601d027e2fe209c17d854421687c7b7
This reverts commit 5b752d258a0402abfd7f2511874f42bdf7c77dc1. Due to
devstack-gate only setting IRONIC_BUILD_DEPLOY_RAMDISK=false, this will
prevent IPA source jobs from ever building a new ramdisk.
Change-Id: I3e43c08b7f8e9d41f420b12475c9ce74cb860df9
Ironic-python-agent has both supported ramdisks prebuilt and ready for
download, leaving no reason for building this in devstack in the general
case.
This also resolves (via alternative means) the bug which is causing our
deploy ramdisk to get built every time in the gate.
Change-Id: I00cf31bf75343fec4d7ec11178b3a253da806ac0
Related-bug: #1607981
After the recent change, we started calling create_bridge_and_vms
no matter if it was requested by setting IRONIC_BAREMETAL_BASIC_OPS
to True or not. This breaks the ironicclient functional job that
does not need any vms created.
Change-Id: Iabd2794fc0aad2ca752e04d87d53f641f26e9ffb
Closes-bug: #1605194
Use OSC instead of Neutron client in configure_ironic_provision_network.
Do not rely on local.conf variable when perform cleaning in
cleanup_ironic_provision_network.
Change-Id: Ie6f5df657231ea16691a6ab88481c34bbdb1f281
* Create two tenants with own networks.
* Boot 2 baremetal instances in the same IP subnet in
different tenants.
* Verify L3 connectivity between instances IP's
* Verify L3 connectivity between instances floating IP's
Co-Authored-By: Vasyl Saienko (vsaienko@mirantis.com)
Change-Id: I4fe31ecae3393abc2779a5e80e348899f9113f1b
Related-Bug: 1520230
This change allows to configure ironic provision network by setting
IRONIC_PROVISION_NETWORK_NAME variable. In this case additional
interface $OVS_PHYSICAL_BRIDGE.$IRONIC_PROVISION_SEGMENTATION_ID
will be configured with IRONIC_PROVISION_SUBNET_GATEWAY ip address.
Additional configuration parameters are:
IRONIC_PROVISION_PROVIDER_NETWORK_TYPE
IRONIC_PROVISION_SEGMENTATION_ID
IRONIC_PROVISION_ALLOCATION_POOL
IRONIC_PROVISION_SUBNET_GATEWAY
IRONIC_PROVISION_SUBNET_PREFIX
Change-Id: I619f2fb92aafe7348b0a47eaaaad1790df5ae5c7
Partial-bug: #1526403
When VM is dirrectly connected to OVS (current setup) there is no port
in OVS when VM is in powered off state. Since Ironic plug port to
network when VM is in powered-off state. Port should be present in OVS
even when VM is powered-off.
This patch adds additional network bridge called br-$VM_NAME for each
VM. Adds additional interface ovs-$VM_NAME which is added to both OVS
and br-$VM_NAME. And configures VM NIC in br-$VM_NAME instead of direct
connection to OVS switch.
Now connection looks like:
Linux Bridge OVS
-------- ----------- ---------
| vm-1 | <--> | br-vm-1 | <---> | br-bm |
-------- ----------- ---------
Change-Id: I317dd9429684a14d16ecf2887d45c2b014e36a84
Partial-bug: #1526403
This change set increases baremetal VM RAM from 1024 to 1280 in
devstack script to support Coreos ramdisk version.
Change-Id: Ic93807e20d6fe3ba3a7a9f78c0a8887d1c54aa19
Closes-bug: #1602277
Some drivers require glance with swift backend to
be able to store some deployment artifacts, e.g.
in case of iscsi_ilo driver it may be boot_iso that
is constructed from user image kernel and ramdisk.
This requires some configuration and this change is
intended for such drivers.
This commit adds a new config variable
IRONIC_CONFIGURE_GLANCE_WITH_SWIFT, which can be
set to True to configure the Swift related config
parameters of [glance] section in ironic.conf.
This patch is required for iLO ThirdParty CI.
Change-Id: I1bad2b06b268825e181b7b3125d08c977f54f7b8
This commit adds support for building and uploading
an ISO image for deploy ramdisk. This is used by
some drivers in Ironic today. A new variable
IRONIC_DEPLOY_ISO_REQUIRED=true can be set in localrc
to create and upload ISO image for the deploy ramdisk.
This patch is required for iLO ThirdParty CI.
Closes-Bug: 1510914
Change-Id: I03a31490323b4bff9700146844a7009212840c60
This patch allow to set enabled_network_interfaces configuration option
via IRONIC_ENABLED_NETWORK_INTERFACES and registered ironic node with
IRONIC_NETWORK_INTERFACE.
Change-Id: Ie01ca4be3a085bc283879b5528c5c174a35a843b
Depends-On: I0c26582b6b6e9d32650ff3e2b9a3269c3c2d5454
Partial-bug: #1526403
Currently if IRONIC_BUILD_DEPLOY_RAMDISK is False, and ramdisk type is
DIB, we won't fail until the script attempts to run wget using an empty
address, this results in a hard to debug error. This patch ensures that
if we are not building the ramdisk but the ramdisk type is DIB that the
whole script fails early with an error message describing how to correct
the problem.
Change-Id: Ib9f31a3356ed64631129e5880e2657b0cf2014d2
The devstack plugin hardcodes "private" for the default cleaning network
and when looking up the network to bind onto for IPA-conductor
communication.
Ensure we are using the devstack PRIVATE_NETWORK_NAME variable instead
of hardcoding the commonly used name.
Change-Id: I6f344edc75ad1e2ac29bd59a9804ab3cad6cf2b2
Partial-bug: #1595598
In the change I0fc25c64339bc4c1f03ccb35cbc4efad4a7ad966, we
lost the ability to install diskimage-builder if not present.
Add this back if we're using dib to build IPA.
Change-Id: Ic4e59f6ad18af44cec33b770d1df91f5e9eade12
Closes-Bug: 1593005
When IRONIC_VM_LOG_CONSOLE is set in devstack/local.conf,
devstack/tools/ironic/scripts/create-node.sh fails with below error message.
expected syntax: --format <string>
This error occurs because when IRONIC_VM_LOG_CONSOLE is set False,
log_arg is passed with empty string to
devstack/tools/ironic/scripts/create-node.sh.
This patch set fixes parameter order of
devstack/tools/ironic/scripts/create-node.sh, and also
create-node.sh has too many parameters, so fix to use getopts.
Change-Id: Ibdfff27e2c0119f8261f2324233acbeea6612d79
Closes-bug: #1589370
Due to recent infrastructure changes, infra began using port 8088. This
caused a conflict with our apache config, causing services to not start.
Infra is changing this port (Ie67bbba02dbf61a481f66001de3e0dede9448316)
but it may take up to a week to take effect.
Instead of having our gate broken for a week, I'm changing the default
port. 3928 was not chosen at random; it's listed as the netboot-pxe
service port in /etc/services.
Change-Id: Ifdcf3c82fd9ee64c1548e47dba4c78c2347959e0
Closes-bug: 1590139
This patch introduce new variable called IRONIC_USE_LINK_LOCAL.
Link-Local-Connection information is used by Neutron to bind_port
on the switch.
Change-Id: Icfb9257bded5b234a9d05f2b2de6d6580f2f42aa
Partial-bug: #1526403
To be specific, removed in this patch are:
* vendor passthru for the old ramdisk
* support for deploy_key
* various helper functions (like notify)
* devstack plugin support for the old ramdisk
Fixed:
* vendor passthru for drivers (add support for IPA to seamicro one)
* documentation for iSCSI-based deployment
Change-Id: I0fc25c64339bc4c1f03ccb35cbc4efad4a7ad966
During resources phase resources subnet is created with the same CIDR
as during setup. Ironic requires to have a route to this network from
control plane (ironic-conductor).
This patch creates a new network with has an unique CIDR and GATEWAY
defined by RESOURCES_FIXED_RANGE and RESOURCES_NETWORK_GATEWAY.
Default value for RESOURCES_FIXED_RANGE is 10.2.0.0/24 and
for RESOURCES_NETWORK_GATEWAY is 10.2.0.1
Change-Id: I83f9f90809bbf2e6d73c7282bbb9b2be084b6a66
Co-Authored-By: vsaienko <vsaienko@mirantis.com>