Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing configuration directives #77

Open
damo2929 opened this issue Oct 8, 2018 · 8 comments
Open

Missing configuration directives #77

damo2929 opened this issue Oct 8, 2018 · 8 comments

Comments

@damo2929
Copy link

damo2929 commented Oct 8, 2018

  • Puppet: 5
  • Module version: v2

module doesn't support all the configuration directive the upstream proxysql package does as such you can't template all the needed functionality with this class.

What are you seeing

[root@testbox temp-puppet-rhel7]# puppet apply proxysql.pp
Error: no parameter named 'writer_is_also_reader' (file: /root/temp-puppet-rhel7/proxysql.pp, line: 120) on Proxy_mysql_replication_hostgroup[30-31] (file: /root/temp-puppet-rhel7/proxysql.pp, line: 120) on node testbox

proxy_mysql_replication_hostgroup { '30-31':
	writer_hostgroup => 30,
	reader_hostgroup => 31,
	writer_is_also_reader => 0,
	max_writers => 1,
	comment => 'Zabbix cluster: ensure all read and write traffic goes to a single active master' 
}

What behaviour did you expect instead

the variables to be mapped up to the configuration field values so that the host groups can be configured in a way that matches the proxysql v4 manual.

@damo2929 damo2929 closed this as completed Oct 8, 2018
@damo2929 damo2929 reopened this Oct 8, 2018
@damo2929
Copy link
Author

damo2929 commented Oct 8, 2018

checked module readme and double check. and there is definitely an issue

@damo2929
Copy link
Author

damo2929 commented Oct 8, 2018

issue is also happening with max_writers also

@damo2929
Copy link
Author

damo2929 commented Oct 8, 2018

[root@testbox temp-puppet-rhel7]# puppet apply proxysql.pp
Error: no parameter named 'max_writers' (file: /root/temp-puppet-rhel7/proxysql.pp, line: 120) on Proxy_mysql_replication_hostgroup[30-31] (file: /root/temp-puppet-rhel7/proxysql.pp, line: 120) on node testbox

@CyberLine
Copy link
Contributor

You are mixing replication hostgroup with group replication hostgroup...

@damo2929
Copy link
Author

damo2929 commented Oct 8, 2018

ok so I have changed it to

proxy_mysql_group_replication_hostgroup { '30-32-31-33':
	writer_hostgroup => 30,
	reader_hostgroup => 31,
	backup_writer_hostgroup => 32,
	offline_hostgroup       => 33,
	writer_is_also_reader => 0,
	max_writers => 1,
	comment => 'Zabbix cluster: ensure all read and write traffic goes to a single active master' 
}

but still get

Error: Evaluation Error: Error while evaluating a Resource Statement, Unknown resource type: 'proxy_mysql_group_replication_hostgroup' (file: /root/temp-puppet-rhel7/proxysql.pp, line: 120, column: 2)

@mcrauwel
Copy link
Member

mcrauwel commented Oct 8, 2018

are you using the correct version of the module? this is also how we run the acceptance tests:

proxy_mysql_group_replication_hostgroup { '5-2-10-11':
ensure => 'present',
reader_hostgroup => 10,
writer_hostgroup => 5,
backup_writer_hostgroup => 2,
offline_hostgroup => 11,
comment => 'Test MySQL GR Cluster 5-2-10-11',
}

@damo2929
Copy link
Author

damo2929 commented Oct 9, 2018

I have fresh pupped the unit down from puppet forge after removing it just to check.

puppet module list
/etc/puppetlabs/code/environments/production/modules
├── camptocamp-kmod (v2.2.0)
├── camptocamp-systemd (v2.0.0)
├── herculesteam-augeasproviders_core (v2.1.4)
├── herculesteam-augeasproviders_mounttab (v2.0.3)
├── herculesteam-augeasproviders_pam (v2.1.1)
├── herculesteam-augeasproviders_ssh (v3.0.0)
├── herculesteam-augeasproviders_sysctl (v2.2.0)
├── puppet-corosync (v6.0.1)
├── puppet-proxysql (v2.0.0)
├── puppet-selinux (v1.5.2)
├── puppet-staging (v3.2.0)
├── puppet-zabbix (v6.4.2)
├── puppetlabs-accounts (v2.0.0)
├── puppetlabs-apache (v2.3.1)
├── puppetlabs-apt (v4.5.1)
├── puppetlabs-concat (v4.2.1)
├── puppetlabs-firewall (v1.12.0)
├── puppetlabs-mount_providers (v1.0.0)
├── puppetlabs-mysql (v6.2.0)
├── puppetlabs-pe_gem (v0.2.0)
├── puppetlabs-postgresql (v5.7.0)
├── puppetlabs-ruby (v1.0.0)
├── puppetlabs-stdlib (v4.25.1)
├── puppetlabs-translate (v1.1.0)
├── saz-limits (v3.0.2)
└── saz-sudo (v5.0.0)
/etc/puppetlabs/code/modules (no modules installed)
/opt/puppetlabs/puppet/modules (no modules installed)

so under version 2 I can't use the group directives they just crash
if I use my original config that worked on the version 1.1.2 I get connection errors

Notice: /Stage[main]/Proxysql::Service/Service[proxysql]: Triggered 'refresh' from 1 event
Notice: /Stage[main]/Proxysql::Service/Exec[wait_for_admin_socket_to_open]: Triggered 'refresh' from 1 event
Notice: /Stage[main]/Proxysql::Admin_credentials/File[root-mycnf-file]/content: content changed '{md5}a0a9c4018eb982760654f5d2c505a3bf' to '{md5}2b8d03384a8b838f361ae8799c5be27e'
Notice: /Stage[main]/Proxysql::Reload_config/Exec[reload-config]/returns: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/proxysql_admin.sock' (111)
Error: /Stage[main]/Proxysql::Reload_config/Exec[reload-config]: Failed to call refresh: '/usr/bin/mysql --defaults-extra-file=/root/.my.cnf --execute="
LOAD ADMIN VARIABLES FROM CONFIG; LOAD ADMIN VARIABLES TO RUNTIME; SAVE ADMIN VARIABLES TO DISK; LOAD MYSQL VARIABLES FROM CONFIG; LOAD MYSQL VARIABLES TO RUNTIME; SAVE MYSQL VARIABLES TO DISK; "
' returned 1 instead of one of [0]
Error: /Stage[main]/Proxysql::Reload_config/Exec[reload-config]: '/usr/bin/mysql --defaults-extra-file=/root/.my.cnf --execute="
LOAD ADMIN VARIABLES FROM CONFIG; LOAD ADMIN VARIABLES TO RUNTIME; SAVE ADMIN VARIABLES TO DISK; LOAD MYSQL VARIABLES FROM CONFIG; LOAD MYSQL VARIABLES TO RUNTIME; SAVE MYSQL VARIABLES TO DISK; "
' returned 1 instead of one of [0]
Notice: /Stage[main]/Proxysql/Anchor[proxysql::end]: Dependency Exec[reload-config] has failures: true
Warning: /Stage[main]/Proxysql/Anchor[proxysql::end]: Skipping because of failed dependencies
Error: Failed to apply catalog: Execution of '/bin/mysql --defaults-extra-file=/root/.my.cnf -NBe SELECT hostname, port, hostgroup_id FROM mysql_servers' returned 1: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/proxysql_admin.sock' (111)

@CyberLine
Copy link
Contributor

It's only in the Master, not in v2.0.0. I think you have to user master or wait for next Version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants