OpenStack:Essex Build Node
The Build Node Deployment Guide provides instructions for deploying an OpenStack Build Node. The Build Node consists of several software components used to automate the deployment and management of an OpenStack environment.
The Build Node is based on the following software versions:
- Ubuntu: 12.04
- Cobbler: 2.2.2-0ubuntu33
- Puppet: 2.7.11
- DNSMASQ: 2.59-4
- NTP: 1:4.2.6.p3+dfsg-1ubuntu3.1
Ensure you have met the following prerequisites:
- Make sure you have tested network connectivity. The Build Node needs to download packages over the Internet to complete the installation.
- Download the Ubuntu Precise ISO to a location that can be accessed by the Build Node CIMC: http://releases.ubuntu.com/12.04/ubuntu-12.04.1-server-amd64.iso
- Before starting the installation process, ensure that RAID is configured if a RAID Controller is present.
- Create a DNS entry for the name of the Build Node. Note: By default Puppet Agents expect to register to the Puppet Master with the name puppet. If the name of the Build Node is not puppet, ensure puppet.conf is configured with the correct name of the Build Node. This is typically accomplished using the cobbler-node.pp file.
- Time synchronization is required for proper operation of the system. Ensure you have at least one NTP server where nodes can pull time. Note: The default preseed file uses the UTC time zone, so ensure UTC is used for the Build Node or make the appropriate changes to the preseed file.
Starting the Ubuntu Installation
Open your web browser and log into the Cisco UCS CIMC of the Build Node.
Select BIOS under the Server tab and ensure that the boot order starts with CD/DVD and then Hard Disk. Note: Since the Build Node is being built manually; PXE Boot is not a necessary boot option.
Launch the Virtual KVM and accept any security warnings that may appear.
Mount the Ubuntu Precise ISO by selecting the Virtual Media tab, click Add Image… and browse to the location of the Ubuntu Precise ISO previously downloaded (from the Prerequisites Section). Lastly, make sure the Mapped check box is checked.
Reboot the node.
The server will reboot and should boot from the Ubuntu ISO. You will be presented with a screen to install Ubuntu Server 12.04.
Select Install Ubuntu Server from the Main Menu.
Select your desired language.
Select your desired Country or Territory.
From the Configure the keyboard menu, select <No> to Detect keyboard layout.
Select your desired country from Configure the keyboard > Country of Origin.
Select your desired language from Configure the keyboard > Keyboard layout.
Ubuntu Installation Network Settings
From Configure the network menu, select eth0 as your Primary network interface:
- Your server will dynamically receive IP addressing information if DHCP is configured for the network connecting to your primary network interface.
- If DHCP is not configured or working properly on the network connecting to your primary interface, the installation will notify you:
Hit return to continue if you are not using DHCP or wish to retry network auto configuration.
Select configure network manually
Note: We recommend configuring the Build Node with static network settings even if DHCP is used during the installation process.
Enter the IP address you wish to assign to the Build Node. The installer will automatically assign .1 as the gateway. Change if necessary. Otherwise hit return to continue the installation.
Enter the IP address(es) for up to 3 name (DNS) servers. Separate the DNS server IP addresses by spaces, not commas. Your server will query the name servers in the order entered. Leave this field blank if you will not use name servers, or you wish to add the name servers at a later time.
Note: Name resolution is required for the proper operation of several services within a multi-node OpenStack deployment. Add static records for OpenStack nodes in the /etc/hosts file if a DNS Server will not be used.
Enter the hostname (a single word) that identifies your system. The hostname should match the associated DNS Host record entry (referenced in the Prerequisites Section).
Enter the Domain Name that the server will belong to. Note: Make sure you use the same Domain Name for all your OpenStack Nodes.
Select the desired location for your Ubuntu archive mirror country. These mirrors provide repositories and archives of all software for the Ubuntu distribution.
Confirm the name of your Ubuntu archive mirror.
Enter Proxy information if you need to use a Proxy to get to the Internet or leave it blank and hit enter if none. Proxy information should be provided in the standard form: http://[[user][:password]@]host[:port]/
The installer will begin loading additional software components.
The installer will automatically detect your time zone. Make sure you select UTC (last option in list) as the time zone. This is important as the default Cobbler preseed for nodes is UTC and time much be synchronized across all nodes. Make sure to modify the preseed template in the cobbler::preseed manifest if you use a timezone other than UTC
Ubuntu Installation: Hard Disk Settings
The installer will begin detecting hard disks and hardware components. Note: If RAID is configured properly, only a single disk that represents the RAID Group should appear in the detected hard drive list.
You are then presented with options for partitioning your local hard disk. Select the Guided – use entire disk option and hit return.
Accept the warning message about lost data on the disk.
Select <Yes> to write the changes to disk and hit return.
The installer will then create the file system and install the base system.
Ubuntu Installation: User Account Settings
Create a Real Name (ex> John Doe) for the user account. This is the account used for not administrative (root) purposes.
Select a username for the new account. Note: We use localadmin as the username in our documentation.
Provide and verify password for the new username. Note: We use ubuntu as the password in our documentation.
Select no to the encrypt your home directory option. The software installation process will begin.
Ubuntu Installation: Configuring Discover Setting
Select No to the automatic updates option from the Configuring discover menu
Ubuntu Installation: Software Selection Settings
Only select OpenSSH server from Choose software to install list.
Ubuntu Installation: GRUB Boot Loader Setting
Select <Yes> to install the GRUB boot loader to the master boot record.
Ubuntu Installation: Finish the Installation
Your installation is now complete. Select <Continue> complete the Ubuntu 12.04 Server installation.
Ubuntu Installation: Post Installation
Click on the UCS Virtual Media tab to remove the Ubuntu 12.04 ISO.
Click on the UCS KVM tab to view the booting process.
- Note: Verify your BIOS setting (C-Series) or boot policy (UCS B-Series) if your server does not select the local hard drive as the first boot device.
After the server reboots, login using the Virtual KVM Console or through SSH.
Apply software updates. Note: preface commands with sudo if you do not have root privileges.
apt-get update && apt-get dist-upgrade -y
Restart the system
Ping the ip address of the Build Node to see when it comes back from reboot
When you begin receiving ping replies, SSH to the Build Node IP address
Cisco Repository and Packages Installation
Skip the steps in this section except the Additional Required Packages if you will be deploying an Essex High Availability OpenStack environment.
1. After the Build Node has rebooted and you have logged-in, add one of the following Cisco Mirror repositories.
apt-get install python-software-properties -y # For OpenStack Folsom Release add-apt-repository ppa:cisco-openstack-mirror/cisco-folsom # For OpenStack Essex Release add-apt-repository ppa:cisco-openstack-mirror/cisco apt-get update
2. Now that the Cisco Mirror repo has been added, install the Cisco Puppet Modules (installed into /usr/share/puppet/modules).
apt-get install puppet-openstack-cisco
3. Optionally, you can install the following packages.
- Documentation (installed into /usr/share/doc/cisco-openstack-docs):
apt-get install cisco-openstack-docs
- Utilities' (installed into /usr/share/doc/cisco-openstack-utils):
apt-get install cisco-openstack-utils
- Additional Required Packages
apt-get install ntp puppet git ipmitool -y
If your cisco-openstack-utils package does not include the clean_node.sh script, then pull cisco-openstack-docs directly from the Cisco GitHub repository.
git clone https://github.com/CiscoSystems/cisco-openstack-docs ~/os-docs
- Wikipedia- Disk Partitioning: http://en.wikipedia.org/wiki/Disk_partitioning#PC_partition_types
- Cisco System GitHub Home: https://github.com/CiscoSystems/
- Ubuntu 12.04 Server Guide Advanced Installation: https://help.ubuntu.com/12.04/serverguide/C/advanced-installation.html
For OpenStack Essex Deployments:
- High Availability Deployment Guide: http://docwiki.cisco.com/wiki/OpenStack:Essex_Multi_Node_HA
- All-In-One Deployment Guide: http://docwiki.cisco.com/wiki/OpenStack:Essex_All_In_One
For OpenStack Folsom Deployments:
- Multi-Node Deployment Guide: http://docwiki.cisco.com/wiki/OpenStack:Folsom-Multinode
Provide documentation bugs or feedback to email@example.com