Commit 7fbb2e90 authored by Nilanjan Daw's avatar Nilanjan Daw

streamlined various shared data

parent 8aec2c81
......@@ -4,9 +4,11 @@
"master_address": "localhost",
"grunt_host": "https://www.namandixit.net/lovecraftian_nightmares/grunt",
"couchdb_host": "localhost:5984",
"function_db_name": "serverless",
"metrics_db_name": "metrics",
"implicit_chain_db_name": "implicit_chain",
"db": {
"function_meta": "serverless",
"metrics": "metrics",
"implicit_chain_meta": "implicit_chain"
},
"network": {
"network_bridge": "hybrid_kafka-serverless",
"internal": {
......
......@@ -6,22 +6,18 @@ const fs = require('fs')
const { spawn } = require('child_process')
const fetch = require('node-fetch')
const constants = require('../constants.json')
const secrets = require('./secrets.json')
const operator = require('./operator')
const sharedStructures = require('./shared_structures')
let metadataDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
metadataDB = metadataDB + "/" + constants.function_db_name + "/"
let metricsDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
metricsDB = metricsDB + "/" + constants.metrics_db_name + "/"
const sharedMeta = require('./shared_meta')
const logger = libSupport.logger
const registry_url = constants.registry_url
let functionToResource = sharedStructures.functionToResource,
db = sharedStructures.db,
conditionProbabilityExpilict = sharedStructures.conditionProbabilityExpilict
let functionToResource = sharedMeta.functionToResource,
db = sharedMeta.db,
conditionProbabilityExpilict = sharedMeta.conditionProbabilityExpilict,
metricsDB = sharedMeta.metricsDB,
metadataDB = sharedMeta.metadataDB
router.post('/deploy', (req, res) => {
......@@ -478,10 +474,7 @@ function createDirectory(path) {
})
}
function initialise(functionToResource) {
this.functionToResource = functionToResource
}
module.exports = {
router, initialise
router
}
......@@ -10,19 +10,11 @@ const { spawn } = require('child_process');
const morgan = require('morgan');
const heap = require('heap');
const fetch = require('node-fetch');
const swStats = require('swagger-stats');
const apiSpec = require('./swagger.json');
// const swStats = require('swagger-stats');
// const apiSpec = require('./swagger.json');
const util = require('util')
const sharedStructures = require('./shared_structures')
const sharedMeta = require('./shared_meta')
/**
* URL to the couchdb database server used to store function metadata
*/
let metadataDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
metadataDB = metadataDB + "/" + constants.function_db_name + "/"
let metricsDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
metricsDB = metricsDB + "/" + constants.metrics_db_name + "/"
const app = express()
const libSupport = require('./lib')
......@@ -31,14 +23,16 @@ let date = new Date();
let log_channel = constants.topics.log_channel
let usedPort = new Map(), // TODO: remove after integration with RM
db = sharedStructures.db, // queue holding request to be dispatched
resourceMap = sharedStructures.resourceMap, // map between resource_id and resource details like node_id, port, associated function etc
functionToResource = sharedStructures.functionToResource, // a function to resource map. Each map contains a minheap of
db = sharedMeta.db, // queue holding request to be dispatched
resourceMap = sharedMeta.resourceMap, // map between resource_id and resource details like node_id, port, associated function etc
functionToResource = sharedMeta.functionToResource, // a function to resource map. Each map contains a minheap of
// resources associated with the function
workerNodes = sharedStructures.workerNodes, // list of worker nodes currently known to the DM
functionBranchTree = sharedStructures.functionBranchTree // a tree to store function branch predictions
chainHandler.initialise(functionToResource)
workerNodes = sharedMeta.workerNodes, // list of worker nodes currently known to the DM
functionBranchTree = sharedMeta.functionBranchTree, // a tree to store function branch predictions
metricsDB = sharedMeta.metricsDB,
metadataDB = sharedMeta.metadataDB
let kafka = require('kafka-node'),
Producer = kafka.Producer,
client = new kafka.KafkaClient({
......@@ -67,7 +61,7 @@ app.use(express.urlencoded({ extended: true }));
const file_path = __dirname + "/repository/"
app.use('/repository', express.static(file_path)); // file server hosting deployed functions
app.use(fileUpload())
app.use(swStats.getMiddleware({ swaggerSpec: apiSpec })); // statistics middleware
// app.use(swStats.getMiddleware({ swaggerSpec: apiSpec })); // statistics middleware
app.use('/serverless/chain', chainHandler.router); // chain router (explicit_chain_handler.js) for handling explicit chains
let requestQueue = []
......
......@@ -6,10 +6,11 @@ const winston = require('winston')
const constants = require('.././constants.json')
const secrets = require('./secrets.json')
const metrics = require('./metrics')
const sharedMeta = require('./shared_meta')
const { createLogger, format, transports } = winston;
const heap = require('heap')
let implicitChainDB = sharedMeta.implicitChainDB
let kafka = require('kafka-node'),
Producer = kafka.Producer,
client = new kafka.KafkaClient({
......@@ -18,8 +19,7 @@ let kafka = require('kafka-node'),
}),
producer = new Producer(client)
let implicitChainDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
implicitChainDB = implicitChainDB + "/" + constants.implicit_chain_db_names + "/"
/**
* Generates unique IDs of arbitrary length
......
const secrets = require('./secrets.json')
const constants = require('.././constants.json')
let db = new Map(), // queue holding request to be dispatched
resourceMap = new Map(), // map between resource_id and resource details like node_id, port, associated function etc
functionToResource = new Map(), // a function to resource map. Each map contains a minheap of
......@@ -6,8 +9,22 @@ let db = new Map(), // queue holding request to be dispatched
functionBranchTree = new Map(), // a tree to store function branch predictions
conditionProbabilityExpilict = new Map() // tree holding conditional probabilities for explicit chains
/**
* URL to the couchdb database server used to store data
*/
let metadataDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
metadataDB = metadataDB + "/" + constants.db.function_meta + "/"
let metricsDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
metricsDB = metricsDB + "/" + constants.db.metrics + "/"
let implicitChainDB = `http://${secrets.couchdb_username}:${secrets.couchdb_password}@${constants.couchdb_host}`
implicitChainDB = implicitChainDB + "/" + constants.db.implicit_chain_meta + "/"
module.exports = {
db, functionBranchTree, functionToResource, workerNodes, resourceMap,
conditionProbabilityExpilict
conditionProbabilityExpilict,
metadataDB, metricsDB, implicitChainDB
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment