From 7d04c58dbddad1f5924216bac3da759ff595d95e Mon Sep 17 00:00:00 2001 From: vakr Date: Thu, 1 Sep 2022 17:04:33 -0700 Subject: [PATCH 1/5] fix: [NPM] Remove error on not finding server version --- npm/cmd/main.go | 2 +- npm/cmd/start.go | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/npm/cmd/main.go b/npm/cmd/main.go index eb49cf917c..633a4de387 100644 --- a/npm/cmd/main.go +++ b/npm/cmd/main.go @@ -26,7 +26,7 @@ var version string // panicRecoverAndExitWithStackTrace - recovery from panic, print a failure message and stack trace and exit the program func panicRecoverAndExitWithStackTrace() { if r := recover(); r != nil { - klog.Errorf("%+v", r) + klog.Infoln(r) klog.Errorf("Stack trace: %s", string(debug.Stack())) } } diff --git a/npm/cmd/start.go b/npm/cmd/start.go index b7a8aba68e..484d94b358 100644 --- a/npm/cmd/start.go +++ b/npm/cmd/start.go @@ -177,13 +177,11 @@ func k8sServerVersion(kubeclientset kubernetes.Interface) *k8sversion.Info { } if err != nil { - metrics.SendErrorLogAndMetric(util.NpmID, "Error: failed to retrieving kubernetes version") - panic(err.Error) + metrics.SendErrorLogAndMetric(util.NpmID, "Error: failed to retrieving kubernetes version with err: %s", err.Error()) } if err = util.SetIsNewNwPolicyVerFlag(serverVersion); err != nil { - metrics.SendErrorLogAndMetric(util.NpmID, "Error: failed to set IsNewNwPolicyVerFlag") - panic(err.Error) + metrics.SendErrorLogAndMetric(util.NpmID, "Error: failed to set IsNewNwPolicyVerFlag with err: %s", err.Error()) } return serverVersion } From a69765094c20e5ef44a60575e6c6dab16fb38b47 Mon Sep 17 00:00:00 2001 From: vakr Date: Thu, 1 Sep 2022 17:38:34 -0700 Subject: [PATCH 2/5] removing the isnewNetpol flag --- npm/cmd/start.go | 4 - npm/cmd/start_test.go | 102 ------------------ .../controllers/v1/translatePolicy.go | 25 ++--- .../controllers/v1/translatePolicy_test.go | 5 - .../translation/translatePolicy.go | 8 -- .../translation/translatePolicy_test.go | 2 - npm/util/util.go | 36 ------- 7 files changed, 7 insertions(+), 175 deletions(-) diff --git a/npm/cmd/start.go b/npm/cmd/start.go index 484d94b358..485ba0254f 100644 --- a/npm/cmd/start.go +++ b/npm/cmd/start.go @@ -179,9 +179,5 @@ func k8sServerVersion(kubeclientset kubernetes.Interface) *k8sversion.Info { if err != nil { metrics.SendErrorLogAndMetric(util.NpmID, "Error: failed to retrieving kubernetes version with err: %s", err.Error()) } - - if err = util.SetIsNewNwPolicyVerFlag(serverVersion); err != nil { - metrics.SendErrorLogAndMetric(util.NpmID, "Error: failed to set IsNewNwPolicyVerFlag with err: %s", err.Error()) - } return serverVersion } diff --git a/npm/cmd/start_test.go b/npm/cmd/start_test.go index dbee5aaf31..6c9191d9d0 100644 --- a/npm/cmd/start_test.go +++ b/npm/cmd/start_test.go @@ -4,11 +4,7 @@ import ( "testing" "github.com/Azure/azure-container-networking/log" - "github.com/Azure/azure-container-networking/npm/util" "github.com/stretchr/testify/require" - k8sversion "k8s.io/apimachinery/pkg/version" - fakediscovery "k8s.io/client-go/discovery/fake" - "k8s.io/client-go/kubernetes/fake" ) func TestInitLogging(t *testing.T) { @@ -17,101 +13,3 @@ func TestInitLogging(t *testing.T) { require.NoError(t, err) require.Equal(t, expectedLogPath, log.GetLogDirectory()) } - -func TestK8sServerVersion(t *testing.T) { - // NPM has break behavior change from k8s version >= 1.11. - // Thus, util.IsNewNwPolicyVerFlag flag is set based on running K8s version. - tests := []struct { - name string - info *k8sversion.Info - wantPanic bool - isNewNwPolicyVer bool - }{ - { - name: "Test higher version (>1.11)", - info: &k8sversion.Info{ - Major: "1.20", - Minor: "2", - GitVersion: "v1.20.2", - }, - wantPanic: false, - isNewNwPolicyVer: true, - }, - { - name: "Test equal version (1.11)", - info: &k8sversion.Info{ - Major: "1.11", - Minor: "0", - GitVersion: "v1.11", - }, - wantPanic: false, - isNewNwPolicyVer: true, - }, - { - name: "Test lower version (<1.11)", - info: &k8sversion.Info{ - Major: "1.10", - Minor: "1", - GitVersion: "v1.10.1", - }, - wantPanic: false, - isNewNwPolicyVer: false, - }, - { - name: "Test lower version (<1.11)", - info: &k8sversion.Info{ - Major: "0", - Minor: "0", - GitVersion: "v0.0", - }, - wantPanic: false, - isNewNwPolicyVer: false, - }, - { - name: "Test wrong minus version", - info: &k8sversion.Info{ - Major: "-1.11", - Minor: "0", - GitVersion: "v-1.11", - }, - wantPanic: true, - }, - { - name: "Test wrong alphabet version", - info: &k8sversion.Info{ - Major: "ab", - Minor: "cc", - GitVersion: "vab.cc", - }, - wantPanic: true, - }, - { - name: "Test wrong alphabet version", - info: &k8sversion.Info{ - Major: "1.1", - Minor: "cc", - GitVersion: "v1.1.cc", - }, - wantPanic: true, - }, - } - - fc := fake.NewSimpleClientset() - for _, tt := range tests { - tt := tt - fc.Discovery().(*fakediscovery.FakeDiscovery).FakedServerVersion = tt.info - t.Run(tt.name, func(t *testing.T) { - if tt.wantPanic { - require.Panics(t, func() { - k8sServerVersion(fc) - }) - } else { - require.NotPanics(t, func() { - got := k8sServerVersion(fc) - require.Equal(t, got, tt.info) - require.Equal(t, util.IsNewNwPolicyVerFlag, tt.isNewNwPolicyVer) - }) - } - }) - } -} diff --git a/npm/pkg/controlplane/controllers/v1/translatePolicy.go b/npm/pkg/controlplane/controllers/v1/translatePolicy.go index 69d43b0ef8..bc3f22524b 100644 --- a/npm/pkg/controlplane/controllers/v1/translatePolicy.go +++ b/npm/pkg/controlplane/controllers/v1/translatePolicy.go @@ -121,11 +121,14 @@ func craftPartialIptEntrySpecFromOpsAndLabels(ns string, ops, labels []string, s // craftPartialIptEntrySpecFromSelector :- ns must be "" for namespace selectors // func helps in taking a labelSelector and converts it into corresponding matchSets // to be a used in full iptable rules -// selector *metav1.LabelSelector: is used to create matchSets -// ns string: helps with adding a namespace name in case of empty (or all) selector -// srcOrDstFlag string: helps with determining if the src flag is to used in matchsets or dst flag, +// +// selector *metav1.LabelSelector: is used to create matchSets +// ns string: helps with adding a namespace name in case of empty (or all) selector +// srcOrDstFlag string: helps with determining if the src flag is to used in matchsets or dst flag, +// // depending on ingress or egress translate policy -// isNamespaceSelector bool: helps in adding prefix for nameSpace ipsets +// +// isNamespaceSelector bool: helps in adding prefix for nameSpace ipsets func craftPartialIptEntrySpecFromSelector(ns string, selector *metav1.LabelSelector, srcOrDstFlag string, isNamespaceSelector bool) ([]string, []string, map[string][]string) { // parse the sector into labels and maps of multiVal match Exprs labelsWithOps, nsLabelListKVs := parseSelector(selector) @@ -715,13 +718,6 @@ func translateIngress(ns string, policyName string, targetSelector metav1.LabelS continue } - // fromRule has both namespaceSelector and podSelector set. - // We should match the selected pods in the selected namespaces. - // This allows traffic from podSelector intersects namespaceSelector - // This is only supported in kubernetes version >= 1.11 - if !util.IsNewNwPolicyVerFlag { - continue - } for _, nsSelector := range FlattenNameSpaceSelector(fromRule.NamespaceSelector) { // we pass empty ns for the podspec and comment here because it's a combo of both selectors and not limited to network policy namespace iptPartialNsSpec, nsLabelsWithoutOps, listLabelsWithMembers := craftPartialIptEntrySpecFromSelector("", &nsSelector, util.IptablesSrcFlag, true) // Add namespaces prefix to distinguish namespace ipsets and pod ipsets @@ -1377,13 +1373,6 @@ func translateEgress(ns string, policyName string, targetSelector metav1.LabelSe continue } - // toRule has both namespaceSelector and podSelector set. - // We should match the selected pods in the selected namespaces. - // This allows traffic from podSelector intersects namespaceSelector - // This is only supported in kubernetes version >= 1.11 - if !util.IsNewNwPolicyVerFlag { - continue - } for _, nsSelector := range FlattenNameSpaceSelector(toRule.NamespaceSelector) { // we pass true for the podspec and comment here because it's a combo of both selectors and not limited to network policy namespace iptPartialNsSpec, nsLabelsWithoutOps, listLabelsWithMembers := craftPartialIptEntrySpecFromSelector("", &nsSelector, util.IptablesDstFlag, true) diff --git a/npm/pkg/controlplane/controllers/v1/translatePolicy_test.go b/npm/pkg/controlplane/controllers/v1/translatePolicy_test.go index c8d62e11a4..3708b0357f 100644 --- a/npm/pkg/controlplane/controllers/v1/translatePolicy_test.go +++ b/npm/pkg/controlplane/controllers/v1/translatePolicy_test.go @@ -642,7 +642,6 @@ func TestTranslateIngress(t *testing.T) { }, } - util.IsNewNwPolicyVerFlag = true sets, _, lists, _, iptEntries := translateIngress(ns, name, targetSelector, rules) expectedSets := []string{ "context:dev", @@ -925,7 +924,6 @@ func TestTranslateEgress(t *testing.T) { }, } - util.IsNewNwPolicyVerFlag = true sets, _, lists, _, iptEntries := translateEgress(ns, name, targetSelector, rules) expectedSets := []string{ "context:dev", @@ -1788,7 +1786,6 @@ func TestAllowNsDevAndAppBackendToAppFrontend(t *testing.T) { t.Fatal(err) } - util.IsNewNwPolicyVerFlag = true sets, _, lists, _, _, iptEntries := translatePolicy(allowNsDevAndBackendToFrontendPolicy) expectedSets := []string{ @@ -2400,8 +2397,6 @@ func TestAllowMultiplePodSelectors(t *testing.T) { t.Fatal(err) } - util.IsNewNwPolicyVerFlag = true - sets, _, lists, _, _, iptEntries := translatePolicy(multiPodSlector) expectedSets := []string{ diff --git a/npm/pkg/controlplane/translation/translatePolicy.go b/npm/pkg/controlplane/translation/translatePolicy.go index bd8a60adca..c1dbe00730 100644 --- a/npm/pkg/controlplane/translation/translatePolicy.go +++ b/npm/pkg/controlplane/translation/translatePolicy.go @@ -434,14 +434,6 @@ func translateRule(npmNetPol *policies.NPMNetworkPolicy, netPolName string, dire continue } - // peer has both namespaceSelector and podSelector set. - // We should match the selected pods in the selected namespaces. - // This allows traffic from podSelector intersects namespaceSelector - // This is only supported in kubernetes version >= 1.11 - if !util.IsNewNwPolicyVerFlag { - continue - } - // #2.4 handle namespaceSelector and podSelector and port if exist psResult, err := podSelector(npmNetPol.PolicyKey, matchType, peer.PodSelector) if err != nil { diff --git a/npm/pkg/controlplane/translation/translatePolicy_test.go b/npm/pkg/controlplane/translation/translatePolicy_test.go index 1fd1484236..ee2ec731cf 100644 --- a/npm/pkg/controlplane/translation/translatePolicy_test.go +++ b/npm/pkg/controlplane/translation/translatePolicy_test.go @@ -1917,7 +1917,6 @@ func TestIngressPolicy(t *testing.T) { for _, tt := range tests { tt := tt t.Run(tt.name, func(t *testing.T) { - util.IsNewNwPolicyVerFlag = tt.isNewNwPolicyVer npmNetPol := &policies.NPMNetworkPolicy{ Namespace: tt.npmNetPol.Namespace, PolicyKey: tt.npmNetPol.PolicyKey, @@ -2513,7 +2512,6 @@ func TestEgressPolicy(t *testing.T) { for _, tt := range tests { tt := tt t.Run(tt.name, func(t *testing.T) { - util.IsNewNwPolicyVerFlag = tt.isNewNwPolicyVer npmNetPol := &policies.NPMNetworkPolicy{ Namespace: tt.npmNetPol.Namespace, PolicyKey: tt.npmNetPol.PolicyKey, diff --git a/npm/util/util.go b/npm/util/util.go index 0df8a649aa..d85d086d62 100644 --- a/npm/util/util.go +++ b/npm/util/util.go @@ -29,9 +29,6 @@ const ( SoftDelete DeleteOption = false ) -// IsNewNwPolicyVerFlag indicates if the current kubernetes version is newer than 1.11 or not -var IsNewNwPolicyVerFlag = false - // regex to get minor version var re = regexp.MustCompile("[0-9]+") @@ -188,39 +185,6 @@ func CompareK8sVer(firstVer *version.Info, secondVer *version.Info) int { return v1.Compare(v2) } -// IsNewNwPolicyVer checks if the current k8s version >= 1.11, -// if so, then the networkPolicy should support 'AND' between namespaceSelector & podSelector. -func IsNewNwPolicyVer(ver *version.Info) (bool, error) { - newVer := &version.Info{ - Major: k8sMajorVerForNewPolicyDef, - Minor: k8sMinorVerForNewPolicyDef, - } - - isNew := CompareK8sVer(ver, newVer) - switch isNew { - case -2: - return false, fmt.Errorf("invalid Kubernetes version") - case -1: - return false, nil - case 0: - return true, nil - case 1: - return true, nil - default: - return false, nil - } -} - -// SetIsNewNwPolicyVerFlag sets IsNewNwPolicyVerFlag variable depending on version. -func SetIsNewNwPolicyVerFlag(ver *version.Info) error { - var err error - if IsNewNwPolicyVerFlag, err = IsNewNwPolicyVer(ver); err != nil { - return err - } - - return nil -} - // GetOperatorAndLabel returns the operator associated with the label and the label without operator. func GetOperatorAndLabel(label string) (string, string) { if len(label) == 0 { From ce3b1d7ce9509413cea0ef9c5906d9d282d1efc0 Mon Sep 17 00:00:00 2001 From: Hunter Gregory Date: Thu, 1 Sep 2022 19:06:16 -0700 Subject: [PATCH 3/5] fix UTs --- .../translation/translatePolicy_test.go | 24 ------ npm/util/util_test.go | 74 ------------------- 2 files changed, 98 deletions(-) diff --git a/npm/pkg/controlplane/translation/translatePolicy_test.go b/npm/pkg/controlplane/translation/translatePolicy_test.go index ee2ec731cf..7c65c3ff99 100644 --- a/npm/pkg/controlplane/translation/translatePolicy_test.go +++ b/npm/pkg/controlplane/translation/translatePolicy_test.go @@ -1352,7 +1352,6 @@ func TestIngressPolicy(t *testing.T) { // TODO(jungukcho): add test cases with more complex rules tests := []struct { name string - isNewNwPolicyVer bool targetSelector *metav1.LabelSelector rules []networkingv1.NetworkPolicyIngressRule npmNetPol *policies.NPMNetworkPolicy @@ -1360,7 +1359,6 @@ func TestIngressPolicy(t *testing.T) { }{ { name: "only port in ingress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1404,7 +1402,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "only ipBlock in ingress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1452,7 +1449,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "only peer podSelector in ingress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1503,7 +1499,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "only peer nameSpaceSelector in ingress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1552,7 +1547,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "peer nameSpaceSelector and ipblock in ingress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1628,7 +1622,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "unknown port type error", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1670,7 +1663,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "allow all ingress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1702,7 +1694,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "deny all in ingress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "src", @@ -1729,7 +1720,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "multi-value pod/target selector", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "k0": "v0", @@ -1783,7 +1773,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "multi-value pod/peer selector", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "k0": "v0", @@ -1846,7 +1835,6 @@ func TestIngressPolicy(t *testing.T) { }, { name: "multi-value pod/peer selector with namespace selector in same peer rule", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "k0": "v0", @@ -1947,7 +1935,6 @@ func TestEgressPolicy(t *testing.T) { peerMatchType := policies.DstMatch tests := []struct { name string - isNewNwPolicyVer bool targetSelector *metav1.LabelSelector rules []networkingv1.NetworkPolicyEgressRule npmNetPol *policies.NPMNetworkPolicy @@ -1955,7 +1942,6 @@ func TestEgressPolicy(t *testing.T) { }{ { name: "only port in egress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -1999,7 +1985,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "only ipBlock in egress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -2047,7 +2032,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "only peer podSelector in egress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -2098,7 +2082,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "only peer nameSpaceSelector in egress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -2147,7 +2130,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "deny all in egress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -2174,7 +2156,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "allow all egress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -2206,7 +2187,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "peer nameSpaceSelector and ipblock in egress rules", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -2282,7 +2262,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "unknown port type error", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "label": "dst", @@ -2324,7 +2303,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "multi-value pod/target selector", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "k0": "v0", @@ -2378,7 +2356,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "multi-value pod/peer selector", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "k0": "v0", @@ -2441,7 +2418,6 @@ func TestEgressPolicy(t *testing.T) { }, { name: "multi-value pod/peer selector with namespace selector in same peer rule", - isNewNwPolicyVer: true, targetSelector: &metav1.LabelSelector{ MatchLabels: map[string]string{ "k0": "v0", diff --git a/npm/util/util_test.go b/npm/util/util_test.go index e3ba4cfabc..3bf4d2bc18 100644 --- a/npm/util/util_test.go +++ b/npm/util/util_test.go @@ -155,80 +155,6 @@ func TestCompareK8sVer(t *testing.T) { } } -func TestIsNewNwPolicyVer(t *testing.T) { - ver := &version.Info{ - Major: "!", - Minor: "%", - } - - isNew, err := IsNewNwPolicyVer(ver) - if isNew || err == nil { - t.Errorf("TestIsNewNwPolicyVer failed @ invalid version test") - } - - ver = &version.Info{ - Major: "1", - Minor: "9", - } - - isNew, err = IsNewNwPolicyVer(ver) - if isNew || err != nil { - t.Errorf("TestIsNewNwPolicyVer failed @ older version test") - } - - ver = &version.Info{ - Major: "1", - Minor: "11", - } - - isNew, err = IsNewNwPolicyVer(ver) - if !isNew || err != nil { - t.Errorf("TestIsNewNwPolicyVer failed @ same version test") - } - - ver = &version.Info{ - Major: "1", - Minor: "13", - } - - isNew, err = IsNewNwPolicyVer(ver) - if !isNew || err != nil { - t.Errorf("TestIsNewNwPolicyVer failed @ newer version test") - } -} - -func TestDropEmptyFields(t *testing.T) { - testSlice := []string{ - "", - "a:b", - "", - "!", - "-m", - "--match-set", - "", - } - - resultSlice := DropEmptyFields(testSlice) - expectedSlice := []string{ - "a:b", - "!", - "-m", - "--match-set", - } - - if !reflect.DeepEqual(resultSlice, expectedSlice) { - t.Errorf("TestDropEmptyFields failed @ slice comparison") - } - - testSlice = []string{""} - resultSlice = DropEmptyFields(testSlice) - expectedSlice = []string{} - - if !reflect.DeepEqual(resultSlice, expectedSlice) { - t.Errorf("TestDropEmptyFields failed @ slice comparison") - } -} - func TestCompareResourceVersions(t *testing.T) { oldRv := "12345" newRV := "23456" From 81efe91c4c31f3f62545927b907c376e2cf71adc Mon Sep 17 00:00:00 2001 From: vakr Date: Fri, 2 Sep 2022 09:09:40 -0700 Subject: [PATCH 4/5] removing dependency on windows builds --- .pipelines/npm/npm-conformance-tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/npm/npm-conformance-tests.yaml b/.pipelines/npm/npm-conformance-tests.yaml index 98d676fe54..11f59537fc 100644 --- a/.pipelines/npm/npm-conformance-tests.yaml +++ b/.pipelines/npm/npm-conformance-tests.yaml @@ -128,7 +128,7 @@ jobs: demands: - agent.os -equals Linux - Role -equals Build - dependsOn: [setup, k8se2e, containerize, containerize_windows] + dependsOn: [setup, k8se2e, containerize] variables: RESOURCE_GROUP: $[ dependencies.setup.outputs['EnvironmentalVariables.RESOURCE_GROUP'] ] TAG: $[ dependencies.setup.outputs['EnvironmentalVariables.TAG'] ] From 53ad9996b1fca4c0619d5c99de9ad84cd23047e9 Mon Sep 17 00:00:00 2001 From: vakr Date: Fri, 2 Sep 2022 13:08:26 -0700 Subject: [PATCH 5/5] putting pipeline win dependency back --- .pipelines/npm/npm-conformance-tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipelines/npm/npm-conformance-tests.yaml b/.pipelines/npm/npm-conformance-tests.yaml index 11f59537fc..98d676fe54 100644 --- a/.pipelines/npm/npm-conformance-tests.yaml +++ b/.pipelines/npm/npm-conformance-tests.yaml @@ -128,7 +128,7 @@ jobs: demands: - agent.os -equals Linux - Role -equals Build - dependsOn: [setup, k8se2e, containerize] + dependsOn: [setup, k8se2e, containerize, containerize_windows] variables: RESOURCE_GROUP: $[ dependencies.setup.outputs['EnvironmentalVariables.RESOURCE_GROUP'] ] TAG: $[ dependencies.setup.outputs['EnvironmentalVariables.TAG'] ]