313 Commits

Author SHA1 Message Date
Dmitry Tantsur
fe2102f90c [devstack] stop setting or relying on standard properties
This change moves our devstack plugin away from using the old
scheduling properties: memory_mb, local_gb and cpus. Nova will
stop using them for scheduling in Queens.

The cpu_arch property is left intact, as it's still useful.

The Placement API is polled to determine when nodes are fully exposed
to nova instead of polling the hypervisor stats. cURL + jq are used,
as the Placement OSC plugin is not ready yet.

Change-Id: I497a992bd86e8a359f333d6936621d1136d68061
2017-11-07 14:54:37 +01:00
Vasyl Saienko
f357c76cd5 [Devstack] Replace tap with veth
This patch replace tap interfaces by veth pairs which
ensures that port is always present in ovs even when VM
is powered off.

Closes-Bug: #1722158

Change-Id: I04ff6a97bebf15636a794b51f748c62eda627d36
2017-10-10 11:33:25 +00:00
zhurong
84b6fdd81b Using devstack configure_rootwrap to configure ironic rootwrap
Change-Id: Ib3e258f2e0f9a0415562c9b16dbb2bcea31510f1
2017-09-07 15:10:38 +08:00
Jenkins
0114f71fe5 Merge "Introduce keystoneauth adapters for clients" 2017-09-05 14:12:38 +00:00
Jenkins
ca977b2712 Merge "devstack: Comment variables related to multi-tenant networking" 2017-08-29 01:36:12 +00:00
John L. Villalovos
e1d777bd20 devstack: Comment variables related to multi-tenant networking
Comment some of the variables related to multi-tenant networking. To
make it clear what turns on multi-tenant networking testing.

Change-Id: I6126dd385c6a341e18b825c00d4afe9194d32b35
2017-08-28 16:03:08 +00:00
Jenkins
4cb2175144 Merge "Set explicit default to enabled driver interfaces" 2017-08-23 10:50:52 +00:00
Pavlo Shchelokovskyy
308e414a57 Introduce keystoneauth adapters for clients
Currently ironic explicitly or implicitly sets the API urls
for most services in the config.
This is quite fragile and we should move to discovery from
the keystone catalog eventually.

To support this, this patch registers `keystoneauth1.adapter.Adapter`
options to all config sections for service clients auth.
Among others it exports `interfaces` option that we set to
['internal', 'public'] by default.
Other exported options are `service_type`, `service_name`, `region_name`
and `endpoint_override`.
The latter will eventually be used by all clients to specify a specific
endpoint to use (for example in noauth mode).

Effectively this patch starts to move all clients code to load client
configuration from config for all of auth, session and adapter.

The first to move is [service_catalog] section, with [conductor]api_url
option being deprecated in favor of [service_catalog]endpoint_override.
A sane default of 'service_type' = 'baremetal' is set for this config
section as well.

More patches moving other clients to consume these new options and
deprecate some other options will follow.

Change-Id: I1283ef3b4d736ac089df0cc74a5850a93b24b6ab
Partial-Bug: #1699547
Related-Bug: #1699542
2017-08-22 06:07:19 +00:00
Jenkins
6efe371280 Merge "devstack: Remove unused variable IRONIC_VM_NETWORK_RANGE" 2017-08-21 22:40:12 +00:00
Pavlo Shchelokovskyy
f7fa8afa5b Set explicit default to enabled driver interfaces
this will allow any other devstack plugin that depends on ironic to
easier extend the list for a particular enabled interface type

current explicit defaults are copied from current ironic.conf.sample

Change-Id: I1e22a8dc4bb57e1b1e1002baab38ba2f3ba8f230
2017-08-21 13:14:26 +00:00
Jenkins
82fc8bdad6 Merge "[devstack] use resource classes by default" 2017-08-19 10:47:19 +00:00
Jenkins
38d571add7 Merge "Get rid of sourcing stackrc in grenade settings" 2017-08-18 22:46:03 +00:00
Dmitry Tantsur
d5d8bd2703 [devstack] use resource classes by default
Scheduling based on properties is disabled completely.
Properties are still populated for nodes, we need to figure out
an appropriate wait loop without them first.

Depends-On: I2fd1e4a95f000da19864e75299afa51527697101
Change-Id: I58601cb8301e23560ea666d4ea088ce51af37ee6
2017-08-18 14:39:45 +00:00
John L. Villalovos
68e600bb54 devstack: Remove unused variable IRONIC_VM_NETWORK_RANGE
IRONIC_VM_NETWORK_RANGE is not used anywhere in the code. A search
using:
 http://codesearch.openstack.org/?q=IRONIC_VM_NETWORK_RANGE&i=nope&files=&repos=

Only found this one instance we are deleting.

Change-Id: Idad9bba8b5466bf2fed4a17772f43847475a6f02
2017-08-17 15:48:04 -07:00
Vladyslav Drok
c4b39e7b09 Get rid of sourcing stackrc in grenade settings
Instead, use the common_settings file to source all the variables
we need at the early stages of devstack setup and during the upgrade
itself. This also fixes an issue with the networking-generic-switch
upgrade script, which is run from the old release instead of the new
one.

It depends on a patch from an older release, as grenade is setup
using settings from an older release, we need common_setting to be
populated there.

Change-Id: I0d6d3e9e60785bb9b6a10c8c7a07867a5b2a5e6e
Depends-On: I34fb68c150b753824bd2687a1f522ac87771a5e3
2017-08-17 15:54:10 +00:00
Dmitry Tantsur
1e6bf0f5c0 [devstack] switch to the latest API version and OSC commands
* Use only OSC commands instead of a mix of both CLI
* Switch to "latest" API version, as we're anyway going to use it by default
* Always set resource_class to something, as it's required since Pike

As a side effect, it enabled cleaning before nodes become available.

Change-Id: I36bf8d8204b0287a862a354760071ab3bdafbabc
2017-08-11 13:03:20 +02:00
Jenkins
c08c21e308 Merge "Trigger interface attach tests" 2017-08-05 01:24:32 +00:00
Jenkins
beb14094d4 Merge "Remove SSH-based driver interfaces and drivers" 2017-08-04 02:20:49 +00:00
Jenkins
5f0187d57e Merge "Avoid double ".img" postfix of image file path in devstack installation" 2017-08-03 13:55:44 +00:00
Jenkins
4162e2f188 Merge "[devstack] add support for running behind tls-proxy" 2017-08-03 07:43:19 +00:00
Pavlo Shchelokovskyy
3d9895cc0b Remove SSH-based driver interfaces and drivers
SSH drivers are being unsupported for about a year now. All current
stable branches of ironic are officially supporting IPMI-capable HW
simulation via virtualbmc.
All ironic-related gate jobs have already been switched
to not use or enable those drivers.

This patch finally removes SSH-based power and managemtnt driver interfaces
and all classic drivers using those from ironic code and documentation.
Related exceptions and `ssh_connect` function, together with dependency
on `paramiko` package are removed as well.

Change-Id: Ieda7249b9cd78e3be1eff37804996295fc8d3969
Closes-Bug: #1570301
Depends-On: I9b60c9fa24652e9e64e787cd4e5b0152f51e7a28
2017-08-01 12:39:39 +00:00
Jenkins
84aacc86ea Merge "Added a condition for 'ilo' hardware type" 2017-07-30 14:34:19 +00:00
Jenkins
5187e80f03 Merge "py3.5:Workaround fix for forcing virtualbmc installation with pip2" 2017-07-24 20:36:36 +00:00
kesper
7e99dc00a4 Added a condition for 'ilo' hardware type
Added a condition to not to use deploy iso when boot interface
'ilo-virtual-media' is not enabled.

Change-Id: I97e20f4723967ee14de0d41d6b99149f12f4d2f1
2017-07-24 03:52:16 +00:00
Nisha Agarwal
57e8186d30 py3.5:Workaround fix for forcing virtualbmc installation with pip2
The IPMI commands fail for virtualbmc. This is a workaround
fix to enforce virtualbmc to be installed in python2 as
pyghmi is not ready for python3.5 yet.

Related-Bug: 1696736

Change-Id: Ie4ca923ef0b8363d2f016ebc5be4b2512d3b9a1a
2017-07-22 04:41:54 -07:00
Dmitry Tantsur
f75ff901a9 [devstack] add support for running behind tls-proxy
* pass ipa-insecure=1 to the ramdisk

  DevStack is moving to having TLS by default with self-signed certificates.
  As embedding these certificates in the image will require rebuilding it
  on every run, let's just not verify them in devstack.

* enable running ironic-api behind tls-proxy

Change-Id: Id1c3c44e044c2741f7f3f2ce5510a11ebb2344d9
Closes-Bug: #1694842
Co-Authored-By: Ramamani Yeleswarapu <ramamani.yeleswarapu@intel.com>
2017-07-21 13:46:11 -07:00
Hironori Shiina
2c134ac4c5 DevStack: Add configuration for boot-from-volume
This patch enables boot-from-volume feature for DevStack with VMs.
- Add parameters for setting storage interface.
- Set node property for iscsi boot.
- Create volume connectors.

Change-Id: I1085bb8d44e3dbae61243dd9b65d17db33c505be
Partial-Bug: #1559691
2017-07-20 22:15:20 +00:00
Hironori Shiina
7b8ecaefc4 Allow updating interfaces on a node in available state
Enable being able to set the interfaces for a node that is in the
provision state 'available'.

Change-Id: I428dd5905e6ab90c2c0b7867ba487482171b9496
Closes-Bug: #1704913
2017-07-20 23:38:40 +09:00
Dmitry Tantsur
cb7cdd3534 Fetch Glance endpoint from Keystone if it's not provided in the configuration
This is needed to fix the CI broken by glance switching to running
under wsgi, and thus breaking our assumption that glance is accessible
by host:port only.

The options glance_host, glance_port and glance_protocol were
deprecated.  Standalone deployments should use glance_api_servers
instead.

Also removes two unused utility functions.

Change-Id: I54dc04ab084aeb7208c9dd9940c6434c029bf41c
Partial-Bug: #1699542
2017-06-23 16:42:40 +02:00
Dan Smith
e71555a0df Discover hosts while waiting for hypervisors to show up in devstack
This will help us notice new compute nodes that may have gotten
added while we're polling.

Change-Id: I05502c4f861df48ae9ddaf36ddd37e1f70583db4
2017-06-14 08:05:56 -07:00
Pavlo Shchelokovskyy
977c064105 Make default_boot_option configurable in devstack
This patch adds an IRONIC_DEFAULT_BOOT_OPTION variable to our devstack
plugin (defaulting to 'netboot').

This will allow for easier setup of a DevStack environment to test local
boot with partition images.

Change-Id: I97986e4627c6c5a014cc1507f655ea824f8ea7c8
2017-06-12 11:08:15 +00:00
Vasyl Saienko
873ff86b02 Trigger interface attach tests
This patch configures tempest trigger compute_feature_enabled/interface_attach
to run interface attach/detach tests when network interface is neutron,
and node have more than 1 NIC.

Change-Id: Ic49b6e6d04f06661ad30a7939ba8aa0684cc110e
Depends-On: I48c4706b3eb6e0a5105e463236870921d55dbd93
2017-06-09 21:45:02 +00:00
Pavlo Shchelokovskyy
4f9035c24f Remove legacy auth loading
remove support for specifying client auth in keystone_authtoken config section.
This was deprecated about a year ago and now can safely be removed.

Also, fill the [cinder] section with auth options in devstack.

Change-Id: I0c45d12d80eff45e643af29cded178644071c9fe
2017-06-06 10:20:54 +00:00
kesper
11c1108ce0 Adds parameters to run CI with hardware types.
This commit adds new parameters 'IRONIC_ENABLED_BOOT_INTERFACES',
'IRONIC_ENABLED_DEPLOY_INTERFACES', 'IRONIC_ENABLED_POWER_INTERFACES',
'IRONIC_ENABLED_CONSOLE_INTERFACES', 'IRONIC_ENABLED_INSPECT_INTERFACES',
'IRONIC_ENABLED_RAID_INTERFACES', 'IRONIC_ENABLED_VENDOR_INTERFACES',
'IRONIC_ENABLED_NETWORK_INTERFACES, 'IRONIC_ENABLED_STORAGE_INTERFACES'
and 'IRONIC_ENABLED_MANAGEMENT_INTERFACES' for running CI with hardware
types.

Change-Id: Ic99e551fab87cb5cea2177f5d8c82703fc2df080
2017-05-30 04:45:06 +00:00
Jenkins
a68e30a4f3 Merge "DevStack: Install gunicorn and sushy based on g-r constraints" 2017-05-07 18:18:02 +00:00
Jenkins
5588231117 Merge "[Devstack] Increase default NIC numbers for VMs to 2" 2017-05-05 21:44:57 +00:00
Dmitry Tantsur
08482d215f [devstack] start virtualpdu using full path
Otherwise systemd refuses to load it, and the CI job fails.

Change-Id: Ic312acc4c9389cb54362d8a9a734986aa9076176
2017-05-05 13:56:32 +02:00
Vasyl Saienko
86a190d717 [Devstack] Increase default NIC numbers for VMs to 2
In real world hardware node will have more than 1 NIC, this patch
increase default NIC count to 2 which will allow to test more
realistic scenarios.

Change-Id: I01a45127643e415382ff0897c6b2fb363c7a96fd
2017-05-05 11:53:21 +00:00
Jenkins
cd2c417e38 Merge "[Devstack] Rework VMs connection logic" 2017-05-05 08:10:52 +00:00
Jenkins
6540e7045e Merge "DevStack: Setup a Redfish environment" 2017-05-04 16:35:29 +00:00
Lucas Alvares Gomes
c8e3679ace DevStack: Install gunicorn and sushy based on g-r constraints
It also removes a comma (",") from an error message.

Depends-On: Ie77b220f630babd325e8d31cdc60ddea680c81a1
Change-Id: I3dc1b4df602912516ffdcef0f8bfd0d0750d7698
2017-05-04 09:54:54 +01:00
Jenkins
c408b2dafe Merge "[devstack] use the generic function to setup logging" 2017-05-03 14:20:10 +00:00
Lucas Alvares Gomes
9697ae6b18 DevStack: Setup a Redfish environment
This patch is extending DevStack to support deploying nodes with the new
`redfish` hardware type.

Closes-Bug: #1526477
Change-Id: I260c3033b3eed996bc4d258f29bb36828d32a950
2017-05-03 09:37:24 +01:00
Vasyl Saienko
fdf6f89a23 [Grenade]: Do not run ir-api on primary node after upgrade
Ironic upgrade process has pre-requirement that ironic-conductors
should be upgraded before ironic-api. Grenade is launched on primary
node, where we have ir-api and ir-cond runnning. Do not start ir-api
on primary node after upgrade to avoid situation when we have new ir-api
(primary) and old ir-cond (subnode) as it is not allowed by upgrade
procedure. Instead redirect all requests destinied to ir-api on primary
node to subnode.

Depends-On: I026121121059768aa74389add7eee6e63fdb214d

Change-Id: I9e496353a1d3d6547e4881f96fb187e488cff83f
2017-04-28 13:59:07 +03:00
Sam Betts
6df49741dd [Devstack] Rework VMs connection logic
Devstack currently plugs the simulated baremetal VMs into OVS using the
libvirt bridge driver, this caused a problem because libvirt unplugs the
VM from the network when it is turned off. To fix this an extra bridge
was added between the VM and OVS to allow the OVS port to persist even
when the VM was turned off. This patch replaces how the devstack
simulated baremetal VMs are plugged into OVS with a manually created tap
interface, this removes the need for an extra bridge, because manually
created tap interfaces aren't unplugged when the VM is turned off.

Allow to connect several interfaces to a node by setting
IRONIC_VM_INTERFACE_COUNT devstack variable.

Change-Id: I7d0249efc55edb4f3a69aaa5b101dd80df2a563f
Co-Authored-By: Vasyl Saienko <vsaienko@mirantis.com>
2017-04-28 11:16:58 +03:00
Dmitry Tantsur
c1887a86a2 [devstack] use the generic function to setup logging
This makes our logging setup compatible with USE_SYSTEMD, see gerrit
change I6af6d1857effaf662a9d72bd394864934eacbe70 for details.

Change-Id: I929bebde0ba50a6b9d5e6e0ab7e077b2c02a7849
2017-04-27 13:29:20 +02:00
Jenkins
075e809791 Merge "VirtualPDU use libvirt group instead of libvirtd" 2017-04-26 16:09:23 +00:00
Jenkins
9966bfc651 Merge "Remove pre-allocation model for OneView drivers" 2017-04-25 16:28:10 +00:00
Jenkins
5ebc60de42 Merge "Add /baremetal path instead of port 6385" 2017-04-20 21:13:47 +00:00
Félix Bouliane
7c265a5eac VirtualPDU use libvirt group instead of libvirtd
Currently, VirtualPDU uses 'libvirtd' group, which errors since this
group is not used anymore on ubuntu because we now use the same group
that debian uses 'libvirt'.

This commit change the used group to 'libvirt'. This is the right group
and it's allowed to do changes on virsh.

I would rather use LIBVIRT_GROUP however a bug in the selection logic
sets it to 'libvirtd' group as soon as it exists, even if both exists.

Change-Id: Iddb61356b8a92184ca60a078ea9d929e5b51e629
2017-04-18 18:16:35 -04:00