Skip to content

Commit

Permalink
Merge pull request #8 from open-ness/openness-openshift-operator-rel-…
Browse files Browse the repository at this point in the history
…21.07.31

Openness openshift operator rel 21.07.31
  • Loading branch information
cjnolan authored Aug 3, 2021
2 parents ca85a76 + 597110a commit 988209e
Show file tree
Hide file tree
Showing 19 changed files with 264 additions and 205 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

IMAGE_REGISTRY ?= registry.connect.redhat.com/intel
REQUIRED_OPERATOR_SDK_VERSION ?= v1.4.2
VERSION ?= 1.2.1
VERSION ?= 1.3.0
TLS_VERIFY ?= false

build_all:
Expand Down
2 changes: 1 addition & 1 deletion N3000/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Default k8s command-line tool exec
export CLI_EXEC?=oc
# Current Operator version
VERSION ?= 1.2.1
VERSION ?= 1.3.0
# Supported channels
CHANNELS ?= stable
# Default channel
Expand Down
2 changes: 1 addition & 1 deletion N3000/config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ kind: Kustomization
images:
- name: n3000-operator
newName: registry.connect.redhat.com/intel/n3000-operator
newTag: v1.2.1
newTag: v1.3.0
2 changes: 1 addition & 1 deletion N3000/config/manager/manager.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ spec:
- /manager
args:
- --leader-elect
image: n3000-operator:v1.2.1
image: n3000-operator:v1.3.0
name: manager
securityContext:
allowPrivilegeEscalation: false
Expand Down
11 changes: 4 additions & 7 deletions N3000/pkg/daemon/daemon_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,8 @@ var _ = Describe("N3000 Daemon Tests", func() {
Expect(err).ToNot(HaveOccurred())
})
var _ = It("will run Reconcile with misconfiugred DrainHelper", func() {
var err error
testServer := CreateTestServer("/fortville/")
defer testServer.Close()

n3000node.Spec.FPGA = nil
n3000node.Spec.Fortville = &fpgav1.N3000Fortville{
Expand All @@ -587,11 +588,10 @@ var _ = Describe("N3000 Daemon Tests", func() {
MAC: "64:4c:36:11:1b:a8",
},
},
FirmwareURL: "http://www.test.com/fortville/nvmPackage.tag.gz",
FirmwareURL: testServer.URL + "/fortville/nvmPackage.tag.gz",
}

err = k8sClient.Create(context.Background(), n3000node)
Expect(err).ToNot(HaveOccurred())
Expect(k8sClient.Create(context.Background(), n3000node)).ToNot(HaveOccurred())

// simulate creation of cluster config by the user
clusterConfig.Spec.Nodes[0].Fortville.FirmwareURL = "/tmp/dummy.bin"
Expand All @@ -604,9 +604,6 @@ var _ = Describe("N3000 Daemon Tests", func() {
},
}

srv := serverFortvilleMock()
defer srv.Close()

clientConfig := &restclient.Config{}
cset, err := clientset.NewForConfig(clientConfig)
Expect(err).ToNot(HaveOccurred())
Expand Down
271 changes: 151 additions & 120 deletions N3000/pkg/daemon/fortvillemanager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package daemon
import (
"fmt"
"io"
"net/http"
"net/http/httptest"
"os"
"os/exec"
Expand Down Expand Up @@ -229,15 +228,6 @@ func fakeTar(cmd *exec.Cmd, log logr.Logger, dryRun bool) (string, error) {
return "", fmt.Errorf("Unsupported command: %s", cmd)
}

func serverFortvilleMock() *httptest.Server {
handler := http.NewServeMux()
handler.HandleFunc("/fortville", usersFortvilleMock)

srv := httptest.NewServer(handler)

return srv
}

func fakeFpgaInfoEmptyBCM(cmd *exec.Cmd, log logr.Logger, dryRun bool) (string, error) {
return "", nil
}
Expand All @@ -254,74 +244,23 @@ func fakeEthtoolInvalidMac(cmd *exec.Cmd, log logr.Logger, dryRun bool) (string,
return ethtoolOutput, nil
}

func usersFortvilleMock(w http.ResponseWriter, r *http.Request) {
}

var _ = Describe("Fortville Manager", func() {
f := FortvilleManager{Log: ctrl.Log.WithName("daemon-test")}
sampleOneFortville := fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
FirmwareURL: "http://www.test.com/fortville/nvmPackage.tag.gz",
},
},
}
sampleWrongMACFortville := fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "ff:ff:ff:ff:ff:aa",
},
},
FirmwareURL: "http://www.test.com/fpga/image/1.bin",
},
},
}
sampleOneFortvilleDryRun := fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
FirmwareURL: "http://www.test.com/fortville/nvmPackage.tag.gz",
},
DryRun: true,
},
}
sampleOneFortvilleNoURL := fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
},
},
}
sampleOneFortvilleInvalidChecksum := fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",

var _ = Describe("flash", func() {

sampleOneFortville := fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
},
FirmwareURL: "http://www.test.com/fortville/nvmPackage.tag.gz",
CheckSum: "0xbad",
},
},
}
}

var _ = Describe("flash", func() {
var _ = It("will return nil in successfully scenario ", func() {
cleanFortville()
ethtoolExec = fakeEthtool
Expand Down Expand Up @@ -430,7 +369,18 @@ var _ = Describe("Fortville Manager", func() {
fpgadiagExec = fakeFpgadiag
rsuExec = runExecWithLog

err := f.flash(&sampleOneFortvilleDryRun)
err := f.flash(&fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
},
DryRun: true,
},
})
Expect(err).ToNot(HaveOccurred())
})
})
Expand Down Expand Up @@ -464,6 +414,19 @@ var _ = Describe("Fortville Manager", func() {
})
})
var _ = Describe("verifyPreconditions", func() {

sampleWrongMACFortville := fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "ff:ff:ff:ff:ff:aa",
},
},
},
},
}

var _ = It("will return error when MAC in CR does not exist ", func() {
cleanFortville()
fpgaInfoExec = fakeFpgaInfo
Expand Down Expand Up @@ -497,54 +460,122 @@ var _ = Describe("Fortville Manager", func() {
Expect(err).To(HaveOccurred())

})
var _ = It("will return error when extract nvm package failed ", func() {
cleanFortville()
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
fakeTarErrReturn = fmt.Errorf("error")
tarExec = fakeTar
srv := serverFortvilleMock()
defer srv.Close()
err := f.verifyPreconditions(&sampleOneFortville)
fakeTarErrReturn = nil
Expect(err).To(HaveOccurred())
})
var _ = It("will return nil in successfully scenario ", func() {
cleanFortville()
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
tarExec = fakeTar
srv := serverFortvilleMock()
defer srv.Close()
err := f.verifyPreconditions(&sampleOneFortville)
Expect(err).ToNot(HaveOccurred())
})
var _ = It("will fail because of no FirmwareURL ", func() {
cleanFortville()
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
tarExec = fakeTar
srv := serverFortvilleMock()
defer srv.Close()
err := f.verifyPreconditions(&sampleOneFortvilleNoURL)
Expect(err).To(HaveOccurred())

err = f.getNVMUpdate(&sampleOneFortvilleNoURL)
Expect(err).To(HaveOccurred())

fakeFpgaInfoErrReturn = fmt.Errorf("error")
_, err = f.getN3000Devices()
Expect(err).To(HaveOccurred())
fakeFpgaInfoErrReturn = nil
})
var _ = It("will fail because of wrong checksum ", func() {
cleanFortville()
ethtoolExec = fakeEthtool
nvmupdateExec = fakeNvmupdate
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
err := f.verifyPreconditions(&sampleOneFortvilleInvalidChecksum)
Expect(err).To(HaveOccurred())
var _ = Describe("", func() {
var testServer *httptest.Server

BeforeEach(func() {
testServer = CreateTestServer("/fortville/")
})

AfterEach(func() {
if testServer != nil {
testServer.Close()
}
})

var _ = It("will return error when extract nvm package failed ", func() {
cleanFortville()
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
fakeTarErrReturn = fmt.Errorf("error")
tarExec = fakeTar

err := f.verifyPreconditions(&fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
FirmwareURL: testServer.URL + "/fortville/nvmPackage.tag.gz",
},
},
})
fakeTarErrReturn = nil
Expect(err).To(HaveOccurred())
})

var _ = It("will return nil in successfully scenario ", func() {
cleanFortville()
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
tarExec = fakeTar
err := f.verifyPreconditions(&fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
FirmwareURL: testServer.URL + "/fortville/nvmPackage.tag.gz",
},
},
})
Expect(err).ToNot(HaveOccurred())
})

var _ = It("will fail because of no FirmwareURL ", func() {
cleanFortville()
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
tarExec = fakeTar

err := f.verifyPreconditions(&fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
},
},
})
Expect(err).To(HaveOccurred())

err = f.getNVMUpdate(&fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
},
},
})
Expect(err).To(HaveOccurred())

fakeFpgaInfoErrReturn = fmt.Errorf("error")
_, err = f.getN3000Devices()
Expect(err).To(HaveOccurred())
fakeFpgaInfoErrReturn = nil
})

var _ = It("will fail because of wrong checksum ", func() {
cleanFortville()
ethtoolExec = fakeEthtool
nvmupdateExec = fakeNvmupdate
fpgaInfoExec = fakeFpgaInfo
fpgadiagExec = fakeFpgadiag
err := f.verifyPreconditions(&fpgav1.N3000Node{
Spec: fpgav1.N3000NodeSpec{
Fortville: &fpgav1.N3000Fortville{
MACs: []fpgav1.FortvilleMAC{
{
MAC: "64:4c:36:11:1b:a8",
},
},
FirmwareURL: testServer.URL + "/fortville/nvmPackage.tag.gz",
CheckSum: "0xbad",
},
},
})
Expect(err).To(HaveOccurred())
})
})
})
})
Loading

0 comments on commit 988209e

Please sign in to comment.