Skip to content

Commit ac80e21

Browse files
Merge pull request #44 from jboyd01/run-in-os-operators-ns
install service catalog via marketplace for e2e
2 parents abebed4 + 10b966f commit ac80e21

6 files changed

+95
-70
lines changed

hack/create-subscription.sh

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,36 @@ set -o nounset
44
set -o pipefail
55

66
echo Preparing Service Catalog E2E at $(TZ=EST date) / $(TZ=UTC date +"%k:%M:%S %Z")
7+
8+
79
oc create namespace kube-service-catalog || true
8-
oc label ns kube-service-catalog ns=kube-service-catalog || true
9-
10-
cat <<'EOF' | oc create -f -
11-
apiVersion: operators.coreos.com/v1alpha1
12-
kind: Subscription
13-
metadata:
14-
name: svcat
15-
namespace: kube-service-catalog
16-
spec:
17-
channel: alpha
18-
name: svcat
19-
source: rh-operators
20-
installPlanApproval: Automatic
21-
catalogSourceNamespace: kube-service-catalog
22-
---
23-
apiVersion: operators.coreos.com/v1alpha2
24-
kind: OperatorGroup
25-
metadata:
26-
name: service-catalog
27-
namespace: kube-service-catalog
28-
spec:
29-
selector:
30-
matchLabels:
31-
ns: kube-service-catalog
32-
EOF
10+
11+
oc apply -f hack/svcat-catalogsourceconfig.yaml
12+
13+
# wait for the catalog source pod
14+
#oc get pods -lolm.catalogSource=service-catalog -n kube-service-catalog
15+
16+
17+
echo "`date +%T` Waiting for for catalogsource to be ready..."
18+
TARGET="$(date -d '5 minutes' +%s)"
19+
NOW="$(date +%s)"
20+
while [[ "${NOW}" -lt "${TARGET}" ]]; do
21+
REMAINING="$((TARGET - NOW))"
22+
oc get pods -lolm.catalogSource=service-catalog -n kube-service-catalog || true
23+
JSONPATH="{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}"
24+
STATUS=`oc get pods -lolm.catalogSource=service-catalog -n kube-service-catalog -o jsonpath="$JSONPATH"`
25+
if [[ $STATUS == *"Ready=True"* ]];then
26+
break
27+
fi
28+
sleep 20
29+
NOW="$(date +%s)"
30+
done
31+
32+
if [ "${NOW}" -ge "${TARGET}" ];then
33+
echo "`date +%T`: warning: catalogsource not ready"
34+
else
35+
echo "`date +%T`: catalogsource is running & ready, proceeding"
36+
fi
37+
38+
oc apply -f hack/svcat-operatorgroup.yaml
39+
oc apply -f hack/svcat-subscription.yaml

hack/run-e2e.sh

Lines changed: 19 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,29 @@ set -o errexit
33
set -o nounset
44
set -o pipefail
55

6+
SVCAT_NAMESPACE=kube-service-catalog
7+
68
gather_artificats() {
79
set +e
8-
oc describe pods -n kube-service-catalog > /tmp/artifacts/describe-catalog-pods.txt
9-
oc get events -n kube-service-catalog > /tmp/artifacts/catalog-events.txt
10-
oc get all -n kube-service-catalog > /tmp/artifacts/all-objects-in-catalog-ns.txt
11-
oc get operatorgroups --all-namespaces > /tmp/artifacts/all-operator-groups.txt
12-
oc get csv svcat.v0.1.34 -n kube-service-catalog -o yaml > /tmp/artifacts/svc-cat-csv.yaml
13-
oc describe csv svcat.v0.1.34 -n kube-service-catalog > /tmp/artifacts/describe-svc-cat-csv.txt
14-
oc get clusterrole > /tmp/artifacts/cluster-roles.txt
15-
oc get clusterrole system:service-catalog:aggregate-to-admin -o yaml > /tmp/artifacts/svc-cat-aggregated-cluster-roles.yaml
16-
oc get clusterrole system:service-catalog:aggregate-to-edit >> /tmp/artifacts/svc-cat-aggregated-cluster-roles.yaml
17-
oc get clusterrole system:service-catalog:aggregate-to-view >> /tmp/artifacts/svc-cat-aggregated-cluster-roles.yaml
10+
oc describe pods -n $SVCAT_NAMESPACE > /tmp/artifacts/svcat-describe-catalog-pods.txt
11+
oc get events -n $SVCAT_NAMESPACE > /tmp/artifacts/svcat-catalog-events.txt
12+
oc get all -n $SVCAT_NAMESPACE > /tmp/artifacts/svcat-all-objects-in-catalog-ns.txt
13+
oc get operatorgroups --all-namespaces > /tmp/artifacts/svcat-operator-groups.txt
14+
oc get subscription --all-namespaces > /tmp/artifacts/svcat-subscriptions.txt
15+
oc get csv --all-namespaces > /tmp/artifacts/svcat-csvs.txt
16+
oc get catalogsourceconfigs --all-namespaces > /tmp/artifacts/svcat-catalogsourceconfigs.txt
17+
oc get catalogsources --all-namespaces > /tmp/artifacts/svcat-catalogsources.txt
18+
oc describe csv svcat.v0.1.34 -n $SVCAT_NAMESPACE > /tmp/artifacts/svcat-describe-svc-cat-csv.txt
19+
oc get clusterrole > /tmp/artifacts/svcat-cluster-roles.txt
20+
oc get clusterrole system:service-catalog:aggregate-to-admin -o yaml > /tmp/artifacts/svcat-aggregated-cluster-roles.yaml
21+
oc get clusterrole system:service-catalog:aggregate-to-edit -o yaml >> /tmp/artifacts/svcat-aggregated-cluster-roles.yaml
22+
oc get clusterrole system:service-catalog:aggregate-to-view -o yaml >> /tmp/artifacts/svcat-aggregated-cluster-roles.yaml
1823
}
1924

2025

2126
delete_resources() {
22-
oc delete subscription svcat -n kube-service-catalog
23-
oc delete clusterserviceversion svcat.v0.1.34 -n kube-service-catalog
24-
oc delete namespace kube-service-catalog
27+
oc delete subscription svcat -n $SVCAT_NAMESPACE
28+
oc delete clusterserviceversion svcat.v0.1.34 -n $SVCAT_NAMESPACE
2529
}
2630

2731
for sig in INT TERM EXIT; do
@@ -31,7 +35,7 @@ done
3135

3236
echo "`date +%T` Waiting for up to 10 minutes for Service Catalog APIs to be available..."
3337

34-
TARGET="$(date -d '5 minutes' +%s)"
38+
TARGET="$(date -d '10 minutes' +%s)"
3539
NOW="$(date +%s)"
3640
while [[ "${NOW}" -lt "${TARGET}" ]]; do
3741
REMAINING="$((TARGET - NOW))"
@@ -47,38 +51,8 @@ if [ "${NOW}" -ge "${TARGET}" ];then
4751
# could fail out here with an exit 1, leave it to fail e2e for now.
4852
fi
4953

50-
echo "Add missing rbac"
51-
set +e
52-
cat <<'EOF' | oc create -f -
53-
apiVersion: rbac.authorization.k8s.io/v1
54-
kind: ClusterRole
55-
metadata:
56-
name: add-servicebindingfinalizers
57-
rules:
58-
- apiGroups:
59-
- servicecatalog.k8s.io
60-
resources:
61-
- servicebindings/finalizers
62-
verbs:
63-
- update
64-
---
65-
apiVersion: rbac.authorization.k8s.io/v1
66-
kind: ClusterRoleBinding
67-
metadata:
68-
name: add-servicebindingfinalizers
69-
roleRef:
70-
apiGroup: rbac.authorization.k8s.io
71-
kind: ClusterRole
72-
name: add-servicebindingfinalizers
73-
subjects:
74-
- kind: ServiceAccount
75-
name: service-catalog-controller
76-
namespace: kube-service-catalog
77-
EOF
78-
sleep 5
79-
set -e
8054

81-
oc get pods -l app=controller-manager -n kube-service-catalog -o name | xargs -I{} oc logs {} -n kube-service-catalog | grep -o "Service Catalog version.*" > /tmp/artifacts/service-catalog-version.txt
55+
oc get pods -l app=controller-manager -n $SVCAT_NAMESPACE -o name | xargs -I{} oc logs {} -n $SVCAT_NAMESPACE | grep -o "Service Catalog version.*" > /tmp/artifacts/service-catalog-version.txt
8256

8357

8458
echo "`date +%T`: Service Catalog APIs available, executing Service Catalog E2E"

hack/svcat-catalogsourceconfig.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: "marketplace.redhat.com/v1alpha1"
2+
kind: "CatalogSourceConfig"
3+
metadata:
4+
name: "service-catalog"
5+
namespace: "openshift-marketplace"
6+
spec:
7+
targetNamespace: "kube-service-catalog"
8+
packages: "svcat"

hack/svcat-operatorgroup.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: operators.coreos.com/v1alpha2
2+
kind: OperatorGroup
3+
metadata:
4+
name: service-catalog
5+
namespace: kube-service-catalog
6+
spec:
7+
targetNamespaces:
8+
- kube-service-catalog

hack/svcat-subscription.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: Subscription
3+
metadata:
4+
name: svcat
5+
namespace: kube-service-catalog
6+
spec:
7+
channel: alpha
8+
name: svcat
9+
source: community-operators

manifests/04-services.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: Service
3+
apiVersion: v1
4+
metadata:
5+
name: controller-manager
6+
namespace: kube-service-catalog
7+
annotations:
8+
service.alpha.openshift.io/serving-cert-secret-name: svcat-controllermanager-ssl
9+
prometheus.io/scrape: "true"
10+
prometheus.io/scheme: https
11+
spec:
12+
type: ClusterIP
13+
selector:
14+
app: controller-manager
15+
ports:
16+
- name: secure
17+
protocol: TCP
18+
port: 443
19+
targetPort: 8444

0 commit comments

Comments
 (0)