Skip to content

Commit 7fa12e0

Browse files
authored
Fixes for app/verify (#138)
1 parent 8dd8d5c commit 7fa12e0

File tree

4 files changed

+29
-22
lines changed

4 files changed

+29
-22
lines changed

marketplace/deployer_util/bash_util.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ def __init__(self, cmd, print_call=False, print_result=False):
3838
self._error = None
3939
self._print_call = print_call
4040
self._print_result = print_result
41+
self._run()
4142

4243
def jq(self, query):
4344
return self.pipe("jq {}".format(query))
@@ -53,22 +54,20 @@ def pipe(self, cmd):
5354
stderr=subprocess.PIPE)
5455

5556
self._process = p2
57+
self._run()
5658
return self
5759

58-
def text(self):
59-
if self._exitcode is None:
60-
self.output, self._error = self._process.communicate()
61-
self._exitcode = self._process.returncode
62-
if self._print_result:
63-
print "result: " + str((self._exitcode, self.output, self._error))
60+
def _run(self):
61+
self._output, self._error = self._process.communicate()
62+
self._exitcode = self._process.returncode
63+
if self._print_result:
64+
print "result: " + str((self._exitcode, self._output, self._error))
6465

6566
if self._exitcode > 0:
6667
raise CommandException(self._error)
6768

68-
return self.output
69-
7069
def json(self):
71-
return json.loads(self.text())
70+
return json.loads(self._output)
7271

7372
@property
7473
def exitcode(self):

marketplace/deployer_util/resources.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,19 @@ def set_resource_ownership(appuid, appname, resource):
2121
if 'ownerReferences' not in resource['metadata']:
2222
resource['metadata']['ownerReferences'] = []
2323

24-
ownerReference = {}
25-
ownerReference['apiVersion'] = "app.k8s.io/v1alpha1"
26-
ownerReference['kind'] = "Application"
27-
ownerReference['controller'] = True
28-
ownerReference['blockOwnerDeletion'] = True
29-
ownerReference['name'] = appname
30-
ownerReference['uid'] = appuid
31-
resource['metadata']['ownerReferences'].append(ownerReference)
24+
owner_reference = None
25+
for existing_owner_reference in resource['metadata']['ownerReferences']:
26+
if existing_owner_reference['uid'] == appuid:
27+
owner_reference = existing_owner_reference
28+
break
29+
30+
if not owner_reference:
31+
owner_reference = {}
32+
resource['metadata']['ownerReferences'].append(owner_reference)
33+
34+
owner_reference['apiVersion'] = "app.k8s.io/v1alpha1"
35+
owner_reference['kind'] = "Application"
36+
owner_reference['controller'] = True
37+
owner_reference['blockOwnerDeletion'] = True
38+
owner_reference['name'] = appname
39+
owner_reference['uid'] = appuid

marketplace/deployer_util/run_tester.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ def main():
3131
parser.add_argument('--manifest')
3232
args = parser.parse_args()
3333

34-
Command('''
34+
kubectl_apply = Command('''
3535
kubectl apply
3636
--namespace="{}"
3737
--filename="{}"
38-
'''.format(args.namespace, args.manifest))
38+
'''.format(args.namespace, args.manifest), print_call=True)
3939

4040
resources = load_resources_yaml(args.manifest)
4141

@@ -56,7 +56,7 @@ def main():
5656
kubectl get "{}"
5757
--namespace="{}"
5858
-o=json
59-
'''.format(full_name, args.namespace)).json()
59+
'''.format(full_name, args.namespace), print_call=True).json()
6060
except CommandException as ex:
6161
log(str(ex))
6262
log("INFO retrying")
@@ -82,7 +82,7 @@ def main():
8282

8383

8484
def print_logs(full_name, namespace):
85-
log(Command('''kubectl logs {} --namespace="{}"'''.format(full_name, namespace)).text())
85+
log(Command('''kubectl logs {} --namespace="{}"'''.format(full_name, namespace)).output)
8686

8787

8888
def log(msg):

marketplace/deployer_util/wait_for_ready.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def main():
3939
kubectl get "applications/{}"
4040
--namespace="{}"
4141
--output=json
42-
'''.format(args.name, args.namespace)).json()
42+
'''.format(args.name, args.namespace), print_call=True).json()
4343

4444
application_uid = application['metadata']['uid']
4545

0 commit comments

Comments
 (0)