VirtualBox cannot run when Hyper-V is installed

Objective of this article to share how to solve the problem of VirtualBox can not run when Hyper-V is installed in windows machines. This problem might occur when we try to run VirtualBox where already docker was installed. Because docker internally enables Hyper-V configuration in windows which will be the problem to run VirtualBox.

VirtualBox can not run when Hyper-V is installed

There are total 3 steps which we must follow to enable/disable Hyper-V in Windows 10.

  1. Search for Apps & Features in Windows Search option
  2. Search for Turn Windows features on or off
  3. Select/deselect the Hyper-V option from the popup opened to enable/disable accordingly.

For more detailed explanation continue with further article.

  • Search for Apps & Features in Windows Search option: Look at the below image for more easiness to find Apps & Features option.
Windows Apps & Features
  • Search for Turn Windows features on or off
Turn Windows feature on or of
  • Select/Deselect the Hyper-V option from the popup opened: Deselect Hyper-V option and click on OK button to disable Hyper-V in your system. Since Hyper-V is OS level configuration, it will ask to restart the computer to make changes are affected.
Hyper-V enable/disable

We should restart the system to make affect of Hyper-V configuration changes. Afterwards, try to run the virtual box again. Hope it will run successfully without any failure.

REST API to get Projects from CLI

Objective of this article to know how to call REST API from CLI to get the projects list. Continue further to know various problems and solutions to overcome and finally list the projects.

How to call REST API from CLI?
To call REST API from CLI, we can use curl -k command followed by the REST URL. For more information look at the below command,

curl -k https://192.168.99.100:8443/oapi/v1/projects

API call failed with Forbidden (403) response

How to solve Forbidden (403) issue while calling REST API?
Since we are not authorized who is calling the API, we end up with the problem of 403 Forbidden. To solve this problem, login as developer by using the following command.

oc login -u developer -p developer

user login from CLI

Then issue the below command to get the security token which we need to pass in REST API call.

oc whoami -t

Identifying the security key by issuing the command of whoami

Now pass the security key in the REST call Authorization by using -H “Authorization: Bearer PaqE4Ui1mirlpAUqi6w-20VQS0qeD3EXA8w1IhwewqE”. The complete URL looks like,

curl -k https://192.168.99.100:8443/oapi/v1/projects -H “Authorization: Bearer PaqE4Ui1mirlpAUqi6w-20VQS0qeD3EXA8w1IhwewqE”

API call success response when we don’t have any projects

Below image will show you what is the response we will get when we have already created project in OpenShift.

Response when we have already created project in OpenShift

OpenShift oc is not recognized as command

Objective of this article to make you understand how to solve the problem of OpenShift oc command is not recognized as an internal or external command in CLI.

oc is not recognized as command

To overcome this problem we have to setup the path of the OpenShift CLI which we can get is by executing the below command.

minishift oc-env

oc environment details

Copy the full line of set path and execute the same. SET PATH=C:\Users\subbaiah.nallamachu.minishift\cache\oc\v3.11.0\windows;%PATH%

openshift path setup

Now the system will not throw the problem of not recognized as a command.

How to list all OpenShift supported commands?

This is very simple task to identify the list of OpenShift supported commands. Issue the oc –help to get list of commands.

C:\minishift-1.34.2-windows-amd64>oc –help
OpenShift Client
 
This client helps you develop, build, deploy, and run your applications on any OpenShift or Kubernetes compatible
platform. It also includes the administrative commands for managing a cluster under the ‘adm’ subcommand.
 
Usage:
  oc [flags]
 
Basic Commands:
  types           An introduction to concepts and types
  login           Log in to a server
  new-project     Request a new project
  new-app         Create a new application
  status          Show an overview of the current project
  project         Switch to another project
  projects        Display existing projects
  explain         Documentation of resources
  cluster         Start and stop OpenShift cluster
 
Build and Deploy Commands:
  rollout         Manage a Kubernetes deployment or OpenShift deployment config
  rollback        Revert part of an application back to a previous deployment
  new-build       Create a new build configuration
  start-build     Start a new build
  cancel-build    Cancel running, pending, or new builds
  import-image    Imports images from a Docker registry
  tag             Tag existing images into image streams
 
Application Management Commands:
  get             Display one or many resources
  describe        Show details of a specific resource or group of resources
  edit            Edit a resource on the server
  set             Commands that help set specific features on objects
  label           Update the labels on a resource
  annotate        Update the annotations on a resource
  expose          Expose a replicated application as a service or route
  delete          Delete one or more resources
  scale           Change the number of pods in a deployment
  autoscale       Autoscale a deployment config, deployment, replication controller, or replica set
  secrets         Manage secrets
  serviceaccounts Manage service accounts in your project
 
Troubleshooting and Debugging Commands:
  logs            Print the logs for a resource
  rsh             Start a shell session in a pod
  rsync           Copy files between local filesystem and a pod
  port-forward    Forward one or more local ports to a pod
  debug           Launch a new instance of a pod for debugging
  exec            Execute a command in a container
  proxy           Run a proxy to the Kubernetes API server
  attach          Attach to a running container
  run             Run a particular image on the cluster
  cp              Copy files and directories to and from containers.
  wait            Experimental: Wait for one condition on one or many resources
 
Advanced Commands:
  adm             Tools for managing a cluster
  create          Create a resource from a file or from stdin.
  replace         Replace a resource by filename or stdin
  apply           Apply a configuration to a resource by filename or stdin
  patch           Update field(s) of a resource using strategic merge patch
  process         Process a template into list of resources
  export          Export resources so they can be used elsewhere
  extract         Extract secrets or config maps to disk
  idle            Idle scalable resources
  observe         Observe changes to resources and react to them (experimental)
  policy          Manage authorization policy
  auth            Inspect authorization
  convert         Convert config files between different API versions
  import          Commands that import applications
  image           Useful commands for managing images
  registry        Commands for working with the registry
  api-versions    Print the supported API versions on the server, in the form of “group/version”
  api-resources   Print the supported API resources on the server
 
Settings Commands:
  logout          End the current server session
  config          Change configuration files for the client
  whoami          Return information about the current session
  completion      Output shell completion code for the specified shell (bash or zsh)
 
Other Commands:
  ex              Experimental commands under active development
  help            Help about any command
  plugin          Runs a command-line plugin
  version         Display client and server versions
 
Use “oc <command> –help” for more information about a given command.
Use “oc options” for a list of global command-line options (applies to all commands).
Commands supported in OpenShift