[[TOC(Documentation/f*, depth=3)]] == Tutorial: OpenStack Setup== Requirements: 1. [https://www.orbit-lab.org/wiki/Documentation/CGettingStarted Setup/Practice] of Orbit Nodes. 2. Any available Orbit Sandbox Node 3. Ubuntu 20.04.5 LTS or Ubuntu 22.04.2 LTS (Choice is up to you) ---- In this tutorial, we will be using one of the sb1 nodes for setting up OpenStack. However, sb(1-10) should also be capable for OpenStack setup. Make sure you have Ubuntu 20.04.5 (**baseline20.04.ndz**) or 22.04.2 (**ubuntu2204-beta.ndz**) LTS. To get the Ubuntu Version, follow these steps after ssh'ing into your console. Substitute for the image and node you want. The below steps illustrate loading Ubuntu 20.04.5 LTS for node1-2 of sb1. For the sb1 console, {{{#!shell username@console:~$ omf tell -t node1-2 -a offh }}} {{{#!shell username@console:~$ omf load -t node1-2 -i baseline20.04.ndz }}} {{{#!shell username@console:~$ omf tell -t node1-2 -a on }}} To verify if you have loaded your Ubuntu version properly, use this command after ssh into the node1-2 {{{#!shell root@node1-2:~# lsb_release -a }}} This will list the current version of Ubuntu loaded. Example Image: [[Image(lsb_release.jpg)]] === Set up an OpenStack development environment via [https://github.com/openstack/devstack DevStack] === After loading your version of Ubuntu, you can follow below steps to install OpenStack 1. Update and Upgrade Packages: {{{#!shell root@node1-2:~# sudo apt-get update && sudo apt-get upgrade -y }}} 2. Install Git: {{{#!shell root@node1-2:~# sudo apt-get install git }}} 3. Clone the DevStack Repository: {{{#!shell root@node1-2:~# git clone https://github.com/openstack/devstack.git }}} 4. Create a Stack User: {{{#!shell root@node1-2:~# sudo ./devstack/tools/create-stack-user.sh }}} 5. Switch to the Stack User: {{{#!shell root@node1-2:~# sudo su stack }}} {{{#!shell stack@node1-2:/root$ cd ~ }}} 6. Clone the DevStack Repository (as the Stack User): {{{#!shell stack@node1-2:~$ git clone https://git.openstack.org/openstack-dev/devstack }}} 7. Remove the Existing Python 3 Pip Package (if present) and Download and Install the Latest Python 3 Pip Package: {{{#!shell stack@node1-2:~$ sudo apt remove python3-pip }}} {{{#!shell stack@node1-2:~$ wget https://bootstrap.pypa.io/get-pip.py }}} {{{#!shell stack@node1-2:~$ sudo python3 get-pip.py }}} 8. Install a Specific Version of the Cryptography Package(there is version conflict with the OpenSSL package automatically installed by dev stack, install the below version to prevent this issue): {{{#!shell stack@node1-2:~$ pip install cryptography==38.0.4 }}} 9. Copy the local.conf into the Devstack Folder: {{{#!shell stack@node1-2:~$ cd devstack/samples/local.conf devstack }}} {{{#!shell stack@node1-2:~$ cd devstack }}} 10. Identify Node's IP Address; Configure and Setup local.conf in Devstack Folder According to Requirement (either the controller or compute node): [=#point] {{{#!shell stack@node1-2:~/devstack$ hostname -I }}} Example Image of Getting Node's IP Address: [[Image(hostname-I.jpg)]] {{{#!shell stack@node1-2:~/devstack$ cd }}} {{{#!shell stack@node1-2:~/devstack$ nano local.conf }}} Scroll to the ADMIN_PASSWORD, and change the password to what you prefer. Afterwards, scroll to HOST_IP. Remove the comment in front of the HOST_IP and set the IP to that of the what IP address was given by [#point hostname -I] (10.11.1.2 this case). Save changes. Example Images of Changed Password and IP Address: [[Image(badpassword.jpg)]] [[Image(ipaddress.jpg)]] === Set up a remote desktop through [https://remotedesktop.google.com/access Google Remote Desktop] === To ensure OpenStack Dashboard displays, you must download Google Remote Desktop and use Google Remote Desktop 1. Install XServer Packages for Google Remote Desktop: {{{#!shell stack@node1-2:~/devstack$ sudo apt-get install xfce4 xfce4-goodies -y }}} 2. Download Debian File for Google Remote Desktop: {{{#!shell stack@node1-2:~/devstack$ wget https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb }}} 3. Install Google Remote Desktop: {{{#!shell stack@node1-2:~/devstack$ sudo apt install ./chrome-remote-desktop_current_amd64.deb -y }}} 4. Start the Google Remote Desktop: a. Login into https://remotedesktop.google.com/headless b. Click on the Begin, Next, Authorize c. Copy the Display Run Command into the Node Example Image: I 5. 10. Fireup the Stack: {{{FORCE=yes ./stack.sh}}} For more details related to installation process: https://docs.openstack.org/watcher/newton/dev/devstack.html This will take around 15-20 minutes. In this process, you might be asked to set up passwords for Horizon, MYSQL, etc. Once installation is done, it provides information related to Horizon, Keystone which will look something like this. This is your host IP address: 10.19.1.2 This is your host IPv6 address: ::1 Horizon is now available at http://10.19.1.2/dashboard Keystone is serving at http://10.19.1.2/identity/ The default users are: admin and demo The password: *****(Password set by you during installation process) You can log in to view the Horizon dashboard(http://10.19.1.2/dashboard) using below default credentials