5227 Commits

Author SHA1 Message Date
Yuriy Yekovenko
9084c647a9 Add test to verify ironic multitenancy
* 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
2016-07-18 15:50:05 +03:00
vsaienko
ad5a06c534 Add multitenancy devstack configuration examples.
The guide shows how to setup Devstack with Ironic multitenancy
and ``networking-generic-switch`` Neutron ML2 driver.

Depends-On: If2fb996783b9ac26a5bae2aadd6387207750def9
Change-Id: I24ef394536e5109cf1499ec87f6a495063a87f5d
Closes-bug: #1526403
2016-07-18 15:49:56 +03:00
vsaienko
75fc071b54 Add configure_provision_network function
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
2016-07-14 14:00:42 +03:00
vsaienko
8fe320753c Update Ironic VM network connection
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
2016-07-14 13:58:49 +03:00
Devananda van der Veen
6d846590bc Follow-up fixes to 206244
This commit is a collection of follow-up fixes to the nits/comments on
https://review.openstack.org/#/c/206244/116

Change-Id: I5631f5df3c0b6a3baa386da8b93b1e888c1f8d3c
2016-07-13 18:12:35 -07:00
Jenkins
76726c6a3f Merge "Add multitenancy-related fields to port API object" 2016-07-13 23:42:52 +00:00
Jenkins
0599f07344 Merge "Update the deploy drivers with network flipping logic" 2016-07-13 23:42:42 +00:00
Jenkins
bd8bbf5e7d Merge "Add 'neutron' network interface" 2016-07-13 23:40:41 +00:00
Jenkins
501b0cecbf Merge "Config variable to configure [glance] section" 2016-07-13 21:39:33 +00:00
Jenkins
e49cd1af0a Merge "Add support for building ISO for deploy ramdisk" 2016-07-13 21:39:24 +00:00
Jenkins
7fa98a94f8 Merge "Allow to use network interfaces in devstack" 2016-07-13 20:26:54 +00:00
Jenkins
bbda414072 Merge "Add network interface to base driver class" 2016-07-13 20:25:30 +00:00
Laura Moore
0a5549680d Add multitenancy-related fields to port API object
This commit adds new fields to port object:
- port.pxe_enabled: indicates whether pxe is enabled or disabled
      for this port
- port.local_link_connection: contains the port binding profile.

Partial-bug: #1526403
Co-Authored-By: Jenny Moorehead <jenny.moorehead@sap.com>
Co-Authored-By: Will Stevenson <will.stevenson@sap.com>
Co-Authored-By: Vasyl Saienko <vsaienko@mirantis.com>
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Co-Authored-By: Zhenguo Niu <Niu.ZGlinux@gmail.com>

Change-Id: Ie655fd59b06de7b84fba3b438d5e4c2ecd8075c3
2016-07-13 13:39:56 +03:00
Om Kumar
5041703401 Update the deploy drivers with network flipping logic
This patch consumes the plumbing work for network interfaces and thus
provides support for tenant network isolation for baremetal.

Partial-bug: #1526403
Co-Authored-By: Vasyl Saienko <vsaienko@mirantis.com>
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Co-Authored-By: Sivaramakrishna Garimella <sivaramakrishna.garimella@hp.com>

Change-Id: I2f0a508973ff2f674c16f91d5dc440f9e8e667bf
2016-07-13 13:39:56 +03:00
Vasyl Saienko
ab97fa0f1f Add 'neutron' network interface
This patch adds a 'neutron' network interface. This interface
supports separate networks for provisioning and for cleaning of nodes.

Partial-bug: #1526403
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Change-Id: Ia3442ab3536a1a8d8839b24dbfc640b818450350
2016-07-13 13:38:56 +03:00
Jenkins
e8e1ea9ed6 Merge "Increase devstack BM VM RAM for coreos to boot" 2016-07-12 18:19:42 +00:00
Vasyl Saienko
cde11611d9 Add network interface to base driver class
This change also introduces two network interfaces:

* flat: Copies current neutron DHCP provider logic to work with
  cleaning ports;
* noop: noop interface.

The default value of the network_interface is None, meaning that the
node will be using the default network interface. The default network
interface is determined the following way:

* if [DEFAULT]default_network_interface configuration option is set
  (the default for it is None), the specified interface becomes the
  default for all nodes;

* if it is not set, 'flat' interface will be used if the deployment
  currently uses 'neutron' DHCP provider, otherwise 'noop' interface
  will be used.

create_cleaning_ports and delete_cleaning_ports methods of the DHCP
providers are still being called in case of out-of-tree DHCP
providers, but this possibility will be removed completely in the
next release. If the DHCP provider logic is rewritten into a custom
network interface, please remove those methods from the provider, so
that network interface is called instead.

Partial-bug: #1526403
Co-Authored-By: Om Kumar <om.kumar@hp.com>
Co-Authored-By: Vasyl Saienko <vsaienko@mirantis.com>
Co-Authored-By: Sivaramakrishna Garimella <sivaramakrishna.garimella@hp.com>
Co-Authored-By: Vladyslav Drok <vdrok@mirantis.com>
Co-Authored-By: Zhenguo Niu <Niu.ZGlinux@gmail.com>
Change-Id: I0c26582b6b6e9d32650ff3e2b9a3269c3c2d5454
2016-07-12 19:08:07 +03:00
Carol Bouchard
1805765fef Increase devstack BM VM RAM for coreos to boot
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
2016-07-12 10:34:56 -04:00
Jenkins
c93243c68a Merge "Add a doc about appending kernel parameters to boot instances" 2016-07-12 14:27:20 +00:00
R-Vaishnavi
8abcf2ebfe Config variable to configure [glance] section
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
2016-07-12 03:21:48 +00:00
R-Vaishnavi
6edfdfac31 Add support for building ISO for deploy ramdisk
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
2016-07-12 02:55:28 +00:00
Lin Tan
3bc5ebf008 Add a doc about appending kernel parameters to boot instances
Close-Bug: #1569189
Change-Id: I3395e635a5c4f45e00ee809dceb63c1755b9e66a
2016-07-12 02:10:32 +00:00
Jenkins
1825267b3a Merge "Centralize config options - [glance]" 2016-07-12 01:42:07 +00:00
Jenkins
38d450890d Merge "Trivial grammar fixes to the upgrade guide" 2016-07-11 20:38:42 +00:00
Miles Gould
b287c6a491 Trivial grammar fixes to the upgrade guide
Change-Id: I5e5df031755c0fa5586b6b8930f6a0d340f089d3
2016-07-11 16:13:44 +01:00
Jenkins
764d01a6eb Merge "Fix two types in ironic.conf.sample" 2016-07-11 14:53:41 +00:00
Jenkins
99bab8522b Merge "Remove IBootOperationError exception" 2016-07-11 14:53:32 +00:00
Jenkins
ed8bd85bba Merge "Remove unused expected_filter in the unit test" 2016-07-11 13:19:44 +00:00
Jenkins
c4ff454b10 Merge "Remove white space between print and ()" 2016-07-11 10:52:08 +00:00
Lin Tan
b56f168683 Remove unused expected_filter in the unit test
The expected_filter was not used, so remove it
from test_manager.

Change-Id: I08b7f36116eb198ff4cf89ef16e8f03828588fa5
2016-07-11 15:41:25 +08:00
OpenStack Proposal Bot
9e9ceece99 Updated from global requirements
Change-Id: I6f624dd8f1cff06bb1f41c87937234e216cd9377
2016-07-09 19:20:52 +00:00
yuyafei
32ac108e48 Remove white space between print and ()
TrivialFix

Change-Id: I0f691bbd30329266bc90bb64881a122f0384636b
2016-07-09 09:30:01 +08:00
Jenkins
2feaa51d13 Merge "Allow to enroll nodes with oneview driver" 2016-07-08 22:34:38 +00:00
Jenkins
de9d6f46ed Merge "Correct reraising of exception" 2016-07-08 18:28:41 +00:00
Jenkins
12363a201f Merge "Add internal_info field to ports and portgroups" 2016-07-08 18:27:00 +00:00
Lucas Alvares Gomes
3ca8ab094e Remove IBootOperationError exception
This exception is not raised anywhere.

Change-Id: I1a93b6bf9b231042446ed77969f11ea25ca5013e
2016-07-08 14:32:42 +00:00
Imre Farkas
068c4be478 Delete bios_wsman_mock.py from DRAC driver
It's left over from the dracclient refactor patches. Should have been
removed in 51a73e11c2f6bad0302cefcd8380f6ccbc757907.

Change-Id: I52a520971dfc3dfd2ba20c9620c303697adc02dd
2016-07-08 13:07:52 +02:00
yuyafei
435997941e Correct reraising of exception
When an exception was caught and rethrown, it should call 'raise'
without any arguments because it shows the place where an exception
occured initially instead of place where the exception re-raised.

Change-Id: I98c11a0dd394c122cc3f3ade0ba651f99aec1530
2016-07-08 18:57:49 +08:00
Thiago Paiva
219a690329 Allow to enroll nodes with oneview driver
This patch allows import nodes with *_oneview drivers from
space separated nodes file.

Change-Id: I6d8447fd0404f9746bbfb0e38bf3c6c66b7ab1f8
2016-07-07 21:11:25 -03:00
Vladyslav Drok
0a5bb693ef Add internal_info field to ports and portgroups
In case of ports, it is also added to the API, as a readonly field.
It will be used for any port-specific internal information ironic
needs to store inside the port object. In this change we start using
it to store UUIDs of the cleaning ports that ironic creates, instead
of fiddling with port.extra['vif_port_id'], as extra is intended for
operator use only.

Partial-bug: #1526403

Change-Id: Ib62c3e32305619d0c55f8ec7e45b067f0f0b32d4
2016-07-07 19:56:13 +03:00
Ramamani Yeleswarapu
dbdd01bda2 Centralize config options - [glance]
Nova style refactor of config options in Ironic.

Change-Id: If91ab834f32f571e9c669ec5888bfc8de03bb2e0
Partial-Bug: #1561100
2016-07-07 09:27:39 -07:00
Jenkins
22aba527fb Merge "Remove iterated form of side effects" 2016-07-07 15:35:59 +00:00
Miles Gould
e5c23a2b9c Fix two types in ironic.conf.sample
I ran `tox -e genconfig` with a re-built virtualenv, and this was the
result.

Change-Id: I54b2376411524f5b9758a771b76fd735013f69f1
2016-07-07 13:02:09 +01:00
zhufl
790fcef4d1 Remove unused LOG
This is to remove unused LOG to keep code clean.

Change-Id: I1532f36edd97a2c01004b17f878f292d851469a9
2016-07-07 14:12:40 +08:00
Yuiko Takada Mori
e65fb13da8 Remove iterated form of side effects
Currently, mock side_effect is iterated form because of bug #1473381,
but this bug has been fixed already.
This patch set reverts it to previous form.

Change-Id: Iff81effb75179be20c3f87b718a1509af51435bf
Closes-Bug: #1473383
2016-07-07 10:08:55 +09:00
Jenkins
5bd0c1b358 Merge "Improve the readability of configuration drive doc part" 2016-07-06 12:57:26 +00:00
Lin Tan
1bdf197366 Improve the readability of configuration drive doc part
This corrects the presentation of section
``Enabling the configuration drive (configdrive)``
to improve the readability.

Change-Id: Iff480d8a45da76f4ec96835b02ebd5cb61774b80
Co-Authored-By: Devananda van der Veen <devananda.vdv@gmail.com>
2016-07-06 09:21:35 +00:00
Jenkins
93228611f4 Merge "Centralize config options - [virtualbox]" 2016-07-05 21:16:39 +00:00
Jenkins
fc70b103aa Merge "Centralize config options - [swift]" 2016-07-05 20:41:05 +00:00
Jenkins
f3ba258331 Merge "Centralize config options - [ssh]" 2016-07-05 17:04:55 +00:00