Skip to content

AWS Dev environment

David Laing edited this page Feb 21, 2014 · 2 revisions

Start up a BOSH-LITE AWS machine

[07:50:02][ruby-1.9.3-p448][mrdavidlaing@maccy001:~/Projects/CloudFoundry/bosh-lite(master)]
$ cd aws
[07:50:05][ruby-1.9.3-p448][mrdavidlaing@maccy001:~/Projects/CloudFoundry/bosh-lite/aws(master)]
$ vagrant up --provider=aws
Bringing machine 'default' up with 'aws' provider...
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.1
[fog][WARNING] Unable to load the 'unf' gem. Your AWS strings may not be properly encoded.
[default] Warning! The AWS provider doesn't support any of the Vagrant
high-level network configurations (`config.vm.network`). They
will be silently ignored.
[default] Launching an instance with the following settings...
[default]  -- Type: m1.xlarge
[default]  -- AMI: ami-5760493e
[default]  -- Region: us-east-1
[default]  -- Keypair: labs-commander
[default]  -- Security Groups: ["boshlite"]
[default]  -- Block Device Mapping: [{:DeviceName=>"/dev/sda1", "Ebs.VolumeSize"=>25}]
[default]  -- Terminate On Shutdown: false
[default]  -- Monitoring: false
[default]  -- EBS optimized: false
[default] Waiting for instance to become "ready"...
[default] Waiting for SSH to become available...
[default] Machine is booted and ready for use!
[default] Rsyncing folder: /Users/mrdavidlaing/Projects/CloudFoundry/bosh-lite/aws/ => /vagrant
[default] Running provisioner: shell...
[default] Running: inline script
stdin: is not a tty
Public IP is 184.72.156.52
You can bosh target 184.72.156.52, or run vagrant ssh and then bosh target 127.0.0.1

SSH into the machine and connect ensure bosh_cli is connected to the local director

[07:51:50][ruby-1.9.3-p448][mrdavidlaing@maccy001:~/Projects/CloudFoundry/bosh-lite/aws(master)]
$ vagrant ssh
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.1
[fog][WARNING] Unable to load the 'unf' gem. Your AWS strings may not be properly encoded.
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Fri Feb 21 07:52:19 UTC 2014

  System load:  1.45               Processes:           121
  Usage of /:   10.6% of 24.48GB   Users logged in:     0
  Memory usage: 1%                 IP address for lo:1: 192.168.50.4
  Swap usage:   0%                 IP address for eth0: 10.152.169.140

  Graph this data and manage this system at https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

  Use Juju to deploy your cloud instances and workloads:
    https://juju.ubuntu.com/#cloud-precise

27 packages can be updated.
11 updates are security updates.

Last login: Tue Dec 17 10:20:14 2013 from static.147.38.76.144.clients.your-server.de

ubuntu@ip-10-152-169-140:~$ bosh status
Config
Cannot load YAML file at `/home/ubuntu/.bosh_config': Permission denied - /home/ubuntu/.bosh_config
ubuntu@ip-10-152-169-140:~$ sudo chown ubuntu:ubuntu .bosh_config

ubuntu@ip-10-152-169-140:~$ bosh status
Config
             /home/ubuntu/.bosh_config

Director
  Name       Bosh Lite Director
  URL        https://192.168.50.4:25555
  Version    1.5.0.pre.1525 (605e691b)
  User       not logged in
  UUID       4aabd2cd-389f-48c5-9d9b-14c17b909459
  CPI        warden
  dns        disabled
  compiled_package_cache disabled
  snapshots  disabled

Deployment
  not set
ubuntu@ip-10-152-169-140:~$ bosh stemcells
Please log in first
ubuntu@ip-10-152-169-140:~$ bosh login
Your username: admin
Enter password: *****
Logged in as `admin'

Upload latest stemcell

ubuntu@ip-10-152-169-140:~$ bosh stemcells

+---------------+---------+-----------------------------------------------+
| Name          | Version | CID                                           |
+---------------+---------+-----------------------------------------------+
| bosh-stemcell | 993     | stemcell-b6072772-cae8-468c-9779-5c8df30d02d9 |
+---------------+---------+-----------------------------------------------+

(*) Currently in-use

Stemcells total: 1
ubuntu@ip-10-152-169-140:~$ wget http://bosh-jenkins-gems-warden.s3.amazonaws.com/stemcells/latest-bosh-stemcell-warden.tgz
--2014-02-21 07:55:08--  http://bosh-jenkins-gems-warden.s3.amazonaws.com/stemcells/latest-bosh-stemcell-warden.tgz
Resolving bosh-jenkins-gems-warden.s3.amazonaws.com (bosh-jenkins-gems-warden.s3.amazonaws.com)... 176.32.100.195
Connecting to bosh-jenkins-gems-warden.s3.amazonaws.com (bosh-jenkins-gems-warden.s3.amazonaws.com)|176.32.100.195|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 383087889 (365M) [application/x-tar]
Saving to: `latest-bosh-stemcell-warden.tgz'

100%[=======================================================================================================>] 383,087,889 42.4M/s   in 9.7s    

2014-02-21 07:55:18 (37.7 MB/s) - `latest-bosh-stemcell-warden.tgz' saved [383087889/383087889]

ubuntu@ip-10-152-169-140:~$ bosh upload stemcell latest-bosh-stemcell-warden.tgz

Verifying stemcell...
File exists and readable                                     OK
Verifying tarball...
Read tarball                                                 OK
Manifest exists                                              OK
Stemcell image file                                          OK
Stemcell properties                                          OK

Stemcell info
-------------
Name:    bosh-warden-boshlite-ubuntu
Version: 40

Checking if stemcell already exists...
No

Uploading stemcell...

latest-bosh-s: 100% |ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo| 365.3MB  54.0MB/s Time: 00:00:06

Director task 43

Update stemcell
  extracting stemcell archive (00:00:05)                                                            
  verifying stemcell manifest (00:00:00)                                                            
  checking if this stemcell already exists (00:00:00)                                               
  uploading stemcell bosh-warden-boshlite-ubuntu/40 to the cloud (00:00:17)                         
  save stemcell bosh-warden-boshlite-ubuntu/40 (stemcell-5a4b2c74-cf73-46ae-95e8-7334e7327750) (00:00:04)
Done                    5/5 00:00:26                                                                

Task 43 done
Started		2014-02-21 07:55:47 UTC
Finished	2014-02-21 07:56:13 UTC
Duration	00:00:26

Stemcell uploaded and created
ubuntu@ip-10-152-169-140:~$ 

Clone jenkins-boshrelease, and from that folder

~/jenkins-boshrelease/$ bosh create release --force
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.0
Syncing blobs...
java/jre-1.6.0_24-x86_64.tar.gz downloaded                                      
jenkins/jenkins-1.509.2.war downloaded                                          
nginx/nginx-1.4.2.tar.gz downloaded                                             
nginx/pcre-8.33.tar.gz downloaded                                               
git/git-1.8.5.3.tar.gz downloaded                                               
jenkins/jenkins-1.532.1.war downloaded                                          
libyaml/yaml-0.1.4.tgz downloaded                                               
ruby/bundler-1.2.1.gem downloaded                                               
ruby/ruby-1.9.3-p484.tar.gz downloaded                                          
ruby/rubygems-1.8.24.tgz downloaded                                             
cf-cli/cf-cli_amd64-v6.0.0-bin.gz downloaded                                    
Please enter development release name: jenkins

Building DEV release
---------------------------------

Building packages
-----------------
Building bosh-cli...
  Final version:   Downloading `bosh-cli (1)'...

Building cf-cli...
  Final version:   Downloading `cf-cli (1)'...

Building git...
  Final version:   Downloading `git (1)'...

Building jenkins...
  Final version:   Downloading `jenkins (2)'...

Building jre...
  Final version:   Downloading `jre (1)'...

Building libyaml...
  Final version:   Downloading `libyaml (1)'...

Building nginx...
  Final version:   Downloading `nginx (1)'...

Building ruby...
  Final version:   Downloading `ruby (1)'...


Resolving dependencies
----------------------
Dependencies resolved, correct build order is:
- cf-cli
- git
- jenkins
- jre
- libyaml
- nginx
- ruby
- bosh-cli


Building jobs
-------------
Building jenkins_master...
  Final version:   Downloading `jenkins_master (3)'...


Building release
----------------

Generating manifest...
----------------------
Writing manifest...

Release summary
---------------
Packages
+----------+---------+-------+
| Name     | Version | Notes |
+----------+---------+-------+
| bosh-cli | 1       |       |
| cf-cli   | 1       |       |
| git      | 1       |       |
| jenkins  | 2       |       |
| jre      | 1       |       |
| libyaml  | 1       |       |
| nginx    | 1       |       |
| ruby     | 1       |       |
+----------+---------+-------+

Jobs
+----------------+---------+-------+
| Name           | Version | Notes |
+----------------+---------+-------+
| jenkins_master | 3       |       |
+----------------+---------+-------+

Release version: 3.1-dev
Release manifest: /Users/mrdavidlaing/Projects/CloudFoundry/jenkins-boshrelease/dev_releases/jenkins-3.1-dev.yml

Upload the new dev release

[10:32:16][ruby-1.9.3-p448][mrdavidlaing@maccy001:~/projects/CloudFoundry/jenkins-boshrelease(master)]
$ bosh -n upload release
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.0

Copying packages
----------------
bosh-cli (1)                  FOUND LOCAL
cf-cli (1)                    FOUND LOCAL
git (1)                       FOUND LOCAL
jenkins (2)                   FOUND LOCAL
jre (1)                       FOUND LOCAL
libyaml (1)                   FOUND LOCAL
nginx (1)                     FOUND LOCAL
ruby (1)                      FOUND LOCAL

Copying jobs
------------
jenkins_master (3)            FOUND LOCAL

Building tarball
----------------
Generated /var/folders/db/_0_sh45x3754pgh_v8xjqnjw0000gp/T/d20140221-1425-1fkemkd/d20140221-1425-1l5f38z/release.tgz
Release size: 112.3M

Verifying release...
File exists and readable                                     OK
Extract tarball                                              OK
Manifest exists                                              OK
Release name/version                                         OK
Read package 'bosh-cli' (1 of 8)                             OK
Package 'bosh-cli' checksum                                  OK
Read package 'cf-cli' (2 of 8)                               OK
Package 'cf-cli' checksum                                    OK
Read package 'git' (3 of 8)                                  OK
Package 'git' checksum                                       OK
Read package 'jenkins' (4 of 8)                              OK
Package 'jenkins' checksum                                   OK
Read package 'jre' (5 of 8)                                  OK
Package 'jre' checksum                                       OK
Read package 'libyaml' (6 of 8)                              OK
Package 'libyaml' checksum                                   OK
Read package 'nginx' (7 of 8)                                OK
Package 'nginx' checksum                                     OK
Read package 'ruby' (8 of 8)                                 OK
Package 'ruby' checksum                                      OK
Package dependencies                                         OK
Checking jobs format                                         OK
Read job 'jenkins_master' (1 of 1), version 3                OK
Job 'jenkins_master' checksum                                OK
Extract job 'jenkins_master'                                 OK
Read job 'jenkins_master' manifest                           OK
Check template 'bin/jenkins_master_ctl' for 'jenkins_master' OK
Check template 'bin/monit_debugger' for 'jenkins_master'     OK
Check template 'bin/nginx_ctl' for 'jenkins_master'          OK
Check template 'data/properties.sh.erb' for 'jenkins_master' OK
Check template 'helpers/ctl_setup.sh' for 'jenkins_master'   OK
Check template 'helpers/ctl_utils.sh' for 'jenkins_master'   OK
Check template 'config/nginx.conf.erb' for 'jenkins_master'  OK
Check template 'config/mime.types' for 'jenkins_master'      OK
Job 'jenkins_master' needs 'jenkins' package                 OK
Job 'jenkins_master' needs 'jre' package                     OK
Job 'jenkins_master' needs 'nginx' package                   OK
Job 'jenkins_master' needs 'git' package                     OK
Job 'jenkins_master' needs 'cf-cli' package                  OK
Job 'jenkins_master' needs 'bosh-cli' package                OK
Job 'jenkins_master' needs 'ruby' package                    OK
Monit file for 'jenkins_master'                              OK

Release info
------------
Name:    jenkins
Version: 3.1-dev

Packages
  - bosh-cli (1)
  - cf-cli (1)
  - git (1)
  - jenkins (2)
  - jre (1)
  - libyaml (1)
  - nginx (1)
  - ruby (1)

Jobs
  - jenkins_master (3)


Uploading release
release.tgz:   100% |ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo| 112.3MB  92.0KB/s Time: 00:20:49

Director task 44

Extracting release
  extracting release (00:00:01)                                                                     
Done                    1/1 00:00:01                                                                

Verifying manifest
  verifying manifest (00:00:00)                                                                     
Done                    1/1 00:00:00                                                                

Resolving package dependencies
  resolving package dependencies (00:00:00)                                                         
Done                    1/1 00:00:00                                                                

Creating new packages
  bosh-cli/1 (00:00:00)                                                                             
  cf-cli/1 (00:00:00)                                                                               
  git/1 (00:00:00)                                                                                  
  jenkins/2 (00:00:01)                                                                              
  jre/1 (00:00:01)                                                                                  
  libyaml/1 (00:00:00)                                                                              
  nginx/1 (00:00:00)                                                                                
  ruby/1 (00:00:00)                                                                                 
Done                    8/8 00:00:02                                                                

Creating new jobs
  jenkins_master/3 (00:00:01)                                                                       
Done                    1/1 00:00:01                                                                

Release has been created
  jenkins/3.1-dev (00:00:00)                                                                        
Done                    1/1 00:00:00                                                                

Task 44 done
Started		2014-02-21 10:54:19 UTC
Finished	2014-02-21 10:54:23 UTC
Duration	00:00:04

Release uploaded

[10:54:23][ruby-1.9.3-p448][mrdavidlaing@maccy001:~/projects/CloudFoundry/jenkins-boshrelease(master)]
$ bosh releases
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update

+---------+----------+-------------+
| Name    | Versions | Commit Hash |
+---------+----------+-------------+
| jenkins | 3.1-dev  | 5778d073+   |
+---------+----------+-------------+
(+) Uncommitted changes

Releases total: 1

Deploy the deployments/bosh-lite-jenkins.yml deployment

$ bosh deployment deployments/bosh-lite-jenkins.yml 
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update
Deployment set to `/Users/mrdavidlaing/Projects/CloudFoundry/jenkins-boshrelease/deployments/bosh-lite-jenkins.yml'
[10:59:31][ruby-1.9.3-p448][mrdavidlaing@maccy001:~/projects/CloudFoundry/jenkins-boshrelease(master)]
$ bosh -n deploy
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update
Getting deployment properties from director...
Unable to get properties list from director, trying without it...
Compiling deployment manifest...

Director task 45

Preparing deployment
  binding deployment (00:00:00)                                                                     
  binding releases (00:00:00)                                                                       
  binding existing deployment (00:00:00)                                                            
  binding resource pools (00:00:00)                                                                 
  binding stemcells (00:00:00)                                                                      
  binding templates (00:00:00)                                                                      
  binding properties (00:00:00)                                                                     
  binding unallocated VMs (00:00:00)                                                                
  binding instance networks (00:00:00)                                                              
Done                    9/9 00:00:00                                                                

Preparing package compilation

Compiling packages
  cf-cli/1 (00:00:17)                                                                               
  jenkins/2 (00:00:22)                                                                              
  jre/1 (00:00:29)                                                                                  
  libyaml/1 (00:00:39)                                                                              
  nginx/1 (00:01:26)                                                                                
  git/1 (00:02:47)                                                                                  
  ruby/1 (00:05:20)                                                                                 
  bosh-cli/1 (00:03:15)                                                                             
Done                    8/8 00:09:14                                                                

Preparing DNS
  binding DNS (00:00:00)                                                                            
Done                    1/1 00:00:00                                                                

Creating bound missing VMs
  warden/0 (00:00:05)                                                                               
Done                    1/1 00:00:05                                                                

Binding instance VMs
  jenkins_master/0 (00:00:01)                                                                       
Done                    1/1 00:00:01                                                                

Preparing configuration
  binding configuration (00:00:00)                                                                  
Done                    1/1 00:00:00                                                                

Updating job jenkins_master
  jenkins_master/0 (canary) (00:00:49)                                                              
Done                    1/1 00:00:49                                                                

Task 45 done
Started		2014-02-21 10:59:45 UTC
Finished	2014-02-21 11:09:54 UTC
Duration	00:10:09

Deployed `bosh-lite-jenkins.yml' to `Bosh Lite Director'

Clone this wiki locally