Having completed the CreateAssembly (Create Assets) re-write of the SimpleExaCli I decided it was time to migrate some of the additional functionality I use and enhancing the outputs to match my requirements. This quick blog entry will describe the currently migrated commands and their new output structure. In accordance with my previous CreateAssembly blog I have split the functions into smaller commands and subsequently wrapped calls to these into a top level SimplePythonExaCli.sh. Although this is not a full re-write the list of functions will grow but currently comprise of the following:
Each will be described in more detail but all follow the same underlying principles on parameter requirements and processing described below.
Download
Each will be described in more detail but all follow the same underlying principles on parameter requirements and processing described below.
Download
SimplePythonExaCli.sh
This script is simply a pass through wrapper that inspects its first, command,, parameter and calls the appropriate sub-script passing all remaining parameters without inspecting them.[root@PythonEchoUtilityServer ~]# SimplePythonExaCli.sh -? usage: SimplePythonExaCli.sh Commands --list-accounts --list-vservers --list-vnets | --list-networks --list-distgroups | --list-distribution-groups --list-volumes --list-templates --create-assets | --create-assemblies --capture-vserver --convert-vserver-to-template | --create-template Parameters passed directly onto sub command. For command specific help execute --help. [root@PythonEchoUtilityServer ~]#
while [ $# -gt 0 ] do case "$1" in # Commands --list-accounts) shift; $DIRNAME/ListAccounts.sh "$@";; --list-vservers) shift; $DIRNAME/ListVServers.sh "$@";; --list-vnets | --list-networks) shift; $DIRNAME/ListNetworks.sh "$@";; --list-distgroups | --list-distribution-groups) shift; $DIRNAME/ListDistributionGroups.sh "$@";; --list-templates) shift; $DIRNAME/ListTemplates.sh "$@";; --list-volumes) shift; $DIRNAME/ListVolumes.sh "$@";; --create-assets | --create-assemblies) shift; $DIRNAME/CreateAssembly.sh "$@";; --capture-vserver) shift; $DIRNAME/CaptureVServer.sh "$@";; --convert-vserver-to-template | --create-template) shift; $DIRNAME/ConvertVServerToTemplate.sh "$@";; *) usage;; esac break done
Common Processing Functionality
All the functions within the new functions require the following mandatory parameters:- -u, --user : Username to be used to access the EMOC via the IaaS Cli.
- -p, --passwordFile : Name of the file containing the password associated with the user, this file will contain just the password.
- --url : URL to access EMOC.
- -f, --assemblyFile : JSON file to which output will be written.
- -a, --account : Name of the Account to be processed.
- --verbose : Prints verbose output during execution.
List Accounts
The List Accounts function will take the specified account and list all the assets that are defined within the specified account and can be considered an amalgamation of the following List commands. In it's default format this is a simple list of the assets:[root@PythonEchoUtilityServer ~]# ListAccounts.sh -u root -p root.pwd -a andrew --url https://172.16.0.5:9443 Connecting to account andrew DistributionGroups in Account: andrew dgWLS dgOTD Networks in Account: andrew EoIB-external-mgmt scae09-eoib1 IPoIB-vserver-shared-storage vNetWLS vNetOTD Templates in Account: andrew UtilityVServerTemplate ECHO_Guest_Template_2_0_6_0_0 NavstarBaseGuestTemplate EchoBaseGuestTemplate OTDTestTemplate WLSTestTemplate Volumes in Account: andrew TestVol3 TestSharedVol1 TestVol2 TestSharedVol2 TestVol1 Disconnecting from account Connecting to account andrew vServers in Account: andrew EchoUtilityServer otdNode2 PythonEchoUtilityServer OTDTemplateServer otdAdminServer Test NavstarUtilityServer otdNode1 wlsManagedServer2 wlsManagedServer1 wlsAdminServer Disconnecting from accountSpecifying the --verbose option will cause the function to drill down into the components and expand its output into a more human readable form.
[root@PythonEchoUtilityServer ~]# ListAccounts.sh -u root -p root.pwd -a andrew --url https://172.16.0.5:9443 --verbose Connecting to account andrew DistributionGroups in Account: andrew dgWLS Size : 8 VServer : wlsManagedServer2 VServer : wlsAdminServer VServer : wlsManagedServer1 Status : OK dgOTD Size : 8 VServer : otdNode1 VServer : otdNode2 VServer : otdAdminServer Status : OK Networks in Account: andrew EoIB-external-mgmt Range/CIDR : 10.128.38.0/23 Status : OK scae09-eoib1 Range/CIDR : 10.128.36.0/24 Status : OK .......... Templates in Account: andrew UtilityVServerTemplate Description : Import URLs: [http://192.168.21.5/shares/export/common/images/vServerTemplates/el_template_PythonEchoUtilityServer.tgz] Public : true Status : OK ECHO_Guest_Template_2_0_6_0_0 Description : Echo Guest Vservers Template 2 0 6 0 0 Public : true Status : OK .......... Volumes in Account: andrew TestVol3 Size : 16.0 Shared : false VServer : EchoUtilityServer Status : OK .......... Disconnecting from account Connecting to account andrew vServers in Account: andrew EchoUtilityServer Description : Oracle VM Virtual Machine Template : Removed HA : false Type : SMALL Distribution Group: Network : EoIB-external-mgmt 10.128.38.31 Network : IPoIB-vserver-shared-storage 172.17.0.45 Volume : TestVol3 otdNode2 Description : OTD Node 2 vServer Template : OTDTestTemplate HA : true Type : SMALL Distribution Group: dgOTD Network : vNetWLS 192.168.3.168 Network : scae09-eoib1 10.128.36.204 Network : vNetOTD 192.168.4.57 Network : IPoIB-vserver-shared-storage 172.17.0.44 .......... Disconnecting from account
List Distribution Groups
Simply Lists the distribution groups declared within an account when the --verbose parameter is specified the list will include more tetailed information including which vServers are members of the distribution group.[root@PythonEchoUtilityServer ~]# ListDistributionGroups.sh -u root -p root.pwd -a andrew --url https://172.16.0.5:9443 --verbose Connecting to account andrew DistributionGroups in Account: andrew dgWLS Size : 8 VServer : wlsManagedServer2 VServer : wlsAdminServer VServer : wlsManagedServer1 Status : OK dgOTD Size : 8 VServer : otdNode1 VServer : otdNode2 VServer : otdAdminServer Status : OK Disconnecting from account Overall Execution Time : 0:00:15
List Networks
In its simple for the list networks command will display a plain list of the networks associated with the account. When verbose is specified we can see the IP/CIDR for the networks as well.[root@PythonEchoUtilityServer ~]# ListNetworks.sh -u root -p root.pwd -a andrew --url https://172.16.0.5:9443 --verbose Connecting to account andrew Networks in Account: andrew EoIB-external-mgmt Range/CIDR : 10.128.38.0/23 Status : OK scae09-eoib1 Range/CIDR : 10.128.36.0/24 Status : OK IPoIB-vserver-shared-storage Range/CIDR : 172.17.0.0/16 Status : OK vNetWLS Range/CIDR : 192.168.3.0/24 Status : OK vNetOTD Range/CIDR : 192.168.4.0/24 Status : OK Disconnecting from account Overall Execution Time : 0:00:12
List Templates
The List Templates by default will simply display a list of all templates that are accessible within the specified account. This includes any that have been declared as public in another account. When the --verbose flag is used it will display the extra information about the public status of the template.[root@PythonEchoUtilityServer ~]# ListTemplates.sh -u root -p root.pwd -a andrew --url https://172.16.0.5:9443 --verbose Connecting to account andrew Templates in Account: andrew UtilityVServerTemplate Description : Import URLs: [http://192.168.21.5/shares/export/common/images/vServerTemplates/el_template_PythonEchoUtilityServer.tgz] Public : true Status : OK ECHO_Guest_Template_2_0_6_0_0 Description : Echo Guest Vservers Template 2 0 6 0 0 Public : true Status : OK NavstarBaseGuestTemplate Description : Import URLs: [http://192.168.21.5/shares/export/common/images/el_base_linux_guest_vm_template_2.0.4.0.0_64.tgz] Public : true Status : OK EchoBaseGuestTemplate Description : Import URLs: [http://192.168.21.5/shares/export/common/images/el_base_linux_guest_vm_template_2.0.6.0.0_64.tgz] Public : true Status : OK OTDTestTemplate Description : Import URLs: [http://172.17.0.5/shares/export/common/images/vServerTemplates/el_template_OTDTemplateServer.tgz] Public : false Status : OK WLSTestTemplate Description : Import URLs: [http://172.17.0.5/shares/export/common/images/vServerTemplates/el_template_WLSTemplateServer.tgz] Public : false Status : OK Disconnecting from account Overall Execution Time : 0:00:12
List Volumes
The default output for the List Volumes is a simple list of volume names. When the --verbose is supplied additional information about each volume will be displayed including, if attached, the vServers using attaching the volume.[root@PythonEchoUtilityServer ~]# ListVolumes.sh -u root -p root.pwd -a andrew --url https://172.16.0.5:9443 --verbose Connecting to account andrew Volumes in Account: andrew TestVol3 Size : 16.0 Shared : false VServer : wlsAdminServer Status : OK TestSharedVol1 Size : 8.0 Shared : true Status : OK TestVol2 Size : 32.0 Shared : false VServer : otdAdminServer Status : OK TestSharedVol2 Size : 16.0 Shared : true Status : OK TestVol1 Size : 16.0 Shared : false VServer : otdAdminServer Status : OK Disconnecting from account Overall Execution Time : 0:00:16
List vServers
Displays a simple list of vServer names but when the --verbose is used this list is expanded to include information about distribution groups, networks etc.[root@PythonEchoUtilityServer ~]# ListVServers.sh -u root -p root.pwd -a andrew --url https://172.16.0.5:9443 --verbose Connecting to account andrew vServers in Account: andrew EchoUtilityServer Description : Oracle VM Virtual Machine Template : Removed HA : false Type : SMALL Distribution Group: Network : EoIB-external-mgmt 10.128.38.31 Network : IPoIB-vserver-shared-storage 172.17.0.45 otdNode2 Description : OTD Node 2 vServer Template : OTDTestTemplate HA : true Type : SMALL Distribution Group: dgOTD Network : vNetWLS 192.168.3.168 Network : scae09-eoib1 10.128.36.204 Network : vNetOTD 192.168.4.57 Network : IPoIB-vserver-shared-storage 172.17.0.44 PythonEchoUtilityServer Description : Oracle VM Virtual Machine Template : Removed HA : false Type : SMALL Distribution Group: Network : EoIB-external-mgmt 10.128.38.37 Network : IPoIB-vserver-shared-storage 172.17.0.32 OTDTemplateServer Description : Oracle VM Virtual Machine Template : Removed HA : false Type : SMALL Distribution Group: Network : scae09-eoib1 10.128.36.210 Network : IPoIB-vserver-shared-storage 172.17.0.36 otdAdminServer Description : OTD Admin vServer Template : OTDTestTemplate HA : true Type : SMALL Distribution Group: dgOTD Network : vNetWLS 192.168.3.169 Network : vNetOTD 192.168.4.55 Network : IPoIB-vserver-shared-storage 172.17.0.42 Network : scae09-eoib1 10.128.36.202 Volume : TestVol2 Volume : TestVol1 Test Description : Oracle VM Virtual Machine Template : EchoBaseGuestTemplate HA : false Type : SMALL Distribution Group: Network : scae09-eoib1 10.128.36.211 Network : IPoIB-vserver-shared-storage 172.17.0.26 NavstarUtilityServer Description : Oracle VM Virtual Machine Template : Removed HA : false Type : SMALL Distribution Group: Network : IPoIB-vserver-shared-storage 172.17.0.41 Network : EoIB-external-mgmt 10.128.38.36 otdNode1 Description : OTD Node 1 vServer Template : OTDTestTemplate HA : true Type : SMALL Distribution Group: dgOTD Network : IPoIB-vserver-shared-storage 172.17.0.43 Network : scae09-eoib1 10.128.36.203 Network : vNetWLS 192.168.3.167 Network : vNetOTD 192.168.4.54 wlsManagedServer2 Description : WLS Managed vServer 2 Template : WLSTestTemplate HA : true Type : SMALL Distribution Group: dgWLS Network : vNetWLS 192.168.3.160 Network : IPoIB-vserver-shared-storage 172.17.0.48 wlsManagedServer1 Description : WLS Managed vServer 1 Template : WLSTestTemplate HA : true Type : SMALL Distribution Group: dgWLS Network : IPoIB-vserver-shared-storage 172.17.0.47 Network : vNetWLS 192.168.3.162 wlsAdminServer Description : WLS Admin vServer Template : WLSTestTemplate HA : true Type : SMALL Distribution Group: dgWLS Network : IPoIB-vserver-shared-storage 172.17.0.46 Network : vNetWLS 192.168.3.161 Volume : TestVol3 Disconnecting from account Overall Execution Time : 0:00:22
No comments:
Post a Comment