sriov-fec-operator v2.9.0 system integration

Upgrade sriov-fec-operator application to v2.9.0 that includes following
new features.

- Enables helm auto-versioning to the Sriov Fec Operator charts.
- Includes package renames as suggested in other applications' reviews.
- Updated pf-bb-config version to v24.03.
- Set Default drainSkip to "true".
- Renamed short name for VRB CRDs:
  -  sriovvrbclusterconfigs: From "vrbcc" to "svcc".
  -  sriovvrbnodeconfigs: From "vrbnc" to "svnc".
- pf-bb-config version display in SFNC/SVNC.

Test Status:
- PASS: Build application deb, generate tarball and build docker images
  copy to stx active controller.
- PASS: App upload, apply, remove, delete verified in simplex mode.
- PASS: Verify that when app is uploaded and applied, operator pods are
  created and running before configuring the accelerator device.
- PASS: configure N3000 using `sriovFecClusterConfig` to create 2 VF.
- PASS: Configure ACC100 using `sriovFecClusterConfig` to create 16 VF.
- PASS: Configure ACC200/VRB1 using `sriovFecClusterConfig` or
  `sriovVrbClusterConfig` to create 2 VFs.
- PASS: Configure VRB2 using `sriovVrbClusterConfig` to create 2 VFs.
- PASS: Application pod validation. Steps:
    - Bringup test-pod, request FEC VFs.
    - Validate VFIO-TOKEN injection to the pod.
    - Validate sample dpdk application test-bbdev in VFIO mode using
      VFIO-TOKEN from the pod env.
- PASS: Reboot test with operator method validated.
- PASS: Shellcheck tool test.

Failure Tests:
- PASS: Applying Clusterconfig shall fail when fec operator is not
  deployed.
- PASS: Operator deployment shall fail when docker image download fails
  during system application-apply.

Story: 2011121
Task: 50042

Signed-off-by: Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com>
Change-Id: I18a08f5b864b850609f87bddd8d89bc78192d714
This commit is contained in:
Nidhi Shivashankara Belur 2024-05-07 18:04:33 -07:00
parent 48aec685a7
commit df18ea06f2
62 changed files with 417 additions and 213 deletions

View File

@ -1,2 +1 @@
#stx-sriov-fec-operator-helm
stx-sriov-fec-operator-helm
stx-sriov-fec-operator

View File

@ -1,2 +1,3 @@
helm-charts/custom/sriov-fec-operator-helm
python3-k8sapp-sriov-fec-operator
stx-sriov-fec-operator-helm
stx-sriov-fec-operator

View File

@ -1,3 +1,10 @@
sriov-fec-operator-helm (1.0-5) unstable; urgency=medium
* Renaming after reorganizing helm charts according to the new structure.
* Upversion sriov-fec-operator v2.9.0.
-- Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com> Tue, 07 May 2024 20:27:01 +0000
stx-sriov-fec-operator-helm (1.0-4) unstable; urgency=medium
* Upversion sriov-fec-operator v2.8.0.

View File

@ -1,4 +1,4 @@
Source: stx-sriov-fec-operator-helm
Source: sriov-fec-operator-helm
Section: libs
Priority: optional
Maintainer: StarlingX Developers <starlingx-discuss@lists.starlingx.io>
@ -12,7 +12,7 @@ Build-Depends: debhelper-compat (= 13),
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: stx-sriov-fec-operator-helm
Package: sriov-fec-operator-helm
Section: libs
Architecture: any
Depends: ${misc:Depends}

View File

@ -1,9 +1,9 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: stx-sriov-fec-operator-helm
Upstream-Name: sriov-fec-operator-helm
Source: https://opendev.org/starlingx/app-sriov-fec-operator/
Files: *
Copyright: (c) 2022-2023 Intel Corporation
Copyright: (c) 2022-2024 Intel Corporation
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@ License: Apache-2
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2022-2023 Intel Corporation
Copyright: 2022-2024 Intel Corporation
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -0,0 +1,27 @@
#!/usr/bin/make -f
# export DH_VERBOSE = 1
export DEB_VERSION = $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
export PATCH_VERSION = $(shell echo $(DEB_VERSION) | cut -f 4 -d '.')
export CHART_BASE_VERSION = $(shell echo $(DEB_VERSION) | sed 's/-/./' | cut -d '.' -f 1-3)
export CHART_VERSION = $(CHART_BASE_VERSION)+STX.$(PATCH_VERSION)
export ROOT = debian/tmp
export APP_FOLDER = $(ROOT)/usr/lib/helm
%:
dh $@
override_dh_auto_build:
mkdir -p sriov-fec-operator
cp Chart.yaml values.yaml sriov-fec-operator
cp -r templates/ sriov-fec-operator
make CHART_VERSION=$(CHART_VERSION) sriov-fec-operator
override_dh_auto_install:
# Install the app tar file.
install -d -m 755 $(APP_FOLDER)
install -p -D -m 755 sriov-fec-operator*.tgz $(APP_FOLDER)
override_dh_auto_test:

View File

@ -0,0 +1,14 @@
---
debname: sriov-fec-operator-helm
debver: 1.0-5
src_path: sriov-fec-operator-helm
src_files:
- sriov-fec-operator-helm/Makefile
- sriov-fec-operator-helm/sriov-fec-operator/templates/
- sriov-fec-operator-helm/sriov-fec-operator/Chart.yaml
- sriov-fec-operator-helm/sriov-fec-operator/values.yaml
revision:
dist: $STX_DIST
GITREVCOUNT:
SRC_DIR: ${MY_REPO}/stx/app-sriov-fec-operator
BASE_SRCREV: 46a85804ca045e00ce0778d94f9bb4d3faa3f6cd

View File

@ -1,7 +1,7 @@
#
# Copyright 2017 The Openstack-Helm Authors.
#
# Copyright (c) 2022-2023 Intel Corporation
# Copyright (c) 2022-2024 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
@ -9,8 +9,8 @@
SHELL := /bin/bash
TASK := build
EXCLUDES := helm-toolkit doc tests tools logs tmp
CHARTS := helm-toolkit $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
EXCLUDES := doc tests tools logs tmp
CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
.PHONY: $(EXCLUDES) $(CHARTS)
@ -25,13 +25,12 @@ $(CHARTS):
init-%:
if [ -f $*/Makefile ]; then make -C $*; fi
if [ -f $*/requirements.yaml ]; then helm dep up $*; fi
lint-%: init-%
if [ -d $* ]; then helm lint $*; fi
build-%:
if [ -d $* ]; then helm package $*; fi
if [ -d $* ]; then helm package --version $(CHART_BASE_VERSION) $*; fi
clean:
@echo "Clean all build artifacts"

View File

@ -2,5 +2,5 @@ apiVersion: v2
name: sriov-fec-operator
description: A Helm chart for SR-IOV FEC operator deployment
type: application
version: 0.1.4
appVersion: "2.8.0"
version: 0.1.5
appVersion: "2.9.0"

View File

@ -0,0 +1,26 @@
# Sriov Fec Operator Helm Chart
This Helm chart deploys the Sriov Fec Operator on Kubernetes clusters.
Application images that are used here are prepared specifically for Starlingx.
## Source
Charts are based on
<https://github.com/smart-edge-open/sriov-fec-operator/releases/tag/sriov-fec-operator-23.41>.
Upstream deployment is based on OLM
[Operator Lifecycle Manager](<https://olm.operatorframework.io/>).
Manifests used here are close representation of what can be found in
[config](<https://github.com/smart-edge-open/sriov-fec-operator/tree/sriov-fec-operator-23.41/config>).
Resources from that directory are organized into usual helm templates structure.
CRDs found here are located in
[api](<https://github.com/smart-edge-open/sriov-fec-operator/tree/sriov-fec-operator-23.41/api>)
directory, in OLM deployment they are built from that directory into yamls.
## Installation
```bash
$ helm install sriov-fec-operator sriov-fec-operator
```
Will install application in sriov-fec-operator namespace. Operator
dependencies are not included in this chart.

View File

@ -1,9 +1,10 @@
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: sriov-fec-system/sriov-fec-serving-cert
controller-gen.kubebuilder.io/version: v0.9.2
controller-gen.kubebuilder.io/version: v0.14.0
name: sriovfecclusterconfigs.sriovfec.intel.com
spec:
conversion:
@ -38,14 +39,19 @@ spec:
API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@ -358,14 +364,19 @@ spec:
API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object

View File

@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: sriov-fec-system/sriov-fec-serving-cert
controller-gen.kubebuilder.io/version: v0.9.2
controller-gen.kubebuilder.io/version: v0.14.0
name: sriovfecnodeconfigs.sriovfec.intel.com
spec:
conversion:
@ -38,14 +38,19 @@ spec:
API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@ -331,42 +336,42 @@ spec:
description: Provides information about device update status
items:
description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example,
\n type FooStatus struct{ // Represents the observations of a
foo's current state. // Known .status.conditions.type are: \"Available\",
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
// +listType=map // +listMapKey=type Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
state of this API Resource.\n---\nThis struct is intended for
direct use as an array at the field path .status.conditions. For
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
observations of a foo's current state.\n\t // Known .status.conditions.type
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
\ // other fields\n\t}"
properties:
lastTransitionTime:
description: lastTransitionTime is the last time the condition
transitioned from one status to another. This should be when
the underlying condition changed. If that is not known, then
using the time when the API field changed is acceptable.
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: message is a human readable message indicating
details about the transition. This may be an empty string.
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: observedGeneration represents the .metadata.generation
that the condition was set based upon. For instance, if .metadata.generation
is currently 12, but the .status.conditions[x].observedGeneration
is 9, the condition is out of date with respect to the current
state of the instance.
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers
of specific condition types may define expected values and
meanings for this field, and whether the values are considered
a guaranteed API. The value should be a CamelCase string.
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
@ -380,11 +385,12 @@ spec:
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
--- Many .condition.type values are consistent across resources
like Available, but because arbitrary conditions can be useful
(see .node.status.conditions), the ability to deconflict is
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
description: |-
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
@ -454,14 +460,19 @@ spec:
API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@ -884,42 +895,42 @@ spec:
description: Provides information about device update status
items:
description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example,
\n type FooStatus struct{ // Represents the observations of a
foo's current state. // Known .status.conditions.type are: \"Available\",
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
// +listType=map // +listMapKey=type Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
state of this API Resource.\n---\nThis struct is intended for
direct use as an array at the field path .status.conditions. For
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
observations of a foo's current state.\n\t // Known .status.conditions.type
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
\ // other fields\n\t}"
properties:
lastTransitionTime:
description: lastTransitionTime is the last time the condition
transitioned from one status to another. This should be when
the underlying condition changed. If that is not known, then
using the time when the API field changed is acceptable.
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: message is a human readable message indicating
details about the transition. This may be an empty string.
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: observedGeneration represents the .metadata.generation
that the condition was set based upon. For instance, if .metadata.generation
is currently 12, but the .status.conditions[x].observedGeneration
is 9, the condition is out of date with respect to the current
state of the instance.
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers
of specific condition types may define expected values and
meanings for this field, and whether the values are considered
a guaranteed API. The value should be a CamelCase string.
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
@ -933,11 +944,12 @@ spec:
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
--- Many .condition.type values are consistent across resources
like Available, but because arbitrary conditions can be useful
(see .node.status.conditions), the ability to deconflict is
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
description: |-
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
@ -990,6 +1002,8 @@ spec:
type: object
type: array
type: object
pfBbConfVersion:
type: string
type: object
type: object
served: true

View File

@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: sriov-fec-system/sriov-fec-serving-cert
controller-gen.kubebuilder.io/version: v0.9.2
controller-gen.kubebuilder.io/version: v0.14.0
name: sriovvrbclusterconfigs.sriovvrb.intel.com
spec:
conversion:
@ -22,7 +22,7 @@ spec:
listKind: SriovVrbClusterConfigList
plural: sriovvrbclusterconfigs
shortNames:
- vrbcc
- svcc
singular: sriovvrbclusterconfig
scope: Namespaced
versions:
@ -33,14 +33,19 @@ spec:
API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object

View File

@ -3,7 +3,7 @@ kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: sriov-fec-system/sriov-fec-serving-cert
controller-gen.kubebuilder.io/version: v0.9.2
controller-gen.kubebuilder.io/version: v0.14.0
name: sriovvrbnodeconfigs.sriovvrb.intel.com
spec:
conversion:
@ -22,7 +22,7 @@ spec:
listKind: SriovVrbNodeConfigList
plural: sriovvrbnodeconfigs
shortNames:
- vrbnc
- svnc
singular: sriovvrbnodeconfig
scope: Namespaced
versions:
@ -37,14 +37,19 @@ spec:
API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
@ -385,42 +390,42 @@ spec:
description: Provides information about device update status
items:
description: "Condition contains details for one aspect of the current
state of this API Resource. --- This struct is intended for direct
use as an array at the field path .status.conditions. For example,
\n type FooStatus struct{ // Represents the observations of a
foo's current state. // Known .status.conditions.type are: \"Available\",
\"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
// +listType=map // +listMapKey=type Conditions []metav1.Condition
`json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
state of this API Resource.\n---\nThis struct is intended for
direct use as an array at the field path .status.conditions. For
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
observations of a foo's current state.\n\t // Known .status.conditions.type
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
\ // other fields\n\t}"
properties:
lastTransitionTime:
description: lastTransitionTime is the last time the condition
transitioned from one status to another. This should be when
the underlying condition changed. If that is not known, then
using the time when the API field changed is acceptable.
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: message is a human readable message indicating
details about the transition. This may be an empty string.
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: observedGeneration represents the .metadata.generation
that the condition was set based upon. For instance, if .metadata.generation
is currently 12, but the .status.conditions[x].observedGeneration
is 9, the condition is out of date with respect to the current
state of the instance.
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: reason contains a programmatic identifier indicating
the reason for the condition's last transition. Producers
of specific condition types may define expected values and
meanings for this field, and whether the values are considered
a guaranteed API. The value should be a CamelCase string.
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
@ -434,11 +439,12 @@ spec:
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
--- Many .condition.type values are consistent across resources
like Available, but because arbitrary conditions can be useful
(see .node.status.conditions), the ability to deconflict is
important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
description: |-
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
@ -491,6 +497,8 @@ spec:
type: object
type: array
type: object
pfBbConfVersion:
type: string
type: object
type: object
served: true

View File

@ -21,6 +21,6 @@ env:
SRIOV_FEC_VFIO_TOKEN: ""
SRIOV_FEC_IMAGE_PULL_SECRET: "default-registry-key"
SRIOV_FEC_DAEMON_IMAGE: "registry.local:9001/docker.io/starlingx/sriov-fec-daemon:stx.10.0-v2.8.0"
SRIOV_FEC_LABELER_IMAGE: "registry.local:9001/docker.io/starlingx/sriov-fec-labeler:stx.10.0-v2.8.0"
srioV_FEC_LABELER_IMAGE: "registry.local:9001/docker.io/starlingx/sriov-fec-labeler:stx.10.0-v2.8.0"
SRIOV_FEC_NETWORK_DEVICE_PLUGIN_IMAGE: "registry.local:9001/ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:v3.6.2"
KUBE_RBAC_PROXY_IMAGE: "registry.local:9001/gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0"

View File

@ -1,3 +1,10 @@
python3-k8sapp-sriov-fec-operator (1.0-5) unstable; urgency=medium
* Upversion sriov-fec-operator v2.9.0.
-- Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com> Tue, 07 May 2024 20:12:27 +0000
python3-k8sapp-sriov-fec-operator (1.0-4) unstable; urgency=medium
* Upversion sriov-fec-operator v2.8.0.

View File

@ -3,7 +3,7 @@ Upstream-Name: python3-k8sapp-sriov-fec-operator
Source: https://opendev.org/starlingx/app-sriov-fec-operator/
Files: *
Copyright: (c) 2022-2023 Intel Corporation
Copyright: (c) 2022-2024 Intel Corporation
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@ License: Apache-2
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2022-2023 Intel Corporation
Copyright: 2022-2024 Intel Corporation
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
---
debname: python3-k8sapp-sriov-fec-operator
debver: 1.0-4
debver: 1.0-5
src_path: k8sapp_sriov_fec_operator
revision:
dist: $STX_DIST

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2022-2023 Intel Corporation
Copyright 2022-2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
# Copyright (c) 2022-2024 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
# Copyright (c) 2022-2024 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
# Copyright (c) 2022-2024 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

View File

@ -1,5 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
# Copyright (c) 2022-2024 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

View File

@ -1,4 +1,4 @@
# Copyright (c) 2022-2023 Intel Corporation
# Copyright (c) 2022-2024 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

View File

@ -1,8 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
import setuptools

View File

@ -1,7 +1,7 @@
BUILDER=script
LABEL=sriov-fec-daemon
SOURCE_REPO=https://github.com/smart-edge-open/sriov-fec-operator.git
SOURCE_REF=f6f601ebc36cc519f5e44f0a906370d01e227b31
SOURCE_REPO=https://github.com/intel/sriov-fec-operator.git
SOURCE_REF=471f355304105ecf7f558dd5dab7a7123064e4de
SOURCE_PATCHES="../files/0001-Add-image-pull-secrets-for-stx-builds.patch"
COMMAND=bash
SCRIPT=build-sriov-fec-operator-image.sh

View File

@ -1,7 +1,7 @@
BUILDER=script
LABEL=sriov-fec-labeler
SOURCE_REPO=https://github.com/smart-edge-open/sriov-fec-operator.git
SOURCE_REF=f6f601ebc36cc519f5e44f0a906370d01e227b31
SOURCE_REPO=https://github.com/intel/sriov-fec-operator.git
SOURCE_REF=471f355304105ecf7f558dd5dab7a7123064e4de
SOURCE_PATCHES="../files/0001-Add-image-pull-secrets-for-stx-builds.patch"
COMMAND=bash
SCRIPT=build-sriov-fec-operator-image.sh

View File

@ -1,7 +1,7 @@
BUILDER=script
LABEL=sriov-fec-operator
SOURCE_REPO=https://github.com/smart-edge-open/sriov-fec-operator.git
SOURCE_REF=f6f601ebc36cc519f5e44f0a906370d01e227b31
SOURCE_REPO=https://github.com/intel/sriov-fec-operator.git
SOURCE_REF=471f355304105ecf7f558dd5dab7a7123064e4de
SOURCE_PATCHES="../files/0001-Add-image-pull-secrets-for-stx-builds.patch"
COMMAND=bash
SCRIPT=build-sriov-fec-operator-image.sh

View File

@ -1,9 +1,9 @@
From c9cbd7a5bd75abc5b747c50dc6682c17b34f0a29 Mon Sep 17 00:00:00 2001
From: Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com>
Date: Tue, 9 Jan 2024 22:06:23 +0000
From b3f024540b6a87d72e19be054151e69ba0adc1c0 Mon Sep 17 00:00:00 2001
From: Nidhi S Belur <nidhi.shivashankara.belur@intel.com>
Date: Tue, 14 May 2024 08:37:54 -0500
Subject: [PATCH] Add image pull secrets for stx builds
Signed-off-by: Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com>
Signed-off-by: Nidhi S Belur <nidhi.shivashankara.belur@intel.com>
---
assets/100-labeler.yaml | 2 ++
assets/200-device-plugin.yaml | 2 ++
@ -11,7 +11,7 @@ Signed-off-by: Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com>
3 files changed, 11 insertions(+)
diff --git a/assets/100-labeler.yaml b/assets/100-labeler.yaml
index 01bb398..353263c 100644
index 4dcd00f..a3a5eb7 100644
--- a/assets/100-labeler.yaml
+++ b/assets/100-labeler.yaml
@@ -49,6 +49,8 @@ data:
@ -24,7 +24,7 @@ index 01bb398..353263c 100644
name: accelerator-discovery
namespace: {{ .SRIOV_FEC_NAMESPACE }}
diff --git a/assets/200-device-plugin.yaml b/assets/200-device-plugin.yaml
index 0bca02c..8a14dcb 100644
index c42c37d..2a53dd0 100644
--- a/assets/200-device-plugin.yaml
+++ b/assets/200-device-plugin.yaml
@@ -11,6 +11,8 @@ data:
@ -37,7 +37,7 @@ index 0bca02c..8a14dcb 100644
name: sriov-device-plugin
namespace: {{ .SRIOV_FEC_NAMESPACE }}
diff --git a/assets/300-daemon.yaml b/assets/300-daemon.yaml
index f2fe0a7..9028b21 100644
index d51a4c8..03dc090 100644
--- a/assets/300-daemon.yaml
+++ b/assets/300-daemon.yaml
@@ -11,6 +11,8 @@ data:
@ -49,7 +49,7 @@ index f2fe0a7..9028b21 100644
metadata:
name: sriov-fec-daemon
namespace: {{ .SRIOV_FEC_NAMESPACE }}
@@ -225,6 +227,8 @@ data:
@@ -228,6 +230,8 @@ data:
- name: lockdown
mountPath: /sys/kernel/security
readOnly: true
@ -58,7 +58,7 @@ index f2fe0a7..9028b21 100644
env:
- name: SRIOV_FEC_NAMESPACE
valueFrom:
@@ -281,4 +285,7 @@ data:
@@ -284,4 +288,7 @@ data:
- name: lockdown
hostPath:
path: /sys/kernel/security
@ -67,5 +67,5 @@ index f2fe0a7..9028b21 100644
+ path: /sys
--
2.34.1
2.7.4

View File

@ -1,6 +0,0 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

View File

@ -0,0 +1,31 @@
stx-sriov-fec-operator (1.0-5) unstable; urgency=medium
* Renaming after reorganizing helm charts according to the new structure.
* Upversion sriov-fec-operator v2.9.0.
-- Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com> Tue, 07 May 2024 18:48:31 +0000
stx-sriov-fec-operator-helm (1.0-4) unstable; urgency=medium
* Upversion sriov-fec-operator v2.8.0.
-- Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com> Wed, 29 Nov 2023 16:15:09 +0000
stx-sriov-fec-operator-helm (1.0-3) unstable; urgency=medium
* Upversion sriov-fec-operator v2.7.1.
-- Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com> Fri, 14 Jul 2023 08:13:44 +0000
stx-sriov-fec-operator-helm (1.0-2) unstable; urgency=medium
* Upversion sriov-fec-operator v2.6.1.
-- Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com> Thu, 30 Mar 2023 13:07:44 +0000
stx-sriov-fec-operator-helm (1.0-1) unstable; urgency=medium
* Initial release.
-- Nidhi Shivashankara Belur <nidhi.shivashankara.belur@intel.com> Sun, 18 Sep 2022 08:52:11 +0000

View File

@ -0,0 +1,21 @@
Source: stx-sriov-fec-operator
Section: libs
Priority: optional
Maintainer: StarlingX Developers <starlingx-discuss@lists.starlingx.io>
Build-Depends: debhelper-compat (= 13),
chartmuseum,
helm,
procps,
python3-k8sapp-sriov-fec-operator,
python3-k8sapp-sriov-fec-operator-wheels,
sriov-fec-operator-helm,
build-info
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: stx-sriov-fec-operator
Section: libs
Architecture: any
Depends: ${misc:Depends}
Description: StarlingX Sriov Fec Operator Application
This package contains the Sriov Fec Operator application.

View File

@ -0,0 +1,41 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: stx-sriov-fec-operator
Source: https://opendev.org/starlingx/app-sriov-fec-operator/
Files: *
Copyright: (c) 2022-2024 Intel Corporation
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2022-2024 Intel Corporation
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.

View File

@ -11,6 +11,7 @@ export REVISION = $(shell echo $(DEB_VERSION) | cut -f 4 -d '.')
export APP_NAME = sriov-fec-operator
export APP_VERSION = $(RELEASE)-$(REVISION)
export APP_TARBALL = $(APP_NAME)-$(APP_VERSION).tgz
export HELM_FOLDER = /usr/lib/helm
export HELM_REPO = stx-platform
export STAGING = staging
@ -18,26 +19,38 @@ export STAGING = staging
dh $@
override_dh_auto_build:
# Create the helm-chart TGZ file.
cd helm-charts && make
# Setup the staging directory.
mkdir -p $(STAGING)
cp files/metadata.yaml $(STAGING)
cp -R fluxcd-manifests $(STAGING)
mkdir -p $(STAGING)/charts
cp helm-charts/*.tgz $(STAGING)/charts
cp $(HELM_FOLDER)/*.tgz $(STAGING)/charts
# Adjust the helmrelease yamls based on the chart versions
for c in $(STAGING)/charts/*; do \
chart=$$(basename $$c .tgz); \
chart_name=$${chart%-*}; \
chart_version=$${chart##*-}; \
echo "Found $$chart; name: $$chart_name, version: $$chart_version"; \
chart_manifest=$$(find $(STAGING)/fluxcd-manifests/$$chart_name -name helmrelease.yaml -exec grep -q $$chart_name {} \; -print); \
echo "Updating manifest: $$chart_manifest"; \
sed -i "s/REPLACE_HELM_CHART_VERSION/$$chart_version/g" $$chart_manifest; \
grep version $$chart_manifest; \
done
# Populate metadata.
sed -i 's/APP_REPLACE_NAME/$(APP_NAME)/g' $(STAGING)/metadata.yaml
sed -i 's/APP_REPLACE_VERSION/$(APP_VERSION)/g' $(STAGING)/metadata.yaml
sed -i 's/HELM_REPLACE_REPO/$(HELM_REPO)/g' $(STAGING)/metadata.yaml
# Copy the plugins: installed in the buildroot
mkdir -p $(STAGING)/plugins
cp /plugins/*.whl $(STAGING)/plugins
# Create the app package.
cd $(STAGING) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
tar cfz $(APP_TARBALL) -C $(STAGING)/ .
# Cleanup staging
rm -rf $(STAGING)

View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -1,7 +1,7 @@
---
debname: stx-sriov-fec-operator-helm
debver: 1.0-4
src_path: stx-sriov-fec-operator-helm
debname: stx-sriov-fec-operator
debver: 1.0-5
src_path: stx-sriov-fec-operator
revision:
dist: $STX_DIST
GITREVCOUNT:

View File

@ -1,8 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository

View File

@ -1,8 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
resources:
- helmrepository.yaml

View File

@ -1,8 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
apiVersion: v1
kind: Namespace

View File

@ -1,8 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
kind: HelmRelease
@ -15,7 +12,7 @@ spec:
chart:
spec:
chart: sriov-fec-operator
version: 0.1.4
version: REPLACE_HELM_CHART_VERSION
sourceRef:
kind: HelmRepository
name: stx-platform

View File

@ -1,9 +1,8 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: sriov-fec-system
resources:
- helmrelease.yaml

View File

@ -1,8 +1,5 @@
#
# Copyright (c) 2022-2023 Intel Corporation
#
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
imagePullSecrets: [{"name": "default-registry-key"}]

View File

@ -0,0 +1,3 @@
# Copyright (c) 2022-2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0