[Highlight 7/14/2020 Updates] [6/30/2020] Keep at top

IEL Drone Lab 1: Introduction

⏰ Length: 3 minutes, 35 seconds (~730 words)

This lab is the first in a series of labs designed to demonstrate how several IBM technologies, such as OpenShift (Kubernetes) and Hybrid Multicloud can be utilized along with modern industry devices, such as drones and sensors, in various industry-specific applications.

With much to cover, it’s imperative that you start out by learning about your environment and get comfortable with the environment’s interface configuration. You don’t need to be a technically-skilled expert to customize or even deploy your first application to a multi-hybrid cloud – follow these instructions carefully and you’ll be able to do just that!

As a lab participant, you will have the opportunity to review and change configuration in an application thereby making it unique to you, access RedHat OpenShift through IBM Cloud, use a Dockerfile to connect your unique application’s code repository on GitHub to an OpenShift instance, and even get to play around with your new application as well.

The diagram on the right depicts a high-level flow and services used in this lab.

Lab Overview

At the core of this lab, you will deploy a web application (just like most sites you’d access online) to a hybrid multi-cloud. As an example, you will use a prepared remote drone operations console as your web application, which you’ll be able to add your own custom and unique configuration.

Drones are quickly growing in popularity, both in commercial and industry usage. In this lab, you’ll experience firsthand some cross-industry examples of drone technology being put to task at saving lives and helping populations.

While you will not be writing the code for your remote drone application, you will gain some insight on the process, and even make small code changes in GitHub Enterprise that will render your application unique.

You will then deploy your remote drone application on OpenShift, an open source application platform based on Kubernetes and container technology that focuses on making the Kubernetes experience easier for developers and operations teams. With a menu driven interface, users can create a highly available and managed OpenShift cluster, along with industry-leading developer experience, automated provisioning, updates, and patching.

Along the way, you will learn about the IBM Hybrid Multicloud Sandbox as a Service (SBaaS) platform which provides cloud services to enable our technical sellers to gain experience with IBM Cloud capabilities along with other industry Cloud platforms in a hands-on environment. Pre-packaged scenarios and technologies can be customized to build client specific PoCs/prototypes and show the value of IBM Cloud and Industry solutions to help clients with their cloud and digital transformation journeys.

Table of Contents

Before you begin
1. Using GitHub to Access/Modify an Application
2. Accessing RedHat OpenShift through IBM Cloud
3. Creating Application in OpenShift from GitHub
4. Building and Verifying Application on OpenShift
5. Exploring the Application
Summary & Contacts

View full size diagram

What steps were done for each lab user as setup?

When you made a request to take this hands-on lab, there were some background tasks that were performed on your behalf in order to prepare the GitHub and Sandbox as a Service (SBaaS) environments with the appropriate permissions, configuration, and content. Using the GitHub Collaborator API, IBM Cloud CLI, and OpenShift CLI, the following tasks were completed for each new lab user:

Setting up the GitHub Repository for the user
A clone was created from the original GitHub repository where the remote drone console application was developed, and reuploaded to a new unique space for a given lab user. That user was then added to their unique GitHub repository as a collaborator.

Adding the user to the SBaaS environment
The new user was first given user permissions to the existing IBM Cloud organization for the SBaaS environment that was provisioned for the lab. A new project was then created specifically for that user in the OpenShift cluster within that organization, and user policies applied to enable the rights necessary for completion of the lab steps.

Build/Deploy an instance of the application
From within OpenShift, the remote drone application code was then pulled from the GitHub repository to build a container image from the Dockerfile. That container image was then pushed to the appropriate namespace in the OpenShift Container Registry running on IBM Cloud in this SBaaS environment to deploy the application. This initial application instance was deployed as a reference/example, but each lab user will create and customize a second application instance as part of the lab activities that follow.


Move on to the Preliminary Steps →

Lab Preliminary Steps

What is your lab name that was provided in your onboarding email? (You must provide this information before starting the lab.)



If you did NOT receive an onboarding email after requesting access, or your lab name was not in the onboarding email, please email gscgov@us.ibm.com.

In your browser window, close all other tabs but this one.

Using the mock window below as reference,
click on each of its 3 tabs and read each description.

Then, match your browser window with the mock window.

As you go through the lab, you'll open 2 new tabs: Topology view in OpenShift, and your Remote Drone Console Application that you will view at the end of the lab.
IEL Drone Lab 1 - Instructions
Repo for the IEL 2020 Lab 1 [GitHub]
IBM Cloud [later, cluster overview]
- This current tab.
- Your browser should only have this tab open right now.
- During the lab, you'll be clicking back to this tab often!
- Now click on the [GitHub] tab to the right.
Does your window match the mock window above with the 3 tabs?
Besides this instructions tab being the left-most tab, the order of the tabs is not important. These 3 tabs will start off your lab correctly.

You should have received an email (“Thank you for your interest in the IBM Hands—on Drone Lab1: OpenShift Drone Application…”) containing the link to your repository as a .zip file. You will need to push the contents of this zip file to a repo on your own GitHub or GitHub Enterprise account.

The instructions here will guide you through the lab step by step.

Step 1 Next

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases
Ready? Move on to Step 1 and start the lab →

Step 1: Using GitHub to Access/Modify an Application

In this section, you will navigate to GitHub Enterprise and access the code for your application. IBM has GitHub Enterprise which provides the social coding experience that developers love. In most development environments, there’s a lot of collaboration involved regarding code and changes to code. Enabling a team of developers to manage these changes and subsequent versions requires some form of source control, or git.
In this lab, you will gain some insight on the process, and even make small code changes that will render your application unique.

Reference:

Instruction/Step
Indicated as text with light blue background.

Example:
Scroll down after you make your changes
Reminder
It's important to read each step carefully and in order.

Skipping sections, reading too fast, or not clicking to read
💡 More Information lightbulb blocks

may result in incomplete learning.


Technologies Used
Your Tasks for Step 1

✅ Access GitHub Enterprise
✅ Review the drone application repository
✅ Make a configuration change
✅ Commit change to the master branch


Step 1 In Progress

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases

1.1 Access GitHub Enterprise

1.1.1

The use of GitHub in this project is important because it allows developers to track code changes and version deployments across the entire project. From specific features to full production releases, GitHub can be used for change and management control.

💡 How is GitHub Enterprise different from GitHub.com? [Click to Read More]
GitHub Enterprise includes the same great set of features as GitHub.com but packaged for running on IBM’s network. All repository data is stored on machines that you control, and access is integrated with IBM’s authentication system (SAML). GitHub Enterprise also includes support for pre-receive hooks, a powerful tool that can help you enforce critical business rules, meet compliance requirements and help prevent other undesired changes from ever being made. Use GitHub Enterprise when you need complete control over repository and project information. Visit https://enterprise.github.com/faq to learn more.

In Preliminary Steps, you set up your three initial tabs in your current browser window [This tab, your GitHub repo link tab, IBM Cloud tab]. If you did not do this already, go back (by scrolling to the top and click Preliminary Steps) and make sure your browser window matches that mock window.

Like logging into IBM Verse and IBM Cloud, you should be able to log into GitHub with your w3id. GitHub Enterprise is where the repository of application’s code resides. To learn more about how IBM uses GitHub Enterprise, visit https://www.ibm.com/garage/method/practices/culture/tool_github.

1.1.2

In your browser window, switch to the GitHub tab.
(Repo for the IEL 2020 Lab 1)

1.2 Review the drone application repository

1.2.1

Let’s review the code repository’s structure. Every application has source code which is stored in a repository. A repository contains a set of files, as well as the history of changes made to those files.

Repositories can contain folders and files, images, videos, spreadsheets, and data sets – anything your project needs. At the top level, you notice public and src folders, followed by a set of files. These files typically contain a README.md and can also include licensing info, contributors, deployment configuration, etc. You may even notice that the README.md is open for viewing below the files/folders, where you can learn some facts about this application.

The public folder often contains the HTML file so you can tweak it, for example, to set the page title. You can also add other assets to the public folder, as is the case for this lab repository, where there are some configuration files that allow customization of certain aspects of the user interface. Visit https://github.com/kmindi/special-files-in-repository-root/blob/master/README.md for more information on typical files you’d find in any repository and https://create-react-app.dev/docs/folder-structure/ to learn more about the use of the public and src folder in React development.

💡 What type of drone application is in this repository? [Click to Read More]
What you’re seeing in this repository is the source code for the remote drone console application, which was built using React (a best-in-class JavaScript library for building user interfaces), TypeScript (an open-source programming language with a strict syntactical superset of JavaScript which adds optional static typing), and Node JS (an open-source, cross-platform, JavaScript runtime environment). The application provides users with an interface to connect to a defined set of drones in order to assist users by leveraging services like aerial surveillance, inspection of infrastructures, first responders coordination, geothermal exploration, etc. for different industries. The dashboard provides users with drone operation statistics and other drone related information to effectively monitor, optimize and control the drones.

Find the public folder (see image below). Within this directory, you will be able to see config.json, a JSON file where certain UI elements can be changed. This data structure was designed to be easily edited and will dynamically change the UI. You will edit the code and deploy that code change soon.

Click on the public folder.




1.2.2

Once in the public folder, you should see config.json file.

GitHub allows users to see code directly in the webpage and even interact with it. You can create, edit, move, and delete files on a GitHub repository from the webpage. GitHub has support for navigation of code for many programming languages like Python, Java, JavaScript, and more. Visit https://help.github.com/en/github/managing-files-in-a-repository/managing-files-on-github to learn about all the capabilities of GitHub and what you can do with your code.

Click on the config.json file to see the code.

1.3 Make a configuration change

1.3.1

Many developers do not edit code on GitHub directly. Instead, they use a range of different Integrated Development Environments (IDEs) and code editors like Visual Studio Code, XCode, Eclipse, etc. Then, developers use tools like GitHub Desktop, SourceTree or git commands on a command line to push code changes and commits to the remote code repository. However, for this lab, you will edit directly within the GitHub web interface to avoid installing these programs.

Let’s edit the code in the config.json file, your application’s configuration file, which adds customization to your application’s user interface.

Click on the Edit button for config.json (see image below).




In the editor, change the value associated with the ConsoleDisplayName field to anything you want. (Currently the value is “Remote Operations Console”).


💡 Why am I changing the ConsoleDisplayName? [Click to Read More]
To understand the relationship between GitHub and the deployment environment (in this case, OpenShift), you will see your changes from this step after you have deployed the application in later steps. As it is not plausible to have a lab user build their own application entirely in a limited time frame, making this simple change is meant to exemplify how code changes can propagate throughout the lifecycle of application development and deployment. In later steps, you will reference this change by having the option to view an already deployed instance of the default original application.

In some later example screenshots, you might see that the word "Walkthrough" was added in front of “Remote Operations Console”. Any name or phrase (like the name of your pet, your name, etc.) are options for ConsoleDisplayName. 🙂 For reference, you will later see this phrase at the top of your Remote Drone Dashboard application.

Be careful! Any value you change for a field should contain only alphanumeric characters and/or spaces. Keep your values to under 16 characters total, but at least one character.

💡 What do I do if I mess up and want to reset my changes? [Click to Read More]
If you want to revert to the default config.json before committing, cancel your changes by refreshing the editor to start over.


1.3.2 (Optional)

You may notice that there are other fields/values also shown in the config.json editor. These fields represent the physical drones that may be available for a given user to operate in their remote drone application console. In the default code, you notice that there are three drones available.

You may edit the values for the fields “friendly_name” and “drone_serial_no” as well (the bolded values below), and the changes will later be reflected in the application.

"friendly_name": "Lab User Drone",
"drone_serial_no": "A12345"

"friendly_name": "Damage Inspection Drone",
"drone_serial_no": "A123456"

"friendly_name": "Surveillance Drone",
"drone_serial_no": "A123457

NOTE: It is not necessary to change these fields for the lab - but you can if you’d like to.

1.4 Commit change to the master branch

1.4.1

Currently, you are editing directly on the master branch. The master branch is the default branch that your repository starts out with. As you continuously edit your code on your branch, those changes are reflected as commits. Commits include a summary message of what was changed, along with the files that were changed as a result of edited code.

A situation could occur when you want to create different versions of your application - for example, when adding a new feature to the current code, you do not want to interfere with the version that others may be working on. Creating these versions are called branches – you could create a new_feature branch that is based on the master branch. Once satisfied with code changes in the new branch, the new_feature branch could then be merged into the master branch for all collaborators to use as their working copy. Visit https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell for more information on git branch structure and architecture.

You will be committing your change you just made to the master branch.



Using the above image as an example, add a brief summary message that reflects the changes you’ve made to config.json.


💡 Why should I be descriptive yet brief when I write a commit change message? [Click to Read More]
It is important to be specific when writing the titles and description of code commits. However, overly detailed commits detract from quickly finding a commit. GitHub tracks changes so that if revision or reverting is necessary, descriptive yet brief commits can pinpoint the issues much more quickly.


Make sure Commit directly to the master branch is selected. Then click the Commit changes button.


1.4.2

Once you commit your changes, the page will refresh. In order to be prepared for the coming steps, make sure your GitHub tab is at the root level.

Click on YourLabName-2020-lab near the top, where it says on YourLabName-2020-lab / public / config.json.




You have now completed Step 1 by viewing the root level of your repository with your latest commit. It is ready for the remaining steps of the lab.



Finish Step 1

You completed Step 1! 🎉

You successfully made a unique change to your application using relevant development skills and utilizing GitHub.

Step 1 Completed

✅ Access GitHub Enterprise
✅ Review the drone application repository
✅ Make a configuration change
✅ Commit change to the master branch

In the next steps, you will move onto deploying your remote drone dashboard application with RedHat OpenShift through IBM Cloud. In Step 2, you’ll learn about these services, access your project in a cluster, and explore the OpenShift web console.

Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Next

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases
Ready? Move on to Step 2 →

Step 2: Accessing RedHat OpenShift through IBM Cloud

As mentioned before, prior to when you began this lab, you were given user permissions to the existing IBM Cloud organization for the SBaaS (Sandbox as a Service) environment that was provisioned for this lab. A new project was created specifically for you in the OpenShift cluster within that organization, with all the necessary user policies.

In this section, you will navigate from the IBM Cloud dashboard within that organization to the provisioned IBM Sandbox as a Service workspace. Then, you will access a cluster and open the RedHat OpenShift web console. In addition to exploring the RedHat OpenShift interface on IBM Cloud, you’ll also get an overview of the capabilities that OpenShift provides.

Before you move on, you may want a refresher on what exactly Red Hat® OpenShift® is. Red Hat® OpenShift® on IBM Cloud™ is a managed offering to create your own OpenShift cluster of hosts to deploy and manage containerized apps on IBM Cloud. OpenShift is essentially a layer that's built on top of Kubernetes, and makes working with it much easier: by taking a lot of the difficult tasks (like deploying applications and doing things like day-to-day operations) and building a web console in the CLI, as well as a facade on top of Kubernetes to make all of those tasks more streamlined and easier to do.

Let’s take a moment to review some concepts you will be delving into in the next few steps. Consider the remote drone dashboard application you helped develop by editing in the previous step. You do your work on your laptop and if your dashboard had real life usage and contained a suite of various real-time systems and technologies, your environment might have a specific configuration. Other developers may have slightly different configurations. The application you’re developing relies on that configuration and is dependent on specific libraries, dependencies, and files. Meanwhile, your team has development and production environments which are standardized with their own configurations and their own sets of supporting files. You want to emulate those environments as much as possible locally, but without all of the overhead of recreating the server environments. So, how do you make your app work across these environments, pass quality assurance, and get your app deployed without massive headaches, rewriting, and break-fixing? The answer: containers.

The container that holds your application has the necessary libraries, dependencies, and files so that you can move it through production without all of the nasty side effects. Containers provide a standard way to package your application's code, configurations, and dependencies into a single unit that can run as a resource-isolated process on a server. To run your app in Kubernetes on Red Hat OpenShift on IBM Cloud, you must first containerize your app by creating a container image that you store in a container registry. Container image distribution is agile, small, and portable, and is a lot easier than installing new copies of operating systems – which is an ideal outcome for all.

In the coming steps, you will take your containerized remote drone dashboard application and run it on RedHat OpenShift, which is a Kubernetes deployment that manages container images. It can be easy to confuse the two, but RedHat OpenShift and Kubernetes are different – to put it simply, Kubernetes is the "kernel" of distributed systems, while OpenShift is the “distribution”.

Now that you have been refreshed on what OpenShift and its related components are, there’s an important distinction between the process outlined in this lab, versus other common processes of deployment on OpenShift, which will be outlined in the next steps. For now, let’s start out by exploring the IBM Cloud dashboard and OpenShift interface.

Technologies Used

Your Tasks for Step 2

✅ Access IBM Cloud
✅ Access RedHat OpenShift cluster
✅ Open RedHat OpenShift web console
✅ Explore OpenShift web console


Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 In Progress

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases

2.1 Access IBM Cloud

2.1.1

You’ll need to access RedHat OpenShift through the IBM Cloud in order to build and deploy your application.

In your browser window, switch to the IBM Cloud tab.
(IBM Cloud)

If you did not do so in the Preliminary steps, you can also log in with your w3id to ( New Tab ⇒ https://cloud.ibm.com) (Single Sign-On Required with w3id)



💡 Why do I need to log into IBM Cloud first? [Click to Read More]
Your IBM Cloud account has already been added to an organization ("IBM") which contains necessary components for this lab.

Once you’ve logged in, you should be greeted with a dashboard that displays the various resources that IBM Cloud has to offer. From Cognitive APIs to DevOps to Classic Infrastructure resources, IBM Cloud has many offerings to explore.

At the top of the dashboard, you’ll see a navigation bar. On the right side of the navigation bar, there is a dropdown for various accounts you may be apart of. Most likely, the default is the last account you opened, if not the only one available.

For this lab, you’ll be working in the 1500867 – IBM account.

Click on the 1500867 – IBM account in the IBM Cloud’s navigation bar dropdown.

2.2 Access RedHat OpenShift cluster

2.2.1

Once you click on 1500867 - IBM, your dashboard will update with Resources that are specific to it. You should see a Resource summary card that currently contains a Resource: Clusters (1).

Click the resource called Clusters.


💡 What is a cluster? [Click to Read More]


In Kubernetes, a cluster consists of one or more hosts that are called worker nodes. Worker nodes are managed by a master that centrally controls and monitors all Kubernetes resources in the cluster. So when you deploy the resources for a containerized app, the Kubernetes master decides which worker node to deploy those resources on, accounting for the deployment requirements and available capacity in the cluster. Kubernetes resources include services, deployments, and pods.
2.2.2

You should see now see a Resource list that may contain multiple Cluster resources, but for this lab, you will only need the cluster resource, mycluster-dal12-b3c.4x16. Additionally, in other workspaces or your personal workspace, you may have dozens of other applications, services, storage, developer tools, etc. These resources are all hosted on IBM Cloud. Information such as the offering, location, status can be seen for each resource.



Click the mycluster-dal12-b3c.4x16 cluster.

2.3 Open RedHat OpenShift web console

2.3.1

Let’s examine this cluster’s (mycluster-dal12-b3c.4x16’s) overview of the resource.

On the left side is the additional settings menu. In the middle is the the summary card for the cluster. On the right side, you’ll see worker nodes/cluster insights. It includes diagnostics and status information about the cluster. All of this provides a summary of the OpenShift instance before you jump in and work directly inside of it.



Click on the OpenShift web console button in the top right to access the console.


When you click this button, you may be prompted with an alert saying you need to enable pop-ups. If you get that prompt, enable pop-ups for this site click the OpenShift web console button a second time and wait for the new page to open.

⚠️ How do I enable pop-ups? [Click to Troubleshoot]
Generally speaking, in the address bar, you may see an alert saying "Pop-up blocked". Click the link for the pop-up you want to see. To always see pop-ups for the site, select Always allow pop-ups and then Done.

Windows Operating System
Firefox:
https://support.mozilla.org/en-US/kb/pop-blocker-settings-exceptions-troubleshooting

Google Chrome:
https://support.google.com/chrome/answer/95472?co=GENIE.Platform%3DDesktop&hl=en


Mac Operating System
Safari:
https://www.technipages.com/safari-popup-blocker

Firefox:
https://support.mozilla.org/en-US/kb/pop-blocker-settings-exceptions-troubleshooting

Google Chrome:
https://support.google.com/chrome/answer/95472?co=GENIE.Platform%3DDesktop&hl=en

It may take several seconds for this new tab to load completely. The reason for this is that you have moved into a RedHat OpenShift instance. Here you can see which projects and applications are deployed on your cluster.

Before we get too far, let’s make make sure you are in the Developer Perspective for the Project space allocated for this lab:

1) Set your perspective in the left menu by clicking the dropdown and selecting </> Developer (instead of Administrator).

2) Click the dropdown where it says Project (at the top) and make sure "YourLabName-2020-lab-1" is selected.

3) Click Topology on the left menu.
⚠️ My page looks different! / I see an error on the page below! [Click to Troubleshoot]


If you see "Restricted Access: You don’t have access to this section due to cluster policy" along with the error details, "deploymentconfigs.apps.openshift.io is forbidden: User “IAM#...” cannot list resource “deploymentconfigs” in API group “apps.openshift.io" in the namespace “default”, make sure to select the developer perspective and that you are in the correct project. Your project should be "YourLabName-2020-lab-1".

If you do NOT see a page similar to the one below, send an email to gscgov@us.ibm.com with the message, "My Topology view in OpenShift doesn't match the screenshot in Step 2.3.1."

💡 What is the node that is already there in my OpenShift instance? [Click to Read More]
As part of the lab setup for each users, an instance of the default, unchanged remote drone console application was deployed in your OpenShift project to be used as a reference. If you remember in Step 1, you edited config.json, which changed the remote drone console application’s title at the top. In Step 3, you will deploy your own instance based on the unique changes you made in Step 1.




2.4 Explore OpenShift web console

2.4.1

Confirm that you’re in the developer perspective on the top left. You have two perspectives available: developer, and administrator (which is usually the default perspective).

💡 What is the developer perspective? How is it different? [Click to Read More]
The Developer perspective provides workflows specific to developer use cases, such as the ability to:
  • Create and deploy applications on OpenShift Container Platform by importing existing codebases, images, and Dockerfiles
  • Visually interact with applications, components, and services associated with them within a project and monitor their deployment and build status
  • Group components within an application and connect the components within and across applications.
  • Integrate serverless capabilities
The Administrator perspective lets you manage and set up the components that your team needs to run your apps, such as projects for your workloads, networking, and operators for integrating IBM, Red Hat, 3rd party, and custom services into the cluster.

The current view in the OpenShift web console is the Topology view in the Developer perspective. It provides a visual representation of all the applications within a project, their build status, and the components and services associated with them. Review the annotated screenshot below which summarizes the key parts of this view.



💡 What does "DC" mean next to application resource name? [Click to Read More]
The application resource name is appended with indicators for the different types of resource objects as follows:
DC: DeploymentConfigs
D: Deployment
SS: StatefulSet
DS: Daemonset

Visit https://docs.openshift.com/container-platform/4.2/applications/application_life_cycle_management/odc-viewing-application-composition-using-topology-view.html#odc-viewing-application-composition-using-topology-view to learn more the application composition using the Topology view.

You’ll be able to dive into this web console’s functions and take action in the next step. Until then, become familiar with this view. Optionally, you can click the arrow button on the top right of the already deployed instance to see the original dashboard (which does not have your code changes).

Finish Step 2

You completed Step 2! 🎉

You successfully accessed and reviewed the OpenShift web console view by logging into IBM Cloud and selecting the available cluster resource.

Step 2 Completed

✅ Access IBM Cloud
✅ Access RedHat OpenShift cluster
✅ Open RedHat OpenShift web console
✅ Explore OpenShift web console

In the next step, you will finally begin the setup for adding your custom remote drone dashboard application to OpenShift. By linking OpenShift to your GitHub repository, you’ll be able to create and build your application.

Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 Next

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases
Ready? Move on to Step 3 →

Step 3: Creating Application in OpenShift from GitHub

In the last step, you accessed and reviewed the OpenShift web console through the IBM Cloud dashboard. You noticed there was already an instance running there – a default remote drone dashboard application. Remember that in Step 1, you made configuration changes for your own unique remote drone dashboard application. It’s now time to set up deployment of this repository.

Hinted at towards the end of Step 2’s introduction, there’s an important distinction between the process outlined in this lab, versus other common processes of deployment on OpenShift. For this lab, the approach you will take will involve pulling GitHub repository code to build a container image from a Dockerfile. However, this is merely one approach to create an application on OpenShift. In fact, there are multiple ways of creating an application which are not covered in this lab write-up as thoroughly but are useful to learn about.

Options for creating a new application in OpenShift
Click here to read a summary of the several ways of creating a new application in OpenShift (Open a New Window)

Technologies Used
Your Tasks for Step 3

✅ Add an application to OpenShift
✅ Link OpenShift to GitHub repository
✅ Generate token and create application


Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 In Progress

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases

3.1 Add an application to OpenShift

3.1.1

As detailed in the Options for creating a new application in OpenShift pop-up section above, you have several options to add an application to OpenShift. In this lab, we are covering how to add an application from Dockerfile.

From the OpenShift web console left navigational menu (with Developer perspective selected), click on the + Add option.
3.1.2

A Dockerfile is an instruction document in a GitHub repository. These instructions contain the commands that are needed to assemble a Docker image. Once executed, the Dockerfile utilizes the files in the PATH or URL parameter to start building the image. In this lab, the Dockerfile will be used to build the image on OpenShift.

Visit https://nodejs.org/fr/docs/guides/nodejs-docker-webapp/#creating-a-Dockerfile to learn how to make your own Dockerfile for an application.

Click on From Dockerfile.

You will then be redirected to the Import from Dockerfile page form with several fields and values to fill out.

3.2 Link OpenShift to GitHub repository

3.2.1

The following steps will require copying and pasting.

The first field in the Import from Dockerfile form asks for the Git Repo URL*. In Step 1, you made changes to your GitHub repository. Find the link to this URL by going back to your GitHub tab.

You should have your GitHub repo still open in another tab.
Return to this tab and click on the title at the top (YourLabName-2020-lab)

In your browser window, switch back to the GitHub tab.
(Repo for the IEL 2020 Lab 1)

You should see the GitHub repository you worked with in Step 1. You need to copy the .git url from your repository.

On your GitHub repo page, click on the green Clone or download button near the top right.


You may have noticed an option to Use SSH, but for this exercise we will using the default option to use HTTPS.


Click on the Copy to clipboard button   to the right of the git URL.

Now that you have copied your GitHub repository’s git URL link, you are able to paste it back into that first field that asks for Git Repo URL*.

Click back to your OpenShift tab before moving onto the next step (3.2.2).
3.2.2
Paste the copied git URL link into the value for Git Repo URL*.

You have provided a git URL, which tells OpenShift that the Dockerfile it requires resides in that specific GitHub repository. In the next steps, you will continue to provide OpenShift with the access and permissions necessary to interact with that Dockerfile.

Click the Show Advanced Git Options to reload the field and display additional options.
3.2.3

An option to choose the Git Type* should appear. Since you are using GitHub Enterprise, you’ll choose that option for it.

When prompted, change the Git Type* selection to be GitHub.
💡 What are the other options listed (besides GitHub)? [Click to Read More]
In the Git Type dropdown, there are other Git types like GitLab, BitBucket, or Other. These are other Git tools that are like GitHub and can also manage and edit code. To see a comparison of these three Git tools, [click here: Bitbucket vs. Github vs. Gitlab] (https://stackshare.io/stackups/bitbucket-vs-github-vs-gitlab).

3.3 Generate token and create application

3.3.1

You may be wondering how OpenShift is able to access the Dockerfile in your GitHub repository, when even you, the owner of that GitHub repository, have to login into GitHub Enterprise with Single Sign-On authentication with you w3ID to see it. That’s where Source Secret comes in.

Source Secret contains credentials for pulling your source code. As the name suggests, it is NOT intended to be used publicly and is something only you can share with applications you fully trust. You will use GitHub’s Personal Access Token to grant access to your GitHub repository to OpenShift.

Click the Show Advanced Git Options to reload the field and display additional options.


Under Source Secret, select Create New Secret.

A pop-up should open when you click Create New Secret.

3.3.2

The Create Source Secret pop-up contains fields that will be used to enter your authentication credentials.

Your Username will be your IBM email, and your Password or Token will be a token, the Personal Access Token that we will retrieve shortly.

In the screenshot to the left, the Secret Name for this lab was entered as "walkthrough".

Provide a value to the Secret Name* field (example: walkthrough).


Add your IBM email to the Username value.

Notice that the next field is Password or Token, which will be explored in the following section.

You cannot fill the Password/Token field just yet. But in the next step (3.3.3), you will generate a token that will be pasted into this field. So, don't close this tab just yet, and continue reading the next step.
3.3.3

The preferred mechanism for accessing a private Git repository is to use an SSH connection and a repository SSH key. However, you will use personal access tokens to allow OpenShift to access your private repository.

Personal access tokens are an alternative to the password you would use when accessing your account on the Git repository hosting service. You can think of personal access tokens as “house keys” to letting whoever has the key go into your house, or in this case your repository, and view it. You can designate your “house key” to have predefined privileges such as only letting the person who has that key enter your house - but do nothing when they’re inside of it. Or, the owner of the key can enter the house and do anything the owner of the house can.

💡 Why are SSH keys the preferred way of accessing a private repository versus Personal Access Tokens? [Click to Read More]
The preferred mechanism for accessing a private Git repository is to use an SSH connection and a repository SSH key. A repository SSH key, however, can only be used where the OpenShift cluster doesn't have access via an SSH connection blocked by a firewall. Being blocked by a firewall might occur if you're running an on-premise OpenShift cluster behind a corporate firewall, but using a Git hosting service such as GitHub (which is the case in this lab with GitHub Enterprise needing IBM SSO authentication first). The main reason the lab instructions detail token path is because that can be created easily from the browser. GitHub instructions for making an SSH key are CLI. You can use SSH keys for IBM GitHub Enterprise. In the case of SSH connections being blocked, it is necessary to fallback to using a personal access token and an HTTPS connection.

Any number of access tokens can be created, and you can create separate tokens for each separate client you may want to use to access your account. By using a separate token per client you can control what level of access each has, including whether they have read-only access, or can update repositories. A token for a specific client can be revoked without affecting other clients. Although what actions a specific client can do can be controlled, it would still be able to see all repositories that you as a user has access to.

Go back to your GitHub repository and navigate to where you’ll be able to create a Personal Access Token.

Click on your GitHub Enterprise account picture in the top right. From the dropdown menu, click Settings.


In Settings, click on Developer Settings in the left side menu.
3.3.4
In Developer Settings, click on Personal access tokens on the left.




Then click on the Generate new token button near the top right.
3.3.5

Type in the name of your Personal access token. For this lab, use walkthrough-RH-OpenShift for the name. A descriptive name was used to detail what this token is being used for. This descriptive name will help you distinguish how this token was used in the future when you revisit the Personal Access Token page.

Next, you’ll select what the scope of access this personal access token will have. As mentioned above in the “house keys” analogy, these permissions have fine control access that are given through the token. Scopes for these tokens are powerful, so it’s important to confirm how you provision permissions for your GitHub repository. Visit https://developer.github.com/enterprise/2.19/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/ to learn more about scopes for OAuth Apps in GitHub.

You only need to provide repo scope access for OpenShift to read the Dockerfile and its contents.

Add “walkthrough-RH-OpenShift” as the Note value. Select the repo option as the scope, which includes all subsets of the repo scope.


💡 Why do we give OpenShift full repo access? [Click to Read More]
At this point in time, GitHub doesn't provide a way of setting the scope of a personal access token such that it has read-only access to repositories. Instead, one has to enable the repo scope which gives full control of private repositories. However, you will notice that there are many other scope permissions that we do not need to grant.



Once you're ready, click the Generate token at the bottom of the page.




Click the copy to clipboard icon   to save the new personal access token to your computer for safekeeping. You will NOT be able to view it again.


3.3.6

Now with your new Personal Access Token, you can move back to the OpenShift Web Console tab to finish the Create Source Secret pop-up form.

Switch back to the tab with your OpenShift web console.


Paste the Personal Access Token into the Password or token space as shown below. Then click Create.
3.3.7

Once you've hit Create, finish the overall application from Dockerfile. For the remaining fields, default values should be appropriate as-is, which can be reviewed/validated in the screenshot (Resources: Deployment, Advanced Options: Create a route to the application). When you are finished confirming your selections, click Create.

When you click create, OpenShift is taking the Dockerfile from your GitHub repository and using its instructions to build the application image from the current repository code. A new topology instance will appear based on this process.



Finish Step 3

You completed Step 3! 🎉

You successfully added an application to OpenShift from a Dockerfile which included configuration such as generating personal access tokens from GitHub.

Step 3 Completed

✅ Add an application to OpenShift
✅ Link OpenShift to GitHub repository
✅ Generate token and create application

In the next step, you will finally get to see the aftermath of the actions you took in this step by checking the status and getting to see your changes in the application from Step 1.

Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 Completed ✅

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4 Next

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases
Ready? Move on to Step 4 →

Step 4: Building and Verifying Application on OpenShift

In this section, you will explore what became of the application you added in the previous step and explore the post build process for your application.

A build is the process of transforming input parameters into a resulting object. In this case, the process is used to transform input parameters of source code into a runnable image. The OpenShift Container Platform build system provides extensible support for build strategies that are based on selectable types specified in the build API. There are three primary build strategies available:

  1. Docker build
  2. Source-to-Image (S2I) build
  3. Custom build

In previous steps, we used the strategy involving a Docker build using a Dockerfile. The Docker build strategy invokes the docker build command and it expects a repository with a Dockerfile and all required artifacts in it to produce the runnable image.

You will soon monitor the build status and build finish, and finally access the instantiated application.

Technologies Used
Your Tasks for Step 4

✅ Explore topology
✅ Check build status
✅ Access deployed application


Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 Completed ✅

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4 In Progress

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5

☑ Explore user interface
☑ Consider industry use cases

4.1 Explore topology

4.1.1

In this step, you will explore the Topology View as your application is building. After you clicked Create at the end of Step 3, the application should have kicked off into the building phase and redirected you to the Topology page as shown below.

The Topology view in the Developer perspective of the web console provides a visual representation of all the applications within a project, including their build status and the components and services associated with them.

This is just a reference for now, since you'll explore these features later. After you create an application, you are directed automatically to the Topology view where (eventually) you can:

  1. See the status of the application pods
  2. Quickly access the application on a public URL (Note that this only works after the build is complete)
  3. Access the source code to modify it
  4. See the status of your last build
  5. Zoom in and out to see more details

The application will be in the build stage for a few minutes. In the meantime, you will explore the build status.

💡 Why does the application take so long in the build stage? [Click to Read More]
The application will be in the build stage for a few minutes.

OpenShift is taking the contents of the GitHub repository and building them according to the parameters on the Dockerfile. This is indicated by the loading icon on the bottom left side of the node.


4.1.2

Let's explore the build status and logs of the build. The new node, YourLabName-2020-lab1, which is most likely on the left, is what you will be interacting with.

Click on the center of the new node to bring up a side menu.

You may notice "ErrImagePull" besides your pod at the top of the side menu. This error does NOT mean there's an error with your pod - in fact, you'll be able to read the logs of the build status to review the status of the build.



This side menu in the Topology view provides the details of the deployed components in the Overview panel. You can use the Overview and Resources tabs to scale the application pods, check build status, services, and routes as follows.

You can use the Overview tab to:

  • Scale your Pods using the up and down arrows to increase or decrease the number of instances of the application manually.
  • Check the Labels, Annotations, and Status of the application.
  • For serverless applications, the Pods are automatically scaled down to zero when idle and scaled up depending on the channel traffic.

You can click the Resources tab to:

  • See the list of all the Pods, view their status, access logs, and click on the Pod to see the Pod details.
  • See the builds, their status, access logs, and start a new build if needed.
  • See the services and routes used by the component.
  • For serverless applications, the Resources tab provides information on the revision, routes, and the configurations used for that component.

4.2 Check build status

4.2.1

Now you will drill down into the log stream of your building application. These log files will show you information about the status of build phase of your application. Since the build has just started, the logs can show whether the GitHub authentication with the Personal Access Token was successful in linking the GitHub repository to OpenShift.

Log files are important because they keep track of events in your application from creation, modification, and deletion. Look for a prompt that refers to a successful authentication using your username and Personal Access Token.

In the side menu under Builds, take a look at View logs in order to view the status of the deployment as shown below.

Be sure to click View Logs beside where it says Build #1 is running.


4.2.2

You will be redirected to the Build details page where you should see a Log stream as shown below. This Log stream shows the build log in real time. For this lab, you are looking for Cloning, which is an indicator that your Personal Access Token was step up correctly in Step 3 and that your GitHub repository is successfully being cloned to the RedHat OpenShift instance.

If you do not see this log, scroll up or down in the log file to check carefully once more through the log stream (it may be at the top or bottom of the log). If you still do not see it, you may need to go back to Step 3 and set up your Personal Access Token correctly.



On a successful build, you should see a log similar to this at the end: Successfully pushed image-registry.openshift-image-registry.svc:5000/... Push successful".

Keep in mind, you may not see this final log message for an upwards of over 5 minutes. Please be patient.



4.3 Access deployed application

4.3.1

Now you can check the status of your built application and navigate to your finished application.

Click on Topology on the left side menu.

The deployment of your application is finished when the green checkmark appears on the deployment node as shown below.

In this Topology View, many visual indicators can show you more information about your deployment.





Click the top right of the new node YourLabName-2020-lab1 to Open URL (should open in a New Tab).


4.3.2


⚠️ My dashboard has errors / I see this error: "There was some issue with the values in config.json...". [Click to Troubleshoot]

If in Step 1.3.1, you incorrectly customized your application with a newer set of values, the application may display errors such as "friendly name missing" or "drone serial number missing", along with a pop-up message that reads "There was some issue with the values in config.json..." as show below. You will need to correct the values in the config.json.





Go back to your GitHub tab and edit the code in the config.json file, your application’s configuration file which adds customization to your application’s user interface (like in in Step 1.3.1).

Once back in the GitHub tab, navigate back to your config.json and Click on the Edit button on the right side as shown.


For convenience, copy the highlighted block of code below and then replace the content in your config.json to avoid errors that may have been introduced when you initially edited the code:

public / config.json

Copy to clipboard


Make sure Commit the changes as described in Step 1.4. Then click the Commit changes button.


To have the changes made in Step 4.4 reflected in the application, you will need to redeploy the application. To do this, re-execute Step 4.1.2 and click the Start Build option.



Now you can check the status of your built application and navigate to your finished application. The deployment of your application is finished when the green checkmark appears on the deployment node as shown below.



You should see your own customized remote drone console application in a new tab in your browser as shown below.



Notice the URL of this new tab, which is an endpoint that can be shared with others.

If you see this page, you have successfully deployed your application!

Finish Step 4

You completed Step 4! 🎉

You successfully explored the topology view during and after the build process and checked the status to see your changes in the application. OpenShift took the Dockerfile from your GitHub repository and used its instructions to build the application image from the current repository code. You have utilized your skills to deploy an application on the latest multi-hybrid cloud platforms.

Step 4 Completed

✅ Explore topology
✅ Check build status
✅ Access deployed application

In the next step, you will explore your new custom remote drone dashboard application, along with various industry uses cases to consider.

Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 Completed ✅

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4 Completed ✅

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5 Next

☑ Explore user interface
☑ Consider industry use cases
Ready? Move on to Step 5 →

Step 5: Exploring the Application

In this section, you will explore your new custom remote drone dashboard application, along with various industry uses cases to consider.

Technologies Used
Your Tasks for Step 5

✅ Explore user interface
✅ Consider industry use cases


Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 Completed ✅

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4 Completed ✅

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5 In Progress

☑ Explore user interface
☑ Consider industry use cases

5.1 Explore user interface

5.1.1

If you haven’t done so already, click on the Open URL button on the top right of your new containerized application deployed on Red Hat OpenShift running in IBM Cloud. Your remote drone console application may need a few seconds to load, but should reflect the application you just deployed. At the top, you should be able see that change in the title – ConsoleDisplayName was changed to the value you entered in the config.json during Step 1 of the lab instructions. Your title will have been unique to you.

Hover over the dashboard to see sections outlined that can be clicked on to reveal more information. Click on each section - there are 6 total.


5.2 Consider industry use cases

5.2.1

Drone technology has massive overlaps in key technology advancements in the recent years. Drones are major talking points in Internet of Things (IoT), edge computing, visual analytics and more. In addition to being pivotal instruments in these technologies, drones have a multitude of use cases.

This subset of a table published by the IDC's Worldwide Robotics and Drones Spending Guide Taxonomy, 2020 report describes Public Market Use Cases and many Additional Operations described in this lab.

Industry Operation Definition
Education Educational Assistance Drones can provide assistance to university/college/school laboratory and that are used as early education devices
Healthcare Provider Emergency Service Drones that deliver first-aid kit and essential equipment to the scene of a medical emergency
Government or Insurance Damage Assessment Drones that conduct aerial survey of a site to evaluate damage after a disaster. This can be for insurance purposes in the case of property damage or in public safety to e to identify areas that are unsafe to travel or where rescue services are needed.
Insurance Risk/Value Assessment Drones that conduct aerial survey of a site for property underwriting where they could provide high-resolution imagery of the exterior condition of a property.
Government Situational Awareness Drones used for to assess a situation and provide tooling to visualize a situation from a safe and remote location and coordinate with first responders.
Government Risk evaluation Drones used for bridge and pier inspections, fire scenes, emergency medical services, and natural disaster events, accident reconstruction.


Among possible uses for drones equipped with visual recognition and/or thermal imaging:

  • Firefighters can attach thermal imaging cameras to a drone and immediately see where the hotspots are in a forest fire.
  • Search and rescue teams can use them to look for people using object recognition or heat signatures
  • Farmers can use them to determine the health of crops and make decisions affecting crop yield.
  • Surveyors can create a 3D visualization of a construction site as the structure is being built.

These are just a handful of use cases that drone technology, edge computing and cognitive analysis are used for. These use cases are focused on the Public Market and can be expanded to many other industries.

Finish Step 5

You completed Step 5! 🎉

You reviewed the remote drone dashboard application’s user interface you customized in Step 1 and had deployed in the steps afterward. While this step mentioned some industry use cases, there are certainly many more to consider with the technologies detailed in this lab.

Step 5 Completed

✅ Explore user interface
✅ Consider industry use cases

Now that you have successfully completed all steps in the lab, move onto the final summary for closing thoughts.

Email a screenshot
of your custom remote drone console application


Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 Completed ✅

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4 Completed ✅

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5 Completed ✅

☑ Explore user interface
☑ Consider industry use cases
Ready? Move on to Summary →

IEL Drone Lab 1: Summary

Step 1 Completed ✅

☑ Access GitHub Enterprise
☑ Review the drone application repository
☑ Make a configuration change
☑ Commit change to the master branch
Step 2 Completed ✅

☑ Access IBM Cloud
☑ Access RedHat OpenShift cluster
☑ Open RedHat OpenShift web console
☑ Explore OpenShift web console
Step 3 Completed ✅

☑ Add an application to OpenShift
☑ Link OpenShift to GitHub repository
☑ Generate token and create application
Step 4 Completed ✅

☑ Explore topology
☑ Check build status
☑ Access deployed application
Step 5 Completed ✅

☑ Explore user interface
☑ Consider industry use cases


Let’s review what we accomplished in this lab overall:

First, we got some exposure to GitHub, got a peek under the covers of the code layout and configuration for a sample Remote Drone Console Application, and set up a Personal access token with repository access permissions.

Next, we got familiar with navigating within our IBM Cloud account dashboard, and more specifically within an organization workspace, cluster, and it’s associated RedHat OpenShift console. Within the OpenShift console, we worked on a project within the Developer perspective and added a new Topology to create an application from our GitHub’s Dockerfile.

Then, we explored the Resources within the OpenShift project Topology to monitor the application build process and to find the path the Remote Drone Console Application after its deployment.

Finally, we explored the Remote Drone Console Application, confirmed our custom configuration, and considered industry use cases.

As a takeaway, hopefully you feel a little more comfortable with the relationship between GitHub and RedHat OpenShift on IBM Cloud, and gained a better understanding of the overall process to take an application from code/configuration all the way to through to its containerized cloud deployment!


Thank you for taking time to complete IEL Drone Lab 1.

If you found this lab to be useful, remember that this Lab is the first a series of Hands-on Labs that expand on the scenario and functionality that you completed today.

Lab Title Lab Description
Lab 1 Completed Building the drone application on a Multi-Hybrid cloud platform and using all the associated coding tools
Stormwater Lab Apply visual recognition to detect/count vehicles and sensor API to monitor water/flooding in streams in order to reroute traffic and barricade unsafe conditions, in a specific geographic location.
The IEL Drone Lab 1 was created by the IBM Industry Engineering Lab PubFed team in Dallas, TX.