Redis version on Cloudbees is out of date? - build

I'm setting up an OSS build in Cloudbees with /usr/sbin/redis-server being started as one of the build tasks:
+ /usr/sbin/redis-server
[204] 04 Nov 03:52:58 # Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'
[204] 04 Nov 03:52:58 * Server started, Redis version 2.0.3
The (Redis site)[http://redis.io/download] shows 2.6.2 to be the current version and 2.4.17 as "legacy". On the extended downloads page, version 2.0.3 is deprecated.
Am I launching it the wrong server executable, or are there plans to support a more recent version of Redis?

We need to upgrade the build machines so that packages like this can be upgraded. We will do so soon.

CloudBees now has the latest versions of Redis (2.6.4, 2.4.17, 2.2.12) built and available using our add-on system. This lets us offer newer versions of packages than are supported by the operating system packages.
You can find more information on this on our Redis page - https://developer.cloudbees.com/bin/view/DEV/Redis

Related

How to upgrade SQLite in AWS MWAA Airflow?

I am using yfinance library to get some values like market_cap.
Code:-
import yfinance as yf
com = yf.Ticker('1140.SR')
print(com.fast_info['market_cap'])
I've updated the library to latest version i.e. 0.2.9 locally and on AWS MWAA Apache Airflow.
Locally, I'm able to run the code.
But on Amazon MWAA Airflow, I'm getting an error 'near "without": syntax error'.
Based on my searching, I believe, that the issue is because of a lower version of SQLite. One person was able to resolve the issue by upgrading SQLite version - https://github.com/ranaroussi/yfinance/issues/1372
Locally, here is the configuration:-
Python version - 3.10.8
yfinance - 0.2.9
SQLite3 - 3.37.2
and my Amazon MWAA Airflow configuration is:-
Python version - 3.10.8 (main, Jan 17 2023, 22:57:31) [GCC 7.3.1 20180712 (Red Hat 7.3.1-15)]
yfinance - 0.2.9
SQLite3 - 3.7.17
SQLite is not a python library version, but it’s the a system-level application that needs to be upgraded manually.
I'm able to do locally, but how do I upgrade SQLite to >3.34.x version on Amazon MWAA?
Can anyone help me?
Tried upgrading SQLITE version with requirements file. It didn't work.
apache-airflow-providers-sqlite==3.3.1

Coldfusion - JEE Installation - JVM Arguments which and how?

We are trying to change how we manage our QA Enviroments.
Till now we have installed Coldfusion using the Adobe Installer that install a modified Tomcat.
We want to manage the QA server using CommandBox Tool that installs Coldfusion in JEE install mode using war file, but situation will be similar with any of the supported JEE Application Server. (EAP, Wildfly, Tomcat).
We have little experience in using Coldfusion in the JEE install mode then several questions arise regarding the JVM Settings.
Below the JVM Setting we got after install CF using the Adobe Standard installer, accessing the Coldfusion (CF) Administrator (here for a fresh installation of a CF2018):
--add-modules=java.xml.ws
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/sun.util.cldr=ALL-UNNAMED
--add-opens=java.base/sun.util.locale.provider=ALL-UNNAMED
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
-Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib,{application.home}/lib/axis2,{application.home}/gateway/lib/,{application.home}/wwwroot/WEB-INF/cfform/jars,{application.home}/wwwroot/WEB-INF/flex/jars,{application.home}/lib/oosdk/lib,{application.home}/lib/oosdk/classes
-Dcoldfusion.home={application.home}
-Dcoldfusion.jsafe.defaultalgo=FIPS186Random
-Dcoldfusion.libPath={application.home}/lib
-Dcoldfusion.rootDir={application.home}
-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true
-Djava.awt.headless=true
-Djava.locale.providers=COMPAT,SPI
-Djava.security.auth.policy={application.home}/lib/neo_jaas.policy
-Djava.security.policy={application.home}/lib/coldfusion.policy
-Djava.util.logging.config.file={application.home}/lib/logging.properties
-Djdk.attach.allowAttachSelf=true
-Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true
-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog
-Dsun.font.layoutengine=icu
-XX:+UseParallelGC
-XX:MaxMetaspaceSize=192m
-Xbatch
-Xdebug
-Xms256m
-Xmx1024m
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6006
-server
Q1. the Coldfusion war have inside it the JVM settings (we have written above) and will apply it during deploy?
Q2. if answer to is no!, what are the settings that are applicable according the JEE Application Server used (i.e. some settings are ok for Tomcat but meaniless for wildfly).
We were able to find specific documentation from Adobe for Coldfusion 2018 (https://helpx.adobe.com/it/coldfusion/installing/coldfusion-2018-install-jee-configuration.html).
The number of settings is incredible low comparing with the standard one!:
-Djava.locale.providers=COMPAT,SPI
-Dcoldfusion.disablejsafe=true
-Djdk.attach.allowAttachSelf=true
-Djdk.serialFilter= !org.mozilla.**;!com.sun.syndication.**
We were not able to find similar documentationfor Coldfusion 2021 (latest release).
Till now trying to get help from Adobe has been produce not effective results.
Thanks in advance
Adobe isn't going to help you support an installation via CommandBox, you need to talk to Ortus Solutions about that. Every JVM setting available in CF Admin for Standard is not displayed in the UI for CF Enterprise. You're looking for the CF install folder for the instance you have (non-CB version), find a file called jvm.config.
https://www.cfguide.io/coldfusion-administrator/server-settings-java-jvm/
In ColdBox, you can set everything via the command line or use a server.json file to do that same configuration.
https://commandbox.ortusbooks.com/embedded-server/configuring-your-server/jvm-args
Here's an example from a CB install I have on a Mac where I'm running an older version of CF that requires an older JDK, but I've also set the heapSize.
{
"jvm": {
"javaHome": "/Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/Home",
"heapSize": 1024
}
}
What I would suggest is
export your existing CF Admin settings to a .car file
log in to your ColdBox server's CF Admin
import the .car file
adjust all the settings (DSN, etc) for your QA server
go to the command line and install the CFConfig plugin
export all the CF Admin settings to a JSON file (instructions in their docs)
save that to a private repo or your secrets / passwords vault.
Join the BoxTeam Slack where you can find the CommandBox community and ask more questions.

How to obtain WSO2 docker-compose distribution from a previous release

When you are going to download a distribution of WSO2 product, for the lastest release is possible to download different distributions (binary, msi installer, docker, docker-compose, helm, kubernetes, etc.) but when you try to do it from a previous release, there is only binary and OS's installers (ubuntu, mac, windows, etc).
But I would like to download, for instance docker-compose distribution for the previous version.
How then can it be possible to do?
This images show it clearly:
You can get these artifacts from the docker-apim repo. https://github.com/wso2/docker-apim/tree/v3.1.0.3
I have checked that the URL generated for the latest version can be modified and can be selected other previous versions. For instance, for downloading AM version 3.1.0, previous to the latest release (v 3.2.0), can be downloaded for docker compose in this manner:
http://product-dist.wso2.com/downloads/api-manager/3.1.0/instruction-pages/subscription/docker-compose/docker-apim-3.1.0.zip
WSO2 should leave available all these links explicitly referred to in the previous versions.

Which version of patch-release to build?

The release matrix for the wso2 platform is here: http://wso2.com/products/carbon/release-matrix/
If I want to build Identity Server 4.0.0 it seems that I need carbon 4.0.3.
Question 1. Will Identity Server only build on carbon 4.0.3, or will it build on 4.0.3+?
I have checked out the source from:
https://svn.wso2.org/repos/wso2/carbon/orbit/branches/4.0.0
https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.0.0
https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0
However, when I look in the orbit patch-releases folder, I only see:
4.0.1
4.0.2
4.0.5
4.0.6
Question 2. Which version of orbit patch release will I need to build for IS 4.0.0?
Question 01
To build IS 4.0.0 you need to build patch-release 4.0.3
But there can be some components from 4.0.0 up-to 4.0.3 but not 4.0.3+ So its better to build all main branch plus patch-release versions below your required version. As Ratha mentioned if you build online these jars will be downloaded if available.
Question 02
You need to build orbit patch-release 4.0.2 since it was used on IS 4.0.0
The reason for not having patch-release 4.0.3 version is there is no difference from 4.0.2 version. So same version is used during production.
Hope this will help you.
if you don't find particular version, that means product is released with older version of jars..
In your case, you might need to build 4.0.2..
Anyway if you do online build, if jars are available in the repo, they will be downloaded..You don't need to build older versions..
If not, you have to..

Cloudbees support for redis server for builds?

I'm trying to setup some OSS builds in Cloudbees and one of them requires a redis server for the tests performed during the build.
Is this supported in some way by the Jenkins build process under Cloudbees, or will I have to find another way to set that one up?
You can launch a redis-server as your build starts.
redis-server &
The current version of redis installed can be found (it's a packaged Redis, so the version of the cli and server typically match up) using
redis-cli -v
This information is also now available on the CloudBees developer site - http://developer.cloudbees.com/bin/view/DEV/Redis