VM ISV branding information
Swarm
Perforce Software, Inc.
@INTERNAL_VERSION@
@VERSION@
http://www.perforce.com/
Application
3ee99593-0777-4749-ab26-1f7419297f3a
___ __ ___
| _ \___ _ _ / _|___ _ _ __ ___ / __|_ __ ____ _ _ _ _ __
| _/ -_) '_| _/ _ \ '_/ _/ -_) \__ \ V V / _` | '_| ' \
|_| \___|_| |_| \___/_| \__\___| |___/\_/\_/\__,_|_| |_|_|_|
${app.name} version ${app.version}
To use Swarm, browse to:
http://${app.ip}/
For documentation on Swarm, please see:
http://${app.ip}/docs/
Please ensure you add the necessary triggers to your Perforce server:
http://${app.ip}/docs/setup/perforce_config.html
To manage this VM, browse to:
${vami.url}
.' '. __
For assistance, please contact: . . . (__\_
support@perforce.com . . . -{{_(|8)
' . . ' ' . . ' (__/`
This product includes PHP software, freely available from
<http://www.php.net/software/>
www.perforce.com
Perforce Software, Inc.
VM Division
US
VAMI Specific Information
true
true
true
true
true
true
true
true
@PACKAGE@.vmx
#!/bin/sh
# This script will be passed the full path to the ovffile as $1
#
# The script should produce a detached signature file with
# a .cert extension into the same directory as the passed ovffile.
# this will generate a self-signed certificate and sign the OVF with it.
cd `dirname $1`
/opt/vmware/bin/signovf -s '/C=US/ST=Some-State/O=AnyCompany/CN=Self-Signed' `basename $1`
# if you have your own pem key, you can sign the OVF with it this way:
# /opt/vmware/bin/signovf -p /tmp/my_pem_file.pem `basename $1`
@APP_PACKAGE_URL@
@VENDOR_PACKAGE_URL@
#!/bin/bash
# Un comment to send the output of this script to a logfile
#exec > /opt/vmware/var/log/firstboot 2>&1
: This script is executed on first boot only.
/etc/first-time-boot.sh
# Un comment to run subsequent boot script after first boot
#/opt/vmware/etc/isv/subsequentboot
#!/bin/bash
# Un comment to send the output of this script to a logfile
#exec > /opt/vmware/var/log/subsequentboot 2>&1
: This script is executed on all boots, except the first one.
Supported IP assignment schemes
Supported IP assignment schemes
Unknown OVF elements in this element will be passed directly
to the OVF output descriptor without interpretation
#!/bin/sh
# Sample pre install update script
# This script will be executed with the following arguments:
# $1 - version of VM before update
# $2 - version of VM trying to be installed
: "Installing update from version $1 to version $2"
#exit with value of 0 to allow update to continue
exit 0
#!/bin/sh
# Sample post install update script
# This script will be executed with the following arguments:
# $1 - version of VM before update
# $2 - version of VM trying to be installed
# $3 - status of update process
#
# The Status in $3 will indicate to success of failure of the update:
# 0 - all update steps are successful
# 1 - pre install script failed, package test and installation skipped
# 2 - pre install success, package test failed, installation skipped
# 4 - pre install and package test success, package installation failed
#
# A Status of 2 is likely caused by a package dependency conflict.
# A Status of 4 is likely caused by a failed package install script.
if [ $3 -eq 0 ]; then
echo "Finished installing version $2"
else
echo "Failed with status of $3 while installing version $2"
echo "VM version is still $1"
fi
# Exit with a value of 0 to allow the VM version to be changed and set the
# final update status to success.
exit 0
#!/bin/sh
# Sample script to sign updates
# $1 is the file to sign
# $2 is the file to save sig into write the signature to stdout
# sample pem file
PEMFILE=/opt/vmware/etc/update.pem
# Sign the update with the temporary certificate
openssl dgst -sha1 -sign $PEMFILE -out "$2" "$1"
#!/bin/sh
# Sample script to get the public key
# $1 is the file to write the public key to
SUBJECT='/C=US/ST=Some-State/O=AnyCompany/CN=Self-Signed'
PEMFILE=/opt/vmware/etc/update.pem
if [ ! -f $PEMFILE ]; then
# Create a temporary self-signed certificate first time only
openssl req -x509 -nodes -sha256 -newkey rsa:1024 -keyout $PEMFILE -out $PEMFILE -subj '$SUBJECT'
fi
# Get the public key
openssl rsa -in $PEMFILE -pubout -out $1
#!/bin/sh
# Sample script to validate digital signature
# $1 is the file to validate
# $2 is the signature file
# $3 is the signature key file
# exit with status of 0 if valid
openssl dgst -sha1 -verify "$3" -signature "$2" "$1"
Guest Operating System
Ubuntu 12.04.2 LTS amd64
Virtual Hardware Requirements
vmx-07
-
2 virtual CPU
Number of virtual CPUs
1
3
2
-
MegaBytes
2048 MB of memory
Memory Size
2
4
2048
-
true
Ethernet adapter on vmnet
Network 1
3
E1000
10
-
0
SCSI Controller 0 - LSI Logic
4
lsilogic
6
-
0
Harddisk 0
/disk/system
5
4
17
vService content in this element will be passed directly
to the OVF output descriptor without interpretation
initrd=ubuntu-installer/amd64/initrd.gz
priority=critical
locale=en_US bootkbd=us
kbd-chooser/method=us console-setup/layoutcode=us
disable_dhcp=true
file=/preseed.cfg
--
append initrd=ubuntu-installer/amd64/initrd.gz
priority=critical locale=en_US bootkbd=us
kbd-chooser/method=us console-setup/layoutcode=us
netcfg/disable_dhcp=false dhcptimeout=120 netcfg/choose_interface=eth0
preseed/url=[VADK.unattendedCfgURL]
--
/ecloud/vmware-studio/templates/ubuntu/12/ubuntu12.xsl
RepositoryList
PackageList
VM Network
dhcp
10.5.20.53
10.0.0.2
true
true
true
#!/bin/bash
# Enable the following lines for reducing the space occupied for the
# operating system by uninstalling potentially unneeded packages. The script
# template is located at /opt/vmware/etc/footprint and should be used with
# appropriate verification.
if true; then
cut_pkgs_wrapper=run_cut_pkgs.sh
cut_pkgs_url=http://[VADK.localIP]/build/[VADK.buildID]/script/$cut_pkgs_wrapper
wget_err="/tmp/wget_err.log"
wget_opt="-nH --cut-dirs=2 -nv"
echo Download run_cut_pkgs.sh
wget $wget_opt -P /tmp $cut_pkgs_url 2>$wget_err 1>/dev/null
if [ $? -ne 0 ]; then
errmsg=`cat $wget_err`
echo Abort: $errmsg
else
echo Execute run_cut_pkgs.sh
chmod +x /tmp/$cut_pkgs_wrapper
/tmp/$cut_pkgs_wrapper
rm -f /tmp/$cut_pkgs_wrapper $wget_err
fi
fi
# Don't use default repositories; hardcoded to GB.
# Use mirrors to find nearest repository to appliance instead.
(
uri=mirror://mirrors.ubuntu.com/mirrors.txt
rel=precise
com='main restricted universe multiverse'
echo deb $uri $rel $com
echo deb $uri $rel-updates $com
echo deb $uri $rel-backports $com
echo deb $uri $rel-security $com
) > /etc/apt/sources.list.d/mirrors.list
chmod 644 /etc/apt/sources.list.d/mirrors.list
mv /etc/apt/sources.list /etc/apt/sources.list.default
#!/bin/bash
# n.b. Perforce developers: don't use this section. It removes files out
# of /usr/share such as man pages, defeating their inclusion.
# Enable the following lines for reducing the space occupied for the
# operating system by deleting potentially unneeded files. The script
# template is located at /opt/vmware/etc/footprint and should be used with
# appropriate verification.
if false; then
cut_files_wrapper=run_cut_files.sh
cut_files_url=http://[VADK.localIP]/build/[VADK.buildID]/script/$cut_files_wrapper
wget_err="/tmp/wget_err.log"
wget_opt="-nH --cut-dirs=2 -nv"
echo Download run_cut_files.sh
wget $wget_opt -P /tmp $cut_files_url 2>$wget_err 1>/dev/null
if [ $? -ne 0 ]; then
errmsg=`cat $wget_err`
echo Abort: $errmsg
else
echo Execute run_cut_files.sh
chmod +x /tmp/$cut_files_wrapper
/tmp/$cut_files_wrapper
rm -f /tmp/$cut_files_wrapper $wget_err
fi
fi
# 2013-06-10 perforce.com :
# The vami tools include their own version of various shared libraries like
# libncurses and libpam, but they are incomplete: they don't provide their
# own terminfo files or pam plugin modules. And naturally, these libs
# aren't fully compatible with ubuntu12's configuration files and plugins.
#
# Since they're at the same major version numbers as the system libraries,
# get rid of the vmware-supplied ones.
rm /opt/vmware/lib/libpam.so* /opt/vmware/lib/libncurses.so*
ldconfig
# Oh and also, the vami tools hardcode the full path to the PAM modules.
# That's unnecessary and the path is wrong for Ubuntu 12 anyway.
for cf in /etc/pam.d/vami-sfcb /etc/pam.d/vmtoolsd
do
if [ -f $cf ]; then
sed --follow-symlinks -i.orig 's=/lib64/security/==' $cf
fi
done
# 2014-06-11 perforce.com:
# Add our public repository
echo "deb http://package.perforce.com/apt/ubuntu/ precise release" \
> /etc/apt/sources.list.d/perforce.list
apt-key add /etc/apt/perforce.pubkey
rm -f /etc/apt/perforce.pubkey
# 2013-07-30 perforce.com:
# Replace Apache's security configuration file with this stricter one.
# The changes here are driven from a security audit
cat <<APACHE_SECURITY > /etc/apache2/conf.d/security
ServerTokens Prod
ServerSignature Off
TraceEnable off
<IfModule mod_ssl.c>
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
SSLCompression off
</IfModule>
APACHE_SECURITY
List of logical networks used in the package
Network 1
List of the virtual disks and partitions needed
VMW Config elements in this element will be passed directly
to the OVF output descriptor without interpretation