Files
test/doc/source/resources/resources_overview.rst
Andrew Vaillancourt 958ff41826 Add basic documentation skeleton
Introduced a basic documentation skeleton that mirrors the
flat directory structure of starlingx/test, providing a
foundation for future documentation expansion.

Structured documentation layout based on starlingx/test
directories:
- Created placeholder index.rst files for:
  - config/
  - framework/
  - keywords/
  - resources/
  - scripts/
  - testcases/
  - unit_tests/
  - web_pages/
- Ensured modular navigation through toctree references

Repository overview & navigation improvements:
- Added directory_structure.rst to document the current
  repository layout
- Updated index.rst to provide a central entry point for
  navigating documentation
- Ensured logical linking between sections for future
  expansion

Initial content in resources/:
- Unlike other sections, resources/ contains actual
  documentation beyond a placeholder
- Added resources_overview.rst, covering containerized
  applications, test images, and nightly regression configs

Verified with Sphinx live preview (sphinx-autobuild).

No API documentation yet, just a basic high-level skeleton
for the repository's directories.

Change-Id: I5f21199280c4c472cd812021bf0f9c3fa6f5c967
Signed-off-by: Andrew Vaillancourt <andrew.vaillancourt@windriver.com>
2025-02-06 18:38:21 -05:00

4.3 KiB

Resources Overview

The resources/ directory contains various test-related assets used within the StarlingX Test Framework, including containerized applications, custom-built Docker images, nightly regression configurations (deployment files, pod definitions, and Network Attachment Definitions (NADs)), and sanity test pods / configs.

Directory Structure

Below is an overview of the resources/ directory structure. This highlights key directories and files but does not include every file:

resources/
├── cloud_platform
   ├── containers
   │   ├── hello-kitty_armada.tgz
   │   ├── hello-kitty-min-k8s-version.tgz
   ├── images
   │   └── node-hello-alpine
   │       ├── Dockerfile
   │       ├── node-hello-alpine.tar.gz
   │       └── server.js
   ├── nightly_regression
   │   ├── calicoctl_crb.yaml
   │   └── daemon_set_daemonset_ipv4.yaml
   ├── sanity
       └── pods
           ├── client-pod1.yaml
           └── server_pod.yaml
├── images
    ├── busybox.tar
    └── calico-ctl.tar

resources/cloud_platform/containers

Contains packaged containerized applications in Helm and FluxCD formats for Kubernetes-based testing.

Example files:

  • hello-kitty.tgz (FluxCD deployment package with Helm charts)
  • hello-kitty_armada.tgz (Armada manifest for Helm-based Kubernetes deployments)
  • hello-kitty-min-k8s-version.tgz (Minimal Helm chart version with Kubernetes version constraints, including FluxCD manifests)
  • hello-kitty_no_secret.tgz (Variant of hello-kitty with no secrets in the deployment)

resources/cloud_platform/images

Contains custom-built container images for cloud platform validation.

  • node-hello-alpine/ (Directory containing the Docker build context for a Node.js application)
    • node-hello-alpine.tar.gz (Pre-built Docker image for the Node.js application)
    • Dockerfile (Defines how to build the node-hello-alpine Docker image)
    • server.js (Node.js application file that runs inside the container)

resources/cloud_platform/nightly_regression

Contains YAML configuration files used for nightly regression testing.

Example files:

  • calicoctl_crb.yaml (Calico ClusterRoleBinding configuration)
  • calicoctl_cr.yaml (Calico ClusterRole configuration)
  • daemon_set_daemonset_ipv4.yaml (DaemonSet definition for IPv4 testing)
  • netdef_test-sriovdp_ipv4_with_pools.yaml (Network definition for SR-IOV device plugin with IPv4 pools)

resources/cloud_platform/sanity/pods

Contains sanity test pod definitions used for basic Kubernetes validation.

Example files:

  • client-pod1.yaml (Kubernetes client pod configuration)
  • consumer_app.yaml (Pod definition for a consumer application in sanity testing)
  • server_pod.yaml (Server pod used for network testing)

resources/images

Contains general-purpose Docker images used across multiple test cases.

Example files:

  • busybox.tar (Docker image)
  • pv-test.tar (Docker image)
  • calico-ctl.tar (Docker image)
  • resource-consumer.tar (Docker image)

Key Takeaways

  • resources/cloud_platform/containersPackaged Kubernetes applications (Helm charts, FluxCD deployments)
  • resources/cloud_platform/imagesCustom-built Docker images for cloud platform testing
  • resources/cloud_platform/nightly_regressionNightly regression test configurations (Calico, DaemonSets, Network definitions, etc.)
  • resources/cloud_platform/sanity/podsSanity test pod configurations for Kubernetes validation
  • resources/imagesGeneral-purpose container images for various automation tests

This structure ensures clarity, modularity, and efficient resource management within the StarlingX test framework.