git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@16778 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;
 | 
						|
 | 
						|
 |