diff --git a/roles/karaage3.1.17/templates/kg_init.j2 b/roles/karaage3.1.17/templates/kg_init.j2
index 5d4cdd330f45680ccf66d78e602a80841d00dcee..110f3b7f667b1a9321d1b1f33e94520c6fc822cc 100755
--- a/roles/karaage3.1.17/templates/kg_init.j2
+++ b/roles/karaage3.1.17/templates/kg_init.j2
@@ -154,7 +154,6 @@ class HpcIdInit():
             institute = Institute.objects.get(name = user["institute_name"])
             if institute:
                 person = Person.objects.create(username = user["username"], email = user["email"], password = self.password, short_name = user["short_name"], full_name = user["full_name"], is_admin = True, is_active = True, institute = institute)    
-                person.full_clean()
                 if person:
                     person.set_password(self.password)
                     person.save()
@@ -163,6 +162,7 @@ class HpcIdInit():
                         log("Add super user %s to institute %s delegate" %(person.username, institute.name))
                     else:
                         log("Faired to add super user %s to institute %s delegate" %(person.username, institute.name))
+                    person.full_clean()
         except:
             log("Create super user exception: %s" %(traceback.format_exc()))
         finally:
@@ -194,7 +194,7 @@ class HpcIdInit():
         if self.mc:
             mc = self.getOrCreateMachineCategory(self.mc)
             if mc:
-                self.log("Get machine category = '%s'" %(mc.name))
+                self.log("Get machine category = '%s'" %(self.mc))
             else:    
                 self.log("Failed to get machine category = '%s'" %(self.mc))
         if su:
diff --git a/roles/slurm-common/tasks/installSlurmFromSource.yml b/roles/slurm-common/tasks/installSlurmFromSource.yml
index 95d5fc9234239d36f5d4330668cda5c0ff512428..3a3d2f2a3633cdea76a69fa62b16b0731cf104a7 100644
--- a/roles/slurm-common/tasks/installSlurmFromSource.yml
+++ b/roles/slurm-common/tasks/installSlurmFromSource.yml
@@ -32,3 +32,8 @@
   args:
     chdir: /tmp/slurm-{{ slurm_version }}
     creates: "{{ slurm_dir }}/bin/srun"
+
+- name: add slurm log rotate config
+  template: src=slurmlog.j2 dest=/etc/logrotate.d/slurm mode=644
+  sudo: true
+
diff --git a/roles/slurm-common/templates/nhclog.j2 b/roles/slurm-common/templates/nhclog.j2
index edba9b8564ed6dbc1d51ff3eb93edf6bceaed860..27dcbcea3f9164b263396f64fbf4842198000eb3 100644
--- a/roles/slurm-common/templates/nhclog.j2
+++ b/roles/slurm-common/templates/nhclog.j2
@@ -4,6 +4,7 @@
    missingok
    notifempty
    weekly
-   size 200k
+   compress 
+   size 800k
 }
 
diff --git a/roles/slurm-common/templates/slurmlog.j2 b/roles/slurm-common/templates/slurmlog.j2
new file mode 100644
index 0000000000000000000000000000000000000000..1653dd78af8400a396d44ee0e8c4dcfa2b2c283d
--- /dev/null
+++ b/roles/slurm-common/templates/slurmlog.j2
@@ -0,0 +1,29 @@
+{{ slurmddebug.log }}/slurm*.log
+{
+ compress
+ missingok 
+ nocopytruncate 
+ nocreate 
+ nodelaycompress 
+ nomail  
+ notifempty 
+ noolddir 
+ rotate 5 
+ sharedscripts 
+ size=5M 
+ create 640 slurm root 
+{% if slurmctrl == inventory_hostname %}
+{% if ansible_os_family == 'RedHat' and ansible_distribution_version >= 7 %}
+  systemctl restart slurmdbd
+{% else %}
+ postrotate /etc/init.d/slurmdbd reconfig 
+{% endif %}
+{% endif %}
+{% if ansible_os_family == 'RedHat' and ansible_distribution_version >= 7 %}
+  systemctl restart slurmd
+{% else %}
+ postrotate /etc/init.d/slurm reconfig 
+{% endif %}
+ endscript
+}
+