Comments (8)
I'm thinking I'll take a stab at this, but Oracle makes it difficult to automatically download their files. You must accept a license agreement on the Oracle webpage which then sets a cookie that allows the download to happen. I can do this in the module, but the easiest way is to use the nanliu/archive module instead of staging or deploy to fetch and place the various downloaded bits.
So the avenues I can take are:
- add support for archive, so the module supports deploy, and staging, and archive.
- easy, but seems silly to support so many overlapping tools.
- replace staging with archive.
- pretty easy, but a much bigger PR and likely a major version bump.
- drop support for deploy and staging in favor of archive only.
- more difficult, but I think it simplifies the code in the long run
Is there a reason that staging and deploy are both supported in the module?
Is there an objection to removing staging and deploy and going with only archive?
from puppet-jira.
I kept support for deploy to remain backwards compatible as it was the original module used. I think lets drop support for both deploy and staging in favour of archive, it would require a major version bump though.
re downloading files from oracle, I do this with the deploy module, I am sure its possible with staging/archive. See example here: https://github.com/puppet-community/puppet-jira/blob/master/spec/acceptance/default_parameters_spec.rb
from puppet-jira.
👍
from puppet-jira.
In case anyone else happens on this ticket, I've got this mostly done and expect to have all the tests passing in the next couple days.
from puppet-jira.
The ojdbc drivers are behind a login wall. I was figuring I could step around the license accept checkbox with a cookie just like you can with the java downloads, but that is not the case for the ojdbc drivers. You need both the cookie and auth credentials. So.... I'll do a PR shortly that will let you specify your own download url for the drivers, and add a note to the docs on why you can't auto download it direct from the source at Oracle.
from puppet-jira.
Haha, the jokes on me (and everyone else). The tar version of Jira that this module installs includes a ojdbc driver. A user only needs to add the driver if they are using the WAR file distribution. Since this module does not support setting jira up via war file, I think this ticket can just be closed.
Step 2 of this page documents this. https://confluence.atlassian.com/jira/connecting-jira-to-oracle-185729461.html
from puppet-jira.
For what its worth they no longer include the ojdbc driver, even in the tar version. It's really too bad it can't automatically look in like $JIRA_HOME/lib for jars :-/
This one should at least support fetching the jar from a "local" source (puppet/https/etc), even if it can't emulate agreeing to the license agreement on oracle.com.
from puppet-jira.
@adamcrews Do you still have any of this code? The ojdbc8.jar is not (no longer) distributed with JIRA, even in the "tar" distribution. It might be nice to have some existing "working" code to start with. My current customer will, of course, need to be able to set an "internal" URL (Artifactory) to retrieve the file from, because our servers cannot directly reach the Internet.
Additionally, as this is required for multiple tools, perhaps it would make sense to have ojdbc be its own puppet module, that could be reused in confluence, jira, crucible, etc?
Right now, I have a workaround like the following in my profile:
class profile::jira7 (
Boolean $manage_ojdbc = true,
String $ojdbc_source = 'https://artifactory.domain.com/artifactory/atlassian-tools/ojdbc8.jar',
) {
include java
include jira
include jira::facts
# Workaround for OJDBC
if $manage_ojdbc {
$ojdbc_file = split($ojdbc_source, '/')[-1]
$ojdbc_path = "${jira::webappdir}/lib/${ojdbc_file}"
file { $ojdbc_path:
ensure => file,
source => $ojdbc_source,
mode => '0644',
owner => $jira::uid,
group => $jira::gid,
}
File[$ojdbc_path] ~> Class[Jira::Service]
}
}
I think using the archive module would be better. I think I remember there being some reason why using a http path for source was 'bad', like maybe it would make a web request for each puppet run?
Anyhow, I have very similar code for confluence, and that was when I thought maybe this should be its own module ;)
~tommy
from puppet-jira.
Related Issues (20)
- Add optional MySQL connection string options HOT 1
- Jira_facts deprecation warnings HOT 1
- jira::java_opts defined as YAML multiline block string generates incorrect JAVA_OPTS string in setenv.sh HOT 2
- server.xml - StuckThreadDetectionValve introduced in 7.6.12
- Drop Ubuntu 16.04, Add 18.04 instead
- 5.0.0 release summary
- Test with Puppet 7 and fresher OSes
- JIRA will not start if the installation directory mode is missing o+x HOT 2
- connection-settings parameter in dbconfig.xml template should be connection-properties instead
- Manage web.xml Config HOT 1
- Release a new Jira version
- Add manage_homedir support
- scheme written twice in server.xml when using tomcat_native_ssl and supplying proxy settings
- cluster node id is too long using fqdn
- AlmaLinux support
- Release v5.2.0 HOT 2
- cluster.properties.epp - soon to be deprecated code by Puppet 8 HOT 1
- JVM_OPENS not set for JIRA Java 17 support
- Optional[Integer[-1]] $pool_max_wait breaks with latest puppet agent (7.29 or 8.5) HOT 3
- Jira cluster and NGINX Plus as the load balancer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puppet-jira.