Skip to content

Installation process

Stefan Mortensen edited this page Oct 24, 2013 · 35 revisions

The Atomia installation process is largely dependent on Puppet for deployment and configuration, it is recommended that before installation you at least have some basic knowledge about how Puppet works.

Install and configure the Puppet Master

The Puppet master is the central management place where all configuration is made. All servers are connected to the master through Puppet client.

Connect to the Puppet master virtual machine and run the following commands to install the latest version (3+) of Puppet.

wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
sudo dpkg -i puppetlabs-release-precise.deb
sudo apt-get update
apt-get install puppetmaster 
cd 

Clone the installation repository to a suitable place and make symlinks to the puppet directory

git clone https://github.com/atomia/installation.git
cd installation/Puppet
rmdir /etc/puppet/modules
rmdir /etc/puppet/manifests
ln -s `pwd`/modules /etc/puppet/
ln -s `pwd`/manifests /etc/puppet/

In order for Puppet to configure the environment it needs some knowledge from you. All variables are saved in the file /etc/puppet/manifests/variables.pp.

First generate a set of random passwords for the environment. There is a script available for this which can be ran with the following command.

ruby /etc/puppet/manifests/generate_passwords
mv  /etc/puppet/manifests/variables.pp.new  /etc/puppet/manifests/variables.pp

You can now fill in the variables save the certificates.

Generate certificates

Generate atomia certificate used for atomia staff to access the servers. ssh-keygen -t rsa Save the private key and add the public key to variables.pp $atomia_public_key

Generate certificates for the environment by running the following command

ruby /etc/puppet/modules/atomia_windows_base/files/tools/create_certificates.rb

You will need to add the thumb prints to the variables.pp file, there is a helper script that will print these out for you at

/etc/puppet/manifests/get_cert_fingerprint

Connect Windows servers to puppet master

This should be done for all windows servers that you want to be managed by puppet, currently this mean all servers expect mssql databases and IIS cluster nodes which are installed manually.

Download the latest version of puppet available at https://downloads.puppetlabs.com/windows/ and install, be sure to type the correct hostname of the puppetmaster as the server name.

Run puppet agent, you will find it on the start menu under puppet -> run puppet agent.

Approve the certificate on the puppet master

puppet cert list
puppet cert sign <certname>

On the puppet master copy the domain controller template manifest

cp /etc/puppet/manifests/node_templates/domain_controllers.pp /etc/puppet/manifests/nodes/

The servers are now ready to be installed

Install Domain controllers

Install master server

PLEASE INSTALL DOMAIN CONTROLLERS MANUALLY THERE ARE PROBLEMS WITH PUPPET MODULES Edit /etc/puppet/manifests/nodes/domain_controllers.pp and assign the hostname of your domain controller to the master role.

Run puppet agent on the domain controller server. It will reboot when done and you can login with the domain admin, credentials will be the same as the local administrator. Install replica server Edit /etc/puppet/manifests/nodes/domain_controllers.pp and assign the hostname of your domain controller to the replica role. Make sure that the dns server of the machine is pointing to the domain controller.

Run puppet agent on the domain controller replica. It will reboot when done.

Install Atomia database servers

Installing the master server

Installation of the Atomia Database server is currently done manually. First download the installation media from Microsoft:

http://care.dlservice.microsoft.com/download/D/8/0/D808E432-5AC6-4DA5-A087-21947AC4AC5F/1033/SQLFULL_x64_ENU.exe Run the installer and follow the instructions.

New installation Specify a free edition -> Evaluation (or enter product key if you have one) Feature selection Sql Server Replication Full-Text Search Management Tools - Complete If you want data on a separate disk make sure to specify data directory

When done install test data with the file http://git.atomia.com/?p=SkyManager.git;a=blob;f=BootstrapSetup/PrepareBootstrap/Modules/billing.sql;h=d6dff6dc50c98afe6ed6cffd94037b6b0ee419a4;hb=HEAD

Set up Mirror server

Mirroring can not be set up until all databases are created so you should perform this task at the end of the installation process or at least when all Atomia databases are created.

Base Installation of all Windows Application Servers

Add apppooluser, PosixGuest and WindowsGuest to Active directory with passwords as set in variables.pp

Install Atomia applications

Make sure dns points to the domain controllers.

On PuppetMaster:

cp /etc/puppet/manifests/node_templates/atomia_identity.pp /etc/puppet/manifests/nodes/
cp /etc/puppet/manifests/node_templates/windows_base.pp /etc/puppet/manifests/nodes/
service puppetmaster restart
vim /etc/puppet/manifests/nodes/atomia_identity.pp

Add hostname of identity server as node name

Run puppet agent on the windows machines, it will restart after first run to join AD after restart run Puppet agent once more and make sure it finish all tasks (if not run it until no red tasks remains). Please note that the first puppet run can take up to 10 minutes.

When puppet is done with the setup you will have an icon for Atomia Installer on the desktop, run it and install the latest version of the applications that you want placed on the node.

A suggested separation is.

  • Actiontrail & Identity
  • Admin panel & Api’s
  • Automation Server
  • HCP, BCP & Order page

This setup can of course be modified to fit your needs, just make sure that the application hostnames resolves to the correct ip address.

You should however install the applications in this order:

  • ActionTrail
  • Identity
  • BillingAPI
  • Automation Server
  • Cloud Hosting Pack
  • Automation Server Client
  • Admin Panel
  • HCP
  • BCP
  • Public Order Page

Import certificates

On all servers running Atomia Applications perform the following steps.

  • Start mmc
  • Add SSL snap-in for local computer
  • Remove all Atomia certs from Personal folder
  • Remove Atomia root cert from Trusted root certificate authorities
  • Start powershell and run “Set-ExecutionPolicy RemoteSigned”
  • From PowerShell run c:\install\installcert.ps1 (just press enter when it asks for passwords)
  • In MMC add guicert and stssigning cert to Trusted People, certs are found in c:\install\certificates

Troubleshooting

Application won’t load at all. Try to run aspnet_regiis.exe -i and or servicemodalreg.exe -i

Base installation of Linux servers

Before proceeding make sure that the following steps are completed for all Linux nodes:

  • Valid hostname (should be resolvable)
  • Server should have internet access
  • Server should be able to get packages from Atomia apt server (add FW exception)
  • Server should be able to contact the puppet master (ping)

When all pre-requirements are fulfilled the following commands need to be run on each server to hook it up to the puppet master.

wget http://installer.atomia.com/InstallScripts/bootstrap_linux.sh && chmod +x bootstrap_linux.sh
./bootstrap_linux.sh <puppetmaster>
rm boostrap_linux.sh

Deploy Linux servers Atomia DNS Name servers Domainreg Daggre

Clone this wiki locally