Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Getting started with:
  • Deployment option not represented at the top level on this page:
    • Ansible Deployer for Kubernetes
      • Resulting Kubernetes CNI Architecture
        Image Removed
      • Will Stevens : I have not validated the state of this documentation, but I believe it should be added as a top level deployment option.
      • Darien Hirotsu : Our GSoC intern (Nishita) and I have been working on the Ansible Deployer extensively testing against the bare metal provider. Here are some items we have discovered that might be of interest and that may help understand some of the other deployment options
        • The appropriate branch must be used to deploy the appropriate version of Tungsten Fabric
          • To deploy TF 5.0.1, you must use the 5.0 branch from GitHub of the Ansible playbooks (in our experience, we cannot install 5.1 from the 5.0 playbooks since container names have changed)
          • I would guess this also applies to the existing currently maintained manifest process (i.e. you must deploy from the appropriate branch)
        • The Ansible deployer does not use the currently maintained manifest
          • I'm a little concerned this means we may end up with different behavior depending on the path a person takes when building out Tungsten Fabric
          • Instead it uses a docker service command
        • There are a few bugs to work out
    • Juniper/contrail-helm-deployer
      • Will Stevens : I have not validated the state of this documentation, but it appears to be actively maintained and should likely be added as a top level deployment option.
    • tungstenfabric/tf-devstack
      • Resulting Kubernetes CNI Architecture (expected, but not confirmed)
        Image Removed
      • Will Stevens : I have not validated the state of this documentation, but I believe it should be added as a top level deployment option.
      • Gary Greenberg would you be willing to add some sub-points to this section to provide some details on the experience of using `tf-devstack` and potentially document issues you feel should be addressed?
    • tungstenfabric/tf-dev-env
      • Will Stevens : I have not validated the state of this repo..  I am unclear to me how this repo compares with the `tungstenfabric/tf-devstack` and which should be the preferred dev environment.  It is worth pointing out that this repo is a fork of the juniper/contrail-dev-env repo.  It is unclear how these repos are maintained and what support the user can expect when using these repositories.  From what I can tell, the juniper/contrail-dev-env repository was used to build the actual release.  What is the plan for these repositories?
    • A major challenge today is that the manifests which are tracked in this repo are not versioned, so it is impossible to know what are the appropriate manifests for a specific version of TF.
      • For my own purposes, such as demos and feature validation, I have been maintaining cloudops/tf-demo, which automates the deployment of TF on cloud.ca.
        Below I outline a few items which I have struggled with when working with this deployment method:
        • The manifests which are maintained here are different from the documented manifests for this approach.  I had to generate the official manifests on a specific VM using this process (which unfortunately is specific to a single environment), then I did a manual diff with the documented manifest to create my own version which I then re-parameterized for my needs.  I would like to be able to dynamically build my manifest from a variables file so my manifest is not tracked separately from the official manifests.
        • I have been using this setup to illustrate cross-region connectivity between two independent K8s clusters.  I do this by creating two different k8s clusters using this deployer and then BGP peer the two environments together.  In order to do this, I needed to ensure that the IP space used for `pod`, `service` and `ip_fabric` are different in the two environments.  Unfortunately, Tungsten Fabric does not inherit the `kubeadm init` parameters of `--pod-network-cidr` and `--service-cidr` (at the time of this writing), so you have to update the config inside TF in order to set the IP ranges to the same as what was used in `kubeadm init`.  Recently, documentation has been added to describe the parameters which are available to be set.  In my case, I had to set the following additional params in the `KUBERNETES_POD_SUBNETS`, `KUBERNETES_SERVICE_SUBNETS` and `KUBERNETES_IP_FABRIC_SUBNETS` in the `kube-manager-config` ConfigMap.
        • By default, the instructions will set the `VROUTER_GATEWAY` parameter to the `K8S_MASTER_IP`, which unfortunately will not work.  Essentially, when the TF comes up it will break the host's networking stack with this config, so you will lose SSH access to the host.  In order to fix this, I set the `VROUTER_GATEWAY` to be the gateway for the network on which the `K8S_MASTER_IP` IP is part of.
        • In order to change the default password for the web UI (since my installs end up on the public internet), I needed to specify the `WEBUI_STATIC_AUTH_PASSWORD` param.
        • Unfortunately, I don't remember the details, but I needed to change one of the default ports for one of the databases deployed by the TF architecture because, by default, two different services were trying to use the same port.  I was able to fix this by reviewing the logs `contrail` logs on the host and then researching the different param options.
    •  Ubuntu
      • Resulting Kubernetes CNI Architecture
        Image Added
      • Will Stevens : I have not tested this process, but it is very similar to the CentOS process above.  Again, it is unclear if the manifest associated with this recipe is maintained, as it does not seem to be associated with the currently maintained manifest process.
    • OpenStack
  • Deployment option not represented at the top level on this page:
    • Ansible Deployer for Kubernetes
      • Resulting Kubernetes CNI Architecture
        Image Added
      • Will Stevens : I have not validated the state of this documentation, but I believe it should be added as a top level deployment option.
      • Gary Greenberg : I am still working to validate the documentation for this deployment option (travel and lack of remote access to my lab has slowed my progress... building VPN to address this moving forward).
      • Darien Hirotsu : Our GSoC intern (Nishita) and I have been working on the Ansible Deployer extensively testing against the bare metal provider. Here are some items we have discovered that might be of interest and that may help understand some of the other deployment options
        • The appropriate branch must be used to deploy the appropriate version of Tungsten Fabric
          • To deploy TF 5.0.1, you must use the 5.0 branch from GitHub of the Ansible playbooks (in our experience, we cannot install 5.1 from the 5.0 playbooks since container names have changed)
          • I would guess this also applies to the existing currently maintained manifest process (i.e. you must deploy from the appropriate branch)
        • The Ansible deployer does not use the currently maintained manifest
          • I'm a little concerned this means we may end up with different behavior depending on the path a person takes when building out Tungsten Fabric
          • Instead it uses a docker service command
        • There are a few bugs to work out
      • `yesac` from the TF Slack community wrote the following script to support his Ubuntu deployments using the Ansible Deployer: https://gist.github.com/csiens/f0457432efc513b44cf5d55ccd1194e7
      • Will Stevens : I have not validated the state of this documentation, but it appears to be actively maintained and should likely be added as a top level deployment option.
    • tungstenfabric/tf-devstack
      • Resulting Kubernetes CNI Architecture (expected, but not confirmed)
        Image Added
      • Will Stevens : I have not validated the state of this documentation, but I believe it should be added as a top level deployment option.
      • Gary Greenberg would you be willing to add some sub-points to this section to provide some details on the experience of using `tf-devstack` and potentially document issues you feel should be addressed?
    • tungstenfabric/tf-dev-env
      • I tried to install tf-devstack multiple times using multiple troubleshooting efforts to get the UI connected to the deployment without success and after repeated efforts to seek support from the associated development team, gave up (last attempt ca. 4 months ago).  I followed the installation instructions exactly as provided to do so on a local lab compute (Intel i7 NUC), but when requesting support, installation on AWS appeared to be the support responses I received.  When additional steps communicated as a fix for my issues did not fix my issue, I gave up as the help always started from zero and never provided a solution.  I was told that others are able to deploy it and no additional fixes were required.
      • Will Stevens : I have not validated the state of this repo.  I am unclear to me how this repo compares with the `tungstenfabric/tf-devstack` and which should be the preferred dev environment.  It is worth pointing out that this repo is a fork of the juniper/contrail-dev-env repo.  It is unclear how these repos are maintained and what support the user can expect when using these repositories.  From what I can tell, the juniper/contrail-dev-env repository was used to build the actual release.  What is the plan for these repositories?
    • A major challenge today is that the manifests which are tracked in this repo are not versioned, so it is impossible to know what are the appropriate manifests for a specific version of TF.
  • Tungsten Fabric Architecture
  • Becoming a contributor:Tungsten Fabric ArchitectureBecoming a contributor:
    • In general, the details on this page are very focused on the process to contribute to the Juniper repositories and their Gerrit (
      • specs
      • While the Blueprints track the intent, the actual work is tracked in Jira in the following section: 
      reviewopencontrail.org).  Given the fact that the actual code repos are still in Juniper, it is painfully confusing what should be documented for contributing to the code today.  We have a mix of both Juniper specific details and Tungsten Fabric assets on this page, and it is extremely unclear what is relevant and what is not.
      • tungsten.io/projects/TFB (again, this will redirect to a specific issue)
      • Despite the Specs being tracked in Github, all the contribution is expected to be done through Gerrit.  This is likely a point of confusion...
    • The Contribution Process
      • All the code is managed through Gerrit (either the old or new Gerrit), despite all of the repositories being published on Github.  
      • In order to contribute, you must first sign one of the CLAs.  The CLA must be associated with the contributors account in Gerrit as a CLA is a gating function for being able to accept contribution.
        • ICLA - Is the 'Individual' contributor license agreement and is used when your organization does not have a CCLA which you can be associated with.
        • CCLA - Is the 'Corporate' contributor license agreement and is used to associate many contributors within an organization to a single legal agreement. 
      • Once you have a CLA, you will need to install git-review to properly format and submit merge requests against the repositories in Gerrit.
      • While somewhat outdated and very OpenContrail specific, the best documentation I have found which describes the contribution process is this: https://github.com/Juniper/contrail-community-docs/blob/master/Contributor/GettingStarted/getting-started-with-opencontrail-development.md
        • This document should be updated to reflect Tungsten Fabric and moved into the TF docs domain.
        • VM (Vicky) Brasseur (she/her) has done an initial pass at documenting the contribution process here
      I (Will Stevens) recommend that we clearly call out the fact that the code is in the process of moving and the process and location of the different assets and processes associated with them are documented separately.
  • Additional Documentation ResourcesAdditional Documentation Resources
  •   Work In Progress...  Please contribute if you know of documentation which is not represented here...