aoc2020-objectscript-template Error: Invalid Community Edition license, may have exceeded core limit.
Good evening Intersystems Community,
I want to participate in the Advent of Code 2020 and followed the installation instructions in "The Advent of Code 2020 contest ObjectScript template" (https://openexchange.intersystems.com/package/aoc2020-objectscript-template).
Unforunately I get "Error: Invalid Community Edition license, may have exceeded core limit." at the step "docker-compose build".
I think I already found a way to tell docker to use less cores (docker run --cpus 2), but I can't figure out how to integrate that into "docker-compose build".
I would really appreciate any advice, thanks!
Best regards,
Stefan Katzensteiner
Product version: IRIS 2020.4
Hi,
you could try add cpuset command to the docker-compose file:
# If your CPU has >8 cores limit InterSystems IRIS CE to 8 with
cpuset: "0-7"
Also note that it uses docker-compose 3.6 so it should be started in compatibility mode. This way you don't have to provision a swarm cluster.
Thanks for replies. I tried the following:
docker-compose.yml
version: '3.6'
services:
iris:
build:
context: .
dockerfile: Dockerfile
restart: always
ports:
- 1972
- 52773
- 53773
volumes:
- ./:/irisdev/app
deploy:
resources:
limits:
cpus: '0.50'
Command line
docker-compose --compatibility build
In my understanding --compatibility should translate the cpus: '0.50' into the equivalent version 2 parameter.
But I could not get it to work. :-(
What error are you getting?
Also compatibility should only be used on up, not build.
I still get my "exceeded core limit" error
This Docker-Compose File ist working on Windows without Compability mode:
With this Limitation:
USER>D $System.CPU.Dump()
Without:
Sorry, does not work for me. I still get "Too many Cores (12) for InterSystems IRIS Community License." when running "docker-compose build".
Please forgive me if I am mistaken but the "Without section" looks to me as if you do not have more than 8 cores with and without limitation.
Yes, my CPU has Only 4 Cores. The Limitation of the example reduces the # of cores: from 4 to 2.
I've no CPU available with more cores for Testing.
One difference I see between your set up and mine is that I have aa AMD Ryzen 5 2600 Six-Core Processor 3.40 GHz and you have an Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz. I think its unlikely that Intel vs. AMD is the cause but who knows.
Could you go into more detail about the steps you took to use your Docker-Compose File? Did you use it with "docker-compose build" or "docker-compose up"?
I think that "docker-compose build" is ignoring the "cpuset: "0-1" while creating the docker iris image at my computer. Because you do not exeed 8 cores this would not be a problem for you and when you start the container it somehow starts to use this setting (as shown by your section "With this Limitation:").
I gave up to modify docker-compose.yml.
I commented out the last line of the Dockerfile:
# RUN iris start IRIS && iris session IRIS < /tmp/iris.script && iris stop IRIS quietly
Now I did a "docker-compose build" but because I did not start iris I did not get my "exceeded core limit" error.
But I got a "Successfully tagged objectscript-docker-template_iris:latest"
With this I could "docker run --name iris --cpuset-cpus=0-7 -d --publish 1972:1972 --publish 52773:52773 objectscript-docker-template_iris:latest"
In the same directory I did "docker exec -it iris bash"
Then you have to do a "iris session IRIS < /tmp/iris.script" and a "iris terminal IRIS"
Finally you can test it with "w ##class(dc.PackageSample.ObjectScript).Test()"
If you use Visual Studio Code you have to change your setting.json as follows:
{
"objectscript.conn" :{
"active": true,
"host": "127.0.0.1",
"port": 52773,
"username": "SuperUser",
"password": "SYS",
"ns": "USER"
}
}
Unfortunately, docker-compose does not have any way, on how to limit cpus during build. While it's possible for deploy. The only way to do it in your case, is to build image manually with specified limitation.
and then just add this image name to docker-compose.yml, you can keep the build section, it will not be used if you desired image already produced.
I have the error message for an instance of IRIS for Health Community Edition whether I use 2 vcpus or 1 vcpu. Is there any known resolution to this for Azure resources?
Social networks
InterSystems resources
Log in or sign up
Log in or create a new account to continue
Log in or sign up
Log in or create a new account to continue
Log in or sign up
Log in or create a new account to continue