| {% from 'virtual-mcp11-k8s-contrail/underlay.yaml' import HOSTNAME_CFG01 with context %} |
| |
| - description: Install etcd |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@etcd:server' state.sls etcd.server.service |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| - description: Check the etcd health |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@etcd:server' cmd.run '. /var/lib/etcd/configenv && etcdctl cluster-health' |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| # Opencontrail Control Plane |
| |
| - description: Install Opencontrail db on ctl01 |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:database and *01*' state.sls opencontrail.database |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 2, delay: 20} |
| skip_fail: false |
| |
| - description: Install Opencontrail db on all nodes |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:database' state.sls opencontrail.database |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 2, delay: 20} |
| skip_fail: false |
| |
| - description: Install Opencontrail control on ctl01 |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:control and *01*' state.sls opencontrail exclude=opencontrail.client |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| - description: Install Opencontrail control on all nodes |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:control' state.sls opencontrail exclude=opencontrail.client |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| - description: Install Opencontrail on collector |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:collector' state.sls opencontrail exclude=opencontrail.client |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| # OpenContrail vrouters |
| - description: Install Opencontrail client |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:database:id:1' state.sls opencontrail.client |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| - description: Install Opencontrail on computes |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:compute' state.sls opencontrail exclude=opencontrail.client |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 2, delay: 5} |
| skip_fail: false |
| |
| - description: Wake up vhost0 |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@nova:compute' cmd.run 'exec 0>&-; exec 1>&-; exec 2>&-; |
| nohup bash -c "ip link | grep vhost && echo no_reboot || sleep 5 && reboot & "' && sleep 30 |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| - description: Wait for salt-minions wake up after restart |
| cmd: salt --timeout=15 --hard-crash --state-output=mixed --state-verbose=False '*' test.ping |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 25, delay: 30} |
| skip_fail: false |
| |
| - description: Install Opencontrail client on computes |
| cmd: sleep 15 && salt --timeout=60 --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:compute' state.sls 'opencontrail.client' |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |
| |
| - description: Install Opencontrail on computes #2 |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@opencontrail:compute' state.sls opencontrail |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 2, delay: 5} |
| skip_fail: false |
| |
| # Kubernetes |
| - description: Install Kubernetes Addons |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: true |
| |
| - description: Install Kubernetes components |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@kubernetes:pool' state.sls kubernetes.pool |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 5, delay: 60} |
| skip_fail: false |
| |
| - description: Run Kubernetes master without setup |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@kubernetes:master' state.sls kubernetes exclude=kubernetes.master.setup |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 3, delay: 5} |
| skip_fail: true |
| |
| - description: Run Kubernetes master setup |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@kubernetes:master and *01*' state.sls kubernetes.master.setup |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: true |
| |
| - description: Restart Kubelet |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False |
| -C 'I@kubernetes:pool' service.restart 'kubelet' |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: true |
| |
| - description: Renew hosts file on a whole cluster |
| cmd: salt --hard-crash --state-output=mixed --state-verbose=False -C '*' state.sls linux.network.host; |
| node_name: {{ HOSTNAME_CFG01 }} |
| retry: {count: 1, delay: 5} |
| skip_fail: false |