loiclefevre / dragon Goto Github PK
View Code? Open in Web Editor NEWDRAGON Stack manager
License: Other
DRAGON Stack manager
License: Other
There is a duplicate definition of maven-compiler-plugin, the project compiles with warnings but it works.
In case the provisioning was not properly done... then manual termination would be required for now...
I suggest to use a standard location for each OS to store the config.txt file because not all OSs allow to write the directory where the executable is stored.
For example in Linux or ain any Un*x-based system, if I put the dragon executable in /usr/bin I will not be able to write in it unless I change the default permissions for directory.
Moreover it is better to keep config separated from binaries and use the default user directory to store the configuration file (i.e. in /home/<username/.config or similar)
using Linux environment variables:
CLOUD_SHELL_TOOL_SET
OCI_REGION
OCI_TENANCY
To create the config.txt file it would be useful to have an interview to gather all the details needed to connect to the OCI tenancy.
For example, when a user runs dragon for the first time and it does not find the config.txt file, the program could start asking questions to get all the details of user's OCI tenancy.
./dragon-linux-x86_64-1.0.2
DRAGON Stack manager v1.0.2
Command line parameters ................................................... ok
Oracle Cloud Infrastructure configuration ................................. ok
Database creation ................................................. ok [4m 0s]
Database wallet download ..................................... ok [dragon.zip]
Database configuration .................................................... ok
Object storage configuration .......................... creating dragon bucket
================================================================================
Unhandled exception:
javax.ws.rs.ProcessingException: Error reading entity from input stream.
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:889)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:808)
Even if I specify database_license_type=byol in dragon.config this is not getting honored and a License Included ADB gets created.
Also -load doesn't work after the fact.
If the stack is already created, -load looks like it works, but doesn't actually load the collections.
It would be useful to document in README.md all the parameters in dragon.config with the default values.
add following capability
./dragon-linux-x86_64-2.0.1 -destroy < database name >
java -jar dragon-1.0.0-jar-with-dependencies.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/oracle/dragon/DragonStack has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
It would be useful to let the developer choose the OCI tenant where to instantiate an Autonomous Database by choosing a specific profile other than DEFAULT inside the config.txt
This way, the wget command will always pull the latest:
wget https://github.com/loiclefevre/dragon/releases/download/v2.0.0/dragon-linux-86_64-latest
After creation store local json with all info about the database that has been created for access later:
./dragon-linux-x86_64-2.0.0
DRAGON Stack manager v2.0.0
Command line parameters ................................................... ok
Oracle Cloud Infrastructure configuration ................................. ok
Database creation ................................................. ok [1m 4s]
Database wallet download ..................................... ok [dragon.zip]
Database configuration ........................... creating dragon collections
================================================================================
Unhandled exception:
java.lang.RuntimeException: REST SODA Service could not create collection dragon
at com.oracle.dragon.util.ADBRESTService.createSODACollection(ADBRESTService.java:123)
Manuela Mustatea has the same error.
I'm running on Frankfurt region while Manuela is running on London.
Thanks
It would be more than useful to have a syntax checking pass of the dragon.config before start provisioning the database in order to verify that all the parameters in the file are valid.
Even if only one is not recognized it should stop and emit and error message.
Currently, the code executes the stack if a parameter is passed in that the code doesn't recognize. For example:
./dragon-linux-x86_64-2.0.0 -config-temaplate
Default behavior should be to show -help
Starting from version 2.0.2 I get this error:
DRAGON Stack manager v2.0.2
Command line parameters ................................................... ok
Oracle Cloud Infrastructure configuration ................................. ko
The parameter "pass_phrase" found in profile "DEFAULT" is not supported!
duration: 0.001s
Until version 2.0.1 the "pass_phrase" parameter, used to specify the password for the key store, was read and honored by dragon. Now it is not.
A regression maybe?
Ability to define the name of a custom user in the config file.
As the DRAGON config file, config.txt, will be stored in the project directory of the application wouldn’t it be better to give it a less generic name, such as config.dragon or dragon.config so that it is easily identified among others (config) files.
This would also enable to integrate the DRAGON config management with the IDE, for example developing an extension to visually manage the configuration.
When compiling with Maven, it prints a Warning message:
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.oracle:dragon:jar:1.0.2
[WARNING] The expression ${version} is deprecated. Please use ${project.version} instead.
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
I suggest to modify the pom.xml with new format of variable for version.
I suggest to use a more standard approach in command.line parameters, such as the one used by oci-cli and other tools.
For example, instead of using:
./dragon -load -db
I would use:
./dragon load -db
where "load" is the command and "-db " is the option of the command.
It would be clearer to understand and easier to maintain.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.