Updated envd configs for mixed virt and baremetal (ironic)

The env.d files and example configs have been updated to show how ironic
can be mixed with virt within the same control plane. These files allow
for a new group ironic-compute_hosts to be setup. This will spawn a new
ironic container on the selected node which will contain the
nova-compute and nova-scheduler service configured for use within
ironic.

The test cases have been updated to support the new ironic_compute
environmental group.

Change-Id: Iaa467e28fd829722384cb2e8dad2ed7bf08484e5
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Kevin Carter 2016-10-26 14:37:33 -05:00
parent 31a2c9da0e
commit 58074fdeed
No known key found for this signature in database
GPG Key ID: 69FEFFC5E2D9273F
5 changed files with 73 additions and 1 deletions

View File

@ -2,3 +2,9 @@
ironic-infra_hosts:
aio1:
ip: 172.29.236.100
# Ironic compute hosts. These compute hosts will be used to
# facilitate ironic's interactions through nova.
ironic-compute_hosts:
aio1:
ip: 172.29.236.100

View File

@ -397,7 +397,7 @@
#
# --------
#
# Level: compute_hosts (required)
# Level: compute_hosts (optional)
# List of target hosts on which to deploy the nova compute service. Recommend
# one minimum target host for this service. Typically contains target hosts
# that do not reside in other levels.
@ -419,6 +419,28 @@
#
# --------
#
# Level: ironic-compute_hosts (optional)
# List of target hosts on which to deploy the nova compute service for Ironic.
# Recommend one minimum target host for this service. Typically contains target
# hosts that do not reside in other levels.
#
# Level: <value> (required, string)
# Hostname of a target host.
#
# Option: ip (required, string)
# IP address of this target host, typically the IP address assigned to
# the management bridge.
#
# Example:
#
# Define an OpenStack compute host:
#
# ironic-compute_hosts:
# ironic-infra1:
# ip: 172.29.236.121
#
# --------
#
# Level: storage-infra_hosts (required)
# List of target hosts on which to deploy the cinder API. Recommend three
# minimum target hosts for this service. Typically contains the same target

View File

@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
component_skel:
ironic_api:
belongs_to:
@ -23,6 +24,10 @@ component_skel:
ironic_server:
belongs_to:
- ironic_servers
ironic_compute:
belongs_to:
- nova_all
container_skel:
ironic_api_container:
@ -47,6 +52,18 @@ container_skel:
properties:
is_metal: true
service_name: ironic
ironic_compute_container:
belongs_to:
- ironic-compute_containers
contains:
- ironic_compute
- nova_compute
- nova_scheduler
- neutron_linuxbridge_agent
- neutron_openvswitch_agent
properties:
is_metal: false
service_name: nova
physical_skel:
@ -62,3 +79,9 @@ physical_skel:
ironic-server_hosts:
belongs_to:
- hosts
ironic-compute_containers:
belongs_to:
- all_containers
ironic-compute_hosts:
belongs_to:
- hosts

View File

@ -0,0 +1,16 @@
---
# Copyright 2016, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
nova_virt_type: ironic

View File

@ -209,6 +209,11 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
'ironic_server',
'ironic_server_container',
'ironic_servers',
'ironic_compute',
'ironic_compute_container',
'ironic-compute_containers',
'ironic-compute_all',
'ironic-compute_hosts',
'keystone',
'keystone_all',
'keystone_container',