Merge "Disable etcd for netchecker if opencontrail enabled."
diff --git a/.kitchen.travis.yml b/.kitchen.travis.yml
index 32d5bae..645a273 100644
--- a/.kitchen.travis.yml
+++ b/.kitchen.travis.yml
@@ -3,4 +3,15 @@
- name: <%= ENV['SUITE'] %>
provisioner:
pillars-from-files:
- kubernetes.sls: tests/pillar/<%= ENV['SUITE'] %>.sls
+ <%# to parse SUITE=kubernetes:pillar1,kubernetes_extra:pillar2 %>
+ <%- ENV['SUITE'].split(',').each |suite| %>
+ <%- set suite = [suite.split(':')].flatten %>
+ <%- if suite.length > 1 %>
+ <%- set key=suite[0] %>
+ <%- set file=suite[1] %>
+ <%- else %>
+ <%- set key='kubernetes' %>
+ <%- set file=suite[0] %>
+ <%- end %>
+ <%= key %>.sls: tests/pillar/<%= file %>.sls
+ <%- end %>
diff --git a/.kitchen.yml b/.kitchen.yml
index bdcae80..79f2140 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -35,6 +35,8 @@
- linux_repo_opencontrail
- linux
- kubernetes
+ - kubernetes_extra
+ kubernetes_extra.sls: {}
linux.sls:
linux:
system:
@@ -85,4 +87,10 @@
pillars-from-files:
kubernetes.sls: tests/pillar/pool_contrail4_0.sls
+ - name: common_storageclass
+ provisioner:
+ pillars-from-files:
+ kubernetes.sls: tests/pillar/master_cluster.sls
+ kubernetes_extra.sls: tests/pillar/common_storageclass.sls
+
# vim: ft=yaml sw=2 ts=2 sts=2 tw=125
diff --git a/.travis.yml b/.travis.yml
index bdf3c65..95434f9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,6 +28,7 @@
- PLATFORM=trevorj/salty-whales:xenial SUITE=master_contrail4_0
- PLATFORM=trevorj/salty-whales:trusty SUITE=pool_contrail4_0
- PLATFORM=trevorj/salty-whales:xenial SUITE=pool_contrail4_0
+ - PLATFORM=trevorj/salty-whales:trusty SUITE=common_storageclass
before_script:
- set -o pipefail
diff --git a/README.rst b/README.rst
index 71739b6..60ef3b4 100644
--- a/README.rst
+++ b/README.rst
@@ -71,7 +71,7 @@
virtlet:
enabled: true
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
hosts:
- cmp01
- cmp02
@@ -583,13 +583,22 @@
addons:
storageclass:
aws_slow:
- name: slow
enabled: True
default: True
provisioner: aws-ebs
+ name: slow
type: gp2
iopspergb: "10"
zones: xxx
+ nfs_shared:
+ name: elasti01
+ enabled: True
+ provisioner: nfs
+ spec:
+ name: elastic_data
+ nfs:
+ server: 10.0.0.1
+ path: /exported_path
Kubernetes namespaces
---------------------
diff --git a/kubernetes/_common.sls b/kubernetes/_common.sls
index 916d67d..b489517 100644
--- a/kubernetes/_common.sls
+++ b/kubernetes/_common.sls
@@ -83,19 +83,32 @@
- onlyif: /bin/false
{%- endif %}
+/usr/bin/dockershim:
+ file.symlink:
+ - target: /usr/bin/criproxy
+ - require:
+ - file: /usr/bin/criproxy
+
/etc/criproxy:
file.directory:
- user: root
- group: root
- mode: 0750
-/etc/criproxy/kubelet.conf:
+/etc/criproxy/node.conf:
file.managed:
- - source: salt://kubernetes/files/virtlet/kubelet.conf
+ - user: root
+ - group: root
+ - mode: 0640
+ - contents: ''
+
+/etc/systemd/system/dockershim.service:
+ file.managed:
+ - source: salt://kubernetes/files/systemd/dockershim.service
- template: jinja
- user: root
- group: root
- - mode: 640
+ - mode: 755
/etc/systemd/system/criproxy.service:
file.managed:
@@ -105,19 +118,44 @@
- group: root
- mode: 755
+dockershim_service:
+ service.running:
+ - name: dockershim
+ - enable: True
+ - watch:
+ - file: /etc/systemd/system/dockershim.service
+ - file: /usr/bin/dockershim
+ {%- if grains.get('noservices') %}
+ - onlyif: /bin/false
+ {%- endif %}
+
criproxy_service:
service.running:
- name: criproxy
- enable: True
- watch:
- file: /etc/systemd/system/criproxy.service
- - file: /etc/criproxy/kubelet.conf
- - file: /etc/criproxy
+ - file: /etc/criproxy/node.conf
- file: /usr/bin/criproxy
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
+{%- else %}
+
+/etc/criproxy:
+ file.absent
+
+dockershim_service:
+ service.dead:
+ - name: dockershim
+ - enable: False
+
+criproxy_service:
+ service.dead:
+ - name: criproxy
+ - enable: False
+
{%- endif %}
/etc/systemd/system/kubelet.service:
diff --git a/kubernetes/files/kube-addons/storageclass/nfs.yaml b/kubernetes/files/kube-addons/storageclass/nfs.yaml
new file mode 100644
index 0000000..c24c6d0
--- /dev/null
+++ b/kubernetes/files/kube-addons/storageclass/nfs.yaml
@@ -0,0 +1,25 @@
+{%- from "kubernetes/map.jinja" import common with context %}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ storageclass_name }}
+ {%- if storageclass.default is defined %}
+ annotations:
+ {%- if storageclass.default %}
+ storageclass.beta.kubernetes.io/is-default-class: "true"
+ {%- endif %}
+ {%- endif %}
+spec:
+ {%- if storageclass.spec.capacity is mapping %}
+ capacity:
+ storage: {{ storageclass.spec.capacity.storage }}
+ {%- endif %}
+ accessModes:
+ {%- for mode in storageclass.spec.get('access_modes', ['ReadWriteOnce']) %}
+ - {{ mode }}
+ {%- endfor %}
+ persistentVolumeReclaimPolicy: {{ storageclass.spec.get('reclaim_policy', 'Recycle') }}
+ storageClassName: {{ storageclass.spec.name }}
+ nfs:
+ path: {{ storageclass.spec.nfs.path }}
+ server: {{ storageclass.spec.nfs.server }}
diff --git a/kubernetes/files/kubelet/default.master b/kubernetes/files/kubelet/default.master
index d1f35d0..1e30e39 100644
--- a/kubernetes/files/kubelet/default.master
+++ b/kubernetes/files/kubelet/default.master
@@ -4,6 +4,7 @@
# test_args has to be kept at the end, so they'll overwrite any prior configuration
DAEMON_ARGS="\
--pod-manifest-path=/etc/kubernetes/manifests \
+--address={{ master.kubelet.address }} \
--allow-privileged={{ master.kubelet.allow_privileged }} \
--cluster_dns={{ common.addons.dns.server }} \
--cluster_domain={{ common.addons.dns.domain|replace('_', '-') }} \
diff --git a/kubernetes/files/kubelet/default.pool b/kubernetes/files/kubelet/default.pool
index 3ec835c..ea2f928 100644
--- a/kubernetes/files/kubelet/default.pool
+++ b/kubernetes/files/kubelet/default.pool
@@ -6,6 +6,7 @@
--require-kubeconfig \
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \
--pod-manifest-path=/etc/kubernetes/manifests \
+--address={{ pool.kubelet.address }} \
--allow-privileged={{ pool.kubelet.allow_privileged }} \
--cluster_dns={{ common.addons.dns.server }} \
--cluster_domain={{ common.addons.dns.domain|replace('_', '-') }} \
diff --git a/kubernetes/files/systemd/criproxy.service b/kubernetes/files/systemd/criproxy.service
index 6d91cb2..fb6dcf5 100644
--- a/kubernetes/files/systemd/criproxy.service
+++ b/kubernetes/files/systemd/criproxy.service
@@ -3,8 +3,7 @@
[Service]
ExecStart=/usr/bin/criproxy -alsologtostderr \
- -connect docker,virtlet:/var/run/virtlet.sock \
- -kubeletcfg /etc/criproxy/kubelet.conf \
+ -connect /var/run/dockershim.sock,virtlet:/var/run/virtlet.sock \
-listen /var/run/criproxy.sock
Restart=always
StartLimitInterval=0
diff --git a/kubernetes/files/systemd/dockershim.service b/kubernetes/files/systemd/dockershim.service
new file mode 100644
index 0000000..ec02645
--- /dev/null
+++ b/kubernetes/files/systemd/dockershim.service
@@ -0,0 +1,24 @@
+[Unit]
+Description=dockershim for criproxy
+
+[Service]
+EnvironmentFile=-/etc/default/kubelet
+ExecStart=/usr/bin/dockershim \
+ $KUBE_LOGTOSTDERR \
+ $KUBE_LOG_LEVEL \
+ $KUBE_ALLOW_PRIV \
+ $KUBELET_ADDRESS \
+ $KUBELET_PORT \
+ $KUBELET_HOSTNAME \
+ $KUBELET_API_SERVER \
+ $DOCKER_ENDPOINT \
+ $CADVISOR_PORT \
+ $DAEMON_ARGS
+
+Restart=always
+StartLimitInterval=0
+RestartSec=10
+
+[Install]
+RequiredBy=criproxy.service
+
diff --git a/kubernetes/files/virtlet/kubelet.conf b/kubernetes/files/virtlet/kubelet.conf
deleted file mode 100644
index 2697cc3..0000000
--- a/kubernetes/files/virtlet/kubelet.conf
+++ /dev/null
@@ -1,150 +0,0 @@
-{%- from "kubernetes/map.jinja" import common with context %}
-{
- "address": "0.0.0.0",
- "allowPrivileged": true,
- "authentication": {
- "anonymous": {
- "enabled": true
- },
- "webhook": {
- "cacheTTL": "2m0s",
- "enabled": false
- },
- "x509": {
- "clientCAFile": ""
- }
- },
- "authorization": {
- "mode": "AlwaysAllow",
- "webhook": {
- "cacheAuthorizedTTL": "5m0s",
- "cacheUnauthorizedTTL": "30s"
- }
- },
- "babysitDaemons": false,
- "cAdvisorPort": 4194,
- "certDirectory": "/var/run/kubernetes",
- "cgroupDriver": "cgroupfs",
- "cgroupRoot": "",
- "cgroupsPerQOS": true,
-{%- if common.get('cloudprovider', {}).get('enabled') %}
- "cloudProvider": "{{ common.cloudprovider.provider }}"
-{%- if common.get('cloudprovider', {}).get('provider') == 'openstack' %}
- "cloudConfigFile": "/etc/kubernetes/cloud-config.conf",
-{%- endif %}
-{%- else %}
- "cloudProvider": "auto-detect",
-{%- endif %}
-
- "clusterDNS": [
- "10.254.0.10"
- ],
- "clusterDomain": "{{ common.cluster_domain|replace('_', '-') }}",
- "cniBinDir": "/opt/cni/bin",
- "cniConfDir": "",
- "containerRuntime": "docker",
- "containerized": false,
- "contentType": "application/vnd.kubernetes.protobuf",
- "cpuCFSQuota": true,
- "dockerEndpoint": "unix:///var/run/docker.sock",
- "dockerExecHandlerName": "native",
- "enableCRI": true,
- "enableContentionProfiling": false,
- "enableControllerAttachDetach": true,
- "enableCustomMetrics": false,
- "enableDebuggingHandlers": true,
- "enableServer": true,
- "enforceNodeAllocatable": [
- "pods"
- ],
- "eventBurst": 10,
- "eventRecordQPS": 5,
- "evictionHard": "memory.available<100Mi",
- "evictionMaxPodGracePeriod": 0,
- "evictionMinimumReclaim": "",
- "evictionPressureTransitionPeriod": "5m0s",
- "evictionSoft": "",
- "evictionSoftGracePeriod": "",
- "exitOnLockContention": false,
- "experimentalKernelMemcgNotification": false,
- "experimentalQOSReserved": {},
- "featureGates": "DynamicKubeletConfig=true",
- "fileCheckFrequency": "5s",
- "hairpinMode": "promiscuous-bridge",
- "healthzBindAddress": "127.0.0.1",
- "healthzPort": 10248,
- "hostIPCSources": [
- "*"
- ],
- "hostNetworkSources": [
- "*"
- ],
- "hostPIDSources": [
- "*"
- ],
- "hostnameOverride": "",
- "httpCheckFrequency": "20s",
- "imageGCHighThresholdPercent": 90,
- "imageGCLowThresholdPercent": 80,
- "imageMinimumGCAge": "2m0s",
- "imagePullProgressDeadline": "1m0s",
- "iptablesDropBit": 15,
- "iptablesMasqueradeBit": 14,
- "kubeAPIBurst": 10,
- "kubeAPIQPS": 5,
- "kubeReserved": {},
- "kubeletCgroups": "",
- "lockFilePath": "",
- "lowDiskSpaceThresholdMB": 256,
- "makeIPTablesUtilChains": true,
- "manifestURL": "",
- "manifestURLHeader": "",
- "masterServiceNamespace": "default",
- "maxContainerCount": -1,
- "maxOpenFiles": 1000000,
- "maxPerPodContainerCount": 1,
- "maxPods": 110,
- "minimumGCAge": "0s",
- "networkPluginDir": "/etc/cni/net.d",
- "networkPluginMTU": 0,
- "networkPluginName": "cni",
- "nodeIP": "",
- "nodeLabels": {
- "node-role.kubernetes.io/node": "true"
- },
- "nodeStatusUpdateFrequency": "10s",
- "nonMasqueradeCIDR": "10.0.0.0/8",
- "oomScoreAdj": -999,
- "outOfDiskTransitionFrequency": "5m0s",
- "podCIDR": "",
- "podInfraContainerImage": "gcr.io/google_containers/pause-amd64:3.0",
- "podManifestPath": "/etc/kubernetes/manifests",
- "podsPerCore": 0,
- "port": 10250,
- "protectKernelDefaults": false,
- "readOnlyPort": 10255,
- "registerNode": true,
- "registerSchedulable": true,
- "registerWithTaints": [],
- "registryBurst": 10,
- "registryPullQPS": 5,
- "remoteImageEndpoint": "",
- "remoteRuntimeEndpoint": "",
- "resolvConf": "/etc/resolv.conf",
- "rktAPIEndpoint": "localhost:15441",
- "rktPath": "",
- "rktStage1Image": "",
- "rootDirectory": "/var/lib/kubelet",
- "runtimeCgroups": "",
- "runtimeRequestTimeout": "2m0s",
- "seccompProfileRoot": "/var/lib/kubelet/seccomp",
- "serializeImagePulls": true,
- "streamingConnectionIdleTimeout": "4h0m0s",
- "syncFrequency": "1m0s",
- "systemCgroups": "",
- "systemReserved": {},
- "tlsCertFile": "",
- "tlsPrivateKeyFile": "",
- "volumePluginDir": "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/",
- "volumeStatsAggPeriod": "1m0s"
-}
diff --git a/kubernetes/master/federation.sls b/kubernetes/master/federation.sls
index 2becd61..49f7c5a 100644
--- a/kubernetes/master/federation.sls
+++ b/kubernetes/master/federation.sls
@@ -6,7 +6,7 @@
archive.extracted:
- name: /tmp/kubernetes-client
- source: {{ master.federation.source }}
- {%- if {{ master.federation.get('hash') }} %}
+ {%- if master.federation.get('hash') %}
- source_hash: sha256={{ master.federation.hash }}
{%- endif %}
- tar_options: xzf
@@ -56,10 +56,11 @@
kubefed_init:
cmd.run:
- - name: kubefed init {{ master.federation.name }} --host-cluster-context=local --kubeconfig=/etc/kubernetes/federation/federation.kubeconfig --federation-system-namespace={{ master.federation.namespace }} --api-server-service-type={{ master.federation.service_type }} --etcd-persistent-storage=false --dns-provider={{ master.federation.dns_provider }} --dns-provider-config=/etc/kubernetes/federation/dns.conf --dns-zone-name={{ master.federation.name }} --image={{ common.hyperkube.image }}
+ - name: kubefed init {{ master.federation.name }} --host-cluster-context=local --kubeconfig=/etc/kubernetes/federation/federation.kubeconfig --federation-system-namespace={{ master.federation.namespace }} --api-server-service-type={{ master.federation.service_type }} --api-server-advertise-address={{ master.apiserver.vip_address }} --etcd-persistent-storage=false --dns-provider={{ master.federation.dns_provider }} --dns-provider-config=/etc/kubernetes/federation/dns.conf --dns-zone-name={{ master.federation.name }} --image={{ common.hyperkube.image }}
- require:
- file: /usr/bin/kubefed
- file: /etc/kubernetes/federation/federation.kubeconfig
+ - timeout: 120
- unless: kubectl get namespace {{ master.federation.namespace }}
{%- if grains.get('noservices') %}
- onlyif: /bin/false
@@ -92,31 +93,32 @@
# Assumes the following:
# * Pillar data master.federation.childclusters is populated
# * kubeconfig data for each cluster exists in /etc/kubernetes/federation/federation.kubeconfig
-{%- if master.federation.get('childclusters') }
+{%- if master.federation.get('childclusters') %}
{%- for childcluster in master.federation.childclusters %}
-federation_verify_kubeconfig_{{ childcluster }}:
+federation_set_insecure_{{ childcluster }}:
cmd.run:
- - name: kubectl config get-contexts -o name | grep {{ childcluster }}
+ - name: kubectl config set-cluster {{ childcluster }} --insecure-skip-tls-verify=true
- env:
- KUBECONFIG: /etc/kubernetes/federation/childclusters.kubeconfig
- require:
- cmd: kubefed_init
{%- if grains.get('noservices') %}
- onlyif: /bin/false
+ {%- else %}
+ - unless: kubectl --context {{ childcluster }} config view --minify | egrep "insecure-skip-tls-verify. true"
{%- endif %}
-
+
federation_join_cluster_{{ childcluster }}:
cmd.run:
- - name: kubefed join {{ childcluster }} --host-cluster-context=local --context={{ master.federation.name }}
+ - name: kubefed join {{ childcluster }} --host-cluster-context={{ common.cluster_name }} --context={{ master.federation.name }}
- env:
- - KUBECONFIG: /etc/kubernetes/federation.kubeconfig
+ - KUBECONFIG: /etc/kubernetes/federation/childclusters.kubeconfig:/etc/kubernetes/federation/federation.kubeconfig
- require:
- - cmd: verify_kubeconfig_{{ childcluster }}
- - unless: kubectl get clusters | grep {{ childcluster }}
+ - cmd: federation_set_insecure_{{ childcluster }}
+ - unless: kubectl --context {{ master.federation.name }} get clusters | grep {{ childcluster }}
{%- endfor %}
{%- endif %}
{%- endif %}
-
diff --git a/kubernetes/master/kube-addons.sls b/kubernetes/master/kube-addons.sls
index c4b7ad2..8344337 100644
--- a/kubernetes/master/kube-addons.sls
+++ b/kubernetes/master/kube-addons.sls
@@ -51,7 +51,7 @@
{% endif %}
-{%- if common.addons.helm.enabled %}
+{%- if common.addons.get('helm', {'enabled': False}).enabled %}
/etc/kubernetes/addons/helm/helm-tiller-deploy.yml:
file.managed:
- source: salt://kubernetes/files/kube-addons/helm/helm-tiller-deploy.yml
@@ -65,6 +65,7 @@
{%- if common.addons.storageclass is defined %}
{%- for storageclass_name, storageclass in common.addons.get('storageclass', {}).iteritems() %}
+{%- set storageclass_name = storageclass.get('name', storageclass_name) %}
/etc/kubernetes/addons/storageclass/{{ storageclass_name }}.yaml:
file.managed:
@@ -81,7 +82,7 @@
{% endif %}
-{%- if common.addons.netchecker.enabled %}
+{%- if common.addons.get('netchecker', {'enabled': False}).enabled %}
{%- for resource in ['svc', 'server', 'agent'] %}
@@ -97,7 +98,7 @@
{% endif %}
-{%- if common.addons.dns.enabled %}
+{%- if common.addons.get('dns', {'enabled': False}).enabled %}
/etc/kubernetes/addons/dns/kubedns-svc.yaml:
file.managed:
@@ -180,9 +181,10 @@
- group: root
- dir_mode: 755
- makedirs: True
+
{% endif %}
-{%- if common.addons.dashboard.enabled %}
+{%- if common.addons.get('dashboard', {'enabled': False}).enabled %}
/etc/kubernetes/addons/dashboard/dashboard-service.yaml:
file.managed:
@@ -202,7 +204,7 @@
{% endif %}
-{%- if common.addons.heapster_influxdb.enabled %}
+{%- if common.addons.get('heapster_influxdb', {'enabled': False}).enabled %}
/etc/kubernetes/addons/heapster-influxdb/heapster-address.yaml:
file.managed:
diff --git a/metadata/service/common.yml b/metadata/service/common.yml
index b7884b4..c29d5ee 100644
--- a/metadata/service/common.yml
+++ b/metadata/service/common.yml
@@ -55,7 +55,7 @@
virtlet:
enabled: False
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
cloudprovider:
enabled: False
provider: openstack
diff --git a/metadata/service/master/cluster.yml b/metadata/service/master/cluster.yml
index f267e5e..50e5ce6 100644
--- a/metadata/service/master/cluster.yml
+++ b/metadata/service/master/cluster.yml
@@ -17,9 +17,11 @@
username: ${_param:kubernetes_admin_user}
password: ${_param:kubernetes_admin_password}
kubelet:
+ address: ${_param:cluster_local_address}
allow_privileged: True
apiserver:
address: ${_param:cluster_local_address}
+ bind_address: 0.0.0.0
vip_address: ${_param:cluster_vip_address}
secure_port: 6443
internal_address: ${_param:kubernetes_internal_api_address}
@@ -62,7 +64,7 @@
enabled: False
name: federation
namespace: federation-system
- source: https://dl.k8s.io/v1.6.6/kubernetes-client-linux-amd64.tar.gz
- hash: 94b2c9cd29981a8e150c187193bab0d8c0b6e906260f837367feff99860a6376
+ source: https://dl.k8s.io/v1.7.3/kubernetes-client-linux-amd64.tar.gz
+ hash: 8d66c7912914ac9add514e660fdc8c963b748a7c588c43a14533157a9f0e1c92
service_type: NodePort
dns_provider: coredns
diff --git a/metadata/service/master/single.yml b/metadata/service/master/single.yml
index 61464f7..80ad876 100644
--- a/metadata/service/master/single.yml
+++ b/metadata/service/master/single.yml
@@ -17,9 +17,11 @@
username: ${_param:kubernetes_admin_user}
password: ${_param:kubernetes_admin_password}
kubelet:
+ address: ${_param:cluster_local_address}
allow_privileged: True
apiserver:
address: ${_param:single_address}
+ bind_address: 0.0.0.0
secure_port: 443
internal_address: ${_param:kubernetes_internal_api_address}
insecure_address: 127.0.0.1
@@ -61,7 +63,7 @@
virtlet:
enabled: False
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
token:
admin: ${_param:kubernetes_admin_token}
kubelet: ${_param:kubernetes_kubelet_token}
@@ -84,7 +86,7 @@
enabled: False
name: federation
namespace: federation-system
- source: https://dl.k8s.io/v1.6.6/kubernetes-client-linux-amd64.tar.gz
- hash: 94b2c9cd29981a8e150c187193bab0d8c0b6e906260f837367feff99860a6376
+ source: https://dl.k8s.io/v1.7.3/kubernetes-client-linux-amd64.tar.gz
+ hash: 8d66c7912914ac9add514e660fdc8c963b748a7c588c43a14533157a9f0e1c92
service_type: NodePort
dns_provider: coredns
diff --git a/metadata/service/pool/cluster.yml b/metadata/service/pool/cluster.yml
index b529623..826a78b 100644
--- a/metadata/service/pool/cluster.yml
+++ b/metadata/service/pool/cluster.yml
@@ -27,6 +27,7 @@
cluster_dns: 10.254.0.10
cluster_domain: ${_param:kubernetes_cluster_domain}
kubelet:
+ address: ${_param:cluster_local_address}
config: /etc/kubernetes/manifests
allow_privileged: True
frequency: 5s
diff --git a/metadata/service/pool/single.yml b/metadata/service/pool/single.yml
index 057596b..eefb9ce 100644
--- a/metadata/service/pool/single.yml
+++ b/metadata/service/pool/single.yml
@@ -24,6 +24,7 @@
allow_privileged: True
cluster_domain: ${_param:kubernetes_cluster_domain}
kubelet:
+ address: ${_param:cluster_local_address}
config: /etc/kubernetes/manifests
allow_privileged: True
frequency: 5s
diff --git a/tests/pillar/common_storageclass.sls b/tests/pillar/common_storageclass.sls
new file mode 100644
index 0000000..47c3cec
--- /dev/null
+++ b/tests/pillar/common_storageclass.sls
@@ -0,0 +1,72 @@
+kubernetes:
+ master:
+ enabled: true
+ admin:
+ password: password
+ username: admin
+ version: v1.2.4
+ host:
+ name: node040
+ etcd:
+ members:
+ - host: 10.0.175.100
+ name: node040
+ namespace:
+ kube-system:
+ enabled: true
+ network:
+ engine: calico
+ hash: fb5e30ebe6154911a66ec3fb5f1195b2
+ private_ip_range: 10.150.0.0/16
+ version: v0.19.0
+ etcd:
+ members:
+ - host: 127.0.0.1
+ port: 4001
+ - host: 127.0.0.1
+ port: 4001
+ - host: 127.0.0.1
+ port: 4001
+ service_addresses: 10.254.0.0/16
+ storage:
+ engine: glusterfs
+ members:
+ - host: 10.0.175.101
+ port: 24007
+ - host: 10.0.175.102
+ port: 24007
+ - host: 10.0.175.103
+ port: 24007
+ port: 24007
+ registry:
+ host: tcpcloud
+ common:
+ network:
+ engine: none
+ addons:
+ storageclass:
+ nfs_elastic_1:
+ enabled: True
+ provisioner: nfs
+ spec:
+ name: elastic_data
+ nfs:
+ server: 10.0.0.1
+ path: /exported_path/elastic01
+ nfs_elastic_2:
+ enabled: True
+ provisioner: nfs
+ spec:
+ name: elastic_data
+ nfs:
+ server: 10.0.0.1
+ path: /exported_path/elastic02
+ nfs_influx:
+ name: influx01
+ enabled: False
+ provisioner: nfs
+ spec:
+ name: influx
+ nfs:
+ server: 10.0.0.1
+ path: /exported_path/inlfux01
diff --git a/tests/pillar/master_cluster.sls b/tests/pillar/master_cluster.sls
index 513d6b1..2f40293 100644
--- a/tests/pillar/master_cluster.sls
+++ b/tests/pillar/master_cluster.sls
@@ -42,7 +42,7 @@
hosts:
- cmp01
- cmp02
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
master:
admin:
password: password
@@ -65,6 +65,7 @@
- host: 10.0.175.100
name: node040
kubelet:
+ address: 10.0.175.100
allow_privileged: true
network:
engine: calico
diff --git a/tests/pillar/master_contrail.sls b/tests/pillar/master_contrail.sls
index 862bb9a..b562e66 100644
--- a/tests/pillar/master_contrail.sls
+++ b/tests/pillar/master_contrail.sls
@@ -39,7 +39,7 @@
virtlet:
enabled: true
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
hosts:
- cmp01
- cmp02
@@ -69,6 +69,7 @@
- host: 10.0.175.100
name: node040
kubelet:
+ address: 10.0.175.100
allow_privileged: true
network:
engine: opencontrail
diff --git a/tests/pillar/master_contrail4_0.sls b/tests/pillar/master_contrail4_0.sls
index d948e7c..fe63c4a 100644
--- a/tests/pillar/master_contrail4_0.sls
+++ b/tests/pillar/master_contrail4_0.sls
@@ -39,7 +39,7 @@
virtlet:
enabled: true
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
hosts:
- cmp01
- cmp02
@@ -66,6 +66,7 @@
- host: 127.0.0.1
name: node040
kubelet:
+ address: 10.0.175.100
allow_privileged: true
network:
engine: opencontrail
diff --git a/tests/pillar/pool_cluster.sls b/tests/pillar/pool_cluster.sls
index b9e7840..35523bb 100644
--- a/tests/pillar/pool_cluster.sls
+++ b/tests/pillar/pool_cluster.sls
@@ -18,7 +18,7 @@
virtlet:
enabled: true
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
hosts:
- cmp01
- cmp02
@@ -39,6 +39,7 @@
- host: 127.0.0.1
address: 0.0.0.0
kubelet:
+ address: 127.0.0.1
config: /etc/kubernetes/manifests
allow_privileged: True
frequency: 5s
diff --git a/tests/pillar/pool_cluster_with_domain.sls b/tests/pillar/pool_cluster_with_domain.sls
index 6201348..595e39e 100644
--- a/tests/pillar/pool_cluster_with_domain.sls
+++ b/tests/pillar/pool_cluster_with_domain.sls
@@ -18,7 +18,7 @@
virtlet:
enabled: true
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
hosts:
- cmp01
- cmp02
@@ -40,6 +40,7 @@
- host: 127.0.0.1
address: 0.0.0.0
kubelet:
+ address: 127.0.0.1
config: /etc/kubernetes/manifests
allow_privileged: True
frequency: 5s
diff --git a/tests/pillar/pool_contrail4_0.sls b/tests/pillar/pool_contrail4_0.sls
index ea4426a..bdd87b7 100644
--- a/tests/pillar/pool_contrail4_0.sls
+++ b/tests/pillar/pool_contrail4_0.sls
@@ -18,7 +18,7 @@
virtlet:
enabled: true
namespace: kube-system
- image: mirantis/virtlet:v0.7.0
+ image: mirantis/virtlet:v0.8.0
hosts:
- cmp01
- cmp02
@@ -39,6 +39,7 @@
- host: 127.0.0.1
address: 0.0.0.0
kubelet:
+ address: 127.0.0.1
config: /etc/kubernetes/manifests
allow_privileged: True
frequency: 5s