HPCloud CDN traceroutes

HPCloud CDN trace:

# From hpcloud instance

 1:  10.4.66.156       0.194ms pmtu 1500
 1:  10.4.0.1          0.272ms 
 1:  10.4.0.1          0.200ms 
 2:  no reply
 3:  no reply
 4:  67.134.135.133    1.569ms asymm  5 
 5:  4.69.133.110      6.068ms 
 6:  67.131.38.50     19.235ms reached
     Resume: pmtu 1500 hops 6 back 59 
     
# From Singtel (Singapore)

 1:  enigma.local                                          0.138ms pmtu 1500
 1:  10.10.33.1                                            1.064ms asymm  2 
 1:  10.10.33.1                                            0.943ms asymm  2 
 2:  [fake-ip]                                            3.412ms asymm  3 
 3:  [fake-ip]                                             4.352ms asymm  4 
 4:  [fake-ip]                                             3.848ms asymm  5 
 5:  165.21.12.4                                           4.470ms asymm  6 
 6:  203.208.190.21                                        4.459ms asymm  7 
 7:  so-6-0-0-0.sngtp-ar6.ix.singtel.com                   4.409ms asymm  8 
 8:  ge-7-0-0-0.sngtp-dr1.ix.singtel.com                   5.117ms asymm  9 
 9:  203.208.171.194                                      54.528ms asymm 10 
10:  no reply
11:  no reply
12:  58.26.1.18                                           54.925ms reached
     Resume: pmtu 1500 hops 12 back 54 
     
# From AWS US-West

 1:  ip-10-168-107-78.us-west-1.compute.internal (10.168.107.78)   0.145ms pmtu 1500
 1:  ip-10-168-104-2.us-west-1.compute.internal (10.168.104.2)   0.481ms asymm  2 
 1:  ip-10-168-104-2.us-west-1.compute.internal (10.168.104.2)   0.782ms asymm  2 
 2:  ip-10-1-4-9.us-west-1.compute.internal (10.1.4.9)      0.522ms 
 3:  [fake-ip]                                              0.626ms 
 4:  [fake-ip]                                              1.522ms 
 5:  205.251.229.9 (205.251.229.9)                          1.407ms 
 6:  205.251.229.9 (205.251.229.9)                          1.416ms asymm  5 
 7:  no reply
 8:  a173-223-232-139.deploy.akamaitechnologies.com (173.223.232.139)   2.316ms reached
     Resume: pmtu 1500 hops 8 back 57 
     
# From Destiny Internet (Philippines)
 
 1:  192.168.10.30                                         0.140ms pmtu 1400
 1:  [fake-ip]                                            64.397ms 
 1:  [fake-ip]                                            64.493ms 
 2:  no reply
 3:  202.8.255.98                                         72.669ms 
 4:  sun2.mydestiny.net                                   90.557ms 
 5:  202.8.224.193                                        73.428ms 
 6:  202.8.224.201                                       278.546ms 
 7:  202.69.176.89                                        72.339ms 
 8:  202.69.190.86                                        85.670ms 
 9:  ge-4-0-1.GW2.LAX1.ALTER.NET                         250.366ms asymm 15 
10:  0.xe-2-0-0.XL3.LAX1.ALTER.NET                       248.123ms asymm 15 
11:  0.xe-3-1-0.XL3.LAX15.ALTER.NET                      250.239ms asymm 15 
12:  TenGigE0-6-2-0.GW4.LAX15.ALTER.NET                  242.218ms asymm 15 
13:  akamai.customer.alter.net                           243.776ms asymm 15 
14:  a65.197.244.50.deploy.akamaitechnologies.com        256.854ms reached
     Resume: pmtu 1400 hops 14 back 51 
     
# From Sakura Internet (Japan)

 1:  [fake-ip]                                               0.087ms pmtu 1500
 1:  [fake-ip]                                              2.953ms 
 2:  osnrt201b-nrt205e-1.bb.sakura.ad.jp (59.106.254.45)    1.974ms 
 3:  osdrt1-nrt201b.bb.sakura.ad.jp (59.106.255.121)        1.945ms 
 4:  oskrt1-drt1.bb.sakura.ad.jp (59.106.255.82)            1.955ms 
 5:  124.211.15.21 (124.211.15.21)                          4.993ms 
 6:  obpjbb203.kddnet.ad.jp (118.155.199.29)              asymm  7   1.990ms 
 7:  otejbb204.kddnet.ad.jp (203.181.99.65)               asymm  8  16.006ms 
 8:  kotjbb202.kddnet.ad.jp (118.155.198.78)              asymm  9  77.956ms 
 9:  cm-kot202.kddnet.ad.jp (125.29.22.26)                 10.974ms 
10:  125.29.31.238 (125.29.31.238)                         13.948ms 
11:  118.155.230.33 (118.155.230.33)                       14.944ms reached
     Resume: pmtu 1500 hops 11 back 11 
     
# From Starhub (Singapore)

 1:  enigma.local                                          0.136ms pmtu 1500
 1:  192.168.0.1                                           0.559ms 
 1:  192.168.0.1                                           0.664ms 
 2:  [fake-ip]                                            12.575ms 
 3:  172.20.23.1                                          10.572ms 
 4:  172.26.23.1                                          13.969ms 
 5:  172.20.7.14                                          18.053ms 
 6:  203.117.35.25                                        19.471ms 
 7:  sjo-bb1-link.telia.net                              216.206ms asymm  8 
 8:  GigabitEthernet2-0-0.GW4.SJC7.ALTER.NET             210.400ms asymm 15 
 9:  0.so-3-2-0.XL4.SJC7.ALTER.NET                       211.969ms asymm 15 
10:  0.ge-2-0-0.XL4.LAX15.ALTER.NET                      203.205ms asymm 14 
11:  TenGigE0-7-1-0.GW4.LAX15.ALTER.NET                  206.149ms asymm 12 
12:  akamai.customer.alter.net                           203.584ms asymm 13 
13:  a65.197.244.50.deploy.akamaitechnologies.com        202.144ms reached
     Resume: pmtu 1500 hops 13 back 51 

Bootstrap Ubuntu 11.10 Instances with Cloud-config User-Data and Puppet

Assuming you or HPCloud already worked out DNS' PTR issue and a puppet master host is setup, you can use the following user-data to bootstrap an Ubuntu server instance:

#cloud-config
 
puppet:
 conf:
   agent:
     server: "PUPPET-MASTER-FQDN"
 
   puppetd:
     listen: true
 
   # /var/lib/puppet/ssl/ca/ca_crt.pem on the puppetmaster host.
   ca_cert: |
     -----BEGIN CERTIFICATE-----
     PUT-CERT-HERE
     -----END CERTIFICATE-----
 
runcmd:
  - |-
    echo "path /run
    method save
    allow PUPPET-MASTER-FQDN" >> /etc/puppet/auth.conf
  - |-
    echo "[puppetrunner]
    allow PUPPET-MASTER-FQDN" >> /etc/puppet/namespaceauth.conf

Note: Make sure that the cloud-config user-data is a valid YAML file, go here to check.

To run a server instance with a User-Data, setup euca2ools CLI, then run:
euca-run-instances ami-000015cb -t standard.xsmall -g Web -k hpcloud -f user-data.txt 

All you need to do after is sign the certificate request at the puppet master host and do a puppetrun:
puppetca --list
puppetca --sign PUPPET-CLIENT-FQDN
puppetrun PUPPET-CLIENT-FQDN

If you goes well, you should be able to administer every aspect of an Ubuntu server instance from the puppet master host with manifest files.

HPCloud and euca2ools

Using euca2ools with HPCloud is simple. You just have to define environment variables containing your credentials and EC2_URL. Here's how:

export EC2_ACCESS_KEY=TENANT-ID:ACCESS-KEY-ID
export EC2_SECRET_KEY=SECRET-KEY
export EC2_URL=https://az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com/services/Cloud
 
# Or, if you are in AZ-2
export EC2_URL=https://az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com/services/Cloud
 
# Then test
euca-describe-regions
It is important to note that EC2_ACCESS_KEY is a combination of your Tenant ID and Access Key ID (separated by a colon) which can be found in your Account Tab.

Working with GlusterFS Console

OS: CentOS 6.2 (simulation done in HPCloud instances)
Firewall: off
Gluster Setup: 2 replica on 4 hosts (similar raid10)

  • Install Gluster. To get the latest version, I used the one from the upstream
    yum install compat-readline5-devel -y
     
    rpm -Uvh http://download.gluster.com/pub/gluster/glusterfs/LATEST/RHEL/glusterfs-core-3.2.6-1.x86_64.rpm
    rpm -Uvh http://download.gluster.com/pub/gluster/glusterfs/LATEST/RHEL/glusterfs-fuse-3.2.6-1.x86_64.rpm
  • For configuration simplicty. Let's add resolveable names for each server. Do this on all servers
    cat <<'EOF'>> /etc/hosts
    10.4.63.229 site1
    10.4.63.222 site2
    10.4.63.242 site3
    10.4.63.243 site4
    EOF

HPCloud Command Line Interface (CLI) Installation

Details the step-by-step procedure on installing HPCloud CLI on Ubuntu 11.10 or CentOS 6.2.
  • Pre-req
    # For Ubuntu 11.10
    apt-get install -y git gcc make zlib1g-dev libssl-dev libreadline-gplv2-dev libxml2-dev libsqlite3-dev libxslt1-dev
    
    # For CentOS 6.2
    yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel libxslt-devel sqlite-devel libxml2-devel