summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Vaduva <Paul.Vaduva@enea.com>2017-11-15 15:55:42 +0100
committerPaul Vaduva <Paul.Vaduva@enea.com>2017-11-20 12:20:16 +0100
commit0c8ed7cf5b247b40c36f955d0b959707637a232f (patch)
tree9e06b94915f69600403fdd60b65619ae5693c0d1
parentd4b5428c176638242f8ee1c409c220ea7a3605fe (diff)
downloaddoc-enea-nfv-0c8ed7cf5b247b40c36f955d0b959707637a232f.tar.gz
Refactored Chapter 4 regarding Tacker
I mde Chapter 4 Installing Tacker a section (4.1) of Chapter 4 Tacker and added a new section (4.2 Using Tacker) Signed-off-by: Paul Vaduva <Paul.Vaduva@enea.com>
-rw-r--r--book-enea-nfv-core-installation-guide/doc/tacker.xml223
1 files changed, 195 insertions, 28 deletions
diff --git a/book-enea-nfv-core-installation-guide/doc/tacker.xml b/book-enea-nfv-core-installation-guide/doc/tacker.xml
index 249e6d9..b8d6e6f 100644
--- a/book-enea-nfv-core-installation-guide/doc/tacker.xml
+++ b/book-enea-nfv-core-installation-guide/doc/tacker.xml
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="ISO-8859-1"?> 1<?xml version="1.0" encoding="ISO-8859-1"?>
2<chapter id="tacker"> 2<chapter id="tacker">
3 <title>Installing Tacker</title> 3 <title>Tacker</title>
4 4
5 <para><emphasis role="bold">Tacker</emphasis> is an OpenStack project, 5 <para><emphasis role="bold">Tacker</emphasis> is an OpenStack project,
6 building a generic VNF Manager and a NFV Orchestrator in order to deploy and 6 building a generic VNF Manager and a NFV Orchestrator in order to deploy and
@@ -9,21 +9,24 @@
9 and provides a functional stack to Orchestrate Network Services end-to-end 9 and provides a functional stack to Orchestrate Network Services end-to-end
10 using VNFs.</para> 10 using VNFs.</para>
11 11
12 <para>Execute the following in the Fuel master console:</para> 12 <section id="install_tacker">
13 <title>Installing Tacker</title>
13 14
14 <orderedlist> 15 <para>Execute the following in the Fuel master console:</para>
15 <listitem>
16 <para>Go to the tacker plugin directory:<programlisting>cd /var/www/nailgun/plugins/tacker-1.0/repositories/tacker</programlisting></para>
17 </listitem>
18 16
19 <listitem> 17 <orderedlist>
20 <para>Execute the following to install Ansible: <programlisting>yum install ansible</programlisting></para> 18 <listitem>
21 </listitem> 19 <para>Go to the tacker plugin directory:<programlisting>cd /var/www/nailgun/plugins/tacker-1.0/repositories/tacker</programlisting></para>
20 </listitem>
22 21
23 <listitem> 22 <listitem>
24 <para>Run the initialization script:<programlisting>./files/init.sh</programlisting>This 23 <para>Execute the following to install Ansible: <programlisting>yum install ansible</programlisting></para>
25 will create a hosts file for ansible 24 </listitem>
26 <literal>/etc/ansible/hosts</literal> of the form:<programlisting>********** 25
26 <listitem>
27 <para>Run the initialization script:<programlisting>./files/init.sh</programlisting>This
28 will create a hosts file for ansible
29 <literal>/etc/ansible/hosts</literal> of the form:<programlisting>**********
27[controllers] 30[controllers]
28node-3 mac_addr+68:05:ca:46:8b:64 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=****** 31node-3 mac_addr+68:05:ca:46:8b:64 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=******
29node-2 mac_addr+68:05:ca:46:8c:d4 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=****** 32node-2 mac_addr+68:05:ca:46:8c:d4 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=******
@@ -37,19 +40,183 @@ node-4 mac_addr+68:05:ca:46:8c:c2 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=***
37controllers 40controllers
38computes 41computes
39**********</programlisting></para> 42**********</programlisting></para>
40 </listitem> 43 </listitem>
41 44
42 <listitem> 45 <listitem>
43 <para>Use your favorite text editor to manually edit 46 <para>Use your favorite text editor to manually edit
44 <literal>ipmi_ip</literal> with the ip address of the ipmi interface, 47 <literal>ipmi_ip</literal> with the ip address of the ipmi interface,
45 <literal>ipmi_user</literal> with the user for accessing the ipmi 48 <literal>ipmi_user</literal> with the user for accessing the ipmi
46 interface, and <literal>ipmi_psss</literal> with the password used by 49 interface, and <literal>ipmi_psss</literal> with the password used by
47 the user to access the ipmi interface for all the nodes.</para> 50 the user to access the ipmi interface for all the nodes.</para>
48 </listitem> 51 </listitem>
49 52
50 <listitem> 53 <listitem>
51 <para>Run the ansible playbook responsible with the installation and 54 <para>Run the ansible playbook responsible with the installation and
52 configuration of tacker plugin.<programlisting>ansible-playbook tacker_deploy.yaml</programlisting></para> 55 configuration of tacker plugin.<programlisting>ansible-playbook tacker_deploy.yaml</programlisting></para>
53 </listitem> 56 </listitem>
54 </orderedlist> 57 </orderedlist>
58 </section>
59
60 <section id="install_tacker">
61 <title>Using Tacker</title>
62
63 <para>After Tacker has been installed and configured, perform the
64 following in order to start a VNF:</para>
65
66 <orderedlist>
67 <listitem>
68 <para>Log in using SSH to the controller node where Tacker has been
69 installed (Example here node-5) and authenticate with
70 openstack:</para>
71
72 <programlisting>[root@fuel ~]# ssh node-5
73root@node-5:~# . openrc</programlisting>
74 </listitem>
75
76 <listitem>
77 <para>Activate the virtual environment for Tacker:</para>
78
79 <programlisting>root@node-5:~# source /usr/share/tacker_venv/bin/activate</programlisting>
80
81 <para>All subsequent commands will be executed in the venv.</para>
82 </listitem>
83
84 <listitem>
85 <para>Register a default VIM:</para>
86
87 <programlisting>(tacker_venv) root@node-5:~# tacker vim-register --is-default --config-file
88testvim.yaml --description 'Default VIM' defaultVim</programlisting>
89
90 <para>The sample .yaml file has the following contents</para>
91
92 <programlisting>auth_url: '&lt;keystone-auth_url&gt;'
93username: 'admin'
94password: '&lt;password&gt;'
95project_name: 'admin'
96project_domain_name: 'Default'
97user_domain_name: 'Default'
98</programlisting>
99 </listitem>
100
101 <listitem>
102 <para>Define a VNF Descriptor (VNFD):</para>
103
104 <programlisting>(tacker_venv) root@node-5:~# tacker vnfd-create --vnfd-file testvnf.yaml TestVNF</programlisting>
105
106 <para>The sample .yaml file has the following contents:</para>
107
108 <programlisting>tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
109
110description: Demo example
111
112metadata:
113 template_name: sample-tosca-vnfd
114
115topology_template:
116
117 node_templates:
118 VDU1:
119 type: tosca.nodes.nfv.VDU.Tacker
120 capabilities:
121 nfv_compute:
122 properties:
123 num_cpus: 1
124 mem_size: 512 MB
125 disk_size: 1 GB
126 properties:
127 image: TestVM
128 flavor: m1.tiny
129 availability_zone: nova
130 mgmt_driver: noop
131 metadata: {metering.vnf: VDU1}
132 monitoring_policy:
133 name: noop # was ping
134 # parameters:
135 # monitoring_delay: 45
136 # count: 3
137 # interval: 1
138 # timeout: 2
139 # actions:
140 # failure: respawn
141 CP1:
142 type: tosca.nodes.nfv.CP.Tacker
143 properties:
144 order: 0
145 anti_spoofing_protection: false
146 requirements:
147 - virtualLink:
148 node: VL1
149 - virtualBinding:
150 node: VDU1
151
152 VL1:
153 type: tosca.nodes.nfv.VL
154 properties:
155 network_name: admin_internal_net
156 vendor: Tacker
157
158 FIP1:
159 type: tosca.nodes.network.FloatingIP
160 properties:
161 floating_network: admin_floating_net
162 requirements:
163 - link:
164 node: CP1
165
166 outputs:
167 mgmt_ip-VDU1:
168 description: 'management ip address'
169 value: { get_attr: [FIP1, floating_ip_address] }
170
171 policies:
172 - vdu1_respawn_on_error:
173 type: tosca.policies.tacker.AlarmingEvent
174 targets: [VDU1]
175 triggers:
176 vdu1_down:
177 event_type:
178 type: tosca.events.resource.event
179 implementation: ceilometer
180 condition:
181 resource: compute.instance.*
182 field: traits.state
183 value: error
184 op: eq
185 metadata: VDU1
186 actions: [respawn]</programlisting>
187 </listitem>
188
189 <listitem>
190 <para>Start a VNF:</para>
191
192 <programlisting>(tacker_venv) root@node-5:~# tacker vnf-create --vnfd-name TestVNF someVnf</programlisting>
193 </listitem>
194
195 <listitem>
196 <para>Verify:</para>
197
198 <programlisting>(tacker_venv) root@node-5:~# tacker vnf-list</programlisting>
199
200 <programlisting>+------------+---------+-----------------------+--------+----------+-----------+
201| id | name | mgmt_url | status | vim_id | vnfd_id |
202+------------+---------+-----------------------+--------+----------+-----------+
203| &lt;VNF-UUID&gt; | someVnf | {"VDU1": "&lt;MGMT-IP&gt;"} | ACTIVE | &lt;VIM-ID&gt; | &lt;VNFD-ID&gt; |
204+------------+---------+-----------------------+--------+----------+-----------+
205</programlisting>
206
207 <programlisting> root@node-5:~# nova list</programlisting>
208
209 <programlisting>+-----------+---------------+--------+------------+-------------+
210| ID | Name | Status | Task State | Power State |
211+-----------+---------------+--------+------------+-------------+
212| &lt;VM-UUID&gt; | ta-&lt;NAME&gt; | ACTIVE | - | Running |
213+-----------+---------------+--------+------------+-------------+
214-------------------------------------------------+
215 Networks |
216-------------------------------------------------+
217 admin_internal_net=&lt;INTERNAL-IP&gt;, &lt;FLOATING-IP&gt; |
218-------------------------------------------------+</programlisting>
219 </listitem>
220 </orderedlist>
221 </section>
55</chapter> \ No newline at end of file 222</chapter> \ No newline at end of file