Search This Blog

Friday, December 13, 2024

Error 'Unable to connect to server' is displayed when you run a task that prompts for server restart

 

Problem

On Windows system, when you select a task that requires a server restart in Administration Services UI, and run that task, the task executes and the message 'Restarting DASH server. This might take a few minutes' is displayed. However, when you refresh Administration Services UI, the message 'Unable to connect to server' is displayed. The logs contain the following error messages: [3/14/13 11:30:15:404 IST] 00000001 TCPPort E TCPC0003E: TCP Channel TCP_2 initialization failed. The socket bind failed for host * and port 16310. The port may already be in use. [3/14/13 11:30:15:405 IST] 00000001 WSChannelFram E CHFW0034W: The Transport Channel Service detected transport chain HttpQueueInboundDefault failed. The service will retry to start chain HttpQueueInboundDefault every 5000 milliseconds for up to 60 attempts. [3/14/13 11:30:17:422 IST] 00000001 TCPPort E TCPC0003E: TCP Channel TCP_4 initialization failed. The socket bind failed for host * and port 16311. The port may already be in use. [3/14/13 11:30:17:423 IST] 00000001 WSChannelFram E CHFW0034W: The Transport Channel Service detected transport chain HttpQueueInboundDefaultSecure failed. The service will retry to start chain HttpQueueInboundDefaultSecure every 5000 milliseconds for up to 60 attempts. [3/14/13 11:30:19:436 IST] 00000001 TCPPort E TCPC0003E: TCP Channel TCP_3 initialization failed. The socket bind failed for host * and port 16316. The port may already be in use. [3/14/13 11:30:19:437 IST] 00000001 WSChannelFram E CHFW0034W: The Transport Channel Service detected transport chain WCInboundAdminSecure failed. The service will retry to start chain WCInboundAdminSecure every 5000 milliseconds for up to 60 attempts. [3/14/13 11:30:22:447 IST] 00000001 TCPPort E TCPC0003E: TCP Channel TCP_4 initialization failed. The socket bind failed for host * and port 16311. The port may already be in use. [3/14/13 11:30:22:448 IST] 00000001 WSChannelFram E CHFW0034W: The Transport Channel Service detected transport chain WCInboundDefaultSecure failed. The service will retry to start chain WCInboundDefaultSecure every 5000 milliseconds for up to 60 attempts. [3/14/13 11:30:25:496 IST] 00000001 TCPPort E TCPC0003E: TCP Channel TCP_1 initialization failed. The socket bind failed for host * and port 16315. The port may already be in use. [3/14/13 11:30:25:496 IST] 00000001 WSChannelFram E CHFW0034W: The Transport Channel Service detected transport chain SOAPAcceptorChain1 failed. The service will retry to start chain SOAPAcceptorChain1 every 5000 milliseconds for up to 60 attempts. [3/14/13 11:30:28:504 IST] 00000001 TCPPort E TCPC0003E: TCP Channel TCP_4 initialization failed. The socket bind failed for host * and port 16311. The port may already be in use. [3/14/13 11:30:28:505 IST] 00000001 WSChannelFram E CHFW0034W: The Transport Channel Service detected transport chain SOAPAcceptorChain2 failed. The service will retry to start chain SOAPAcceptorChain2 every 5000 milliseconds for up to 60 attempts.


Resolving The Problem

To set this property for WebSphere Application Server:

1. Open the file setupCmdLine.bat in the <WAS_HOME>/bin/ directory.

2. Add the following line to the file:

SET IBM_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

3. Save the file and restart the application server.

This ensures that IPv4 is used for communication.


Reference Link : https://www.ibm.com/support/pages/error-unable-connect-server-displayed-when-you-run-task-prompts-server-restart

Fix list for IBM WebSphere Application Server Liberty

 New fix pack numbering was introduced starting 16.0.0.2. Fix pack 16.0.0.2 for WebSphere Application Server Liberty is the first of a series of common Liberty levels that apply to both Version 8.5 and Version 9.0 of WebSphere Application Server on all supported platforms.


Reference Link : 

https://www.ibm.com/support/pages/node/715557#24007


Friday, November 1, 2024

OpenShift commands

You can check the OC by running the instructions listed below. 


#login with admin user

oc login https://<master-server>:8443 -u admin -p redhat

 

#login as developer user

oc login https://<master-server>:8443 -u developer -p developer

 

#Logged in username

oc whoami 


#Create a new app from a GitHub Repository

oc new-app https://github.com/chetantiwary/example-app

 

#New app from a different branch

oc new-app --name=web nginx:1.10~https://github.com/chetantiwaryxxxx#mybranch

 

#Create objects from a file:

oc create -f anyobject.yaml -n <project>

Eg. oc create -f service.yaml -n operation

 

#Delete objects contained in a file:

oc delete -f anyobject.yaml -n <project>

 

#Create or merge objects from file

oc apply -f anyobject.yaml -n <project>



#Monitor Pod status

watch oc get pods



#Gather information of a pod deployment with more details

oc get pods -o wide

 

#do not show inactive Pods

oc get pods --show-all=false

 

#show all resources

oc get all

oc get pods

oc get service

oc get route

oc get secrets

oc get configmap

oc get limitranges

oc get resourcequota

oc get hpa dc/dcname

oc get pv

oc get pvc

oc get nodes

oc get ingress

oc get networkpolicy

 

#Get  Openshift Console Address

oc whoami –show-console

 

#Copy a local folder to app Pod under the folder /opt/jboss

oc cp ./file app:/opt/jboss

#Create a ConfigMap from file

oc create configmap my-config --from-file=config.properties

 

oc create secret generic my-secret --from-file=secret.key

 

#Create a ConfigMap/Secret from literals

oc create configmap my-config --from-literal=foo=bar --from-literal=app=blu

oc create secret generic my-secret --from-literal=secret.key=value

 

#Set a ConfigMap/Secret in a deployment

oc set env deployment/my-deployment --from configmap/my-config

oc set env deployment/my-deployment --from secret/my-secret

 

# Update deployment green with a new environment variable

oc set env dc/green STORAGE_DIR=/local

 

# List the environment variables defined on all pods

oc set env pods --all --list

      

# Import environment from a secret

oc set env --from=secret/mysecret dc/myapp

 

#Get Nodes list

oc get nodes

 

#Check on which Node your Pods are running

oc get pods -o wide

 

#List all pods which are running on a Node

oc adm manage-node node1.fqdn --list-pods ( fqdn = fully qualified domain name)

 

#Add a label to a Node

oc label node node1.fqdn label=value

 

#Remove a label from a Node

oc label node node1.fqdn label-

 

#create a PersistentVolumeClaim  

oc set volume dc/<dcname> --add --name=shared-storage \

-t pvc --claim-mode=ReadWriteMany --claim-size=1Gi \

--claim-name=shared-storage --claim-class=ocs-storagecluster-cephfs \

--mount-path=/opt/app-root/src/uploaded \

-n shared-storage

 

#Manual deployment 

$ oc rollout latest <dcname>

 

#Pause automatic deployment rollout

oc rollout pause dc <dcname>

 

# Resume automatic deployment rollout

oc rollout resume dc <dcname>



#Define resource requests and limits in DeploymentConfig

oc set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi

 

#Define livenessProve and readinessProve in DeploymentConfig

oc set probe dc/nginx --readiness --get-url=http://:8080/healthz --initial-delay-seconds=10

oc set probe dc/nginx --liveness --get-url=http://:8080/healthz --initial-delay-seconds=10

 

#Scale the number of Pods to 5

oc scale dc/nginx --replicas=5

 

#Define Horizontal Pod Autoscaler (hpa)

oc autoscale dc nginx --max=4 –min=2 --cpu-percent=60




#Create route with default hostname

 oc expose service <servicename>

 

# Create Route and expose it through a custom Hostname

oc expose service <servicename>  --hostname <hostname>

 

#Read the Route Host attribute

oc get route my-route -o jsonpath --template="{.spec.host}"

Or 

oc get route -n <project/namespace>

 

#Common Troubleshooting

oc delete all -l key=value

oc get all

oc describe pod <pod-name>

oc describe node <node-name>

oc get nodes -L <label>

oc label node <node-name> key=value

oc get endpoints -n <namespace/project>

oc describe node <node-name> | grep -i taint

oc get events 

oc get dc <dc-name> -o yaml

oc rollout latest hello

oc logs <hello-2-abcd>

oc expose service hello --hostname=hello.apps.lab.example.com 

oc debug pod <PODNAME>

oc edit service <service-name>

oc edit deployment <deploymentname>

oc edit ingress <ingressname>

oc edit route <routename>

oc adm cordon <nodename>  ( to mark the node unschedulable )


Reference Link : https://learn.redhat.com/t5/DO280-Red-Hat-OpenShift/OpenShift-commands-Cheat-Sheet/td-p/35371

Monday, August 5, 2024

IBM Maximo Application Suite - Manage 9.0.0: APARs fixed

 APAR and Known Issue Fixes

When an APAR or Known Issue has Manual Change in the first column, click the link or go to the Manual Change Details section for directions.
When an APAR or Known Issue has Behavior Change in the first column, click the link or go to the Behavioral Change Details section for information.
When an APAR or Known Issue has Database Change in the first column, click the link or go to the Database Change Details section for information.

IBM Maximo Operator Catalog v9 (240625)

 New IBM Operator Catalog  reference Link : 

https://ibm-mas.github.io/cli/catalogs/v9-240730-amd64/#whats-new


Wednesday, May 22, 2024

Maximo Application Suite Admin APIs 8.11.x


Set user application permissions

PUT

/workspaces/{workspaceId}/applications/{applicationId}/users/{userId}

Requires Workspace Administration permission in the target workspace. System Administration permission allows modifications to any workspace.


https://api.{mas-instance-id}.{mas-domain}/workspaces/{workspaceId}/applications/{applicationId}/users/{userId}


Reference Link : https://developer.ibm.com/apis/catalog/maximo--maximo-application-suite-admin-apis/api/API--maximo--workspace-management#setUserApplicationPermission

Friday, May 10, 2024

Modifying the size of a user field in MAS

 Question

In MAS you can verify that many of the fields of the user records are also present in Manage application, but how can we change their length?

Answer

We can change them by changing the field length in Manage application, and then running syncmetadata.sh script.

In this example we will use the PERSON.FIRSTNAME attribute from Manage, which is equivalent to the users Given Name attribute in MAS User Administration. The steps bellow represents the required changes and procedures in order to accomplish it.
   
In Manage:
  1. Go to Database Configuration Application.
  2. Change the field size in Manage and apply the changes via Database configuration application. 
Image representing the database configuration page, inside the PERSON object, indicating that the FIRSTNAME field length was changed to 60.
 
Using a database tool, run the following SQL Statement: 
update maxvars set varvalue = '1' where varname = 'METAUPG'

Go to Maxinst pod and run the following command: 
/opt/IBM/SMP/maximo/tools/maximo/syncmetadata.sh
 
After the command execution is complete, Manage and MAS databases should have their fields synchronized. 

Note: as this command is runned inside Maxinst pod, this is the only pod that need to be up.


Error 'Unable to connect to server' is displayed when you run a task that prompts for server restart

  Problem On Windows system, when you select a task that requires a server restart in Administration Services UI, and run that task, the tas...