Fix and improve Keycloak tutorial

The keycloak tutorial incorrectly instructed users to run
"docker-compose-compose".  Correct that.

Also, change the instructions to "stop" rather than "down" the
original containers so that the results of the quick-start tutorial
are still present.

Finally, verify that, and also add a verification that the intended
effect of the restart worked (by checking the available authn methods).

Change-Id: I43a17e27300126e8acdc1919ba2bbe98719ad604
This commit is contained in:
James E. Blair
2022-08-30 14:26:15 -07:00
parent adadc0bdd7
commit 0df6e2d7ca
2 changed files with 26 additions and 5 deletions

View File

@@ -46,14 +46,14 @@ that we can update Zuul's configuration to add authentication.
.. code-block:: shell
cd zuul/doc/source/examples
sudo -E docker-compose-compose -p zuul-tutorial down
sudo -E docker-compose -p zuul-tutorial stop
Restart the containers with a new Zuul configuration.
.. code-block:: shell
cd zuul/doc/source/examples
ZUUL_TUTORIAL_CONFIG="./keycloak/etc_zuul/" sudo -E docker-compose-compose -p zuul-tutorial up -d
ZUUL_TUTORIAL_CONFIG="./keycloak/etc_zuul/" sudo -E docker-compose -p zuul-tutorial up -d
This tells docker-compose to use these Zuul `config files
<https://opendev.org/zuul/zuul/src/branch/master/doc/source/examples/keycloak>`_.
@@ -67,7 +67,7 @@ with this command:
.. code-block:: shell
cd zuul/doc/source/examples/keycloak
sudo -E docker-compose-compose -p zuul-tutorial-keycloak up -d
sudo -E docker-compose -p zuul-tutorial-keycloak up -d
Once Keycloak is running, you can visit the web interface at
http://localhost:8082/

View File

@@ -2,13 +2,13 @@
- name: Run docker-compose down
when: not local
shell:
cmd: docker-compose -p zuul-tutorial down
cmd: docker-compose -p zuul-tutorial stop
chdir: src/opendev.org/zuul/zuul/doc/source/examples
- name: Run docker-compose down
when: local
shell:
cmd: docker-compose -p zuul-tutorial down
cmd: docker-compose -p zuul-tutorial stop
chdir: ../../doc/source/examples
# Restart with the new config
@@ -55,3 +55,24 @@
until: result.status == 200 and result.json["zuul_version"] is defined
changed_when: false
- name: Verify Keycloak authentication is available
uri:
url: http://localhost:9000/api/tenant/example-tenant/info
method: GET
return_content: true
status_code: 200
body_format: json
register: result
failed_when: result.json["info"]["capabilities"]["auth"]["realms"]["zuul-demo"]["authority"] != "http://keycloak:8082/realms/zuul-demo"
changed_when: false
- name: Verify that old builds are available
uri:
url: "http://localhost:9000/api/tenant/example-tenant/builds"
method: GET
return_content: true
status_code: 200
body_format: json
register: result
failed_when: "result.json | length < 4"
changed_when: false