Quantcast
Channel: A Portal to a Portal
Viewing all 1851 articles
Browse latest View live

Rational Key License Server - Some tinkering

$
0
0
In order to license my UrbanCode Deploy (UCD) box, I needed to: -

(a) generate a license key for UCD, using the Rational License Key Centre: -


(b) build/configure a Rational License Key Server (RLKS)

Without this, UCD rightly complains about being unlicensed: -


I built RLKS on a spare RHEL 7 box, as follows: -

Download

CIPQ0MLRational License Key Server 8.1.4 for Linux x86 Multilingual

Validate

ls -al /tmp/RLKS_8.1.4_FOR_LINUX_X86_ML.zip 

-rw-r--r--. 1 root root 271406147 Mar 27 14:06 /tmp/RLKS_8.1.4_FOR_LINUX_X86_ML.zip

Extract

unzip /tmp/RLKS_8.1.4_FOR_LINUX_X86_ML.zip -d /tmp

Install IIM

/tmp/RLKSSERVER_SETUP_LINUX_X86/disk1/InstallerImage_linux_gtk_x86_64/installc -acceptLicense

Installed com.ibm.cic.agent_1.6.2000.20130301_2248 to the /opt/IBM/InstallationManager/eclipse directory.

See what's available to install

/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /tmp/RLKSSERVER_SETUP_LINUX_X86/disk1/

com.ibm.rational.license.key.server.linux.x86_8.1.4000.20130823_0513

Install RLKS

/opt/IBM/InstallationManager/eclipse/tools/imcl install com.ibm.rational.license.key.server.linux.x86_8.1.4000.20130823_0513 -repositories /tmp/RLKSSERVER_SETUP_LINUX_X86/disk1/ -acceptLicense

Installed com.ibm.rational.license.key.server.linux.x86_8.1.4000.20130823_0513 to the /opt/IBM/RationalRLKS directory.

Attempt to Start

/opt/IBM/RationalRLKS/config/start_lmgrd 

Starting IBM Rational License Key Server.

Check Logs

cat /opt/IBM/RationalRLKS/logs/lmgrd.log 

/opt/IBM/RationalRLKS/config/start_lmgrd: /opt/IBM/RationalRLKS/bin/lmgrd: /lib/ld-lsb.so.3: bad ELF interpreter: No such file or directory

Check Missing Dependency

yum provides /lib/ld-lsb.so.3

Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
...
redhat-lsb-core-4.1-27.el7.i686 : LSB Core module support
Repo        : server
Matched from:
Filename    : /lib/ld-lsb.so.3


Install Missing Dependency

yum  install -y redhat-lsb-core-4.1-27.el7.i686

Installed:
  redhat-lsb-core.i686 0:4.1-27.el7                                                                                                                                                                                                                                           

Dependency Installed:
  cups-client.x86_64 1:1.6.3-29.el7     cups-libs.x86_64 1:1.6.3-29.el7     m4.x86_64 0:1.4.16-10.el7      ncurses-libs.i686 0:5.9-14.20130511.el7_4     nspr.i686 0:4.13.1-1.0.el7_3     nss.i686 0:3.28.4-15.el7_4                       nss-pem.i686 0:1.0.3-4.el7    
  nss-softokn.i686 0:3.28.3-8.el7_4     nss-util.i686 0:3.28.4-3.el7        patch.x86_64 0:2.7.1-8.el7     psmisc.x86_64 0:22.20-15.el7                  readline.i686 0:6.2-10.el7       redhat-lsb-submod-security.i686 0:4.1-27.el7     spax.x86_64 0:1.5.2-13.el7    
  sqlite.i686 0:3.7.17-8.el7           

Complete!

Removed temporary configuration


Attempt to Start

/opt/IBM/RationalRLKS/config/start_lmgrd 

Starting IBM Rational License Key Server.

Check Logs

cat /opt/IBM/RationalRLKS/logs/lmgrd.log 

14:49:58 (lmgrd) -----------------------------------------------
14:49:58 (lmgrd)   Please Note:
14:49:58 (lmgrd) 
14:49:58 (lmgrd)   This log is intended for debug purposes only.
14:49:58 (lmgrd)   In order to capture accurate license
14:49:58 (lmgrd)   usage data into an organized repository,
14:49:58 (lmgrd)   please enable report logging. Use Flexera Software, Inc.'s
14:49:58 (lmgrd)   software license administration  solution,
14:49:58 (lmgrd)   FLEXnet Manager, to  readily gain visibility
14:49:58 (lmgrd)   into license usage data and to create
14:49:58 (lmgrd)   insightful reports on critical information like
14:49:58 (lmgrd)   license availability and usage. FLEXnet Manager
14:49:58 (lmgrd)   can be fully automated to run these reports on
14:49:58 (lmgrd)   schedule and can be used to track license
14:49:58 (lmgrd)   servers and usage across a heterogeneous
14:49:58 (lmgrd)   network of servers including Windows NT, Linux
14:49:58 (lmgrd)   and UNIX. Contact Flexera Software, Inc. at
14:49:58 (lmgrd)   www.flexerasoftware.com for more details on how to
14:49:58 (lmgrd)   obtain an evaluation copy of FLEXnet Manager
14:49:58 (lmgrd)   for your enterprise.
14:49:58 (lmgrd) 
14:49:58 (lmgrd) -----------------------------------------------
14:49:58 (lmgrd) 
14:49:58 (lmgrd) 
14:49:58 (lmgrd) The license server manager (lmgrd) running as root:
14:49:58 (lmgrd) This is a potential security problem
14:49:58 (lmgrd) and is not recommended.
14:49:58 (lmgrd) license manager: can't initialize:No SERVER lines in license file.
14:49:58 (lmgrd) License Path: "/opt/IBM/RationalRLKS/config/server_license.lic"
14:49:58 (lmgrd) FLEXnet Licensing error:-13,66
14:49:58 (lmgrd) For further information, refer to the FLEXnet Licensing documentation,available at "www.flexerasoftware.com".

Update License

vi /opt/IBM/RationalRLKS/config/server_license.lic

SERVER rlks.uk.ibm.com INTERNET=192.168.153.132 27000
VENDOR ibmratl
VENDOR telelogic
VENDOR rational
INCREMENT IBMUCD_PVU ibmratl 6.01 30-jan-2019 1 ISSUED=27-Mar-2018 \
NOTICE="Sales Order Number:ARGLE BARGLE GLOOP" \
SIGN="1056 0BA6 C70C A6E3 19BA 3876 575B EC21 D41E 0895 1F53 \
CAF4 8D72 4B75 24E7"

( note that this is NOT my license ! )

Attempt to Start

/opt/IBM/RationalRLKS/config/start_lmgrd 

Starting IBM Rational License Key Server.

Check Logs

cat /opt/IBM/RationalRLKS/logs/lmgrd.log 

14:57:52 (lmgrd) -----------------------------------------------
14:57:52 (lmgrd)   Please Note:
14:57:52 (lmgrd) 
14:57:52 (lmgrd)   This log is intended for debug purposes only.
14:57:52 (lmgrd)   In order to capture accurate license
14:57:52 (lmgrd)   usage data into an organized repository,
14:57:52 (lmgrd)   please enable report logging. Use Flexera Software, Inc.'s
14:57:52 (lmgrd)   software license administration  solution,
14:57:52 (lmgrd)   FLEXnet Manager, to  readily gain visibility
14:57:52 (lmgrd)   into license usage data and to create
14:57:52 (lmgrd)   insightful reports on critical information like
14:57:52 (lmgrd)   license availability and usage. FLEXnet Manager
14:57:52 (lmgrd)   can be fully automated to run these reports on
14:57:52 (lmgrd)   schedule and can be used to track license
14:57:52 (lmgrd)   servers and usage across a heterogeneous
14:57:52 (lmgrd)   network of servers including Windows NT, Linux
14:57:52 (lmgrd)   and UNIX. Contact Flexera Software, Inc. at
14:57:52 (lmgrd)   www.flexerasoftware.com for more details on how to
14:57:52 (lmgrd)   obtain an evaluation copy of FLEXnet Manager
14:57:52 (lmgrd)   for your enterprise.
14:57:52 (lmgrd) 
14:57:52 (lmgrd) -----------------------------------------------
14:57:52 (lmgrd) 
14:57:52 (lmgrd) 
14:57:52 (lmgrd) The license server manager (lmgrd) running as root:
14:57:52 (lmgrd) This is a potential security problem
14:57:52 (lmgrd) and is not recommended.
14:57:52 (lmgrd) FLEXnet Licensing (v11.10.0.3 build 96543 i86_lsb) started on rlks.uk.ibm.com (linux) (3/27/2018)
14:57:52 (lmgrd) Copyright (c) 1988-2011 Flexera Software, Inc. All Rights Reserved.
14:57:52 (lmgrd) US Patents 5,390,297 and 5,671,412.
14:57:52 (lmgrd) World Wide Web:  http://www.flexerasoftware.com
14:57:52 (lmgrd) License file(s): /opt/IBM/RationalRLKS/config/server_license.lic /opt/IBM/RationalRLKS/config/rational_server_temp.dat /opt/IBM/RationalRLKS/config/rational_server_perm.dat
14:57:52 (lmgrd) lmgrd tcp-port 27000
14:57:52 (lmgrd) Starting vendor daemons ... 
14:57:52 (lmgrd) Started ibmratl (internet tcp_port 41793 pid 29310)
14:57:52 (lmgrd) Started telelogic (internet tcp_port 43290 pid 29311)
14:57:52 (lmgrd) Started rational (internet tcp_port 40974 pid 29312)
14:57:52 (lmgrd) license daemon: execute process failed: (/opt/IBM/RationalRLKS/bin/telelogic) -T rlks.uk.ibm.com 11.10 3 -c /opt/IBM/RationalRLKS/config/server_license.lic:/opt/IBM/RationalRLKS/config/rational_server_temp.dat:/opt/IBM/RationalRLKS/config/rational_server_perm.dat
14:57:52 (lmgrd) license daemon: system error code: No such file or directory
14:57:52 (lmgrd) telelogic exited with status 45 (Child cannot exec requested server)
14:57:52 (lmgrd) Please correct problem and restart daemons
14:57:52 (lmgrd) license daemon: execute process failed: (/opt/IBM/RationalRLKS/bin/rational) -T rlks.uk.ibm.com 11.10 3 -c /opt/IBM/RationalRLKS/config/server_license.lic:/opt/IBM/RationalRLKS/config/rational_server_temp.dat:/opt/IBM/RationalRLKS/config/rational_server_perm.dat
14:57:52 (lmgrd) license daemon: system error code: No such file or directory
14:57:52 (lmgrd) rational exited with status 45 (Child cannot exec requested server)
14:57:52 (lmgrd) Please correct problem and restart daemons
14:57:52 (ibmratl) FLEXnet Licensing version v11.10.0.3 build 96543 i86_lsb
14:57:52 (ibmratl) Server started on rlks.uk.ibm.com for:IBMUCD_PVU
14:57:52 (ibmratl) EXTERNAL FILTERS are OFF
14:57:52 (lmgrd) ibmratl using TCP-port 41793
14:57:52 (ibmratl) Serving features for the following vendor names:
 ibmratl  rational  tlog_state  telelogic  tlog_rhaps  

Validate Listener

netstat -aon|grep 27000

tcp        0      0 192.168.153.132:56492   192.168.153.132:27000   TIME_WAIT   timewait (17.99/0/0)
tcp6       0      0 :::27000                :::*                    LISTEN      off (0.00/0/0)
tcp6       0      0 ::1:27000               ::1:43888               ESTABLISHED keepalive (7166.21/0/0)
tcp6       0      0 ::1:43888               ::1:27000               ESTABLISHED off (0.00/0/0)


Test connectivity from UCD to RLKS

telnet 192.168.153.132 27000

Trying 192.168.153.132...
telnet: connect to address 192.168.153.132: No route to host

Disable firewall on RLKS box

service firewalld stop

Redirecting to /bin/systemctl stop firewalld.service

Test connectivity from UCD to RLKS

telnet 192.168.153.132 27000

Trying 192.168.153.132...
Connected to 192.168.153.132.
Escape character is '^]'.

Connection closed by foreign host.


Add RLKS information to UCD




And that's the deal :-)



Ooops, IBM BPM, JDBC and too many databases

$
0
0
Having started up a BPM 8.6 environment after a few weeks away from that particular VM, I'd ensured that I'd started the DB2 server BEFORE starting the Deployment Manager and Node Agent.

I then sought to validate the WAS -> DB2 connectivity using the Test Connection button against each of the BPM datasource.

This failed, and I saw this in the Node Agent's SystemOut.log file: -

...
[28/03/18 11:43:20:596 BST] 00000088 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/ibm/BPM/v8.5/profiles/Node01/logs/ffdc/nodeagent_c8275539_18.03.28_11.43.20.5927573313506751525980.txt com.ibm.ws.rsadapter.DSConfigHelper.getPooledConnection 568
[28/03/18 11:43:20:605 BST] 00000088 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /opt/ibm/BPM/v8.5/profiles/Node01/logs/ffdc/nodeagent_c8275539_18.03.28_11.43.20.6032512775687274080769.txt com.ibm.ws.rsadapter.DSConfigurationHelper.testConnectionToDataSource 1486
[28/03/18 11:43:20:605 BST] 00000088 DSConfigurati W   DSRA8201W: DataSource Configuration: DSRA8040I: Failed to connect to the DataSource jdbc/mashupDS.  Encountered java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection DSRA0010E: SQL State = 08006, Error Code = 17,002.
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection DSRA0010E: SQL State = 08006, Error Code = 17,002
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
Caused by: java.net.ConnectException: Connection refused
[28/03/18 11:43:20:634 BST] 00000088 DataSourceCon E   DSRA8040I: Failed to connect to the DataSource "".  Encountered java.sql.SQLException: IO Error: The Network Adapter could not establish the connection DSRA0010E: SQL State = 08006, Error Code = 17,002

I checked the datasource configuration: -



In other words, whilst this VM has DB2 installed, I'm actually using Oracle :-)

I switched to the oracle user: -

su - oracle
Password: 
Last login: Mon Feb 26 15:06:36 GMT 2018


and started the listener: -

lsnrctl start LISTENER

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 28-MAR-2018 11:45:12

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Starting /home/oracle/app/oracle/product/12.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /home/oracle/app/oracle/diag/tnslsnr/bpm86/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bpm86.uk.ibm.com)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=bpm856.uk.ibm.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                28-MAR-2018 11:45:13
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/bpm86/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=bpm86.uk.ibm.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully


and then started the database: -

sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Wed Mar 28 11:45:20 2018

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to an idle instance.

SQL>
startup

ORACLE instance started.

Total System Global Area 1593835520 bytes
Fixed Size    8621184 bytes
Variable Size  973079424 bytes
Database Buffers  603979776 bytes
Redo Buffers    8155136 bytes
Database mounted.
Database opened.


and then validated the connection ( using Telnet ): -

telnet `hostname` 1521

Trying 192.168.153.131...
Connected to bpm86.uk.ibm.com.
Escape character is '^]'.
   
^]quit

telnet>
quit

Connection closed.

Finally, I re-tested the WAS to DB ( Oracle, NOT DB2 ) connection, which correctly returned: -


Moral of the story - too many databases !

IBM X-Force Exchange

What's new in IBM Business Process Manager V8.6.0 cumulative fix 2018.03

$
0
0
IBM® Business Process Manager V8.6.0 Cumulative Fix 2018.03, which is now available for you to download and upgrade to, introduces many new features.

with a fair few changes: -

  • IBM BPM Platform Configuration
  • Modeling Enhancements in the web Process Designer
  • Developer Usability in the web Process Designer
  • Business UI
  • Process Analytics
  • ECM Integration
  • Documentation
  • IBM Process Federation Server

IBM Automation Platform for Digital Business

$
0
0

The IBM Automation Platform for Digital Business is an integrated platform of five automation capabilities that help business people drive virtually all types of automation projects at speed and scale.

You can automate repetitive human tasks, content management, process workflows, data capture and business decisions with the platform's flexible, integrated capabilities.

Tasks – Use bots to automate human tasks

Record and automate repetitive human tasks to automate mundane work, eliminate copy-and-paste and data entry errors, and free employee time to do higher-value work.

Content – Share and manage enterprise content

Provide highly secure and compliant management of most types of content, support instant access to content, connect content to digital business applications and help assure governance and compliance.  

Workflow – Design and manage end-to-end workflows

Model, automate, change, monitor, and optimize core business processes to improve consistency across tasks and processes, increase productivity, and increase straight-through processing.

Capture – Capture and extract data from content

Digitize business documents while extracting, storing and understanding important data to help reduce or eliminate manual entry and errors, increase efficiency and productivity, and automate gaining insights from unstructured data.

Decisions – Automate decisions with business rules

Capture, automate and manage business rules to encourage rapid adaptation to change, increase the consistency and auditability of decisions, and detect problem situations in real time.

IBM Streamlines Development of Cloud-native Apps with Microclimate

$
0
0
This went GA today: -


IBM is introducing this week a new development environment called Microclimate designed to simplify and speed app creation and modernization in this complex cloud world. Microclimate provides an end-to-end framework that can help you at every stage of the development process – from creating that first line of code to deploying the application in the cloud to monitoring its performance.

As the name implies, Microclimate supports development of apps using a microservices architecture. It's designed to provide a common but flexible development framework so that microservices can work together regardless of who created them. Microclimate extends and is integrated into IBM Cloud Private, a container-based platform that that enables you to design, develop, deploy and manage on-premises, containerized cloud applications behind your firewall.  You can download community editions at no charge of Microclimate at this link and Cloud Private at this link.
To tie together all these options and advance agile DevOps, Microclimate delivers these foundational capabilities:

• Containerized development: Uses lightweight Docker containers orchestrated by Kubernetes to make it easy to build and move apps between any environment. The same environment can be downloaded locally on a laptop or run on the cloud.
• Rapid iteration: Delivers fast round-tripping through edit, build, and run to enable real-time performance insights, regardless of what development phase you're in.
• Intelligent feedback: Enables you to incorporate best practices and immediate feedback to help improve an application through the IDE of your choice.
• Diagnostic services: Adds capabilities at development time to improve problem determination in production through application metrics.
• Integrated Devops pipeline: Provides a preconfigured DevOps pipeline that can be tailored to the needs of developers to help get apps to production faster.
Our goal in creating Microclimate was to streamline the development process, so you can spend more time writing code and less time trying to cobble together all the services you need to create great apps.




VMware on Ubuntu - Cloning Around

$
0
0
Following an earlier post: -

I've built a brand-new Ubuntu 16.04 VM, suitably updated, and am now cloning it to create an IBM Cloud Private 2.1.0.2 cluster.

This is what I did: -

ssh hayd@beast

vmrun clone ~/vmware/Ubuntu\ 64-bit/Ubuntu\ 64-bit.vmx ~/vmware/icpboot/icpboot.vmx full
vmrun clone ~/vmware/Ubuntu\ 64-bit/Ubuntu\ 64-bit.vmx ~/vmware/icpworker/icpworker.vmx full
vmrun clone ~/vmware/Ubuntu\ 64-bit/Ubuntu\ 64-bit.vmx ~/vmware/icpproxy/icpproxy.vmx full

vmrun start ~/vmware/icpboot/icpboot.vmx nogui
vmrun start ~/vmware/icpworker/icpworker.vmx nogui
vmrun start ~/vmware/icpproxy/icpproxy.vmx nogui

vmrun list

Total running VMs: 3
/home/hayd/vmware/icpboot/icpboot.vmx
/home/hayd/vmware/icpproxy/icpproxy.vmx
/home/hayd/vmware/icpworker/icpworker.vmx


vmrun getGuestIPAddress ~/vmware/icpboot/icpboot.vmx

172.16.32.131

vmrun getGuestIPAddress ~/vmware/icpworker/icpworker.vmx

172.16.32.132

vmrun getGuestIPAddress ~/vmware/icpproxy/icpproxy.vmx

172.16.32.133

which is nice.

For the record, Beast is my 32 GB, 8-core PC, which is about to have a personality transplant thanks to the addition of a 1 TB SSD.

So it's gonna fly …….

Perhaps I'll then add more RAM :-)

IBM HTTP Server - Diagnostics etc.

$
0
0
I found this today, whilst looking for something completely different: -

IBM HTTP Server Diagnostic Tools and Info


SSL FAQ


IBM developerWorks Connect


IHS on StackOverflow


IHS on ServerFault


For the record, I'm looking to see whether IHS ( or, to be more accurate, the IBM Global Security Toolkit - GSK ) supports Transport Layer Security (TLS) 1.3.

Watch this space ….

IBM AppConnect Enterprise - My first tinkering foray

$
0
0
Following on from this: -

IBM App Connect Enterprise V11.0 delivers an integration platform to support the needs of enterprises that need to embrace digital opportunities by using cloud technologies to build hybrid applications and data architectures


Frequently Asked Questions about IBM App Connect Enterprise


I decided to tinker with IBM AppConnect Enterprise, in the context of the "new" IBM Integration Bus (IIB)

This is what I did: -

Download

IBM App Connect Enterprise V11.0 Linux X86-64 Inc Toolkit Multilingual ( CNS2TML )

See what we've got

ls -altrc /Volumes/DaveHaySSD/Software/ACE/

total 2329576
drwxr-xr-x@ 31 davidhay  staff        1054  6 Apr 12:34 ..
drwxr-xr-x   3 davidhay  staff         102  6 Apr 12:34 .
-rw-r--r--   1 davidhay  staff  1192741234  6 Apr 12:34 ACE_V11_Lin_X86-64_Toolkit.tar.gz

Push the Bundle to the ACE server

scp /Volumes/DaveHaySSD/Software/ACE/ACE_V11_Lin_X86-64_Toolkit.tar.gz aceadmin@ace:~

aceadmin@ace's password: 
ACE_V11_Lin_X86-64_Toolkit.tar.gz                                                                                                                                       100% 1137MB  87.3MB/s   00:13    


Connect to the ACE server

ssh aceadmin@ace

Extract the Bundle

tar xvzf ~/ACE_V11_Lin_X86-64_Toolkit.tar.gz -C /tmp

tar  xvzf /tmp/EAsmbl_image/ace-11.0.0.0.tar.gz -C /opt/ibm/

Accept the License

 /opt/ibm/ace-11.0.0.0/ace accept license

International Program License Agreement

Part 1 - General Terms

BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON 
AN "ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, 
LICENSEE AGREES TO THE TERMS OF THIS AGREEMENT. IF YOU ARE 
ACCEPTING THESE TERMS ON BEHALF OF LICENSEE, YOU REPRESENT 
AND WARRANT THAT YOU HAVE FULL AUTHORITY TO BIND LICENSEE 
TO THESE TERMS. IF YOU DO NOT AGREE TO THESE TERMS,

* DO NOT DOWNLOAD, INSTALL, COPY, ACCESS, CLICK ON AN 
"ACCEPT" BUTTON, OR USE THE PROGRAM; AND

* PROMPTLY RETURN THE UNUSED MEDIA, DOCUMENTATION, AND 
PROOF OF ENTITLEMENT TO THE PARTY FROM WHOM IT WAS OBTAINED 

Press Enter to continue viewing the license agreement, or 
enter "1" to accept the agreement, "2" to decline it, "3" 
to print it, or "99" to go back to the previous screen.
1
License accepted and local registry created in '/home/wasadmin/aceconfig', to begin type: ace toolkit
 
Enter an App Connect Enterprise command. 
Details:  
 To get help type:         ace help  
  
 To see the ACE Knowledge Center use this URL:  
 https://www.ibm.com/support/knowledgecenter/SSTTDS_11.0.0  
  
 ---------------------------------------------------------------------  
  
 To see the component levels use: ace version  
  
 ---------------------------------------------------------------------  
  
 To convert the installation to use a global registry, e.g. /var/mqsi  
 As root run :                            ace make registry global  
 OR  
 if license has not previously been accepted,  
 to use a global registry and accept the license  
 As root run :                            ace make registry global accept license  
          or :                            ace make registry global accept license silently
  
 Note: an existing registry will not be overwritten but your ACE  
 installation will be directed to use it rather than a local registry  
  
  ——————————————————————————————————

Check the ACE Version

/opt/ibm/ace-11.0.0.0/ace version

Version:      '11.0.0.0'
Product:      'IBM App Connect Enterprise'
Build Number: '2072'
IE02 level:   'ie02-L20140415-1143'
IB Level:     'ib000-L180322.2072_P'
Server level: 'S000-L180321.12763'
Toolkit level:'20180321-1201'

Setup the Profile

echo "source /opt/ibm/ace-11.0.0.0/server/bin/mqsiprofile">> ~/.bashrc

Switch user - required to bring in updated profile

su - aceadmin

MQSI 11.0.0.0
/opt/ibm/ace-11.0.0.0/server

 /opt/ibm/ace-11.0.0.0/ace version

BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 
BIP9107S: Registry not found. 
The program tried to find the path to its registry. To find the registry the environment variable MQSI_REGISTRY is evaluated. This variable does not exist, is empty, or is too long. The program stops. 
Use the customized started task procedure to start the component. If you are using the generated started task procedure, check your customization for valid definitions. 

Hmmm, that's not too good :-(

Let's check the registry ….

echo $MQSI_REGISTRY

/home/aceadmin/iibconfig

Ah, hah

Let's check mqsiprofile : -

cat /opt/ibm/ace-11.0.0.0/server/bin/mqsiprofile|grep -i iib

      # default to $HOME/iibconfig
      MQSI_WORKPATH="${HOME}/iibconfig"


Hmmmmmm….

locate iibconfig

<NOTHING FOUND>

locate aceconfig

/home/aceadmin/aceconfig

Hmmmmm ….

Perhaps a sneaky hack ….

sed -i'''s/iibconfig/aceconfig/g' /opt/ibm/ace-11.0.0.0/server/bin/mqsiprofile

su - aceadmin

aceadmin@ihs's password: 
Last login: Fri Apr  6 17:23:12 2018 from 192.168.153.1

MQSI 11.0.0.0
/opt/ibm/ace-11.0.0.0/server


echo $MQSI_REGISTRY

/home/aceadmin/aceconfig

/opt/ibm/ace-11.0.0.0/ace version

Version:      '11.0.0.0'
Product:      'IBM App Connect Enterprise'
Build Number: '2072'
IE02 level:   'ie02-L20140415-1143'
IB Level:     'ib000-L180322.2072_P'
Server level: 'S000-L180321.12763'
Toolkit level:'20180321-1201'


So, apart from that one glitch, where mqsiprofile still references iibconfig rather than aceconfig that was all rather spiffing.


VMware Workstation on Ubuntu 17.10

$
0
0
I'm setting up a new installation of Ubuntu, on the same Beast ( quad core, 32 GB RAM ) now that I've added a Samsung EVO 850 SSD ( a whole 1 TB of storage-y goodness ).

Having built a USB key for the Ubuntu VM ( more about which in another post ), I booted Beast from said USB key ( it took a spot of trial & error using the F8 key ) before I found the right magic invocation ), and installed Ubuntu without any issues.

My, does Beast fly - the SSD is as fast as light ….

I then went through the process to install VMware Workstation 14.

That wasn't quite so smooth.

The first thing the installer asked was for me to install GCC in order that it could compile the requisite kernel modules: -

sudo apt-get install -y gcc

I then struggled to get past that, with this: -


and then this: -


Thankfully this: -


provided the answer: -

touch ~/.Xauthority
chmod 600 ~/.Xauthority

which did the job.

Now to speed merrily away ….

Ooops, broken Ubuntu almost immediately

$
0
0
As per my previous post: -


having added my shiny new Samsung 850 EVO SSD, and got things working nicely, I (perhaps foolishly) deleted the content of the original 3 TB spinning disk ( aka spinning rust ), and rebooted.

Immediately, Ubuntu FAILED to boot, most logically because I'd not actually installed a boot sector on the SSD.

Thankfully, this came to my rescue : -


I was able to boot Beast from the USB drive ( which I'd previously used to install Ubuntu ), and download / run Boot Repair: -

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

I took the "Recommended Repair" option, gave it a couple of minutes, and c'est voila.

After a nifty reboot, Ubuntu is nicely booting from the SSD, which is FAST

Did I mention it's fast ? Really really really fast :-)

Tinkering with Swap space on Ubuntu 17.10

$
0
0
VMware Workstation made me do it :-)

Seriously, VMware was suggesting that I double my swap from 2 GB to 4 GB, so this is what I did: -

Report what's there

sudo swapon -s

FilenameTypeSizeUsedPriority
/swapfile                              file    20971480-1


Turn the swap file off

sudo swapoff /swapfile 

Increase the space allocated to the swapfile

sudo fallocate -l 4G /swapfile

Initialise the swapfile

sudo mkswap /swapfile

mkswap: /swapfile: warning: wiping old swap signature.
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=9472dbc9-7575-491f-b00f-23c4ca30f22b


Turn the swap file on

sudo swapon /swapfile

Report what's there

sudo swapon -s

FilenameTypeSizeUsedPriority
/swapfile                               file            4194300 0       -1

With thanks to this: -


IBM Middleware User Community (IMWUC) and WebSphere Liberty Profile (WLP) security

IBM Cloud Private - 504 Gateway Time-out

$
0
0
I was seeing this: -


when attempting to access the Admin Console of my newly-built iBM Cloud Private (ICP) 2.1.0.2 environment: -


This occurred after I started up the three VMs that comprise the ICP environment after a few days of downtime.

I kept an eye on the running Docker containers on the Boot node: -

docker ps -a|more


Apart from booting up the VMs, I didn't explicitly restart the Docker engine, as per this: -

systemctl restart kubelet docker


working on the assumption that the kubelet and docker services would autostart.

I did check that both services were running: -

systemctl -l|grep -i kubelet.service

  kubelet.serviceloaded active running   Kubelet Service

systemctl -l|grep -i docker.service

  docker.serviceloaded active running   Docker Application Container Engine

As it turns out, my patience was rewarded ….


In other words, it just started working.

In case it helps. this is also worth a look: -


which reminded me that I could've used this: -

journalctl -u kubelet -f

to see what was going on.

IBM Cloud Private - Authentication using IBM Cloud CLI - Changed

$
0
0
As ever, continuing to tinker with IBM Cloud Private (ICP), this time the most recent build ( 2.1.02 ), but using notes from my first build with an older version, back in October.

Having downloaded and installed the IBM Cloud CLI ( formerly known as the IBM Bluemix CLI ), I attempted to log into ICP, using one of two approaches: -

bx pr login -a https://icpboot.uk.ibm.com:8443 --skip-ssl-validation -c id-icp-account

-OR-

bx pr login -a https://icpboot.uk.ibm.com:8443 --skip-ssl-validation -c id-icp-account -u admin -p admin

Alas both methods failed: -

bx pr login -a https://icpboot.uk.ibm.com:8443 --skip-ssl-validation -c id-icp-account

API endpoint: https://icpboot.uk.ibm.com:8443

Username> admin

Password> 
Authenticating...
OK

FAILED
Account ID or name does not match to the existing accounts.


bx pr login -a https://icpboot.uk.ibm.com:8443 --skip-ssl-validation -c id-icp-account -u admin -p admin

API endpoint: https://icpboot.uk.ibm.com:8443
Authenticating...
OK

FAILED
Account ID or name does not match to the existing accounts.

I looked at the help text for the bx pr login command: -

bx pr login -?

Incorrect Usage: flag provided but not defined: -?

NAME:
    login - Log user in.

    USAGE:
       bx pr login [-a CLUSTER_URL] [-u USERNAME] [-p PASSWORD] 

      WARNING:   Providing your password as a command line option is not recommended.
                 Your password might be visible to others and might be recorded in your shell history.

      EXAMPLE:
        bx pr login
            To interactively provide your user name and password, omit the user name and password options.
        bx pr login -u name@example.com -p pa55woRD
            Specify your username and password as arguments.
        bx pr login -u name@example.com -p "my password"
            Use quotation marks (") around passwords that have spaces.
        bx pr login -u name@example.com -p "\"password"\"
            If your password contains quotation mark characters ("), use backslash characters (\) to escape them.

    
    PARAMETERS:
       -a value               The URL that you use to access the management console, such as https://<ip_address>:8443.
       -u value               Username
       -p value               Password
       -c value               Account ID or name
       --skip-ssl-validation  Bypass SSL validation of HTTP requests. This option is not recommended.

specifically focusing upon the -c parameter.

In my notes, I had this set to id-icp-account and I wondered whether that was part of the problem.

Taking a punt, I tried this: -

bx pr login -a https://icpboot.uk.ibm.com:8443 --skip-ssl-validation -u admin -p admin

( i.e. NOT specifying the account name )

which prompted me thusly: -

API endpoint: https://icpboot.uk.ibm.com:8443
Authenticating...
OK

Select an account:
1. mycluster Account (id-mycluster-account)
Enter a number> 1
Targeted account: mycluster Account (id-mycluster-account)


In other words, for this installation, the account name has changed from id-icp-account to id-mycluster-account.

To prove this, I logged out: -

bx pr logout

Logging out…
OK


and then tried the all-in-one command: -

bx pr login -a https://icpboot.uk.ibm.com:8443 --skip-ssl-validation -c id-mycluster-account -u admin -p admin

API endpoint: https://icpboot.uk.ibm.com:8443
Authenticating...
OK

Targeted account: mycluster Account (id-mycluster-account)


bx pr clusters

OK
Name        ID                                 State      Created                    Masters   Workers   Datacenter   
mycluster   00000000000000000000000000000001   deployed   2018-04-09T12:57:13+0000   1         2         default   


Can you say "YAY!" ?? I bet you can ….



Explore the new features in Cloud Automation Manager version 2.1.0.2

$
0
0
This was just published today: -

We are very pleased to announce the availability of IBM Cloud Automation Manager (CAM) v2.1.0.2. New releases are published every quarter. These releases provide both regular maintenance for the product and new functional content. This release features:

• A simplified experience for installing Cloud Automation Manager from Docker Store
• Enhancements to Service Composer to speed delivery of curated application services in the IBM Cloud Private service catalog
• Template Designer, a graphical drag and drop tool for building Terraform automation
• New integrations that simplify operations of application services
• Support for Google Cloud Platform & z/VM Cloud Manager Appliance
• Enhanced CAM pre-built content
Expand the sections below to find out more!

IBM Cloud Private - Tinkering with Helm Charts

$
0
0
As is probably apparent, I'm on a learning-curve with IBM Cloud Private (ICP), having installed it a number of times over the past six months.

So, whilst I'm fairly happy with the installation, whether standalone using Vagrant or multi-node using VMware, I'm still learning the actual use cases to which ICP can be put.

In the context of helping someone with a Helm Chart deployment issue, I ran through a couple of sample scenarios: -

Scenario One - Creating and deploying and testing a Helm chart that does ABSOLUTELY NOTHING

Create a Sample Helm Chart

helm create demoapp

Creating demoapp

Validate the new Helm Chart's format

helm lint --strict demoapp

==> Linting demoapp
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures


Package the Chart

helm package demoapp ; ls -l demo*.tgz

Successfully packaged chart and saved it to: /home/hayd/demoapp-0.1.0.tgz
-rw-r--r-- 1 root root 2394 Apr  9 07:51 demoapp-0.1.0.tgz


Log into ICP via the IBM Cloud CLI

bx pr login -a https://mycluster.icp:8443 --skip-ssl-validation -c id-mycluster-account -u admin -p admin

API endpoint: https://mycluster.icp:8443
Authenticating...
OK

Targeted account: mycluster Account (id-mycluster-account)


Upload the new Chart

bx pr load-helm-chart --archive demoapp-0.1.0.tgz --clustername mycluster.icp

Loading helm chart
  {"url":"https://icp-management-ingress:8443/helm-repo/charts/index.yaml"}
OK

Synch charts
  {"message":"synch started"}
OK


Sync Helm Repositories

Via UI, Manage -> Helm Repositories -> Sync Repositories -> OK

Install Helm Chart

Via UI, Catalog -> Helm Charts -> [demoapp] -> Configure

I used this as source: -


for this.

I then went one step further, using this: -


which uses a Docker image ( Busybox ) instead.

Create Helm Chart

helm create helloworld-chart

Creating helloworld-chart

Update values.yaml for the Hello World Busybox example

vi helloworld-chart/values.yaml

Replace existing image and service tags: -

image:
  repository: nginx
  tag: stable
  pullPolicy: IfNotPresent
service:
  name: nginx
  type: ClusterIP
  externalPort: 80
  internalPort: 80

with: -

image:
  repository: reyesoft/hello-world
  tag: latest
  pullPolicy: IfNotPresent
service:
  name: hello-world
  type: LoadBalancer
  externalPort: 80
  internalPort: 8005


Validate the Helm Chart

helm lint --strict helloworld-chart

==> Linting helloworld-chart
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures


Package the Chart

helm package helloworld-chart ; ls -l *.tgz

Successfully packaged chart and saved it to: /Users/davidhay/helloworld-chart-0.1.0.tgz
-rw-r--r--  1 davidhay  staff  2418  9 Apr 19:20 helloworld-chart-0.1.0.tgz


Log into ICP via the IBM Cloud CLI

bx pr login -a https://mycluster.icp:8443 --skip-ssl-validation -c id-mycluster-account -u admin -p admin

Upload the new Chart

bx pr load-helm-chart --archive helloworld-chart-0.1.0.tgz --clustername mycluster.icp

Sync Helm Repositories ( via UI, Manage -> Helm Repositories -> Sync Repositories -> OK )

Install Helm Chart ( via UI, Catalog -> Helm Charts -> demoapp -> Configure )

-I need to work out how to achieve the same via the CLI

Test Helm Chart

curl http://192.168.1.102:32302/

<h1>Hello world!</h1>

curl http://icpproxy.uk.ibm.com:32302/

<h1>Hello world!</h1>


More on the IBM Cloud Command Line - This time on macOS

$
0
0
So, when I tried to log in to my ICP 2.1.0.2 cluster from my Mac: -

bx pr login -a https://mycluster.icp:8443 --skip-ssl-validation -c id-mycluster-account -u admin -p admin

FAILED
'pr' is not a registered command. See 'bx help'.

bx help

NAME:
   bx - A command line tool to interact with IBM Cloud

USAGE:
   [environment variables] bx [global options] command [arguments...] [command options]

VERSION:
   0.6.6+d4d59ab5-2018-03-20T07:49:59+00:00

COMMANDS:
   api        Set or view target API endpoint
   login      Log user in
   logout     Log user out
   target     Set or view the targeted region, account, resource group, org or space
   info       View cloud information
   config     Write default values to the config
   update     Update CLI to the latest version
   regions    List all the regions
   account    Manage accounts, users, orgs and spaces
   catalog    Manage catalog
   resource   Manage resource groups and resources
   iam        Manage identities and access to resources
   app        Manage Cloud Foundry applications and application related domains, routes and certificates
   service    Manage Cloud Foundry services
   billing    Retrieve usage and billing information
   plugin     Manage plug-ins and plug-in repositories
   cf         Run Cloud Foundry CLI with IBM Cloud CLI context
   sl         Gen1 infrastructure Infrastructure services
   cr         Commands for interacting with IBM Bluemix Container Registry.
   cs         Plug-in for the IBM Bluemix Container Service.
   dev        A CLI plugin to create, manage, and run projects on Bluemix
   help       
   
Enter 'bx help [command]' for more information about a command.

ENVIRONMENT VARIABLES:
   BLUEMIX_COLOR=false                     Do not colorize output
   BLUEMIX_TRACE=true                      Print API request diagnostics to stdout
   BLUEMIX_TRACE=path/to/trace.log         Append API request diagnostics to a log file
   BLUEMIX_API_KEY=api_key_value           API key to use during login

GLOBAL OPTIONS:
   --version, -v                      Print the version
   --help, -h                         Show help

So I'd correctly downloaded / installed the IBM Cloud CLI: -



which gave me this: -

bx -version

bx version 0.6.6+d4d59ab5-2018-03-20T07:49:59+00:00

but I had neglected to download/install the relevant IBM Cloud Private (ICP) Plugin.

This helped: -


which directed me to the ICP admin UI itself: -



curl --insecure https://192.168.1.100:8443/api/cli/icp-darwin-amd64> /tmp/icp-darwin-amd64

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 19.5M  100 19.5M    0     0  10.4M      0  0:00:01  0:00:01 --:--:-- 10.4M


ls -al /tmp/icp*

-rw-r--r--  1 davidhay  wheel  20524704  9 Apr 19:42 /tmp/icp-darwin-amd64

bx plugin list

Listing installed plug-ins...

Plugin Name          Version   
dev                  0.1.13   
container-registry   0.1.171   
container-service    0.1.328   


bx plugin install /tmp/icp-darwin-amd64

Installing binary...
OK
Plug-in 'icp 2.1.182' was successfully installed into /Users/davidhay/.bluemix/plugins/icp. Use 'bx plugin show icp' to show its details.


bx plugin list

Listing installed plug-ins...

Plugin Name          Version   
container-registry   0.1.171   
container-service    0.1.328   
dev                  0.1.13   
icp                  2.1.182   

API endpoint: https://mycluster.icp:8443
Authenticating...
OK

Targeted account: mycluster Account (id-mycluster-account)


Nice :-)

IBM Cloud Private 2.1.0.2 - Some reading

IBM Cloud Private - More on using Helm and Kubectl to create, upload, install and use applications

$
0
0
Following my earlier post: -


here's some more about using Helm and Kubectl to drive IBM Cloud Private 2.1.0.2.

Enjoy :-)

Install and Use IBM Cloud CLI / Helm / Kube on iceboat Ubuntu box ( as root )

Download the required ICP Plugin for the IBM Cloud CLI


Resolving icpboot.uk.ibm.com (icpboot.uk.ibm.com)... 192.168.1.100
Connecting to icpboot.uk.ibm.com (icpboot.uk.ibm.com)|192.168.1.100|:8443... connected.
WARNING: cannot verify icpboot.uk.ibm.com's certificate, issued by 'CN=mycluster.icp':
  Self-signed certificate encountered.
    WARNING: certificate common name 'mycluster.icp' doesn't match requested host name 'icpboot.uk.ibm.com'.
HTTP request sent, awaiting response... 200 OK
Length: 20746952 (20M) [application/octet-stream]
Saving to: 'icp-linux-amd64'

icp-linux-amd64                                                     100%[===================================================================================================================================================================>]  19.79M  43.1MB/s    in 0.5s

2018-04-12 02:20:55 (43.1 MB/s) - 'icp-linux-amd64' saved [20746952/20746952]

Install the Plugin

bx plugin install icp-linux-amd64

Installing binary...
OK
Plug-in 'icp 2.1.182' was successfully installed into /root/.bluemix/plugins/icp. Use 'bx plugin show icp' to show its details.

Validate plugins

bx plugin list

Listing installed plug-ins...

Plugin Name   Version
icp           2.1.182

Download the required version of Helm from ICP


Resolving icpboot.uk.ibm.com (icpboot.uk.ibm.com)... 192.168.1.100
Connecting to icpboot.uk.ibm.com (icpboot.uk.ibm.com)|192.168.1.100|:8443... connected.
WARNING: cannot verify icpboot.uk.ibm.com's certificate, issued by 'CN=mycluster.icp':
  Self-signed certificate encountered.
    WARNING: certificate common name 'mycluster.icp' doesn't match requested host name 'icpboot.uk.ibm.com'.
HTTP request sent, awaiting response... 200 OK
Length: 68393980 (65M) [application/octet-stream]
Saving to: 'helm'

helm                                                                100%[=================================================================================================================================================================>]  65.22M  11.8MB/s    in 5.3s

2018-04-10 02:10:08 (12.2 MB/s) - 'helm' saved [68393980/68393980]

Validate the download

ls -al helm

-rw-r--r-- 1 root root 68393980 Mar  5 15:01 helm

Set exec permission

chmod a+x helm

Move into local path

mv ./helm /usr/local/bin/

Log into ICP via the IBM Cloud CLI

bx pr login -a https://mycluster.icp:8443 --skip-ssl-validation -c id-mycluster-account -u admin -p admin

Authenticating...
OK

Targeted account: mycluster Account (id-mycluster-account)

List Clusters

bx pr clusters

Name        ID                                 State      Created                    Masters   Workers   Datacenter
mycluster   00000000000000000000000000000001   deployed   2018-04-10T15:18:16+0000   1         2         default

Configure Cluster ( this creates necessary TLS configuration for Helm )

bx pr cluster-config mycluster

Configuring kubectl: /root/.bluemix/plugins/icp/clusters/mycluster/kube-config
Cluster "mycluster" set.
Cluster "mycluster" set.
User "mycluster-user" set.
Context "mycluster-context" created.
Context "mycluster-context" modified.
Switched to context "mycluster-context".

OK
Cluster mycluster configured successfully.

Check Helm version ( with TLS )

helm version --tls

Client: &version.Version{SemVer:"v2.7.2+icp", GitCommit:"d41a5c2da480efc555ddca57d3972bcad3351801", GitTreeState:"dirty"}
Server: &version.Version{SemVer:"v2.7.2+icp", GitCommit:"d41a5c2da480efc555ddca57d3972bcad3351801", GitTreeState:"dirty"}

Create a Sample Helm Chart

helm create demoapp

- Creates demoapp in home directory e.g. ~/demoapp

Add required values to values.yaml

vi ~/demoapp/values.yaml 

Append: -

fullnameOverride: ""
nameOverride: ""


Validate the new Helm Chart's format

helm lint --strict demoapp

==> Linting demoapp
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures

Package the Chart

helm package demoapp ; ls -l d*.tgz

Successfully packaged chart and saved it to: /home/hayd/demoapp-0.1.0.tgz
-rw-r--r-- 1 root root 2581 Apr 10 09:14 demoapp-0.1.0.tgz

Log into ICP via the IBM Cloud CLI

bx pr login -a https://mycluster.icp:8443 --skip-ssl-validation -c id-mycluster-account -u admin -p admin

Upload the new Chart

bx pr load-helm-chart --archive demoapp-0.1.0.tgz --clustername mycluster.icp

Loading helm chart
OK

Synch charts
  {"message":"synch started"}
OK

Check Helm Repo


Resolving icpboot.uk.ibm.com (icpboot.uk.ibm.com)... 192.168.1.100
Connecting to icpboot.uk.ibm.com (icpboot.uk.ibm.com)|192.168.1.100|:8443... connected.
WARNING: cannot verify icpboot.uk.ibm.com's certificate, issued by 'CN=mycluster.icp':
  Self-signed certificate encountered.
    WARNING: certificate common name 'mycluster.icp' doesn't match requested host name 'icpboot.uk.ibm.com'.
HTTP request sent, awaiting response... 200 OK
Length: 354 [application/x-yaml]
Saving to: 'index.yaml'

index.yaml                                         100%[================================================================================================================>]     354  --.-KB/s    in 0s

2018-04-10 09:29:52 (72.6 MB/s) - 'index.yaml' saved [354/354]

cat index.yaml

apiVersion: v1
entries:
  demoapp:
    -
      apiVersion: v1
      created: '2018-04-10T16:24:55.459Z'
      description: 'A Helm chart for Kubernetes'
      digest: '-1'
      name: demoapp
      urls:
      version: 0.1.0
generated: '2018-04-10T16:24:55.459Z'

Search Repo

helm search -l|grep -i demo

local/demoapp                        0.1.0        1.0                         A Helm chart for Kubernetes

Install Helm Chart

helm install --name mydemoapp demoapp --tls

NAME:   mydemoapp
LAST DEPLOYED: Thu Apr 12 02:41:09 2018
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Service
NAME       TYPE       CLUSTER-IP  EXTERNAL-IP  PORT(S)  AGE
mydemoapp  ClusterIP  10.0.0.17   <none>       80/TCP   0s

==> v1beta2/Deployment
NAME       DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
mydemoapp  1        1        1           0          0s


NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app=demoapp,release=mydemoapp" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl port-forward $POD_NAME 8080:80

List Deployed Charts

helm list --tls

 NAME     REVISIONUPDATED                 STATUS  CHART        NAMESPACE
 mydemoapp1       Thu Apr 12 02:41:09 2018DEPLOYEDdemoapp-0.1.0default

Get the Deployment Details

kubectl get deployments mydemoapp

NAME        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
mydemoapp   1         1         1            1           47m

kubectl describe deployment mydemoapp

Name:                   mydemoapp
Namespace:              default
CreationTimestamp:      Thu, 12 Apr 2018 02:41:09 -0700
Labels:                 app=demoapp
                        chart=demoapp-0.1.0
                        heritage=Tiller
                        release=mydemoapp
Annotations:            deployment.kubernetes.io/revision=1
Selector:               app=demoapp,release=mydemoapp
Replicas:               1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  app=demoapp
           release=mydemoapp
  Containers:
   demoapp:
    Image:        nginx:stable
    Port:         80/TCP
    Host Port:    0/TCP
    Liveness:     http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:    http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable
  Progressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   mydemoapp-84dcbdfbf4 (1/1 replicas created)
Events:
  Type    Reason             Age   From                   Message
  ----    ------             ----  ----                   -------
  Normal  ScalingReplicaSet  48m   deployment-controller  Scaled up replica set mydemoapp-84dcbdfbf4 to 1

Expose the Demo App via a NodePort service

kubectl expose deployment mydemoapp --type=NodePort --name=mydemoapp-service

service "mydemoapp-service" exposed

Describe the new NodePort Service

kubectl describe service mydemoapp-service

Name:                     mydemoapp-service
Namespace:                default
Labels:                   app=demoapp
                          chart=demoapp-0.1.0
                          heritage=Tiller
                          release=mydemoapp
Annotations:              <none>
Selector:                 app=demoapp,release=mydemoapp
Type:                     NodePort
IP:                       10.0.0.74
Port:                     <unset>  80/TCP
TargetPort:               80/TCP
NodePort:                 <unset>  30129/TCP
Endpoints:                10.1.28.131:80
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

Note the NodePort

Test the Service using curl ( using the ICPProxy and the exposed NodePort )


<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Test the Service using a browser


If needed, validate upon what node(s) the application is running

kubectl get pods --selector="app=demoapp" --output=wide

NAME                         READY     STATUS    RESTARTS   AGE       IP            NODE
mydemoapp-84dcbdfbf4-gvnvp   1/1       Running   0          50m       10.1.28.131   192.168.1.101

Next to use a "real" Docker example ( Hello World ) from here …


Viewing all 1851 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>