Overview

This page defines test cases for the NDSLabs system shell.

Global Preconditions

  • Linux AMD64 architecture system with 8G ram 20+G disk,  preferrable CoreOS w/ docker 1.9+

System Check

  • Preconditions - logged in
  • Test Process:
    • run docker version
    • run docker info
  • Expected results: 
    • docker version 1.9 or higher
    • kernel version 4.0 or higher

Kubernetes Boot

  • Pre-Conditions
    • system-check passes
    • Login to system - 2 consoles
  • Test Process
    • Terminal 1 (log):
      • run script
      • run sudo systemctl stop docker
      • run sudo docker daemon
    • Terminal 2:
      • run eval $(docker run --rm -it ndslabs/system-shell usage docker)
      • at prompt run "kube-up.sh"
        • Wait for semi-quiescent state - noted by  messages on console term at 1 sec intervals:

          INFO[0562] GET /containers/json?all=1                    
          INFO[0563] GET /containers/json?all=1                    
          INFO[0563] GET /containers/json                          
          INFO[0564] GET /containers/json?all=1                    
          INFO[0565] GET /containers/json?all=1     

      • run kubectl get pods,rc,svc 

      • expect:
        NAME                   READY        STATUS        RESTARTS   AGE
        k8s-etcd-127.0.0.1     1/1          Running       0          56m
        k8s-master-127.0.0.1   4/4          Running       0          56m
        k8s-proxy-127.0.0.1    1/1          Running       0          56m
        NAME                   CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
        kubernetes             10.0.0.1     <none>        443/TCP    56m

NDSLabs Boot

      • run ndslabs-up.sh up

      • wait for settle to 1-second interval messages as above on console

      • run kubectl get pods,rc,svc

      • expect ndslabs entires added:

        • NAME                      READY        STATUS        RESTARTS   AGE
          k8s-etcd-127.0.0.1        1/1          Running       0          59m
          k8s-master-127.0.0.1      4/4          Running       0          59m
          k8s-proxy-127.0.0.1       1/1          Running       0          59m
          ndslabs-apiserver-r66ql   0/1          Pending       0          42s
          ndslabs-gui-a4x27         0/1          Pending       0          42s
          NAME                      DESIRED      CURRENT       AGE
          ndslabs-apiserver         1            1             42s
          ndslabs-gui               1            1             42s
          NAME                      CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
          kubernetes                10.0.0.1     <none>        443/TCP    59m
          ndslabs-apiserver         10.0.0.215   nodes         8083/TCP   42s
          ndslabs-gui               10.0.0.144   nodes         80/TCP     42s

      • run ndslabsctl login admin (password admin)

        • Login Succeeded

      • run ndslabsctl list services

        • List of services is displayed

Tool Server Boot

      • run toolsrv.sh

        • docker ps | grep toolserv should display ndslabs/toolserver:0.9.2

Verification

NDSLabs Restart

      • run ndslabs-shutdown.sh – This script doesn't exist

      • wait for quiescence

      • run kubectl get pods,rc,svc

      • expect:

        • NAME                   READY        STATUS        RESTARTS   AGE
          k8s-etcd-127.0.0.1     1/1          Running       0          1m
          k8s-master-127.0.0.1   4/4          Running       0          1m
          k8s-proxy-127.0.0.1    1/1          Running       0          1m
          NAME                   CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
          kubernetes             10.0.0.1     <none>        443/TCP    1m

      • run ndslabs-up.sh

        • Confirm services are started as expected

Full Tear Down

      • run kube-down.sh

      • run docker ps

        • Expect no running containers

      • In first terminal

        • ^C

        • sudo systemctl restart docker



  • No labels