Skip to content

Commit

Permalink
Merge pull request #819 from ansible/devel
Browse files Browse the repository at this point in the history
May 5, 2020 Release PR
  • Loading branch information
IPvSean authored May 6, 2020
2 parents d2a897c + d690d97 commit 99e8423
Show file tree
Hide file tree
Showing 206 changed files with 4,853 additions and 940 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ ansible/
demos/servicenow/private.yml
*.html
!exercises/ansible_rhel/1.3-playbook/web.html
!exercises/ansible_rhel/1.4-variables/files/dev_web.html
!exercises/ansible_rhel/1.4-variables/files/prod_web.html
demos/servicenow/closed_loop_incident_mgmt/input_vars.yaml
demos/servicenow/closed_loop_incident_mgmt/snow_demo2/snow_vars.yaml
provisioner/roles/ansible_security.ids_config/
Expand Down
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,28 @@ The Red Hat Ansible Automation Workshops project is intended for effectively dem

# Instructor-led Workshops

6 hour workshops:

| Workshop | Presentation Deck | Exercises | Workshop Type Var |
|---|---|---|---|
| **Ansible Red Hat Enterprise Linux Workshop** <br> 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** <br> 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** <br> 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** <br> focused on automation of F5 BIG-IP | [Deck](./decks/ansible_f5.pdf) | [Exercises](./exercises/ansible_f5) | `workshop_type: f5` |
| **Ansible Security Automation** <br> 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** <br> focused on automation of Microsoft Windows | [Deck](./decks/ansible_windows.pdf) | [Exercises](./exercises/ansible_windows) | `workshop_type: windows` |

90 minute abbreviated versions:

| Workshop | Presentation Deck | Exercises | Workshop Type Var |
|---|---|---|---|
| **Ansible Red Hat Enterprise Linux Workshop** <br> focused on automating Linux platforms like Red Hat Enterprise Linux | [Deck](./decks/ansible_rhel_90.pdf) | [Exercises](./exercises/ansible_rhel_90) | `workshop_type: rhel_90` |

## Lab Provisioner
- [AWS Lab Provisioner](provisioner) - playbook that spins up instances on AWS for students to perform the exercises provided above.

# 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

Expand All @@ -33,6 +41,7 @@ The Red Hat Ansible Automation Workshops project is intended for effectively dem
- [How to contribute](docs/contribute.md)
- [How to use the AWS Lab Provisioner](provisioner/README.md)
- [FAQ](docs/faq.md)
- [Release Process](docs/release.md)

---
![Red Hat Ansible Automation](images/rh-ansible-automation-platform.png)
1 change: 1 addition & 0 deletions decks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ All slides are currently managed internally at Red Hat Ansible with Google Slide
- [Ansible Network Automation](https://docs.google.com/presentation/d/1pMnLskQjDywwglZRKXS16rPFJip94obyzND_iKzaidQ/edit?usp=sharing)
- [Ansible F5 Automation](https://docs.google.com/presentation/d/1eSZHx_tVZ59U-nAYysehEXsSAJgLBr9SrgpjOfLUg84)
- [Ansible RHEL Automation](https://docs.google.com/presentation/d/13V_-MfJMslBJWGohllS9NErapClMAKY8iOP4_BI12xI)
- [Ansible RHEL_90 Automation](https://docs.google.com/presentation/d/143JtFwmz469ucKNbB4L5T-PtKfurjpcOmCICzSbwm3Y/edit?usp=sharing)
- [Ansible Windows Automation](https://docs.google.com/presentation/d/1fGHBNpkvXBfwBC385QswcSOBz0xNzDxEc8ZhbuyIoAE)
- [Ansible Best Practices](https://docs.google.com/presentation/d/1khWEuTXGQbJ-hQ4cneigDgAJ__tPccch7Q5Xqj1rkio)

Expand Down
Binary file added decks/ansible_rhel_90.pdf
Binary file not shown.
4 changes: 4 additions & 0 deletions docs/faq.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# FAQ for the Provisioner
Frequently Asked Questions... or rather common problems that people have hit.

## How do I do a release PR?

Read this [guide](release.md)

## Problem: boto3 missing

```
Expand Down
53 changes: 53 additions & 0 deletions docs/release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Release PR

The Ansible Automation Workshops have two main branches

- `master` - this is the stable supported branch. This is what RHPDS (Red Hat Product Demo System) points to
- `devel` - this is the development branch. This is where PRs (Pull Requests) go into, and get tested.

A **release** is when we move `devel` into `master`. This means the stable `master` branch will pickup all new features, bug fixes and changes that `devel` branch has been testing.

# How to push a release

1. An administrator has to create a PR (pull request) from `devel` into `master` from `https://github.com/ansible/workshops`

![release pr](../images/release_pr.png)

2. Title the PR with `Date Release PR`

For example:
`April 16th, 2020 Release PR`

3. Copy the last PR's contents into your new PR contents, here is an example: [https://github.com/ansible/workshops/pull/800](https://github.com/ansible/workshops/pull/800)

e.g. here is a template you can use

```
# SUMMARY
this is a release PR, a release PR merges the devel branch to the master branch taking in multiple PRs over the last period of time. The last release was on April 16th, 2020 https://github.com/ansible/workshops/pull/784
this merges PRs for the following since the last review:
- https://github.com/ansible/workshops/pull/785 - cleaning up tower exercises
- https://github.com/ansible/workshops/pull/786 - Fix start of YAML marker
- https://github.com/ansible/workshops/pull/790 - add synchronization with ansible/product-demos
- https://github.com/ansible/workshops/pull/795 - new exercise for rhel lab with system roles
- https://github.com/ansible/workshops/pull/799 - fixing RHEL workshop exercises
# ISSUE TYPE
Release PR
cc @cloin @liquidat @goetzrieger @Spredzy
```

4. The goal of the PR summary is to:

- indicate this is a release PR
- link to the last release PR
- summarize all PRs into `devel` since the last time there was a release (this means only purple merged PRs, not closed PRs, or PRs still not merged yet)

5. wait for CI testing to complete

![ci testing](../images/ci.png)

6. merge when you get passing CI

![passed ci](../images/passed.png)

7. If there are major changes, announce these to Roland to make sure they reach his newsletter :)
16 changes: 8 additions & 8 deletions exercises/ansible_f5/1.0-explore/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@

#### 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

設定を確認するために `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']
Expand All @@ -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]$
```

Expand All @@ -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 の出力例です:
```
Expand Down Expand Up @@ -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)
16 changes: 8 additions & 8 deletions exercises/ansible_f5/1.0-explore/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,19 @@ 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

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']
Expand All @@ -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]$
```

Expand All @@ -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:
```
Expand Down Expand Up @@ -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)
2 changes: 1 addition & 1 deletion exercises/ansible_f5/1.1-get-facts/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
ホームディレクトリにいることを確認してください。

```
[student1@ansible networking-workshop]$ cd ~
[student1@ansible f5-workshop]$ cd ~
```

## Step 1:
Expand Down
16 changes: 8 additions & 8 deletions exercises/ansible_f5/1.1-get-facts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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] =>
Expand Down Expand Up @@ -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
```
Expand Down
2 changes: 1 addition & 1 deletion exercises/ansible_f5/3.0-as3-intro/README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion exercises/ansible_f5/3.0-as3-intro/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ This template is a JSON representation of the Web Application. The important pa
<!-- {% raw %} -->
```
mkdir j2
cp ~/networking-workshop/3.0-as3-intro/j2/* j2/
cp ~/f5-workshop/3.0-as3-intro/j2/* j2/
```
<!-- {% endraw %} -->

Expand Down
Loading

0 comments on commit 99e8423

Please sign in to comment.