You could try something
hostvars[groups['master']|first] instead of hostvars['master'] in my
proposition to see it that works...not sure
Use a debug module could help
Regards,
JYL
Le 20/01/2021 à 08:53, liyo...@126.com a écrit :
yes,I want only get one host in member of group ‘master’,how to write
it ?
[root@localhost ~]# cat /etc/ansible/hosts
[master]
47.108.222.84
47.108.234.26
47.108.213.148
only use "47.108.222.84" to do shell command
在2021年1月20日星期三 UTC+8 下午3:47:31<jyle...@gmail.com> 写道:
I'm wrong.... it's not hostvars['master'], because master is not
the name of your first host in group master
Le 20/01/2021 à 08:33, Jean-Yves LENHOF a écrit :
You're looking for something like this I think (not tested) :
- name: add master node
shell: "kubeadm join {{ groups['master']|first }}:6443
--token {{hostvars['master']['kubeadm_token'].stdout}}
--discovery-token-ca-cert-hash
sha256:{{hostvars['master']['kubeadm_hash'].stdout}} --control-plane"
when: inventory_hostname != groups['master']|first
Please be careful using special hostvars variable, there's no
control in this array if the variable exist, etc... so use with
caution
Regards,
JYL
Le 20/01/2021 à 08:17, liyo...@126.com a écrit :
I know,but I want get the token in A host,use it in other
hosts,how to do it ?
在2021年1月20日星期三 UTC+8 下午2:31:36<dick....@geant.org> 写道:
Hii
You're registering a variable for one host (47.108.222.84)
but then try to use it for another (47.108.213.148).
I'm have no experience with kubeadm but I think your logic
wrt host selection should be improved, so that you can
reliably pick the variable from a stable group name, instead
of "the last item".
On Wed, 20 Jan 2021 at 05:26, liyo...@126.com
<liyo...@126.com> wrote:
when I edit a playbook test.yml:
---
- hosts: master
gather_facts: no
tasks:
- name: register hash
shell: "openssl x509 -pubkey -in
/etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform
der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^
.* //'|cut -d' ' -f 2"
register: kubeadm_hash
when: inventory_hostname == groups['master']|first
- name: display hash
debug: msg="{{kubeadm_hash.stdout}}"
when: inventory_hostname == groups['master']|first
- name: register token
shell: kubeadm token list |grep forever|awk
'{print $1}'
register: kubeadm_token
when: inventory_hostname == groups['master']|first
- name: display token
debug: msg="{{kubeadm_token.stdout}}"
when: inventory_hostname == groups['master']|first
- name: add master node
shell: "kubeadm join {{ groups['master'][0]
}}:6443 --token {{kubeadm_token.stdout}}
--discovery-token-ca-cert-hash
sha256:{{kubeadm_hash.stdout}} --control-plane"
when: inventory_hostname != groups['master']|first
the results is below:
PLAY [master]
***************************************************************************************************************************************************************
TASK [register hash]
********************************************************************************************************************************************************
skipping: [47.108.234.26]
skipping: [47.108.213.148]
changed: [47.108.222.84]
TASK [display hash]
*********************************************************************************************************************************************************
ok: [47.108.222.84] => {
"msg":
"af040f8e06e320e264a79f62b677b3267f4b681d869408658bdd121fa568216c"
}
skipping: [47.108.213.148]
skipping: [47.108.234.26]
TASK [register token]
*******************************************************************************************************************************************************
skipping: [47.108.234.26]
skipping: [47.108.213.148]
changed: [47.108.222.84]
TASK [display token]
********************************************************************************************************************************************************
ok: [47.108.222.84] => {
"msg": "otnb1h.cvagwwe7tgdvzbtx"
}
skipping: [47.108.234.26]
skipping: [47.108.213.148]
TASK [add master node]
******************************************************************************************************************************************************
skipping: [47.108.222.84]
fatal: [47.108.234.26]: FAILED! => {"msg": "The task
includes an option with an undefined variable. The error
was: 'dict object' has no attribute 'stdout'\n\nThe
error appears to be in '/root/test.yml': line 23, column
7, but may\nbe elsewhere in the file depending on the
exact syntax problem.\n\nThe offending line appears to
be:\n\n\n - name: add master node\n ^ here\n"}
fatal: [47.108.213.148]: FAILED! => {"msg": "The task
includes an option with an undefined variable. The error
was: 'dict object' has no attribute 'stdout'\n\nThe
error appears to be in '/root/test.yml': line 23, column
7, but may\nbe elsewhere in the file depending on the
exact syntax problem.\n\nThe offending line appears to
be:\n\n\n - name: add master node\n ^ here\n"}
PLAY RECAP
******************************************************************************************************************************************************************
47.108.213.148 : ok=0 changed=0
unreachable=0 failed=1 skipped=4 rescued=0
ignored=0
47.108.222.84 : ok=4 changed=2
unreachable=0 failed=0 skipped=1 rescued=0
ignored=0
47.108.234.26 : ok=0 changed=0
unreachable=0 failed=1 skipped=4 rescued=0
ignored=0
how to use it ?
--
You received this message because you are subscribed to
the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/21ca354e-a0ed-4d10-9d01-8f48f170d22cn%40googlegroups.com
<https://groups.google.com/d/msgid/ansible-project/21ca354e-a0ed-4d10-9d01-8f48f170d22cn%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
Sent from a mobile device - please excuse the brevity,
spelling and punctuation.
--
You received this message because you are subscribed to the
Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from
it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/647f4749-f97f-4522-a368-c95a25878790n%40googlegroups.com
<https://groups.google.com/d/msgid/ansible-project/647f4749-f97f-4522-a368-c95a25878790n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the
Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/1ed8d8ac-3d8b-29cd-576b-a26fecb91ed7%40lenhof.eu.org
<https://groups.google.com/d/msgid/ansible-project/1ed8d8ac-3d8b-29cd-576b-a26fecb91ed7%40lenhof.eu.org?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google
Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to ansible-project+unsubscr...@googlegroups.com
<mailto:ansible-project+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/98e9e1c7-51dc-4e79-9128-c47370b1a665n%40googlegroups.com
<https://groups.google.com/d/msgid/ansible-project/98e9e1c7-51dc-4e79-9128-c47370b1a665n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups "Ansible
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/7db186c9-7f15-0320-4939-72105a09eaef%40lenhof.eu.org.