Getting Started¶
To get started with ADCaaS, we’ll need to get it on your system. This section will go over installing ADCaaS on your system.
Download ADCaaS¶
Generally, there are two alternative ways to download the ADCaaS application.
The first way is dowloading the released version, which is recommended and will be delivered soon. You can go to ADCaaS docker image set and choose the installation package of tar.gz or rpm to download.
- For .tar.gz: unzip the file via
tar zxf <file.tar.gz>
. Then you may find start_all.sh under dist/scripts/, we call dist thelocalrepo
in the following description. - For .rpm: run
rpm -i <file.rpm>
to install it [Coming].
The second approach is to download the ADCaaS Repository directly from the F5Networks github. You may use this way if planning on contributing or testing codes in the future. Basically, we are recommending you to follow the steps below to install ADCaaS locally.
Fork
the ADCaaS repository to your own repository. You may need to prepare a github account of your own here.Clone
your own repository to local sandbox.
Now, you have successfully downloaded the ADCaaS package to your own system.
Environment Prerequisite and Configuration¶
Before running ADCaaS as a standalone application, we need to enable a few environment prerequisites.
- In <localrepo>/deploy/appcluster.rc, update
OS_*
configuration according to your OpenStack environment.
- Update the
BIGIQ_*
configuration in appcluster.rc accordingly.
- Change the work directory to <localrepo>/app/waf, and run
npm install
command to install package dependencies.
You may be aware that other configuration variables can be customized on your requirements. For more details, see Environment variable settings Page.
Run ADCaaS as Standalone Application¶
Use /scripts/start_all.sh to start ADCaaS.
Basically, the script will process steps below for us:
Download dependencies if not exists locally, including dependent rpm files and docker images.
Run the container initialization.
Enable environment settings depending on appcluster.rc settings.
Run
docker-compose up -d -f <localrepo>/deploy/docker-compose.yml
to start ADCAAS container and its dependent containers, see that docker-compose.yml file.Note: On MacOSX, running
start_all.sh
may get the error:ERROR: for ASG Cannot start service ASG: Mounts denied: The path /var/tmp/ASGExtensions is not shared from OS X and is not known to Docker. You can configure shared paths from Docker -> Preferences... -> File Sharing. See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.
Solution: Add
/var/tmp
(better) or/var/tmp/ASGExtensions
to the settings as it mentions.
Check ADCaaS Running Status¶
1. After executing start_all.sh
, use docker ps
to see the container
set.
1fe367969441 f5devcentral/f5-openstack-services:portal-latest "/bin/sh -c 'python …" 44 minutes ago Up 44 minutes 0.0.0.0:8245->80/tcp PORTAL
ebd02566082f f5devcentral/f5-openstack-services:adcaas-latest "/bin/sh -c 'node in…" 44 minutes ago Up 44 minutes 0.0.0.0:3000->3000/tcp ADCAAS
3b82a0771f03 f5devcentral/f5-api-services-gateway:1.0.12 "/etc/runit/boot" 44 minutes ago Up 44 minutes 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp ASG
e1617238f75f postgres:11.1 "docker-entrypoint.s…" 44 minutes ago Up 44 minutes 0.0.0.0:5432->5432/tcp POSTGRES
8bcb68e54237 f5devcentral/f5-openstack-services:fluentd-v1.3.2 "/bin/entrypoint.sh …" 45 minutes ago Up 44 minutes 0.0.0.0:20001->20001/udp, 5140/tcp, 0.0.0.0:24224->24224/udp, 0.0.0.0:24224->24224/tcp FLUENTD
04dfcc4fab4a docker.elastic.co/kibana/kibana:7.2.0 "/usr/local/bin/kiba…" 45 minutes ago Up 45 minutes 0.0.0.0:5601->5601/tcp KIBANA
1376e898a717 docker.elastic.co/elasticsearch/elasticsearch:7.2.0 "/usr/local/bin/dock…" 45 minutes ago Up 45 minutes 0.0.0.0:9200->9200/tcp, 9300/tcp ELASTICSEARCH
2. Run curl http://localhost:3000/ping
to check if ADCaaS runs OK.
You may find the response below if ADCaaS operating well:
{
"greeting": "Hello from F5 ADCaaS for OpenStack",
"date": "2019-11-05T08:47:23.276Z",
"url": "/ping",
"headers": {
"content-type": "application/json",
"user-agent": "PostmanRuntime/7.19.0",
"accept": "*/*",
"cache-control": "no-cache",
"postman-token": "fb8463c6-2c71-4b44-85ac-e6233c2fbf09",
"host": ":3000",
"accept-encoding": "gzip, deflate",
"connection": "keep-alive"
}
}
3. Use Postman(Swagger API definition: https://f5networks.github.io/f5-adcaas-openstack/) or access PORTAL (port:8245) to provision BIG-IP VE.
The PORTAL(port:8245) is integrated with OpenStack platform(Keystone for auth*, neutron for VE network setup, nova for VM sources.). Therefore, the username and password for PORTAL login is the same as your OpenStack login. If appcluster.rc is configured correctly, the provisioned BIG-IP VE can be managed/orchestrated within tenant.