User Tools

Site Tools


deploy_opnfv_with_fuel_in_a_virtual_environment

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
deploy_opnfv_with_fuel_in_a_virtual_environment [2015/10/27 17:07]
Gabor Halasz
deploy_opnfv_with_fuel_in_a_virtual_environment [2015/10/27 17:28]
Gabor Halasz
Line 213: Line 213:
  
 ====CHALLENGES==== ====CHALLENGES====
-===CHALLENGE #1===+===CHALLENGE #1 - SOLVED===
 <​code>​ <​code>​
 sudo ./​deploy.sh ​ ... sudo ./​deploy.sh ​ ...
Line 239: Line 239:
 </​code>​ </​code>​
  
-**SOLVED**+===CHALLENGE #2 - SOLVED=== 
 +Deployment seems to be pretty error-prone,​ if you CTRL+C, and see error „OSError: [Errno 38] Function not implemented:​ '​~/​opnfv/​fuel/​fuel/​deploy/​fueltmp/​origiso/​boot.catalog‚”,​ iso is probably still mounted, check it with: 
 +<​code>​ 
 +$ ~/​opnfv/​fuel/​fuel/​ci$ cat /etc/mtab 
 +fuseiso ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp/​origiso fuse.fuseiso rw,​nosuid,​nodev 0 0 
 +</​code>​ 
 + 
 +Unmount it with: 
 +<​code>​ 
 +$ ~/​opnfv/​fuel/​fuel/​ci$ sudo fusermount -u ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp/​origiso 
 +</​code>​ 
 + 
 +===CHALLENGE #3 - DISAPPEARED AFTER CLEANUP WITH MAKE CLEAN=== 
 +BUILD fails with build.sh: 
 +<​code>​ 
 +Installing Fuel Plugins 
 +Fofakeroot /​opt/​fuel-createmirror-6.1/​fuel-createmirror 
 + INFO: Started /​opt/​fuel-createmirror-6.1/​deb-mirror /​opt/​fuel-createmirror-6.1/​config/​mos-ubuntu-updatesonly.cfg 
 + FATAL: Upstream mirror mirror.fuel-infra.org does not support rsync protocol, aborting 
 + * INFO: Started /​opt/​fuel-createmirror-6.1/​deb-mirror /​opt/​fuel-createmirror-6.1/​config/​ubuntu.cfg 
 + 
 + * FATAL: Upstream mirror archive.ubuntu.com does not support rsync protocol, aborting 
 + * FATAL: Creation of MOS mirror FAILED, check logs at /​var/​log/​mirror-sync 
 + * FATAL: Creation of Ubuntu mirror FAILED, check logs at /​var/​log/​mirror-sync 
 +make[2]: Leaving directory `~/​opnfv/​fuel/​fuel/​build/​f_isoroot/​f_repobuild'​ 
 +make[2]: *** [.nailgun] Error 1 
 +semop(1): encountered an error: Invalid argument 
 +make[1]: *** [f_repobuild] Error 2 
 +make: *** [f_isoroot] Error 2 
 +make[1]: Leaving directory `~/​opnfv/​fuel/​fuel/​build/​f_isoroot'​ 
 +make: *** [all] Error 2 
 +Build: make all failed, exiting ... 
 +Exiting ... 
 +und plugin /​root/​plugins/​opendaylight-0.6-0.6.1-1.noarch.rpm,​ installing ... 
 +Eject ISO file ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp/​deploy-opnfv-P0000.iso 
 +Remove ISO directory ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp 
 +Deleting directory ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp 
 +Installation of Fuel Plugin /​root/​plugins/​opendaylight-0.6-0.6.1-1.noarch.rpm failed: Traceback (most recent call last): 
 +... 
 +    plugin_tar = tarfile.open(plugin_path,​ '​r'​) 
 +  File "/​usr/​lib64/​python2.6/​tarfile.py",​ line 1657, in open 
 +    raise ReadError("​file could not be opened successfully"​) 
 +tarfile.ReadError:​ file could not be opened successfully 
 +</​code>​ 
 + 
 +===CHALLENGE #4 - WORKAROUND: REDEPLOY WITH "​-nf"​ FLAG=== 
 +<​code>​ 
 +Trying to SSH into Fuel VM 10.20.0.2 ... sleeping 10 seconds 
 +Wait until Fuel menu is up 
 +Inject our own astute.yaml settings 
 +Modifying Fuel astute 
 +Let the Fuel deployment continue 
 +Found FUEL menu as PID 1292, now killing it 
 +Wait until installation complete 
 +Waiting for one minute for Fuel to stabilize 
 +Delete deprecated fuel client config /​etc/​fuel/​client/​config.yaml 
 +Installing Fuel Plugins 
 +Found plugin /​root/​plugins/​opendaylight-0.6-0.6.2-1.noarch.rpm,​ installing ... 
 +Eject ISO file ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp/​deploy-opnfv-P0000.iso 
 +Remove ISO directory ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp 
 +Deleting directory ~/​opnfv/​fuel/​fuel/​deploy/​fueltmp 
 + 
 +Installation of Fuel Plugin /​root/​plugins/​opendaylight-0.6-0.6.2-1.noarch.rpm failed:  
 +http://​mirror.fuel-infra.org/​mos/​centos-6/​mos6.1/​security/​repodata/​repomd.xml:​ [Errno 14] PYCURL ERROR 6 - "​Couldn'​t resolve host '​mirror.fuel-infra.org'"​ 
 +Trying other mirror. 
 +http://​mirror.fuel-infra.org/​mos/​centos-6/​mos6.1/​updates/​repodata/​repomd.xml:​ [Errno 14] PYCURL ERROR 6 - "​Couldn'​t resolve host '​mirror.fuel-infra.org'"​ 
 +Trying other mirror. 
 +</​code>​ 
 + 
 +**TRY TO REDEPLOY WITH „-nf” FLAG (NO FUEL):** 
 +Verification of fuel plugin install looks to be failed but in reality it is successfully installed, verify it: 
 +<​code>​ 
 +ssh root@10.20.0.2 (pwd: r00tme) 
 +[root@opnfv_virt ~]# fuel plugins 
 +</​code>​ 
 + 
 +Fuel will not de redeployed with this flag, so the deployment can be continued. 
 + 
 +A fix for this is already under review. 
 + 
 +===CHALLENGE #5 - HANGS... WORKAROUND: REDEPLOY WITH FUEL (WITHOUT „-nf” FLAG)=== 
 +<​code>​ 
 +~/​opnfv/​fuel/​fuel/​ci$ sudo ./deploy.sh -iso /​home/​egbohal/​opnfv/​fuel/​fuel/​build/​release/​opnfv-P0000.iso -dea /​home/​egbohal/​opnfv/​fuel/​fuel/​deploy/​templates/​virtual_environment/​conf/​dea.yaml -dha /​home/​egbohal/​opnfv/​fuel/​fuel/​deploy/​templates/​virtual_environment/​conf/​dha.yaml -s /​home/​egbohal/​opnfv/​fuel/​fuel/​deploy/​images -nf 
 + 
 +Namespace(cleanup=False,​ cleanup_only=False,​ dea_file='/​home/​egbohal/​opnfv/​fuel/​fuel/​deploy/​templates/​virtual_environment/​conf/​dea.yaml',​ dha_file='/​home/​egbohal/​opnfv/​fuel/​fuel/​deploy/​templates/​virtual_environment/​conf/​dha.yaml',​ fuel_only=False,​ fuel_plugins_dir=None,​ iso_file='/​home/​egbohal/​opnfv/​fuel/​fuel/​build/​release/​opnfv-P0000.iso',​ no_fuel=True,​ no_health_check=False,​ pxe_bridge='​pxebr',​ storage_dir='/​home/​egbohal/​opnfv/​fuel/​fuel/​deploy/​images'​) 
 + 
 +Fuel Plugins Directory not specified! No external plugins will be installed! 
 +Power OFF Node controller1 
 +Power OFF Node compute1 
 +Power OFF Node compute2 
 +Power OFF Node compute3 
 +Set boot order ['​network',​ '​hd'​] on Node controller1 
 +Set boot order ['​network',​ '​hd'​] on Node compute1 
 +Set boot order ['​network',​ '​hd'​] on Node compute2 
 +Set boot order ['​network',​ '​hd'​] on Node compute3 
 +Power ON Node controller1 
 +Power ON Node compute1 
 +Power ON Node compute2 
 +Power ON Node compute3 
 +Check prerequisites 
 +Check supported release: Juno on Ubuntu 14.04.1 
 +Check previous installation 
 +Deleting environment 1 
 +</​code>​ 
 + 
 +===CHALLENGE #6=== 
 +If deployment hangs for a while, you can ssh to fuel and verify which state the deployment currently is to know where to dig in: 
 +<​code>​ 
 +[root@opnfv_virt ~]# watch -n 1 fuel task 
 +id | status ​ | name           | cluster | progress | uuid 
 +---|---------|----------------|---------|----------|------------------------------------- 
 +1  | ready   | check_networks | 1       | 100      | e0734875-e5b9-4b05-9eb5-0737001c0ad0 
 +4  | running | deployment ​    | 1       | 0        | 119ff982-48f1-40cd-91a5-63f5ce02ae7d 
 +2  | running | deploy ​        | 1       | 29       | 4a37d617-8752-41b2-b056-afc87dc8d022 
 +3  | ready   | provision ​     | 1       | 100      | 5ec218aa-3e8d-4dae-aa46-de8fcaef5e90 
 +</​code>​ 
 + 
 + 
 +====MANUAL ISO BUILD==== 
 +===PREREQUISITES=== 
 +==SSH KEY== 
 +UPLOAD SSH KEYS TO: 
 +  * gerrit.opnfv.org 
 +  * github.com 
 + 
 +==FIREWALL RULES== 
 +ALLOW FIREWALL for HTTP, HTTPS, SSH, GIT(9418), RSYNC(873) protocols to:  
 +  * gerrit.opnfv.org,​ git.opnfv.org 
 +  * pypi.python.org 
 +  * get.docker.com 
 +  * p80.pool.sks-keyservers.net 
 +  * github.com 
 +  * mirror.fuel-infra.org 
 +  * archive.ubuntu.com 
 + 
 +==PKG DEPENDENCIES== 
 +<​code>​ 
 +sudo apt-get install -y libvirt-bin qemu-kvm python-pip fuseiso mkisofs 
 +sudo apt-get install -y python-dev libz-dev libxml2-dev libxslt-dev 
 +sudo pip install pyyaml netaddr paramiko lxml scp pycrypto ecdsa 
 + 
 +curl -sSL https://​get.docker.com/​gpg | sudo apt-key add - 
 +curl -sSL https://​get.docker.com/​ | sh 
 +sudo usermod -aG docker <​user>​ 
 +</​code>​ 
 +logout & login again 
 + 
 +===BUILD ARNO ISO=== 
 +<​code>​ 
 +git clone https://​gerrit.opnfv.org/​gerrit/​fuel 
 +cd fuel/​fuel/​build 
 +make all 
 +</​code>​ 
 + 
 +It will generate a Centos FUEL image containing all the requirements for OPNFV deployments (e.g. OpenStack Juno, ODL Lithium, Fuel plugins): 
 +  * download OpenStack and other components 
 +  * configure docker containers 
 +  ​Prepare bootable iso img 
 +  ​Patch iso with fuel plugins 
 + 
 +End of console output: 
 +<​code>​ 
 +Making ISO... 
 +... 
 +Product ISO is ~/​opnfv/​fuel/​fuel/​build/​release/​opnfv-P0000.iso 
 +</​code>​ 
 + 
 +====PROPOSED INVESTIGATION TOPICS==== 
 +===OVS PUPPET PLUGIN=== 
 +https://​review.openstack.org/#/​c/​222066/​ 
 + 
 +From Guo Ruijing <​ruijing.guo@intel.com>​  
 + 
 +Install OVS from specified URL in ODL plugin 
 + 
 +Uses pre_build_hook and puppet 
 + 
 +Uploaded Sep 10, 2015 10:17 AM 
 + 
 +Not investigated,​ To Be Checked! 
 + 
 +===DEVELOPERS PLAYGROUND=== 
 +Fuel@OPNFV devel pipeline/​sandbox  
 + 
 +Jonas Bjurel jonas.bjurel@ericsson.com 
 + 
 +Devel pipeline homepage: http://​jonasbjurel.github.io/​OPNFV-Playground/​ 
 + 
 +Wiki: https://​github.com/​jonasbjurel/​OPNFV-Playground/​wiki 
 + 
 +===FUEL PLUGIN OVS=== 
 +https://​github.com/​lingyu1/​fuel-plugin-ovs 
 +  
 +https://​github.com/​lingyu1/​fuel-rpm 
 + 
 + 
 +====REFERENCES==== 
 +genesis/​fuel/​ci/​README:​ with examples for BM/​VIRTUAL/​FUEL_ONLY DEPLOYMENT 
 + 
 +genesis/​fuel/​deploy/​README:​ same as above, more verbose, many template configs 
 + 
 +genesis/​fuel/​build/​README:​ build container and .iso 
 + 
 +https://​gerrit.opnfv.org/​gerrit/​fuel
  
 +http://​artifacts.opnfv.org/​arno.2015.2.0/​fuel/​install-guide.arno.2015.2.0.pdf
  
 +Genesis doc: http://​artifacts.opnfv.org/​genesis/​fuel/​docs/​build-instructions.html
  
 +Genesis doc: http://​artifacts.opnfv.org/​genesis/​fuel/​docs/​installation-instructions.html
  
-====MANUAL iso BUILD====+Docker doc: https://​docs.docker.com/​installation/​ubuntulinux/​
  
-====INVESTIGATION TOPICS==== 
  
-====CHALLENGES==== 
  
-====MANUAL iso BUILD==== 
  
-====INVESTIGATION TOPICS==== 
deploy_opnfv_with_fuel_in_a_virtual_environment.txt · Last modified: 2015/11/10 15:07 by Billy O'Mahony