diff options
-rwxr-xr-x | ci/deploy/deploy.sh | 34 | ||||
-rw-r--r-- | deploy/config/bm_environment/zte-baremetal1/deploy.yml | 61 | ||||
-rw-r--r-- | docs/development/design/deploy.rst | 58 | ||||
-rw-r--r-- | docs/development/design/index.rst | 1 | ||||
-rw-r--r-- | docs/release/installation/installation_guide.rst | 10 | ||||
-rw-r--r-- | docs/release/installation/introduction.rst | 2 | ||||
-rw-r--r-- | docs/release/release-notes/release-notes.rst | 13 |
7 files changed, 137 insertions, 42 deletions
diff --git a/ci/deploy/deploy.sh b/ci/deploy/deploy.sh index 22685e86..e60cdd54 100755 --- a/ci/deploy/deploy.sh +++ b/ci/deploy/deploy.sh @@ -476,6 +476,31 @@ function get_mac_addresses_for_virtual() } +function reboot_baremetal_node() +{ + ips=(`grep ipmi_ip $DHA_CONF | awk '{print $2}' | tr "\n" " " | tr -d "\'"`) + ip_num=${#ips[@]} + users=(`grep ipmi_user $DHA_CONF | awk '{print $2}' | tr "\n" " " | tr -d "\'"`) + user_num=${#users[@]} + passwds=(`grep ipmi_pass $DHA_CONF | awk '{print $2}' | tr "\n" " " | tr -d "\'"`) + pass_num=${#passwds[@]} + + if [ $ip_num -ne $TARGET_HOSTS_NUM ]; then + echo "ERROR: IPMI information should be provided for each node !" + exit 1 + fi + + for ((i=0; i<$ip_num; i++)); do + if [ $TARGET_HOSTS_NUM -eq $user_num ] && [ $TARGET_HOSTS_NUM -eq $pass_num ]; then + ipmitool -I lanplus -H ${ips[$i]} -U ${users[$i]} -P ${passwds[$i]} -R 1 chassis bootdev pxe + ipmitool -I lanplus -H ${ips[$i]} -U ${users[$i]} -P ${passwds[$i]} -R 1 chassis power reset + else + ipmitool -I lanplus -H ${ips[$i]} -R 1 chassis bootdev pxe + ipmitool -I lanplus -H ${ips[$i]} -R 1 chassis power reset + fi + done +} + echo "====== create and find node ======" if [ $IS_BARE == 0 ];then if [ $TARGET_HOSTS_NUM == 1 ];then @@ -498,10 +523,7 @@ if [ $IS_BARE == 0 ];then sleep 20 get_mac_addresses_for_virtual else - for i in $(seq 106 110); do - ipmitool -I lanplus -H 192.168.1.$i -U zteroot -P superuser -R 1 chassis bootdev pxe - ipmitool -I lanplus -H 192.168.1.$i -U zteroot -P superuser -R 1 chassis power reset - done + reboot_baremetal_node fi echo "====== prepare host and pxe ======" @@ -531,10 +553,10 @@ sleep 10 if [ $IS_BARE == 0 ];then if [ $TARGET_HOSTS_NUM == 1 ];then - virsh reboot all_in_one + virsh reset all_in_one else for ((i=0;i<${#VM_MULTINODE[@]};i++));do - virsh reboot ${VM_MULTINODE[$i]} + virsh reset ${VM_MULTINODE[$i]} done fi fi diff --git a/deploy/config/bm_environment/zte-baremetal1/deploy.yml b/deploy/config/bm_environment/zte-baremetal1/deploy.yml index d24a9569..0c147280 100644 --- a/deploy/config/bm_environment/zte-baremetal1/deploy.yml +++ b/deploy/config/bm_environment/zte-baremetal1/deploy.yml @@ -1,23 +1,38 @@ -adapter: ipmi
-hosts:
-- name: 'controller01'
- roles:
- - 'CONTROLLER_LB'
-- name: 'controller02'
- roles:
- - 'CONTROLLER_LB'
-- name: 'controller03'
- roles:
- - 'CONTROLLER_LB'
-- name: 'computer01'
- roles:
- - 'COMPUTER'
-- name: 'computer02'
- roles:
- - 'COMPUTER'
-disks:
- daisy: 50
-daisy_passwd: 'r00tme'
-daisy_ip: '10.20.7.3'
-daisy_gateway: '10.20.7.1'
-ceph_disk_name: '/dev/sdb'
+adapter: 'ipmi' +hosts: +- name: 'controller01' + roles: + - 'CONTROLLER_LB' + ipmi_ip: '192.168.1.106' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'controller02' + roles: + - 'CONTROLLER_LB' + ipmi_ip: '192.168.1.107' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'controller03' + roles: + - 'CONTROLLER_LB' + ipmi_ip: '192.168.1.108' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'computer01' + roles: + - 'COMPUTER' + ipmi_ip: '192.168.1.109' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +- name: 'computer02' + roles: + - 'COMPUTER' + ipmi_ip: '192.168.1.110' + ipmi_user: 'testuser' + ipmi_pass: 'testpass' +disks: + daisy: 50 +daisy_passwd: 'r00tme' +daisy_ip: '10.20.7.3' +daisy_gateway: '10.20.7.1' +ceph_disk_name: '/dev/sdb' diff --git a/docs/development/design/deploy.rst b/docs/development/design/deploy.rst new file mode 100644 index 00000000..273b9485 --- /dev/null +++ b/docs/development/design/deploy.rst @@ -0,0 +1,58 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Deployment Steps +================ + +This document takes VM all-in-one environment as example to show what ci/deploy/deploy.sh +really do. + +1. On jump host, clean up all-in-one vm and networks. + +2. On jump host, clean up daisy vm and networks. + +3. On jump host, create and start daisy vm and networks. + +4. In daisy vm, Install daisy artifact. + +5. In daisy vm, config daisy and OpenStack default options. + +6. In daisy vm, create cluster, update network and build PXE server for the bootstrap +kernel. In short, be ready for discovering target nodes. These tasks are done by running +the following command. + +python /home/daisy/deploy/tempest.py --dha /home/daisy/labs/zte/virtual1/daisy/config/deploy.yml --network /home/daisy/labs/zte/virtual1/daisy/config/network.yml --cluster 'yes' + +7. On jump host, create and start all-in-one vm and networks. + +8. On jump host, after all-in-one vm is up, get its mac address and write into /home/daisy/labs/zte/virtual1/daisy/config/deploy.yml. + +9. In daisy vm, check if all-in-one vm was discovered, if it was, then update its network +assignment and config OpenStack according to OPNFV scenario and setup PXE for OS +installaion. These tasks are done by running the following command. + +python /home/daisy/deploy/tempest.py --dha /home/daisy/labs/zte/virtual1/daisy/config/deploy.yml --network /home/daisy/labs/zte/virtual1/daisy/config/network.yml --host yes --isbare 0 --scenario os-nosdn-nofeature-noha + +Note: Current host status: +os_status is "init". + +10. On jump host, restart all_in_one vm to install OS. + +11. In daisy vm, continue to intall OS by running the following command which for VM +environment only. + +python /home/daisy/deploy/tempest.py --dha /home/daisy/labs/zte/virtual1/daisy/config/deploy.yml --network /home/daisy/labs/zte/virtual1/daisy/config/network.yml --install 'yes' + +12. In daisy vm, run the following command to check OS intallation progress. +/home/daisy/deploy/check_os_progress.sh -d 0 -n 1 + +Note: Current host status: +os_status is "installing" during installation, then os_status becomes "active" after OS +was succesfully installed. + +13. On jump host, reboot all-in-one vm again to get a fresh and first booted OS. + +14. In daisy vm, run the following command to check OpenStack/ODL/... intallation +progress. + +/home/daisy/deploy/check_openstack_progress.sh -n 1 diff --git a/docs/development/design/index.rst b/docs/development/design/index.rst index 5d9af98e..38fddffa 100644 --- a/docs/development/design/index.rst +++ b/docs/development/design/index.rst @@ -13,5 +13,6 @@ Design Docs for Daisy4nfv :maxdepth: 2 ci.rst + deploy.rst multicast.rst diff --git a/docs/release/installation/installation_guide.rst b/docs/release/installation/installation_guide.rst index 5afd73aa..7e72db42 100644 --- a/docs/release/installation/installation_guide.rst +++ b/docs/release/installation/installation_guide.rst @@ -4,7 +4,7 @@ Daisy4nfv configuration ======================= -This document provides guidelines on how to install and configure the Danube +This document provides guidelines on how to install and configure the Euphrates release of OPNFV when using Daisy as a deployment tool including required software and hardware configurations. @@ -17,7 +17,7 @@ networking and Unix/Linux administration. Prerequisites ------------- -Before starting the installation of the Danube release of OPNFV, some plannings +Before starting the installation of the Euphrates release of OPNFV, some plannings must be done. @@ -33,7 +33,7 @@ The daily build bin image can be retrieved via OPNFV artifact repository: http://artifacts.opnfv.org/daisy.html -NOTE: Search the keyword "daisy/Danube" to locate the bin image. +NOTE: Search the keyword "daisy/Euphrates" to locate the bin image. E.g. daisy/opnfv-gerrit-27155.bin @@ -49,9 +49,9 @@ To retrieve the repository of Daisy on Jumphost use the following command: - git clone https://gerrit.opnfv.org/gerrit/daisy -To get stable Danube release, you can use the following command: +To get stable Euphrates release, you can use the following command: -- git checkout danube.1.0 +- git checkout euphrates.1.0 Setup Requirements diff --git a/docs/release/installation/introduction.rst b/docs/release/installation/introduction.rst index 4781ab7d..cf7452f9 100644 --- a/docs/release/installation/introduction.rst +++ b/docs/release/installation/introduction.rst @@ -4,7 +4,7 @@ Abstract ======== -This document describes how to install the Danube release of OPNFV when using +This document describes how to install the Euphrates release of OPNFV when using Daisy4nfv as a deployment tool covering it's limitations, dependencies and required resources. diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index 629d05de..ae6f5e7f 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -52,9 +52,9 @@ Software deliverables Documentation deliverables ~~~~~~~~~~~~~~~~~~~~~~~~~~ - - OPNFV(Danube) Daisy4nfv installation instructions + - OPNFV(Euphrates) Daisy4nfv installation instructions - - OPNFV(Danube) Daisy4nfv Release Notes + - OPNFV(Euphrates) Daisy4nfv Release Notes Version change -------------- @@ -70,7 +70,7 @@ upstream components supported with this release. - Openstack (Ocata release) - - Opendaylight (Carbon release) + - Opendaylight (Carbon SR1) Reason for new version ---------------------- @@ -82,7 +82,7 @@ Feature additions | **JIRA REFERENCE** | **SLOGAN** | | | | +--------------------------------------+-----------------------------------------+ -| | Support OpenDayLight Carbon | +| | Support OpenDayLight Carbon SR1 | | | | +--------------------------------------+-----------------------------------------+ | | Support OpenStack Ocata | @@ -127,10 +127,9 @@ Known issues +----------------------+-------------------------------+-----------------------+ | | | | | | | | -| | | | +----------------------+-------------------------------+-----------------------+ -| All HA scenario | Occasionally lose VIP | Failed in testcase, | -| | | normal in usage | +| | | | +| | | | +----------------------+-------------------------------+-----------------------+ |