inoxio / ansible-role-ispconfig3

Ansible Role - ISP Config 3
Apache License 2.0
23 stars 8 forks source link

Just seems to run and run until the system is out of memory #1

Closed ahathaway closed 4 years ago

ahathaway commented 5 years ago

I've been able to make it to the task "Start ISPConfig Installation" without issue several times. Each time, it eventually errors out, once the machine runs out of both hard and virtual memory. It seems to spawn several /usr/sbin/mysqld processes which then go into sleep state. I am trying to use localhost for mysql_master_hostname and AWS RDS instance for mysql_hostname. I have installed ISPConfig before by hand and it didn't take this long. Wondering if you have any advice on this?

MichaelKunze commented 5 years ago

Could you please provide your playbook? Make sure you cross out any passwords!

ahathaway commented 5 years ago

For sure, please also be aware that I have only added the other steps before your role as a way to troubleshoot the issue. I thought perhaps because I didn't have enough swap space, so I added that step, and then I thought perhaps I needed to update apt repos, and update installed software first. The issue occured first with just your role being used, the same as it is now. I began on AWS free tier, t2.micro, w/ 30gb SSD, and also db.t2.micro RDS instance. I have since upgraded the ec2 instance to t3.small, and 4gb swap, still just churns until out of memory error. I let it run overnight last night and was still running 8 hours later when I checked it this morning, creeping up on virtual memory, full on hard memory. I'm sure something is erroring out but I'm not sure how to see what it is.

I have "redacted" any sensitive information. Anywhere you see *-redacted was something legitimate.

Here it is:

---
- name: Converge
  hosts: hosts-redacted
  become: true
  become_user: root
  tasks:

    - name: update apt cache
      apt:
        update_cache: yes

    - name: upgrade all packages
      apt:
        name: "*"
        state: latest
        force_apt_get: true

    - name: pass vars to role for swapfile setup
      import_role:
        name: "ansible-swapfile"
      vars:
        swapfile_size: 4GB
        swapfile_swappiness: 60

    - name: Pass variables to role for ispconfig
      import_role:
        name: ansible-role-ispconfig3
      vars:
        certbot_auto_renew_user: root
        certbot_auto_renew_minute: 20
        certbot_auto_renew_hour: 5
        mail:
          admin_email: email-redacted
          admin_password: password-redacted
          base_domain: domain-redacted
          mailing_list_name: Mailman
        phpmyadmin:
          admin_password: password-redacted
        roundcube:
          admin_password: password-redacted
        ispconfig:
          language: en
          install_mode: standard
          hostname: domain-redacted
          mysql_hostname: instace-redacted.cceqss5ahxtt.us-west-2.rds.amazonaws.com
          mysql_root_user: mysql1root
          mysql_root_password: password-redacted
          mysql_database: dbispconfig
          mysql_port: 3306
          mysql_charset: utf8
          http_server: apache
          ispconfig_port: 8080
          ispconfig_use_ssl: y
          ispconfig_admin_password: password-redacted
          ssl_cert_country: US
          ssl_cert_state: state-redacted
          ssl_cert_locality: city-redacted
          ssl_cert_organisation: company-redacted
          ssl_cert_organisation_unit: "Hosting Services"
          ssl_cert_common_name: domain-redacted
          mysql_ispconfig_user: ispconfig
          mysql_ispconfig_password: password-redacted
          join_multiserver_setup: n
          mysql_master_hostname: localhost
          mysql_master_root_password: password-redacted
          mysql_master_database: dbispconfig
          configure_mail: y
          configure_jailkit: y
          configure_ftp: y
          configure_dns: y
          configure_nginx: y
          configure_apache: y
          configure_firewall: y
          install_ispconfig_web_interface: y
          do_backup: yes
          reconfigure_permissions_in_master_database: no
          reconfigure_services: yes
          create_new_ispconfig_ssl_cert: no
          reconfigure_crontab: yes
          port: 8080
        quota:
          mounts:
        certbot:
          admin_email: email-redacted
          create_standalone_stop_services: apache
          install_from_source: false
          staging: no
          certs:
            - domains:
                - domain-redacted
MichaelKunze commented 5 years ago

Can you also please post which AMI you are using on your instance? Then i can try to reproduce it!

ahathaway commented 5 years ago

ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190212.1 (ami-005bdb005fb00e791) Canonical, Ubuntu, 18.04 LTS, amd64 bionic image build on 2019-02-12

Just the standard Ubuntu ami that is offered when you make a new instance.

MichaelKunze commented 5 years ago

Thank you. I've been looking into this. No clue yet. Still looking. Meanwhile could you please check the file /var/log/ispconfig_install.log to see if you get any hints?

MichaelKunze commented 5 years ago

We did change a few smaller things, that might get you going. Please make sure you update the role before going ahead. Please also try the following playbook with a minimal example first:

---
- name: Converge
  hosts: hosts-redacted
  become: true
  become_user: root
  tasks:

    - name: update apt cache
      apt:
        update_cache: yes

    - name: upgrade all packages
      apt:
        name: "*"
        state: latest
        force_apt_get: true

    - name: Pass variables to role for ispconfig
      import_role:
        name: ansible-role-ispconfig3
      vars:
        mail_admin_email: email@your-company.com
        mail_base_domain: your-company.com
        ispconfig_hostname: ispconfig.your-company.com
        certbot_admin_email: certificate@your-company.de
        certbot_certs:
          - domains:
            - ispconfig.your-company.de
          post_hook:
            - ln -s -f /etc/letsencrypt/live/ispconfig.your-company.de/fullchain.pem /usr/local/ispconfig/interface/ssl/ispserver.crt
            - ln -s -f /etc/letsencrypt/live/ispconfig.your-company.de/privkey.pem /usr/local/ispconfig/interface/ssl/ispserver.key

If it doesn't work please post your /var/log/ispconfig_install.log.

Thanks!

MartinLesser commented 4 years ago

Closed because of inactivity.