c1bad5bcf6
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16776 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
107 lines
3.3 KiB
Perl
107 lines
3.3 KiB
Perl
# IBM(c) 2013 EPL license http://www.eclipse.org/legal/epl-v10.html
|
|
package xCAT_schema::Clouds;
|
|
|
|
################################################################################
|
|
#
|
|
# xCAT database Schema for representing OpenStack clouds in an xCAT cluster
|
|
#
|
|
################################################################################
|
|
%tabspec = (
|
|
clouds => {
|
|
cols => [qw(name controller publicnet novanet mgtnet vmnet adminpw dbpwcomments disable)], #do not change 'disable' and 'comments', it is required by xCAT
|
|
keys => [qw(name)],
|
|
required => [qw(name)],
|
|
table_desc => 'OpenStack clouds managed by this xCAT cluster',
|
|
descriptions => {
|
|
name => 'The name of this cloud',
|
|
controller => 'The xCAT node name of the controller node',
|
|
publicnet => 'The name of the network in the xCAT networks table to be used for the OpenStack public network',
|
|
novanet => 'The name of the network in the xCAT networks table to be used for the OpenStack Nova network',
|
|
mgtnet => 'The name of the network in the xCAT networks table to be used for the OpenStack management network',
|
|
vmnet => 'The name of the network in the xCAT networks table to be used for the OpenStack virtual machine network',
|
|
adminpw => 'The administrative password',
|
|
dbpw => 'The database password',
|
|
comments => 'Any user-written notes.',
|
|
disable => "Set to 'yes' or '1' to comment out this row.",
|
|
},
|
|
},
|
|
cloud => {
|
|
cols => [qw(node cloudname comments disable)],
|
|
keys => [qw(node)],
|
|
required => [qw(node cloudname)],
|
|
table_desc => 'xCAT nodes that are used in OpenStack clouds',
|
|
descriptions => {
|
|
node=> 'The xCAT node name',
|
|
cloudname => 'The name of the cloud in the xCAT clouds table that is using this node',
|
|
comments => 'Any user-written notes.',
|
|
disable => "Set to 'yes' or '1' to comment out this row.",
|
|
},
|
|
},
|
|
); # end of tabspec definition
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##################################################################
|
|
#
|
|
# Cloud object and attributes for *def commands
|
|
#
|
|
##################################################################
|
|
|
|
# cloud object
|
|
%defspec = (
|
|
cloud => { attrs => [], attrhash => {}, objkey => 'name' },
|
|
);
|
|
|
|
# cloud attributes
|
|
@{$defspec{cloud}->{'attrs'}} =
|
|
(
|
|
{ attr_name => 'name',
|
|
tabentry => 'clouds.name',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
{ attr_name => 'controller',
|
|
tabentry => 'clouds.controller',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
{ attr_name => 'publicnet',
|
|
tabentry => 'clouds.publicnet',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
{ attr_name => 'novanet',
|
|
tabentry => 'clouds.novanet',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
{ attr_name => 'mgtnet',
|
|
tabentry => 'clouds.mgtnet',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
{ attr_name => 'vmnet',
|
|
tabentry => 'clouds.vmnet',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
{ attr_name => 'adminpw',
|
|
tabentry => 'clouds.adminpw',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
{ attr_name => 'dbpw',
|
|
tabentry => 'clouds.dbpw',
|
|
access_tabentry => 'clouds.name=attr:name',
|
|
},
|
|
);
|
|
|
|
# node attributes for clouds
|
|
@{$defspec{node}->{'attrs'}} =
|
|
(
|
|
{ attr_name => 'cloud',
|
|
tabentry => 'cloud.cloudname',
|
|
access_tabentry => 'cloud.node=attr:node',
|
|
},
|
|
);
|
|
1;
|
|
|
|
|