Skip to content
This repository was archived by the owner on Jan 20, 2021. It is now read-only.

Commit 6bf22c8

Browse files
author
Simon Stone
authored
Merge pull request #122 from sstone1/issue-120
Find components by display name in software (resolves #118)
2 parents 81b5cbe + 563bfb4 commit 6bf22c8

File tree

5 files changed

+87
-48
lines changed

5 files changed

+87
-48
lines changed

tasks/saas/create-orderer.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@
4242
ibp_components.json |
4343
selectattr('cluster_name', 'defined') |
4444
selectattr('cluster_name', 'eq', orderer.ibp.cluster_name) |
45-
list |
46-
length
45+
list
4746
}}"
4847

4948
- name: Create orderer
@@ -54,7 +53,7 @@
5453
Authorization: "Bearer {{ ibp.saas.access_token }}"
5554
body_format: json
5655
body: "{{ lookup('template', 'saas/create-orderer.json.j2') }}"
57-
when: ibp_orderer_count == "0"
56+
when: not ibp_orderer_count
5857

5958
- name: Get the list of components
6059
uri:

tasks/software/create-ca.yml

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,24 @@
22
# SPDX-License-Identifier: Apache-2.0
33
#
44
---
5-
- name: Check for certificate authority
5+
- name: Get the list of components
66
uri:
7-
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components/{{ ca.id }}"
7+
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components"
88
url_username: "{{ infrastructure.software.api_key }}"
99
url_password: "{{ infrastructure.software.api_secret }}"
10-
method: HEAD
10+
method: GET
1111
return_content: yes
12-
status_code:
13-
- "200"
14-
- "404"
1512
validate_certs: no
16-
register: ibp_ca
13+
register: ibp_components
14+
15+
- name: Check for certificate authority
16+
set_fact:
17+
ibp_ca_count: "{{
18+
ibp_components.json |
19+
selectattr('display_name', 'defined') |
20+
selectattr('display_name', 'eq', ca.ibp.display_name) |
21+
list
22+
}}"
1723

1824
- name: Create certificate authority
1925
uri:
@@ -24,21 +30,30 @@
2430
body_format: json
2531
body: "{{ lookup('template', 'software/create-ca.json.j2') }}"
2632
validate_certs: no
27-
when: ibp_ca.status == 404
33+
when: not ibp_ca_count
2834

29-
- name: Get certificate authority
35+
- name: Get the list of components
3036
uri:
31-
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components/{{ ca.id }}"
37+
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components"
3238
url_username: "{{ infrastructure.software.api_key }}"
3339
url_password: "{{ infrastructure.software.api_secret }}"
3440
method: GET
3541
return_content: yes
3642
validate_certs: no
37-
register: ibp_ca
43+
register: ibp_components
44+
45+
- name: Get certificate authority
46+
set_fact:
47+
ibp_ca: "{{
48+
ibp_components.json |
49+
selectattr('display_name', 'defined') |
50+
selectattr('display_name', 'eq', ca.ibp.display_name) |
51+
first
52+
}}"
3853

3954
- name: Wait for certificate authority to start
4055
uri:
41-
url: "{{ ibp_ca.json.api_url }}/cainfo"
56+
url: "{{ ibp_ca.api_url }}/cainfo"
4257
status_code: "200"
4358
validate_certs: no
4459
register: result
@@ -53,7 +68,7 @@
5368

5469
- name: Wait for TLS certificate authority to start
5570
uri:
56-
url: "{{ ibp_ca.json.api_url }}/cainfo?ca={{ ibp_ca.json.tlsca_name }}"
71+
url: "{{ ibp_ca.api_url }}/cainfo?ca={{ ibp_ca.tlsca_name }}"
5772
status_code: "200"
5873
validate_certs: no
5974
register: result
@@ -68,7 +83,7 @@
6883

6984
- name: Copy the TLS CA root certificate (for the certificate authority component)
7085
copy:
71-
content: "{{ ibp_ca.json.tls_cert | b64decode }}"
86+
content: "{{ ibp_ca.tls_cert | b64decode }}"
7287
dest: "{{ organization.wallet }}/ca-tls-root.pem"
7388
when: ca.tls.enabled
7489

@@ -78,11 +93,11 @@
7893
ibp |
7994
combine({
8095
ca.id: {
81-
'protocol': ibp_ca.json.api_url | urlsplit('scheme'),
82-
'hostname': ibp_ca.json.api_url | urlsplit('hostname'),
83-
'port': ibp_ca.json.api_url | urlsplit('port'),
96+
'protocol': ibp_ca.api_url | urlsplit('scheme'),
97+
'hostname': ibp_ca.api_url | urlsplit('hostname'),
98+
'port': ibp_ca.api_url | urlsplit('port'),
8499
'pem': organization.wallet + '/tls-root.pem' if ca.tls.enabled else '',
85-
'caname': ibp_ca.json.ca_name, 'tlscaname': ibp_ca.json.tlsca_name
100+
'caname': ibp_ca.ca_name, 'tlscaname': ibp_ca.tlsca_name
86101
}
87102
}, recursive=True)
88103
}}"

tasks/software/create-msp.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,24 @@
22
# SPDX-License-Identifier: Apache-2.0
33
#
44
---
5-
- name: Check for MSP
5+
- name: Get the list of components
66
uri:
7-
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components/{{ organization.msp.id }}"
7+
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components"
88
url_username: "{{ infrastructure.software.api_key }}"
99
url_password: "{{ infrastructure.software.api_secret }}"
10-
method: HEAD
10+
method: GET
1111
return_content: yes
12-
status_code:
13-
- "200"
14-
- "404"
1512
validate_certs: no
16-
register: ibp_msp
13+
register: ibp_components
14+
15+
- name: Check for MSP
16+
set_fact:
17+
ibp_msp_count: "{{
18+
ibp_components.json |
19+
selectattr('display_name', 'defined') |
20+
selectattr('display_name', 'eq', organization.msp.ibp.display_name) |
21+
list
22+
}}"
1723

1824
- name: Create MSP
1925
uri:
@@ -24,4 +30,4 @@
2430
body_format: json
2531
body: "{{ lookup('template', 'software/create-msp.json.j2') }}"
2632
validate_certs: no
27-
when: ibp_msp.status == 404
33+
when: not ibp_msp_count

tasks/software/create-orderer.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@
4343
ibp_components.json |
4444
selectattr('cluster_name', 'defined') |
4545
selectattr('cluster_name', 'eq', orderer.ibp.cluster_name) |
46-
list |
47-
length
46+
list
4847
}}"
4948

5049
- name: Create orderer
@@ -56,7 +55,7 @@
5655
body_format: json
5756
body: "{{ lookup('template', 'software/create-orderer.json.j2') }}"
5857
validate_certs: no
59-
when: ibp_orderer_count == "0"
58+
when: not ibp_orderer_count
6059

6160
- name: Get the list of components
6261
uri:
@@ -70,7 +69,12 @@
7069

7170
- name: Get orderer
7271
set_fact:
73-
ibp_orderer: "{{ ibp_components.json | selectattr('cluster_name', 'defined') | selectattr('cluster_name', 'eq', orderer.ibp.cluster_name) | first }}"
72+
ibp_orderer: "{{
73+
ibp_components.json |
74+
selectattr('cluster_name', 'defined') |
75+
selectattr('cluster_name', 'eq', orderer.ibp.cluster_name) |
76+
first
77+
}}"
7478

7579
- name: Wait for orderer to start
7680
uri:

tasks/software/create-peer.yml

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,24 @@
2727
registrar: "{{ organization.ca.admin_identity }}"
2828
when: peer.tls.enabled
2929

30-
- name: Check for peer
30+
- name: Get the list of components
3131
uri:
32-
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components/{{ peer.id }}"
32+
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components"
3333
url_username: "{{ infrastructure.software.api_key }}"
3434
url_password: "{{ infrastructure.software.api_secret }}"
35-
method: HEAD
35+
method: GET
3636
return_content: yes
37-
status_code:
38-
- "200"
39-
- "404"
4037
validate_certs: no
41-
register: ibp_peer
38+
register: ibp_components
39+
40+
- name: Check for peer
41+
set_fact:
42+
ibp_peer_count: "{{
43+
ibp_components.json |
44+
selectattr('display_name', 'defined') |
45+
selectattr('display_name', 'eq', peer.ibp.display_name) |
46+
list
47+
}}"
4248

4349
- name: Create peer
4450
uri:
@@ -49,21 +55,30 @@
4955
body_format: json
5056
body: "{{ lookup('template', 'software/create-peer.json.j2') }}"
5157
validate_certs: no
52-
when: ibp_peer.status == 404
58+
when: not ibp_peer_count
5359

54-
- name: Get peer
60+
- name: Get the list of components
5561
uri:
56-
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components/{{ peer.id }}"
62+
url: "{{ infrastructure.software.api_endpoint }}/ak/api/v1/components"
5763
url_username: "{{ infrastructure.software.api_key }}"
5864
url_password: "{{ infrastructure.software.api_secret }}"
5965
method: GET
6066
return_content: yes
6167
validate_certs: no
62-
register: ibp_peer
68+
register: ibp_components
69+
70+
- name: Get peer
71+
set_fact:
72+
ibp_peer: "{{
73+
ibp_components.json |
74+
selectattr('display_name', 'defined') |
75+
selectattr('display_name', 'eq', peer.ibp.display_name) |
76+
first
77+
}}"
6378

6479
- name: Wait for peer to start
6580
uri:
66-
url: "{{ ibp_peer.json.operations_url }}/healthz"
81+
url: "{{ ibp_peer.operations_url }}/healthz"
6782
status_code: "200"
6883
validate_certs: no
6984
register: result
@@ -77,9 +92,9 @@
7792
ibp |
7893
combine({
7994
peer.id: {
80-
'protocol': ibp_peer.json.api_url | urlsplit('scheme'),
81-
'hostname': ibp_peer.json.api_url | urlsplit('hostname'),
82-
'port': ibp_peer.json.api_url | urlsplit('port'),
95+
'protocol': ibp_peer.api_url | urlsplit('scheme'),
96+
'hostname': ibp_peer.api_url | urlsplit('hostname'),
97+
'port': ibp_peer.api_url | urlsplit('port'),
8398
'pem': organization.wallet + '/tls-root.pem' if peer.tls.enabled else ''
8499
}
85100
}, recursive=True)

0 commit comments

Comments
 (0)