Author: <span class="vcard">kenio.carvalho</span>

The disk space on my mac is too short since i start to use docker.  Using the management tools i found the file Docker.qcow2 with the size of 41,5 GB.

Searching for a solution i found the following:

” Docker For Mac uses a file called Docker.qcow2 that takes more and more disk space as time passes. Deleting images or containers does not decrease the size of this file.”

The script bellow do the job an keep your selected images.

#!/bin/bash

# Copyright 2017 Théo Chamley
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in the Software
# without restriction, including without limitation the rights to use, copy, modify, merge,
# publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
# to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or
# substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
# BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

IMAGES=$@

echo "This will remove all your current containers and images except for:"
echo ${IMAGES}
read -p "Are you sure? [yes/NO] " -n 1 -r
echo    # (optional) move to a new line
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
    exit 1
fi

TMP_DIR=$(mktemp -d)

pushd $TMP_DIR >/dev/null

open -a Docker
echo "=> Saving the specified images"
for image in ${IMAGES}; do
    echo "==> Saving ${image}"
    tar=$(echo -n ${image} | base64)
    docker save -o ${tar}.tar ${image}
    echo "==> Done."
done

echo "=> Cleaning up"
echo -n "==> Quiting Docker"
osascript -e 'quit app "Docker"'
while docker info >/dev/null 2>&1; do
    echo -n "."
    sleep 1
done;
echo ""

echo "==> Removing Docker.qcow2 file"
rm ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

echo "==> Launching Docker"
open -a Docker
echo -n "==> Waiting for Docker to start"
until docker info >/dev/null 2>&1; do
    echo -n "."
    sleep 1
done;
echo ""

echo "=> Done."

echo "=> Loading saved images"
for image in ${IMAGES}; do
    echo "==> Loading ${image}"
    tar=$(echo -n ${image} | base64)
    docker load -q -i ${tar}.tar || exit 1
    echo "==> Done."
done

popd >/dev/null
rm -r ${TMP_DIR}

 

Usage : <ScriptName>.sh <image1> <image2>

Sample : ./CleanDocker.sh websphere-liberty ibmcom/db2express-c

The original post on this link: https://blog.mrtrustor.net/post/clean-docker-for-mac/

 

Uncategorized

Last week a customer ask for a change in his Domino mail group management.

Some people with the right to change groups (with the role GroupModifier) made a change on several groups and a big problem arrives with mail routing to this groups.

The question was: How prevent Group Modifiers to modify some groups on Domino?

O only found one solution : Change the permission on the group document.

I created a simple agent and modify the group field “DocumentAccess” and put the Role ServerModifier. (Only admins has this role on Domino Directory) and also change the Group Owner to the group Administrators.

The simple agent is bellow.

FIELD DocumentAccess := “[ServerModifier]”;
SELECT @All

Domino

I used the steps bellow to run my chatbot servlet application inside of a Docker container.

1 – Download WAS Liberty Docker image:

docker pull websphere-liberty

2 – Create a Docker file with the following lines

FROM websphere-liberty
ADD ChatBot.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/
ADD server.xml /opt/ibm/wlp/usr/servers/defaultServer/
ENV LICENSE accept

ChatBot.war is my chatbot application.
To add features and configuration for your server you need to update the server.xml.
Do not forget to put host=”*” on httpEndpoint or you will not access the server from your browser.

The server.xml is listed below

<server description=”new server”>

<!– Enable features –>
<featureManager>
<feature>javaee-7.0</feature>
<feature>localConnector-1.0</feature>
<feature>distributedMap-1.0</feature>
<feature>webCache-1.0</feature>
</featureManager>
<basicRegistry id=”basic” realm=”BasicRealm”>
<!– <user name=”yourUserName” password=”” />  –>
</basicRegistry>
<!– To access this server from a remote client add a host attribute to the following element, e.g. host=”*” –>
<httpEndpoint host=”*” httpPort=”9080″ httpsPort=”9443″ id=”defaultHttpEndpoint”/>
<!– Automatically expand WAR files and EAR files –>
<applicationManager autoExpand=”true”/>
<applicationMonitor updateTrigger=”mbean”/>
<distributedMap id=”watsoncache” jndiName=”services/cache/watsoncache”>
<diskCache/>
</distributedMap>
<keyStore id=”defaultKeyStore” password=”password”/>
<basicRegistry id=”basic” realm=”BasicRealm”>
<user name=”user” password=”password”/>
</basicRegistry>
</server>

3 – execute docker built -t chatbot .
4 – execute docker run -d -p 80:9080 -p 443:9443 chatbot
5 – Open your browser and access your application using localhost.

docker watson WebSphere

Today i publish a Java Web Application to Bluemix, using eclipse tools.

I get the error bellow when access the app:

Caused by: java.net.UnknownServiceException: Unable to find acceptable protocols.
isFallback=false, modes=[ConnectionSpec(cipherSuites=[TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA], tlsVersions=[TLS_1_2, TLS_1_1, TLS_1_0], supportsTlsExtensions=true),
ConnectionSpec(cipherSuites=[TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA], tlsVersions=[TLS_1_0], supportsTlsExtensions=true), ConnectionSpec()], supported protocols=[TLSv1]

The application works on my machine (localhost) using WAS Liberty 16.0.0.3. and the app are using the latest watson java sdk.

I found several people with the same problem. It’s hard to understand why the lastest version of liberty on Bluemix has this problem with watson java sdk.

The solution is to use an old version of the build pack.

I did not find a way to pass parameters on eclipse to set the version of the liberty container.

Steps to solve this problem:

1 – Login to bluemix using the cf tool

2 – package your liberty profile : /wlp/bin/server package localhost –archive=server.zip –include=usr

3 – push the package to bluemix : cf push <application name> -p server.zip  -b liberty-for-java_v3_7-20170118-2046 -m 384M

 

Found the solution on this forum post

https://developer.ibm.com/answers/questions/363393/was-liberty-17001-does-not-work-with-watson-java-s/?sort=votes

WebSphere

To install atop on Centos you need to enable EPEL Repository

## RHEL/CentOS 7 64-Bit ##
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
# rpm -ivh epel-release-7-9.noarch.rpm

Use yum install atop to install on your server.

More information on this link http://www.tecmint.com/how-to-install-atop-to-monitor-logging-activity-of-linux-system-processes/

Linux

WebSphere Portal V8.0.x will be out of service  on April 30 2018.

Its time to plan the migration to 8.5 or 9.0

More information https://www-01.ibm.com/software/support/lifecycleapp/PLCDetail.wss?q45=T239753D93163X19

WebSphere Portal

If you have Basic or Advanced caching enabled in IBM® Web Content Manager, then Web Content Manager caches content artifacts independently of the cache settings that you configured for the Web Content Viewer portlet. To bypass the caching that is set in Web Content Manager, select the option Bypass Web Content Manager Caching.

This setting applies to content artifacts that are rendered in this Web Content Viewer portlet only.

This feature was added on CF11 for Portal/WCM

performance WebSphere Portal WWCM

IBM  today announced it is bringing new capabilities to enterprise social networks for a simpler collaboration across the workforce and employee onboarding experience. The latest version of IBM Connections also integrates with IBM Cloud Object Storage, providing companies an ability to scale their storage needs with their employee’s usage while improving storage costs.

IBM Connections 6.0 has been redesigned to surface the most useful content from the user’s network. This new feature – called Orient Me – leverages a new containerized, API-driven architecture to bring the most relevant information for the user to engage with – providing an interactive experience.

Read the full release news here

Uncategorized

Yesterday i start to setup some new servers and need to install several libraries on Centos 7

Yum is the first option and when i start a command like yum install <anylib> i got several erros and yum was locked.

See this short video and solve the problem.

Linux

Yesterday i found this tutorial on how to setup WebSphere IHS plugin with Liberty profile.

More information on Generating Plug-ins for Liberty Profile can be found here: Liberty Profile Plugin

WebSphere

One of the tuning activities is to turn on GZIP compression for HTTP requests.

This tuning can save lots of network traffic and your page will load in a short time.

Just put the lines bellow on the httpd.conf and restart the server

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

#Only the specified MIME types will be compressed.

AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE application/atomcat+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/octet-stream
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/xsl
# Ensures that images and executable binaries are not compressed
SetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png|exe)$ no-gzip dont-vary
# Ensure that proxies do not deliver the wrong content
Header append Vary User-Agent env=!dont-vary
SetEnvIf Request_URI ^/acce(.*) no-gzip dont-vary

performance portal

Last month i was nominated as IBM Champion for ICS 2017  and now  IBM Champion for Cloud 2017 for the first time.

Thank you to everyone and IBM  who nominated me. It’s an honor.

What is an IBM Champion?

“IBM Champions demonstrate both expertise in, and extraordinary support and advocacy for, IBM communities and solutions.”

Screenshot2014-12-0221.53.15

Uncategorized