Overview
The Ribbon Automation Framework (RAF) is a framework of tools/modules and Operators to deploy and manage Ribbon Products in a declarative way, and provides CLI and REST interfaces. Using RAF, various Ribbon Products can be deployed and managed on Public and Private cloud platforms. Contact Ribbon's Account Teams for further details
Flow Diagram
The following flow diagram represents the overall procedure order and systems used.
Caption |
---|
0 | Figure |
---|
1 | AWS Automation Script |
---|
|
Image Removed |
Caption |
---|
0 | Figure |
---|
1 | KVM Automation Script |
---|
|
Image Removed |
Caption |
---|
|
Image Removed |
Multiexcerpt include |
---|
SpaceWithExcerpt | ALLDOC |
---|
MultiExcerptName | Overview |
---|
PageWithExcerpt | ALLDOC:RAF Overview |
---|
shouldDisplayInlineCommentsInIncludes | false |
---|
|
Multiexcerpt include |
---|
SpaceWithExcerpt | ALLDOC |
---|
MultiExcerptName | Operator |
---|
PageWithExcerpt | ALLDOC:RAF Overview |
---|
shouldDisplayInlineCommentsInIncludes | false |
---|
|
Prerequisites
Software Bundle
The following table contains the list of required files.
File Names |
---|
sbc-V10.00.00R000-aws_container.tar.gz |
Procedure
This section outlines how to set up your
() container environment. Note |
---|
|
Persistent data (such as object states) is maintained in the /objects directory of the container, which is mapped to a host directory or volume. You must make sure that the disk space is reliable and persistent (for example, by using network or cloud storage). If you use a Docker desktop for Windows, you must use a volume because you cannot set permissions on files created in an NTFS formatted host directory. For information about what happens when you specify a non-existent volume while using the docker run command to start the container, refer to the Tips for using bind mounts or volumes section in Manage data in Docker. |
For more information about
, refer to the following: Info |
---|
|
The procedure in this section uses the Docker container as an example, but you can set up RAF in any container environment. |
Info |
---|
|
The manifest files are available at /example/payloads/sbc/aws/ . |
Prerequisites
Before you set up the
Docker container, you must have the following:- A system with a minimum of 4 GB RAM and 2 vCPUs
- A host machine with Docker installed. To install Docker, refer to the Docker Installation procedure for your operating system.
- A Docker engine that is running.
- Appropriate access rights on the host machine to run Docker commands (refer to Manage Docker as a non-root user for Linux-based hosts).
- A compressed container image.
Start
Log into your Linux host server.Use the following command to load the
container image. Info |
---|
|
To check your container image, use the following command: docker images . |
Code Block |
---|
docker load --input sbc-V10.00.00R000-aws_container.tar.gz |
Create the following host persistent storage (similar to cloud storage) where you can save
product images, automation scripts, cloud and virtual resource state information, and such. Info |
---|
|
You can copy only a single automation scripts tarball into your directory. |
objects
: Stores resource state information and logs. Depending on the deployment size, 2 to 4 GB is required.resources
: The images and automation scripts specific to the product and provider. The size requirement is based on the sum of all the files you will store in this host persistent storage.
To create the host persistent storage, you must copy the product QCOW2 image tarball to the $WORKDIR/resources/images directory and the automation scripts tarball (for example, sbc-V09.01.00R000-aws_automation_scripts.tar.gz) to the $WORKDIR/resources/scripts directory. The following is an example of how to create the host persistent storage.
Code Block |
---|
|
WORKDIR=/opt/ribbon
mkdir -p $WORKDIR/objects $WORKDIR/resources/images $WORKDIR/resources/scripts |
Use the following command syntax to run the
container. Info |
---|
|
Each container must have a unique <container_name> and <host_port>. |
Code Block |
---|
docker run -d --name=<container_name> -p <host_port>:80 --mount "type=bind,src=<host_persistent_storage>,dst=/objects" --mount "type=bind,src=<host_static_resource>,dst=/resources,readonly" <imageName:tag> |
In the preceding command,
<container_name>
is the name of the container you want to launch.
<host_port>
is the UDP or TCP port number of the host that you want to map to the
container port.<host_persistent_storage>
is a host directory.
Setting up RAF Container
Excerpt Include |
---|
| OPDOC:Setting up RAF Container |
---|
| OPDOC:Setting up RAF Container |
---|
nopanel | true |
---|
|
<host_static_resource>
is a host directory that contains static resources such as disk images and the automation scripts tarball.
<imageName:tag>
is the name of the container image.The following is an example of how to run the container. Code Block |
---|
|
docker run -d --name=raf_test -p 8080:80 --mount "type=bind,src=$WORKDIR/objects,dst=/objects" --mount "type=bind,src=$WORKDIR/resources,dst=/resources,readonly" raf:20.08` |
Use one of the following procedures to access the
. Use the CLI to deploy and manage products manually, and the REST API to deploy and manage products using automation. Info |
---|
|
You can also use both procedures. For example, you can use the CLI to deploy your product and the REST API to manage the product (and the other way). |
Use the following command to stop
container: docker stop <container_name>
Use the following command to delete
container: docker rm <container_name>
Use the following commands to restart the
container: Code Block |
---|
docker start <container_name>
docker restart <container_name> |
For the procedures to use the CLI to deploy products and to use the RAF REST API to deploy and manage products, refer to the Readme file located at examples/payloads/sbc/aws/README.md
.