feat(ansible): expose inventory become password
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
3e8a150375
commit
cb1ffa8b64
3 changed files with 32 additions and 3 deletions
|
|
@ -128,6 +128,30 @@ func TestExecutor_GetClient_Good_PlayVarsOverrideInventoryVars(t *testing.T) {
|
|||
assert.Equal(t, "play-user", sshClient.user)
|
||||
}
|
||||
|
||||
func TestExecutor_GetClient_Good_UsesInventoryBecomePassword(t *testing.T) {
|
||||
e := NewExecutor("/tmp")
|
||||
e.SetInventoryDirect(&Inventory{
|
||||
All: &InventoryGroup{
|
||||
Hosts: map[string]*Host{
|
||||
"host1": {
|
||||
AnsibleHost: "127.0.0.1",
|
||||
AnsibleBecomePassword: "secret",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
client, err := e.getClient("host1", &Play{Become: true, BecomeUser: "admin"})
|
||||
require.NoError(t, err)
|
||||
|
||||
sshClient, ok := client.(*SSHClient)
|
||||
require.True(t, ok)
|
||||
become, user, pass := sshClient.BecomeState()
|
||||
assert.True(t, become)
|
||||
assert.Equal(t, "admin", user)
|
||||
assert.Equal(t, "secret", pass)
|
||||
}
|
||||
|
||||
func TestExecutor_GetClient_Good_UpdatesCachedBecomeState(t *testing.T) {
|
||||
e := NewExecutor("/tmp")
|
||||
e.SetInventoryDirect(&Inventory{
|
||||
|
|
|
|||
|
|
@ -1147,6 +1147,9 @@ func collectHostVars(group *InventoryGroup, hostname string, vars map[string]any
|
|||
if host.AnsibleConnection != "" {
|
||||
vars["ansible_connection"] = host.AnsibleConnection
|
||||
}
|
||||
if host.AnsibleBecomePassword != "" {
|
||||
vars["ansible_become_password"] = host.AnsibleBecomePassword
|
||||
}
|
||||
for k, v := range host.Vars {
|
||||
vars[k] = v
|
||||
}
|
||||
|
|
|
|||
|
|
@ -843,9 +843,10 @@ func TestParser_GetHostVars_Good_DirectHost(t *testing.T) {
|
|||
Vars: map[string]any{"global_var": "global"},
|
||||
Hosts: map[string]*Host{
|
||||
"myhost": {
|
||||
AnsibleHost: "10.0.0.1",
|
||||
AnsiblePort: 2222,
|
||||
AnsibleUser: "deploy",
|
||||
AnsibleHost: "10.0.0.1",
|
||||
AnsiblePort: 2222,
|
||||
AnsibleUser: "deploy",
|
||||
AnsibleBecomePassword: "secret",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
@ -855,6 +856,7 @@ func TestParser_GetHostVars_Good_DirectHost(t *testing.T) {
|
|||
assert.Equal(t, "10.0.0.1", vars["ansible_host"])
|
||||
assert.Equal(t, 2222, vars["ansible_port"])
|
||||
assert.Equal(t, "deploy", vars["ansible_user"])
|
||||
assert.Equal(t, "secret", vars["ansible_become_password"])
|
||||
assert.Equal(t, "global", vars["global_var"])
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue