fuel-library/deployment/puppet/vmware/manifests/init.pp
Igor Zinovik 0f6abf96c3 Add 'compute-vmware' granular deployment task
'compute-vmware' deployment task deploys nova-compute (VCDriver) on node
that got assigned 'compute-vmware' role:
- it installs nova-compute package
- prepares /etc/nova/nova-compute.conf file
- launches nova-compute service

It happens only if current node name (e.g. node-3) matches 'target_node'
attribute, it means that particuliar vSphere cluster was mapped to
current 'compute-vmware' node.

Change the way how nova-compute gets deployed on controller nodes
(vmware/manifests/compute/ha.pp): nova-compute deploys on controllers
only if 'target_node' attribute in contains 'controllers' value.

Diminish technical debt:
- remove references to 'common.libvirt_type.value'
- remove 'compute_driver' from manifests parameter list, it is inlined
  into configuration templates
- Remove useless vmware_index() invocation

Implements: blueprint compute-vmware-role
DocImpact: document new role in User Guide (VMware integration notes),
           update screenshots with VMware tab
Change-Id: I42ed40d86c5d43289fc210d426be523da545d268
2015-07-27 21:02:26 +03:00

63 lines
2.2 KiB
Puppet

# Copyright 2014 Mirantis, 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.
# This is the main VMWare integration class
# It should check the variables and basing on them call needed
# subclasses in order to setup VMWare integration with OpenStack
# Variables:
# vcenter_user - contents user name which should be used for configuring
# integration with vCenter
# vcenter_password - vCenter user password
# vcenter_host_ip - contents IP address of the vCenter host
# vcenter_cluster - contents vCenter cluster name
# vcenter_datastore_regex - the datastore_regex setting specifies the data stores to use with Compute
# vlan_interface - interface which is used on ESXi hosts when nova-network uses VlanManager
# use_quantum - shows if neutron enabled
class vmware (
$vcenter_settings = undef,
$vcenter_user = 'user',
$vcenter_password = 'password',
$vcenter_host_ip = '10.10.10.10',
$vcenter_cluster = 'cluster',
$vlan_interface = undef,
$use_quantum = false,
$vnc_address = '0.0.0.0',
$ceilometer = false,
$debug = false,
)
{
class { 'vmware::controller':
vcenter_settings => $vcenter_settings,
vcenter_user => $vcenter_user,
vcenter_password => $vcenter_password,
vcenter_host_ip => $vcenter_host_ip,
vlan_interface => $vlan_interface,
use_quantum => $use_quantum,
vnc_address => $vnc_address,
}
if $ceilometer {
class { 'vmware::ceilometer':
vcenter_settings => $vcenter_settings,
vcenter_user => $vcenter_user,
vcenter_password => $vcenter_password,
vcenter_host_ip => $vcenter_host_ip,
vcenter_cluster => $vcenter_cluster,
debug => $debug,
}
}
}