|
| 1 | +--- |
| 2 | +- name: Reuse common code |
| 3 | + include_tasks: "{{ playbook_dir }}/../common/config_apply.yml" |
| 4 | + |
| 5 | +- meta: end_play |
| 6 | + when: (allorderers | length == 0) or (allpeers | length == 0) |
| 7 | + |
| 8 | +- name: Setup few variables |
| 9 | + set_fact: |
| 10 | + alladmin: "" |
| 11 | + networkname: "{{ lookup('env', 'NETWORKNAME') | default('') }}" |
| 12 | + |
| 13 | +- name: Process networkname |
| 14 | + set_fact: |
| 15 | + networkname: "{{ ((networkname|length)==0)|ternary('carauction-network', networkname) }}" |
| 16 | + adminStr: 'Admin@' |
| 17 | + |
| 18 | +- name: Generate all admin options |
| 19 | + set_fact: |
| 20 | + alladmin: "{{ alladmin + '-A ' + item + 'Admin -C /home/composer/.composer/' + item + 'Admin/admin-pub.pem ' }}" |
| 21 | + with_items: "{{ peerorgs }}" |
| 22 | + tags: "generatealladmin" |
| 23 | + |
| 24 | +- name: Create deployment file for composer cli |
| 25 | + template: |
| 26 | + src: "{{ playbook_dir }}/composersetup/templates/{{ item }}.j2" |
| 27 | + dest: "{{ playbook_dir }}/../../run/{{ item }}.yaml" |
| 28 | + with_items: |
| 29 | + - composercli |
| 30 | + - composerplayground |
| 31 | + |
| 32 | +- name: Create composer cli initialization pod |
| 33 | + command: >- |
| 34 | + ./kubectl --kubeconfig kubeconfig apply -f ../run/composercli.yaml |
| 35 | + args: |
| 36 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 37 | + tags: "createcomposerclipod" |
| 38 | + |
| 39 | +- name: Wait for composer cli pod to be ready |
| 40 | + command: >- |
| 41 | + ./kubectl --kubeconfig kubeconfig -o=custom-columns=STATUS:.status.phase |
| 42 | + get pods -l type=composercli --no-headers --field-selector=status.phase=Running |
| 43 | + args: |
| 44 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 45 | + register: podstatus |
| 46 | + until: podstatus.stdout_lines | length == 1 |
| 47 | + retries: 10 |
| 48 | + delay: 5 |
| 49 | + |
| 50 | +- name: Clean composer root |
| 51 | + command: >- |
| 52 | + ./kubectl --kubeconfig kubeconfig exec composercli |
| 53 | + -- /bin/rm -rf /home/composer/.composer/{{ item }} |
| 54 | + with_items: |
| 55 | + - "cards" |
| 56 | + - "client-data" |
| 57 | + - "*Admin*" |
| 58 | + args: |
| 59 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 60 | + tags: "cleanroot" |
| 61 | + |
| 62 | +- name: Create cards for admins |
| 63 | + command: >- |
| 64 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer card create |
| 65 | + -p /fabriccerts/keyfiles/{{ item }}/connection.json |
| 66 | + -c /fabriccerts/keyfiles/{{ item }}/users/Admin@{{ item }}/msp/admincerts/Admin@{{ item }}-cert.pem |
| 67 | + -k /fabriccerts/keyfiles/{{ item }}/users/Admin@{{ item }}/msp/keystore/admin_private.key |
| 68 | + -r PeerAdmin -r ChannelAdmin |
| 69 | + -u PeerAdmin@{{ item }} |
| 70 | + -f /home/composer/.composer/{{ item }}-PeerAdmin.card |
| 71 | + args: |
| 72 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 73 | + with_items: "{{ peerorgs }}" |
| 74 | + tags: "createcards" |
| 75 | + |
| 76 | +- name: Import the cards |
| 77 | + command: >- |
| 78 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer card import |
| 79 | + -f /home/composer/.composer/{{ item }}-PeerAdmin.card |
| 80 | + -n PeerAdmin@{{ item }} |
| 81 | + args: |
| 82 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 83 | + with_items: "{{ peerorgs }}" |
| 84 | + tags: "importcards" |
| 85 | + |
| 86 | +- name: Runtime install |
| 87 | + command: >- |
| 88 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer runtime install |
| 89 | + -c PeerAdmin@{{ item }} -n {{ networkname }} |
| 90 | + args: |
| 91 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 92 | + with_items: "{{ peerorgs }}" |
| 93 | + tags: "runtimeinstall" |
| 94 | + |
| 95 | +- name: Request identity |
| 96 | + command: >- |
| 97 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer identity request |
| 98 | + -c PeerAdmin@{{ item }} |
| 99 | + -u {{ fabric.ca.admin }} -s {{ fabric.ca.adminpw }} |
| 100 | + -d /home/composer/.composer/{{ item }}Admin |
| 101 | + args: |
| 102 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 103 | + with_items: "{{ peerorgs }}" |
| 104 | + tags: "requestidentity" |
| 105 | + |
| 106 | +- name: Start network |
| 107 | + command: >- |
| 108 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer network start |
| 109 | + -c PeerAdmin@{{ peerorgs[0] }} |
| 110 | + -a /fabriccerts/keyfiles/{{ networkname }}.bna {{ alladmin }} |
| 111 | + args: |
| 112 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 113 | + tags: "startnetwork" |
| 114 | + |
| 115 | +- name: Create admin business cards |
| 116 | + command: >- |
| 117 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer card create |
| 118 | + -p /fabriccerts/keyfiles/{{ item }}/connection.json |
| 119 | + -u {{ item }}Admin -n {{ networkname }} |
| 120 | + -c /home/composer/.composer/{{ item }}Admin/admin-pub.pem |
| 121 | + -k /home/composer/.composer/{{ item }}Admin/admin-priv.pem |
| 122 | + -f /home/composer/.composer/{{ item}}Admin/{{ item }}-{{ networkname }}-Admin.card |
| 123 | + args: |
| 124 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 125 | + with_items: "{{ peerorgs }}" |
| 126 | + tags: "createadmincards" |
| 127 | + |
| 128 | +- name: Import the admin cards |
| 129 | + command: >- |
| 130 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer card import |
| 131 | + -f /home/composer/.composer/{{ item }}Admin/{{ item }}-{{ networkname }}-Admin.card |
| 132 | + args: |
| 133 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 134 | + with_items: "{{ peerorgs }}" |
| 135 | + tags: "importadmincards" |
| 136 | + |
| 137 | +- name: Ping network |
| 138 | + command: >- |
| 139 | + ./kubectl --kubeconfig kubeconfig exec composercli -- composer network ping |
| 140 | + -c {{ item }}Admin@{{ networkname }} |
| 141 | + args: |
| 142 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 143 | + with_items: "{{ peerorgs }}" |
| 144 | + tags: "pingnetwork" |
| 145 | + |
| 146 | +- name: Start composer playground pod and service |
| 147 | + command: >- |
| 148 | + ./kubectl --kubeconfig kubeconfig apply -f ../run/composerplayground.yaml |
| 149 | + args: |
| 150 | + chdir: "{{ playbook_dir }}/../../vars/" |
| 151 | + tags: "startupplayground" |
0 commit comments