initial commit
diff --git a/system/linux/network/interface/ovs_lab_dvr.yml b/system/linux/network/interface/ovs_lab_dvr.yml
new file mode 100644
index 0000000..482bd02
--- /dev/null
+++ b/system/linux/network/interface/ovs_lab_dvr.yml
@@ -0,0 +1,67 @@
+parameters:
+  _param:
+    primary_interface: eth1
+    tenant_interface: eth2
+    external_interface: eth3
+    interface_mtu: 9000
+  linux:
+    network:
+      bridge: openvswitch
+      interface:
+        primary_interface:
+          enabled: true
+          name: ${_param:primary_interface}
+          type: eth
+          mtu: ${_param:interface_mtu}
+          proto: manual
+        tenant_interface:
+          enabled: true
+          name: ${_param:tenant_interface}
+          type: eth
+          mtu: ${_param:interface_mtu}
+          proto: manual
+        external_interface:
+          enabled: true
+          name: ${_param:external_interface}
+          type: eth
+          mtu: ${_param:interface_mtu}
+          proto: manual
+        br-int:
+          enabled: true
+          mtu: ${_param:interface_mtu}
+          type: ovs_bridge
+        br-floating:
+          enabled: true
+          mtu: ${_param:interface_mtu}
+          type: ovs_bridge
+        float-to-ex:
+          enabled: true
+          type: ovs_port
+          mtu: 65000
+          bridge: br-floating
+        br-mgmt:
+          enabled: true
+          type: bridge
+          mtu: ${_param:interface_mtu}
+          address: ${_param:single_address}
+          netmask: 255.255.255.0
+          use_interfaces:
+          - ${_param:primary_interface}
+        br-mesh:
+          enabled: true
+          type: bridge
+          mtu: ${_param:interface_mtu}
+          address: ${_param:tenant_address}
+          netmask: 255.255.255.0
+          use_interfaces:
+          - ${_param:tenant_interface}
+        br-ex:
+          enabled: true
+          type: bridge
+          mtu: ${_param:interface_mtu}
+          address: ${_param:external_address}
+          netmask: 255.255.255.0
+          use_interfaces:
+          - ${_param:external_interface}
+          use_ovs_ports:
+          - float-to-ex
\ No newline at end of file
diff --git a/system/linux/network/interface/primary_dhcp.yml b/system/linux/network/interface/primary_dhcp.yml
new file mode 100644
index 0000000..c3a69ab
--- /dev/null
+++ b/system/linux/network/interface/primary_dhcp.yml
@@ -0,0 +1,9 @@
+parameters:
+  linux:
+    network:
+      interface:
+        primary_interface:
+          enabled: true
+          name: ${_param:primary_interface}
+          type: eth
+          proto: dhcp
diff --git a/system/linux/network/interface/primary_static.yml b/system/linux/network/interface/primary_static.yml
new file mode 100644
index 0000000..18f46a2
--- /dev/null
+++ b/system/linux/network/interface/primary_static.yml
@@ -0,0 +1,10 @@
+parameters:
+  linux:
+    network:
+      interface:
+        primary_interface:
+          enabled: true
+          name: ${_param:primary_interface}
+          type: eth
+          proto: manual
+          address: ${_param:single_address}
\ No newline at end of file
diff --git a/system/linux/system/lowmem.yml b/system/linux/system/lowmem.yml
new file mode 100644
index 0000000..e1f1193
--- /dev/null
+++ b/system/linux/system/lowmem.yml
@@ -0,0 +1,17 @@
+parameters:
+  linux:
+    storage:
+      swap:
+        swap01:
+          enabled: true
+          engine: file
+          device: /var/tmp/swap01
+          size: 2048
+#  opencontrail:
+#    database:
+#      max_heap_size: "1G"
+#      heap_newsize: "200M"
+#  rabbitmq:
+#    server:
+#      memory:
+#        vm_high_watermark: 0.2
diff --git a/system/linux/system/repo/contrail.yml b/system/linux/system/repo/contrail.yml
new file mode 100644
index 0000000..08069af
--- /dev/null
+++ b/system/linux/system/repo/contrail.yml
@@ -0,0 +1,8 @@
+parameters:
+  linux:
+    system:
+      repo:
+        tcpcloud_opencontrail:
+          source: "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ ${_param:linux_system_codename} extra oc30"
+          architectures: amd64
+          key_url: "http://apt.tcpcloud.eu/public.gpg"
diff --git a/system/linux/system/repo/kibana.yml b/system/linux/system/repo/kibana.yml
new file mode 100644
index 0000000..425141d
--- /dev/null
+++ b/system/linux/system/repo/kibana.yml
@@ -0,0 +1,7 @@
+parameters:
+  linux:
+    system:
+      repo:
+        kibana:
+          source: "deb https://packages.elastic.co/kibana/4.6/debian stable main"
+          key_url: "https://packages.elastic.co/GPG-KEY-elasticsearch"
diff --git a/system/linux/system/repo/mos8.yml b/system/linux/system/repo/mos8.yml
new file mode 100644
index 0000000..86ad931
--- /dev/null
+++ b/system/linux/system/repo/mos8.yml
@@ -0,0 +1,24 @@
+parameters:
+  linux:
+    system:
+      repo:
+        mirantis_openstack:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0 main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+        mirantis_openstack_hotfix:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-hotfix main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+        mirantis_openstack_proposed:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-proposed main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+        mirantis_openstack_security:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-security main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
+        mirantis_openstack_updates:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/ mos8.0-updates main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/8.0-mu-3/archive-mos8.0.key"
diff --git a/system/linux/system/repo/mos9.yml b/system/linux/system/repo/mos9.yml
new file mode 100644
index 0000000..70cb2d2
--- /dev/null
+++ b/system/linux/system/repo/mos9.yml
@@ -0,0 +1,24 @@
+parameters:
+  linux:
+    system:
+      repo:
+        mirantis_openstack:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0 main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+        mirantis_openstack_hotfix:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-hotfix main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+        mirantis_openstack_proposed:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-proposed main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+        mirantis_openstack_security:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-security main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+        mirantis_openstack_updates:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-updates main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
diff --git a/system/linux/system/repo/saltstack_2016_3_trusty.yml b/system/linux/system/repo/saltstack_2016_3_trusty.yml
new file mode 100644
index 0000000..19e4814
--- /dev/null
+++ b/system/linux/system/repo/saltstack_2016_3_trusty.yml
@@ -0,0 +1,7 @@
+parameters:
+  linux:
+    system:
+      repo:
+        salt:
+          source: "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3 trusty main"
+          key_url: "http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/system/linux/system/repo/saltstack_2016_3_xenial.yml b/system/linux/system/repo/saltstack_2016_3_xenial.yml
new file mode 100644
index 0000000..6fed4c5
--- /dev/null
+++ b/system/linux/system/repo/saltstack_2016_3_xenial.yml
@@ -0,0 +1,7 @@
+parameters:
+  linux:
+    system:
+      repo:
+        salt:
+          source: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main"
+          key_url: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/system/linux/system/repo/tcp_base.yml b/system/linux/system/repo/tcp_base.yml
new file mode 100644
index 0000000..2baea0d
--- /dev/null
+++ b/system/linux/system/repo/tcp_base.yml
@@ -0,0 +1,9 @@
+parameters:
+  linux:
+    system:
+      repo:
+        tcpcloud:
+          source: "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ ${_param:linux_system_codename} main security tcp"
+          architectures: amd64
+          default: true
+          key_url: "http://apt.tcpcloud.eu/public.gpg"
diff --git a/system/linux/system/repo/tcp_elastic.yml b/system/linux/system/repo/tcp_elastic.yml
new file mode 100644
index 0000000..a7ac202
--- /dev/null
+++ b/system/linux/system/repo/tcp_elastic.yml
@@ -0,0 +1,8 @@
+parameters:
+  linux:
+    system:
+      repo:
+        elastic:
+          source: "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ ${_param:linux_system_codename} elastic"
+          architectures: amd64
+          key_url: "http://apt.tcpcloud.eu/public.gpg"
diff --git a/system/linux/system/repo/tcp_extra.yml b/system/linux/system/repo/tcp_extra.yml
new file mode 100644
index 0000000..8e74058
--- /dev/null
+++ b/system/linux/system/repo/tcp_extra.yml
@@ -0,0 +1,8 @@
+parameters:
+  linux:
+    system:
+      repo:
+        tcpcloud_salt:
+          source: "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ ${_param:linux_system_codename} extra"
+          architectures: amd64
+          key_url: "http://apt.tcpcloud.eu/public.gpg"
diff --git a/system/linux/system/repo/tcp_mk20.yml b/system/linux/system/repo/tcp_mk20.yml
new file mode 100644
index 0000000..c3b5eee
--- /dev/null
+++ b/system/linux/system/repo/tcp_mk20.yml
@@ -0,0 +1,8 @@
+parameters:
+  linux:
+    system:
+      repo:
+        tcpcloud_openstack:
+          source: "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ ${_param:linux_system_codename} ${_param:openstack_version}"
+          architectures: amd64
+          key_url: "http://apt.tcpcloud.eu/public.gpg"
diff --git a/system/linux/system/repo/tcp_salt.yml b/system/linux/system/repo/tcp_salt.yml
new file mode 100644
index 0000000..01ff6e8
--- /dev/null
+++ b/system/linux/system/repo/tcp_salt.yml
@@ -0,0 +1,8 @@
+parameters:
+  linux:
+    system:
+      repo:
+        tcpcloud_salt:
+          source: "deb [arch=amd64] http://apt.tcpcloud.eu/nightly/ ${_param:linux_system_codename} tcp-salt"
+          architectures: amd64
+          key_url: "http://apt.tcpcloud.eu/public.gpg"
diff --git a/system/linux/system/repo/ubuntu.yml b/system/linux/system/repo/ubuntu.yml
new file mode 100644
index 0000000..b4137bd
--- /dev/null
+++ b/system/linux/system/repo/ubuntu.yml
@@ -0,0 +1,22 @@
+parameters:
+  linux:
+    system:
+      repo:
+        ubuntu:
+          source: "deb http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename} main restricted universe"
+          architectures: amd64
+          default: true
+          key_id: 437D05B5
+          key_server: keyserver.ubuntu.com
+        ubuntu_updates:
+          source: "deb http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename}-updates main restricted universe"
+          architectures: amd64
+          default: true
+          key_id: 437D05B5
+          key_server: keyserver.ubuntu.com
+        ubuntu_security:
+          source: "deb http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename}-security main restricted universe"
+          architectures: amd64
+          default: true
+          key_id: 437D05B5
+          key_server: keyserver.ubuntu.com
\ No newline at end of file
diff --git a/system/linux/system/single.yml b/system/linux/system/single.yml
new file mode 100644
index 0000000..2c34541
--- /dev/null
+++ b/system/linux/system/single.yml
@@ -0,0 +1,55 @@
+classes:
+- service.linux.system
+- service.salt.minion.master
+- system.openssh.server.single
+- system.ntp.client.single
+- system.linux.system.repo.tcp_base
+parameters:
+  linux:
+    system:
+      package:
+        python-msgpack:
+          version: latest
+        cloud-init:
+          version: purged
+      kernel:
+        sysctl:
+          net.ipv4.tcp_keepalive_intvl: 3
+          net.ipv4.tcp_keepalive_time: 30
+          net.ipv4.tcp_keepalive_probes: 8
+          fs.file-max: 124165
+          net.core.somaxconn: 4096
+          vm.swappiness: 10
+          net.nf_conntrack_max: 1048576
+          net.ipv4.tcp_retries2: 5
+          net.ipv4.tcp_max_syn_backlog: 8192
+          net.ipv4.neigh.default.gc_thresh1: 4096
+          net.ipv4.neigh.default.gc_thresh2: 8192
+          net.ipv4.neigh.default.gc_thresh3: 16384
+          net.core.netdev_max_backlog: 261144
+          kernel.panic: 60
+      timezone: UTC
+      locale:
+        en_US.UTF-8:
+          enabled: true
+          default: true
+        cs_CZ.UTF-8:
+          enabled: true
+      limit:
+        default:
+          enabled: true
+          domain: "*"
+          limits:
+            - type: hard
+              item: nofile
+              value: 102400
+            - type: soft
+              item: nofile
+              value: 102400
+            - type: soft
+              item: noproc
+              value: 102400
+            - type: hard
+              item: noproc
+              value: 102400
+