Install HOS Commercial Edition 1.01 using 8 physical servers – Notes
Server Inventory
Role |
Serial Number |
ILO IP |
ILO Username |
ILO Password |
IP address |
CPU |
Memory |
Disk |
Seed Host |
ILOCZJ43402GV |
172.30.0.117 |
Administrator |
xxxx |
172.16.120.2 |
20 |
262144 |
1116 |
Undercloud |
ILOCZJ43402GW |
172.30.0.118 |
Administrator |
xxxx |
20 |
262144 |
1116 |
|
Overcloud MC |
ILOCZJ43402H5 |
172.30.0.119 |
Administrator |
xxxx |
20 |
262144 |
1116 |
|
Overcloud Ctrl1 |
ILOCZJ43402H0 |
172.30.0.120 |
Administrator |
xxxx |
20 |
262144 |
1116 |
|
Overcloud Ctrl2 |
ILOCZJ43402GX |
172.30.0.121 |
Administrator |
xxxx |
20 |
262144 |
1116 |
|
Overcloud Swift1 |
ILOCZJ43402H2 |
172.30.0.122 |
Administrator |
xxxx |
20 |
262144 |
1116 |
|
Overcloud Swift2 |
ILOCZJ43402H3 |
172.30.0.123 |
Administrator |
xxxx |
20 |
262144 |
1116 |
|
Overcloud Compute |
ILOCZJ43402HC |
172.30.0.124 |
Administrator |
xxxx |
20 |
262144 |
1116 |
Networking
Networks
- Management 172.16.120.0/24 VLAN 120 (Untagged – Native)
- External (Public) 172.16.122.0/24 VLAN 122 (Tagged)
- Service 172.16.121.0/24 VLAN 121 (Tagged)
- IPMI (iLO) 172.30.0.0/24 (Untagged – Native)
Prerequisites
Assumption that the servers will have already been racked and stacked and wired in to the top of rack switches.
Hardware
- Is the base hardware supported – check it against the support matrix or going forward potentially using USB Discovery Tool? (Raid controllers, etc)
iLO
- This will need to be configured with an ip address, administrative username and password.
- Apply iLO license if advanced iLO functionality is required (e.g. Remote console access once OS has booted)
Bios settings
- Set RTC (real time clock) date and time correctly.
- Disable PXE boot on all nics EXCEPT the Physical Management nic (iLO required too)
- Enable CPU Virtualisation Technology
- Set Automatic Restart to Off
Raid Controller
- Configure the local storage array to present a single raid 1/0 disk
[ modify to taste – OpenStack recommends the avoidance of raid controllers to reduce cost and complexity. However enterprises tend to prefer redundancy to avoid mundane failures impacting production. ]
Start of installation Process
- Log on to seedhost iLO and mount the ubuntu14.04 server iso
- Install Ubuntu Server
[Note: specific local lab environment settings proxy for ubuntu package repo]
- modify or create the following conf file and add the proxy details – /etc/apt/apt.conf
- Acquire::http::Proxy “http://XX.XXX.133.239:3128“;
- save
- Refresh repo content
- #sudo apt-get update
- Configure DNS through appropriate interface in/etc/network/interface
e.g.
# The primary network interface
auto em1
iface em1 inet static
address 172.16.120.2
netmask 255.255.255.0
network 172.16.120.0
broadcast 172.16.120.255
gateway 172.16.120.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 172.16.120.1
- Configure SSH [already installed during base installation]
- Get public Key
- ssh-keygen -t rsa -N “”
helion@headnode03r03:~$ sudo su –
[sudo] password for helion:
root@headnode03r03:~# ssh-keygen -t rsa -N “”
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
20:51:98:0d:48:ab:b8:fa:ca:3b:a3:25:03:ff:31:2b root@headnode03r03
The key’s randomart image is:
+–[ RSA 2048]—-+
| …o*. |
| ..o.. |
| . . . |
|.. . . |
|+ S |
|.o |
|+ o o |
|o*E. + |
|===.o |
+—————–+
root@headnode03r03:~#
- Install prerequisite packages as documented here
- sudo apt–get install –y xrdp xfce4 libvirt–bin openvswitch–switch openvswitch–common python–libvirt qemu–kvm libssl–dev libffi–dev virt–manager chromium–browser
- Restart libvirt
- sudo /etc/init.d/libvirt–bin restart
- Install & Configure NTP server
- sudo apt-get install ntp
- For PoC scenarios or where there is no access to external NTP use this seed host as the NTP server by modifying the /etc/ntp.conf with the following details
# Specify one or more NTP servers.
# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 127.127.1.0
fudge 127.127.1.0 stratum 10
- service ntp restart
- Copy the HOS binaries and installation support tools from the http server in the lab.
- root@headnode03r03:~# mkdir work
- root@headnode03r03:~# cd work
- root@headnode03r03:~/work# wget http://172.16.1.5/files/helion/enterprise/HP_Helion_OpenStack_1.0.1.tgz
–2015-01-09 14:52:32– http://172.16.1.5/files/helion/enterprise/HP_Helion_OpenStack_1.0.1.tgz
Connecting to 172.16.1.5:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 7440363802 (6.9G) [application/octet-stream]
Saving to: ‘HP_Helion_OpenStack_1.0.1.tgz’
100%[====================================>] 7,440,363,802 276MB/s in 26s
2015-01-09 14:52:58 (277 MB/s) – ‘HP_Helion_OpenStack_1.0.1.tgz’ saved [7440363802/7440363802]
- Verify the installation media
- root@headnode03r03:~/work# md5sum HP_Helion_OpenStack_1.0.1.tgz
b341aac3ff2f4c583f3ca22e6a2f1e1a HP_Helion_OpenStack_1.0.1.tgz
- Download all support files from the tool directory in the labs [for large installations these tools will save a lot of time getting information from the iLOs]
- root@headnode03r03:~/work# wget -r -nd -nH –no-parent –reject “index.html*” http://172.16.1.5/files/helion/tools/
–2015-01-09 15:07:06– http://172.16.1.5/files/helion/tools/
Connecting to 172.16.1.5:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
[ <=> ] 414 –.-K/s in 0s
2015-01-09 15:07:06 (19.8 MB/s) – ‘index.html’ saved [414]
Loading robots.txt; please ignore errors.
–2015-01-09 15:07:06– http://172.16.1.5/robots.txt
Reusing existing connection to 172.16.1.5:80.
HTTP request sent, awaiting response… 404 Not Found
2015-01-09 15:07:06 ERROR 404: Not Found.
Removing index.html since it should be rejected.
–2015-01-09 15:07:06– http://172.16.1.5/files/helion/tools/Create-Baremetal.py
Reusing existing connection to 172.16.1.5:80.
HTTP request sent, awaiting response… 200 OK
Length: 4829 (4.7K) [application/octet-stream]
Saving to: ‘Create-Baremetal.py’
100%[======================================>] 4,829 –.-K/s in 0s
2015-01-09 15:07:06 (280 MB/s) – ‘Create-Baremetal.py’ saved [4829/4829]
–2015-01-09 15:07:06– http://172.16.1.5/files/helion/tools/python-hpilo-2.8.tar
Reusing existing connection to 172.16.1.5:80.
HTTP request sent, awaiting response… 200 OK
Length: 204800 (200K) [application/octet-stream]
Saving to: ‘python-hpilo-2.8.tar’
100%[======================================>] 204,800 –.-K/s in 0.001s
2015-01-09 15:07:06 (207 MB/s) – ‘python-hpilo-2.8.tar’ saved [204800/204800]
FINISHED –2015-01-09 15:07:06–
Total wall clock time: 0.006s
Downloaded: 3 files, 205K in 0.001s (205 MB/s)
root@headnode03r03:~/work# ls
Create-Baremetal.py HP_Helion_OpenStack_1.0.1.tgz python-hpilo-2.8.tar
- Install the python HP iLO libraries
- root@headnode03r03:~/work# tar -xvf python-hpilo-2.8.tar
- root@headnode03r03:~/work# cd python-hpilo-2.8/
- root@headnode03r03:~/work/python-hpilo-2.8# python3 setup.py install
- Extract the HOS binaries
- root@headnode03r03:~/work# tar zxvf /root/work/HP_Helion_OpenStack_1.0.1.tgz
[Update Note:I had to copy everything back to the root directory as there were issues with the installation script when I placed the files in the work directory]
- Backup and then modify the default installation environment variables file /root/work/tripleo/config/kvm-custom-ips.json
- root@headnode03r03:~/work# vi /root/work/tripleo/configs/kvm-custom-ips.json
- root@headnode03r03:~/work# cat /root/work/tripleo/configs/kvm-custom-ips.json
{
“cloud_type”: “KVM”,
“vsa_scale”: 0,
“vsa_ao_scale”: 0,
“so_swift_storage_scale”: 0,
“so_swift_proxy_scale”: 0,
“compute_scale”: 1,
“bridge_interface”: “em1”,
“virtual_interface”: “eth0”,
“fixed_range_cidr”: “172.0.100.0/24”,
“control_virtual_router_id”: “71”,
“baremetal”: {
“network_seed_ip”: “172.16.120.3”,
“network_cidr”: “172.16.120.0/24”,
“network_gateway”: “172.16.120.1”,
“network_seed_range_start”: “172.16.120.4”,
“network_seed_range_end”: “172.16.120.14”,
“network_undercloud_range_start”: “172.16.120.20”,
“network_undercloud_range_end”: “172.16.120.40”
},
“neutron”: {
“public_interface_raw_device”: “eth0”,
“overcloud_public_interface”: “vlan122”,
“undercloud_public_interface”: “eth0”
},
“ntp”: {
“overcloud_server”: “172.16.120.2”,
“undercloud_server”: “172.16.120.2”
},
“floating_ip”: {
“start”: “172.16.122.100”,
“end”: “172.16.122.150”,
“cidr”: “172.16.122.0/24”
},
“svc”: {
“interface”: “vlan121”,
“interface_default_route”: “172.16.121.1”,
“allocate_start”: “172.16.121.100”,
“allocate_end”: “172.16.121.200”,
“allocate_cidr”: “172.16.121.0/24”,
“overcloud_bridge_mappings”: “svcnet1:br-svc”,
“overcloud_flat_networks”: “svcnet1”,
“customer_router_ip”: “172.16.121.1”
},
“codn”: {
“undercloud_http_proxy”: “http://16.209.133.239:3128”,
“undercloud_https_proxy”: “http://16.209.133.239:3128”,
“overcloud_http_proxy”: “http://16.209.133.239:3128”,
“overcloud_https_proxy”: “http://16.209.133.239:3128”
}
}
- Now create the baremetal.csv file using the tools downloaded earlier. [Note : Don’t include the seed host in this file.]
- The Create-Baremetal.py file requiresa CSV file with the ilo details
- root@headnode03r03:~/work/python-hpilo-2.8# cd ..
- root@headnode03r03:~/work# python3 Create-Baremetal.py
usage: Create-Baremetal.py [-h] [-f FILE]
Create-Baremetal.py: error: argument -f/–file: can’t open ‘Helion-iLO.csv’: [Errno 2] No such file or directory: ‘Helion-iLO.csv’
- Create the CSV file in the following format
help=’CSV with iLO IP, username, password’, default=’Helion-iLO.csv’
- For example:
root@headnode03r03:~/work# vi Helion-iLO.csv
root@headnode03r03:~/work# cat Helion-iLO.csv
172.30.0.117,Administrator,xxxx [Note : Remove Seed Host]
172.30.0.118,Administrator,xxxx
172.30.0.119,Administrator,xxxx
172.30.0.120,Administrator,xxxx
172.30.0.121,Administrator,xxxx
172.30.0.122,Administrator,xxxx
172.30.0.123,Administrator,xxxx
172.30.0.124,Administrator,xxxx
- Create the baremetal.csv file
- root@headnode03r03:~/work# python3 Create-Baremetal.py
Creating baremetal.csv in the current folder…
Gathering information for node: 172.30.0.117 PXE-Mac:9c:b6:54:9b:e4:68, 262144MB, 20 Cores, 1116GiB
Gathering information for node: 172.30.0.118 PXE-Mac:9c:b6:54:9b:94:48, 262144MB, 20 Cores, 1116GiB
Gathering information for node: 172.30.0.119 PXE-Mac:9c:b6:54:9b:b6:98, 262144MB, 20 Cores, 1116GiB
Gathering information for node: 172.30.0.120 PXE-Mac:9c:b6:54:9b:76:90, 262144MB, 20 Cores, 1116GiB
Gathering information for node: 172.30.0.121 PXE-Mac:9c:b6:54:9b:f6:78, 262144MB, 20 Cores, 1116GiB
Gathering information for node: 172.30.0.122 PXE-Mac:f0:92:1c:05:49:30, 262144MB, 20 Cores, 1116GiB
Gathering information for node: 172.30.0.123 PXE-Mac:9c:b6:54:9b:64:00, 262144MB, 20 Cores, 1116GiB
Gathering information for node: 172.30.0.124 PXE-Mac:9c:b6:54:9b:d6:78, 262144MB, 20 Cores, 1116GiB
root@headnode03r03:~/work# cat baremetal.csv
9c:b6:54:9b:94:48,Administrator,xxxx,172.30.0.118,20,262144,1116
9c:b6:54:9b:b6:98,Administrator,xxxx,172.30.0.119,20,262144,1116
9c:b6:54:9b:76:90,Administrator,xxxx,172.30.0.120,20,262144,1116
9c:b6:54:9b:f6:78,Administrator,xxxx,172.30.0.121,20,262144,1116
f0:92:1c:05:49:30,Administrator,xxxx,172.30.0.122,20,262144,1116
9c:b6:54:9b:64:00,Administrator,xxxx,172.30.0.123,20,262144,1116
9c:b6:54:9b:d6:78,Administrator,xxxx,172.30.0.124,20,262144,1116
- Configure the http proxy on the seed host
- root@headnode03r03:~/work# export http_proxy=http://16.209.133.239:3128
- root@headnode03r03:~/work# export https_proxy=http://16.209.133.239:3128
- root@headnode03r03:~/work# export no_proxy=localhost,127.0.0.1,172.12.120.2
- Execute the kvm-custom-ips
- root@headnode03r03:~# bash
- root@headnode03r03:~# source tripleo/tripleo-incubator/scripts/hp_ced_load_confi g.sh tripleo/configs/kvm-custom-ips.json
The configuration specified by tripleo/configs/kvm-custom-ips.json is loaded and ready for installation
- Build the seed VM
- root@headnode03r03:~# bash -x /root/tripleo/tripleo-incubator/scripts/hp_ced_host_manager.sh –create-seed |& tee seedinstall.log
Seed Complete – now for undercloud and over cloud
- Copy the previously created baremetal.csv to the newly created seed vm
- scp baremetal.csv root@172.16.120.3:/root
- Log in to the newly created seed vm
- ssh root@172.16.120.3
- Check both the baremetal file and the kvm-custom-ips.json are correct
- Execute the kvm-custom-ips.json file
- source tripleo/tripleo-incubator/scripts/hp_ced_load_config.sh tripleo/configs/kvm-custom-ips.json
- Install the undercloud and overcloud
- bash -x /root/tripleo/tripleo-incubator/scripts/hp_ced_installer.sh |& tee cloud_install.log
- And that should give you –
Coming soon article for verifying installation
Errors
Problem :
=======
root@headnode03r03:~# source /root/work/tripleo/tripleo-incubator/scripts/hp_ced_load_config.sh /root/work/tripleo/configs/kvm-custom-ips.json
Error: Script has no access to write variables to environment.
You must run this using one of the following forms:
source hp_ced_load_config.sh <config.json>
or
. hp_ced_load_config.sh <config.json>
Solved : Ensure you’re in a bash shell - run bash and then run the command
=======================================================
Problem :
=======
root@headnode03r03:~# source /root/work/tripleo/tripleo-incubator/scripts/hp_ced_load_config.sh /root/work/tripleo/configs/kvm-custom-ips.json
Error: [Errno 2] No such file or directory: '/root/tripleo/hp_passthrough/overcloud_pre_installer.json'
Solved : Ensure the media is installed in the correct installed in the /root/ directory. Early documentation requests that the media is expanded into a /root/work/ directory. This is no longer correct.
root@headnode03r03:~# mv work/tripleo/ /root/
=============================================================
Problem :
=======
+ hp_ced_validate_ip validate -a 172.16.120.3 -n 172.16.120.0/24 -p down
Valid IP address: 172.16.120.3
Address (172.16.120.3) on network (172.16.120.0/24)
ERROR: Found pingable IP, cannot continue
Pingable IP: 172.16.120.3
Solved : All servers not switched off - ensure lab is reset correctly before starting
=============================================================
Problem :
=======
+ die 'Error: BRIDGE_INTERFACE:eth0 has no assigned IP address'
+ echo Error: BRIDGE_INTERFACE:eth0 has no assigned IP address
Error: BRIDGE_INTERFACE:eth0 has no assigned IP address
+ exit 1
Solved : The seed host was not reset cleanly after first attempt - need to remove the baremetal bridge - brbm and place ip address back on em1…
Deleted brbm
Added IP back to em1
Added default gw
=====================================================================
Hi, Can I get the HP_Helion_OpenStack_1.0.1.tgz? I just want to test this openstack. 🙂
LikeLike