GithubHelp home page GithubHelp logo

avielyo10 / cnf-features-deploy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openshift-kni/cnf-features-deploy

0.0 1.0 0.0 10.16 MB

Kustomize configs for installing CNF features and e2e functional tests for verifying feature deployment/integration

License: Apache License 2.0

Makefile 0.23% Go 13.77% Shell 1.57% Dockerfile 0.34% C 84.03% Meson 0.07%

cnf-features-deploy's Introduction

Overview

This repo contains example kustomize configs used to installed openshift features required for CNF workloads and a e2e functional test suite used to verify cnf related features.

Contributing kustomize configs

All kustomize configs should be entirely declarative in nature. This means no bash plugin modules performing imparative tasks. Features should be installed simply by posting manifests to the cluster. After posting manifests, determining when the cluster has converged on those manifests successully should be observable.

Usage

Prerequisites

  • You need a running OCP 4.4 cluster and a valid KUBECONFIG.
  • You need at least one node with the node-role.kubernetes.io/worker-cnf="" label and a MachineConfigPool matching worker-cnf machine configurations
  • You need to install jq (a command line tool for parsing JSON) on the local machine.

You can run make setup-test-cluster to have the first two (or the first in case of only one) workers labeled as worker-cnf and to have the MachineConfigPool created.

Configuring

All the Makefile rules depend on two environment variable, either for deploying, waiting and choosing what tests to run.

FEATURES

i.e. FEATURES="sctp ptp sriov", drives what features are going to be deployed using kustomize, and what tests are going to be run.

The current default values is "sctp performace"

FEATURES_ENVIRONMENT

i.e. FEATURES_ENVIRONMENT=demo determines the kustomization layer that will be used to deploy the choosen features.

The current default values is e2e-gcp

Deployment

For each feature choosen via FEATURES we expect to have a layer either in feature-configs/deploy or in feature-configs/$FEATURES_ENVIRONMENT.

  • run FEATURES_ENVIRONMENT=demo make feature-deploy.
    This will try to apply all manifests in a loop until all deployments succeeded, or until it runs into a timeout.
  • optionally run FEATURES_ENVIRONMENT=demo make feature-wait to be notified of when the features are deployed.

Testing

We expect to have a section of the test suite named after each feature we want to test (for example sctp named after the sctp feature).

External tests are consumed as dependencies and ran as part of this same suite.

Dockerized version

A dockerized version of CNF tests is available at quay.io/openshift-kni/cnf-tests. For more details on how to use it, please check the corresponding docs.

Example RAN profile

An example RAN profile is provided in feature-configs/cn-ran-overlays

cnf-features-deploy's People

Contributors

alosadagrande avatar avielyo10 avatar davidvossel avatar dshchedr avatar e-minguez avatar fedepaol avatar ffromani avatar karmab avatar marcel-apf avatar openshift-merge-robot avatar oribon avatar sabinaaledort avatar schseba avatar slintes avatar tripledes avatar vitus133 avatar yanirq avatar yuvalk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.