From 574785c07010a494fbd1456d11e7c0449ad43c38 Mon Sep 17 00:00:00 2001 From: Victor Morales Date: Tue, 28 Aug 2018 15:09:02 -0700 Subject: [PATCH] Add KRD source code This changes includes the source code created for the Kubernetes Reference Deployment(KRD) which helps to provide an automated mechanism to install and configure Kubernetes services required for the MultiCloud/K8s plugin. Change-Id: Ica49566fcd531e25846ed3e5062de2f92ec56f6c Signed-off-by: Victor Morales Issue-ID: MULTICLOUD-301 --- .gitignore | 13 +- deployments/build.sh | 6 +- doc/sampleCommands.rst | 71 ------ docs/conf.py | 40 +++ {doc => docs}/create_vl.png | Bin {doc => docs}/create_vnf.png | Bin docs/img/default_pdf.png | Bin 0 -> 347636 bytes docs/img/diagram.png | Bin 0 -> 128882 bytes docs/krd_architecture.rst | 162 ++++++++++++ docs/sampleCommands.rst | 84 ++++++ {doc => docs}/swagger.yaml | 0 tox.ini | 25 ++ vagrant/README.md | 52 ++++ vagrant/Vagrantfile | 114 +++++++++ vagrant/config/default.yml | 53 ++++ vagrant/config/samples/pdf.yml.aio | 25 ++ vagrant/config/samples/pdf.yml.mini | 33 +++ vagrant/galaxy-requirements.yml | 15 ++ vagrant/installer.sh | 269 ++++++++++++++++++++ vagrant/inventory/group_vars/k8s-cluster.yml | 156 ++++++++++++ vagrant/node.sh | 55 ++++ vagrant/playbooks/Debian.yml | 22 ++ vagrant/playbooks/RedHat.yml | 19 ++ vagrant/playbooks/Suse.yml | 20 ++ vagrant/playbooks/configure-krd.yml | 16 ++ vagrant/playbooks/configure-multus.yml | 110 ++++++++ vagrant/playbooks/configure-nfd.yml | 57 +++++ vagrant/playbooks/configure-ovn-kubernetes.yml | 131 ++++++++++ vagrant/playbooks/configure-ovn.yml | 109 ++++++++ vagrant/playbooks/configure-virtlet.yml | 233 +++++++++++++++++ vagrant/playbooks/krd-vars.yml | 50 ++++ vagrant/setup.sh | 167 ++++++++++++ vagrant/tests/generic_simulator/Dockerfile | 27 ++ vagrant/tests/generic_simulator/aai/responses.yml | 189 ++++++++++++++ vagrant/tests/generic_simulator/generic_sim.py | 109 ++++++++ vagrant/tests/generic_simulator/requirements.txt | 11 + vagrant/tests/integration_cFW.sh | 194 ++++++++++++++ vagrant/tests/integration_vFW.sh | 295 ++++++++++++++++++++++ vagrant/tests/multus.sh | 123 +++++++++ vagrant/tests/nfd.sh | 62 +++++ vagrant/tests/ovn-kubernetes.sh | 136 ++++++++++ vagrant/tests/plugin.sh | 97 +++++++ vagrant/tests/virtlet.sh | 145 +++++++++++ 43 files changed, 3421 insertions(+), 74 deletions(-) delete mode 100644 doc/sampleCommands.rst create mode 100644 docs/conf.py rename {doc => docs}/create_vl.png (100%) rename {doc => docs}/create_vnf.png (100%) create mode 100644 docs/img/default_pdf.png create mode 100644 docs/img/diagram.png create mode 100644 docs/krd_architecture.rst create mode 100644 docs/sampleCommands.rst rename {doc => docs}/swagger.yaml (100%) create mode 100644 tox.ini create mode 100644 vagrant/README.md create mode 100644 vagrant/Vagrantfile create mode 100644 vagrant/config/default.yml create mode 100644 vagrant/config/samples/pdf.yml.aio create mode 100644 vagrant/config/samples/pdf.yml.mini create mode 100644 vagrant/galaxy-requirements.yml create mode 100755 vagrant/installer.sh create mode 100644 vagrant/inventory/group_vars/k8s-cluster.yml create mode 100755 vagrant/node.sh create mode 100644 vagrant/playbooks/Debian.yml create mode 100644 vagrant/playbooks/RedHat.yml create mode 100644 vagrant/playbooks/Suse.yml create mode 100644 vagrant/playbooks/configure-krd.yml create mode 100644 vagrant/playbooks/configure-multus.yml create mode 100644 vagrant/playbooks/configure-nfd.yml create mode 100644 vagrant/playbooks/configure-ovn-kubernetes.yml create mode 100644 vagrant/playbooks/configure-ovn.yml create mode 100644 vagrant/playbooks/configure-virtlet.yml create mode 100644 vagrant/playbooks/krd-vars.yml create mode 100755 vagrant/setup.sh create mode 100644 vagrant/tests/generic_simulator/Dockerfile create mode 100644 vagrant/tests/generic_simulator/aai/responses.yml create mode 100644 vagrant/tests/generic_simulator/generic_sim.py create mode 100644 vagrant/tests/generic_simulator/requirements.txt create mode 100755 vagrant/tests/integration_cFW.sh create mode 100755 vagrant/tests/integration_vFW.sh create mode 100755 vagrant/tests/multus.sh create mode 100755 vagrant/tests/nfd.sh create mode 100755 vagrant/tests/ovn-kubernetes.sh create mode 100755 vagrant/tests/plugin.sh create mode 100755 vagrant/tests/virtlet.sh diff --git a/.gitignore b/.gitignore index f0b583fe..b38d6e29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,10 @@ -# IDE +# Common .DS_Store .vscode *-workspace +.tox/ +.*.swp +*.log # Directories pkg @@ -21,3 +24,11 @@ src/k8splugin/plugins/**/*.so # Tests *.test *.out + +# KRD +.vagrant/ +vagrant/inventory/hosts.ini +vagrant/inventory/group_vars/all.yml +vagrant/config/pdf.yml +*.retry +*.vdi diff --git a/deployments/build.sh b/deployments/build.sh index 667be5f5..7c2d7379 100755 --- a/deployments/build.sh +++ b/deployments/build.sh @@ -13,10 +13,12 @@ set -o pipefail set -o xtrace function generate_binary { - GOPATH=$(go env GOPATH) + export GOPATH="$(pwd)/../" rm -f k8plugin rm -f *.so - $GOPATH/bin/dep ensure -v + pushd ../src/k8splugin/ + dep ensure -v + popd for plugin in deployment namespace service; do CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -buildmode=plugin -a -tags netgo -o ./$plugin.so ../src/k8splugin/plugins/$plugin/plugin.go done diff --git a/doc/sampleCommands.rst b/doc/sampleCommands.rst deleted file mode 100644 index e8b53cf3..00000000 --- a/doc/sampleCommands.rst +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2018 Intel Corporation. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Sample Commands: - -* POST - URL:`localhost:8081/v1/vnf_instances/cloudregion1/namespacetest` - Request Body: - - ``` - { - "cloud_region_id": "region1", - "csar_id": "uuid", - "namespace": "test", - "oof_parameters": [{ - "key1": "value1", - "key2": "value2", - "key3": {} - }], - "network_parameters": { - "oam_ip_address": { - "connection_point": "string", - "ip_address": "string", - "workload_name": "string" - } - } - } - ``` - - Expected Response: - ``` - { - "response": "Created Deployment:nginx-deployment" - } - ``` - - The above POST request will download the following YAML file and run it on the Kubernetes cluster. - - ``` - apiVersion: apps/v1 - kind: Deployment - metadata: - name: nginx-deployment - labels: - app: nginx - spec: - replicas: 3 - selector: - matchLabels: - app: nginx - template: - metadata: - labels: - app: nginx - spec: - containers: - - name: nginx - image: nginx:1.7.9 - ports: - - containerPort: 80 - ``` -* GET - URL: `localhost:8081/v1/vnf_instances` diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 00000000..2e30879a --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import sys + +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +ROOT = os.path.abspath(os.path.join(BASE_DIR, "..", "..")) + +sys.path.insert(0, ROOT) +sys.path.insert(0, BASE_DIR) + +# -- General configuration ---------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ + 'sphinx.ext.autodoc', + #'sphinx.ext.intersphinx' +] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'MultiCloud Kubernetes Plugin' diff --git a/doc/create_vl.png b/docs/create_vl.png similarity index 100% rename from doc/create_vl.png rename to docs/create_vl.png diff --git a/doc/create_vnf.png b/docs/create_vnf.png similarity index 100% rename from doc/create_vnf.png rename to docs/create_vnf.png diff --git a/docs/img/default_pdf.png b/docs/img/default_pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..a783cb3b390ec577e16551ae07aa77e04aae4d68 GIT binary patch literal 347636 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

    h9q*ys;-V86 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�%$L3_jM~d2;P%4z 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 literal 0 HcmV?d00001 diff --git a/docs/krd_architecture.rst b/docs/krd_architecture.rst new file mode 100644 index 00000000..f188135e --- /dev/null +++ b/docs/krd_architecture.rst @@ -0,0 +1,162 @@ +.. Copyright 2018 Intel Corporation. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +**************** +KRD Architecture +**************** + +This document explains the different components of the Kubernetes +Reference Deployment project and how they can be configured to modify +its default behaviour. + +Vagranfile +########## + +This file describes how the Virtual Machines are going to be +configured and the scripts and arguments used during their +provisioning process. This file uses *elastic/ubuntu-16.04-x86_64* +vagrant box for VirtualBox and Libvirt providers. + +config/ +####### + +This folder contains the POD Descriptor File (PDF) which is used +by Vagrant during the provisioning process. The *samples* folder +contains examples for some setups (All-in-One, Mini, NoHA, HA, etc.) +that can be used. + +This list contains the valid entries used by Vagrant to define the virtual +resources used by Vagrant during the creation of the Virtual Machines: + + * ip - The static IP address assigned to the VM. (String value) + * memory - The amount of memory RAM. (KB - Integer value) + * cpus - Number of CPUs. (Integer value) + * volumes - List of volumes to be formatted and mounted to the VM. + +config/default.yml +****************** + +If there is no *pdf.yml* file present in *config* folder, Vagrant will +use the information specified in the **config/default.yml**. The following +diagram displays how the services are installed in the nodes using the +default configuration. + +.. image:: ./img/default_pdf.png + +docs/ +##### + +This folder contains documentation files using reStructuredText +(RST) syntax. It's possible to generate documentation in *html* +format using `python tox module `_ +. Once this is installed, it's possible to build html files using +this following command: + +.. code-block:: bash + + tox -e docs + +After its execution, the **docs/build** subfolder will contain +subfolders and html files that can be opened from any web browser. + +galaxy-requirements.yml +####################### + +This file contains third party Ansible roles. Only those tasks which +are not related with the main installation process have been placed in +this file. + +installer.sh +############ + +Main bash script that installs dependencies and executes ansible +playbooks for provisioning KRD components on external nodes. This +script uses some arguments for the additional installation of +components. For more information about its usage: + +.. code-block:: bash + + ./installer.sh -h + +inventory/ +########## + +This folder contains the Ansible host inventory file. The +**inventory/host.ini** file, which is used during the execution of +Ansible playbooks, is created by Vagrant using the values specified +in the *config/pdf.yml* file (or *config/default.yml*). + +inventory/group_vars/k8s-cluster.yml +************************************ + +A preferred practice in Ansible is to not store variables in the +main inventory file. The configuration variables required for +`Kubespray `_ are +stored in this file. + +node.sh +####### + +This bash script is executed in every node after this has been +provisioned. The script provides the possibility to partition and +mount external volumes. + +playbooks/ +########## + +This folder contains a set of Ansible playbooks which perform the +tasks required for configuring services like Multus, Virtlet and/or +OVN. + +playbooks/configure-krd.yml +*************************** + +This ansible playbook collects the common actions among all the +Kubernetes AddOns offered by the KRD. + +playbooks/krd-vars.yml +************************ + +This file centralizes the version numbers and source URLs used for +different components offered by the KRD. Bumping a version requires +extensive testing to ensure compatibility. + +setup.sh +######## + +This bash script is used for the installation and configuration of +dependencies required for the usage of the KRD via Virtual Machines. +Some of this dependencies are: + + - `Vagrant `_, + - `Libvirt `_ or `VirtualBox `_ + +The *-p* argument determines the Virtualization provider to be used +and installed in the host machine. + +.. code-block:: bash + + ./setup.sh -p libvirt + +Vagrant uses VirtualBox as default Virtualization provider. It's +possible to modify this behavior using the global enviroment variable +named **VAGRANT_DEFAULT_PROVIDER**. + +.. note:: The execution of this script is recommended only during the initial setup. + +tests/ +###### + +This folder contains the health check scripts that guarantee the +proper installation/configuration of Kubernetes AddOns. Its +execution is disabled by default. In order to enable it, it's +necessary to pass the *-t* argument to the **installer.sh** bash +script, usually through changing the arguments in the *Vagrantfile*. diff --git a/docs/sampleCommands.rst b/docs/sampleCommands.rst new file mode 100644 index 00000000..2407b260 --- /dev/null +++ b/docs/sampleCommands.rst @@ -0,0 +1,84 @@ +.. Copyright 2018 Intel Corporation. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +==================== +Sample cURL commands +==================== + +**** +POST +**** + +URL: `localhost:8081/v1/vnf_instances/cloudregion1/namespacetest` + +Request Body +------------ + +.. code-block:: json + + { + "cloud_region_id": "region1", + "csar_id": "uuid", + "namespace": "test", + "oof_parameters": [{ + "key1": "value1", + "key2": "value2", + "key3": {} + }], + "network_parameters": { + "oam_ip_address": { + "connection_point": "string", + "ip_address": "string", + "workload_name": "string" + } + } + } + +Expected Response +----------------- + +.. code-block:: json + + { + "response": "Created Deployment:nginx-deployment" + } + +The above POST request will download the following YAML file and run it on the Kubernetes cluster. + +.. code-block:: yaml + + apiVersion: apps/v1 + kind: Deployment + metadata: + name: nginx-deployment + labels: + app: nginx + spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.7.9 + ports: + - containerPort: 80 + +*** +GET +*** + +URL: `localhost:8081/v1/vnf_instances` diff --git a/doc/swagger.yaml b/docs/swagger.yaml similarity index 100% rename from doc/swagger.yaml rename to docs/swagger.yaml diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..1c3bd862 --- /dev/null +++ b/tox.ini @@ -0,0 +1,25 @@ +[tox] +minversion = 1.6 +skipsdist = True +envlist = bashate + +[testenv] +passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY +usedevelop = False +install_command = pip install {opts} {packages} + +[testenv:bashate] +deps = + {env:BASHATE_INSTALL_PATH:bashate} + rstcheck +whitelist_externals = bash +commands = bash -c "find {toxinidir} -not -path {toxinidir}/.tox/\* \ + -name \*.sh -type f \ +# E006 check for lines longer than 79 columns + -print0 | xargs -0 bashate -v -iE006" + bash -c "find {toxinidir} -not -path {toxinidir}/.tox/\* \ + -name \*.rst -type f -print0 | xargs -0 rstcheck" + +[testenv:docs] +deps = sphinx +commands = sphinx-build -W -b html docs/src docs/build/html diff --git a/vagrant/README.md b/vagrant/README.md new file mode 100644 index 00000000..c76b081e --- /dev/null +++ b/vagrant/README.md @@ -0,0 +1,52 @@ +# Kubernetes Reference Deployment + +## Summary + +This project offers a reference for deploying a Kubernetes cluster +that satisfies the requirements of [ONAP multicloud/k8s plugin][1]. Its +ansible playbooks allow to provision a deployment on Bare-metal or +Virtual Machines. + +![Diagram](../doc/img/diagram.png) + +# Components + +| Name | Description | Source | Status | +|:--------------:|:----------------------------------------------|:----------------------------------|:------:| +| Kubernetes | Base Kubernetes deployment | [kubespray][2] | Done | +| ovn-kubernetes | Integrates Opensource Virtual Networking | [configure-ovn-kubernetes.yml][3] | Tested | +| Virtlet | Allows to run VMs | [configure-virtlet.yml][4] | Tested | +| Multus | Provides Multiple Network support in a pod | [configure-multus.yml][5] | Tested | +| NFD | Node feature discovery | [configure-nfd.yml][7] | Tested | + +## Deployment + +The [installer](installer.sh) bash script contains the minimal +Ubuntu instructions required for running this project. + +### Virtual Machines + +This project uses [Vagrant tool][6] for provisioning Virtual Machines +automatically. The [setup](setup.sh) bash script contains the +Linux instructions to install dependencies and plugins required for +its usage. This script supports two Virtualization technologies +(Libvirt and VirtualBox). + + $ ./setup.sh -p libvirt + +Once Vagrant is installed, it's possible to provision a cluster using +the following instructions: + + $ vagrant up && vagrant up installer + +## License + +Apache-2.0 + +[1]: https://git.onap.org/multicloud/k8s +[2]: https://github.com/kubernetes-incubator/kubespray +[3]: playbooks/configure-ovn-kubernetes.yml +[4]: playbooks/configure-virtlet.yml +[5]: playbooks/configure-multus.yml +[6]: https://www.vagrantup.com/ +[7]: playbooks/configure-nfd.yml diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile new file mode 100644 index 00000000..ba71ba7e --- /dev/null +++ b/vagrant/Vagrantfile @@ -0,0 +1,114 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +box = { + :virtualbox => { :name => 'elastic/ubuntu-16.04-x86_64', :version => '20180708.0.0' }, + :libvirt => { :name => 'elastic/ubuntu-16.04-x86_64', :version=> '20180210.0.0'} +} + +require 'yaml' +pdf = File.dirname(__FILE__) + '/config/default.yml' +if File.exist?(File.dirname(__FILE__) + '/config/pdf.yml') + pdf = File.dirname(__FILE__) + '/config/pdf.yml' +end +nodes = YAML.load_file(pdf) + +# Inventory file creation +File.open(File.dirname(__FILE__) + "/inventory/hosts.ini", "w") do |inventory_file| + inventory_file.puts("[all:vars]\nansible_connection=ssh\nansible_ssh_user=vagrant\nansible_ssh_pass=vagrant\n\n[all]") + nodes.each do |node| + inventory_file.puts("#{node['name']}\tansible_ssh_host=#{node['ip']} ansible_ssh_port=22") + end + ['kube-master', 'kube-node', 'etcd', 'ovn-central', 'ovn-controller', 'virtlet'].each do|group| + inventory_file.puts("\n[#{group}]") + nodes.each do |node| + if node['roles'].include?("#{group}") + inventory_file.puts(node['name']) + end + end + end + inventory_file.puts("\n[k8s-cluster:children]\nkube-node\nkube-master") +end + +provider = (ENV['VAGRANT_DEFAULT_PROVIDER'] || :virtualbox).to_sym +puts "[INFO] Provider: #{provider} " + +if ENV['no_proxy'] != nil or ENV['NO_PROXY'] + $no_proxy = ENV['NO_PROXY'] || ENV['no_proxy'] || "127.0.0.1,localhost" + nodes.each do |node| + $no_proxy += "," + node['ip'] + end + $subnet = "192.168.121" + if provider == :virtualbox + $subnet = "10.0.2" + end + # NOTE: This range is based on vagrant-libvirt network definition CIDR 192.168.121.0/27 + (1..31).each do |i| + $no_proxy += ",#{$subnet}.#{i}" + end +end + +Vagrant.configure("2") do |config| + config.vm.box = box[provider][:name] + config.vm.box_version = box[provider][:version] + + if ENV['http_proxy'] != nil and ENV['https_proxy'] != nil + if Vagrant.has_plugin?('vagrant-proxyconf') + config.proxy.http = ENV['http_proxy'] || ENV['HTTP_PROXY'] || "" + config.proxy.https = ENV['https_proxy'] || ENV['HTTPS_PROXY'] || "" + config.proxy.no_proxy = $no_proxy + config.proxy.enabled = { docker: false } + end + end + + nodes.each do |node| + config.vm.define node['name'] do |nodeconfig| + nodeconfig.vm.hostname = node['name'] + nodeconfig.vm.network :private_network, :ip => node['ip'], :type => :static + nodeconfig.vm.provider 'virtualbox' do |v| + v.customize ["modifyvm", :id, "--memory", node['memory']] + v.customize ["modifyvm", :id, "--cpus", node['cpus']] + if node.has_key? "volumes" + node['volumes'].each do |volume| + $volume_file = "#{node['name']}-#{volume['name']}.vdi" + unless File.exist?($volume_file) + v.customize ['createmedium', 'disk', '--filename', $volume_file, '--size', volume['size']] + end + v.customize ['storageattach', :id, '--storagectl', 'IDE Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', $volume_file] + end + end + end + nodeconfig.vm.provider 'libvirt' do |v| + v.memory = node['memory'] + v.cpus = node['cpus'] + v.nested = true + v.cpu_mode = 'host-passthrough' + v.management_network_address = "192.168.121.0/27" + nodeconfig.vm.provision 'shell' do |sh| + sh.path = "node.sh" + if node.has_key? "volumes" + $volume_mounts_dict = '' + node['volumes'].each do |volume| + $volume_mounts_dict += "#{volume['name']}=#{volume['mount']}," + $volume_file = "./#{node['name']}-#{volume['name']}.qcow2" + v.storage :file, :bus => 'sata', :device => volume['name'], :size => volume['size'] + end + sh.args = ['-v', $volume_mounts_dict[0...-1]] + end + end + end + end + end + sync_type = "virtualbox" + if provider == :libvirt + sync_type = "nfs" + end + config.vm.define :installer, primary: true, autostart: false do |installer| + installer.vm.hostname = "multicloud" + installer.vm.network :private_network, :ip => "10.10.10.2", :type => :static + installer.vm.provision 'shell' do |sh| + sh.path = "installer.sh" + sh.args = ['-p', '-v', '-w', '/vagrant'] + end + end +end diff --git a/vagrant/config/default.yml b/vagrant/config/default.yml new file mode 100644 index 00000000..6f26d2d2 --- /dev/null +++ b/vagrant/config/default.yml @@ -0,0 +1,53 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +- name: "controller01" + ip: "10.10.10.3" + memory: 8192 + cpus: 2 + roles: + - kube-master + - etcd + - ovn-central +- name: "controller02" + ip: "10.10.10.4" + memory: 8192 + cpus: 2 + roles: + - kube-master + - etcd + - ovn-controller +- name: "controller03" + ip: "10.10.10.5" + memory: 8192 + cpus: 2 + roles: + - kube-master + - etcd + - ovn-controller +- name: "compute01" + ip: "10.10.10.6" + memory: 8192 + cpus: 2 + volumes: + - name: sda + size: 50 + mount: /var/lib/docker/ + roles: + - kube-node + - ovn-controller + - virtlet +- name: "compute02" + ip: "10.10.10.7" + memory: 8192 + cpus: 2 + roles: + - kube-node + - ovn-controller diff --git a/vagrant/config/samples/pdf.yml.aio b/vagrant/config/samples/pdf.yml.aio new file mode 100644 index 00000000..2ad95639 --- /dev/null +++ b/vagrant/config/samples/pdf.yml.aio @@ -0,0 +1,25 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +- name: "kubernetes" + ip: "10.10.10.3" + memory: 8192 + cpus: 2 + volumes: + - name: sda + size: 50 + mount: /var/lib/docker/ + roles: + - kube-master + - etcd + - ovn-central + - kube-node + - ovn-controller + - virtlet diff --git a/vagrant/config/samples/pdf.yml.mini b/vagrant/config/samples/pdf.yml.mini new file mode 100644 index 00000000..d53a4537 --- /dev/null +++ b/vagrant/config/samples/pdf.yml.mini @@ -0,0 +1,33 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +- name: "master" + ip: "10.10.10.3" + memory: 8192 + cpus: 2 + roles: + - kube-master + - etcd + - ovn-central +- name: "minion01" + ip: "10.10.10.4" + memory: 65536 + cpus: 16 + roles: + - kube-node + - ovn-controller + - virtlet +- name: "minion02" + ip: "10.10.10.5" + memory: 65536 + cpus: 16 + roles: + - kube-node + - ovn-controller diff --git a/vagrant/galaxy-requirements.yml b/vagrant/galaxy-requirements.yml new file mode 100644 index 00000000..42fca71b --- /dev/null +++ b/vagrant/galaxy-requirements.yml @@ -0,0 +1,15 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +- src: andrewrothstein.go + version: v2.1.7 +- src: andrewrothstein.kubectl + version: v1.1.12 +- src: geerlingguy.docker + version: 2.5.1 diff --git a/vagrant/installer.sh b/vagrant/installer.sh new file mode 100755 index 00000000..29866a82 --- /dev/null +++ b/vagrant/installer.sh @@ -0,0 +1,269 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +# usage() - Prints the usage of the program +function usage { + cat </dev/null); then + return + fi + + wget https://dl.google.com/go/$tarball + tar -C /usr/local -xzf $tarball + rm $tarball + + export PATH=$PATH:/usr/local/go/bin + sed -i "s|^PATH=.*|PATH=\"$PATH\"|" /etc/environment + export INSTALL_DIRECTORY=/usr/local/bin + curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh +} + +# _install_pip() - Install Python Package Manager +function _install_pip { + if $(pip --version &>/dev/null); then + return + fi + apt-get install -y python-dev + curl -sL https://bootstrap.pypa.io/get-pip.py | python + pip install --upgrade pip +} + +# _install_ansible() - Install and Configure Ansible program +function _install_ansible { + mkdir -p /etc/ansible/ + cat < /etc/ansible/ansible.cfg +[defaults] +host_key_checking = false +EOL + if $(ansible --version &>/dev/null); then + return + fi + _install_pip + pip install ansible +} + +# _install_docker() - Download and install docker-engine +function _install_docker { + local max_concurrent_downloads=${1:-3} + + if $(docker version &>/dev/null); then + return + fi + apt-get install -y software-properties-common linux-image-extra-$(uname -r) linux-image-extra-virtual apt-transport-https ca-certificates curl + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - + add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" + apt-get update + apt-get install -y docker-ce + + mkdir -p /etc/systemd/system/docker.service.d + if [ $http_proxy ]; then + cat < /etc/systemd/system/docker.service.d/http-proxy.conf +[Service] +Environment="HTTP_PROXY=$http_proxy" +EOL + fi + if [ $https_proxy ]; then + cat < /etc/systemd/system/docker.service.d/https-proxy.conf +[Service] +Environment="HTTPS_PROXY=$https_proxy" +EOL + fi + if [ $no_proxy ]; then + cat < /etc/systemd/system/docker.service.d/no-proxy.conf +[Service] +Environment="NO_PROXY=$no_proxy" +EOL + fi + systemctl daemon-reload + echo "DOCKER_OPTS=\"-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --max-concurrent-downloads $max_concurrent_downloads \"" >> /etc/default/docker + usermod -aG docker $USER + + systemctl restart docker + sleep 10 +} + +# install_k8s() - Install Kubernetes using kubespray tool +function install_k8s { + echo "Deploying kubernetes" + local dest_folder=/opt + version=$(grep "kubespray_version" ${krd_playbooks}/krd-vars.yml | awk -F ': ' '{print $2}') + local tarball=v$version.tar.gz + + apt-get install -y sshpass + _install_ansible + wget https://github.com/kubernetes-incubator/kubespray/archive/$tarball + tar -C $dest_folder -xzf $tarball + rm $tarball + + pushd $dest_folder/kubespray-$version + pip install -r requirements.txt + rm -f $krd_inventory_folder/group_vars/all.yml + if [[ -n "${verbose+x}" ]]; then + echo "kube_log_level: 5" >> $krd_inventory_folder/group_vars/all.yml + else + echo "kube_log_level: 2" >> $krd_inventory_folder/group_vars/all.yml + fi + if [[ -n "${http_proxy+x}" ]]; then + echo "http_proxy: \"$http_proxy\"" >> $krd_inventory_folder/group_vars/all.yml + fi + if [[ -n "${https_proxy+x}" ]]; then + echo "https_proxy: \"$https_proxy\"" >> $krd_inventory_folder/group_vars/all.yml + fi + ansible-playbook $verbose -i $krd_inventory cluster.yml -b | tee $log_folder/setup-kubernetes.log + popd + + # Configure environment + mkdir -p $HOME/.kube + mv $HOME/admin.conf $HOME/.kube/config +} + +# install_addons() - Install Kubenertes AddOns +function install_addons { + echo "Installing Kubernetes AddOns" + apt-get install -y sshpass + _install_ansible + ansible-galaxy install -r $krd_folder/galaxy-requirements.yml --ignore-errors + + ansible-playbook $verbose -i $krd_inventory $krd_playbooks/configure-krd.yml | tee $log_folder/setup-krd.log + for addon in $addons; do + echo "Deploying $addon using configure-$addon.yml playbook.." + ansible-playbook $verbose -i $krd_inventory $krd_playbooks/configure-${addon}.yml | tee $log_folder/setup-${addon}.log + if [[ -n "${testing_enabled+x}" ]]; then + pushd $krd_tests + bash ${addon}.sh + popd + fi + done +} + +# install_plugin() - Install ONAP Multicloud Kubernetes plugin +function install_plugin { + echo "Installing multicloud/k8s plugin" + _install_go + _install_docker + pip install docker-compose + + mkdir -p /opt/{csar,kubeconfig,consul/config} + cp $HOME/.kube/config /opt/kubeconfig/krd + export CSAR_DIR=/opt/csar + export KUBE_CONFIG_DIR=/opt/kubeconfig + echo "export CSAR_DIR=${CSAR_DIR}" >> /etc/environment + echo "export KUBE_CONFIG_DIR=${KUBE_CONFIG_DIR}" >> /etc/environment + + GOPATH=$(go env GOPATH) + git clone https://git.onap.org/multicloud/k8s $GOPATH/src/k8-plugin-multicloud + pushd $GOPATH/src/k8-plugin-multicloud/deployments + ./build.sh + docker-compose up -d + popd + + if [[ -n "${testing_enabled+x}" ]]; then + pushd $krd_tests + bash plugin.sh + popd + fi +} + +# _install_crictl() - Install Container Runtime Interface (CRI) CLI +function _install_crictl { + local version="v1.0.0-alpha.0" # More info: https://github.com/kubernetes-incubator/cri-tools#current-status + + wget https://github.com/kubernetes-incubator/cri-tools/releases/download/$version/crictl-$version-linux-amd64.tar.gz + tar zxvf crictl-$version-linux-amd64.tar.gz -C /usr/local/bin + rm -f crictl-$version-linux-amd64.tar.gz + + cat << EOL > /etc/crictl.yaml +runtime-endpoint: unix:///run/criproxy.sock +image-endpoint: unix:///run/criproxy.sock +EOL +} + +# _print_kubernetes_info() - Prints the login Kubernetes information +function _print_kubernetes_info { + if ! $(kubectl version &>/dev/null); then + return + fi + # Expose Dashboard using NodePort + KUBE_EDITOR="sed -i \"s|type\: ClusterIP|type\: NodePort|g\"" kubectl -n kube-system edit service kubernetes-dashboard + + master_ip=$(kubectl cluster-info | grep "Kubernetes master" | awk -F ":" '{print $2}') + node_port=$(kubectl get service -n kube-system | grep kubernetes-dashboard | awk '{print $5}' |awk -F "[:/]" '{print $2}') + + printf "Kubernetes Info\n===============\n" > $k8s_info_file + echo "Dashboard URL: https:$master_ip:$node_port" >> $k8s_info_file + echo "Admin user: kube" >> $k8s_info_file + echo "Admin password: secret" >> $k8s_info_file +} + +# Configuration values +addons="virtlet ovn-kubernetes multus nfd" +krd_folder="$(dirname "$0")" +verbose="" + +while getopts "a:pvw:t" opt; do + case $opt in + a) + addons="$OPTARG" + ;; + p) + plugin_enabled="true" + ;; + v) + set -o xtrace + verbose="-vvv" + ;; + w) + krd_folder="$OPTARG" + ;; + t) + testing_enabled="true" + ;; + ?) + usage + exit + ;; + esac +done +log_folder=/var/log/krd +krd_inventory_folder=$krd_folder/inventory +krd_inventory=$krd_inventory_folder/hosts.ini +krd_playbooks=$krd_folder/playbooks +krd_tests=$krd_folder/tests +k8s_info_file=$krd_folder/k8s_info.log + +mkdir -p $log_folder + +# Install dependencies +apt-get update +install_k8s +install_addons +if [[ -n "${plugin_enabled+x}" ]]; then + install_plugin +fi +_print_kubernetes_info diff --git a/vagrant/inventory/group_vars/k8s-cluster.yml b/vagrant/inventory/group_vars/k8s-cluster.yml new file mode 100644 index 00000000..ab5bf7b9 --- /dev/null +++ b/vagrant/inventory/group_vars/k8s-cluster.yml @@ -0,0 +1,156 @@ +# Valid bootstrap options (required): ubuntu, coreos, centos, none +bootstrap_os: none + +#Directory where etcd data stored +etcd_data_dir: /var/lib/etcd + +# Directory where the binaries will be installed +bin_dir: /usr/local/bin + +### OTHER OPTIONAL VARIABLES +## For some things, kubelet needs to load kernel modules. For example, dynamic kernel services are needed +## for mounting persistent volumes into containers. These may not be loaded by preinstall kubernetes +## processes. For example, ceph and rbd backed volumes. Set to true to allow kubelet to load kernel +## modules. +kubelet_load_modules: true + +# Uncomment this if you have more than 3 nameservers, then we'll only use the first 3. +docker_dns_servers_strict: false + +# Kubernetes configuration dirs and system namespace. +# Those are where all the additional config stuff goes +# kubernetes normally puts in /srv/kubernetes. +# This puts them in a sane location and namespace. +# Editing those values will almost surely break something. +kube_config_dir: /etc/kubernetes +kube_script_dir: "{{ bin_dir }}/kubernetes-scripts" +kube_manifest_dir: "{{ kube_config_dir }}/manifests" +system_namespace: kube-system + +# Logging directory (sysvinit systems) +kube_log_dir: "/var/log/kubernetes" + +# This is where all the cert scripts and certs will be located +kube_cert_dir: "{{ kube_config_dir }}/ssl" + +# This is where all of the bearer tokens will be stored +kube_token_dir: "{{ kube_config_dir }}/tokens" + +# This is where to save basic auth file +kube_users_dir: "{{ kube_config_dir }}/users" + +kube_api_anonymous_auth: true + +# Where the binaries will be downloaded. +# Note: ensure that you've enough disk space (about 1G) +local_release_dir: "/tmp/releases" +# Random shifts for retrying failed ops like pushing/downloading +retry_stagger: 5 + +# This is the group that the cert creation scripts chgrp the +# cert files to. Not really changable... +kube_cert_group: kube-cert + +# Users to create for basic auth in Kubernetes API via HTTP +# Optionally add groups for user +kube_api_pwd: "secret" +kube_users: + kube: + pass: "{{kube_api_pwd}}" + role: admin + groups: + - system:masters + +## It is possible to activate / deactivate selected authentication methods (basic auth, static token auth) +#kube_oidc_auth: false +kube_basic_auth: true +kube_token_auth: true + +# Choose network plugin (calico, contiv, weave or flannel) +# Can also be set to 'cloud', which lets the cloud provider setup appropriate routing +kube_network_plugin: flannel + +# Enable kubernetes network policies +enable_network_policy: false + +# Kubernetes internal network for services, unused block of space. +kube_service_addresses: 10.233.0.0/18 + +# internal network. When used, it will assign IP +# addresses from this range to individual pods. +# This network must be unused in your network infrastructure! +kube_pods_subnet: 10.233.64.0/18 + +# internal network node size allocation (optional). This is the size allocated +# to each node on your network. With these defaults you should have +# room for 4096 nodes with 254 pods per node. +kube_network_node_prefix: 24 + +# The port the API Server will be listening on. +kube_apiserver_ip: "{{ kube_service_addresses|ipaddr('net')|ipaddr(1)|ipaddr('address') }}" +kube_apiserver_port: 6443 # (https) +kube_apiserver_insecure_port: 8080 # (http) + +# DNS configuration. +# Kubernetes cluster name, also will be used as DNS domain +cluster_name: cluster.local +# Subdomains of DNS domain to be resolved via /etc/resolv.conf for hostnet pods +ndots: 2 +# Can be dnsmasq_kubedns, kubedns or none +dns_mode: kubedns +# Can be docker_dns, host_resolvconf or none +resolvconf_mode: docker_dns +# Deploy netchecker app to verify DNS resolve as an HTTP service +deploy_netchecker: false +# Ip address of the kubernetes skydns service +skydns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(3)|ipaddr('address') }}" +dnsmasq_dns_server: "{{ kube_service_addresses|ipaddr('net')|ipaddr(2)|ipaddr('address') }}" +dns_domain: "{{ cluster_name }}" + +# Path used to store Docker data +docker_daemon_graph: "/var/lib/docker" + +## A string of extra options to pass to the docker daemon. +## This string should be exactly as you wish it to appear. +## An obvious use case is allowing insecure-registry access +## to self hosted registries like so: + +docker_options: "--insecure-registry={{ kube_service_addresses }} --graph={{ docker_daemon_graph }} {{ docker_log_opts }}" +docker_bin_dir: "/usr/bin" + +# Settings for containerized control plane (etcd/kubelet/secrets) +etcd_deployment_type: docker +kubelet_deployment_type: host +vault_deployment_type: docker +helm_deployment_type: host + +# K8s image pull policy (imagePullPolicy) +k8s_image_pull_policy: IfNotPresent + +# Kubernetes dashboard +# RBAC required. see docs/getting-started.md for access details. +dashboard_enabled: true + +# Monitoring apps for k8s +efk_enabled: false + +# Helm deployment +helm_enabled: false + +# Istio deployment +istio_enabled: false + +# Add Persistent Volumes Storage Class for corresponding cloud provider ( OpenStack is only supported now ) +persistent_volumes_enabled: false + +# Make a copy of kubeconfig on the host that runs Ansible in GITDIR/artifacts +kubeconfig_localhost: true +# Download kubectl onto the host that runs Ansible in GITDIR/artifacts +kubectl_localhost: false +artifacts_dir: "{{ ansible_env.HOME }}" + +# Enable MountPropagation gate feature +local_volumes_enabled: true + +## Change this to use another Kubernetes version, e.g. a current beta release +kube_version: v1.11.2 diff --git a/vagrant/node.sh b/vagrant/node.sh new file mode 100755 index 00000000..e6702457 --- /dev/null +++ b/vagrant/node.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o nounset +set -o pipefail +set -o xtrace + +# usage() - Prints the usage of the program +function usage { + cat <> /etc/fstab +} + +while getopts "h?v:" opt; do + case $opt in + v) + dict_volumes="$OPTARG" + ;; + h|\?) + usage + exit + ;; + esac +done + +swapoff -a +if [[ -n "${dict_volumes+x}" ]]; then + for kv in ${dict_volumes//,/ } ;do + mount_external_partition ${kv%=*} ${kv#*=} + done +fi diff --git a/vagrant/playbooks/Debian.yml b/vagrant/playbooks/Debian.yml new file mode 100644 index 00000000..96357fe2 --- /dev/null +++ b/vagrant/playbooks/Debian.yml @@ -0,0 +1,22 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +openvswitch_service: openvswitch-switch +openvswitch_pkgs: + - openvswitch-common + - openvswitch-switch + - libopenvswitch + - openvswitch-datapath-dkms +ovn_central_service: ovn-central +ovn_central_pkgs: + - ovn-central # <= 2.8.1-1 +ovn_controller_service: ovn-host +ovn_pkgs: + - ovn-common # <= 2.8.1-1 + - ovn-host diff --git a/vagrant/playbooks/RedHat.yml b/vagrant/playbooks/RedHat.yml new file mode 100644 index 00000000..fe839bbd --- /dev/null +++ b/vagrant/playbooks/RedHat.yml @@ -0,0 +1,19 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +openvswitch_service: +openvswitch_pkgs: + - openvswitch +ovn_central_service: ovn-central +ovn_central_pkgs: + - ovn-central # <= 2.8.1-1 +ovn_controller_service: ovn-host +ovn_pkgs: + - ovn-common # <= 2.8.1-1 + - ovn-host diff --git a/vagrant/playbooks/Suse.yml b/vagrant/playbooks/Suse.yml new file mode 100644 index 00000000..17d1147c --- /dev/null +++ b/vagrant/playbooks/Suse.yml @@ -0,0 +1,20 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +openvswitch_service: +openvswitch_pkgs: + - openvswitch + - openvswitch-switch +ovn_central_service: ovn-central +ovn_central_pkgs: + - ovn-central # <= 2.8.1-1 +ovn_controller_service: ovn-host +ovn_pkgs: + - ovn-common # <= 2.8.1-1 + - ovn-host diff --git a/vagrant/playbooks/configure-krd.yml b/vagrant/playbooks/configure-krd.yml new file mode 100644 index 00000000..c8146ed8 --- /dev/null +++ b/vagrant/playbooks/configure-krd.yml @@ -0,0 +1,16 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +- hosts: kube-node + become: yes + tasks: + - name: copy admin.conf file to kube-nodes + copy: + src: "{{ ansible_env.HOME}}/.kube/config" + dest: "/etc/kubernetes/admin.conf" diff --git a/vagrant/playbooks/configure-multus.yml b/vagrant/playbooks/configure-multus.yml new file mode 100644 index 00000000..58eda4bd --- /dev/null +++ b/vagrant/playbooks/configure-multus.yml @@ -0,0 +1,110 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +- hosts: kube-node + become: yes + pre_tasks: + - name: Load krd variables + include_vars: + file: krd-vars.yml + roles: + - { role: andrewrothstein.go, when: multus_source_type == "source" } + environment: + PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin/" + tasks: + - name: create multus binary folder + file: + state: directory + path: "{{ item }}" + with_items: + - /opt/cni/bin + - "{{ multus_dest }}" + - name: getting source code + block: + - name: clone Multus repo + git: + repo: "{{ multus_url }}" + dest: "{{ multus_dest }}" + version: "{{ multus_version }}" + force: yes + - name: build multus source code + command: ./build + args: + chdir: "{{ multus_dest }}" + - name: copy multus binary to opt folder + command: "mv {{ multus_dest }}/bin/multus /opt/cni/bin/multus" + when: multus_source_type == "source" + - name: getting binary + block: + - name: download Multus tarball + get_url: + url: "{{ multus_url }}" + dest: "/tmp/multus.tar.gz" + - name: extract multus source code + unarchive: + src: "/tmp/multus.tar.gz" + dest: "{{ multus_dest }}" + remote_src: yes + - name: copy multus binary to opt folder + command: "mv {{ multus_dest }}/multus-cni_v{{ multus_version }}_linux_amd64/multus-cni /opt/cni/bin/multus" + when: multus_source_type == "tarball" + - name: create multus configuration file + blockinfile: + marker: "" + path: /etc/cni/net.d/00-multus.conf + create: yes + block: | + { + "type": "multus", + "kubeconfig": "/etc/kubernetes/admin.conf", + "delegates": [ + { + "type": "flannel", + "masterplugin": true, + "delegate": { + "isDefaultGateway": true + } + } + ] + } + +- hosts: localhost + roles: + - andrewrothstein.kubectl + tasks: + - name: define a CRD network object specification + blockinfile: + path: /tmp/crdnetwork.yml + create: yes + block: | + apiVersion: apiextensions.k8s.io/v1beta1 + kind: CustomResourceDefinition + metadata: + # name must match the spec fields below, and be in the form: . + name: networks.kubernetes.cni.cncf.io + spec: + # group name to use for REST API: /apis// + group: kubernetes.cni.cncf.io + # version name to use for REST API: /apis// + version: v1 + # either Namespaced or Cluster + scope: Namespaced + names: + # plural name to be used in the URL: /apis/// + plural: networks + # singular name to be used as an alias on the CLI and for display + singular: network + # kind is normally the CamelCased singular type. Your resource manifests use this. + kind: Network + # shortNames allow shorter string to match your resource on the CLI + shortNames: + - net + - name: create network objects + shell: "/usr/local/bin/kubectl apply -f /tmp/crdnetwork.yml" + ignore_errors: True diff --git a/vagrant/playbooks/configure-nfd.yml b/vagrant/playbooks/configure-nfd.yml new file mode 100644 index 00000000..90bad671 --- /dev/null +++ b/vagrant/playbooks/configure-nfd.yml @@ -0,0 +1,57 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +- hosts: kube-node + tasks: + - name: Load krd variables + include_vars: + file: krd-vars.yml + - name: clone NFD repo + git: + repo: "{{ nfd_url }}" + dest: "{{ nfd_dest }}" + version: "{{ nfd_version }}" + force: yes + when: nfd_source_type == "source" + - name: build NFD image + become: yes + make: + chdir: "{{ nfd_dest }}" + - name: get NDF image name + become: yes + shell: "docker images | grep kubernetes_incubator | awk '{printf(\"%s:%s\\n\", $1,$2)}'" + register: nfd_image + - name: replace NFD image name + lineinfile: + path: "{{ nfd_dest }}/node-feature-discovery-{{ item }}.json.template" + regexp: "\"image\": \"quay.io/kubernetes_incubator.*i" + line: "\"image\": \"{{ nfd_image.stdout }}\"," + with_items: + - daemonset + - job + - name: copying rbac and daemonset files + fetch: + src: "{{ nfd_dest }}/{{ item }}" + dest: "/tmp/" + flat: yes + with_items: + - rbac.yaml + - node-feature-discovery-daemonset.json.template + +- hosts: localhost + become: yes + roles: + - andrewrothstein.kubectl + tasks: + - name: create service accounts + command: "/usr/local/bin/kubectl apply -f /tmp/{{ item }}" + with_items: + - rbac.yaml + - node-feature-discovery-daemonset.json.template diff --git a/vagrant/playbooks/configure-ovn-kubernetes.yml b/vagrant/playbooks/configure-ovn-kubernetes.yml new file mode 100644 index 00000000..cea102f2 --- /dev/null +++ b/vagrant/playbooks/configure-ovn-kubernetes.yml @@ -0,0 +1,131 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +- import_playbook: configure-ovn.yml + +- hosts: ovn-central:ovn-controller + vars: + central_node_ip: "{{ hostvars[groups['ovn-central'][0]]['ansible_ssh_host'] }}" + environment: + PATH: "{{ ansible_env.PATH }}:/usr/local/go/bin/" + roles: + - role: andrewrothstein.go + tasks: + - name: Load krd variables + include_vars: + file: krd-vars.yml + - name: clone ovn-kubernetes repo + git: + repo: "{{ ovn_kubernetes_url }}" + dest: "{{ ovn_kubernetes_dest }}" + version: "{{ ovn_kubernetes_version }}" + force: yes + when: ovn_kubernetes_source_type == "source" + - name: getting binaries + block: + - name: download ovn-kubernetes tarball + get_url: + url: "{{ ovn_kubernetes_url }}" + dest: /tmp/ovn-kubernetes.tar.gz + - name: extract ovn-kubernetes source code + unarchive: + src: /tmp/ovn-kubernetes.tar.gz + dest: /tmp/ + remote_src: yes + - name: rename extracted folder + command: "mv /tmp/ovn-kubernetes-{{ ovn_kubernetes_version }}/ {{ ovn_kubernetes_dest }}/" + when: ovn_kubernetes_source_type == "tarball" + - name: make ovnkube files + make: + chdir: "{{ ovn_kubernetes_dest }}/go-controller" + - name: install ovnkube files + make: + chdir: "{{ ovn_kubernetes_dest }}/go-controller" + target: install + become: yes + - name: create OVN Kubernetes config file + become: yes + blockinfile: + path: /etc/openvswitch/ovn_k8s.conf + create: yes + block: | + [logging] + loglevel=5 + logfile=/var/log/openvswitch/ovnkube.log + + [cni] + conf-dir=/etc/cni/net.d + plugin=ovn-k8s-cni-overlay + - name: create ovnkube logging directory + file: + path: /var/log/openvswitch + state: directory + +- hosts: ovn-central + become: yes + vars: + central_node_ip: "{{ hostvars[groups['ovn-central'][0]]['ansible_ssh_host'] }}" + tasks: + - name: create ovnkube central systemd service + blockinfile: + path: /etc/systemd/system/ovn-k8s-central.service + create: yes + block: | + [Unit] + Description=OVN Central Daemon + + [Service] + ExecStart=/usr/bin/ovnkube \ + -net-controller \ + -init-master="{{ ansible_hostname }}" \ + -init-node="{{ ansible_hostname }}" \ + -nodeport \ + -k8s-kubeconfig=/etc/kubernetes/admin.conf \ + -k8s-token="test" \ + -nb-address="tcp://{{ central_node_ip }}:6641" \ + -sb-address="tcp://{{ central_node_ip }}:6642" + + [Install] + WantedBy=multi-user.target + - name: start ovnkube central systemd service + service: + name: ovn-k8s-central + state: started + enabled: yes + +- hosts: ovn-controller + become: yes + vars: + central_node_ip: "{{ hostvars[groups['ovn-central'][0]]['ansible_ssh_host'] }}" + tasks: + - name: create ovnkube controller systemd service + blockinfile: + path: /etc/systemd/system/ovn-k8s-host.service + create: yes + block: | + [Unit] + Description=OVN Controller Daemon + + [Service] + ExecStart=/usr/bin/ovnkube \ + -init-gateways \ + -init-node="{{ ansible_hostname }}" \ + -nodeport \ + -k8s-kubeconfig=/etc/kubernetes/admin.conf \ + -k8s-token="test" \ + -nb-address="tcp://{{ central_node_ip }}:6641" \ + -sb-address="tcp://{{ central_node_ip }}:6642" + + [Install] + WantedBy=multi-user.target + - name: start ovnkube controller systemd service + service: + name: ovn-k8s-host + state: started + enabled: yes diff --git a/vagrant/playbooks/configure-ovn.yml b/vagrant/playbooks/configure-ovn.yml new file mode 100644 index 00000000..3fd2c765 --- /dev/null +++ b/vagrant/playbooks/configure-ovn.yml @@ -0,0 +1,109 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +- hosts: ovn-central:ovn-controller + become: yes + tasks: + - name: Load distribution variables + include_vars: + file: "{{ item }}" + with_items: + - "{{ ansible_os_family }}.yml" + - name: get Wand GPI files + get_url: + url: https://packages.wand.net.nz/keyring.gpg + dest: /etc/apt/trusted.gpg.d/wand.gpg + - name: add WAND Debian Repo + apt_repository: + repo: "deb https://packages.wand.net.nz {{ ansible_lsb.codename }} main" + state: present + - name: install OpenVSwitch packages + package: + name: "{{ item }}" + state: present + with_items: "{{ openvswitch_pkgs }}" + - name: install Open Virtual Network components + package: + name: "{{ item }}" + state: present + with_items: "{{ ovn_pkgs }}" + - name: start OpenVSwitch services + service: + name: "{{ openvswitch_service }}" + state: started + +- hosts: ovn-central + become: yes + tasks: + - name: Load distribution variables + include_vars: + file: "{{ item }}" + with_items: + - "{{ ansible_os_family }}.yml" + - name: install Open Virtual Network central components + package: + name: "{{ item }}" + state: present + with_items: "{{ ovn_central_pkgs }}" + - name: enable remote connections to southbound and northbound dbs + lineinfile: + path: /etc/default/ovn-central + line: "OVN_CTL_OPTS=\" --db-sb-create-insecure-remote=yes --db-nb-create-insecure-remote=yes\"" + state: present + when: ansible_os_family == "Debian" + - name: start OVN northbound database services + service: + name: "{{ ovn_central_service }}" + state: restarted + +- hosts: ovn-controller + become: yes + vars: + ovn_central_ips: "{{ groups['ovn-central'] | map('extract', hostvars, ['ansible_ssh_host']) | join(',') }}" + tasks: + - name: Load distribution variables + include_vars: + file: "{{ item }}" + with_items: + - "{{ ansible_os_family }}.yml" + - name: stop the ovn-controller service + service: + name: "{{ ovn_controller_service }}" + state: stopped + - name: configure OpenVSwitch databases + openvswitch_db: + table: Open_vSwitch + record: . + col: external_ids + key: ovn-remote + value: \""tcp:{{ item }}:6642"\" + with_items: "{{ ovn_central_ips }}" + - name: enable overlay network protocols + openvswitch_db: + table: Open_vSwitch + record: . + col: external_ids + key: ovn-encap-type + value: geneve + - name: configure the overlay network local endpoint IP address. + openvswitch_db: + table: Open_vSwitch + record: . + col: external_ids + key: ovn-encap-ip + value: "{{ ansible_default_ipv4.address }}" + - name: start the ovn-controller service + service: + name: "{{ ovn_controller_service }}" + state: started + - name: ensuring that br-int bridge exists + openvswitch_bridge: + bridge: br-int + state: present + fail_mode: secure diff --git a/vagrant/playbooks/configure-virtlet.yml b/vagrant/playbooks/configure-virtlet.yml new file mode 100644 index 00000000..fcc33716 --- /dev/null +++ b/vagrant/playbooks/configure-virtlet.yml @@ -0,0 +1,233 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +- hosts: localhost + become: yes + vars: + images_file: /tmp/images.yaml + pre_tasks: + - name: Load krd variables + include_vars: + file: krd-vars.yml + roles: + - andrewrothstein.kubectl + - { role: geerlingguy.docker, when: virtlet_source_type == "source" } + tasks: + - name: create Virtlet binary folder + file: + state: directory + path: "{{ virtlet_dest }}" + - name: apply virtlet extraRuntime label + command: "/usr/local/bin/kubectl label node {{ item }} extraRuntime=virtlet --overwrite" + with_inventory_hostnames: virtlet + - name: create image translations confimap file + blockinfile: + path: "{{ images_file }}" + create: yes + block: | + translations: + - name: ubuntu/16.04 + url: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img + - regexp: 'centos/(\d+)-(\d+)' + url: 'https://cloud.centos.org/centos/$1/images/CentOS-$1-x86_64-GenericCloud-$2.qcow2' + - name: fedora + url: https://download.fedoraproject.org/pub/fedora/linux/releases/27/CloudImages/x86_64/images/Fedora-Cloud-Base-27-1.6.x86_64.qcow2 + {% if lookup('env','http_proxy') != "" %} + transports: + "": + proxy: "{{ lookup('env','http_proxy') }}" + {% endif %} + - name: install image translations configmap + shell: "/usr/local/bin/kubectl create configmap -n kube-system virtlet-image-translations --from-file {{ images_file }} --dry-run -o yaml | /usr/local/bin/kubectl apply -f -" + ignore_errors: True + - name: create Virtlet folder + file: + state: directory + path: "{{ virtlet_dest }}" + - name: getting source code + block: + - name: clone Virtlet repo + git: + repo: "{{ virtlet_url }}" + dest: "{{ virtlet_dest }}" + version: "{{ virtlet_version }}" + force: yes + - name: configure proxy values for docker service + block: + - name: create docker config folder + file: + state: directory + path: "/etc/systemd/system/docker.service.d" + - name: Configure docker service to use http_proxy env value + blockinfile: + dest: "/etc/systemd/system/docker.service.d/http-proxy.conf" + create: yes + block: | + [Service] + Environment="HTTP_PROXY={{ lookup('env','http_proxy') }}" + when: + - lookup('env','http_proxy') != "fooproxy" + - name: Configure docker service to use https_proxy env value + blockinfile: + dest: "/etc/systemd/system/docker.service.d/https-proxy.conf" + create: yes + block: | + [Service] + Environment="HTTPS_PROXY={{ lookup('env','https_proxy') }}" + when: + - lookup('env','https_proxy') != "fooproxy" + - name: Configure docker service to use no_proxy env value + blockinfile: + dest: "/etc/systemd/system/docker.service.d/no-proxy.conf" + create: yes + block: | + [Service] + Environment="NO_PROXY={{ lookup('env','no_proxy') }}" + when: + - lookup('env','no_proxy') != "fooproxy" + - name: reload systemd + command: systemctl daemon-reload + - name: restart docker service + service: + name: docker + state: restarted + when: lookup('env','http_proxy') != "fooproxy" or lookup('env','https_proxy') != "fooproxy" or lookup('env','no_proxy') != "fooproxy" + - name: build virtlet source code + command: ./cmd.sh build + args: + chdir: "{{ virtlet_dest }}/build" + environment: + http_proxy: "{{ lookup('env','http_proxy') }}" + https_proxy: "{{ lookup('env','https_proxy') }}" + no_proxy: "{{ lookup('env','no_proxy') }}" + when: virtlet_source_type == "source" + - name: download virtletctl + get_url: + url: "{{ virtlet_url }}" + dest: "{{ virtlet_dest }}/virtletctl" + when: virtlet_source_type == "binary" + - name: set virtletctl execution permissions + file: + path: "{{ virtlet_dest }}/virtletctl" + mode: "+x" + - name: install virtletctl as kubectl plugin + command: "{{ virtlet_dest }}/virtletctl install" + - name: create Virtlet k8s objects + shell: "/usr/local/bin/kubectl plugin virt gen | /usr/local/bin/kubectl apply -f -" + ignore_errors: True + - name: wait for Virtlet daemonset + shell: "/usr/local/bin/kubectl get ds virtlet -n=kube-system -o=jsonpath --template={.status.numberReady}" + register: daemonset + until: + - '1' + retries: 6 + delay: 10 + +- hosts: virtlet + become: yes + tasks: + - name: Load krd variables + include_vars: + file: krd-vars.yml + - name: create CRIProxy binary folder + file: + state: directory + path: "{{ criproxy_dest }}" + - name: disable AppArmor in all nodes + service: + name: apparmor + state: stopped + enabled: no + when: ansible_os_family == "Debian" + - name: modify args for kubelet service + lineinfile: + dest: /etc/systemd/system/kubelet.service + line: " --container-runtime=remote --container-runtime-endpoint=unix:///run/criproxy.sock --image-service-endpoint=unix:///run/criproxy.sock --enable-controller-attach-detach=false \\" + insertafter: '^ExecStart=/usr/local/bin/kubelet *' + state: present + - name: create dockershim service + blockinfile: + path: /etc/systemd/system/dockershim.service + create: yes + block: | + [Unit] + Description=dockershim for criproxy + + [Service] + EnvironmentFile=-/etc/kubernetes/kubelet.env + ExecStartPre=-/bin/mkdir -p /var/lib/kubelet/volume-plugins + ExecStart=/usr/local/bin/kubelet --experimental-dockershim --port 11250 \ + $KUBE_LOGTOSTDERR \ + $KUBE_LOG_LEVEL \ + $KUBELET_API_SERVER \ + $KUBELET_ADDRESS \ + $KUBELET_PORT \ + $KUBELET_HOSTNAME \ + $KUBE_ALLOW_PRIV \ + $KUBELET_ARGS \ + $DOCKER_SOCKET \ + $KUBELET_NETWORK_PLUGIN \ + $KUBELET_VOLUME_PLUGIN \ + $KUBELET_CLOUDPROVIDER + Restart=always + StartLimitInterval=0 + RestartSec=10 + + [Install] + RequiredBy=criproxy.service + - name: getting source code + block: + - name: clone CRIProxy repo + git: + repo: "{{ criproxy_url }}" + dest: "{{ criproxy_dest }}" + version: "{{ criproxy_version }}" + force: yes + - name: build criproxy source code + command: ./build-package.sh + args: + chdir: "{{ criproxy_dest }}" + when: criproxy_source_type == "source" + - name: download CRIproxy package + get_url: + url: "{{ criproxy_url }}" + dest: "{{ criproxy_dest }}/criproxy" + when: criproxy_source_type == "binary" + - name: set criproxy execution permissions + file: + path: "{{ criproxy_dest }}/criproxy" + mode: "+x" + - name: create criproxy service + blockinfile: + path: /etc/systemd/system/criproxy.service + create: yes + block: | + [Unit] + Description=CRI Proxy + + [Service] + ExecStart={{ criproxy_dest }}/criproxy -v 3 -logtostderr -connect /var/run/dockershim.sock,virtlet.cloud:/run/virtlet.sock -listen /run/criproxy.sock + Restart=always + StartLimitInterval=0 + RestartSec=10 + + [Install] + WantedBy=kubelet.service + - name: start criproxy and dockershim services + service: + name: "{{ item }}" + state: started + enabled: yes + with_items: + - dockershim + - criproxy + - name: restart kubelet services + service: + name: kubelet + state: restarted diff --git a/vagrant/playbooks/krd-vars.yml b/vagrant/playbooks/krd-vars.yml new file mode 100644 index 00000000..7aacb8db --- /dev/null +++ b/vagrant/playbooks/krd-vars.yml @@ -0,0 +1,50 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +base_dest: /tmp + +multus_dest: "{{ base_dest }}/multus-cni" +multus_source_type: "tarball" +multus_version: 2.0 +multus_url: "https://github.com/intel/multus-cni/releases/download/v{{ multus_version }}/multus-cni_v{{ multus_version }}_linux_amd64.tar.gz" +#multus_source_type: "source" +#multus_version: def72938cd2fb272eb3a6f64a8162b1049404357 +#multus_url: "https://github.com/intel/multus-cni" + +ovn_kubernetes_dest: "{{ base_dest }}/ovn-kubernetes" +ovn_kubernetes_source_type: "tarball" +ovn_kubernetes_version: 0.3.0 +ovn_kubernetes_url: "https://github.com/openvswitch/ovn-kubernetes/archive/v{{ ovn_kubernetes_version }}.tar.gz" +#ovn_kubernetes_source_type: "source" +#ovn_kubernetes_version: 456a0857956988f968bb08644c650ba826592ec1 +#ovn_kubernetes_url: "https://github.com/openvswitch/ovn-kubernetes" + +criproxy_dest: "{{ base_dest }}/criproxy" +criproxy_source_type: "binary" +criproxy_version: 0.12.0 +criproxy_url: "https://github.com/Mirantis/criproxy/releases/download/v{{ criproxy_version }}/criproxy" +#criproxy_source_type: "source" +#criproxy_version: b5ca5a6cec278e2054dface4f7a3e111fb9ab84b +#criproxy_url: "https://github.com/Mirantis/criproxy" +virtlet_dest: "{{ base_dest }}/virtlet" +virtlet_source_type: "binary" +virtlet_version: 1.1.2 +virtlet_url: "https://github.com/Mirantis/virtlet/releases/download/v{{ virtlet_version }}/virtletctl" +#virtlet_source_type: "source" +#virtlet_version: 68e11b8f1db2c78b063126899f0e60910700975d +#virtlet_url: "https://github.com/Mirantis/virtlet" + +nfd_dest: "{{ base_dest }}/nfd" +nfd_source_type: "source" +nfd_version: 175305b1ad73be7301ac94add475cec6fef797a9 +nfd_url: "https://github.com/kubernetes-incubator/node-feature-discovery" + +go_version: 1.10.3 +kubespray_version: 2.6.0 diff --git a/vagrant/setup.sh b/vagrant/setup.sh new file mode 100755 index 00000000..d4927dad --- /dev/null +++ b/vagrant/setup.sh @@ -0,0 +1,167 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o nounset +set -o pipefail + +vagrant_version=2.1.2 +if ! $(vagrant version &>/dev/null); then + enable_vagrant_install=true +else + if [[ "$vagrant_version" != "$(vagrant version | awk 'NR==1{print $3}')" ]]; then + enable_vagrant_install=true + fi +fi + +function usage { + cat < +Installation of vagrant and its dependencies in Linux OS + +Argument: + -p Vagrant provider +EOF +} + +while getopts ":p:" OPTION; do + case $OPTION in + p) + provider=$OPTARG + ;; + \?) + usage + exit 1 + ;; + esac +done +if [[ -z "${provider+x}" ]]; then + usage + exit 1 +fi + +case $provider in + "virtualbox" | "libvirt" ) + export VAGRANT_DEFAULT_PROVIDER=${provider} + ;; + * ) + usage + exit 1 +esac +source /etc/os-release || source /usr/lib/os-release + +libvirt_group="libvirt" +packages=() +case ${ID,,} in + *suse) + INSTALLER_CMD="sudo -H -E zypper -q install -y --no-recommends" + + # Vagrant installation + if [[ "${enable_vagrant_install+x}" ]]; then + vagrant_pgp="pgp_keys.asc" + wget -q https://keybase.io/hashicorp/$vagrant_pgp + wget -q https://releases.hashicorp.com/vagrant/$vagrant_version/vagrant_${vagrant_version}_x86_64.rpm + gpg --quiet --with-fingerprint $vagrant_pgp + sudo rpm --import $vagrant_pgp + sudo rpm --checksig vagrant_${vagrant_version}_x86_64.rpm + sudo rpm --install vagrant_${vagrant_version}_x86_64.rpm + rm vagrant_${vagrant_version}_x86_64.rpm + rm $vagrant_pgp + fi + + case $VAGRANT_DEFAULT_PROVIDER in + virtualbox) + wget -q http://download.virtualbox.org/virtualbox/rpm/opensuse/$VERSION/virtualbox.repo -P /etc/zypp/repos.d/ + $INSTALLER_CMD --enablerepo=epel dkms + wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm --import - + packages+=(VirtualBox-5.1) + ;; + libvirt) + # vagrant-libvirt dependencies + packages+=(qemu libvirt libvirt-devel ruby-devel gcc qemu-kvm zlib-devel libxml2-devel libxslt-devel make) + # NFS + packages+=(nfs-kernel-server) + ;; + esac + sudo zypper -n ref + ;; + + ubuntu|debian) + libvirt_group="libvirtd" + INSTALLER_CMD="sudo -H -E apt-get -y -q=3 install" + + # Vagrant installation + if [[ "${enable_vagrant_install+x}" ]]; then + wget -q https://releases.hashicorp.com/vagrant/$vagrant_version/vagrant_${vagrant_version}_x86_64.deb + sudo dpkg -i vagrant_${vagrant_version}_x86_64.deb + rm vagrant_${vagrant_version}_x86_64.deb + fi + + case $VAGRANT_DEFAULT_PROVIDER in + virtualbox) + echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list + wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - + wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - + packages+=(virtualbox-5.1 dkms) + ;; + libvirt) + # vagrant-libvirt dependencies + packages+=(qemu libvirt-bin ebtables dnsmasq libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev) + # NFS + packages+=(nfs-kernel-server) + ;; + esac + sudo apt-get update + ;; + + rhel|centos|fedora) + PKG_MANAGER=$(which dnf || which yum) + sudo $PKG_MANAGER updateinfo + INSTALLER_CMD="sudo -H -E ${PKG_MANAGER} -q -y install" + + # Vagrant installation + if [[ "${enable_vagrant_install+x}" ]]; then + wget -q https://releases.hashicorp.com/vagrant/$vagrant_version/vagrant_${vagrant_version}_x86_64.rpm + $INSTALLER_CMD vagrant_${vagrant_version}_x86_64.rpm + rm vagrant_${vagrant_version}_x86_64.rpm + fi + + case $VAGRANT_DEFAULT_PROVIDER in + virtualbox) + wget -q http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo -P /etc/yum.repos.d + $INSTALLER_CMD --enablerepo=epel dkms + wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | rpm --import - + packages+=(VirtualBox-5.1) + ;; + libvirt) + # vagrant-libvirt dependencies + packages+=(qemu libvirt libvirt-devel ruby-devel gcc qemu-kvm) + # NFS + packages+=(nfs-utils nfs-utils-lib) + ;; + esac + ;; + +esac + +if ! which pip; then + curl -sL https://bootstrap.pypa.io/get-pip.py | sudo python +fi +sudo pip install --upgrade pip +sudo pip install tox + +${INSTALLER_CMD} ${packages[@]} +if [[ ${http_proxy+x} ]]; then + vagrant plugin install vagrant-proxyconf +fi +if [ $VAGRANT_DEFAULT_PROVIDER == libvirt ]; then + vagrant plugin install vagrant-libvirt + sudo usermod -a -G $libvirt_group $USER # This might require to reload user's group assigments + sudo systemctl restart libvirtd +fi diff --git a/vagrant/tests/generic_simulator/Dockerfile b/vagrant/tests/generic_simulator/Dockerfile new file mode 100644 index 00000000..202cafc6 --- /dev/null +++ b/vagrant/tests/generic_simulator/Dockerfile @@ -0,0 +1,27 @@ +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +FROM python:2.7 + +ARG HTTP_PROXY=${HTTP_PROXY} +ARG HTTPS_PROXY=${HTTPS_PROXY} + +ENV http_proxy $HTTP_PROXY +ENV https_proxy $HTTPS_PROXY + +EXPOSE 8080 + +RUN mkdir -p /{tmp,etc}/generic_sim + +WORKDIR /opt/generic_sim/ + +COPY . . +RUN pip install --no-cache-dir -r requirements.txt + +CMD [ "python", "generic_sim.py" ] diff --git a/vagrant/tests/generic_simulator/aai/responses.yml b/vagrant/tests/generic_simulator/aai/responses.yml new file mode 100644 index 00000000..f6d5fcd0 --- /dev/null +++ b/vagrant/tests/generic_simulator/aai/responses.yml @@ -0,0 +1,189 @@ +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne: + GET: + body: '{"cloud-owner":"CloudOwner","cloud-region-id":"RegionOne","cloud-type":"openstack","owner-defined-type":"t1","cloud-region-version":"RegionOne","identity-url":"http://keystone:8080/v3","cloud-zone":"z1","complex-name":"clli1","sriov-automation":false,"cloud-extra-info":"","resource-version":"1524845154715"}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal","Node + Not Found:No Node of type availability-zone found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova","Node + Not Found:No Node of type availability-zone found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d","Node + Not Found:No Node of type image found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d","Node + Not Found:No Node of type tenant found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7","Node + Not Found:No Node of type tenant found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne: + GET: + body: '{"cloud-owner":"CloudOwner","cloud-region-id":"RegionOne","cloud-type":"openstack","owner-defined-type":"t1","cloud-region-version":"RegionOne","identity-url":"http://multicloud-ocata:80/api/multicloud-titanium_cloud/v0/CloudOwner_RegionOne/identity/v2.0","cloud-zone":"z1","complex-name":"clli1","sriov-automation":false,"cloud-extra-info":"","resource-version":"1524845276291"}' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/esr-system-info-list: + GET: + body: '{"esr-system-info":[{"esr-system-info-id":"4ce895ad-82f7-4476-b5eb-d19d19585da2","service-url":"http://keystone:8080/v3","user-name":"admin","password":"secret","system-type":"VIM","ssl-insecure":true,"cloud-domain":"Default","default-tenant":"admin","resource-version":"1524845155617"}]}' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/pservers/pserver/compute-0: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/pservers/pserver/compute-0","Node + Not Found:No Node of type pserver found at: cloud-infrastructure/pservers/pserver/compute-0","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/pservers/pserver/compute-0/relationship-list/relationship: + PUT: + body: '' + content_type: application/json + status_code: 200 diff --git a/vagrant/tests/generic_simulator/generic_sim.py b/vagrant/tests/generic_simulator/generic_sim.py new file mode 100644 index 00000000..4392b652 --- /dev/null +++ b/vagrant/tests/generic_simulator/generic_sim.py @@ -0,0 +1,109 @@ +# Copyright 2018 Intel Corporation, Inc +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import json +import logging + +import web +from web import webapi +import yaml + +urls = ( + '/(.*)','MockController' +) + +def setup_logger(name, log_file, level=logging.DEBUG): + print("Configuring the logger...") + handler = logging.FileHandler(log_file) + formatter = logging.Formatter('%(message)s') + handler.setFormatter(formatter) + + logger = logging.getLogger(name) + logger.setLevel(level) + logger.addHandler(handler) + + return logger + + +class MockResponse: + def __init__(self, http_verb, status_code, + content_type="application/json", body="{}", + headers={}): + self.http_verb = http_verb.lower() + self.status_code = status_code + self.content_type = content_type + self.body = body + self.headers = headers + +def _parse_responses(parsed_responses): + result = {} + for path, responses in parsed_responses.iteritems(): + new_path = path + if path.startswith("/"): + new_path = path[1:] + + result[new_path] = [] + for http_verb, response in responses.iteritems(): + result[new_path].append(MockResponse(http_verb, **response)) + return result + +def load_responses(filename): + print("Loading responses from configuration file..") + with open(filename) as yaml_file: + responses_file = yaml.safe_load(yaml_file) + responses_map = _parse_responses(responses_file) + return responses_map + + +class MockController: + + def _do_action(self, action): + logger.info('{}'.format(web.ctx.env.get('wsgi.input').read())) + action = action.lower() + url = web.ctx['fullpath'] + try: + if url.startswith("/"): + url = url[1:] + response = [ r for r in responses_map[url] if r.http_verb == action][0] + for header, value in response.headers.iteritems(): + web.header(header, value) + web.header('Content-Type', response.content_type) + print(response.body) + return response.body + except: + webapi.NotFound() + + def DELETE(self, url): + return self._do_action("delete") + + def HEAD(self, url): + return self._do_action("head") + + def PUT(self, url): + return self._do_action("put") + + def GET(self, url): + return self._do_action("get") + + def POST(self, url): + return self._do_action("post") + + def PATCH(self, url): + return self._do_action("patch") + + +logger = setup_logger('mock_controller', '/tmp/generic_sim/output.log') +responses_map = load_responses('/etc/generic_sim/responses.yml') +app = web.application(urls, globals()) +if __name__ == "__main__": + app.run() diff --git a/vagrant/tests/generic_simulator/requirements.txt b/vagrant/tests/generic_simulator/requirements.txt new file mode 100644 index 00000000..a0b6aae2 --- /dev/null +++ b/vagrant/tests/generic_simulator/requirements.txt @@ -0,0 +1,11 @@ +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +PyYAML +web.py diff --git a/vagrant/tests/integration_cFW.sh b/vagrant/tests/integration_cFW.sh new file mode 100755 index 00000000..e4b305f4 --- /dev/null +++ b/vagrant/tests/integration_cFW.sh @@ -0,0 +1,194 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +rm -f $HOME/*.yaml +packetgen_deployment_name=packetgen +sink_deployment_name=sink +firewall_deployment_name=firewall + +cat << NET > $HOME/unprotected-private-net-cidr-network.yaml +apiVersion: "kubernetes.cni.cncf.io/v1" +kind: Network +metadata: + name: unprotected-private-net-cidr +spec: + config: '{ + "name": "unprotected", + "type": "bridge", + "ipam": { + "type": "host-local", + "subnet": "192.168.10.0/24" + } +}' +NET + +cat << NET > $HOME/protected-private-net-cidr-network.yaml +apiVersion: "kubernetes.cni.cncf.io/v1" +kind: Network +metadata: + name: protected-private-net-cidr +spec: + config: '{ + "name": "protected", + "type": "bridge", + "ipam": { + "type": "host-local", + "subnet": "192.168.20.0/24" + } +}' +NET + +cat << NET > $HOME/onap-private-net-cidr-network.yaml +apiVersion: "kubernetes.cni.cncf.io/v1" +kind: Network +metadata: + name: onap-private-net-cidr +spec: + config: '{ + "name": "onap", + "type": "bridge", + "ipam": { + "type": "host-local", + "subnet": "10.10.0.0/16" + } +}' +NET + +cat << DEPLOYMENT > $HOME/$packetgen_deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $packetgen_deployment_name + labels: + app: vFirewall +spec: + replicas: 1 + selector: + matchLabels: + app: vFirewall + template: + metadata: + labels: + app: vFirewall + annotations: + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "unprotected-private-net-cidr", "interfaceRequest": "eth1" }, + { "name": "onap-private-net-cidr", "interfaceRequest": "eth2" } + ]' + spec: + containers: + - name: $packetgen_deployment_name + image: electrocucaracha/packetgen + imagePullPolicy: IfNotPresent + tty: true + stdin: true + resources: + limits: + memory: 256Mi +DEPLOYMENT + +cat << DEPLOYMENT > $HOME/$firewall_deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $firewall_deployment_name + labels: + app: vFirewall +spec: + replicas: 1 + selector: + matchLabels: + app: vFirewall + template: + metadata: + labels: + app: vFirewall + annotations: + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "unprotected-private-net-cidr", "interfaceRequest": "eth1" }, + { "name": "protected-private-net-cidr", "interfaceRequest": "eth2" }, + { "name": "onap-private-net-cidr", "interfaceRequest": "eth3" } + ]' + spec: + containers: + - name: $firewall_deployment_name + image: electrocucaracha/firewall + imagePullPolicy: IfNotPresent + tty: true + stdin: true + resources: + limits: + memory: 160Mi +DEPLOYMENT + +cat << DEPLOYMENT > $HOME/$sink_deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $sink_deployment_name + labels: + app: vFirewall +spec: + replicas: 1 + selector: + matchLabels: + app: vFirewall + template: + metadata: + labels: + app: vFirewall + annotations: + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "protected-private-net-cidr", "interfaceRequest": "eth1" }, + { "name": "onap-private-net-cidr", "interfaceRequest": "eth2" } + ]' + spec: + containers: + - name: $sink_deployment_name + image: electrocucaracha/sink + imagePullPolicy: IfNotPresent + tty: true + stdin: true + resources: + limits: + memory: 160Mi +DEPLOYMENT + +if $(kubectl version &>/dev/null); then + kubectl apply -f $HOME/unprotected-private-net-cidr-network.yaml + kubectl apply -f $HOME/protected-private-net-cidr-network.yaml + kubectl apply -f $HOME/onap-private-net-cidr-network.yaml + + for deployment_name in $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name; do + kubectl delete deployment $deployment_name --ignore-not-found=true --now + while kubectl get deployment $deployment_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/$deployment_name.yaml + done + + for deployment_name in $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name; do + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods | grep $deployment_name | awk '{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $deployment_name : $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + done +fi diff --git a/vagrant/tests/integration_vFW.sh b/vagrant/tests/integration_vFW.sh new file mode 100755 index 00000000..fa48d7c5 --- /dev/null +++ b/vagrant/tests/integration_vFW.sh @@ -0,0 +1,295 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +rm -f $HOME/*.yaml +packetgen_deployment_name=packetgen +sink_deployment_name=sink +firewall_deployment_name=firewall +image_name=virtlet.cloud/ubuntu/16.04 + +if [[ ! -f $HOME/.ssh/id_rsa.pub ]]; then + echo -e "\n\n\n" | ssh-keygen -t rsa -N "" +fi +ssh_key=$(cat $HOME/.ssh/id_rsa.pub) + +cat << NET > $HOME/unprotected-private-net-cidr-network.yaml +apiVersion: "kubernetes.cni.cncf.io/v1" +kind: Network +metadata: + name: unprotected-private-net-cidr +spec: + config: '{ + "name": "unprotected", + "type": "bridge", + "ipam": { + "type": "host-local", + "subnet": "192.168.10.0/24" + } +}' +NET + +cat << NET > $HOME/protected-private-net-cidr-network.yaml +apiVersion: "kubernetes.cni.cncf.io/v1" +kind: Network +metadata: + name: protected-private-net-cidr +spec: + config: '{ + "name": "protected", + "type": "bridge", + "ipam": { + "type": "host-local", + "subnet": "192.168.20.0/24" + } +}' +NET + +cat << NET > $HOME/onap-private-net-cidr-network.yaml +apiVersion: "kubernetes.cni.cncf.io/v1" +kind: Network +metadata: + name: onap-private-net-cidr +spec: + config: '{ + "name": "onap", + "type": "bridge", + "ipam": { + "type": "host-local", + "subnet": "10.10.0.0/16" + } +}' +NET + +proxy="#!/bin/bash" +if [[ -n "${http_proxy+x}" ]]; then + proxy+=" + export http_proxy=$http_proxy + echo \"Acquire::http::Proxy \\\"$http_proxy\\\";\" | sudo tee --append /etc/apt/apt.conf.d/01proxy +" +fi +if [[ -n "${https_proxy+x}" ]]; then + proxy+=" + export https_proxy=$https_proxy + echo \"Acquire::https::Proxy \\\"$https_proxy\\\";\" | sudo tee --append /etc/apt/apt.conf.d/01proxy +" +fi +if [[ -n "${no_proxy+x}" ]]; then + proxy+=" + export no_proxy=$no_proxy" +fi + +cat << DEPLOYMENT > $HOME/$packetgen_deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $packetgen_deployment_name + labels: + app: vFirewall +spec: + replicas: 1 + selector: + matchLabels: + app: vFirewall + template: + metadata: + labels: + app: vFirewall + annotations: + VirtletCloudInitUserData: | + users: + - default + - name: admin + sudo: ALL=(ALL) NOPASSWD:ALL + plain_text_passwd: secret + groups: sudo + ssh_authorized_keys: + - $ssh_key + VirtletCloudInitUserDataScript: | + $proxy + + wget -O - https://raw.githubusercontent.com/electrocucaracha/vFW-demo/master/$packetgen_deployment_name | sudo -E bash + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "unprotected-private-net-cidr", "interfaceRequest": "eth1" }, + { "name": "onap-private-net-cidr", "interfaceRequest": "eth2" } + ]' + kubernetes.io/target-runtime: virtlet.cloud + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: extraRuntime + operator: In + values: + - virtlet + containers: + - name: $packetgen_deployment_name + image: $image_name + imagePullPolicy: IfNotPresent + tty: true + stdin: true + resources: + limits: + memory: 256Mi +DEPLOYMENT + +cat << DEPLOYMENT > $HOME/$firewall_deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $firewall_deployment_name + labels: + app: vFirewall +spec: + replicas: 1 + selector: + matchLabels: + app: vFirewall + template: + metadata: + labels: + app: vFirewall + annotations: + VirtletCloudInitUserData: | + users: + - default + - name: admin + sudo: ALL=(ALL) NOPASSWD:ALL + plain_text_passwd: secret + groups: sudo + ssh_authorized_keys: + - $ssh_key + VirtletCloudInitUserDataScript: | + $proxy + + wget -O - https://raw.githubusercontent.com/electrocucaracha/vFW-demo/master/$firewall_deployment_name | sudo -E bash + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "unprotected-private-net-cidr", "interfaceRequest": "eth1" }, + { "name": "protected-private-net-cidr", "interfaceRequest": "eth2" }, + { "name": "onap-private-net-cidr", "interfaceRequest": "eth3" } + ]' + kubernetes.io/target-runtime: virtlet.cloud + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: extraRuntime + operator: In + values: + - virtlet + containers: + - name: $firewall_deployment_name + image: $image_name + imagePullPolicy: IfNotPresent + tty: true + stdin: true + resources: + limits: + memory: 160Mi +DEPLOYMENT + +cat << DEPLOYMENT > $HOME/$sink_deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $sink_deployment_name + labels: + app: vFirewall +spec: + replicas: 1 + selector: + matchLabels: + app: vFirewall + template: + metadata: + labels: + app: vFirewall + annotations: + VirtletCloudInitUserData: | + users: + - default + - name: admin + sudo: ALL=(ALL) NOPASSWD:ALL + plain_text_passwd: secret + groups: sudo + ssh_authorized_keys: + - $ssh_key + VirtletCloudInitUserDataScript: | + $proxy + + wget -O - https://raw.githubusercontent.com/electrocucaracha/vFW-demo/master/$sink_deployment_name | sudo -E bash + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "protected-private-net-cidr", "interfaceRequest": "eth1" }, + { "name": "onap-private-net-cidr", "interfaceRequest": "eth2" } + ]' + kubernetes.io/target-runtime: virtlet.cloud + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: extraRuntime + operator: In + values: + - virtlet + containers: + - name: $sink_deployment_name + image: $image_name + imagePullPolicy: IfNotPresent + tty: true + stdin: true + resources: + limits: + memory: 160Mi +DEPLOYMENT + +if $(kubectl version &>/dev/null); then + kubectl apply -f $HOME/unprotected-private-net-cidr-network.yaml + kubectl apply -f $HOME/protected-private-net-cidr-network.yaml + kubectl apply -f $HOME/onap-private-net-cidr-network.yaml + + for deployment_name in $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name; do + kubectl delete deployment $deployment_name --ignore-not-found=true --now + while kubectl get deployment $deployment_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/$deployment_name.yaml + done + + for deployment_name in $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name; do + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods | grep $deployment_name | awk '{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $deployment_name : $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + done + for deployment_name in $packetgen_deployment_name $firewall_deployment_name $sink_deployment_name; do + pod_name=$(kubectl get pods | grep $deployment_name | awk '{print $1}') + vm=$(kubectl plugin virt virsh list | grep ".*$deployment_name" | awk '{print $2}') + echo "Pod name: $pod_name Virsh domain: $vm" + echo "ssh -i ~/.ssh/id_rsa.pub admin@$(kubectl get pods $pod_name -o jsonpath="{.status.podIP}")" + echo "=== Virtlet details ====" + echo "$(kubectl plugin virt virsh dumpxml $vm | grep VIRTLET_)\n" + done +fi diff --git a/vagrant/tests/multus.sh b/vagrant/tests/multus.sh new file mode 100755 index 00000000..c5f7fc71 --- /dev/null +++ b/vagrant/tests/multus.sh @@ -0,0 +1,123 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +rm -f $HOME/*.yaml + +pod_name=multus-pod +deployment_name=multus-deployment + +cat << NET > $HOME/bridge-network.yaml +apiVersion: "kubernetes.cni.cncf.io/v1" +kind: Network +metadata: + name: bridge-conf +spec: + config: '{ + "name": "mynet", + "type": "bridge", + "ipam": { + "type": "host-local", + "subnet": "10.10.0.0/16" + } +}' +NET + +cat << POD > $HOME/$pod_name.yaml +apiVersion: v1 +kind: Pod +metadata: + name: $pod_name + annotations: + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "bridge-conf", "interfaceRequest": "eth1" }, + { "name": "bridge-conf", "interfaceRequest": "eth2" } + ]' +spec: # specification of the pod's contents + containers: + - name: $pod_name + image: "busybox" + command: ["top"] + stdin: true + tty: true +POD + +cat << DEPLOYMENT > $HOME/$deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $deployment_name + labels: + app: multus +spec: + replicas: 1 + selector: + matchLabels: + app: multus + template: + metadata: + labels: + app: multus + annotations: + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "bridge-conf", "interfaceRequest": "eth1" }, + { "name": "bridge-conf", "interfaceRequest": "eth2" } + ]' + spec: + containers: + - name: $deployment_name + image: "busybox" + command: ["top"] + stdin: true + tty: true +DEPLOYMENT + +if $(kubectl version &>/dev/null); then + kubectl apply -f $HOME/bridge-network.yaml + + kubectl delete pod $pod_name --ignore-not-found=true --now + kubectl delete deployment $deployment_name --ignore-not-found=true --now + while kubectl get pod $pod_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/$pod_name.yaml + while kubectl get deployment $deployment_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/$deployment_name.yaml + sleep 5 + + deployment_pod=$(kubectl get pods | grep $deployment_name | awk '{print $1}') + for pod in $pod_name $deployment_pod; do + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods $pod | awk 'NR==2{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $pod : $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + done + + for pod in $pod_name $deployment_pod; do + echo "===== $pod details =====" + kubectl exec -it $pod -- ip a + multus_nic=$(kubectl exec -it $pod -- ifconfig | grep "eth1") + if [ -z "$multus_nic" ]; then + exit 1 + fi + done +fi diff --git a/vagrant/tests/nfd.sh b/vagrant/tests/nfd.sh new file mode 100755 index 00000000..17548206 --- /dev/null +++ b/vagrant/tests/nfd.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +rm -f $HOME/*.yaml + +pod_name=nfd-pod + +cat << POD > $HOME/$pod_name.yaml +apiVersion: + v1 +kind: Pod +metadata: + name: $pod_name + labels: + env: test +spec: + containers: + - name: nginx + image: nginx +nodeSelector: + node.alpha.kubernetes-incubator.io/nfd-network-SRIOV: true +POD + +if $(kubectl version &>/dev/null); then + labels=$(kubectl get nodes -o json | jq .items[].metadata.labels) + + echo $labels + if [[ $labels != *"node.alpha.kubernetes-incubator.io"* ]]; then + exit 1 + fi + + kubectl delete pod $pod_name --ignore-not-found=true --now + while kubectl get pod $pod_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/$pod_name.yaml --validate=false + + for pod in $pod_name; do + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods $pod | awk 'NR==2{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $pod : $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + done +fi diff --git a/vagrant/tests/ovn-kubernetes.sh b/vagrant/tests/ovn-kubernetes.sh new file mode 100755 index 00000000..95d216bf --- /dev/null +++ b/vagrant/tests/ovn-kubernetes.sh @@ -0,0 +1,136 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +apache_pod_name=apachetwin +nginx_pod_name=nginxtwin + +cat << APACHEPOD > $HOME/apache-pod.yaml +apiVersion: v1 +kind: Pod +metadata: + name: $apache_pod_name + labels: + name: webserver +spec: + containers: + - name: apachetwin + image: "busybox" + command: ["top"] + stdin: true + tty: true +APACHEPOD + +cat << NGINXPOD > $HOME/nginx-pod.yaml +apiVersion: v1 +kind: Pod +metadata: + name: $nginx_pod_name + labels: + name: webserver +spec: + containers: + - name: nginxtwin + image: "busybox" + command: ["top"] + stdin: true + tty: true +NGINXPOD + +cat << APACHEEW > $HOME/apache-e-w.yaml +apiVersion: v1 +kind: Service +metadata: + labels: + name: apacheservice + role: service + name: apacheservice +spec: + ports: + - port: 8800 + targetPort: 80 + protocol: TCP + name: tcp + selector: + name: webserver +APACHEEW + +cat << APACHENS > $HOME/apache-n-s.yaml +apiVersion: v1 +kind: Service +metadata: + labels: + name: apacheexternal + role: service + name: apacheexternal +spec: + ports: + - port: 8800 + targetPort: 80 + protocol: TCP + name: tcp + selector: + name: webserver + type: NodePort +APACHENS + +if $(kubectl version &>/dev/null); then + kubectl apply -f $HOME/apache-e-w.yaml + kubectl apply -f $HOME/apache-n-s.yaml + + kubectl delete pod $apache_pod_name --ignore-not-found=true --now + kubectl delete pod $nginx_pod_name --ignore-not-found=true --now + while kubectl get pod $apache_pod_name &>/dev/null; do + sleep 5 + done + while kubectl get pod $nginx_pod_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/apache-pod.yaml + kubectl create -f $HOME/nginx-pod.yaml + + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods $apache_pod_name | awk 'NR==2{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods $nginx_pod_name | awk 'NR==2{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + apache_ovn=$(kubectl get pod $apache_pod_name -o jsonpath="{.metadata.annotations.ovn}") + nginx_ovn=$(kubectl get pod $nginx_pod_name -o jsonpath="{.metadata.annotations.ovn}") + + echo $apache_ovn + if [[ $apache_ovn != *"\"ip_address\":\"11.11."* ]]; then + exit 1 + fi + + echo $nginx_ovn + if [[ $nginx_ovn != *"\"ip_address\":\"11.11."* ]]; then + exit 1 + fi +fi diff --git a/vagrant/tests/plugin.sh b/vagrant/tests/plugin.sh new file mode 100755 index 00000000..a40cb60c --- /dev/null +++ b/vagrant/tests/plugin.sh @@ -0,0 +1,97 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +base_url="http://localhost:8081/v1/vnf_instances/" +cloud_region_id="krd" +namespace="default" +csar_id="94e414f6-9ca4-11e8-bb6a-52540067263b" + +if [[ -z $(docker images -q generic_sim) ]]; then + BUILD_ARGS="--no-cache" + if [ $HTTP_PROXY ]; then + BUILD_ARGS+=" --build-arg HTTP_PROXY=${HTTP_PROXY}" + fi + if [ $HTTPS_PROXY ]; then + BUILD_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}" + fi + pushd generic_simulator + docker build ${BUILD_ARGS} -t generic_sim:latest . + popd +fi + +if [[ $(docker ps -q --all --filter "name=aai") ]]; then + docker rm aai -f +fi +docker run --name aai -v $(pwd)/output:/tmp/generic_sim/ -v $(pwd)/generic_simulator/aai/:/etc/generic_sim/ -p 8443:8080 -d generic_sim + +vnf_id_list=$(curl -s "${base_url}${cloud_region_id}/${namespace}" | jq -r '.vnf_id_list') + +mkdir -p ${CSAR_DIR}/${csar_id} +cat << SEQ > ${CSAR_DIR}/${csar_id}/sequence.yaml +deployment: + - deployment.yaml +service: + - service.yaml +SEQ +cat << DEPLOYMENT > ${CSAR_DIR}/${csar_id}/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: multus-deployment + labels: + app: multus +spec: + replicas: 1 + selector: + matchLabels: + app: multus + template: + metadata: + labels: + app: multus + annotations: + kubernetes.v1.cni.cncf.io/networks: '[ + { "name": "bridge-conf", "interfaceRequest": "eth1" }, + { "name": "bridge-conf", "interfaceRequest": "eth2" } + ]' + spec: + containers: + - name: multus-deployment + image: "busybox" + command: ["top"] + stdin: true + tty: true +DEPLOYMENT +cat << SERVICE > ${CSAR_DIR}/${csar_id}/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: sise-svc +spec: + ports: + - port: 80 + protocol: TCP + selector: + app: sise +SERVICE + +payload_raw=" +{ + \"cloud_region_id\": \"$cloud_region_id\", + \"namespace\": \"$namespace\", + \"csar_id\": \"$csar_id\" +} +" +payload=$(echo $payload_raw | tr '\n' ' ') +curl -v -X POST -d "$payload" "${base_url}" diff --git a/vagrant/tests/virtlet.sh b/vagrant/tests/virtlet.sh new file mode 100755 index 00000000..a8af071f --- /dev/null +++ b/vagrant/tests/virtlet.sh @@ -0,0 +1,145 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o errexit +set -o nounset +set -o pipefail + +rm -f $HOME/*.yaml + +virtlet_image=virtlet.cloud/fedora +pod_name=virtlet-pod +deployment_name=virtlet-deployment + +cat << POD > $HOME/$pod_name.yaml +apiVersion: v1 +kind: Pod +metadata: + name: $pod_name + annotations: + # This tells CRI Proxy that this pod belongs to Virtlet runtime + kubernetes.io/target-runtime: virtlet.cloud + VirtletCloudInitUserDataScript: | + #!/bin/sh + echo hello world +spec: + # This nodeAffinity specification tells Kubernetes to run this + # pod only on the nodes that have extraRuntime=virtlet label. + # This label is used by Virtlet DaemonSet to select nodes + # that must have Virtlet runtime + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: extraRuntime + operator: In + values: + - virtlet + containers: + - name: $pod_name + # This specifies the image to use. + # virtlet.cloud/ prefix is used by CRI proxy, the remaining part + # of the image name is prepended with https:// and used to download the image + image: $virtlet_image + imagePullPolicy: IfNotPresent + # tty and stdin required for "kubectl attach -t" to work + tty: true + stdin: true + resources: + limits: + # This memory limit is applied to the libvirt domain definition + memory: 160Mi +POD + +cat << DEPLOYMENT > $HOME/$deployment_name.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: $deployment_name + labels: + app: virtlet +spec: + replicas: 1 + selector: + matchLabels: + app: virtlet + template: + metadata: + labels: + app: virtlet + annotations: + # This tells CRI Proxy that this pod belongs to Virtlet runtime + kubernetes.io/target-runtime: virtlet.cloud + VirtletCloudInitUserDataScript: | + #!/bin/sh + echo hello world + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: extraRuntime + operator: In + values: + - virtlet + containers: + - name: $deployment_name + # This specifies the image to use. + # virtlet.cloud/ prefix is used by CRI proxy, the remaining part + # of the image name is prepended with https:// and used to download the image + image: $virtlet_image + imagePullPolicy: IfNotPresent + # tty and stdin required for "kubectl attach -t" to work + tty: true + stdin: true + resources: + limits: + # This memory limit is applied to the libvirt domain definition + memory: 160Mi +DEPLOYMENT + +if $(kubectl version &>/dev/null); then + kubectl delete pod $pod_name --ignore-not-found=true --now + kubectl delete deployment $deployment_name --ignore-not-found=true --now + while kubectl get pod $pod_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/$pod_name.yaml + while kubectl get deployment $deployment_name &>/dev/null; do + sleep 5 + done + kubectl create -f $HOME/$deployment_name.yaml + sleep 5 + + deployment_pod=$(kubectl get pods | grep $deployment_name | awk '{print $1}') + for pod in $pod_name $deployment_pod; do + status_phase="" + while [[ $status_phase != "Running" ]]; do + new_phase=$(kubectl get pods $pod | awk 'NR==2{print $3}') + if [[ $new_phase != $status_phase ]]; then + echo "$(date +%H:%M:%S) - $pod : $new_phase" + status_phase=$new_phase + fi + if [[ $new_phase == "Err"* ]]; then + exit 1 + fi + done + done + + kubectl plugin virt virsh list + for pod in $pod_name $deployment_name; do + virsh_image=$(kubectl plugin virt virsh list | grep "virtlet-.*-$pod") + if [[ -z "$virsh_image" ]]; then + exit 1 + fi + done +fi -- 2.16.6