Skip to content

Latest commit

 

History

History
65 lines (53 loc) · 3.86 KB

README.md

File metadata and controls

65 lines (53 loc) · 3.86 KB
Copyright 2017 Juniper Networks, Inc. All rights reserved. Licensed under the Juniper Networks Script Software License (the "License"). You may not use this script file except in compliance with the License, which is located at http://www.juniper.net/support/legal/scriptlicense/ Unless required by applicable law or otherwise agree to in writing by the parties, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

Contrail-Builder

Scripting and tools to automatically install a Contrail All-In-One (Contrail-AIO) VM on an ESXi server.

This is a packaged tool to help simplify install a Contrail-AIO VM. It basically proxies the contrail install through the Contrai-Builder VM. This allows for less customization (and failure) and more automation (and success). If you want more customization and/or a more permanent option, you may be better suited manually installing. Further information can be found here:

http://www.juniper.net/us/en/products-services/sdn/contrail/contrail-networking/

Tools used on Contrail-Builder:

  • Ansible
  • Packer
  • dnsmasq
  • NTP server
  • IPtables

What YOU do:

  1. Provide an ESXi server or vSphere environment version 5 or above
  2. Download and import the "Contrail-Build.ova" into environment
  3. Provide the builder vm with 2 virtual interfaces A. An interface on your local network with Internet access B. An interface on a separate, non-routed network available only to the builder and Contrail VM.
    (you may have to create a new port-group on the vSwitch.)
  4. Provide only the build VM (Contrail-Builder) an IP address/Subnet Mask/Gateway. NTP and DNS are provided by the builder VM.

What IT does:

  1. Creates an AIO Contrail VM A. Downloads the Ubuntu ISO B. Builds the host VM with Packer C. Installs and configures OpenStack and Contrail with Ansible
  2. Provides an NTP server and NAT forwarding/routing to the Contrail VM with IPtables
  3. Provides GUI access to Contrail and OpenStack THROUGH the Contrail-Builder VM with IPtables. As such the Contrail-Builder vm must be powered on for the Contrail-AIO vm to work.
  4. Setups up Contrail quickly and easily to provide basic look and feel for Contrail and OpenStack

Caveats and known issues

  • The process and build isn't perfect

  • Some erroneous errors are presented during Ansible playbook(s)

  • Install time can vary based upon server(s) resources and internet speed from 30 minutes - 1 hour

  • package management (apt-get) on the Contrail VM will be broken after install

  • exclusive to Ubuntu 14.04.5 LTS and Contrail v3.2.2 and VMware ESXi hypervisor(s)

  • The fab contrail_setup command may not finish completely. This is discovered when issuing the contrail-status command and show something like vRouter is NOT PRESENT or other failure.

  • Packer does support vCenter or vSphere environments

  • The builder VM will build 1 Contrail-AIO.

  • If the initial build fails to install Contrail correctly BUT the packer build says that it completes and powered down the VM you can do 1 of 2 things:

    • manually complete the install
    • reboot VM and rerun the Packer script.
      • rebooting is necessary because the build manipulates IPtables on the Contrail-Builder VM via the Contrail-Post ansible playbook to complete the install. Rebooting will remove the IPtables NAT entries that prevent the installation of the necessary packages.
  • In order to make this work, some information about your environment needs to be added/updated in the json config file (variables.json).