tf-devstack is a tool for deployment of OpenSDN from published containers or building and deploying from sources.
It is similar to the OpenStack's devstack tool and allows bringing up OpenSDN along with Kubernetes of OpenStack cloud on an all-in-one single node deployment.
Possible deployment methods are:
Please see particular deployment method readmes for details.
IMPORTANT: some of the parts and pieces are still under construction
Full TF dev suite consists of:
- tf-dev-env - develop and build TF
- tf-devstack - deploy TF
- tf-dev-test - test deployed TF
Each of these tools can be used separately or in conjunction with the other two. They are supposed to be invoked in the sequence they were listed and produce environment (conf files and variables) seamlessly consumable by the next tool.
They provide two main scripts:
- run.sh
- cleanup.sh
Both these scripts accept targets (like run.sh build) for various actions.
Typical scenarios are (examples are given for centos):
Typical developer's scenario could look like this:
Run a machine, for example AWS instance or a VirtualBox (powerful with lots of memory - 16GB+ recommended- )
Enable passwordless sudo for your user (for centos example: serverfault page)
Install git:
sudo yum install -y gitClone tf-dev-env:
git clone http://github.com/opensdn-io/tf-dev-envPrepare the build container and fetch TF sources:
tf-dev-env/run.shMake required changes in sources fetched to contrail directory. For example, fetch particular review for controller (you can find download link in the gerrit review):
cd contrail/controller
git fetch "https://gerrit.opensdn.io/opensdn-io/tf-controller" refs/changes/..... && git checkout FETCH_HEAD
cd ../../Run TF build:
tf-dev-env/run.sh buildClone tf-devstack:
git clone http://github.com/opensdn-io/tf-devstackDeploy TF by means of k8s manifests, for example:
tf-devstack/k8s_manifests/run.shIf you're on VirtualBox, for example, and want to snapshot k8s deployment prior to TF deployment you can use run.sh targets like:
tf-devstack/k8s_manifests/run.sh platformand then:
tf-devstack/k8s_manifests/run.sh tfAlong with cleanup of particular target you can do tf deployment multiple times:
tf-devstack/k8s_manifests/cleanup.sh tfClone tf-dev-test:
git clone http://github.com/opensdn-io/tf-dev-testTest the deployment by smoke tests, for example:
tf-dev-test/smoke/run.shTypical developer's scenario could look like this:
Run a machine, for example AWS instance or a VirtualBox (powerful with lots of memory - 16GB+ recommended- )
Enable passwordless sudo for your user (for centos example: serverfault page)
Install git:
sudo yum install -y gitClone tf-devstack:
git clone http://github.com/opensdn-io/tf-devstackDeploy TF by means of k8s manifests, for example:
tf-devstack/k8s_manifests/run.shOr if you want to deploy with the most recent sources from master use:
tf-devstack/k8s_manifests/run.sh master