update go-ansible to version 2 and update output format
This commit is contained in:
@@ -1961,7 +1961,7 @@ releases:
|
|||||||
server.insecure: true
|
server.insecure: true
|
||||||
|
|
||||||
secret:
|
secret:
|
||||||
argocdServerAdminPassword: $2a$10$OUae.wI5UBlC0ISkvD82XOdbGc9iP8apcXcqNTy4gfjSyiA9Jmw76
|
argocdServerAdminPassword: $2a$10$vyI/s19oGdrz9rtPVKsZeuXIdPhQQcUzNcn/soL160xBFmvraA3Za
|
||||||
|
|
||||||
repositories:
|
repositories:
|
||||||
# add default helm-repository from harbor
|
# add default helm-repository from harbor
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
package kubespray
|
package kubespray
|
||||||
|
|
||||||
func InstallCluster(tags string) {
|
func InstallCluster(tags string) {
|
||||||
playbookConfig := getPlaybookParameters(tags)
|
ansiblePlaybookOptions := getPlaybookParameters(tags)
|
||||||
runPlaybook("kubespray/project/cluster.yml", playbookConfig)
|
runPlaybook("kubespray/project/cluster.yml", ansiblePlaybookOptions)
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpgradeCluster(tags string) {
|
func UpgradeCluster(tags string) {
|
||||||
playbookConfig := getPlaybookParameters(tags)
|
ansiblePlaybookOptions := getPlaybookParameters(tags)
|
||||||
runPlaybook("kubespray/project/upgrade_cluster.yml", playbookConfig)
|
runPlaybook("kubespray/project/upgrade_cluster.yml", ansiblePlaybookOptions)
|
||||||
}
|
}
|
||||||
|
|
||||||
func ResetCluster() {
|
func ResetCluster() {
|
||||||
playbookConfig := getPlaybookParameters("reset")
|
ansiblePlaybookOptions := getPlaybookParameters("reset")
|
||||||
runPlaybook("kubespray/project/reset.yml", playbookConfig)
|
runPlaybook("kubespray/project/reset.yml", ansiblePlaybookOptions)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,47 +7,30 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/apenella/go-ansible/pkg/execute"
|
"github.com/apenella/go-ansible/v2/pkg/execute"
|
||||||
"github.com/apenella/go-ansible/pkg/inventory"
|
"github.com/apenella/go-ansible/v2/pkg/execute/stdoutcallback"
|
||||||
"github.com/apenella/go-ansible/pkg/options"
|
"github.com/apenella/go-ansible/v2/pkg/playbook"
|
||||||
"github.com/apenella/go-ansible/pkg/playbook"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func getPlaybookParameters(tags string) config.AnsiblePlaybookConfig {
|
func getPlaybookParameters(tags string) playbook.AnsiblePlaybookOptions {
|
||||||
cfg := config.GetConfig()
|
cfg := config.GetConfig()
|
||||||
ansibleInventoryOptions := inventory.AnsibleInventoryOptions{
|
|
||||||
Graph: true,
|
|
||||||
Inventory: "kubespray/inventory/hosts",
|
|
||||||
Vars: true,
|
|
||||||
Yaml: false,
|
|
||||||
}
|
|
||||||
|
|
||||||
ansiblePlaybookOptions := playbook.AnsiblePlaybookOptions{
|
ansiblePlaybookOptions := playbook.AnsiblePlaybookOptions{
|
||||||
Inventory: ansibleInventoryOptions.Inventory,
|
Inventory: "kubespray/inventory/hosts",
|
||||||
Tags: tags,
|
Tags: tags,
|
||||||
}
|
User: cfg.Credentials.User,
|
||||||
|
Become: true,
|
||||||
ansiblePlaybookConnectionOptions := options.AnsibleConnectionOptions{
|
|
||||||
User: cfg.Credentials.User,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg.Credentials.PrivateKeyFile != "" {
|
if cfg.Credentials.PrivateKeyFile != "" {
|
||||||
ansiblePlaybookConnectionOptions.PrivateKey = cfg.Credentials.PrivateKeyFile
|
ansiblePlaybookOptions.PrivateKey = cfg.Credentials.PrivateKeyFile
|
||||||
}
|
|
||||||
|
|
||||||
ansiblePlaybookPrivilegeEscalationOptions := options.AnsiblePrivilegeEscalationOptions{
|
|
||||||
Become: true,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg.Credentials.AskSudoPassword {
|
if cfg.Credentials.AskSudoPassword {
|
||||||
ansiblePlaybookPrivilegeEscalationOptions.AskBecomePass = true
|
ansiblePlaybookOptions.AskBecomePass = true
|
||||||
}
|
}
|
||||||
|
|
||||||
return config.AnsiblePlaybookConfig{
|
return ansiblePlaybookOptions
|
||||||
ConnectionOptions: ansiblePlaybookConnectionOptions,
|
|
||||||
PrivilegeEscalationOptions: ansiblePlaybookPrivilegeEscalationOptions,
|
|
||||||
PlaybookOptions: ansiblePlaybookOptions,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func CopyK8SAdminConfig(pathInDataDir string) {
|
func CopyK8SAdminConfig(pathInDataDir string) {
|
||||||
@@ -72,19 +55,19 @@ func CopyK8SAdminConfig(pathInDataDir string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func runPlaybook(playbookPath string, playbookConfig config.AnsiblePlaybookConfig) {
|
func runPlaybook(playbookPath string, playbookOptions playbook.AnsiblePlaybookOptions) {
|
||||||
playbook := &playbook.AnsiblePlaybookCmd{
|
playbookCmd := playbook.NewAnsiblePlaybookCmd(
|
||||||
Playbooks: []string{playbookPath},
|
playbook.WithPlaybooks(playbookPath),
|
||||||
ConnectionOptions: &playbookConfig.ConnectionOptions,
|
playbook.WithPlaybookOptions(&playbookOptions),
|
||||||
PrivilegeEscalationOptions: &playbookConfig.PrivilegeEscalationOptions,
|
)
|
||||||
Options: &playbookConfig.PlaybookOptions,
|
exec := stdoutcallback.NewDenseStdoutCallbackExecute(
|
||||||
Exec: execute.NewDefaultExecute(
|
execute.NewDefaultExecute(
|
||||||
execute.WithEnvVar("ANSIBLE_FORCE_COLOR", "true"),
|
execute.WithCmd(playbookCmd),
|
||||||
// execute.WithEnvVar("ANSIBLE_STDOUT_CALLBACK", "true"),
|
execute.WithErrorEnrich(playbook.NewAnsiblePlaybookErrorEnrich()),
|
||||||
),
|
),
|
||||||
}
|
)
|
||||||
|
|
||||||
err := playbook.Run(context.TODO())
|
err := exec.Execute(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user