<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Ios on Cisco Redes</title>
        <link>https://ciscoredes.com.br/tags/ios/</link>
        <description>Recent content in Ios on Cisco Redes</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>pt-br</language>
        <lastBuildDate>Tue, 13 Mar 2018 00:00:00 +0000</lastBuildDate><atom:link href="https://ciscoredes.com.br/tags/ios/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Ansible – Script Configuração usando Jinja2 – Parte 2</title>
            <link>https://ciscoredes.com.br/2018/03/13/ansible-script-configuracao-usando-jinja2-parte-2/</link>
            <pubDate>Tue, 13 Mar 2018 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2018/03/13/ansible-script-configuracao-usando-jinja2-parte-2/</guid>
            <description>&lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2018/03/ansible_script_jinja2_executed.jpg&#34; alt=&#34;Featured image of post Ansible – Script Configuração usando Jinja2 – Parte 2&#34; /&gt;&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;   Vamos continuar nossas explicações sobre as configurações ( &lt;strong&gt;scripts&lt;/strong&gt; ) que podemos fazer através de uma base externa ( &lt;strong&gt;csv&lt;/strong&gt; ) que iniciamos em nosso post &lt;a class=&#34;link&#34; href=&#34;https://ciscoredes.com.br/2018/03/08/ansible-configuracao-via-csv-file-loops/&#34; &gt;anterior&lt;/a&gt;. &lt;/p&gt;&#xA;&lt;p&gt;   Muitas pessoas mencionaram que de fato isso poderia ser feito através de um arquivo ( &lt;strong&gt;yaml&lt;/strong&gt; ) ou propriamente sendo populado através de outra metodologia via ( &lt;strong&gt;group_vars&lt;/strong&gt; ). Concordo, mas lembre-se, que eu havia mencionado que baseado em nossa estrutura de pastas vocês vão entender até nosso ultimo post as opções que teremos para trabalhar dessa forma.&lt;/p&gt;&#xA;&lt;p&gt;   Como proposto vou trazer nossa variável ” &lt;strong&gt;vars_dict&lt;/strong&gt; ” para nossa pasta ( &lt;strong&gt;group_vars/all.yml&lt;/strong&gt; ) adicionando ela dentro de outra variável ( &lt;strong&gt;vars_from_csv&lt;/strong&gt; ), para que de fato possamos utiliza-lá fazendo referências dentro de nosso script de configuração. &lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;vars_from_csv: &amp;#34;{{ vars_dict }}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Como demostrado nesse momento já temos todos os nossos valores ( &lt;strong&gt;variáveis&lt;/strong&gt; ) populadas, portanto, precisamos executar agora nosso template que irá capturar essas variáveis para inserir em nosso arquivo de configuração. &lt;/p&gt;&#xA;&lt;p&gt;   Dentro desse conceito “ &lt;strong&gt;DEVOPS&lt;/strong&gt; “, bem como para utilização com Ansible, umas das linguagens mais utilizadas para essas demandas é chamada de &lt;a class=&#34;link&#34; href=&#34;http://jinja.pocoo.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;JINJA2&lt;/a&gt;. Se vocês observarem a documentação ela também é utilizada como template para Python, portanto, desta forma você pode entender o porque da utilização nesse mundo de automação.&lt;/p&gt;&#xA;&lt;p&gt;   Sua documentação é bem extensa, mas gostaria de deixar documentado em nosso BLOG os principais ítens, que nesse primeiro momento seria para criar nosso arquivo de configuração. Eles estão relacionados aos loops e variáveis que temos que criar para utilizar em nossos equipamentos.&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;ul&gt;&#xA;&lt;li&gt;{% … %} for Statements&lt;/li&gt;&#xA;&lt;li&gt;{{ … }} for Expressions to print to the template output&lt;/li&gt;&#xA;&lt;li&gt;{# … #} for Comments not included in the template output&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;h1 id=&#34;--for-line-statements&#34;&gt;… ## for Line Statements&#xA;&lt;/h1&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;   Para execução de nosso template iremos adicionar em nossa playbook inicial uma ” &lt;em&gt;role&lt;/em&gt; ” relacionado as tarefas que iremos executar para obter o jinja ( &lt;strong&gt;.j2&lt;/strong&gt; ).&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;- name: JINJA AND CSVFILE&#xA;  hosts: all&#xA;  gather_facts: no&#xA;  connection: local&#xA;&#xA;  tasks:&#xA;  - name: OBTAIN LOGIN CREDENTIALS&#xA;    include_vars: secret.yaml&#xA;&#xA;  - name: LOOKUP IN CSV FILE&#xA;    include_role:&#xA;      name: lookup_csv_info&#xA;    when: ./excel/test.csv is defined&#xA;&#xA;  - name: EXECUTE JINJA2&#xA;    include_role:&#xA;      name: script_jinja2&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Após esse processo vamos construir nossa task via ” &lt;em&gt;template&lt;/em&gt; “, onde nosso arquivo de origem será ( &lt;strong&gt;.j2&lt;/strong&gt; ) transformando ele um arquivo destino ( &lt;strong&gt;.conf&lt;/strong&gt; ) que será posteriormente arquivo para executar em nossos equipamentos da infra-estrutura. Segue task do template:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;- name: TEMPLATE&#xA;  template:&#xA;    src: ./template/script.j2&#xA;    dest: ./template/configuration/script_{{ inventory_hostname }}.conf&#xA;  with_items: &amp;#34;{{ inventory_hostname }}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Como observado precisamos agora ter nosso ” &lt;em&gt;script.j2&lt;/em&gt; ” construido, onde será ele o criador da configuração utilizando nossas variáveis capturadas anteriormente. &lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;!&#xA;hostname {{ vars_from_csv.new_hostname }}&#xA;!&#xA;{% if vars_from_csv.DHCP == &amp;#39;true&amp;#39; %}&#xA;no ip dhcp conflict logging&#xA;ip dhcp excluded-address {{vars_from_csv.dhcp_exclude1_start}} {{vars_from_csv.dhcp_exclude1_end}}&#xA;!&#xA;ip dhcp pool POOL1&#xA;   network {{vars_from_csv.dhcp_network}} {{vars_from_csv.dhcp_netmask}}&#xA;   default-router {{vars_from_csv.dhcp_gateway}}&#xA;   dns-server 8.8.8.8 8.8.4.4&#xA;{% endif %}&#xA;!&#xA;interface loopback {{ vars_from_csv.id_loopback }}&#xA; description + Management +&#xA; ip address {{ vars_from_csv.ip_loopback }} {{ vars_from_csv.mask_loopback }}&#xA; no shutdown&#xA;!&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   De fato o que podemos entender com essa metodologia é que podemos fazer ” &lt;strong&gt;loops&lt;/strong&gt; ” e a utilização de condicionais “ &lt;strong&gt;if&lt;/strong&gt; ” para que se tivermos um valor ( &lt;em&gt;” true/false ” ou ” 1/0 “&lt;/em&gt; ) eu posso tomar algumas decisões nessa configuração. Observem que estou colocando como exemplo a variável “ &lt;strong&gt;DHCP&lt;/strong&gt; ” sendo verdadeira ( ” &lt;em&gt;true&lt;/em&gt; ” ), que por consequência eu preciso implementar o DHCP, caso contrário eu não desejo implementar esse recurso em meus roteadores.&lt;/p&gt;&#xA;&lt;p&gt;   Com isso conseguimos observar que as alterações foram executadas utilizando nosso script.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2018/03/ansible_script_jinja2_executed.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;   Para garantirmos que foi executado correto vamos observar nossos arquivos de configuração, criados para cada roteador.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2018/03/ansible_folders_arq_conf_routers.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Configuração do Roteador 1&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Configuração do Roteador 2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;!  hostname R1_floor1  !  no ip dhcp conflict logging  ip dhcp excluded-address 1.1.1.9 1.1.1.10  !  ip dhcp pool POOL1  network 1.1.1.8 255.255.255.248  default-router 1.1.1.1  dns-server 8.8.8.8 8.8.4.4  !  interface loopback 10  description + Management +  ip address 10.10.10.1 255.255.255.255  no shutdown  !&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;!  hostname R2_floor1  !  !  interface loopback 10  description + Management +  ip address 10.10.10.1 255.255.255.255  no shutdown  !&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;   Vale lembrar, que não estou fazendo o acesso aos equipamento para descarregar as informações ( &lt;strong&gt;scripts&lt;/strong&gt; ), pois não tenho todo esse inventário emulado nesse momento para inserir todos os roteadores. Caso tenha necessidade pode observar em nossos posts anteriores, mas a forma para implementar nos equipamentos seria adicionar essa task em nossa playbook ( &lt;strong&gt;./script_jinja2/tasks/main.yaml&lt;/strong&gt; ).&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;- name: Execute Script&#xA;  ios_config:&#xA;    provider: &amp;#34;{{ creds }}&amp;#34;&#xA;    src: ./template/configuration/script_{{ inventory_hostname }}.conf&#xA;  with_items: &amp;#34;{{ inventory_hostname }}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Talvez vocês devem estar se perguntando onde está o ” &lt;strong&gt;loop&lt;/strong&gt; ” da configuração. Exato, ele vai ser adicionado em nosso próximo post.  💡&lt;/p&gt;&#xA;&lt;p&gt;   Espero que vocês tenha gostado e deixem seus comentários.&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Ansible – Configuração via CSV File – Parte 1</title>
            <link>https://ciscoredes.com.br/2018/03/08/ansible-configuracao-via-csv-file-loops/</link>
            <pubDate>Thu, 08 Mar 2018 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2018/03/08/ansible-configuracao-via-csv-file-loops/</guid>
            <description>&lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2018/03/ansible_tree_project_csv_file.jpg&#34; alt=&#34;Featured image of post Ansible – Configuração via CSV File – Parte 1&#34; /&gt;&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;   Dando sequência as nossas publicações sobre Ansible, e como já comentei com vocês que estou pegando alguns exemplos que de fato são situações que nós Engenheiros de Rede acaba vivenciado para executar esse tipo de trabalho em nosso dia a dia, ou seja, venho com a pergunta. Vocês já receberam aquele Excel &lt;strong&gt;( .csv ),&lt;/strong&gt; para de fato fazer algumas alterações em seus equipamentos?&lt;/p&gt;&#xA;&lt;p&gt;   Se sim, acredito que você está no caminho correto, pois hoje, venho com mais um exemplo que vamos fazer as preparações para tratar nossos dados e posteriormente criar nossos arquivos de configuração que serão aplicados em nossos equipamentos &lt;strong&gt;Cisco ( IOS )&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;   Vale lembrar, para que seja efetivo nossa Automação precisamos ter um inventário consolidado, onde as informações relacionadas ao nossos equipamentos devem ser coerentes para futuro crescimento de nossa infra-estrutura. Se você ainda não acompanhou os posts anteriores, recomenda-se ler esses &lt;a class=&#34;link&#34; href=&#34;https://www.ciscoredes.com.br/category/ansible&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;tópicos sobre Ansible.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;   Como vocês podem observar vamos tratar nossos dados via um arquivo &lt;strong&gt;( .csv )&lt;/strong&gt;, que de alguma forma são valores/informações populadas através de outras fontes ( ferramentas, pessoas, etc ). Em nosso exemplo, estou colocando diversas informações que a principio vocês possam não entender, mas no decorrer de nossos posts isso fará sentido para o entendimento correto e as opções que podemos criar em nossa automação.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;inventory_hostname,DHCP,dhcp_exclude1_start,dhcp_exclude1_end,dhcp_network,dhcp_netmask,dhcp_gateway,new_hostname,id_loopback,ip_loopback,mask_loopback&#xA;R1,true,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R1_floor1,10,10.10.10.1,255.255.255.255&#xA;R2,false,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R2_floor1,10,10.10.10.1,255.255.255.255&#xA;R3,false,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R3_floor1,10,10.10.10.1,255.255.255.255&#xA;R4,false,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R4_floor1,10,10.10.10.1,255.255.255.255&#xA;R31,true,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R31_floor1,10,10.10.10.1,255.255.255.255&#xA;R32,true,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R32_floor1,10,10.10.10.1,255.255.255.255&#xA;R5,false,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R5_floor1,10,10.10.10.1,255.255.255.255&#xA;R6,true,1.1.1.9,1.1.1.10,1.1.1.8,255.255.255.248,1.1.1.1,R6_floor1,10,10.10.10.1,255.255.255.255&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Como vocês podem observar isso são exemplos e vocês podem adaptar conforme sua necessidade e as solicitações que são exigidas pelas diferentes áreas de sua empresa. Todo o desenvolvimento de nossa automação também é muito co-relacionada com a estrutura de pastas e arquivos que vamos utilizar dentro do Ansible, portanto segue a estrutura que estou utilizando para esse exemplo.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2018/03/ansible_tree_project_csv_file.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;   Uma outra informação diferente dos exemplos citados em nossos posts sobre Ansible, é que estou criando como fictício todos esses roteadores em nosso arquivo de inventário ( &lt;strong&gt;./hosts&lt;/strong&gt; ), para que nosso exemplo seja mais robusto e obviamente no final de nosso exemplo irei demonstrar como aplicar as configurações. Segue meu inventário criado para esse exemplo:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[routers-client]&#xA;R1 ansible_host=192.168.0.22&#xA;R2 ansible_host=192.168.0.23&#xA;R31 ansible_host=192.168.0.24&#xA;R5 ansible_host=192.168.0.25&#xA;R6 ansible_host=192.168.0.26&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Tendo como base essas informações vamos trabalhar com um módulo que Ansible oferece que é de executar um “&lt;a class=&#34;link&#34; href=&#34;http://docs.ansible.com/ansible/latest/playbooks_lookups.html#the-csv-file-lookup&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt; &lt;em&gt;lookup&lt;/em&gt;&lt;/a&gt; ” dentro de um arquivo &lt;strong&gt;( .csv )&lt;/strong&gt;. Para que nosso código seja mais estruturado minha playbook principal irá chamar minha “&lt;a class=&#34;link&#34; href=&#34;https://docs.ansible.com/ansible/latest/playbooks_reuse_roles.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt; &lt;em&gt;role&lt;/em&gt; &lt;/a&gt;” definida como ( &lt;strong&gt;./lookup_csv_info.yaml&lt;/strong&gt; ).&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;- name: JINJA AND CSVFILE&#xA;  hosts: all&#xA;  gather_facts: no&#xA;  connection: local&#xA;&#xA;  tasks:&#xA;  - name: OBTAIN LOGIN CREDENTIALS&#xA;    include_vars: secret.yaml&#xA;&#xA;  - name: LOOKUP IN CSV FILE&#xA;    include_role:&#xA;      name: lookup_csv_info&#xA;    when: ./excel/test.csv is defined&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Talvez vocês devem estar se perguntando o porque utilizar “ &lt;strong&gt;roles&lt;/strong&gt; ” dentro desse código? De fato a funcionalidade role é muito utilizada no sentido de trazer mais dinamismo, funcionalidade e flexibilidade  para seu código, pois eles podem se tornar difíceis de gerenciar e difíceis de manter com um único arquivo. As roles permitem que você crie playbooks mínimas que, em seguida, busque uma estrutura de diretório para determinar as etapas de configurações reais que precisam executar, bem como proceder para as próximas roles se anterior foi executada/validada da forma correta.&lt;/p&gt;&#xA;&lt;p&gt;   Seguindo essa linha de raciocínio, demostro agora a playbook específica que irá pesquisar todas as informações dentro de nosso arquivo ( &lt;strong&gt;.csv&lt;/strong&gt; ). Ressalto, que em nosso arquivo temos mais informações do que de fato existem ( &lt;em&gt;&lt;strong&gt;hostnames&lt;/strong&gt;&lt;/em&gt; ) nosso arquivo de ( &lt;strong&gt;./hosts&lt;/strong&gt; ), ou seja, estamos pesquisando em nossa planilha se existem elementos que coincidem com nosso inventário.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;- name: GET VARIABLES FROM CSVFILE&#xA;  set_fact:&#xA;    vars_dict:&#xA;        DHCP: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=1 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        dhcp_exclude1_start: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=2 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        dhcp_exclude1_end: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=3 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        dhcp_network: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=4 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        dhcp_netmask: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=5 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        dhcp_gateway: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=6 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        new_hostname: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=7 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        id_loopback: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=8 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        ip_loopback: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=9 delimiter=,&amp;#39;) }}&amp;#34;&#xA;        mask_loopback: &amp;#34;{{ lookup(&amp;#39;csvfile&amp;#39;, &amp;#39;{{ inventory_hostname }} file=./excel/test.csv col=10 delimiter=,&amp;#39;) }}&amp;#34;&#xA;  with_items: &amp;#34;{{ inventory_hostname }}&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Para que possamos ver que as informações estão sendo capturadas vamos colocar uma task contendo debug de uma variável para observar o comportamento. Essa variável em nosso caso é ” &lt;strong&gt;var_dict&lt;/strong&gt; ” onde se tem todo o ” &lt;strong&gt;dicionário&lt;/strong&gt; ” com os valores populados de cada elemento. Para adicionar essa validação foi inserido o comando:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  - debug: var={{&amp;#39;vars_dict&amp;#39;}}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Desta forma temos esse output e a confirmação que os dados estão sendo populados corretamente.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2018/03/ansible_var_dictionary_csv_file.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;   Acredito que vocês observaram que temos todos os elementos que foram lidos/capturados baseado em cada coluna de nosso arquivo &lt;strong&gt;( .csv )&lt;/strong&gt; comparado ao nosso inventário em uma única “ &lt;em&gt;&lt;strong&gt;task&lt;/strong&gt;&lt;/em&gt; “. Porquê?&lt;/p&gt;&#xA;&lt;p&gt;   Isso está relacionado justamente com ” &lt;a class=&#34;link&#34; href=&#34;http://docs.ansible.com/ansible/latest/playbooks_loops.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;loops&lt;/a&gt; ” que podemos criar dentro de nossas “ &lt;em&gt;&lt;strong&gt;tasks&lt;/strong&gt;&lt;/em&gt; “, fazendo com que ele faça a mesma tarefa diversas vezes baseado no requisito que estamos utilizando. Para nosso exemplo estou usando a variável “ &lt;strong&gt;{{ inventory_hostname }}&lt;/strong&gt; “, justamente para que ela pesquise no arquivo todos os roteadores expostos no arquivo ( &lt;strong&gt;./hosts&lt;/strong&gt; ). Essa função pode ser observada através do ” &lt;strong&gt;with_items:&lt;/strong&gt; “.&lt;/p&gt;&#xA;&lt;p&gt;   Espero que vocês tenham gostado e no próximo post vou detalhar como trabalhar com esse dados. &lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-includes/images/smilies/mrgreen.png&#34; alt=&#34;:mrgreen:&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Ansible – Validação de Configuração – Parte 3</title>
            <link>https://ciscoredes.com.br/2017/10/30/ansible-validacao-de-configuracao-parte-3/</link>
            <pubDate>Mon, 30 Oct 2017 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2017/10/30/ansible-validacao-de-configuracao-parte-3/</guid>
            <description>&lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2017/10/Ansible-Compare_running_startup_CLI_add_user.jpg&#34; alt=&#34;Featured image of post Ansible – Validação de Configuração – Parte 3&#34; /&gt;&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;   Seguindo em nossos posts, continuamos trabalhando para fazer nossas comparações entre as configurações que estão aplicadas em nosso ambiente. Hoje vamos tratar sobre a validação do módulo ” &lt;strong&gt;startup-config&lt;/strong&gt; “.&lt;/p&gt;&#xA;&lt;p&gt;   Como vocês observaram anteriormente, sempre estavamos validando situações onde iríamos comparar arquivos ( &lt;em&gt;&lt;strong&gt;scripts&lt;/strong&gt;&lt;/em&gt; ) que poderiam ser aplicados em nossos equipamentos ou validados no sentido de possíveis alterações que de fato não se equipara com nossa base ( &lt;em&gt;&lt;strong&gt;backup&lt;/strong&gt;&lt;/em&gt; ).&lt;/p&gt;&#xA;&lt;p&gt;   Logo abaixo, iremos fazer uma validação simples entre “ &lt;em&gt;startup-config&lt;/em&gt; ” com a ” &lt;em&gt;running-config&lt;/em&gt; “, com isso temos outro motivo para possíveis troubleshooting identificar rapidamente se algo foi alterado, e se de fato essa alteração foi feita da maneira correta, sempre lembrando-se que, essas alterações podem aparecer desde que ainda não foram salvas na &lt;strong&gt;NVRAM&lt;/strong&gt;. Abaixo temos o script:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;---&#xA;- hosts: all&#xA;  connection: local&#xA;  gather_facts: no&#xA;&#xA;  tasks:&#xA;  - name: OBTAIN LOGIN CREDENTIALS&#xA;    include_vars: secret.yaml&#xA;&#xA;  - name: Fill vars&#xA;    set_fact:&#xA;      provider:&#xA;        host: &amp;#34;{{ ansible_host }}&amp;#34;&#xA;        username: &amp;#34;{{ creds[&amp;#39;username&amp;#39;] }}&amp;#34;&#xA;        password: &amp;#34;{{ creds[&amp;#39;password&amp;#39;] }}&amp;#34;&#xA;        auth_pass: &amp;#34;{{ creds[&amp;#39;auth_pass&amp;#39;] }}&amp;#34;&#xA;&#xA;  - name: Compare startup-config with running-config&#xA;    ios_config:&#xA;      diff_against: startup&#xA;      provider: &amp;#34;{{ provider }}&amp;#34;&#xA;    register: test_diff&#xA;&#xA;  - name: Take startup-config and sets it to a variable called *before*&#xA;    set_fact: before=&amp;#34;{{ test_diff[&amp;#39;diff&amp;#39;][&amp;#39;before&amp;#39;].split(&amp;#39;\n&amp;#39;)}}&amp;#34;&#xA;    when: test_diff[&amp;#39;diff&amp;#39;] is defined&#xA;&#xA;  - name: This takes the running_config and sets it to a variable called *after*&#xA;    set_fact: after=&amp;#34;{{ test_diff[&amp;#39;diff&amp;#39;][&amp;#39;after&amp;#39;].split(&amp;#39;\n&amp;#39;)}}&amp;#34;&#xA;    when: test_diff[&amp;#39;diff&amp;#39;] is defined&#xA;&#xA;  - name: Create a line-to-line diff of running-config to startup_config&#xA;    set_fact: difference=&amp;#34;{{ after | difference(before) }}&amp;#34;&#xA;    when: test_diff[&amp;#39;diff&amp;#39;] is defined&#xA;&#xA;  - name: sanitized output &amp;#34;Lines added to running-config that are not present in startup_config&amp;#34;&#xA;    debug:&#xA;      var: difference&#xA;    when: test_diff[&amp;#39;diff&amp;#39;] is defined&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;   Vale ressaltar que utilizamos a mesma técnica já explicada anteriormente, onde temos que “ &lt;em&gt;sanitizar&lt;/em&gt; ” as diferenças para que de fato tenhamos a saída mais ” &lt;em&gt;clean&lt;/em&gt; ” possível, e claro de fácil visualização. No primeiro momento, como vocês vão perceber apenas executei nossa playbook para demonstrar que de fato meu equipamento foi ligado e permanece com a mesma configuração. &lt;/p&gt;&#xA;&lt;p&gt;   A mensangem ” &lt;em&gt;skipping&lt;/em&gt; ” é justamente para mencionar que nossa variável esta ” &lt;em&gt;zerada&lt;/em&gt; ” e que essa tarefa está sendo pulada para as tarefas seguintes. Segue abaixo:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2017/10/Ansible-Compare_running_startup_no_difference.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;   Agora, como já temos tudo garantido, vamos novamente fazer uma alteração em nosso roteador relacionado a um novo usuário, e claro, não vamos salvar em nossa NVRAM.&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2017/10/Ansible-Compare_running_startup_CLI_add_user.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;   Feito isso, agora esperamos que após execução da playbook iremos visualizar que nosso novo usuário foi inserido na ” &lt;em&gt;&lt;strong&gt;running-config&lt;/strong&gt;&lt;/em&gt; “. Segue abaixo o output trazendo assim a linha adicional:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2017/10/Ansible-Compare_running_startup_show_difference.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;   Com isso, finalizamos nossas 3 opções de validação de configuração, para qual pode atender diversas opções dentro de nosso ambiente de produção ou mesmo de futuros laboratórios. Pensando assim, vendo nossas demonstrações você avalia que isso de fato pode automatizar algum processo que hoje você precisa executar manualmente ou não consiga gerenciar suas configurações de equipamentos? O que seria mais interessante? &lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;PS.:&lt;/strong&gt; Vale lembrar novamente que estamos executando somente em um roteador, porém isso, pode ser escalável a muitos equipamentos, apenas alterando nosso arquivo de hosts.&lt;/p&gt;&#xA;&lt;p&gt;   Deixe seus comentários.&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>BLOG para Mobile</title>
            <link>https://ciscoredes.com.br/2013/08/12/blog-para-mobile/</link>
            <pubDate>Mon, 12 Aug 2013 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2013/08/12/blog-para-mobile/</guid>
            <description>&lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/01/Logo.jpg&#34; alt=&#34;Featured image of post BLOG para Mobile&#34; /&gt;&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;  Após o anúncio de nosso &lt;a class=&#34;link&#34; href=&#34;https://ciscoredes.com.br/forum-visualizado-via-mobile/&#34;  title=&#34;Fórum visualizado via Mobile&#34;&#xA;    &gt;fórum&lt;/a&gt; o nosso BLOG também está adaptado para todo tipo de acesso, ou seja, nossos usuários que gostam de acessar de seus dispositivos móveis e não gostam de perder as funcionalidades, bem como ficar visualizando em uma resolução não muito adequada devido ao tamanho da tela, nós estamos com essa funcionalidade habilitada para que vocês usuários possam acessar de qualquer equipamento nosso BLOG/Fórum com o máximo proveito.&lt;/p&gt;&#xA;&lt;p&gt;  Espero que gostem!!!&lt;/p&gt;&#xA;&lt;p&gt;  Segue algumas fotos:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-11-20-52-26.png&#34; alt=&#34;Screenshot_2013-08-11-20-52-26&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-11-20-54-33.png&#34; alt=&#34;Screenshot_2013-08-11-20-54-33&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-11-20-52-42.png&#34; alt=&#34;Screenshot_2013-08-11-20-52-42&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-11-20-54-08.png&#34; alt=&#34;Screenshot_2013-08-11-20-54-08&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Fórum visualizado via Mobile</title>
            <link>https://ciscoredes.com.br/2013/08/07/forum-visualizado-via-mobile/</link>
            <pubDate>Wed, 07 Aug 2013 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2013/08/07/forum-visualizado-via-mobile/</guid>
            <description>&lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-04-21-44-41.png&#34; alt=&#34;Featured image of post Fórum visualizado via Mobile&#34; /&gt;&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;  Como todos devem saber nos temos nosso fórum que funciona através desse &lt;a class=&#34;link&#34; href=&#34;https://ciscoredes.com.br/forum/&#34;  title=&#34;Forum&#34;&#xA;    &gt;link&lt;/a&gt;, para qual discutimos os assuntos pertinentes e duvidosos que possam surgir em nosso dia a dia, bem como dicas, classificados entre outros.&lt;/p&gt;&#xA;&lt;p&gt;  A dica aqui é para quem visualiza o fórum através do Android ou iPhone. O fórum utiliza-se através de um aplicativo que pode facilitar a visualização através de uma ferramenta chamada &lt;strong&gt;” Tapatalk “&lt;/strong&gt;, na qual irá trazer um aplicativo para que seja instalado no tablet, phone ou algum dispositivo móvel. Devido a isso você pode ter a facilidade de navegação, bem como todas as funções como se estivesse no seu desktop. Vale a pensa conferir.&lt;/p&gt;&#xA;&lt;p&gt;  O software pode ser visualizado através do Play Store ou Apple Store.&lt;/p&gt;&#xA;&lt;p&gt;  Segue as telas de visualização:&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-04-21-44-41.png&#34; alt=&#34;Screenshot_2013-08-04-21-44-41&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-06-23-06-44.png&#34; alt=&#34;Screenshot_2013-08-06-23-06-44&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-06-23-07-03.png&#34; alt=&#34;Screenshot_2013-08-06-23-07-03&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;    &lt;img src=&#34;https://ciscoredes.com.br/wp-content/uploads/2013/08/Screenshot_2013-08-04-21-45-34.png&#34; alt=&#34;Screenshot_2013-08-04-21-45-34&#34; loading=&#34;lazy&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Guia Salarial – 2013</title>
            <link>https://ciscoredes.com.br/2012/09/07/guia-salarial-2013/</link>
            <pubDate>Fri, 07 Sep 2012 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2012/09/07/guia-salarial-2013/</guid>
            <description>&lt;p&gt;Olá caros,&lt;/p&gt;&#xA;&lt;p&gt;  Gostaria de compartilhar com vocês uma tabela sobre &lt;strong&gt;cargos X salários,&lt;/strong&gt; de um grupo que anualmente pública essas informações para os profissionais de diversas áreas ( finanças, contabilidade, seguros, bancos, engenharia, marketing, vendas, tecnologia e jurídica ). Como nossa área está incluída nessa pesquisa gostaria de compartilhar esse anúncio para dar direção e embasamento para os profissionais.&lt;/p&gt;&#xA;&lt;p&gt;  A pesquisa é baseada no salário médio aplicado para o mercado brasileiro, portanto esse número pode variar dependendo da região e do tamanho da empresa. Você pode verificar o arquivo abaixo: &lt;/p&gt;&#xA;&lt;p&gt;[gview file=”https://www.ciscoredes.com.br/wp-content/uploads/Robert_Half_2013_Guia_Salarial_Brasil.pdf” height=”500″ width=”600″save=”0″ force=”1″]&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Semana IPV6 – Campus Party</title>
            <link>https://ciscoredes.com.br/2012/02/08/semana-ipv6-campus-party/</link>
            <pubDate>Wed, 08 Feb 2012 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2012/02/08/semana-ipv6-campus-party/</guid>
            <description>&lt;p&gt;Olá caros,&lt;/p&gt;&#xA;&lt;p&gt;  Gostaria de notifica-lós que estamos em nossa &lt;a class=&#34;link&#34; href=&#34;http://www.ipv6.br/IPV6/SemanaIPv6&#34;  title=&#34;IPV6&#34;&#xA;     target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;semana IPV6&lt;/a&gt; em conjunto com nossa famosa &lt;a class=&#34;link&#34; href=&#34;http://www.campus-party.com.br/2012/index.html&#34;  title=&#34;Campus Party&#34;&#xA;     target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Campus Party 2012&lt;/a&gt;. &lt;/p&gt;&#xA;&lt;p&gt;  Diversos eventos estão acontecendo essa semana, principalmente para os testes com nossos grandes provedores de conteúdo e acesso para testes dentro de uma infra-estrutura IPV6. Os participantes que fazem parte dessa iniciativa é &lt;strong&gt;Globo, iG, KingHost, Locaweb,Mastercard, RNP, Tecla, Telefônica, Terra, UOL e USP&lt;/strong&gt;, porém existem diversas outras empresa engajadas nesse evento.&lt;/p&gt;&#xA;&lt;p&gt;  Na Campus Party que acontece no Anhembi – São Paulo os usuários, terão conectividade Internet de alta velocidade por uma semana, e com IPv6 nativo. Os participantes da Campus Party serão capazes de auxiliar nos testes, gerando tráfego real IPv6 para os sites Web e redes participantes. Neste evento teremos diversas palestras que podem ser assistidas &lt;a class=&#34;link&#34; href=&#34;http://live.campus-party.org/&#34;  title=&#34;On Line&#34;&#xA;     target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;on-line&lt;/a&gt;, como se estivessemos no evento. Visite o site e obtenha informações relacionados ao nosso mundo de tecnologia.&lt;/p&gt;&#xA;&lt;p&gt;  Espero que aproveitem e aguardo comentários. 🙂&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;/p&gt;&#xA;&lt;p&gt;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>CCNA alterado!!!</title>
            <link>https://ciscoredes.com.br/2012/01/30/ccna-alterado/</link>
            <pubDate>Mon, 30 Jan 2012 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2012/01/30/ccna-alterado/</guid>
            <description>&lt;p&gt;Olá caros,&lt;/p&gt;&#xA;&lt;p&gt;  Acredito que nem todos sabem, mas tivemos alteração no valor da prova do CCNA. &lt;strong&gt;UFA&lt;/strong&gt;!!! Imaginaram que seria a prova, talvez seria melhor 🙁&lt;/p&gt;&#xA;&lt;p&gt;  A Cisco atualizou o preço da prova para a Certificação CCNA, porém também tivemos uma melhoria nos descontos para os alunos que frequentam o NetAcademy. O novo valor da prova foi elevado para U$295,00 e o desconto para estudantes do NetAcademy passaram de 50% para 58%.&lt;/p&gt;&#xA;&lt;p&gt;Outra alteração que tivemos foi com as provas de entry level ICND 1 e ICND2 que tiveram os preços alterados para U$150,00, ou seja, se fizer as duas provas separadas iremos gastar 5 dolares a mais para concluir o CCNA.&lt;/p&gt;&#xA;&lt;p&gt;Olhando para essas alterações percebemos que a cada dia essa prova fica mais crítica, portanto afetando mais o ( &lt;strong&gt;bolso&lt;/strong&gt; ) em situações de reprovação. Por isso vamos estudar e ter certeza que estamos aptos a executar essa certificação.&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Cisco Live Magazine – Edição Dezembro</title>
            <link>https://ciscoredes.com.br/2011/12/29/cisco-live-magazine-edicao-dezembro/</link>
            <pubDate>Thu, 29 Dec 2011 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2011/12/29/cisco-live-magazine-edicao-dezembro/</guid>
            <description>&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;  Segue a publicação da Edição 5 da revista Cisco Live Magazine do mês de Dezembro.&lt;/p&gt;&#xA;&lt;p&gt;  Nesta edição temos reportagens sobre Telepresença, Rede BorderLess e outros assuntos.&lt;/p&gt;&#xA;&lt;p&gt;  Segue abaixo a revista:&lt;/p&gt;&#xA;&lt;p&gt;[issuu width=420 height=282 shareMenuEnabled=false backgroundColor=%23222222 documentId=111215122109-28669d625220402eb951b7c6d350a97d name=revista_live_5_baixa username=interativaeditora tag=call%20center unit=px id=e686cc5f-ba85-a7c8-0c59-b55e2a5f2e81 v=2]&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>A Internet anunciada</title>
            <link>https://ciscoredes.com.br/2011/12/18/a-internet-anunciada/</link>
            <pubDate>Sun, 18 Dec 2011 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2011/12/18/a-internet-anunciada/</guid>
            <description>&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;  Segue um vídeo com explicações básicas sobre a Internet. Ele traz conceitos simples de funcionamento, porém com informações que podem demonstrar em poucos minutos a grande REDE compartilhada que existe para todos nos seres humanos.&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Guia Salarial – Área de TI</title>
            <link>https://ciscoredes.com.br/2011/11/14/guia-salarial-area-de-ti/</link>
            <pubDate>Mon, 14 Nov 2011 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2011/11/14/guia-salarial-area-de-ti/</guid>
            <description>&lt;p&gt;Olá caros,&lt;/p&gt;&#xA;&lt;p&gt;  Gostaria de compartilhar com vocês uma tabela sobre &lt;strong&gt;cargos X salários,&lt;/strong&gt; de um grupo que anualmente pública essas informações para os profissionais de diversas áreas ( finanças, contabilidade, seguros, bancos, engenharia, marketing, vendas, tecnologia e jurídica ). Como nossa área está incluída nessa pesquisa gostaria de compartilhar esse anúncio para dar direção e embasamento para os profissionais.&lt;/p&gt;&#xA;&lt;p&gt;  A pesquisa é baseada no salário médio aplicado para o mercado brasileiro, portanto esse número pode variar dependendo da região e do tamanho da empresa. Você pode fazer o download do arquivo no site abaixo:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.roberthalf.com.br/guia-salarial&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://www.roberthalf.com.br/guia-salarial&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;  Existe uma outra fonte para pesquisas, porém a última atualização dela foi no ano de 2010, entretanto temos uma divisão por região dos &lt;strong&gt;cargos X salários&lt;/strong&gt;. Segue abaixo:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://apinfo.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://apinfo.com/&lt;/a&gt; – Menu = Salários&lt;/p&gt;&#xA;&lt;p&gt;  Espero comentários!! 😉&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Cisco Live Magazine</title>
            <link>https://ciscoredes.com.br/2011/10/29/cisco-live-magazine/</link>
            <pubDate>Sat, 29 Oct 2011 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2011/10/29/cisco-live-magazine/</guid>
            <description>&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;  Gostaria de trazer mais uma informação referenciando-se a uma revista online que saiu da Cisco, com a data publicada no mês de setembro.&lt;/p&gt;&#xA;&lt;p&gt; Existem diversas notícias referenciando-se a conectividade, colaboração e uma breve descrição de como foi o evento promovido pela Cisco no mês de Agosto &lt;strong&gt;” Colaboração sem Fronteiras “,&lt;/strong&gt; no qual eu estava presente.&lt;/p&gt;&#xA;&lt;p&gt;  Segue abaixo a revista:&lt;/p&gt;&#xA;&lt;p&gt;[issuu width=420 height=273 titleBarEnabled=true backgroundColor=%23222222 documentId=111017132547-af1e9d283e5e4bc6a9014970435c4ead name=revista_cisco_live_4 username=interativaeditora tag=cisco unit=px id=a62139e0-4261-07c1-4245-f5a564b4ada1 v=2]&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Cisco – Wikipédia. Vocês acreditam?</title>
            <link>https://ciscoredes.com.br/2011/10/17/cisco-wikipedia/</link>
            <pubDate>Mon, 17 Oct 2011 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2011/10/17/cisco-wikipedia/</guid>
            <description>&lt;p&gt;Olá Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;  Gostaria de divulgar mais um meio de estudos e disponibilização de documentações técnicas da Cisco.&lt;/p&gt;&#xA;&lt;p&gt;  A Cisco possui um portal, com o mesmo formato do Wikipédia. Nesse site podemos logar com nossa conta de ” &lt;strong&gt;CCO “&lt;/strong&gt; e disponibilizar documentos técnicos, bem como editar os documentos já disponibilizados no portal.&lt;/p&gt;&#xA;&lt;p&gt; Entretanto, existem regras para disponibilizar essas informações e para editar os documentos já postados nesse portal. Como essa ferramenta é nova, as informações estão sendo disponibilizadas aos poucos, mas já existem vários assuntos interessantes com um conteúdo muito bom.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://docwiki.cisco.com/wiki/Main_Page&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://docwiki.cisco.com/wiki/Main_Page&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;  Espero que gostem da dica 😉 e aguardo os comentários.&lt;/p&gt;&#xA;&lt;p&gt;Abs,&lt;br&gt;&#xA;Rodrigo&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>NetRiders America Latina</title>
            <link>https://ciscoredes.com.br/2011/08/15/netriders-latina-america/</link>
            <pubDate>Mon, 15 Aug 2011 00:00:00 +0000</pubDate>
            <guid>https://ciscoredes.com.br/2011/08/15/netriders-latina-america/</guid>
            <description>&lt;p&gt;Pessoal,&lt;/p&gt;&#xA;&lt;p&gt;  Gostaria de repassar que a Cisco iniciou sua competição de 2011 para o NetRiders. Esta competição é oferecida aos alunos matriculados no curso CCNA Exploration ou no CCNA Discovery, ou que estavam matriculados no curso CCNA nos últimos 9 meses.&lt;/p&gt;&#xA;&lt;p&gt;  Essa competição traz uma ótima oportunidade para que os estudantes melhorem seus currículos, testem suas habilidades em Redes e TI, e ganhem reconhecimento dentro do mercado de trabalho. Além disso os melhores competidores tem a oportunidade de ganhar uma viagem para os Estados Unidos ( Vale do Silício ).&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt; A competição NetRiders é dividida nas seguintes fases:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Inscrições (15 de agosto a 15 de setembro) – ENROLLMENT KEY (chave de matrícula): latam2011&lt;/li&gt;&#xA;&lt;li&gt;Primeira Fase – Fase Classificatória (29 de agosto a 17 de setembro)&lt;/li&gt;&#xA;&lt;li&gt;Segunda Fase – Classificatória Nacional (1 de outubro a 8 de outubro)&lt;/li&gt;&#xA;&lt;li&gt;Terceira Fase – Finais Internacionais (25 de outubro)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Prêmios e reconhecimento para os ganhadores:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Primeira Fase – os primeiros cinco colocados de cada academia são convocados (com um mínimo de 60% de       aproveitamento). O certificado de participação estará disponível para download e os melhores colocados de cada país serão anunciados no site do NetRiders.&lt;/li&gt;&#xA;&lt;li&gt;Segunda fase – os ganhadores nacionais + o aluno com a melhor nota de cada uma das 25 melhores academias de cada região avançarão. Os ganhadores nacionais vão receber um Visa Gift card no valor de 50 dólares e um certificado eletrônico customizado.&lt;/li&gt;&#xA;&lt;li&gt;Terceira Fase – GRANDE PRÊMIO: os quatro primeiros colocados nas Finais Internacionais ganharão uma viagem de estudos de uma semana para o Vale do Silício, na Califórnia!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;  As inscrições podem se feitas através do site &lt;a class=&#34;link&#34; href=&#34;http://www.academynetriders.com/&#34;  title=&#34;NetRiders&#34;&#xA;     target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;NetRiders&lt;/a&gt; e façam o Teste Prático.&lt;/p&gt;&#xA;&lt;p&gt;  Para maiores informações visite este &lt;a class=&#34;link&#34; href=&#34;http://www.cisco.com/web/LA/netacad/netriders/EN/index.html&#34;  title=&#34;Informações&#34;&#xA;     target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;site&lt;/a&gt;.&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
