[[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 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 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 22.04.2 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 ubuntu2204-beta.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 or Gnome-Shell for Google Remote Desktop: {{{#!shell stack@node1-2:~/devstack$ sudo apt-get install xfce4 xfce4-goodies -y #For Xfce }}} {{{#!shell stack@node1-2:~/devstack$ sudo apt-get install gnome-shell -y #For Gnome-Shell }}} 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 by Logging into https://remotedesktop.google.com/headless. Click on Begin -> Next -> Authorize. Copy DISPLAY code into terminal: Example of Display Code in Terminal: [[Image(runcommand.jpg)]] 5. Go to https://remotedesktop.google.com/access. Click on the Node and Enter Pin. Afterwards, Select Xfce Session, which will Display the Remote Desktop Access. Afterwards, Enter the Terminal in the Xfce Session. 6. Remove the psutil direction and any relevant files {{{#!shell stack@node1-2:~$ sudo rm -rf /usr/lib/python3/dist-packages/psutil }}} {{{#!shell stack@node1-2:~$ sudo rm -rf /usr/lib/python3/psutil-5.9.0.egg-info #For Ubuntu 22.04.2 LTS }}} 7. Afterwards, Install Firefox on the Xfce Session to Allow OpenStack Dashboard to Later Appear. For Ubuntu 22.04.2 LTS, {{{#!shell stack@node1-2:~$ wget -O ~/Firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64" }}} {{{#!shell stack@node1-2:~$ sudo tar xjf ~/Firefox.tar.bz2 -C /opt/ }}} {{{#!shell stack@node1-2:~$ sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox }}} {{{#!shell stack@node1-2:~$ firefox #Run firefox on the terminal }}} === Start the OpenStack run-program === 8.Open a new terminal and cd into devstack {{{#!shell stack@node1-2:~$ cd devstack }}} 9. Run OpenStack Bash File: {{{#!shell stack@node1-2:~/devstack$ FORCE=yes ./stack.sh }}} Wait for around 15-20 minutes for all the packages and systems to be installed. Once installation is done, you are permitted to access the Horizon Dashboard and Keystone Identity. You will be prompted with a similar message to the output given below. You can CTRL+Click in the Xfce Session to navigate to the Dashboard and Identity, allowing you then to explore OpenStack and all its availabilities through DevStack. If this does not work, copy the link, and use Firefox to access the the Horizon dashboard. Example Output from Successful Run: ---- This is your host IP address: 10.11.1.2 This is your host IPv6 address: ::1 Horizon is now available at http://10.11.1.2/dashboard Keystone is serving at http://10.11.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.11.1.2/dashboard) using below default credentials = Hope You Figure Out the Purpose of OpenStack =