7deecfbdf2
Change-Id: Ibe5a433cb67c38c0c9b05a50bffa2eda7391f241
50 lines
1.5 KiB
Puppet
50 lines
1.5 KiB
Puppet
# == Class: nova::cell_v2::map_instances
|
|
#
|
|
# Resource to run the map_instances action for cell v2
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*cell_uuid*]
|
|
# (String) Cell UUID to map unmigrated instances to. It is recommended to use
|
|
# this rather than cell name. Either cell_uuid or cell_name must be provided.
|
|
# Defaults to undef.
|
|
#
|
|
# [*cell_name*]
|
|
# (String) Cell name to map the unmigrated instances to. We will attempt to
|
|
# extract the cell uuid using the name as the command requires a cell uuid.
|
|
# NOTE: This will not work if you have multiple cells with the same name.
|
|
# Defaults to undef.
|
|
#
|
|
# [*extra_params*]
|
|
# (String) Extra parameters to pass to the nova-manage commands.
|
|
# Defaults to ''.
|
|
#
|
|
class nova::cell_v2::map_instances (
|
|
$cell_uuid = undef,
|
|
$cell_name = undef,
|
|
$extra_params = '',
|
|
) {
|
|
|
|
include nova::deps
|
|
include nova::params
|
|
|
|
if (!$cell_uuid and !$cell_name) {
|
|
fail('Either cell_uuid or cell_name must be provided')
|
|
}
|
|
|
|
if ($cell_uuid) {
|
|
$cell_uuid_real = $cell_uuid
|
|
} else {
|
|
# NOTE(aschultz): This is what breaks if you have multiple cells with the
|
|
# same name. So that's why using cell_uuid is better.
|
|
$cell_uuid_real = "$(nova-manage cell_v2 list_cells | sed -e '1,3d' -e '\$d' | awk -F ' *| *' '\$2 == \"${cell_name}\" {print \$4}')"
|
|
}
|
|
|
|
exec { 'nova-cell_v2-map_instances':
|
|
path => ['/bin', '/usr/bin'],
|
|
command => "nova-manage ${extra_params} cell_v2 map_instances --cell_uuid=${cell_uuid_real}",
|
|
user => $::nova::params::nova_user,
|
|
refreshonly => true,
|
|
}
|
|
}
|