Skip to content

Commit b5cc9bf

Browse files
author
ndavey
committed
ansible-deployer install guide
Signed-off-by: ndavey <[email protected]>
1 parent 21ed058 commit b5cc9bf

File tree

3 files changed

+250
-13
lines changed

3 files changed

+250
-13
lines changed

release/getting-started/index.rst

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -257,18 +257,6 @@ Run Tungsten Fabric
257257
Happy Hacking!
258258

259259

260-
External References
261-
-------------------
262-
263-
Below are reference links related to further details of features and use cases.
264-
265-
* OpenStack: https://www.openstack.org/
266-
* DPDK: https://www.dpdk.org/
267-
* Kubernetes: https://kubernetes.io/
268-
* Red Hat: https://www.redhat.com/
269-
* Ubuntu: https://www.ubuntu.com/
270-
* Contrail Feature Guide: https://www.juniper.net/documentation/en_US/contrail5.0/information-products/pathway-pages/contrail-feature-guide-pwp.html
271-
272260
==============================================
273261
Getting Started with `tf-devstack`
274262
==============================================

tungsten-fabric-installation-and-upgrade-guide/index.rst

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ Supported platforms and server requirements
2424
Installing Tungsten Fabric with OpenStack
2525
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2626

27+
.. toctree::
28+
:maxdepth: 1
29+
:titlesonly:
30+
31+
tf-ansible-deployer-install
32+
2733
Setting Up Contrail with Red Hat OpenStack 16.1
2834
***********************************************
2935

@@ -145,7 +151,7 @@ Upgrading Tungsten Fabric
145151
upgrade-in-place
146152
ffu-ziu-rhosp16.1-cn
147153

148-
Backup and restore Tungsten Fabric
154+
Backup and Restore Tungsten Fabric
149155
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
150156

151157
.. toctree::
Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
.. This work is licensed under the Creative Commons Attribution 4.0 International License.
2+
To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
3+
4+
===============================================================
5+
Installing Tungsten Fabric with Ansible Deployer
6+
===============================================================
7+
8+
Prerequisites
9+
-------------
10+
11+
The deployment instructions presented in this document install and configure Tungsten Fabric SDN solution in a 3 node environment (1 OpenStack/Tungsten Fabric Controller, 2 OpenStack/Tungsten Fabric Computes) using OpenStack as the orchestrator. We will further refer to the 3 nodes we are installing onto as the 'target nodes'.
12+
13+
A node can be either a virtual machine or a bare-metal server -- by using the bms provider ansible-deployer uses SSH to connect to the target nodes.
14+
15+
The Tungsten Fabric solution is provisioned via the `Ansible` automation tool. In order to deploy Tungsten Fabric solution we also need another node from which we will run the `ansible-playbook` commands. This node can be a container, virtual machine, or a bare-metal server. We will refer to this node as 'deployer node'. The deployer node is required in addition to the target nodes that will make up the OpenStack/Tungsten Fabric cluster.
16+
17+
Supported Operating Systems for the Target nodes and the Deploy node are `RedHat7` based or greater and `CentOS7` or greater.
18+
19+
20+
Hardware and Software Requirements
21+
----------------------------------
22+
23+
Before deploying ensure the hardware on which we will deploy matches the minimum requirements. Below are specified the minimum hardware and software requirements that need to be met for a smooth Tungsten Fabric experience.
24+
25+
Hardware:
26+
27+
* Control Nodes:
28+
* At least 4 CPU cores
29+
* At least 64 GB RAM
30+
* At least 300 GB storage
31+
* At least one Ethernet port
32+
* Compute Nodes:
33+
* At least 2 CPU cores
34+
* At least 8 GB RAM
35+
* At least 64 GB storage
36+
* At least one Ethernet port
37+
* Deploy Node:
38+
* At least 1 CPU core
39+
* At least 4 GB RAM
40+
* At least 16 GB storage
41+
* At least one Ethernet port
42+
43+
Software -- For details around the supported software versions for each version of Tungsten Fabric consult the release notes.
44+
45+
For more information see: `Tugnsten Fabirc Releases`_
46+
47+
48+
Steps on All Target Nodes
49+
-------------------------
50+
51+
Ansible Deployer will use SSH to connect to each target node and perform the steps required for the installation SSH Keys or password configuration is required.
52+
53+
#. Generate SSH public key:
54+
55+
``# ssh-keygen -t rsa``
56+
57+
#. Copy SSH public key (from each Target node) to the Deploy node:
58+
59+
``# ssh-copy-id root@<Deploy_Node_IP_Address>``
60+
61+
Steps on the Deploy Node
62+
---------------------------
63+
64+
Please note that all commands, on the Deploy node, have been run as **root**.
65+
66+
#. Install prerequisites:
67+
68+
``# yum install -y yum-plugin-priorities yum-utils vim net-tools git ansible``
69+
70+
#. Generate SSH public key:
71+
72+
``# ssh-keygen -t rsa``
73+
74+
#. Copy SSH public key from the Deploy node to the 3 Target nodes:
75+
76+
``# ssh-copy-id root@<Target_Node_IP_Addresses>``
77+
78+
#. Clone the `contrail-ansible-deployer` repo with the desired branch:
79+
80+
``# git clone https://github.com/Juniper/contrail-ansible-deployer.git -b R21.05``
81+
82+
#. Replace the content of `contrail-ansible-deployer/config/instances.yaml` with the following and fill in placeholders - marked as ``<...>`` - with info from your setup:
83+
84+
The target nodes for both control and compute can have one or more network interface. Where multiple network interfaces are used, for example in deployments with dedicated management interfaces, it is possible to specify which interface should be used for Tungsten Fabric.
85+
86+
The information regarding the dataplane interface configuration is set in the following lines in ``instances.yaml``:
87+
88+
``PHYSICAL_INTERFACE: <Iface_Name_That_vhost0_Will_Use>``
89+
90+
``VROUTER_GATEWAY: <Gateway_IP_Address_for_Dataplane_Network>``
91+
92+
Therefore, if we have a 2nd Ethernet port for the dataplane traffic, we will fill in the placeholders from the lines above with info associated to the 2nd Ethernet port.
93+
Otherwise, if only 1 Ethernet port is used, we will fill in all the placeholders with info associated to this Ethernet port.
94+
95+
::
96+
97+
global_configuration:
98+
CONTAINER_REGISTRY: hub.docker.com/tungstenfabric
99+
provider_config:
100+
bms:
101+
ssh_pwd: <ssh_root_password>
102+
ssh_user: root
103+
ntpserver: pool.ntp.org
104+
domainsuffix: local
105+
instances:
106+
bms1:
107+
provider: bms
108+
ip: &tungsten_fabric_ip_address <Tungsten_Fabric_Controller_Mgmt_IP_Address>
109+
roles:
110+
config_database:
111+
config:
112+
control:
113+
analytics:
114+
analytics_database:
115+
analytics_alarm:
116+
analytics_snmp:
117+
webui:
118+
openstack:
119+
bms2:
120+
provider: bms
121+
ip: <Tungsten_Fabric_Compute1_Mgmt_IP_Address>
122+
roles:
123+
vrouter:
124+
PHYSICAL_INTERFACE: <optional dataplane interface parameter>
125+
VROUTER_GATEWAY: <optional dataplane gateway parameter>
126+
openstack_compute:
127+
bms3:
128+
provider: bms
129+
ip: <Tungsten_Fabric_Compute2_Mgmt_IP_Address>
130+
roles:
131+
vrouter:
132+
PHYSICAL_INTERFACE: <optional dataplane interface parameter>
133+
VROUTER_GATEWAY: <optional dataplane gateway parameter>
134+
openstack_compute:
135+
contrail_configuration:
136+
CONTRAIL_VERSION: R21.05
137+
CONTRAIL_CONTAINER_TAG: R21.05
138+
CLOUD_ORCHESTRATOR: openstack
139+
RABBITMQ_NODE_PORT: 5673
140+
VROUTER_GATEWAY: <Gateway_IP_Address_for_Dataplane_Network>
141+
PHYSICAL_INTERFACE: <Iface_Name_That_vhost0_Will_Use>
142+
AUTH_MODE: keystone
143+
KEYSTONE_AUTH_URL_VERSION: /v3
144+
KEYSTONE_AUTH_ADMIN_USER: admin
145+
KEYSTONE_AUTH_ADMIN_PASSWORD: <KeyStone_Admin_Password>
146+
ENCAP_PRIORITY: VXLAN,MPLSoUDP,MPLSoGRE
147+
kolla_config:
148+
kolla_globals:
149+
openstack_release: rocky
150+
enable_haproxy: no
151+
enable_ironic: no
152+
enable_swift: no
153+
kolla_passwords:
154+
keystone_admin_password: *keystone_passwd
155+
156+
6. Go to `contrail-ansible-deployer` folder and run the following `ansible-playbook` commands:
157+
158+
``# cd contrail-ansible-deployer``
159+
160+
``# ansible-playbook -i inventory/ -e orchestrator=openstack playbooks/configure_instances.yml``
161+
162+
``# ansible-playbook -i inventory/ playbooks/install_openstack.yml``
163+
164+
``# ansible-playbook -i inventory/ -e orchestrator=openstack playbooks/install_contrail.yml``
165+
166+
#. After the Tungsten Fabric deployment, we can run ``contrail-status`` command on both Tungsten Fabric Controller node and Tungsten Fabric Compute Node(s) to check whether Tungsten Fabric Docker containers are up and running. A successful installation should display all Tungsten Fabric containers as `active`.
167+
168+
Below it is displayed the output of ``# contrail-status`` command run on Tungsten Fabric Controller node and on Tungsten Fabric Compute node, respectively:
169+
170+
``# contrail-status``
171+
172+
::
173+
174+
== Contrail control ==
175+
control: active
176+
nodemgr: active
177+
named: active
178+
dns: active
179+
180+
== Contrail config-database ==
181+
nodemgr: active
182+
zookeeper: active
183+
rabbitmq: active
184+
cassandra: active
185+
186+
== Contrail database ==
187+
kafka: active
188+
nodemgr: active
189+
zookeeper: active
190+
cassandra: active
191+
192+
== Contrail analytics ==
193+
snmp-collector: active
194+
query-engine: active
195+
api: active
196+
alarm-gen: active
197+
nodemgr: active
198+
collector: active
199+
topology: active
200+
201+
== Contrail webui ==
202+
web: active
203+
job: active
204+
205+
== Contrail config ==
206+
api: active
207+
zookeeper: active
208+
svc-monitor: backup
209+
nodemgr: active
210+
device-manager: active
211+
cassandra: active
212+
rabbitmq: active
213+
schema: active
214+
215+
# contrail-status
216+
217+
::
218+
219+
vrouter kernel module is PRESENT
220+
== Contrail vrouter ==
221+
nodemgr: active
222+
agent: active
223+
224+
225+
Manage Tungsten Fabric
226+
----------------------
227+
228+
Next, the user can login via Tungsten Fabric Web UI, by accessing:
229+
230+
``https://<Tungsten_Fabric_Controller_Mgmt_IP_Address>:8143``
231+
232+
with the following credentials:
233+
234+
Username: ``admin``
235+
236+
Password: ``<KeyStone_Admin_Password>``
237+
238+
239+
240+
.. _Tugnsten Fabirc Releases: ../release/index.html
241+
242+
243+

0 commit comments

Comments
 (0)