diff --git a/README.md b/README.md
index b2f3eebc8..789258af4 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ The Red Hat Ansible Automation Workshops project is intended for effectively dem
| Workshop | Presentation Deck | Exercises | Workshop Type Var |
|---|---|---|---|
| **Ansible Red Hat Enterprise Linux Workshop**
focused on automating Linux platforms like Red Hat Enterprise Linux | [Deck](./decks/ansible_rhel.pdf) | [Exercises](./exercises/ansible_rhel) | `workshop_type: rhel` |
-| **Ansible Network Automation Workshop**
focused on router and switch platforms like Arista, Cisco, Juniper | [Deck](./decks/ansible_network.pdf) | [Exercises](./exercises/ansible_network) | `workshop_type: networking` |
+| **Ansible Network Automation Workshop**
focused on router and switch platforms like Arista, Cisco, Juniper | [Deck](./decks/ansible_network.pdf) | [Exercises](./exercises/ansible_network) | `workshop_type: network` |
| **Ansible F5 Workshop**
focused on automation of F5 BIG-IP | [Deck](./decks/ansible_f5.pdf) | [Exercises](./exercises/ansible_f5) | `workshop_type: f5` |
| **Ansible Security Automation**
focused on automation of security tools like Check Point Firewall, IBM QRadar and the IDS Snort | [Deck](./decks/ansible_security.pdf) | [Exercises](./exercises/ansible_security) | `workshop_type: security` |
| **Ansible Windows Automation Workshop**
focused on automation of Microsoft Windows | [Deck](./decks/ansible_windows.pdf) | [Exercises](./exercises/ansible_windows) | `workshop_type: windows` |
@@ -22,7 +22,7 @@ The Red Hat Ansible Automation Workshops project is intended for effectively dem
# Self Paced Exercises
- - [Vagrant Demo](vagrant-demo) - Self-paced networking exercises that can be run on your personal laptop
+ - [Vagrant Demo](vagrant-demo) - Self-paced network automation exercises that can be run on your personal laptop
# Demos
diff --git a/exercises/ansible_f5/1.0-explore/README.ja.md b/exercises/ansible_f5/1.0-explore/README.ja.md
index 5ba173c73..7fe77ac96 100644
--- a/exercises/ansible_f5/1.0-explore/README.ja.md
+++ b/exercises/ansible_f5/1.0-explore/README.ja.md
@@ -11,11 +11,11 @@
#### Step 1
-`networking-workshop` ディレクトリへ移動してください。
+`f5-workshop` ディレクトリへ移動してください。
```
-[student1@ansible ~]$ cd networking-workshop/
-[student1@ansible networking-workshop]$
+[student1@ansible ~]$ cd f5-workshop/
+[student1@ansible f5-workshop]$
```
#### Step 2
@@ -23,7 +23,7 @@
設定を確認するために `ansible` コマンドに `--version` オプションをつけて実行します:
```
-[student1@ansible networking-workshop]$ ansible --version
+[student1@ansible f5-workshop]$ ansible --version
ansible 2.6.2
config file = /home/student1/.ansible.cfg
configured module search path = [u'/home/student1/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
@@ -43,14 +43,14 @@ ansible 2.6.2
```
-[student1@ansible networking-workshop]$ cat ~/.ansible.cfg
+[student1@ansible f5-workshop]$ cat ~/.ansible.cfg
[defaults]
connection = smart
timeout = 60
inventory = /home/student1/lab_inventory/hosts
host_key_checking = False
private_key_file = /home/student1/.ssh/aws-private.pem
-[student1@ansible networking-workshop]$
+[student1@ansible f5-workshop]$
```
@@ -65,7 +65,7 @@ Note: `ansible.cfg` には以下のパラメーターが含まれています:
この演習では **ini** 形式で書かれたファイルを使います. `cat` コマンドでインベントリーの中身を確認します:
-`[student1@ansible networking-workshop]$ cat ~/lab_inventory/hosts`
+`[student1@ansible f5-workshop]$ cat ~/lab_inventory/hosts`
以下が student2 の出力例です:
```
@@ -109,7 +109,7 @@ f5 ansible_host=34.199.128.69 ansible_user=admin private_ip=172.16.26.136 ansibl
ホームディレクトリへ戻ります。
```
-[student1@ansible networking-workshop]$ cd ~
+[student1@ansible f5-workshop]$ cd ~
```
本演習は以上となります。 [Click here to return to the lab guide](../README.ja.md)
diff --git a/exercises/ansible_f5/1.0-explore/README.md b/exercises/ansible_f5/1.0-explore/README.md
index 8afb7fe11..b67b4ea0f 100644
--- a/exercises/ansible_f5/1.0-explore/README.md
+++ b/exercises/ansible_f5/1.0-explore/README.md
@@ -6,11 +6,11 @@ Before you get started, please join us on slack! [Click here to join the ansible
#### Step 1
-Navigate to the `networking-workshop` directory.
+Navigate to the `f5-workshop` directory.
```
-[student1@ansible ~]$ cd networking-workshop/
-[student1@ansible networking-workshop]$
+[student1@ansible ~]$ cd f5-workshop/
+[student1@ansible f5-workshop]$
```
#### Step 2
@@ -18,7 +18,7 @@ Navigate to the `networking-workshop` directory.
Run the `ansible` command with the `--version` command to look at what is configured:
```
-[student1@ansible networking-workshop]$ ansible --version
+[student1@ansible f5-workshop]$ ansible --version
ansible 2.6.2
config file = /home/student1/.ansible.cfg
configured module search path = [u'/home/student1/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
@@ -38,14 +38,14 @@ Use the `cat` command to view the contents of the `ansible.cfg` file.
```
-[student1@ansible networking-workshop]$ cat ~/.ansible.cfg
+[student1@ansible f5-workshop]$ cat ~/.ansible.cfg
[defaults]
connection = smart
timeout = 60
inventory = /home/student1/lab_inventory/hosts
host_key_checking = False
private_key_file = /home/student1/.ssh/aws-private.pem
-[student1@ansible networking-workshop]$
+[student1@ansible f5-workshop]$
```
@@ -60,7 +60,7 @@ The scope of a `play` within a `playbook` is limited to the groups of hosts decl
In this lab you will work with a file based inventory written in the **ini** format. Use the `cat` command to view the contents of your inventory:
-`[student1@ansible networking-workshop]$ cat ~/lab_inventory/hosts`
+`[student1@ansible f5-workshop]$ cat ~/lab_inventory/hosts`
The output will look as follows with student2 being the respective student workbench:
```
@@ -105,7 +105,7 @@ f5 ansible_host=34.199.128.69 ansible_user=admin private_ip=172.16.26.136 ansibl
Go back to the home directory
```
-[student1@ansible networking-workshop]$ cd ~
+[student1@ansible f5-workshop]$ cd ~
```
You have finished this exercise. [Click here to return to the lab guide](../README.md)
diff --git a/exercises/ansible_f5/1.1-get-facts/README.ja.md b/exercises/ansible_f5/1.1-get-facts/README.ja.md
index 0dd934c99..1c6a62ad9 100644
--- a/exercises/ansible_f5/1.1-get-facts/README.ja.md
+++ b/exercises/ansible_f5/1.1-get-facts/README.ja.md
@@ -19,7 +19,7 @@
ホームディレクトリにいることを確認してください。
```
-[student1@ansible networking-workshop]$ cd ~
+[student1@ansible f5-workshop]$ cd ~
```
## Step 1:
diff --git a/exercises/ansible_f5/1.1-get-facts/README.md b/exercises/ansible_f5/1.1-get-facts/README.md
index 5d2110b06..9945dc4c6 100644
--- a/exercises/ansible_f5/1.1-get-facts/README.md
+++ b/exercises/ansible_f5/1.1-get-facts/README.md
@@ -19,7 +19,7 @@ Demonstrate use of the [BIG-IP Facts module](https://docs.ansible.com/ansible/la
Make sure you are in the home directory
```
-[student1@ansible networking-workshop]$ cd ~
+[student1@ansible f5-workshop]$ cd ~
```
## Step 1:
@@ -118,17 +118,17 @@ The output will look as follows.
``` yaml
[student1@ansible ~]$ ansible-playbook bigip-facts.yml
-PLAY [GRAB F5 FACTS]
+PLAY [GRAB F5 FACTS]
****************************************************************
-TASK [Set a fact named 'provider' with BIG-IP login information]
+TASK [Set a fact named 'provider' with BIG-IP login information]
****************************************************************
ok: [f5]
-TASK [COLLECT BIG-IP FACTS]
+TASK [COLLECT BIG-IP FACTS]
****************************************************************
changed: [f5]
-TASK [DISPLAY COMPLETE BIG-IP SYSTEM INFORMATION]
+TASK [DISPLAY COMPLETE BIG-IP SYSTEM INFORMATION]
****************************************************************
ok: [f5] =>
@@ -176,17 +176,17 @@ ok: [f5] =>
year: 2019
uptime: 8196900.0
-TASK [DISPLAY ONLY THE MAC ADDRESS]
+TASK [DISPLAY ONLY THE MAC ADDRESS]
****************************************************************
ok: [f5] =>
device_facts['system_info']['base_mac_address']: 02:f1:92:e9:a2:38
-TASK [DISPLAY ONLY THE VERSION]
+TASK [DISPLAY ONLY THE VERSION]
****************************************************************
ok: [f5] =>
device_facts['system_info']['product_version']: 13.1.0.7
-PLAY RECAP
+PLAY RECAP
****************************************************************
f5 : ok=4 changed=1 unreachable=0 failed=0
```
diff --git a/exercises/ansible_f5/3.0-as3-intro/README.ja.md b/exercises/ansible_f5/3.0-as3-intro/README.ja.md
index b3650d1a5..4cb7b75c7 100644
--- a/exercises/ansible_f5/3.0-as3-intro/README.ja.md
+++ b/exercises/ansible_f5/3.0-as3-intro/README.ja.md
@@ -119,7 +119,7 @@ Playbook を作り始める前に、AS3 がどのように動くのか理解す
```
mkdir j2
-cp ~/networking-workshop/3.0-as3-intro/j2/* j2/
+cp ~/f5-workshop/3.0-as3-intro/j2/* j2/
```
## Step 3:
diff --git a/exercises/ansible_f5/3.0-as3-intro/README.md b/exercises/ansible_f5/3.0-as3-intro/README.md
index 43b134d26..7524afd17 100644
--- a/exercises/ansible_f5/3.0-as3-intro/README.md
+++ b/exercises/ansible_f5/3.0-as3-intro/README.md
@@ -120,7 +120,7 @@ This template is a JSON representation of the Web Application. The important pa
```
mkdir j2
-cp ~/networking-workshop/3.0-as3-intro/j2/* j2/
+cp ~/f5-workshop/3.0-as3-intro/j2/* j2/
```
diff --git a/exercises/ansible_f5/4.1-tower-job-template/README.md b/exercises/ansible_f5/4.1-tower-job-template/README.md
index 82ac20967..376ea2237 100644
--- a/exercises/ansible_f5/4.1-tower-job-template/README.md
+++ b/exercises/ansible_f5/4.1-tower-job-template/README.md
@@ -55,7 +55,7 @@ To run an Ansible Playbook in Ansible Tower, we need to create a **Job Template*
3. Login via SSH to your Ansible Tower control node (This is the Linux machine that has Ansible Tower installed on). The SSH credentials needed again here.
4. Locate the flat-file that represents your Ansible inventory. Run the awx-manage inventory_import command like this
```
- cd ~/networking-workshop/lab_inventory/
+ cd ~/f5-workshop/lab_inventory/
sudo awx-manage inventory_import --source=hosts --inventory-name="Workshop Inventory"
```
5. Now when you login via the WebUI you will see all the hosts under the inventory `Workshop Inventory`
diff --git a/exercises/ansible_f5/4.3-tower-workflow2/README.md b/exercises/ansible_f5/4.3-tower-workflow2/README.md
index d005d0e40..4a140a8c0 100644
--- a/exercises/ansible_f5/4.3-tower-workflow2/README.md
+++ b/exercises/ansible_f5/4.3-tower-workflow2/README.md
@@ -23,7 +23,7 @@
# Objective
-Demonstrate anothe use case of [Ansible Tower workflow](https://docs.ansible.com/ansible-tower/latest/html/userguide/workflows.html) for F5 BIG-IP.
+Demonstrate anothe use case of [Ansible Tower workflow](https://docs.ansible.com/ansible-tower/latest/html/userguide/workflows.html) for F5 BIG-IP.
For this exercise, we will create a workflow for server patch management, first to disable the pool members, patch the nodes, and then enable the nodes. In parallel, we also attach an iRule to virtual server, to respond to the users when servers are under maintenance.
@@ -33,7 +33,7 @@ For this exercise, we will create a workflow for server patch management, first
### Create Server Credential
Before creating templates, you should create one more credential `Server credential` beforehand, to be utilized by one of the jobs (`Patch server`) to access servers.
-
+
| Parameter | Value |
|---|---|
|Name | Server Credential |
@@ -144,7 +144,7 @@ Here is one example of the templates configured:
## Step 6: Create a converged link
-Lastly, we create a covergence link, which allows the jobs running in parallel to converge. In another word, when both jobs finish, `Detach iRule` node will trigger.
+Lastly, we create a covergence link, which allows the jobs running in parallel to converge. In another word, when both jobs finish, `Detach iRule` node will trigger.
1. Hover over the `Attach iRule to virtual server` node and click the blue chain symbol.
2. Now, click on the existing `Detach iRule`. An ADD LINK window will appear. For the RUN parameter choose Always.
diff --git a/exercises/ansible_network/1-explore/README.ja.md b/exercises/ansible_network/1-explore/README.ja.md
index ca59d0d31..a3c92ad54 100644
--- a/exercises/ansible_network/1-explore/README.ja.md
+++ b/exercises/ansible_network/1-explore/README.ja.md
@@ -36,13 +36,13 @@
## Step 1
-コントローラーノードの `networking-workshop` ディレクトリへ移動します。プロンプトの `ansible` はホスト名を示し、これは正しいノード上にいることを示しています。
+コントローラーノードの `network-workshop` ディレクトリへ移動します。プロンプトの `ansible` はホスト名を示し、これは正しいノード上にいることを示しています。
```
-[student1@ansible ~]$ cd ~/networking-workshop/
-[student1@ansible networking-workshop]$
-[student1@ansible networking-workshop]$ pwd
-/home/student1/networking-workshop
+[student1@ansible ~]$ cd ~/network-workshop/
+[student1@ansible network-workshop]$
+[student1@ansible network-workshop]$ pwd
+/home/student1/network-workshop
```
- `~` - チルダはホームディレクトリ `/home/student1` の短縮表記
- `cd` - ディレクトリを移動するコマンド
diff --git a/exercises/ansible_network/1-explore/README.md b/exercises/ansible_network/1-explore/README.md
index a3e5cf2b0..c56dfa811 100644
--- a/exercises/ansible_network/1-explore/README.md
+++ b/exercises/ansible_network/1-explore/README.md
@@ -36,13 +36,13 @@ This will not require a username or password.
## Step 1
-Navigate to the `networking-workshop` directory on the Ansible control node. The word `ansible` indicates the hostname, and that you are on the correct host.
+Navigate to the `network-workshop` directory on the Ansible control node. The word `ansible` indicates the hostname, and that you are on the correct host.
```
-[student1@ansible ~]$ cd ~/networking-workshop/
-[student1@ansible networking-workshop]$
-[student1@ansible networking-workshop]$ pwd
-/home/student1/networking-workshop
+[student1@ansible ~]$ cd ~/network-workshop/
+[student1@ansible network-workshop]$
+[student1@ansible network-workshop]$ pwd
+/home/student1/network-workshop
```
- `~` - the tilde in this context is a shortcut for `/home/student1`
- `cd` - Linux command to change directory
diff --git a/exercises/ansible_network/2-first-playbook/README.ja.md b/exercises/ansible_network/2-first-playbook/README.ja.md
index acd61ef3f..c84c263a6 100644
--- a/exercises/ansible_network/2-first-playbook/README.ja.md
+++ b/exercises/ansible_network/2-first-playbook/README.ja.md
@@ -23,19 +23,19 @@
#### Step 1
-`networking-workshop` ディレクトリを移動してください(別のディレクトリにいる場合)
+`network-workshop` ディレクトリを移動してください(別のディレクトリにいる場合)
```bash
-[student1@ansible ~]$ cd ~/networking-workshop/
-[student1@ansible networking-workshop]$
-[student1@ansible networking-workshop]$ pwd
-/home/student1/networking-workshop
+[student1@ansible ~]$ cd ~/network-workshop/
+[student1@ansible network-workshop]$
+[student1@ansible network-workshop]$ pwd
+/home/student1/network-workshop
```
演習用に提供される `playbook.yml`を確認します。好きなエディタでこのファイルを開いてください。以下の例では `cat` コマンドを利用しています。
```
-[student1@ansible networking-workshop]$ cat playbook.yml
+[student1@ansible network-workshop]$ cat playbook.yml
---
- name: snmp ro/rw string configuration
hosts: cisco
@@ -65,7 +65,7 @@ snmp-server community ansible-private RW
`ansible-playbook` コマンドを使ってこのPlaybookを実行します:
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml
PLAY [snmp ro/rw string configuration] *****************************************
@@ -81,7 +81,7 @@ rtr1 : ok=1 changed=1 unreachable=0 failed=0 s
このPlaybookの動きを確認します。`rtr1`へログインし、Cisco IOS-XE上で実行中のコンフィグを確認します。
```bash
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#show run | i snmp
snmp-server community ansible-public RO
@@ -98,7 +98,7 @@ snmp-server community ansible-private RW
冪等性を確認するには、Playbookを再実行します:
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml
PLAY [snmp ro/rw string configuration] **************************************************************************************
@@ -108,7 +108,7 @@ ok: [rtr1]
PLAY RECAP ******************************************************************************************************************
rtr1 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
-[student1@ansible networking-workshop]$
+[student1@ansible network-workshop]$
```
> Note: **PLAY RECAP** の中の **changed** パラメーターが changed=0 であることを確認してください。
@@ -127,7 +127,7 @@ snmp-server community ansible-test RO
好きなテキストエディタで `playbook.yml` を開いて、コマンドを追加します:
```bash
-[student1@ansible networking-workshop]$ nano playbook.yml
+[student1@ansible network-workshop]$ nano playbook.yml
```
Playbookは以下のようになります:
@@ -154,7 +154,7 @@ Playbookは以下のようになります:
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml --verbose --check
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml --verbose --check
Using /home/student1/.ansible.cfg as config file
PLAY [snmp ro/rw string configuration] *****************************************
@@ -180,7 +180,7 @@ rtr1 : ok=1 changed=1 unreachable=0 failed=0 s
`ansible-test` コミュニティが作成されていないことを確認します。`rtr1` へログインして、コンフィグ内容を確認してください。
```bash
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#show run | i snmp
snmp-server community ansible-public RO
@@ -193,7 +193,7 @@ snmp-server community ansible-private RW
最後に、このPlaybookを `-v` `--check` オプションなしで再実行して、更新をプッシュします。
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml
PLAY [snmp ro/rw string configuration] *****************************************
@@ -209,7 +209,7 @@ rtr1 : ok=1 changed=1 unreachable=0 failed=0 s
Playbookが設定した `ansible-test` コミュニティを確認します。`rtr1` へログインして、コンフィグ内容を確認してください。
```bash
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#sh run | i snmp
snmp-server community ansible-public RO
diff --git a/exercises/ansible_network/2-first-playbook/README.md b/exercises/ansible_network/2-first-playbook/README.md
index 1f00ef386..d5a687101 100644
--- a/exercises/ansible_network/2-first-playbook/README.md
+++ b/exercises/ansible_network/2-first-playbook/README.md
@@ -23,19 +23,19 @@ This exercise will cover
#### Step 1
-Navigate to the `networking-workshop` directory if you are not already there.
+Navigate to the `network-workshop` directory if you are not already there.
```bash
-[student1@ansible ~]$ cd ~/networking-workshop/
-[student1@ansible networking-workshop]$
-[student1@ansible networking-workshop]$ pwd
-/home/student1/networking-workshop
+[student1@ansible ~]$ cd ~/network-workshop/
+[student1@ansible network-workshop]$
+[student1@ansible network-workshop]$ pwd
+/home/student1/network-workshop
```
Examine the provided Ansible Playbook named `playbook.yml`. Feel free to use your text editor of choice to open the file. The sample below will use the Linux `cat` command.
```bash
-[student1@ansible networking-workshop]$ cat playbook.yml
+[student1@ansible network-workshop]$ cat playbook.yml
---
- name: snmp ro/rw string configuration
hosts: cisco
@@ -65,7 +65,7 @@ snmp-server community ansible-private RW
Run the playbook using the `ansible-playbook` command:
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml
PLAY [snmp ro/rw string configuration] *****************************************
@@ -81,7 +81,7 @@ rtr1 : ok=1 changed=1 unreachable=0 failed=0 s
Verify that the Ansible Playbook worked. Login to `rtr1` and check the running configuration on the Cisco IOS-XE device.
```bash
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#show run | i snmp
snmp-server community ansible-public RO
@@ -98,7 +98,7 @@ The `ios_config` module is idempotent. This means, a configuration change is pus
To validate the concept of idempotency, re-run the playbook:
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml
PLAY [snmp ro/rw string configuration] **************************************************************************************
@@ -108,7 +108,7 @@ ok: [rtr1]
PLAY RECAP ******************************************************************************************************************
rtr1 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
-[student1@ansible networking-workshop]$
+[student1@ansible network-workshop]$
```
> Note: See that the **changed** parameter in the **PLAY RECAP** indicates 0 changes.
@@ -127,7 +127,7 @@ snmp-server community ansible-test RO
Use the text editor of your choice to open the `playbook.yml` file to add the command:
```bash
-[student1@ansible networking-workshop]$ nano playbook.yml
+[student1@ansible network-workshop]$ nano playbook.yml
```
The Ansible Playbook will now look like this:
@@ -154,7 +154,7 @@ This time however, instead of running the playbook to push the change to the dev
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml --verbose --check
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml --verbose --check
Using /home/student1/.ansible.cfg as config file
PLAY [snmp ro/rw string configuration] *****************************************
@@ -180,7 +180,7 @@ The `--check` mode in combination with the `--verbose` flag will display the exa
Verify that the Ansible Playbook did not apply the `ansible-test` community. Login to `rtr1` and check the running configuration on the Cisco IOS-XE device.
```bash
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#show run | i snmp
snmp-server community ansible-public RO
@@ -193,7 +193,7 @@ snmp-server community ansible-private RW
Finally re-run this playbook again without the `-v` or `--check` flag to push the changes.
```bash
-[student1@ansible networking-workshop]$ ansible-playbook playbook.yml
+[student1@ansible network-workshop]$ ansible-playbook playbook.yml
PLAY [snmp ro/rw string configuration] *****************************************
@@ -209,7 +209,7 @@ rtr1 : ok=1 changed=1 unreachable=0 failed=0 s
Verify that the Ansible Playbook applied `ansible-test` community. Login to `rtr1` and check the running configuration on the Cisco IOS-XE device.
```bash
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#sh run | i snmp
snmp-server community ansible-public RO
diff --git a/exercises/ansible_network/3-facts/README.ja.md b/exercises/ansible_network/3-facts/README.ja.md
index cfdef18eb..87c7715d6 100644
--- a/exercises/ansible_network/3-facts/README.ja.md
+++ b/exercises/ansible_network/3-facts/README.ja.md
@@ -26,13 +26,13 @@ Ansible facts はリモートのネットワーク構成要素から取得され
コントローラーノード上で `ios_facts` モジュールと `debug` モジュールのドキュメントを確認します。
```bash
-[student1@ansible networking-workshop]$ ansible-doc debug
+[student1@ansible network-workshop]$ ansible-doc debug
```
`debug` を任意のパラメーター無しで利用するとどうなるか確認してください。
```bash
-[student1@ansible networking-workshop]$ ansible-doc ios_facts
+[student1@ansible network-workshop]$ ansible-doc ios_facts
```
収集する Facts 情報に制限を書ける方法を確認してください。
@@ -45,7 +45,7 @@ Playbooks は [**YAML**](https://yaml.org/) 形式です。YAML は構造化さ
好きなエディタを使って新しいファイル `facts.yml` を作成してください (`vim` と `nano` がコントローラーホストで利用可能です) :
```
-[student1@ansible networking-workshop]$ vim facts.yml
+[student1@ansible network-workshop]$ vim facts.yml
```
`facts.yml` に以下の Play 定義を入力します:
@@ -87,13 +87,13 @@ Playbooks は [**YAML**](https://yaml.org/) 形式です。YAML は構造化さ
この Playbook を実行します:
```
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml
+[student1@ansible network-workshop]$ ansible-playbook facts.yml
```
出力は以下のようになるはずです。
```bash
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml
+[student1@ansible network-workshop]$ ansible-playbook facts.yml
PLAY [gather information from routers] *****************************************
@@ -111,7 +111,7 @@ rtr1 : ok=1 changed=0 unreachable=0 failed=0 s
```
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml -v
+[student1@ansible network-workshop]$ ansible-playbook facts.yml -v
Using /home/student1/.ansible.cfg as config file
PLAY [gather information from routers] *****************************************
@@ -181,7 +181,7 @@ Playbook を冗長モードで実行するのは変数を確認するのに便
では `冗長出力モード` オプションを利用せずに、再度Playbookを実行します:
```
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml
+[student1@ansible network-workshop]$ ansible-playbook facts.yml
PLAY [gather information from routers] **************************************************************************************
diff --git a/exercises/ansible_network/3-facts/README.md b/exercises/ansible_network/3-facts/README.md
index d697ec702..56b1f6b7f 100644
--- a/exercises/ansible_network/3-facts/README.md
+++ b/exercises/ansible_network/3-facts/README.md
@@ -28,13 +28,13 @@ This exercise will cover:
On the control host read the documentation about the `ios_facts` module and the `debug` module.
```bash
-[student1@ansible networking-workshop]$ ansible-doc debug
+[student1@ansible network-workshop]$ ansible-doc debug
```
What happens when you use `debug` without specifying any parameter?
```bash
-[student1@ansible networking-workshop]$ ansible-doc ios_facts
+[student1@ansible network-workshop]$ ansible-doc ios_facts
```
How can you limit the facts collected ?
@@ -47,7 +47,7 @@ Ansible Playbooks are [**YAML** files](https://yaml.org/). YAML is a structured
Using your favorite text editor (`vim` and `nano` are available on the control host) create a new file called `facts.yml`:
```
-[student1@ansible networking-workshop]$ vim facts.yml
+[student1@ansible network-workshop]$ vim facts.yml
```
Enter the following play definition into `facts.yml`:
@@ -89,13 +89,13 @@ Next, add the first `task`. This task will use the `ios_facts` module to gather
Execute the Ansible Playbook:
```
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml
+[student1@ansible network-workshop]$ ansible-playbook facts.yml
```
The output should look as follows.
```bash
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml
+[student1@ansible network-workshop]$ ansible-playbook facts.yml
PLAY [gather information from routers] *****************************************
@@ -113,7 +113,7 @@ The play ran successfully and executed against the Cisco router(s). But where is
```
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml -v
+[student1@ansible network-workshop]$ ansible-playbook facts.yml -v
Using /home/student1/.ansible.cfg as config file
PLAY [gather information from routers] *****************************************
@@ -183,7 +183,7 @@ Write two additional tasks that display the routers' OS version and serial numbe
Now re-run the playbook but this time do not use the `verbose` flag:
```
-[student1@ansible networking-workshop]$ ansible-playbook facts.yml
+[student1@ansible network-workshop]$ ansible-playbook facts.yml
PLAY [gather information from routers] **************************************************************************************
diff --git a/exercises/ansible_network/4-jinja/README.ja.md b/exercises/ansible_network/4-jinja/README.ja.md
index ce836e2ae..445ff557f 100644
--- a/exercises/ansible_network/4-jinja/README.ja.md
+++ b/exercises/ansible_network/4-jinja/README.ja.md
@@ -31,13 +31,13 @@ rtr2 | 192.168.100.2/32 |
変数の情報は host_vars と group_vars に格納することができます。この演習のために `group_vars` という名前のディレクトリを作成します:
```bash
-[student1@ansible networking-workshop]$ mkdir ~/networking-workshop/group_vars
+[student1@ansible network-workshop]$ mkdir ~/network-workshop/group_vars
```
そしてこのディレクトリ内に `all.yml` という名前のファイルを好きなエディタで作成してください。コントローラーノードでは vim か nano がインストールされています。
```
-[student1@ansible networking-workshop]$ nano group_vars/all.yml
+[student1@ansible network-workshop]$ nano group_vars/all.yml
```
インターフェースとIPアドレスの情報は Playbook から利用できるように、変数として上記のファイルに格納されている必要があります。上記のテーブル表を格納するためにシンプルな YAML の辞書データを作ることから始めます。トップレベルの変数(例えば `nodes`)を使用し、`inventory_hostname` に基づいて検索可能となるよう以下のように定義します:
@@ -59,7 +59,7 @@ group_vars/all.yml ファイルに上記の YAML 辞書データを記入して
`template.j2` という名前のファイルを作成します:
```
-[student1@ansible networking-workshop]$ nano template.j2
+[student1@ansible network-workshop]$ nano template.j2
```
以下を template.j2 ファイルに記述します:
@@ -119,7 +119,7 @@ interface {{interface}}
config.yml という Playbook を作成します:
```
-[student1@ansible networking-workshop]$ nano config.yml
+[student1@ansible network-workshop]$ nano config.yml
```
以下を config.yml へと記述します:
@@ -147,7 +147,7 @@ config.yml という Playbook を作成します:
Playbook を実行します:
```
-[student1@ansible networking-workshop]$ ansible-playbook config.yml
+[student1@ansible network-workshop]$ ansible-playbook config.yml
```
出力は以下のようになるはずです。
@@ -171,7 +171,7 @@ rtr2 : ok=1 changed=1 unreachable=0 failed=0 s
`show ip int br` コマンドを実行して、ネットワークデバイスに設定されたIPアドレスを確認します。
```
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#show ip int br | include Loopback100
Loopback100 192.168.100.1 YES manual up up
diff --git a/exercises/ansible_network/4-jinja/README.md b/exercises/ansible_network/4-jinja/README.md
index 95c35ace9..03431c3ac 100644
--- a/exercises/ansible_network/4-jinja/README.md
+++ b/exercises/ansible_network/4-jinja/README.md
@@ -31,13 +31,13 @@ rtr2 | 192.168.100.2/32 |
Variable information can be stored in host_vars and group_vars. For this exercise create a folder named `group_vars`:
```bash
-[student1@ansible networking-workshop]$ mkdir ~/networking-workshop/group_vars
+[student1@ansible network-workshop]$ mkdir ~/network-workshop/group_vars
```
Now create a file in this directory name `all.yml` using your text editor of choice. Both vim and nano are installed on the control node.
```
-[student1@ansible networking-workshop]$ nano group_vars/all.yml
+[student1@ansible network-workshop]$ nano group_vars/all.yml
```
The interface and IP address information above must be stored as variables so that the Ansible playbook can use it. Start by making a simple YAML dictionary that stores the table listed above. Use a top level variable (e.g. `nodes`) so that a lookup can be performed based on the `inventory_hostname`:
@@ -59,7 +59,7 @@ Copy the YAML dictionary we created above into the group_vars/all.yml file and s
Create a new template file named `template.j2`:
```
-[student1@ansible networking-workshop]$ nano template.j2
+[student1@ansible network-workshop]$ nano template.j2
```
Copy the following into the template.j2 file:
@@ -119,7 +119,7 @@ Finally:
Create the Ansible Playbook config.yml:
```
-[student1@ansible networking-workshop]$ nano config.yml
+[student1@ansible network-workshop]$ nano config.yml
```
Copy the following Ansible Playbook to the config.yml file:
@@ -147,7 +147,7 @@ Copy the following Ansible Playbook to the config.yml file:
Execute the Ansible Playbook:
```
-[student1@ansible networking-workshop]$ ansible-playbook config.yml
+[student1@ansible network-workshop]$ ansible-playbook config.yml
```
The output should look as follows.
@@ -171,7 +171,7 @@ rtr2 : ok=1 changed=1 unreachable=0 failed=0 s
Use the command `show ip int br` to verify the IP addresses have been confirmed on the network devices.
```
-[student1@ansible networking-workshop]$ ssh rtr1
+[student1@ansible network-workshop]$ ssh rtr1
rtr1#show ip int br | include Loopback100
Loopback100 192.168.100.1 YES manual up up
diff --git a/provisioner/README.md b/provisioner/README.md
index 0378b1b67..9735e7724 100644
--- a/provisioner/README.md
+++ b/provisioner/README.md
@@ -6,7 +6,7 @@ The `github.com/ansible/workshops` contains an Ansible Playbook `provision_lab.y
|---|---|
| Ansible for Red Hat Enterprise Linux Workshop | `workshop_type: rhel` |
| Ansible for Red Hat Enterprise Linux Workshop - 90 minutes | `workshop_type: rhel_90` |
-| Ansible Network Automation Workshop | `workshop_type: networking` |
+| Ansible Network Automation Workshop | `workshop_type: network` |
| Ansible F5 Workshop | `workshop_type: f5` |
| Ansible Security Automation | `workshop_type: security` |
| Ansible Windows Automation | `workshop_type: windows` |
@@ -49,7 +49,7 @@ ec2_name_prefix: TESTWORKSHOP
# creates student_total of workbenches for the workshop
student_total: 2
-# Set the right workshop type, like networking, rhel or f5 (see above)
+# Set the right workshop type, like network, rhel or f5 (see above)
workshop_type: rhel
#####OPTIONAL VARIABLES
@@ -78,7 +78,7 @@ If you want to license it you must copy a license called tower_license.json into
For more extra_vars examples, look at the following:
- [sample-vars-rhel.yml](sample_workshops/sample-vars-rhel.yml) - example for the Ansible RHEL Workshop
- [sample-vars-windows.yml](sample_workshops/sample-vars-windows.yml) - example for the **Ansible Windows Workshop**
-- [sample-vars-networking.yml](sample_workshops/sample-vars-networking.yml) - example for the **Ansible Network Workshop**
+- [sample-vars-network.yml](sample_workshops/sample-vars-network.yml) - example for the **Ansible Network Workshop**
- [sample-vars-f5.yml](sample_workshops/sample-vars-f5.yml) - example for **Ansible F5 Workshop**
- [sample-vars-tower-auto.yml](sample_workshops/sample-vars-tower-auto.yml) - example for Tower installation and licensing
- [sample-vars-rhel-90.yml](sample_workshops/sample-vars-tower-auto.yml) - example for Tower installation and licensing
diff --git a/provisioner/group_vars/all/all.yml b/provisioner/group_vars/all/all.yml
index 51a46dba8..15ae0c0de 100644
--- a/provisioner/group_vars/all/all.yml
+++ b/provisioner/group_vars/all/all.yml
@@ -15,7 +15,7 @@ valid_dns_type:
- aws
- none
valid_workshop_types:
- - networking
+ - network
- f5
- rhel
- devops
diff --git a/provisioner/networking.yml b/provisioner/network.yml
similarity index 100%
rename from provisioner/networking.yml
rename to provisioner/network.yml
diff --git a/provisioner/provision_lab.yml b/provisioner/provision_lab.yml
index 2774e2dcd..d3e2c4101 100644
--- a/provisioner/provision_lab.yml
+++ b/provisioner/provision_lab.yml
@@ -5,158 +5,14 @@
become: false
gather_facts: true
tasks:
- - name: make sure we are running correct Ansible Version
- assert:
- that:
- - ansible_version.major >= 2
- - ansible_version.minor >= 9
-
- - name: make sure workshop_type is set to a correct value
- assert:
- that:
- - workshop_type is defined
- - workshop_type in valid_workshop_types
- msg: "workshop_type must be defined and be one of: {{valid_workshop_types}}"
-
- - name: make sure dns_type is set to a correct value
- assert:
- that:
- - dns_type is defined
- - dns_type in valid_dns_type
- msg: "workshop_type must be defined and be one of: {{valid_dns_type}}"
-
- - name: make sure security workshop has password set is set to a correct value
- assert:
- that:
- - windows_password is defined
- msg: "windows_password must be set for security automation workshop"
- when: workshop_type == "security"
-
- - name: make sure network_type is set to a correct value
- assert:
- that:
- - network_type is defined
- - network_type in valid_network_types
- msg: "network_type must be defined and be one of: {{valid_network_types}}"
- when: workshop_type == "networking"
-
- - name: make sure DNS name is 65 characters or less
- vars:
- test_name: "studentXXX-code.{{ec2_name_prefix|lower}}.{{workshop_dns_zone}}"
- assert:
- that:
- - "{{test_name|length}} <= 65"
- msg: "you must make sure your DNS name is shorter"
-
- - name: make sure security_console is set to a correct value
- assert:
- that:
- - security_console is defined
- - security_console in valid_security_console_types
- msg: "network_type must be defined and be one of: {{valid_security_console_types}}"
- when: workshop_type == "security"
+ - name: run pre-check role to make sure workshop will complete provisioning
+ include_role:
+ name: workshop_check_setup
- - name: run role to check if local environment setup will work with AWS
+ - name: run AWS check setup if using AWS
include_role:
name: aws_check_setup
- - name: make sure we are not running with TESTWORKSHOP as the name so no overlap
- assert:
- that:
- - ec2_name_prefix != "TESTWORKSHOP"
- msg:
- - "ec2_name_prefix cannot be set to TESTWORKSHOP"
- - "please set a unique name for your workshop"
-
-
- - name: make sure we are not using `ansible` as the password
- assert:
- that:
- - admin_password != "ansible"
- msg:
- - "admin_password cannot be set to ansible"
- - "please set a unique password for your workshop"
-
- - name: make sure packages required are installed on this control node
- pip:
- name:
- - ansible-tower-cli
- check_mode: true
- register: package_state
-
- - name: make sure packages required are installed on this control node
- pip:
- name:
- - netaddr
- check_mode: true
- when: workshop_type == "networking"
- register: package_state
-
- # windows has a dependancy on sshpass which is nogo on macos: brew install it
- - name: make sure (windows) packages required are installed on this control node
- pip:
- name:
- - pywinrm
- - boto
- - requests
- - requests-credssp
- # - sshpass
- check_mode: true
- when: workshop_type == "windows"
- register: package_state
-
-
- - name: fail if previous check has changed
- assert:
- that:
- - package_state.changed != True
-
- - name: auto license feature for Ansible Tower
- block:
- - name: Check that the provided license exists
- stat:
- path: "{{playbook_dir}}/tower_license.json"
- register: stat_result
- - debug:
- var: stat_result
- - fail:
- msg: "autolicense is turned on, but we need a license located at {{playbook_dir}}/tower_license.json"
- when:
- - not stat_result.stat.exists
- when:
- - autolicense is defined
- - autolicense
-
- - name: Install required roles and collections onto THIS machine
- when:
- - workshop_type == "security"
- block:
- - name: required roles
- shell: "ansible-galaxy install {{item}} -f --force-with-deps -p ./roles/"
- async: 600
- poll: 0
- loop:
- - 'geerlingguy.repo-epel'
- - 'ansible_security.ids_config'
- - 'ansible_security.ids_install'
- register: required_role_loop_out
-
- - name: check async role install
- async_status:
- jid: "{{ item['ansible_job_id'] }}"
- loop: "{{ required_role_loop_out['results'] }}"
- register: job_result
- until: job_result.finished
- retries: 30
-
- - name: install product_demos collection
- shell: "{{item}}"
- loop:
- - "ansible-galaxy collection install ansible.product_demos"
- - "ansible-galaxy collection install awx.awx"
- register: galaxy
- until: galaxy is not failed
- retries: 5
- name: Create lab instances in AWS
hosts: localhost
diff --git a/provisioner/roles/control_node/tasks/f5.yml b/provisioner/roles/control_node/tasks/f5.yml
index 67e6236d5..8090fd7d3 100644
--- a/provisioner/roles/control_node/tasks/f5.yml
+++ b/provisioner/roles/control_node/tasks/f5.yml
@@ -1,5 +1,5 @@
---
-- name: upgrade pip
+- name: upgrade pip (F5 MODE)
become: true
pip:
name: pip
@@ -19,11 +19,3 @@
- netaddr
- jmespath
state: latest
-
-- name: Move networking workshop folder to correct location (F5 MODE)
- copy:
- src: /tmp/workshops/exercises/ansible_f5/
- dest: /home/{{ username }}/networking-workshop
- remote_src: true
- owner: "{{ username }}"
- group: "{{ username }}"
diff --git a/provisioner/roles/control_node/tasks/main.yml b/provisioner/roles/control_node/tasks/main.yml
index 874691e76..b286ad7e7 100644
--- a/provisioner/roles/control_node/tasks/main.yml
+++ b/provisioner/roles/control_node/tasks/main.yml
@@ -101,10 +101,6 @@
owner: "{{ username }}"
group: "{{ username }}"
local_follow: true
- when:
- - workshop_type != "f5"
- - workshop_type != "networking"
-## need to fix the conditionals above https://github.com/ansible/workshops/issues/743
- name: Create lab inventory directory
file:
diff --git a/provisioner/roles/control_node/tasks/network.yml b/provisioner/roles/control_node/tasks/network.yml
new file mode 100644
index 000000000..161b52e7d
--- /dev/null
+++ b/provisioner/roles/control_node/tasks/network.yml
@@ -0,0 +1,21 @@
+---
+- name: upgrade pip (NETWORK MODE)
+ become: true
+ pip:
+ name: pip
+ state: latest
+
+# Force <45 because 45.0.0 dropped support for python2
+# This is required for Juniper ncclient - do a pip show ncclient to see requirements
+- name: upgrade setuptools to 44 (NETWORK MODE)
+ become: true
+ pip:
+ name: setuptools==44.0.0
+
+- name: install additional packages (NETWORK MODE)
+ become: true
+ pip:
+ name:
+ - netaddr
+ - ncclient
+ state: latest
diff --git a/provisioner/roles/control_node/tasks/networking.yml b/provisioner/roles/control_node/tasks/networking.yml
deleted file mode 100644
index 654ac720f..000000000
--- a/provisioner/roles/control_node/tasks/networking.yml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-- name: upgrade pip
- become: true
- pip:
- name: pip
- state: latest
-# Force <45 because 45.0.0 dropped support for python2
-# This is required for Juniper ncclient - do a pip show ncclient to see requirements
-- name: upgrade setuptools to 44
- become: true
- pip:
- name: setuptools==44.0.0
-
-- name: install additional packages (NETWORKING MODE)
- become: true
- pip:
- name:
- - netaddr
- - ncclient
- state: latest
-
-- name: Move networking workshop folder to correct location (NETWORKING MODE)
- copy:
- src: /tmp/workshops/exercises/ansible_network/
- dest: /home/{{ username }}/networking-workshop
- remote_src: true
- owner: "{{ username }}"
- group: "{{ username }}"
diff --git a/provisioner/roles/manage_ec2_instances/tasks/ami_find/ami_find_networking.yml b/provisioner/roles/manage_ec2_instances/tasks/ami_find/ami_find_network.yml
similarity index 100%
rename from provisioner/roles/manage_ec2_instances/tasks/ami_find/ami_find_networking.yml
rename to provisioner/roles/manage_ec2_instances/tasks/ami_find/ami_find_network.yml
diff --git a/provisioner/roles/manage_ec2_instances/tasks/instances/instances_networking.yml b/provisioner/roles/manage_ec2_instances/tasks/instances/instances_network.yml
similarity index 90%
rename from provisioner/roles/manage_ec2_instances/tasks/instances/instances_networking.yml
rename to provisioner/roles/manage_ec2_instances/tasks/instances/instances_network.yml
index d5df7234e..385b4f33c 100644
--- a/provisioner/roles/manage_ec2_instances/tasks/instances/instances_networking.yml
+++ b/provisioner/roles/manage_ec2_instances/tasks/instances/instances_network.yml
@@ -8,7 +8,7 @@
when: network_type != "multivendor"
############## Router 1 ##############
-- name: Create EC2 instances for rtr1 node (NETWORKING MODE)
+- name: Create EC2 instances for rtr1 node (NETWORK MODE)
ec2:
assign_public_ip: true
key_name: "{{ ec2_name_prefix }}-key"
@@ -25,7 +25,7 @@
volumes: "{{ec2_info[rtr1_type].volume | default(omit)}}"
register: rtr1_output
-- name: Ensure tags are present for rtr1 node (NETWORKING MODE)
+- name: Ensure tags are present for rtr1 node (NETWORK MODE)
ec2_tag:
region: "{{ ec2_region }}"
resource: "{{item.1.id}}"
@@ -51,7 +51,7 @@
when: rtr1_output.instance_ids is not none
############## Router 2 ##############
-- name: Create EC2 instances for rtr2 node in VPC-2 (NETWORKING MODE)
+- name: Create EC2 instances for rtr2 node in VPC-2 (NETWORK MODE)
ec2:
assign_public_ip: true
key_name: "{{ ec2_name_prefix }}-key"
@@ -68,7 +68,7 @@
volumes: "{{ec2_info[rtr2_type].volume | default(omit)}}"
register: rtr2_output
-- name: Ensure tags are present for rtr2 node (NETWORKING MODE)
+- name: Ensure tags are present for rtr2 node (NETWORK MODE)
ec2_tag:
region: "{{ ec2_region }}"
resource: "{{item.1.id}}"
@@ -94,7 +94,7 @@
when: rtr2_output.instance_ids is not none
############## Router 3 ##############
-- name: Create EC2 instances for rtr3 node (NETWORKING MODE)
+- name: Create EC2 instances for rtr3 node (NETWORK MODE)
ec2:
assign_public_ip: true
key_name: "{{ ec2_name_prefix }}-key"
@@ -111,7 +111,7 @@
volumes: "{{ec2_info[rtr3_type].volume | default(omit)}}"
register: rtr3_output
-- name: Ensure tags are present for rtr3 node (NETWORKING MODE)
+- name: Ensure tags are present for rtr3 node (NETWORK MODE)
ec2_tag:
region: "{{ ec2_region }}"
resource: "{{item.1.id}}"
@@ -137,7 +137,7 @@
when: rtr3_output.instance_ids is not none
############## Router 4 ##############
-- name: Create EC2 instances for rtr4 node in VPC-2 (NETWORKING MODE)
+- name: Create EC2 instances for rtr4 node in VPC-2 (NETWORK MODE)
ec2:
assign_public_ip: true
key_name: "{{ ec2_name_prefix }}-key"
@@ -154,7 +154,7 @@
volumes: "{{ec2_info[rtr4_type].volume | default(omit)}}"
register: rtr4_output
-- name: Ensure tags are present for rtr4 node (NETWORKING MODE)
+- name: Ensure tags are present for rtr4 node (NETWORK MODE)
ec2_tag:
region: "{{ ec2_region }}"
resource: "{{item.1.id}}"
@@ -179,21 +179,21 @@
- "{{ rtr4_output.instances }}"
when: rtr4_output.instance_ids is not none
-- name: grab all network interfaces for VPC 1 (NETWORKING MODE)
+- name: grab all network interfaces for VPC 1 (NETWORK MODE)
ec2_eni_facts:
region: "{{ ec2_region }}"
filters:
vpc-id: "{{ec2_vpc_id}}"
register: eni_facts_1
-- name: grab all network interfaces for VPC 2 (NETWORKING MODE)
+- name: grab all network interfaces for VPC 2 (NETWORK MODE)
ec2_eni_facts:
region: "{{ ec2_region }}"
filters:
vpc-id: "{{ec2_vpc_id2}}"
register: eni_facts_2
-- name: Disable Source/Dest check on instance {{ec2_vpc_id1}} (NETWORKING MODE)
+- name: Disable Source/Dest check on instance {{ec2_vpc_id1}} (NETWORK MODE)
ec2_eni:
eni_id: "{{ item['network_interface_id'] }}"
region: "{{ ec2_region }}"
diff --git a/provisioner/roles/manage_ec2_instances/tasks/inventory/addhost_networking.yml b/provisioner/roles/manage_ec2_instances/tasks/inventory/addhost_network.yml
similarity index 94%
rename from provisioner/roles/manage_ec2_instances/tasks/inventory/addhost_networking.yml
rename to provisioner/roles/manage_ec2_instances/tasks/inventory/addhost_network.yml
index 5af3e49ee..437f760b3 100644
--- a/provisioner/roles/manage_ec2_instances/tasks/inventory/addhost_networking.yml
+++ b/provisioner/roles/manage_ec2_instances/tasks/inventory/addhost_network.yml
@@ -1,5 +1,5 @@
---
-- name: grab facts for rtr1 node (NETWORKING MODE)
+- name: grab facts for rtr1 node (NETWORK MODE)
ec2_instance_info:
region: "{{ ec2_region }}"
filters:
@@ -7,7 +7,7 @@
"tag:Workshop_rtr1": "{{ec2_name_prefix}}-rtr1"
register: rtr1_node_facts
-- name: grab facts for rtr2 node (NETWORKING MODE)
+- name: grab facts for rtr2 node (NETWORK MODE)
ec2_instance_info:
region: "{{ ec2_region }}"
filters:
@@ -15,7 +15,7 @@
"tag:Workshop_rtr2": "{{ec2_name_prefix}}-rtr2"
register: rtr2_node_facts
-- name: grab facts for rtr3 node (NETWORKING MODE)
+- name: grab facts for rtr3 node (NETWORK MODE)
ec2_instance_info:
region: "{{ ec2_region }}"
filters:
@@ -23,7 +23,7 @@
"tag:Workshop_rtr3": "{{ec2_name_prefix}}-rtr3"
register: rtr3_node_facts
-- name: grab facts for rtr4 node (NETWORKING MODE)
+- name: grab facts for rtr4 node (NETWORK MODE)
ec2_instance_info:
region: "{{ ec2_region }}"
filters:
diff --git a/provisioner/roles/manage_ec2_instances/tasks/provision.yml b/provisioner/roles/manage_ec2_instances/tasks/provision.yml
index bd0103c34..b9a3c8768 100644
--- a/provisioner/roles/manage_ec2_instances/tasks/provision.yml
+++ b/provisioner/roles/manage_ec2_instances/tasks/provision.yml
@@ -9,10 +9,10 @@
- name: provision aws resources
include_tasks: resources/resources.yml
-## This duplicates the above when networking workshop uses 2 VPCs
+## This duplicates the above when network workshop uses 2 VPCs
- name: provision networking aws resources
include_tasks: resources/resources_{{workshop_type}}.yml
- when: workshop_type == 'networking'
+ when: workshop_type == 'network'
- name: find ami for ansible control node
ec2_ami_info:
diff --git a/provisioner/roles/manage_ec2_instances/tasks/resources/resources_networking.yml b/provisioner/roles/manage_ec2_instances/tasks/resources/resources_network.yml
similarity index 93%
rename from provisioner/roles/manage_ec2_instances/tasks/resources/resources_networking.yml
rename to provisioner/roles/manage_ec2_instances/tasks/resources/resources_network.yml
index 17700c147..28171500a 100644
--- a/provisioner/roles/manage_ec2_instances/tasks/resources/resources_networking.yml
+++ b/provisioner/roles/manage_ec2_instances/tasks/resources/resources_network.yml
@@ -1,5 +1,5 @@
---
-- name: Create AWS VPC {{ ec2_name_prefix }}-vpc2 (NETWORKING MODE)
+- name: Create AWS VPC {{ ec2_name_prefix }}-vpc2 (NETWORK MODE)
ec2_vpc_net:
name: "{{ ec2_name_prefix }}-vpc2"
cidr_block: "{{ ec2_subnet2 }}"
@@ -14,7 +14,7 @@
until: create_vpc2 is not failed
retries: 5
-- name: Create EC2 security group 2 for VPC named {{ ec2_name_prefix }}-vpc (NETWORKING MODE)
+- name: Create EC2 security group 2 for VPC named {{ ec2_name_prefix }}-vpc (NETWORK MODE)
ec2_group:
name: "{{ ec2_name_prefix }}-insecure_all2"
description: all ports open
@@ -66,7 +66,7 @@
until: create_sg2 is not failed
retries: 5
-- name: Create subnet for {{ ec2_name_prefix }}-vpc2 (NETWORKING MODE)
+- name: Create subnet for {{ ec2_name_prefix }}-vpc2 (NETWORK MODE)
ec2_vpc_subnet:
region: "{{ ec2_region }}"
az: "{{ ec2_az }}"
@@ -83,7 +83,7 @@
retries: 15
when: ec2_vpc_id2 is undefined
-- name: vpc internet gateway is present for {{ create_vpc2.vpc.id }} (NETWORKING MODE)
+- name: vpc internet gateway is present for {{ create_vpc2.vpc.id }} (NETWORK MODE)
ec2_vpc_igw:
region: "{{ ec2_region }}"
vpc_id: "{{ create_vpc2.vpc.id }}"
@@ -97,7 +97,7 @@
retries: 15
when: ec2_vpc_id2 is undefined
-- name: vpc public subnet route table is present for {{ create_vpc2.vpc.id }} (NETWORKING MODE)
+- name: vpc public subnet route table is present for {{ create_vpc2.vpc.id }} (NETWORK MODE)
ec2_vpc_route_table:
region: "{{ ec2_region }}"
vpc_id: "{{ create_vpc2.vpc.id }}"
@@ -116,14 +116,14 @@
retries: 5
when: ec2_vpc_id2 is undefined
-- name: set variables for instance creation dynamically since VPC was not supplied by user (NETWORKING MODE)
+- name: set variables for instance creation dynamically since VPC was not supplied by user (NETWORK MODE)
set_fact:
ec2_vpc_id2: "{{ create_vpc2.vpc.id }}"
ec2_vpc_subnet_id2: "{{ create_subnet2.subnet.id }}"
ec2_security_group2: "{{ ec2_name_prefix }}-insecure_all2"
when: ec2_vpc_id2 is undefined
-- name: debugging all variables for ec2 instance creation VPC-2 (NETWORKING MODE)
+- name: debugging all variables for ec2 instance creation VPC-2 (NETWORK MODE)
debug:
msg:
- "ec2_name_prefix: {{ec2_name_prefix}}"
diff --git a/provisioner/roles/manage_ec2_instances/templates/etchosts_networking.j2 b/provisioner/roles/manage_ec2_instances/templates/etchosts_network.j2
similarity index 100%
rename from provisioner/roles/manage_ec2_instances/templates/etchosts_networking.j2
rename to provisioner/roles/manage_ec2_instances/templates/etchosts_network.j2
diff --git a/provisioner/roles/manage_ec2_instances/templates/instructor_inventory_networking.j2 b/provisioner/roles/manage_ec2_instances/templates/instructor_inventory_network.j2
similarity index 100%
rename from provisioner/roles/manage_ec2_instances/templates/instructor_inventory_networking.j2
rename to provisioner/roles/manage_ec2_instances/templates/instructor_inventory_network.j2
diff --git a/provisioner/roles/manage_ec2_instances/templates/networking_instances.txt.j2 b/provisioner/roles/manage_ec2_instances/templates/network_instances.txt.j2
similarity index 100%
rename from provisioner/roles/manage_ec2_instances/templates/networking_instances.txt.j2
rename to provisioner/roles/manage_ec2_instances/templates/network_instances.txt.j2
diff --git a/provisioner/roles/populate_tower/tasks/networking.yml b/provisioner/roles/populate_tower/tasks/network.yml
similarity index 100%
rename from provisioner/roles/populate_tower/tasks/networking.yml
rename to provisioner/roles/populate_tower/tasks/network.yml
diff --git a/provisioner/roles/workshop_check_setup/tasks/main.yml b/provisioner/roles/workshop_check_setup/tasks/main.yml
new file mode 100644
index 000000000..1ca802197
--- /dev/null
+++ b/provisioner/roles/workshop_check_setup/tasks/main.yml
@@ -0,0 +1,104 @@
+---
+- name: make sure we are running correct Ansible Version
+ assert:
+ that:
+ - ansible_version.major >= 2
+ - ansible_version.minor >= 9
+
+- name: make sure workshop_type is set to a correct value
+ assert:
+ that:
+ - workshop_type is defined
+ - workshop_type in valid_workshop_types
+ msg: "workshop_type must be defined and be one of: {{valid_workshop_types}}"
+
+- name: make sure dns_type is set to a correct value
+ assert:
+ that:
+ - dns_type is defined
+ - dns_type in valid_dns_type
+ msg: "workshop_type must be defined and be one of: {{valid_dns_type}}"
+
+- name: make sure network_type is set to a correct value
+ assert:
+ that:
+ - network_type is defined
+ - network_type in valid_network_types
+ msg: "network_type must be defined and be one of: {{valid_network_types}}"
+ when: workshop_type == "networking"
+
+- name: make sure DNS name is 65 characters or less
+ vars:
+ test_name: "studentXXX-code.{{ec2_name_prefix|lower}}.{{workshop_dns_zone}}"
+ assert:
+ that:
+ - "{{test_name|length}} <= 65"
+ msg: "you must make sure your DNS name is shorter"
+
+- name: make sure security_console is set to a correct value
+ assert:
+ that:
+ - security_console is defined
+ - security_console in valid_security_console_types
+ msg: "network_type must be defined and be one of: {{valid_security_console_types}}"
+ when: workshop_type == "security"
+
+- name: make sure we are not running with TESTWORKSHOP as the name so no overlap
+ assert:
+ that:
+ - ec2_name_prefix != "TESTWORKSHOP"
+ msg:
+ - "ec2_name_prefix cannot be set to TESTWORKSHOP"
+ - "please set a unique name for your workshop"
+
+- name: make sure we are not using `ansible` as the password
+ assert:
+ that:
+ - admin_password != "ansible"
+ msg:
+ - "admin_password cannot be set to ansible"
+ - "please set a unique password for your workshop"
+
+# this needs to get fixed by yanis
+# - name: make sure packages required are installed on this control node
+# pip:
+# name:
+# - ansible-tower-cli
+# check_mode: true
+# register: package_state
+#
+# - name: fail if previous check has changed
+# assert:
+# that:
+# - package_state.changed != True
+
+- name: auto license feature for Ansible Tower
+ block:
+ - name: Check that the provided license exists
+ stat:
+ path: "{{playbook_dir}}/tower_license.json"
+ register: stat_result
+ - debug:
+ var: stat_result
+ - fail:
+ msg: "autolicense is turned on, but we need a license located at {{playbook_dir}}/tower_license.json"
+ when:
+ - not stat_result.stat.exists
+ when:
+ - autolicense is defined
+ - autolicense
+
+- name: install product_demos collection
+ shell: "{{item}}"
+ loop:
+ - "ansible-galaxy collection install ansible.product_demos"
+ - "ansible-galaxy collection install awx.awx"
+ register: galaxy
+ until: galaxy is not failed
+ retries: 5
+
+- name: check workshop specific information
+ include_tasks: "{{item}}"
+ with_first_found:
+ - "{{role_path}}/tasks/{{workshop_type}}.yml"
+ - "{{role_path}}/tasks/unsupported_workshop.yml"
diff --git a/provisioner/roles/workshop_check_setup/tasks/network.yml b/provisioner/roles/workshop_check_setup/tasks/network.yml
new file mode 100644
index 000000000..a02826b7a
--- /dev/null
+++ b/provisioner/roles/workshop_check_setup/tasks/network.yml
@@ -0,0 +1,12 @@
+---
+- name: make sure packages required are installed on this control node
+ pip:
+ name:
+ - netaddr
+ check_mode: true
+ register: package_state
+
+- name: fail if previous check has changed
+ assert:
+ that:
+ - package_state.changed != True
diff --git a/provisioner/roles/workshop_check_setup/tasks/security.yml b/provisioner/roles/workshop_check_setup/tasks/security.yml
new file mode 100644
index 000000000..23414da39
--- /dev/null
+++ b/provisioner/roles/workshop_check_setup/tasks/security.yml
@@ -0,0 +1,24 @@
+---
+- name: make sure security workshop has password set is set to a correct value
+ assert:
+ that:
+ - windows_password is defined
+ msg: "windows_password must be set for security automation workshop"
+
+- name: required roles
+ shell: "ansible-galaxy install {{item}} -f --force-with-deps -p ./roles/"
+ async: 600
+ poll: 0
+ loop:
+ - 'geerlingguy.repo-epel'
+ - 'ansible_security.ids_config'
+ - 'ansible_security.ids_install'
+ register: required_role_loop_out
+
+- name: check async role install
+ async_status:
+ jid: "{{ item['ansible_job_id'] }}"
+ loop: "{{ required_role_loop_out['results'] }}"
+ register: job_result
+ until: job_result.finished
+ retries: 30
diff --git a/provisioner/roles/workshop_check_setup/tasks/unsupported_workshop.yml b/provisioner/roles/workshop_check_setup/tasks/unsupported_workshop.yml
new file mode 100644
index 000000000..0a6a976e1
--- /dev/null
+++ b/provisioner/roles/workshop_check_setup/tasks/unsupported_workshop.yml
@@ -0,0 +1,4 @@
+---
+- name: unsupported workshop for workshop_check_setup role
+ debug:
+ msg: "no more setup for workshop_check_setup role the {{workshop_type}} does not have any specific setup specified"
diff --git a/provisioner/roles/workshop_check_setup/tasks/windows.yml b/provisioner/roles/workshop_check_setup/tasks/windows.yml
new file mode 100644
index 000000000..0ff2ef73c
--- /dev/null
+++ b/provisioner/roles/workshop_check_setup/tasks/windows.yml
@@ -0,0 +1,17 @@
+---
+# windows has a dependancy on sshpass which is nogo on macos: brew install it
+- name: make sure (windows) packages required are installed on this control node
+ pip:
+ name:
+ - pywinrm
+ - boto
+ - requests
+ - requests-credssp
+ # - sshpass
+ check_mode: true
+ register: package_state
+
+- name: fail if previous check has changed
+ assert:
+ that:
+ - package_state.changed != True
diff --git a/provisioner/sample_workshops/sample-arista.yml b/provisioner/sample_workshops/sample-arista.yml
index 61346cf80..ffee88f02 100644
--- a/provisioner/sample_workshops/sample-arista.yml
+++ b/provisioner/sample_workshops/sample-arista.yml
@@ -5,7 +5,7 @@ ec2_region: us-east-1
ec2_name_prefix: TESTWORKSHOP
admin_password: ansible
student_total: 2
-workshop_type: networking
+workshop_type: network
# possible values cisco, arista, juniper or multivendor
network_type: arista
## Optional Variables
diff --git a/provisioner/sample_workshops/sample-cisco.yml b/provisioner/sample_workshops/sample-cisco.yml
index cc91c2ad6..411d5eb10 100644
--- a/provisioner/sample_workshops/sample-cisco.yml
+++ b/provisioner/sample_workshops/sample-cisco.yml
@@ -5,7 +5,7 @@ ec2_region: us-east-2
ec2_name_prefix: TESTWORKSHOP
admin_password: ansible
student_total: 2
-workshop_type: networking
+workshop_type: network
# possible values cisco, arista, juniper or multivendor
network_type: cisco
## Optional Variables
diff --git a/provisioner/sample_workshops/sample-juniper.yml b/provisioner/sample_workshops/sample-juniper.yml
index 39c536a4d..9c66d981b 100644
--- a/provisioner/sample_workshops/sample-juniper.yml
+++ b/provisioner/sample_workshops/sample-juniper.yml
@@ -5,7 +5,7 @@ ec2_region: us-east-2
ec2_name_prefix: TESTWORKSHOP
admin_password: ansible
student_total: 2
-workshop_type: networking
+workshop_type: network
network_type: juniper
## Optional Variables
dns_type: aws
diff --git a/provisioner/sample_workshops/sample-multivendor.yml b/provisioner/sample_workshops/sample-multivendor.yml
index d1e7877cd..c41b912ef 100644
--- a/provisioner/sample_workshops/sample-multivendor.yml
+++ b/provisioner/sample_workshops/sample-multivendor.yml
@@ -5,7 +5,7 @@ ec2_region: us-east-2
ec2_name_prefix: TESTWORKSHOP
admin_password: ansible
student_total: 2
-workshop_type: networking
+workshop_type: network
## Optional Variables
dns_type: aws
create_login_page: true
diff --git a/provisioner/sample_workshops/sample-vars-networking.yml b/provisioner/sample_workshops/sample-vars-network.yml
similarity index 94%
rename from provisioner/sample_workshops/sample-vars-networking.yml
rename to provisioner/sample_workshops/sample-vars-network.yml
index bcf3d39cd..b3d75c78a 100644
--- a/provisioner/sample_workshops/sample-vars-networking.yml
+++ b/provisioner/sample_workshops/sample-vars-network.yml
@@ -6,7 +6,7 @@ ec2_name_prefix: TESTWORKSHOP
# amount of work benches to provision
student_total: 2
# workshop is put into networking mode
-workshop_type: networking
+workshop_type: network
## Optional Variables
# password used for student account on control node
admin_password: ansible
diff --git a/provisioner/tests/ansible.cfg b/provisioner/tests/ansible.cfg
index b51ce53b0..00a034752 100644
--- a/provisioner/tests/ansible.cfg
+++ b/provisioner/tests/ansible.cfg
@@ -1,12 +1,3 @@
-# config file for ansible -- http://ansible.com/
-# ==============================================
-
-# nearly all parameters can be overridden in ansible-playbook
-# or with command line flags. ansible will read ANSIBLE_CONFIG,
-# ansible.cfg in the current working directory, .ansible.cfg in
-# the home directory or /etc/ansible/ansible.cfg, whichever it
-# finds first
-
[defaults]
stdout_callback = yaml
inventory = ../hosts
diff --git a/provisioner/tests/begin_workflow.yml b/provisioner/tests/begin_workflow.yml
deleted file mode 100644
index 76f8efbaf..000000000
--- a/provisioner/tests/begin_workflow.yml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-- name: TOWER CONFIGURATION IN PLAYBOOK FORM
- hosts: localhost
- connection: local
- gather_facts: true
- tasks:
- - name: CREATE TIME STAMP FOR LINKLIGHT TESTING
- set_stats:
- data:
- workshop_timestamp: "{{ansible_date_time.date}}-{{ansible_date_time.hour}}-{{ansible_date_time.minute}}"
diff --git a/provisioner/tests/boto_for_tower.yml b/provisioner/tests/boto_for_tower.yml
deleted file mode 100644
index 6ddff8199..000000000
--- a/provisioner/tests/boto_for_tower.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- name: TOWER CONFIGURATION IN PLAYBOOK FORM
- hosts: localhost
- connection: local
- gather_facts: false
- tasks:
-
- - pip:
- name: boto3>= 1.7
- umask: "0022"
- virtualenv: "/var/lib/awx/venv/ansible"
- become: true
diff --git a/provisioner/tests/ci-networking.yml b/provisioner/tests/ci-networking.yml
index c504cd055..cdda61980 100644
--- a/provisioner/tests/ci-networking.yml
+++ b/provisioner/tests/ci-networking.yml
@@ -1,3 +1,3 @@
---
-workshop_type: networking
+workshop_type: network
ec2_region: eu-central-1
diff --git a/provisioner/tests/gating.groovy b/provisioner/tests/gating.groovy
index 2fcaa29db..cb3f58e9b 100644
--- a/provisioner/tests/gating.groovy
+++ b/provisioner/tests/gating.groovy
@@ -170,7 +170,7 @@ EOF
sh "cat provisioner/tqe-f5-tower${DOTLESS_TOWER_VERSION}-${env.BRANCH_NAME}-${env.BUILD_ID}/student1-instances.txt | grep -A 1 control | tail -n 1 | cut -d' ' -f 2 | cut -d'=' -f2 | tee control_host"
CONTROL_NODE_HOST = readFile('control_host').trim()
RUN_ALL_PLAYBOOKS = 'find . -name "*.yml" -o -name "*.yaml" | grep -v "2.0" | sort | xargs -I {} bash -c "echo {} && ANSIBLE_FORCE_COLOR=true ansible-playbook {}"'
- sh "sshpass -p '${ADMIN_PASSWORD}' ssh -o StrictHostKeyChecking=no student1@${CONTROL_NODE_HOST} 'cd networking-workshop && ${RUN_ALL_PLAYBOOKS}'"
+ sh "sshpass -p '${ADMIN_PASSWORD}' ssh -o StrictHostKeyChecking=no student1@${CONTROL_NODE_HOST} 'cd f5-workshop && ${RUN_ALL_PLAYBOOKS}'"
}
}
script {
diff --git a/provisioner/tests/pipeline.groovy b/provisioner/tests/pipeline.groovy
index 6e8569501..effcd9b25 100644
--- a/provisioner/tests/pipeline.groovy
+++ b/provisioner/tests/pipeline.groovy
@@ -224,7 +224,7 @@ EOF
sh "cat provisioner/tqe-f5-tower${DOTLESS_TOWER_VERSION}-${env.BUILD_ID}-${SHORTENED_ANSIBLE_VERSION}/student1-instances.txt | grep -A 1 control | tail -n 1 | cut -d' ' -f 2 | cut -d'=' -f2 | tee control_host"
CONTROL_NODE_HOST = readFile('control_host').trim()
RUN_ALL_PLAYBOOKS = 'find . -name "*.yml" -o -name "*.yaml" | grep -v "2.0" | sort | xargs -I {} bash -c "echo {} && ANSIBLE_FORCE_COLOR=true ansible-playbook {}"'
- sh "sshpass -p '${ADMIN_PASSWORD}' ssh -o StrictHostKeyChecking=no student1@${CONTROL_NODE_HOST} 'cd networking-workshop && ${RUN_ALL_PLAYBOOKS}'"
+ sh "sshpass -p '${ADMIN_PASSWORD}' ssh -o StrictHostKeyChecking=no student1@${CONTROL_NODE_HOST} 'cd f5-workshop && ${RUN_ALL_PLAYBOOKS}'"
}
}
script {
diff --git a/provisioner/tests/roles/setup_f5/files/f5.yml b/provisioner/tests/roles/setup_f5/files/f5.yml
deleted file mode 100644
index fde688048..000000000
--- a/provisioner/tests/roles/setup_f5/files/f5.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-# region where the nodes will live
-ec2_region: us-east-2
-# name prefix for all the VMs
-ec2_name_prefix: "LINKLIGHT-F5-TEST-{{workshop_timestamp}}"
-# amount of work benches to provision
-student_total: 2
-## Optional Variables
-# password used for student account on control node
-admin_password: ansible
-# creates HTML website for workshop
-create_login_page: true
-# workshop is put into f5 mode
-workshop_type: f5
-# when towerinstall is on, this will license it with provided license
-autolicense: true
-# this will install Ansible Tower on all control nodes
-towerinstall: true
diff --git a/provisioner/tests/roles/setup_f5/tasks/main.yml b/provisioner/tests/roles/setup_f5/tasks/main.yml
deleted file mode 100644
index d3040f400..000000000
--- a/provisioner/tests/roles/setup_f5/tasks/main.yml
+++ /dev/null
@@ -1,54 +0,0 @@
----
-- name: CREATE F5 JOB TEMPLATE PROVISION
- tower_job_template:
- name: "LINKLIGHT TEST RUN F5"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "LINKLIGHT TESTING"
- playbook: "provisioner/provision_lab.yml"
- tower_config_file: "~/tower_cli.cfg"
- extra_vars_path: "{{role_path}}/files/f5.yml"
- register: network_job
-
-- name: CREATE TEARDOWN F5 JOB TEMPLATE TEARDOWN
- tower_job_template:
- name: "LINKLIGHT TEST TEARDOWN F5"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "LINKLIGHT TESTING"
- playbook: "provisioner/teardown_lab.yml"
- tower_config_file: "~/tower_cli.cfg"
- extra_vars_path: "{{role_path}}/files/f5.yml"
- register: network_teardown_job
-
-- name: ASSOCIATE AWS CREDENTIAL TO F5 JOB TEMPLATE PROVISION
- uri:
- url: "https://{{host}}/api/v2/job_templates/{{network_job.id}}/credentials/"
- user: "{{username}}"
- password: "{{password}}"
- method: POST
- validate_certs: false
- force_basic_auth: true
- body_format: json
- body: ' {"id": {{credential.id}}}'
- status_code:
- - 200
- - 204
- register: result_uri
- ignore_errors: true
-
-- name: ASSOCIATE AWS CREDENTIAL TO TEARDOWN F5 JOB TEMPLATE TEARDOWN
- uri:
- url: "https://{{host}}/api/v2/job_templates/{{network_teardown_job.id}}/credentials/"
- user: "{{username}}"
- password: "{{password}}"
- method: POST
- validate_certs: false
- force_basic_auth: true
- body_format: json
- body: ' {"id": {{credential.id}}}'
- status_code:
- - 200
- - 204
- register: result_uri
- ignore_errors: true
diff --git a/provisioner/tests/roles/setup_network/files/network.yml b/provisioner/tests/roles/setup_network/files/network.yml
deleted file mode 100644
index 0efd78cac..000000000
--- a/provisioner/tests/roles/setup_network/files/network.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-# region where the nodes will live
-ec2_region: us-east-2
-# name prefix for all the VMs
-ec2_name_prefix: "LINKLIGHT-NETWORK-TEST-{{workshop_timestamp}}"
-# amount of work benches to provision
-student_total: 2
-## Optional Variables
-# password used for student account on control node
-admin_password: ansible
-# creates HTML website for workshop
-create_login_page: true
-# workshop is put into networking mode, uses two Cisco IOS-XE devices
-workshop_type: networking
-# when towerinstall is on, this will license it with provided license
-autolicense: true
-# this will install Ansible Tower on all control nodes
-towerinstall: true
diff --git a/provisioner/tests/roles/setup_network/tasks/main.yml b/provisioner/tests/roles/setup_network/tasks/main.yml
deleted file mode 100644
index 8e6e2c0a9..000000000
--- a/provisioner/tests/roles/setup_network/tasks/main.yml
+++ /dev/null
@@ -1,54 +0,0 @@
----
-- name: CREATE NETWORK JOB TEMPLATE
- tower_job_template:
- name: "LINKLIGHT TEST RUN NETWORK"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "LINKLIGHT TESTING"
- playbook: "provisioner/provision_lab.yml"
- tower_config_file: "~/tower_cli.cfg"
- extra_vars_path: "{{playbook_dir}}/roles/setup_network/files/network.yml"
- register: network_job
-
-- name: CREATE TEARDOWN NETWORK JOB TEMPLATE
- tower_job_template:
- name: "LINKLIGHT TEST TEARDOWN NETWORK"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "LINKLIGHT TESTING"
- playbook: "provisioner/teardown_lab.yml"
- tower_config_file: "~/tower_cli.cfg"
- extra_vars_path: "{{playbook_dir}}/roles/setup_network/files/network.yml"
- register: network_teardown_job
-
-- name: ASSOCIATE AWS CREDENTIAL TO JOB TEMPLATE
- uri:
- url: "https://{{host}}/api/v2/job_templates/{{network_job.id}}/credentials/"
- user: "{{username}}"
- password: "{{password}}"
- method: POST
- validate_certs: false
- force_basic_auth: true
- body_format: json
- body: ' {"id": {{credential.id}}}'
- status_code:
- - 200
- - 204
- register: result_uri
- ignore_errors: true
-
-- name: ASSOCIATE AWS CREDENTIAL TO TEARDOWN JOB TEMPLATE
- uri:
- url: "https://{{host}}/api/v2/job_templates/{{network_teardown_job.id}}/credentials/"
- user: "{{username}}"
- password: "{{password}}"
- method: POST
- validate_certs: false
- force_basic_auth: true
- body_format: json
- body: ' {"id": {{credential.id}}}'
- status_code:
- - 200
- - 204
- register: result_uri
- ignore_errors: true
diff --git a/provisioner/tests/roles/setup_rhel/files/rhel.yml b/provisioner/tests/roles/setup_rhel/files/rhel.yml
deleted file mode 100644
index 51b594888..000000000
--- a/provisioner/tests/roles/setup_rhel/files/rhel.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-# region where the nodes will live
-ec2_region: us-east-2
-# name prefix for all the VMs
-ec2_name_prefix: "LINKLIGHT-RHEL-TEST-{{workshop_timestamp}}"
-# amount of work benches to provision
-student_total: 2
-## Optional Variables
-# password used for student account on control node
-admin_password: ansible
-# creates HTML website for workshop
-create_login_page: true
-# workshop is put into networking mode, uses two Cisco IOS-XE devices
-workshop_type: rhel
-# when towerinstall is on, this will license it with provided license
-autolicense: true
-# this will install Ansible Tower on all control nodes
-towerinstall: true
diff --git a/provisioner/tests/roles/setup_rhel/tasks/main.yml b/provisioner/tests/roles/setup_rhel/tasks/main.yml
deleted file mode 100644
index fbfe668e9..000000000
--- a/provisioner/tests/roles/setup_rhel/tasks/main.yml
+++ /dev/null
@@ -1,54 +0,0 @@
----
-- name: CREATE RHEL JOB TEMPLATE
- tower_job_template:
- name: "LINKLIGHT TEST RUN RHEL"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "LINKLIGHT TESTING"
- playbook: "provisioner/provision_lab.yml"
- tower_config_file: "~/tower_cli.cfg"
- extra_vars_path: "{{playbook_dir}}/roles/setup_rhel/files/rhel.yml"
- register: rhel_job
-
-- name: CREATE TEARDOWN NETWORK JOB TEMPLATE
- tower_job_template:
- name: "LINKLIGHT TEST TEARDOWN RHEL"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "LINKLIGHT TESTING"
- playbook: "provisioner/teardown_lab.yml"
- tower_config_file: "~/tower_cli.cfg"
- extra_vars_path: "{{playbook_dir}}/roles/setup_rhel/files/rhel.yml"
- register: network_teardown_job
-
-- name: ASSOCIATE AWS CREDENTIAL TO JOB TEMPLATE
- uri:
- url: "https://{{host}}/api/v2/job_templates/{{rhel_job.id}}/credentials/"
- user: "{{username}}"
- password: "{{password}}"
- method: POST
- validate_certs: false
- force_basic_auth: true
- body_format: json
- body: ' {"id": {{credential.id}}}'
- status_code:
- - 200
- - 204
- register: result_uri
- ignore_errors: true
-
-- name: ASSOCIATE AWS CREDENTIAL TO TEARDOWN JOB TEMPLATE
- uri:
- url: "https://{{host}}/api/v2/job_templates/{{network_teardown_job.id}}/credentials/"
- user: "{{username}}"
- password: "{{password}}"
- method: POST
- validate_certs: false
- force_basic_auth: true
- body_format: json
- body: ' {"id": {{credential.id}}}'
- status_code:
- - 200
- - 204
- register: result_uri
- ignore_errors: true
diff --git a/provisioner/tests/setup_f5_tower.yml b/provisioner/tests/setup_f5_tower.yml
deleted file mode 100644
index 46010f086..000000000
--- a/provisioner/tests/setup_f5_tower.yml
+++ /dev/null
@@ -1,77 +0,0 @@
----
-- name: TOWER CONFIGURATION IN PLAYBOOK FORM
- hosts: localhost
- connection: local
- gather_facts: true
- tasks:
- - name: ADD LINKLIGHT INTO TOWER
- tower_project:
- name: "Linklight Project"
- organization: "Default"
- scm_branch: "devel"
- scm_type: git
- scm_url: "https://github.com/network-automation/linklight"
- tower_config_file: "~/tower_cli.cfg"
- register: project_output
-
- - name: print out project_output
- debug:
- msg: "{{project_output}}"
-
- - name: CREATE INVENTORY
- tower_inventory:
- name: "LINKLIGHT_TEST_INVENTORY"
- organization: Default
- tower_config_file: "~/tower_cli.cfg"
-
- - name: CREATE F5 ADDNODE JOB TEMPLATE
- tower_job_template:
- name: "F5 add nodes"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "Linklight Project"
- playbook: "exercises/ansible_f5/1.2-add-node/bigip-node.yml"
- tower_config_file: "~/tower_cli.cfg"
-
- - name: CREATE F5 ADDNODE JOB TEMPLATE
- tower_job_template:
- name: "F5 setup pool"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "Linklight Project"
- playbook: "exercises/ansible_f5/1.3-add-pool/bigip-pool.yml"
- tower_config_file: "~/tower_cli.cfg"
-
- - name: CREATE F5 ADDNODE JOB TEMPLATE
- tower_job_template:
- name: "F5 add pool members"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "Linklight Project"
- playbook: "exercises/ansible_f5/1.4-add-pool-members/bigip-pool-members.yml"
- tower_config_file: "~/tower_cli.cfg"
-
- - name: CREATE F5 ADDNODE JOB TEMPLATE
- tower_job_template:
- name: "F5 add virtual server"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "Linklight Project"
- playbook: "exercises/ansible_f5/1.5-add-virtual-server/bigip-virtual-server.yml"
- tower_config_file: "~/tower_cli.cfg"
-
- # - name: THIS LOADS USERNAME AND PASSWORD FROM tower_cli.cfg FOR FOLLOWING URI TASKS
- # include_vars:
- # file: ~/tower_cli.cfg
- #
- # - name: SETUP NETWORK WORKSHOP
- # import_role:
- # name: setup_network
- #
- # - name: SETUP F5 WORKSHOP
- # import_role:
- # name: setup_f5
- #
- # - name: SETUP RHEL WORKSHOP
- # import_role:
- # name: setup_rhel
diff --git a/provisioner/tests/setup_tower.yml b/provisioner/tests/setup_tower.yml
deleted file mode 100644
index 928ed553c..000000000
--- a/provisioner/tests/setup_tower.yml
+++ /dev/null
@@ -1,71 +0,0 @@
----
-- name: TOWER CONFIGURATION IN PLAYBOOK FORM
- hosts: localhost
- connection: local
- gather_facts: true
- tasks:
- - name: ADD LINKLIGHT INTO TOWER
- tower_project:
- name: "LINKLIGHT TESTING"
- organization: "Default"
- scm_branch: "ipvsean/april10"
- scm_type: git
- scm_url: "https://github.com/IPvSean/linklight"
- tower_config_file: "~/tower_cli.cfg"
- register: project_output
-
- - name: print out project_output
- debug:
- msg: "{{project_output}}"
-
- - name: CREATE INVENTORY
- tower_inventory:
- name: "LINKLIGHT_TEST_INVENTORY"
- organization: Default
- tower_config_file: "~/tower_cli.cfg"
-
- - name: ADD CONTROL HOST INTO TOWER
- tower_host:
- name: "localhost"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- tower_config_file: "~/tower_cli.cfg"
-
- - name: ADD TOWER AWS CREDENTIAL
- tower_credential:
- name: "{{ansible_user}}_AWS"
- description: "{{ansible_user}}'s AWS credentials"
- organization: Default
- state: present
- tower_config_file: "~/tower_cli.cfg"
- kind: aws
- # access key for aws
- username: "{{ lookup('ini', 'aws_access_key_id section=default file=~/.aws/credentials') }}"
- # secret key for aws
- password: "{{ lookup('ini', 'aws_secret_access_key section=default file=~/.aws/credentials') }}"
- register: credential
-
- - name: CREATE RHEL JOB TEMPLATE
- tower_job_template:
- name: "LINKLIGHT BEGIN WORKFLOW"
- job_type: "run"
- inventory: "LINKLIGHT_TEST_INVENTORY"
- project: "LINKLIGHT TESTING"
- playbook: "provisioner/tests/begin_workflow.yml"
- tower_config_file: "~/tower_cli.cfg"
- register: rhel_job
-
- - name: THIS LOADS USERNAME AND PASSWORD FROM tower_cli.cfg FOR FOLLOWING URI TASKS
- include_vars:
- file: ~/tower_cli.cfg
-
- - name: SETUP NETWORK WORKSHOP
- import_role:
- name: setup_network
-
- - name: SETUP F5 WORKSHOP
- import_role:
- name: setup_f5
-
- - name: SETUP RHEL WORKSHOP
- import_role:
- name: setup_rhel
diff --git a/provisioner/tests/verify-f5.sh b/provisioner/tests/verify-f5.sh
index 6902ea613..136997159 100755
--- a/provisioner/tests/verify-f5.sh
+++ b/provisioner/tests/verify-f5.sh
@@ -9,4 +9,4 @@ CONTROL_NODE_HOST=$(grep -A 1 control provisioner/${DEPLOYMENT_NAME}/student1-in
RUN_ALL_PLAYBOOKS_CMD='find . -name "*.yml" -o -name "*.yaml" | grep -v "2.0" | sort | xargs -I {} bash -c "echo {} && ANSIBLE_FORCE_COLOR=true ansible-playbook {}"'
-sshpass -p "${ADMIN_PASSWORD}" ssh -o StrictHostKeyChecking=no student1@${CONTROL_NODE_HOST} "cd networking-workshop && ${RUN_ALL_PLAYBOOKS_CMD}"
+sshpass -p "${ADMIN_PASSWORD}" ssh -o StrictHostKeyChecking=no student1@${CONTROL_NODE_HOST} "cd f5-workshop && ${RUN_ALL_PLAYBOOKS_CMD}"