omega8cc / boa

Barracuda Octopus Aegir 5.4.0
https://omega8.cc/compare
394 stars 75 forks source link

"xboa create o1 target-ip" returns error message during a migration #766

Closed luxio closed 9 years ago

luxio commented 9 years ago

When running the command

xboa create o1 target-ip

during a migration, I get this error:

BOA [14:37:38] ==> EXIT: You must enter your valid e-mail address BOA [14:37:38] ==> EXIT: in the _MY_EMAIL and _CLIENT_EMAIL variables

If I run the command

boa in-octopus test@example.com o1 none SSD Y 8

manually on the target server, I get the same error.

Does there have to be an octopus instance on the target machine?

Here is my configuration: https://gist.github.com/luxio/5e8cb9b30f030d7f0370

omega8cc commented 9 years ago

Here is the code which may trigger this error:

      if [ -e "${_ROOT}/log/email.txt" ]; then
        _CLIENT_EMAIL=$(cat ${_ROOT}/log/email.txt 2>&1)
        _CLIENT_EMAIL=$(echo -n ${_CLIENT_EMAIL} | tr -d "\n" 2>&1)
        if [[ "${_CLIENT_EMAIL}" =~ "@" ]]; then
          _DO_NOTHING=YES
        else
          msg "EXIT: You must enter your valid e-mail address in the"
          msg "EXIT: _CLIENT_EMAIL variable written both in the"
          msg "EXIT: ${octCnf} file and in the"
          msg "EXIT: ${_ROOT}/log/email.txt file"
          msg "EXIT: Bye (1)"
          clean_pid_exit
        fi
        _CLIENT_EMAIL=${_CLIENT_EMAIL//\\\@/\@}
      fi
      if [[ "${_CLIENT_EMAIL}" =~ "omega8.cc" ]]; then
        _CHECK_HOST=$(uname -n 2>&1)
        if [ -e "/root/.auto.up.cnf" ] \
          || [ -e "/root/.host8.cnf" ] \
          || [[ "${_CHECK_HOST}" =~ ".host8." ]] \
          || [[ "${_CHECK_HOST}" =~ ".boa.io" ]] \
          || [ "${_VMFAMILY}" = "VS" ]; then
          _DO_NOTHING=YES
        else
          msg "EXIT: You must enter your valid e-mail address in the"
          msg "EXIT: _CLIENT_EMAIL variable written both in the"
          msg "EXIT: ${octCnf} file and in the"
          msg "EXIT: ${_ROOT}/log/email.txt file"
          msg "EXIT: Bye (2)"
          clean_pid_exit
        fi
      fi

As you can see, it is triggered only if there is no @ in the email address, or when it still includes omega8.cc, which means that either _CLIENT_EMAIL on the source Octopus instance is empty to invalid, or something weird happened (like unexpected hidden chars) which broke the standard find/replace logic.

However, if you experience the same problem also on boa in-octopus, please send the exact command and email used to omega8cc at gmail dot com, so we could verify this.

omega8cc commented 9 years ago

I have checked the source of your error again, and the exact procedure where this happens is:

    if [[ "${_MY_EMAIL}" =~ "omega8.cc" ]] \
      || [[ "${_CLIENT_EMAIL}" =~ "omega8.cc" ]]; then
      _CHECK_HOST=$(uname -n 2>&1)
      if [ -e "/root/.auto.up.cnf" ] \
        || [ -e "/root/.host8.cnf" ] \
        || [[ "${_CHECK_HOST}" =~ ".host8." ]] \
        || [[ "${_CHECK_HOST}" =~ ".boa.io" ]] \
        || [ "${_VMFAMILY}" = "VS" ]; then
        _DO_NOTHING=YES
      else
        msg "EXIT: You must enter **your** valid e-mail address"
        msg "EXIT: in the _MY_EMAIL **and** _CLIENT_EMAIL variables"
        clean_pid_exit
      fi
    fi

This suggests that either _CLIENT_EMAIL or _MY_EMAIL (or both) include omega8.cc. But no idea why?

luxio commented 9 years ago

Thank you. I have emailed you the command. But I get this error also with the command I have mentioned above:

boa in-octopus test@example.com o1 none SSD Y 8

omega8cc commented 9 years ago

Hi,

boa in-octopus o1 your@email none SSD Y 8

This is wrong command. Email should be listed first:

boa in-octopus your@email o3 none SSD Y 8

I have just tried it (using your real email) and it works:

quad:~# boa in-octopus your@email o3 none SSD Y 8

BOA [13:54:43] ==> Skynet Agent v.BOA-2.4.5 welcomes you aboard!

BOA [13:54:46] ==> INFO: Creating your /root/.o3.octopus.cnf config file
BOA [13:54:47] ==> New Octopus Setup on quad.tt.o8.io in progress...

    * Your e-mail address is noc@omega8.cc
    * Your client e-mail address is your@email
    * Your Aegir control panel for this instance will be available at:
        https://o3.quad.tt.o8.io
    * Your Aegir system user for this instance will be o3
    * This Octopus will use PHP-CLI 5.5 for all sites
    * This Octopus will use PHP-FPM 5.5 for all sites
    * This Octopus includes platforms: none
    * This Octopus options are listed as SSD / Y / 8 C

BOA [13:54:56] ==> INIT A: Shared platforms code v.001 will be used
BOA [13:54:56] ==> INIT A: Adding user...
BOA [13:54:59] ==> INIT B: Downloading drush mini-7-30-06-2015...
BOA [13:55:00] ==> INIT B: Installing Aegir Provision backend...
BOA [13:55:01] ==> INIT B: Downloading Drush and Provision extensions...
BOA [13:55:02] ==> INIT B: Running hostmaster-install, please wait…
luxio commented 9 years ago

Any idea, why it does not work here:

# boa in-octopus your@email o3 none SSD Y 8

BOA [16:06:07] ==> Skynet Agent v.BOA-2.4.5 welcomes you aboard!

BOA [16:06:10] ==> EXIT: You must enter **your** valid e-mail address
BOA [16:06:10] ==> EXIT: in the _MY_EMAIL **and** _CLIENT_EMAIL variables

BOA in-octopus completed
Bye
omega8cc commented 9 years ago

Please double check if you already have the dot octopus cnf file present, and delete it, so it doesn't override the email specified on command line. Of course please double check that you are trying to install an instance with unique name, and don't delete the cnf file for some existing instance!

luxio commented 9 years ago

I have used you example:

boa in-octopus your@email o3 none SSD Y 8

It is a fresh install and definitely does not have an o3 instance.

omega8cc commented 9 years ago

No idea then, I'm afraid. Please add our keys there, and send server IP, so we could take a look.

luxio commented 9 years ago

I have added your key and sent the ip to your gmail account. Thank you helping.

omega8cc commented 9 years ago

OK, we should probably better explain this. Once you install BOA for the first time, you should allow it to install the first octopus instance and not cancel the installation when it is trying to do it. Of course if you plan to migrate some other Octopus instance, use some other name to avoid namespace conflict. Furthermore, you should run barracuda upgrade after initial install. Only then everything will work as expected, I think.

Now running barracuda upgrade.

omega8cc commented 9 years ago

However, something is wrong with DNS there, and /etc/resolv.conf is not created properly. Plus, Ubuntu. We don't guarantee that it will work, since we don't test it any longer, at least not regularly. Let's see what will happen next.

omega8cc commented 9 years ago

No, it doesn't work. Please run clean and complete install again, and allow boa to install also (dummy) Octopus instance. The run barracuda upgrade. Also, please use Debian Wheezy, if possible. We can't determine what is wrong with this system at this stage, since even DNS resolver doesn't work as it should.

luxio commented 9 years ago

Thank you for your help. I appreciate it very much.

Once you install BOA for the first time, you should allow it to install the first octopus instance and not cancel the installation when it is trying to do it.

The migration doc says: "No Octopus instance is needed on the target system prior to migration." I didn't know how to install boa without any octopus instance.

Of course if you plan to migrate some other Octopus instance, use some other name to avoid namespace conflict.

This is a good idea.

But does this cause the error message when running boa in-octopus your@email o3 none SSD Y 8?

Plus, Ubuntu. We don't guarantee that it will work, since we don't test it any longer, at least not regularly.

You don't recommend running boa on Ubuntu? Do you recommend running boa on Debian instead?

omega8cc commented 9 years ago
  1. You don't need to install Octopus instance expected to be used for migrated sites, but there should be complete BOA installed, w/o interruption, so including some dummy Octopus instance.
  2. I don't know what exactly causes the problem we couldn't reproduce anywhere else, but I suppose it is related to the fact that you have tried to install only barracuda.
  3. As for Ubuntu, It is explained in the project README.txt and docs/CAVEATS.txt
luxio commented 9 years ago

I have followed your instructions:

  1. Installed a clean Debian Wheezy.
  2. Installed boa with an an octopus instance
  3. run barracuda upgrade

But I still get the same error:

# boa in-octopus your@email o3 none SSD Y 8

BOA [20:20:58] ==> Skynet Agent v.BOA-2.4.5 welcomes you aboard!

BOA [20:21:01] ==> EXIT: You must enter **your** valid e-mail address
BOA [20:21:01] ==> EXIT: in the _MY_EMAIL **and** _CLIENT_EMAIL variables

BOA in-octopus completed
Bye
omega8cc commented 9 years ago

Hmm... something must be wrong with parent system or the way the base OS is installed. This just never happens. Please add our keys there, confirm the IP address to use and we will take a look when we have a moment.

luxio commented 9 years ago

I have added you key and emailed you the ip address. Thank you for helping.

omega8cc commented 9 years ago

We will look into this now.

BTW, why do you run Bind server? It is not specified via _XTRAS_LIST, so how it got installed and running? We recommend to remove it and use pdnsd.

luxio commented 9 years ago

Thank you. I haven't installed it manually, so it was probably included in the debian setup template.

luxio commented 9 years ago

Shall I remove it now, why you are looking?

omega8cc commented 9 years ago

We will remove it. Please don't modify anything on the system while we are debugging this.

omega8cc commented 9 years ago

The not working boa in-octopus your@email o3 none SSD Y 8 is a bug. I'm surprised it worked for others. As a workaround, you need to temporarily create an empty /root/.auto.up.cnf file.

omega8cc commented 9 years ago

Or not... some other things are broken:

BOA [13:24:37] ==> INIT A: Shared platforms code v.008 will be used
BOA [13:24:37] ==> INIT A: Adding user...
BOA [13:24:44] ==> INIT B: Downloading drush mini-7-30-06-2015...
BOA [13:24:48] ==> INIT B: FATAL ERROR: _PHP_CLI_VERSION is not set correctly
BOA [13:24:48] ==> INIT B: FATAL ERROR: Aborting AegirSetupB installer NOW!
BOA [13:24:48] ==> INIT A: FATAL ERROR: AegirSetupB installer failed
BOA [13:24:48] ==> INIT A: FATAL ERROR: Aborting AegirSetupA installer NOW!
BOA [13:24:48] ==> FATAL ERROR: AegirSetupA installer failed
BOA [13:24:48] ==> FATAL ERROR: Aborting Octopus installer NOW!
luxio commented 9 years ago

The not working boa in-octopus your@email o3 none SSD Y 8 is a bug. I'm surprised it worked for others. As a workaround, you need to temporarily create an empty /root/.auto.up.cnf file.

Is this bug related to the o1 hostmaster not working (https://github.com/omega8cc/boa/issues/763) after migration (same server).

luxio commented 9 years ago
BOA [13:24:48] ==> INIT B: FATAL ERROR: _PHP_CLI_VERSION is not set correctly

Could the reason be, that boa in-octopus your@email o3 none SSD Y 8 uses PHP 5.5 as default, although only PHP 5.3 is installed?

omega8cc commented 9 years ago

It is not related to #763 and it should switch automatically to 5.3, but we never tested this with 5.3 only installed after BOA switched to 5.5 by default. It could be separate bug.

omega8cc commented 9 years ago

The bug has been fixed!

root@prod4:~# boa in-octopus omega8cc@gmail.com o4 none EDGE M 8

BOA [16:14:00] ==> Skynet Agent v.BOA-2.4.5 welcomes you aboard!

BOA [16:14:03] ==> INFO: Creating your /root/.o4.octopus.cnf config file
BOA [16:14:04] ==> New Octopus Setup on server.name in progress...

    * Your e-mail address is your@email
    * Your client e-mail address is omega8cc@gmail.com
    * Your Aegir control panel for this instance will be available at:
        https://o4.server.name
    * Your Aegir system user for this instance will be o4
    * This Octopus will use PHP-CLI 5.5 for all sites
    * This Octopus will use PHP-FPM 5.5 for all sites
    * This Octopus includes platforms: none
    * This Octopus options are listed as EDGE / M / 8 C

BOA [16:14:12] ==> INIT A: Shared platforms code v.008 will be used
BOA [16:14:12] ==> INIT A: Adding user...
BOA [16:14:19] ==> INIT B: Downloading drush mini-7-30-06-2015...
omega8cc commented 9 years ago

We had to install PHP 5.5 to isolate problems, so the fact that the install fails when only non-default PHP version is installed is a separate problem.

luxio commented 9 years ago

Thank you so much for helping. btw, I have installed boa with php-5.3 using this command:

boa in-stable public host.example.com test@example.com o1 none php-5.3

Do you think starting the migration again with php-5.5 installed will solve #763 .