430 Commits

Author SHA1 Message Date
Pavlo Shchelokovskyy
aa5fd8afdc Allow to set default ifaces in DevStack
as we move toward deprecating classic drivers,
we need a way to specify which particular combination
of interfaces of a hw type to assign to nodes being enrolled
and run test against.

This patch adds a number of IRONIC_DEFAULT_<>_INTERFACE
variables to devstack plugin (all empty by default)
and if set, sets their value as "[DEFAULT]default_<>_interface"
config option.

Change-Id: I9fc22125ddd3c70ff37185d025df1dfa3217a782
2017-10-31 17:31:30 +00: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
Jenkins
fdc5b9ad93 Merge "Test ironic-dbsync online_data_migrations" 2017-08-29 01:34:37 +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
Vasyl Saienko
e5b7aa2033 Test ironic-dbsync online_data_migrations
Run ironic-dbsync online_data_migrations on single node grenade
right after usual dbsync.
Do not set pin_relase_version for single node grenade as we
do cold upgrade and it is not required.

Related-Bug: 1526283
Related-Bug: 1502887
Change-Id: I2e331252aeb66376c2d6cc3c16b6de0aefca5434
2017-08-28 15:46:56 +00:00
Vladyslav Drok
212029537d Add a comment about default devstack images
Change-Id: I64d09d4a6f25ed7dafcdd8dcfd3ed7407eba0baf
2017-08-28 18:08:45 +03:00
John L. Villalovos
44a2b3cb9c Add #!/bin/bash to devstack/common_settings
This helps text editors know the file type and adjust syntax
highlighting correctly.

Change-Id: Id2967d069a0ac443edff06ea037c428559481a5b
2017-08-25 13:19:19 -07:00
Jenkins
4cb2175144 Merge "Set explicit default to enabled driver interfaces" 2017-08-23 10:50:52 +00:00
Jenkins
7f924cf30f Merge "Partially revert "Set resource class during upgrade"" 2017-08-22 15:34:23 +00:00
Vladyslav Drok
63f803c4a9 Partially revert "Set resource class during upgrade"
This reverts part of commit 30bc3c0933a1072e5e4c48b4614f5f387ffd8327.
On master, when upgrading from pike to queens in grenade, we already
create all the nodes with a resource class being set, so no need to
update it. We still pass the parameters to verify and verify_noapi as
that's what grenade does.

Change-Id: Ic7c3218fe95ef9f73d358216831158a1ec025fba
2017-08-22 10:02:32 +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
Jenkins
c55c090b99 Merge "Set resource class during upgrade" 2017-08-21 22:19:43 +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
Vladyslav Drok
30bc3c0933 Set resource class during upgrade
This is done to trigger a bit of code from commit
c3118b91db4b97a689c9a2f25a9554a0ccb29252 to nova for active nodes.

Change-Id: I1ac1b8501cbed901941e7c89fc55c5b9bea0cb4f
2017-08-21 10:14:42 +00:00
Jenkins
82fc8bdad6 Merge "[devstack] use resource classes by default" 2017-08-19 10:47:19 +00:00
Jenkins
3eb915b6e5 Merge "Wait for cleaning is completed after base smoke tests" 2017-08-19 04:25:20 +00:00
Jenkins
8d73a833b6 Merge "Do not restart n-cpu during upgrade" 2017-08-19 04:19:39 +00:00
Jenkins
38d571add7 Merge "Get rid of sourcing stackrc in grenade settings" 2017-08-18 22:46:03 +00:00
Vasyl Saienko
6128bce5d7 Do not restart n-cpu during upgrade
As we do not upgrade nova on multinode grenade, there is no need to
restart it. This way we avoid breaking n-cpu service, as new
dependencies are installed and they may not work with old code.

Change-Id: Id0c13704654d43a663458b9c099a1a0477c746a6
2017-08-18 14:43:08 +00:00
Vasyl Saienko
bf91a8fca4 Wait for cleaning is completed after base smoke tests
Nova do not wait for cleaning is completed when deleting instance
as result after destroy phase ironic may still perform cleaning.
This patch ensures all nodes are available again after base smoke tests
finished and hypervisor stats are updated.

We still need to wait for resources after destroy phase which will be
done in separate patch as changes to grenade workflow are needed.

Change-Id: Ib6c5a0543533893664cb3e895286d0e226e364d2
2017-08-18 14:41:25 +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
Vladyslav Drok
72395ad46f Remove ensure_logs_exist check during upgrade
We now run services under systemd, and this check is not necessary in
this case. Follow-up to commit ee538d1e7c1a92cb8412713e03cdfbcdacad7fab
to grenade.

Change-Id: I84ca621f0200838c04e267101848dc7ca16a5cfe
2017-08-16 10:51:27 +00:00
Jenkins
8d65f2e37a Merge "Update the documentation links - code comments" 2017-08-15 14:48:41 +00:00
Pavlo Shchelokovskyy
20baf6913e Update the documentation links - code comments
This patch updates the old links existing in ironic code as comments.

Change-Id: I75f68b042448cc01d55fdcfec86b42ecacd8fdd3
Co-Authored-By: Chason Chan <chen.xing@99cloud.net>
2017-08-15 09:48:13 +03:00
Jenkins
2a7f939663 Merge "Remove setting custom http_timeout in grenade" 2017-08-14 08:19:29 +00:00
Vladyslav Drok
c4d9159463 Remove setting custom http_timeout in grenade
The fix to the bug this was trying to work around has merged to
neutron.

Change-Id: Ib89a9a61f84923db6463e97d5fd8f9580173b3df
2017-08-11 19:52:00 +03: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
Vasyl Saienko
d860bcfece Disable automated cleaning for single node grenade
We still perform cleaning on multinode grenade where we have
more resources.

Change-Id: Ib01ffbeb1b81bd6248f6628e0e76ed1d33d0365c
2017-08-02 10:24:47 +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
John L. Villalovos
ae5d65c1f7 grenade: Use test_with_retry to check if route is up
Instead of sleeping for 5 seconds, use test_with_retry to check if the
route is up.

Change-Id: I7055244adbc4de76f5d47375b978b04212c7f718
2017-07-29 02:41:40 +00:00
Vladyslav Drok
8302a364b1 Don't use multicell setup for ironic & increase timeout
The reschedule, that happens in multinode jobs quite often, does not
work with multicell setup. Don't use multicell setup for our Ironic
jobs.

Increase the http timeout for clients in order to work around neutron
issue.

Change-Id: I2bbdac5cd431e72517cb1c72bb925660ec8e868b
2017-07-28 09:55:09 -07:00
John L. Villalovos
9d161f6922 grenade: For multi-node grenade, do not upgrade nova
Multi-node grenade jobs will fail if we upgrade nova as the minimum
required API for nova to communicate with ironic was upgraded.

Our goal for multi-node grenade is to test rolling upgrades. The
scenario we envision for rolling upgrades to be done is:

 1) Upgrade ironic-conductor services one by one. This means old
    ironic-api services communicating with new and old
    ironic-conductor services. This is what the multi-node grenade job
    tests.
 2) Upgrade ironic-api services.
 3) Upgrade nova

In this upgrade procedure we should not be running updated nova with
old ironic-api services. This patch fixes that.

Closes-Bug: #1706418
Change-Id: I85c607ae7d031e4cabcb505915aca7e88df166aa
2017-07-25 17:08:12 -07: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
Jenkins
2512d3ed81 Merge "Set nomulticell flag for starting nova-compute in grenade" 2017-07-11 21:25:23 +00:00