Skip to content

Instantly share code, notes, and snippets.

@routelastresort
Created August 27, 2013 16:33
Show Gist options
  • Save routelastresort/6355867 to your computer and use it in GitHub Desktop.
Save routelastresort/6355867 to your computer and use it in GitHub Desktop.
bdeo.sh output
$ ./bdeo.sh
bdeo.sh v2.05(Linux)
Build a Cisco CSR 1000V Cloud Services Router OVA from an ISO image.
Accepts user inputs for both Hardware and IOS configuration.
Optionally will deploy to an ESXi Host.
Option Params Description {value}
------------------- --------- -----------------------------------------------
Help:
-h | -help Display this help message and exit
-verbose Produce verbose output while executing {}
Input/Output Options:
-i | -image <path> ISO Image to create OVF from, OR a .ovf or .ova
file to deploy to ESXi server. {}
-o | -output <path> Output directory for OVF package and/or OVA file
{/tmp/cisco}
-n | -name [<name>] Create OVF/OVA with different name than image
If <name> is not specified, a name will be
automatically generated from the VM options
{}
-format [ovf|ova|zip] Generate package in the given format(s)
(comma-separated list) {ova}
Virtual Machine Hardware Options:
-c | -cpus <cpus> Number of CPU's to provision {4}
-m | -memory <MB> Amount of memory to provision {4096}
-ds | -disksize <GB> Minimum size of hard drive to provision {8}
-ns | -nics <nics> Number of ethernet NICS to provision {3}
-ea | -eth_adapter <string> Ethernet adapter type {VMXNET3}
Valid values are: E1000, VMXNET3
-nw | -network <string> VM Network name for all NICs, or comma-separated
list of one name per NIC {VM Network}
Virtual Machine Description Options:
-p | -product <string> Description of product {Cisco CSR 1000V Cloud Services Router}
-v | -vendor <string> Name of vendor {Cisco Systems, Inc.}
-vs | -version_short <str> Short version string {03.09.00a.S.153-2.S0a}
-vl | -version_long <str> Long version string {Cisco IOS-XE Software, version 03.09.00a.S.153-2.S0a}
-pu | -product_url <URL> URL of product {http://www.cisco.com/en/US/products/ps12559/index.html}
-vu | -vendor_url <URL> URL of vendor {http://www.cisco.com}
ESXi/vSphere Options:
-d | -deploy <URL> Deploy OVA to the specified ESXi host {}
-u | -username <string> Username for ESXi login {}
-pw | -password <string> Password for ESXi login {}
-s | -store <string> Name of datastore {datastore1}
-dm | -diskmode <option> Type of diskmode for new VM. {thick}
Valid values are:
thick
-pm | -port_map <list> Comma separated list of port-map names to use
for each VM network from -network option. {}
If not specified, will assume same as -network
-nv | -nooverwrite If set, don't overwrite an existing same-name VM
-po | -poweron If set, VM will power on automatically {}
IOS Configuration Options:
-iu | -ios_username <string> IOS username (Required for remote login) {}
-ipw | -ios_password <string> IOS password (Required for remote login) {}
-epw | -enable_password <str> IOS enable password {}
-ipd | -ip_domain <string> IP Domain Name {}
-hn | -hostname <string> Hostname {}
-ip | -ip_address <adr/mask> Address/mask for management interface, such as
'10.1.1.1/24' or '10.1.1.1 255.255.255.0' {}
Can also specify the string 'dhcp' to use DHCP
-mg | -mgmt_gateway <addr> Default gateway for management VRF {}
Can also specify the string 'dhcp' to use DHCP
-ssh If set, enable SSH login (and disable telnet) {false}
-http If set, enable HTTP server {false}
-https If set, enable HTTPS server {false}
-b | -bootstrap <path> IOS configuration file (a la NVRAM output) to
add to bootstrap, for any configs not covered
by above options. {}
Examples:
bdeo -i ultra.iso
Build OVA 'ultra.ova' from ultra.iso with default values for all options
bdeo -i ultra.iso -n my_vm
Build OVA 'my_vm.ova' from ultra.iso with default values for all options
bdeo -i ultra.iso -n
Build a uniquely named OVA from ultra.iso with default options
bdeo -i ultra.iso -o /auto/tftpboot
Build OVA from ultra.iso and store the OVA in /auto/tftpboot
bdeo -i ultra.iso -c 6 -m 8192 -ns 6 -ds 12
Build OVA with 6 CPUs, 8GB memory, 6 NICs and 12GB minimum hard drive space
bdeo -i ultra.iso -d 10.122.84.23
Build OVA with default values and deploy it to vsphere ESXi 10.122.84.23
bdeo -i ultra.iso -d 10.122.84.23 -s datastore2
Build OVA and deploy to vsphere ESXi 10.122.84.23 on datastore2
bdeo -i ultra.iso -d 10.122.84.23 -dm thick
Build OVA and deploy to vsphere ESXi 10.122.84.23 with thick provisioning
bdeo -i ultra.iso -nics 3 -network 'Management Network,Network 1,Network 2' \
-d 10.122.84.3 -port_map 'VM Network,Net1,Net2'
Build OVA with 3 NICs, labeled as 'Management Network', 'Network 1', and
'Network 2' respectively. Then deploy this OVA to 10.122.84.3 and map the
NICs to port-maps on the host defined as 'VM Network', 'Net1', and 'Net2'
bdeo -i ultra.iso -o /ws/rwellum-sjc/OVA/Results -n -c 6 -m 5000 -ds 25 \
-dm thick -d 10.122.84.53 -u root -pw root -s datastore2
Build OVA from ultra.iso, output OVA to '/ws/rwellum-sjc/OVA/Results',
generate a unique OVA name, provision with 6 CPU's, memory 5000MB,
hard disk size 25G, thick provisioned, deploy to ESXi 10.122.84.53 using
given username and password, on datastore2
bdeo -i ultra.iso -o /ws/rwellum-sjc/OVA/Results/ -n bdeo_test_env \
-d '10.122.84.3/UCS Blade Server/host/10.122.84.25' \
-u administrator -pw root_1 -s 'datastore3' -b cfg.txt
Build OVA with default options plus bootstrap IOS configuration 'cfg.txt',
deploy via vcentre '.3' to ESXI '.25'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment