
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>
108 lines
4.3 KiB
ReStructuredText
108 lines
4.3 KiB
ReStructuredText
.. _resources-overview:
|
|
|
|
=======================
|
|
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:
|
|
|
|
.. code-block:: bash
|
|
|
|
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/containers`` → **Packaged Kubernetes applications** (Helm charts, FluxCD deployments)
|
|
- ``resources/cloud_platform/images`` → **Custom-built Docker images** for cloud platform testing
|
|
- ``resources/cloud_platform/nightly_regression`` → **Nightly regression test configurations** (Calico, DaemonSets, Network definitions, etc.)
|
|
- ``resources/cloud_platform/sanity/pods`` → **Sanity test pod configurations** for Kubernetes validation
|
|
- ``resources/images`` → **General-purpose container images** for various automation tests
|
|
|
|
This structure ensures clarity, modularity, and efficient resource management within the StarlingX test framework.
|