All / Any

Stackato 3.4 Python-buildpack Update


How can I update my Stackato Python Build-pack on my Stackato 3.4 VM?


In order to update the python build-pack on your Stackato 3.4 VM, follow the steps mentioned below:

1. Login to the Stackato 3.4 as an admin, to update the installed admin python-buildpack; ssh stackato@

2. Execute the below command

3. unzip

4. cd stackato-buildpack-python-2.90.1

5. zip -rom9 *

6. stackato update-buildpack --zip python

7. cd ..

8. rm

Note: Please do a stackato target and stackato login as an admin before running stackato update-buildpack command on the Stackato 3.4 node.

Contents of Batch Patch-30092014 - 3.4.1


What fixes were included in the 3.4.1 batch patch-30092014?


This patch fixes the following issues, which are primarily internal:

- Removing noise from the fence logs
- Removing unnecessary fence tracebacks when obtaining memory and cpu usage
- Periodically removing rogue/orphaned Docker containers

Contents of Batch Patch-23092014-1 and Batch Patch-24092014-2 - 3.4.1


What fixes were included in 3.4.1 batch patch-23092014-1, and patch-24092014-2?


These patches fix the following issues:

- API performance enhancements
- Bug deploying apps
- Bug deleting deployed apps
- Option for LDAP users to be assigned to dynamically generated space following their username. Users will be placed within personal organization and space with a configurable quota

- Typo `kato report --cluster`
- Bug OEM white label console customizations
- Bug deleting users from orgs
- Bug viewing applications

Ubuntu Security Updates


How do I apply Ubuntu security updates to my Stackato cluster?


Ubuntu Security Updates

Both the Stackato VM and the Docker base image used for application containers run Ubuntu. To maintain an up-to-date system with all known security patches in place, the VM and Docker base images should be updated with the following process whenever an important security update becomes available in the Ubuntu repositories.

Upgrade the Stackato VM

Run the following commands on all cluster nodes, one node at a time:

sudo apt-get update
sudo unattended-upgrades -d

If you are using a proxy you may need to export http_proxy and https_proxy environment variables. For example:

sudo sh -c "http_proxy= https_proxy= unattended-upgrades -d"

This will run the unattended-upgrades script to install all upgrades from the "-security" stream.

Each node should be rebooted after unattended-upgrades completes to ensure new kernels, modules, and libraries are loaded.

2.10 - Patch the LXC Container Template

Follow the process laid out in this previous FAQ:

3.X - Upgrade the Docker image

The base Docker image used for application containers should also be upgraded once the VM is up-to-date. Perform the following steps on each DEA node in the cluster, one node at a time:

Create a new working directory:

mkdir ~/upgrade-alsek && cd $_

Create a Dockerfile. In this new directory, create a file called "Dockerfile" and add the following:

FROM stackato/stack-alsek
RUN apt-get update
RUN unattended-upgrades -d
RUN apt-get clean && apt-get autoremove

Build the docker image. Give the image a tag relevant to this particular upgrade (e.g. "upgrade-2014-09-19"):

sudo docker build -rm -t stackato/stack-alsek:upgrade-2014-09-19 .

The "." at the end is important. It specifies to use the Dockerfile in the current directory.

Tag the Docker image as the "latest" stack-alsek image:

sudo docker tag stackato/stack-alsek:upgrade-2014-09-19 stackato/stack-alsek:latest

All running applications will need to be restarted by their owners or Stackato admins (using the management console or the stackato client) in order for security upgrades to take effect within their application containers. You can check which image running apps are using by running docker ps on your DEAs (but do not use docker restart).

If you have DEA autoscaling enabled, be sure to also update the DEA template

For more information, see the Stackato documentation:

Contents of Batch Patch-18092014 - 3.4.1


What fixes were included in the 3.4.1 batch patch-18092014?


This patch fixes the following issues:

- Fix memory reporting from the stackato client. This impacts the "stackato stats" command on the client.
- Fix application to application communication in Stackato. Some applications could not communicate to other apps on the same cluster via port 80 or 443.
- Allows NFS to be mounted to application containers. Note that the application containers must be privileged.

Contents of Batch Patch-05082014 - 3.4.1


What fixes were included in the 3.4.1 batch patch-05082014?


This patch included the following fixes:

-Fixed the way we read the autoscaling.yml file (/s/etc/autoscaling/autoscaling.yml) to allow us to properly set the security group(s) for autoscaled DEAs in EC2.
-Fixed cloud controller to properly allow deletion of applications for which the controller database has services which don't exist. The controller will now properly delete these applications rather than throwing an error.

Stackato 3.4 Patch: external-postgres-9.3


What's in patch external-postgres-9.3?


external-postgres-9.3 allows the PostgreSQL data service to be compatible with an external PostgreSQL 9.3 instance. It was previously only compatible with PostgreSQL 9.1. This patch will restart PostgreSQL data service.

For more information on setting up an external data source, please see the Stackato documentation:

Geolocate IPv6 with Python

The Python library is supporting both IPv4 and IPv6 addresses. Users can get the library to process geolocation stuff.

Sample codes:

import IP2Location;

rec = IP2LocObj.get_all("");

print rec.country_short
print rec.country_long
print rec.region
print rec.isp
print rec.latitude
print rec.longitude
print rec.domain
print rec.zipcode

Perl Module for getting user's geolocation via IPv6

Just a reference for those who are looking for geocoding with IPv6 using perl module.

use Geo::IP2Location;

my $countryshort = $obj->get_country_short("");
my $countrylong = $obj->get_country_long("");
my $region = $obj->get_region("");
my $city = $obj->get_city("");
my $latitude = $obj->get_latitude("");