Skip to content

Commit 26e6513

Browse files
chrisadrian0010xHiteshPatel
authored andcommitted
Minor updates to Class 1 and 2 (#187)
* Minor updates to Class 1 and 2 Minor edits including image updates and removal of iWorkflow references. * Updated for AS3 release 3.2 Updates to lab2 to reflect 3.2 release * Updates to postman collection Updated variables and WAF policy deployment for AS3 3.2 release * Updated Postman Collection Updates from Forrest for class 1 module 3 * Class 1 - Lab 2 updates Updated images to reflect correct ASM policy and minor fix to postman collection Lab 2.3 - Step 9 * Postman collection name change * Remove iWorkflow reference Removed iWorkflow reference from conclusion. * Cleanup build error
1 parent 273d3ae commit 26e6513

28 files changed

+217
-196
lines changed

docs/class1/bigipbasics.rst

+11-11
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ BIG-IP Basics (optional)
44
------------------------
55

66
Just in case you're new to the F5 BIG-IP platform (or need a refresher) we've
7-
included some links and videos below that will help get you started.
7+
included some links and videos below that will help get you started.
88

99
What is BIG-IP
1010
^^^^^^^^^^^^^^
1111

1212
.. raw:: html
1313

14-
<iframe width="600" height="315" src="http://www.youtube.com/embed/D6J_j7HdkV8?rel=0" frameborder="0" gesture="media" allowfullscreen></iframe>
14+
<iframe width="600" height="315" src="https://www.youtube.com/embed/D6J_j7HdkV8?rel=0" frameborder="0" gesture="media" allowfullscreen></iframe>
1515

1616
*Source: https://devcentral.f5.com/articles/lightboard-lessons-what-is-big-ip-26793*
1717

@@ -56,7 +56,7 @@ HA Proxy to BIG-IP Quick Start
5656
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5757

5858
If you're already familiar with HA Proxy, learning F5 BIG-IP is straightforward
59-
once you learn the associated F5 terminology.
59+
once you learn the associated F5 terminology.
6060

6161
Here is a list of common HA Proxy configuration terminology and its F5 equivalent:
6262

@@ -84,13 +84,13 @@ NGINX to BIG-IP Quick Start
8484
If you are already familiar with NGINX, learning F5 BIG-IP will be
8585
straightforward once you learn the F5 terminology.
8686

87-
NGINX administrators usually use multiple files and leverage the include
88-
command in their config to break down the config and make it easier to
87+
NGINX administrators usually use multiple files and leverage the include
88+
command in their config to break down the config and make it easier to
8989
manage. F5 leverages *Profiles* which can be applied to a *Virtual Server*.
9090

91-
NGINX uses in-band (passive) health monitors which can be enabled on F5 through
92-
the creation of an *inband monitor*. BIG-IP also supports the use of active
93-
health monitors, which will poll the pool member periodically. Both can be
91+
NGINX uses in-band (passive) health monitors which can be enabled on F5 through
92+
the creation of an *inband monitor*. BIG-IP also supports the use of active
93+
health monitors, which will poll the pool member periodically. Both can be
9494
used together for better monitoring of your services.
9595

9696
F5 BIG-IP supports control-plane and data-plane programmability with:
@@ -99,13 +99,13 @@ F5 BIG-IP supports control-plane and data-plane programmability with:
9999

100100
- TCL through the use of iRules and iApp Templates
101101

102-
A lot of the manual configuration and scripting steps that are required with NGINX
102+
A lot of the manual configuration and scripting steps that are required with NGINX
103103
are supported more easily through various config parameters and profiles in BIG-IP.
104104
By leveraging the control-plane programmability features this class covers you can
105105
achieve full automation of your services with the BIG-IP platform.
106106

107107
F5 BIG-IP is designed to be a full proxy by default. In most cases there is no
108-
need to tune TCP & HTTP buffering like you would on NGINX (i.e. using
108+
need to tune TCP & HTTP buffering like you would on NGINX (i.e. using
109109
``proxy_buffering``). This is because the default settings have been optimized
110110
and can adapt to most situations.
111111

@@ -135,4 +135,4 @@ Here is a list of common NGINX configuration terminology and its F5 equivalent:
135135
| location & proxy_pass | LTM HTTP Policy Option |
136136
+----------------------------------+--------------------------------------------+
137137
| Proxy Cache | Web Acceleration Policy |
138-
+----------------------------------+--------------------------------------------+
138+
+----------------------------------+--------------------------------------------+

docs/class1/class1.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This introductory class covers the following topics:
55

66
- Imperative Automation using the F5 BIG-IP iControl REST API
77
- Service Abstraction and Automation using F5 App Services 3 Extension (AS3)
8-
- Building Declarative Interfaces with the F5 iWorkflow product
8+
- Building Declarative Interfaces with AS3 and Ansible Tower
99

1010
Expected time to complete: **4 hours**
1111

docs/class1/conclusion.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Conclusion
1919
label = "Class 1: Introduction to Automation & Orchestration"
2020
bigip [label="BIG-IP"]
2121
iapps [label="iApp Templates&#92;n& Deployments"]
22-
iwf [label="iWorkflow Service&#92;nTemplates,&#92;nCatalog & Deployment"]
22+
iwf [label="AS3 Templates & Deployment"]
2323
{
2424
rank=same
2525
rest_basics [label="REST Basics"]

docs/class1/module1/lab3.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ Perform the following steps to change the ``root`` user password:
194194

195195
|lab-3-5|
196196

197-
#. **Repeat the procedure above to change the password back to** ``default``
197+
#. **Repeat the procedure above to change the password back to** ``default``.
198198

199199
Perform the following steps to change the **admin** user password:
200200

@@ -209,7 +209,7 @@ Perform the following steps to change the **admin** user password:
209209
#. You can verify the password has been changed by opening an SSH session
210210
OR by logging into TMUI (HTTP GUI) to BIG-IP A in a Chrome browser tab.
211211

212-
#. **Repeat the procedure above to change the password back to** ``admin``
212+
#. **Repeat the procedure above to change the password back to** ``admin``.
213213

214214
.. |lab-3-1| image:: images/lab-3-1.png
215215
.. |lab-3-2| image:: images/lab-3-2.png

docs/class1/module1/module1.rst

+2-5
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ focus on demonstrating an **Imperative** approach to automation.
4646
on a single device due to lab time allocation constraints.
4747

4848
.. NOTE:: In order to confirm the results of REST API calls made in this lab, it's
49-
recommended to keep GUI/SSH sessions to BIG-IP and iWorkflow devices open.
50-
By default, BIG-IP and iWorkflow will log all the REST API related events locally
49+
recommended to keep GUI/SSH sessions to the BIG-IP devices open.
50+
By default, BIG-IP will log all the REST API related events locally
5151
to **restjavad.0.log** . These logs can also be directed to a remote syslog server
5252
(see https://support.f5.com/csp/article/K13080). On a side note, the **ltm**
5353
log files listed below contains log messages specific to BIG-IP local
@@ -59,9 +59,6 @@ focus on demonstrating an **Imperative** approach to automation.
5959

6060
- /var/log/restjavad.0.log
6161

62-
- iWorkflow:
63-
64-
- /var/log/restjavad.0.log
6562

6663
.. toctree::
6764
:maxdepth: 1
119 KB
Loading
81.8 KB
Loading
59.2 KB
Loading
179 KB
Loading
40.2 KB
Loading
65.5 KB
Loading
112 KB
Loading
341 KB
Loading

docs/class1/module2/lab1.rst

+20-18
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Installation
2525
~~~~~~~~~~~~
2626

2727
iControl LX Extensions use the common Redhat Package Manager (RPM) distribution
28-
format. To install an extension you need to first obtain the RPM file
28+
format. To install an extension you need to first obtain the RPM file
2929
associated with the extension.
3030

3131
AS3 RPMs are available at https://github.com/f5networks/f5-appsvcs-extension/releases
@@ -40,37 +40,39 @@ All of these mechanisms are supported and, if required, can be used in
4040
conjunction with each other.
4141

4242
For instance, you can install AS3 from BIG-IP GUI and then deploy
43-
a new service via iControl REST using tools such as cURL, Postman
43+
a new service via iControl REST using tools such as cURL, Postman
4444
and Ansible.
4545

4646
To view installed iControl LX Extensions in the BIG-IP GUI you must first
4747
enable this functionality. To do this, log in via SSH into the system with an ``admin``
48-
account and execute ``touch /var/config/rest/iapps/enable``. No reboot is required.
49-
This will enable the :menuselection:`iApps --> Package Management LX` menu:
48+
account and execute ``touch /var/config/rest/iapps/enable``. No reboot is required.
49+
This will enable the :menuselection:`iApps --> Package Management LX` menu:
5050

5151
|lab-1-1|
5252

5353
Clicking :guilabel:`Package Management LX` will show a table of installed
5454
iControl LX Extensions:
5555

56+
.. NOTE:: This will be empty until one or more iControl LX Extension packages have been imported.
57+
5658
|lab-1-2|
5759

5860
Deployments
5961
~~~~~~~~~~~
6062

61-
.. NOTE:: Redeployment of AS3 services is facilitated/protected by a mechanism
62-
in BIG-IP platform to ensure safe changes to the configurations without
63+
.. NOTE:: Redeployment of AS3 services is facilitated/protected by a mechanism
64+
in BIG-IP platform to ensure safe changes to the configurations without
6365
disrupting existing user traffic.
6466

65-
iControl LX allows Extensions to register new REST API endpoints with the
67+
iControl LX allows Extensions to register new REST API endpoints with the
6668
iControl REST API. In the case of AS3 the following endpoints are exposed:
6769

6870
- **Version Info:** ``/mgmt/shared/appsvcs/info``
6971
- **Declarations:** ``/mgmt/shared/appsvcs/declare``
7072
- **Self-Test:** ``/mgmt/shared/appsvcs/selftest``
7173

72-
Deployments use the `/mgmt/shared/appsvcs/declare` endpoint. This endpoint
73-
accepts the Create, Read, Update and Delete (CRUD) operations using the HTTP
74+
Deployments use the `/mgmt/shared/appsvcs/declare` endpoint. This endpoint
75+
accepts the Create, Read, Update and Delete (CRUD) operations using the HTTP
7476
``POST``, ``GET``, ``PATCH`` and ``DELETE`` methods.
7577

7678
Additionally various query parameters are also supported. Full documentation
@@ -79,18 +81,18 @@ is available in the `AS3 Reference <http://clouddocs.f5.com/products/extensions/
7981
Source-of-Truth
8082
~~~~~~~~~~~~~~~
8183

82-
In an automated environment, we **must** always ensure that the
83-
**AS3 declarations** are being used as the Source-of-Truth for an underlying
84-
deployment. Therefore, you should **NOT** perform out-of-band modifications
84+
In an automated environment, we **must** always ensure that the
85+
**AS3 declarations** are being used as the Source-of-Truth for an underlying
86+
deployment. Therefore, you should **NOT** perform out-of-band modifications
8587
to the configuration using the BIG-IP GUI or REST API.
8688

8789
For instance, after an AS3 declaration is deployed, modifying the underlying
88-
configuration will result in a Source-of-Truth violation. AS3 **does not**
89-
prevent out-of-band changes from occuring. This allows administrators to ensure
90-
total control over the system in emergency situations, however, the direct
91-
modification of objects configured on BIG-IP will effect the integrity of
92-
AS3 declaration that automation tools are interacting with, causing failures.
93-
It is therefore important to prevent out-of-band changes at all times for
90+
configuration will result in a Source-of-Truth violation. AS3 **does not**
91+
prevent out-of-band changes from occuring. This allows administrators to ensure
92+
total control over the system in emergency situations, however, the direct
93+
modification of objects configured on BIG-IP will effect the integrity of
94+
AS3 declaration that automation tools are interacting with, causing failures.
95+
It is therefore important to prevent out-of-band changes at all times for
9496
automated deployments in normal production circumstances.
9597

9698
.. |lab-1-1| image:: images/lab-1-1.png

docs/class1/module2/lab2.rst

+10-11
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Task 1 - View Installed iControl LX Extensions
3535

3636
Perform the following steps to complete this task:
3737

38-
#. :guilabel:`Send` the ``Step 1: Get Installed iControl LX Extensions``
38+
#. :guilabel:`Send` the ``Step 1: Get Installed iControl LX Extensions``
3939
request to view extensions installed on the BIG-IP device:
4040

4141
|lab-2-2|
@@ -51,21 +51,21 @@ Task 2 - Install the AS3 Extension
5151

5252
Perform the following steps to complete this task:
5353

54-
#. Using the Chrome web browser open a new tab and click the
55-
``AS 3.1.0 Release`` bookmark.
54+
#. Using the Chrome web browser open a new tab and click the
55+
``AS3 Release`` bookmark.
5656

5757
#. Click the file with the ``.rpm`` extension to download it. The file will be
5858
located in the ``/home/ubuntu/Downloads`` folder on your jumphost.
5959

6060
#. Click the ``Step 2: Upload AS3 Extension RPM`` request.
6161

62-
#. Click the :guilabel:`Body` tab, then click the :guilabel:`Choose Files`
62+
#. Click the :guilabel:`Body` tab, then click the :guilabel:`Choose Files`
6363
button:
6464

6565
|lab-2-4|
6666

67-
#. Select the previously downloaded RPM file located in the ``Downloads``
68-
folder on your jumphost. Then click the :guilabel:`Send` button to upload
67+
#. Select the previously downloaded RPM file located in the ``Downloads``
68+
folder on your jumphost. Then click the :guilabel:`Send` button to upload
6969
the RPM file to the BIG-IP system:
7070

7171
|lab-2-5|
@@ -74,9 +74,9 @@ Perform the following steps to complete this task:
7474

7575
|lab-2-6|
7676

77-
#. Click the ``Step 3: Create AS3 Extension Install Task`` request and click
78-
:guilabel:`Send`. This request will command the iControl LX framework to
79-
install the RPM uploaded in the previous step. Because the installation
77+
#. Click the ``Step 3: Create AS3 Extension Install Task`` request and click
78+
:guilabel:`Send`. This request will command the iControl LX framework to
79+
install the RPM uploaded in the previous step. Because the installation
8080
task is an asynchronous operation we need to check the status of the task
8181
in the next step.
8282

@@ -88,7 +88,7 @@ Perform the following steps to complete this task:
8888

8989
|lab-2-7|
9090

91-
#. Click the ``Step 5: Get AS3 Version Info`` request and click
91+
#. Click the ``Step 5: Get AS3 Version Info`` request and click
9292
:guilabel:`Send`. Review the **Response** :guilabel:`Body` to ensure
9393
the AS3 is installed and has started:
9494

@@ -102,4 +102,3 @@ Perform the following steps to complete this task:
102102
.. |lab-2-6| image:: images/lab-2-6.png
103103
.. |lab-2-7| image:: images/lab-2-7.png
104104
.. |lab-2-8| image:: images/lab-2-8.png
105-

0 commit comments

Comments
 (0)