Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Wiki Markup
\* Apply for account at Maggelan: [http://magellan.nersc.gov/?page_id=564

...

]

\* Sign on to the forum: [https://mailman.nersc.gov/mailman/listinfo/eucalyptus-discuss

...

]

\* Login to web interface: [https://mageuca.nersc.gov:8443/

...

|https://mageuca.nersc.gov:8443/]

\* Upload euca2tols tool kit form [http://open.eucalyptus.com/wiki/Euca2oolsGuide

...

]

[http://open.eucalyptus.com/wiki/Euca2oolsGuide]\* list of all commands:

...

 [http://blogs.plexibus.com/2010/06/17/eucalyptus-euca2ools/

...

]
in particular I followed '/Euca2oolsInstallJaunty_v1.1'  for my Ubuntu VM deployment,

...


but skip step about updating /etc/apt/sources.list with 'deb [http://www.eucalyptussoftware.com/downloads/repo/euca2ools/1.1/ubuntu] jaunty universe'

...



I did:

...


*sudo apt-get update

...

*
*sudo apt-get install euca2ools

...

*

Check  euca2ools by executing e.g.:  euca2ools

...


should complain about missing keys but program must be found

...



\* Generate one time keys for Eucalyptus form the interface: [https://mageuca.nersc.gov:8443

...

]

upload keys to local machine in to .euca

...

Bundle & upload to Eucalyptus my VM 'from within'
* copy private key & certificate to some directory you do NOT want to distribute those with the VM image. Make sure you do not leve them somewhere else on VM - the whole world will hack you later

...

 directory

----
*Bundle & upload to Eucalyptus my VM 'from within'*
\* copy private key & certificate to some  directory you do NOT want to distribute those with the VM image. Make sure you do not leve them somewhere else on VM - the whole world will hack you later

*sudo mkdir /mnt/eucaBuild/*
\* copy there euca2-yourName-e3e764-cert.pem  euca2-yourName-e3f64-pk.pem cloud-cert.pem eucars.csh

...


\* set enviromental variables by *source eucars.csh

...

*

\* setup working directory for the bundle which will be excluded from the bundle

...



*sudo mkdir /image

...

*

\* *Bundle* local VM , will take 1-2 hours ..., you may need to specify the kernel & ramdisk (values below worked in November 2010). {color:#0000ff}For{color} {color:#0000ff}the{color} {color:#0000ff}64-bit VM is generated below:

...

{color}
>*sudo euca-bundle-vol \-c $EC2_CERT \-k $EC2_PRIVATE_KEY \-u $EC2_USER_ID \--ec2cert $EUCALYPTUS_CERT  \-d /image \-e /image \--no-inherit \-r x86_64 \--kernel eki-AEC117E0 \--ramdisk eri-175C1933* \--

...

fstab  /mnt/eucaBuild/euca-vfstab

...

USE of existing images

...




----
USE of existing images

\* query existing images:
> *euca-describe-images \| grep emi \| grep \-i ubuntu

...

*

_OUTPUT:

...

_
_IMAGE   emi-39DF160F    ubuntu-image-bucket/ubuntu.9-04.x86-64.img.manifest.xml admin   available       public  x86_64

...

  machine_

\* create  key-pair for one Eucalyptus session

...


> *euca-add-keypair balewski-euca > balewski-euca.private

...

*
> *chmod 0600 balewski-euca.private

...

*

*>euca-describe-keypairs

...

*

euca-describe-keypairs

...



\* launch an instance you want. The default image has 10GB limit, if you need larger add '*\-t m1.xlarge*'

...

 or even  '*\-t c1.xlarge*' for CPUs/20G memory/20 G disk.

...


> *euca-run-instances \-k balewski-euca* *emi-

...

39DF160F **\-t m1.xlarge

...

*




_OUTPUT:

...

_
_RESERVATION     r-470107EF      balewski        balewski-default

...

_
_INSTANCE i-31D50646 emi-39DF160F 0.0.0.0 0.0.0.0 pending balewski-euca 2010-10-22T16:05:53.609Z eki-AEC117E0 eri-175C1933

...

_

\* check if instance is running (after few minutes, depends on the size of the image)

...


> *euca-describe-instances  i-31D50646

...

*
_OUTPUT:

...

_
_RESERVATION     r-470107EF      balewski

...

        default_
_INSTANCE i-31D50646 emi-39DF160F 128.55.56.51 192.168.4.2 running balewski-euca 0 m1.small 2010-10-22T16:05:53.609Z euca eki-AEC117E0 eri-175C1933

...

_

\* Set security group prior to connecting to the instance (see 'Potential problems' above - private key may be wrong.)

...


> *euca-authorize \-P tcp \-p 22 \-s 0.0.0.0/0

...

 default*



_OUTPUT:

...

_
_GROUP   default_
_PERMISSION      default ALLOWS  tcp     22      22      FROM    CIDR    0.0.0.0/0

...

_

\* {color:#ff0000}Connect to the instance{color}
{color:#ff0000}>{color} {color:#ff0000}{*}ssh \-i ./balewski-euca.private root@128.55.56.57

...

{*}{color}


\* Terminate instance
> *euca-terminate-instances   i-31D50646

...

*

_OUTPUT:

...

_
_INSTANCE        i-31D50646

...

_

after \~10 seconds the same command results with nothing

...



---\-
----

...


*notes from failing installation of euca2tol on SL5.3

...

*
* *instruction page* is as for [http://open.eucalyptus.com/wiki/Euca2oolsCentosInstall_v1.1

...

]
* set system variables

...


export VERSION=1.2

...


export ARCH=x86_64

...


export http_proxy="http://aaa:bbb"  ( _do not forget the prefix 'http://'_)

...


to get 'yum' to work from BNL  one needs to setup proxy be setting above

...


* create file */etc/yum.repos.d/euca.repo* as in Centos instruction

...


in my case I hardcoded '1.2' instead of '$VERSION' because yum did not wanted to pick it up from the system variable set by the export command. It looks now like this

...


{code

...

}cat  /etc/yum.repos.d/euca.repo
[euca2ools]
name=Euca2ools
baseurl=http://www.eucalyptussoftware.com/downloads/repo/euca2ools/1.2/yum/centos/
enabled=1 

...

{code}
\\

* execute
yum install euca2ools.$ARCH \--nogpgcheck

...


* Problems
*# bundling  would quit after \~15 minutes of work with the message:
{code}
euca-bundle-vol -c $EC2_CERT -k $EC2_PRIVATE_KEY -u $EC2_USER_ID --ec2cert $EUCALYPTUS_CERT -d /image -e /image --no-inherit -r x86_64 --kernel eki-AEC117E0 --ramdisk eri-175C1933
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.131823 seconds, 8.0 MB/s
......
......
......
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs \-c or \-i to override.
Unable to copy files

...

{code}
*SOLUTION:

...

*
*## edit python script  /usr/lib/python2.5/site-packages/euca2ools/\__init_\_.py

...


look for line 1013 and add "print output" so it looks like:

...


{code

...

}       if output[1]:
           print output
           raise CopyError

...

{code}
Then you'll see what's causing problems and exclude it.

...


*## in my case it was \~3 screen-dump

...


{code

...

}('', 'selinux: rsync_xal_set: lsetxattr security.selinux failed: Permission denied\nselinux/avc: rsync_xal_set: lsetxattr security.selinux failed: Permission denied\nselinux/booleans: rsync_xal_set: lsetxattr security.selinux failed: Permission denied\nselinux/.access.5oRT2N: rsync_xal_set: lsetxattr security.selinux failed: Permission denied\nselinux/.checkreqprot.b5ebHI: rsync_xal_set: lsetxattr security.selinux failed: Permission denied\nselinux/.commit_pending_bools.1c9ulD: rsync_xal_set: lsetxattr security.selinux failed: Permission denied\nselinux/.compat_net.JYYQZx: rsync_xal_set: lsetxattr security.selinux failed: Permission
.....
{code}

...

Which means I should 'disable selinux' by execution of the following command

...


*echo 0 >/selinux/enforce

...

*
*## I run bundling again and got one more error mentioning

...


{code

...

} /var/run/cups

...

{code}The solution to that is to exclude  /var/run/cups  from bundling by adding

...


\*-e  /var/run/cups * in to _euca-bundle-vol

...

_ command
*## now bundling finished successfully
{code}
......
......
Part: image.part.130
Part: image.part.131
Part: image.part.132
Generating manifest /image/image.manifest.xml

...

{code}
After which I have enabled back selinux

...


*echo 1 >/selinux/enforce

...

*

SCRATCH \------------------------------------\-

...



euca-register \-a $EC2_ACCESS_KEY \-s $EC2_SECRET_KEY \--url $EC2_URL jan7-Sl5.3-x86_64-12GB-external-build/image.manifest.xml

...



\-bash-3.2$ ls \-l /global/common/carver/tig/euca2ools/1.2/bin/\|grep

...

 key

{color:#0000ff}For 32-bit image change kernel to:

...

{color}
>*sudo euca-bundle-vol \-c $EC2_CERT \-k $EC2_PRIVATE_KEY \-u $EC2_USER_ID  \--ec2cert $EUCALYPTUS_CERT  \-d /image \-e /image \--no-inherit \-r* *i386* *\--kernel* *eki-B15217F6* *\--ramdisk* *eri-19791933

...

*
_OUTPUT:

...

_
_....

...

_
_Part: image.part.245

...

_
_Part: image.part.246

...

_
_Part: image.part.247

...

_
_Generating

...

 manifest_


\* *uplad* bundle to Eucalyptus with name 'star-vm-SL10c-ubuntu-i386', will take many hours depending on connection & total size

...


> *sudo euca-upload-bundle \-a $EC2_ACCESS_KEY \-s $EC2_SECRET_KEY \--url $S3_URL \--ec2cert $EUCALYPTUS_CERT \-m /image/image.manifest.xml* *\-b star-vm-SL10c-ubuntu-64bit

...

*
_OUTPUT:

...

_
_....

...

_
_Uploading part: image.part.246

...

_
_Uploading part: image.part.247

...

_
{color:#ff0000}{_}Uploaded image as star-vm-SL10c-ubuntu-i386/image.manifest.xml

...

{_}{color}

\* register  'star-vm-SL10c-ubuntu-i386' with Eucalyptus

...


> *euca-register \-a $EC2_ACCESS_KEY \-s $EC2_SECRET_KEY \--url $EC2_URL star-vm-SL10c-ubuntu-64bit/image.manifest.xml

...

Potential problems:

...

*
{color:#ff0000}{_}OUTPUT:_{color}
{color:#ff0000}IMAGE	emi-344D1244{color}


*Potential problems*:
* synchronization of local clock, can be fixed with command
> *sudo ntpdate hickory.nersc.gov

...

*
* check if key-pair generation succeded, list content of 'balewski-euca.private'

...

  if it does not look like a valid key and you can't find the old key you can remove the old public key from Eucalyptus using command *euca-delete-keypair

...

*
* if you can't ssh to a custom made VM and see the error

...


_ssh: connect to host 128.55.56.63 port 22: Connection refused

...

_
verify the ssh server is running on a local copy on this VM by typing:

...


*ssh localhost

...

*
If you see the same error install ssh server\- on Ubuntu do:

...


*sudo apt-get install openssh-server openssh-client

...

*
* ssh fails:

...

  check content of the console: * euca-get-console-output 'image-id'*