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

CLOUD-464: Updates for Reconciliation #176

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions attributes/default.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
default['ndb']['version'] = "#{node['ndb']['majorVersion']}.#{node['ndb']['minorVersion']}.#{node['ndb']['patchVersion']}"
default['ndb']['enabled'] = "true"
default['ndb']['glib_version'] = "2.28"
default['ndb']['cpu_platform'] = "x86_64"

default['ndb']['url'] = node['download_url'] + "/rondb-#{node['ndb']['version']}-linux-glibc#{node['ndb']['glib_version']}-x86_64.tar.gz"
default['ndb']['url'] = node['download_url'] + "/rondb-#{node['ndb']['version']}-linux-glibc#{node['ndb']['glib_version']}-#{node['ndb']['cpu_platform']}.tar.gz"
# checksum is not a security check - used to improve the speed of downloads by skipping if matched
# checksum calculated using: shasum -a 256 /var/www/hops/...tgz | cut -c-12
# checksum calculated using: sha256sum /var/www/hops/...tgz | cut -c-12
Expand All @@ -30,7 +31,7 @@
default['ndb']['bind_cpus'] = "false"

default['ndb']['mgmd']['port'] = 1186
default['ndb']['ndbd']['port'] = 10000
default['ndb']['ndbd']['port'] = 11860
default['ndb']['ndbd']['systemctl_timeout_sec'] = 3600
default['ndb']['ip'] = "10.0.2.15"

Expand Down Expand Up @@ -129,9 +130,9 @@

default['ndb']['interrupts_isolated_to_single_cpu'] = "false"

default['mgm']['scripts'] = %w{ enter-singleuser-mode.sh mgm-client.sh mgm-server-start.sh mgm-server-stop.sh mgm-server-restart.sh cluster-shutdown.sh cluster-init.sh cluster-start-with-recovery.sh exit-singleuser-mode.sh }
default['ndb']['scripts'] = %w{ ndbd-start.sh ndbd-init.sh ndbd-stop.sh ndbd-restart.sh }
default['mysql']['scripts'] = %w{ get-mysql-socket.sh get-mysql-port.sh mysql-server-start.sh mysql-server-stop.sh mysql-server-restart.sh mysql-client.sh }
default['mgm']['scripts'] = %w{ enter-singleuser-mode.sh mgm-client.sh mgm-server-start.sh mgm-server-stop.sh mgm-server-restart.sh cluster-shutdown.sh cluster-init.sh cluster-start-with-recovery.sh exit-singleuser-mode.sh mgmd_env_variables }
default['ndb']['scripts'] = %w{ ndbd-start.sh ndbd-init.sh ndbd-stop.sh ndbd-restart.sh ndbd_env_variables }
default['mysql']['scripts'] = %w{ get-mysql-socket.sh get-mysql-port.sh mysql-server-start.sh mysql-server-stop.sh mysql-server-restart.sh mysql-client.sh mysqld_env_variables }

default['ndb']['dir'] = node['install']['dir'].empty? ? "/var/lib" : node['install']['dir']

Expand Down
1 change: 0 additions & 1 deletion files/default/ndbd_env_variables

This file was deleted.

1 change: 0 additions & 1 deletion recipes/mgmd.rb
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@
group "root"
mode 0754
cookbook 'ndb'
variables({ :node_id => found_id })
if node['services']['enabled'] == "true"
notifies :enable, resources(:service => service_name)
end
Expand Down
5 changes: 2 additions & 3 deletions recipes/mysqld.rb
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,7 @@
mode 0755
cookbook 'ndb'
variables({
:deps => deps,
:pid_file => "#{node['ndb']['log_dir']}/mysql_#{found_id}.pid"
:deps => deps
})
end

Expand Down Expand Up @@ -251,4 +250,4 @@
#{exec} -e "source #{grants_path}"
EOF
only_if {node['mysql']['onlinefs'].casecmp?("true")}
end
end
8 changes: 0 additions & 8 deletions recipes/ndbd.rb
Original file line number Diff line number Diff line change
Expand Up @@ -132,13 +132,6 @@
action :create
end

cookbook_file "#{node['ndb']['scripts_dir']}/ndbd_env_variables" do
source "ndbd_env_variables"
user node['ndb']['user']
group node['ndb']['group']
mode 0750
end

for script in node['ndb']['scripts']
template "#{node['ndb']['scripts_dir']}/#{script}" do
source "#{script}.erb"
Expand Down Expand Up @@ -176,7 +169,6 @@
mode 0754
variables({
:deps => deps,
:node_id => found_id
})
if node['services']['enabled'] == "true"
notifies :enable, resources(:service => service_name)
Expand Down
4 changes: 3 additions & 1 deletion templates/default/mgm-client.sh.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env sh

MGM_CONN=<%= node['ndb']['connectstring'] %>
. <%= node['ndb']['scripts_dir'] %>/mgmd_env_variables

MGM_CONN=${MGM_CONN_STRING}
PARAMS=
EXEC=
while [ $# -gt 0 ]; do
Expand Down
16 changes: 11 additions & 5 deletions templates/default/mgm-server-start.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ if [ "X$USERID" != "X<%= node['ndb']['user'] %>" ]; then
exit -3
fi

echo "Testing to see if a cluster is already running on <%= node['ndb']['connectstring'] %> ..."
# <%= node['mysql']['base_dir'] %>/bin/ndb_mgm -c <%= node['ndb']['connectstring'] %> -e \"show\"> /dev/null
echo "Testing to see if a cluster is already running on ${MGM_CONN_STRING} ..."
# <%= node['mysql']['base_dir'] %>/bin/ndb_mgm -c ${MGM_CONN_STRING} -e \"show\"> /dev/null
ss -Hltu | grep -e "<%= node['ndb']['mgmd']['port'] %>\s"

if [ $? -eq 0 ] ; then
echo "A management server is already running on <%= node['ndb']['connectstring'] %>"
echo "A management server is already running on ${MGM_CONN_STRING} %>"
exit 2
fi

Expand All @@ -23,11 +23,17 @@ if [ ! -e <%= node['mysql']['base_dir'] %>/bin/ndb_mgmd ] ; then
exit 3
fi

INITIAL_START_ARG=
if [ -n "$INITIAL_START" ]; then
INITIAL_START_ARG="--initial"
maismail marked this conversation as resolved.
Show resolved Hide resolved
fi

SERVICE_ARG="--service-name ${SERVICE_NAME:-ndb_mgmd}"

<% if #{node['ndb']['use_systemd']} == "true" -%>
<%= node['mysql']['base_dir'] %>/bin/ndb_mgmd --ndb-nodeid=<%= @node_id %> -f <%= node['ndb']['root_dir'] %>/config.ini --configdir=<%= node['ndb']['mgm_dir'] %> --reload --initial
<%= node['mysql']['base_dir'] %>/bin/ndb_mgmd --ndb-nodeid=${NDB_MGMD_NODE_ID} -f <%= node['ndb']['root_dir'] %>/config.ini --configdir=<%= node['ndb']['mgm_dir'] %> --reload ${INITIAL_START_ARG} ${SERVICE_ARG}
<% else -%>
su <%= node['ndb']['user'] %> -c \"<% node['mysql']['base_dir'] %>/bin/ndb_mgmd --ndb-nodeid=<%= @node_id %> -f <%= node['ndb']['root_dir'] %>/config.ini --configdir=<%= node['ndb']['mgm_dir'] %> --reload --initial\"
su <%= node['ndb']['user'] %> -c \"<% node['mysql']['base_dir'] %>/bin/ndb_mgmd --ndb-nodeid=${NDB_MGMD_NODE_ID} -f <%= node['ndb']['root_dir'] %>/config.ini --configdir=<%= node['ndb']['mgm_dir'] %> --reload ${INITIAL_START_ARG} ${SERVICE_ARG}\"
<% end -%>


Expand Down
3 changes: 1 addition & 2 deletions templates/default/mgm-server-stop.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ if [ $# -gt 0 ] ;then
fi
fi

ID=<%= @node_id %>
PID_FILE=<%= "#{node['ndb']['log_dir']}/ndb_${ID}.pid" %>
PID_FILE=<%= "#{node['ndb']['log_dir']}/ndb_mgmd.pid" %>
<%= node['ndb']['scripts_dir'] %>/util/kill-process.sh ndb_mgmd $PID_FILE 0 $FORCE
exit $?
5 changes: 5 additions & 0 deletions templates/default/mgmd_env_variables.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
MGM_CONN_STRING=<%= node['ndb']['connectstring'] %>
NDB_MGMD_NODE_ID=<%= @node_id %>

INITIAL_START=1
SERVICE_NAME=ndb_mgmd
2 changes: 1 addition & 1 deletion templates/default/my-ndb.cnf.erb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ socket = <%= node['ndb']['mysql_socket'] %>
mysqlx_port = <%= node['ndb']['mysqlx_port'] %>
mysqlx_socket = <%= node['ndb']['mysqlx_socket'] %>
bind-address = 0.0.0.0
pid-file = <%= node['ndb']['log_dir'] %>/mysql_<%= @mysql_id %>.pid
pid-file = <%= node['ndb']['log_dir'] %>/mysqld.pid
tmpdir = /tmp
max-connections = 512
max-prepared-stmt-count = 65530
Expand Down
2 changes: 1 addition & 1 deletion templates/default/mysql-server-start.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ rm -f /tmp/mysql.sock.lock
export MYSQL_HOME=<%= node['ndb']['root_dir'] %>

if [ $SKIP_WAIT -ne 1 ] ; then
<%= node['mysql']['base_dir'] %>/bin/ndb_waiter -c <%= node['ndb']['connectstring'] %> --timeout=<%= node['ndb']['wait_startup'] %> 2>&1 > /dev/null
<%= node['mysql']['base_dir'] %>/bin/ndb_waiter -c ${MGM_CONN_STRING} --timeout=<%= node['ndb']['wait_startup'] %> 2>&1 > /dev/null
fi

<% if #{node['ndb']['use_systemd']} == "true" then -%>
Expand Down
3 changes: 1 addition & 2 deletions templates/default/mysql-server-stop.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ fi

MYSQL_SOCKET=$(<%= node['ndb']['base_dir'] %>/scripts/get-mysql-socket.sh)
wait_pid_removed=10
ID=<%= @node_id %>
PID_FILE=<%= node['ndb']['log_dir'] %>/mysql_$ID.pid
PID_FILE=<%= node['ndb']['log_dir'] %>/mysqld.pid
<%= node['ndb']['scripts_dir'] %>/util/kill-process.sh mysqld $PID_FILE 0 $FORCE
exit $?

3 changes: 2 additions & 1 deletion templates/default/mysqld.service.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ StartLimitBurst=10

[Service]
User = <%= node['ndb']['user'] %>
PIDFile = <%= @pid_file %>
PIDFile =<%= node['ndb']['log_dir'] %>/mysqld.pid
EnvironmentFile = <%= node['ndb']['scripts_dir'] %>/mysqld_env_variables
ExecStart = <%= node['ndb']['scripts_dir'] %>/mysql-server-start.sh
ExecStop = <%= node['ndb']['scripts_dir'] %>/mysql-server-stop.sh
ExecReload = <%= node['ndb']['scripts_dir'] %>/mysql-server-restart.sh
Expand Down
2 changes: 2 additions & 0 deletions templates/default/mysqld_env_variables.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
MGM_CONN_STRING=<%= node['ndb']['connectstring'] %>
SERVICE_NAME=mysqld
3 changes: 2 additions & 1 deletion templates/default/ndb_mgmd.service.erb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ StartLimitBurst=20

[Service]
User = <%= node['ndb']['user'] %>
PIDFile = <%= "#{node['ndb']['log_dir']}" %>/ndb_<%= @node_id %>.pid
PIDFile = <%= "#{node['ndb']['log_dir']}" %>/ndb_mgmd.pid
EnvironmentFile = <%= node['ndb']['scripts_dir'] %>/mgmd_env_variables
ExecStart = <%= "#{node['ndb']['base_dir']}/scripts/mgm-server-start.sh" %>
ExecStop = <%= "#{node['ndb']['base_dir']}/scripts/mgm-server-stop.sh" %>
ExecReload = <%= "#{node['ndb']['base_dir']}/scripts/mgm-server-restart.sh" %>
Expand Down
1 change: 1 addition & 0 deletions templates/default/ndbd-init.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ while [ $# -gt 0 ]; do
shift
done

SERVICE_ARG="--service-name ${SERVICE_NAME:-ndbmtd}"

echo "Initializing Data Node <%= @node_id %>."
echo ""
Expand Down
12 changes: 8 additions & 4 deletions templates/default/ndbd-start.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,16 @@ if [ "X$USERID" != "X<%= node['ndb']['user'] %>" ]; then
exit -3
fi

if [ "${NDBD_INITIAL_RESTART}" = "true" ]; then
INIT_ARG=
if [ "${NDBD_INITIAL_RESTART}" = "true" ] || [ -n "${INITIAL_START}" ]; then
INIT_ARG=--initial
sed -i 's/^NDBD_INITIAL_RESTART=.*$/NDBD_INITIAL_RESTART=false/g' <%= node['ndb']['scripts_dir'] %>/ndbd_env_variables
sed -i 's/^INITIAL_START=.*$/INITIAL_START=/g' <%= node['ndb']['scripts_dir'] %>/ndbd_env_variables
fi

MGM_CONN=<%= node['ndb']['connectstring'] %>
SERVICE_ARG="--service-name ${SERVICE_NAME:-ndbmtd}"

MGM_CONN=${MGM_CONN_STRING}

# comma separated list of node-ids of nodes not to wait for when starting this ndbmtd
NOWAIT_NODES_LIST=
Expand Down Expand Up @@ -45,8 +49,8 @@ done

echo "Starting Data Node <%= @node_id %>."
# --connect-retries == -1 implies that the ndbd keeps trying forever to connect to the ndb_mgmd
#su <%= node['ndb']['user'] %> -c "<%= node['mysql']['base_dir'] %>/bin/ndbmtd -c $MGM_CONN --ndb-nodeid=<%= @node_id %> --connect-retries=-1 --connect-delay=10"
<%= node['mysql']['base_dir'] %>/bin/ndbmtd -c "$MGM_CONN" --ndb-nodeid=<%= @node_id %> --connect-retries=-1 --connect-delay=10 $INIT_ARG $NOWAIT_NODES_LIST
#su <%= node['ndb']['user'] %> -c "<%= node['mysql']['base_dir'] %>/bin/ndbmtd -c $MGM_CONN --ndb-nodeid=${NDB_NDBD_NODE_ID} --connect-retries=-1 --connect-delay=10 ${SERVICE_ARG}"
<%= node['mysql']['base_dir'] %>/bin/ndbmtd -c "$MGM_CONN" --ndb-nodeid=${NDB_NDBD_NODE_ID} --connect-retries=-1 --connect-delay=10 $INIT_ARG $NOWAIT_NODES_LIST ${SERVICE_ARG}

RES=$(echo $?)
exit $RES
3 changes: 1 addition & 2 deletions templates/default/ndbd-stop.sh.erb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ if [ $# -gt 0 ] ;then
fi
fi

ID=<%= @node_id %>
PID_FILE=<%= "#{node['ndb']['log_dir']}/ndb_${ID}.pid" %>
PID_FILE=<%= "#{node['ndb']['log_dir']}/ndbmtd.pid" %>
<%= node['ndb']['scripts_dir'] %>/util/kill-process.sh ndbmtd $PID_FILE 1 $FORCE
exit $?
7 changes: 7 additions & 0 deletions templates/default/ndbd_env_variables.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
NDBD_INITIAL_RESTART=false

MGM_CONN_STRING=<%= node['ndb']['connectstring'] %>
NDB_NDBD_NODE_ID=<%= @node_id %>

INITIAL_START=
SERVICE_NAME=ndbmtd
2 changes: 1 addition & 1 deletion templates/default/ndbmtd.service.erb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ StartLimitBurst=10
[Service]
User = <%= node['ndb']['user'] %>
Nice = -20
PIDFile = <%= "#{node['ndb']['log_dir']}" %>/ndb_<%= @node_id %>.pid
PIDFile = <%= "#{node['ndb']['log_dir']}" %>/ndbmtd.pid
EnvironmentFile = <%= node['ndb']['scripts_dir'] %>/ndbd_env_variables
ExecStart = <%= "#{node['ndb']['base_dir']}/scripts/ndbd-start.sh" %>
ExecStop = <%= "#{node['ndb']['base_dir']}/scripts/ndbd-stop.sh" %>
Expand Down