Skip to content

Commit

Permalink
Merge branch 'master' into doc_changelog_20240313
Browse files Browse the repository at this point in the history
  • Loading branch information
Cisphyx authored Mar 25, 2024
2 parents 1c73ffc + db89cdd commit 80d1a3a
Show file tree
Hide file tree
Showing 16 changed files with 32 additions and 46 deletions.
1 change: 0 additions & 1 deletion docs/docdata/foopkg/foopkg.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
name: foopkg
version: 1.0.0
synapse_minversion: [2, 144, 0]
synapse_version: '>=2.144.0,<3.0.0'

onload: $lib.import(foomod).onload()
Expand Down
1 change: 0 additions & 1 deletion docs/synapse/devguides/power-ups.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ that gets processed and loaded into your Cortex.
name: acme-hello
version: 0.0.1

synapse_minversion: [2, 144, 0]
synapse_version: '>=2.144.0,<3.0.0'

genopts:
Expand Down
3 changes: 0 additions & 3 deletions docs/synapse/devguides/stormservices.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
" {\n",
" 'name': 'mysvc',\n",
" 'version': (0, 0, 1),\n",
" 'synapse_minversion': (2, 144, 0),\n",
" 'synapse_version': '>=2.144.0,<3.0.0',\n",
" 'commands': (\n",
" {\n",
Expand Down Expand Up @@ -300,7 +299,6 @@
"svc_name = 'example'\n",
"svc_guid = '0ecc1eb65659a0f07141bc1a360abda3' # can be generated with synapse.common.guid()\n",
"svc_vers = (0, 0, 1)\n",
"svc_minvers = (2, 144, 0)\n",
"\n",
"svc_evts = {\n",
" 'add': {\n",
Expand Down Expand Up @@ -418,7 +416,6 @@
" {\n",
" 'name': svc_name,\n",
" 'version': svc_vers,\n",
" 'synapse_minversion': svc_minvers,\n",
" 'synapse_version': '>=2.144.0,<3.0.0',\n",
" 'modules': (\n",
" {\n",
Expand Down
1 change: 0 additions & 1 deletion docs/synapse/userguides/syn_tools_genpkg.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@
"\n",
" - ``name``: Name of the Storm package.\n",
" - ``version``: Version of the Storm package. A Cortex may contain multiple versions of the same package.\n",
" - ``synapse_minversion``: Optional minimum required Synapse version a Cortex must be running to load the package.\n",
" - ``synapse_version``: Optional version specifier for the required Synapse version a Cortex must be running to load the package.\n",
" - ``onload``: Optional Storm code to run in a Cortex when the package is loaded.\n",
" - ``modules``: Storm module definitions.\n",
Expand Down
3 changes: 1 addition & 2 deletions examples/power-ups/rapid/acme-hello/acme-hello.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
name: acme-hello
version: 0.0.1

synapse_minversion: [2, 144, 0]
synapse_version: '>=2.144.0,<3.0.0'
synapse_version: '>=2.145.0,<3.0.0'
genopts:
dotstorm: true # Specify that storm command/module files end with ".storm"

Expand Down
16 changes: 9 additions & 7 deletions synapse/cortex.py
Original file line number Diff line number Diff line change
Expand Up @@ -2685,20 +2685,22 @@ async def _normStormPkg(self, pkgdef, validstorm=True):

pkgname = pkgdef.get('name')

# Check minimum synapse version
minversion = pkgdef.get('synapse_minversion')
if minversion is not None and tuple(minversion) > s_version.version:
mesg = f'Storm package {pkgname} requires Synapse {minversion} but ' \
f'Cortex is running {s_version.version}'
raise s_exc.BadVersion(mesg=mesg)

# Check synapse version requirement
reqversion = pkgdef.get('synapse_version')
if reqversion is not None:
mesg = f'Storm package {pkgname} requires Synapse {reqversion} but ' \
f'Cortex is running {s_version.version}'
s_version.reqVersion(s_version.version, reqversion, mesg=mesg)

elif (minversion := pkgdef.get('synapse_minversion')) is not None:
# This is for older packages that might not have the
# `synapse_version` field.
# TODO: Remove this whole else block after Synapse 3.0.0.
if tuple(minversion) > s_version.version:
mesg = f'Storm package {pkgname} requires Synapse {minversion} but ' \
f'Cortex is running {s_version.version}'
raise s_exc.BadVersion(mesg=mesg)

# Validate storm contents from modules and commands
mods = pkgdef.get('modules', ())
cmds = pkgdef.get('commands', ())
Expand Down
3 changes: 2 additions & 1 deletion synapse/lib/storm.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@
},
'required': ['cert', 'sign'],
},
# TODO: Remove me after Synapse 3.0.0.
'synapse_minversion': {
'type': ['array', 'null'],
'items': {'type': 'number'}
Expand Down Expand Up @@ -3660,7 +3661,7 @@ async def execStormCmd(self, runt, genr):

runt.confirm(node.form.addperm, gateiden=layriden)
for name in node.props.keys():
runt.confirmPropSet(node.form.props[name])
runt.confirmPropSet(node.form.props[name], layriden=layriden)

for tag in node.tags.keys():
runt.confirm(('node', 'tag', 'add', *tag.split('.')), gateiden=layriden)
Expand Down
6 changes: 3 additions & 3 deletions synapse/telepath.py
Original file line number Diff line number Diff line change
Expand Up @@ -1017,13 +1017,11 @@ def size(self):

async def _onPoolSvcAdd(self, mesg):
svcname = mesg[1].get('name')
svcinfo = mesg[1].get('svcinfo')
urlinfo = mergeAhaInfo(self.urlinfo, svcinfo.get('urlinfo', {}))

if (oldc := self.clients.pop(svcname, None)) is not None:
await oldc.fini()

# one-off default user to root
urlinfo = {'scheme': 'aha', 'host': svcname, 'path': ''}
self.clients[svcname] = await Client.anit(urlinfo, onlink=self._onPoolLink)
await self.fire('svc:add', **mesg[1])

Expand All @@ -1039,6 +1037,8 @@ async def _onPoolLink(self, proxy):

async def onfini():
self.proxies.remove(proxy)
if proxy in self.deque:
self.deque.remove(proxy)
if not len(self.proxies):
self.ready.clear()

Expand Down
24 changes: 17 additions & 7 deletions synapse/tests/test_cortex.py
Original file line number Diff line number Diff line change
Expand Up @@ -3084,7 +3084,6 @@ async def test_cell(self):
otherpkg = {
'name': 'foosball',
'version': '0.0.1',
'synapse_minversion': (2, 144, 0),
'synapse_version': '>=2.8.0,<3.0.0',
}
self.none(await proxy.addStormPkg(otherpkg))
Expand Down Expand Up @@ -3138,7 +3137,7 @@ async def test_stormcmd(self):
oldverpkg = {
'name': 'versionfail',
'version': (0, 0, 1),
'synapse_minversion': (1337, 0, 0),
'synapse_version': '>=1337.0.0,<2000.0.0',
'commands': ()
}

Expand All @@ -3148,7 +3147,6 @@ async def test_stormcmd(self):
oldverpkg = {
'name': 'versionfail',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=1337.0.0,<2000.0.0',
'commands': ()
}
Expand All @@ -3159,7 +3157,6 @@ async def test_stormcmd(self):
oldverpkg = {
'name': 'versionfail',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=0.0.1,<2.0.0',
'commands': ()
}
Expand All @@ -3173,7 +3170,6 @@ async def test_stormcmd(self):
'commands': ()
}

# Package with no synapse_minversion shouldn't raise
await core.addStormPkg(noverpkg)

badcmdpkg = {
Expand Down Expand Up @@ -6333,7 +6329,6 @@ class TstServ(s_stormsvc.StormSvc):
{ # type: ignore
'name': 'foo',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.100.0,<3.0.0',
'modules': [],
'commands': []
Expand Down Expand Up @@ -6441,7 +6436,7 @@ async def test_stormpkg_sad(self):
'name': 'boom',
'desc': 'The boom Module',
'version': (0, 0, 1),
'synapse_minversion': (2, 8, 0),
'synapse_version': '>=2.8.0,<3.0.0',
'modules': [
{
'name': 'boom.mod',
Expand Down Expand Up @@ -6514,6 +6509,21 @@ async def test_stormpkg_sad(self):
self.eq(cm.exception.errinfo.get('mesg'),
"Storm package boom has unknown config var type newp.")

# Check no synapse_version and synapse_minversion > cortex version
minver = list(s_version.version)
minver[1] += 1
minver = tuple(minver)

pkg = copy.deepcopy(base_pkg)
pkg.pop('synapse_version')
pkg['synapse_minversion'] = minver
pkgname = pkg.get('name')

with self.raises(s_exc.BadVersion) as cm:
await core.addStormPkg(pkg)
mesg = f'Storm package {pkgname} requires Synapse {minver} but Cortex is running {s_version.version}'
self.eq(cm.exception.errinfo.get('mesg'), mesg)

async def test_cortex_view_persistence(self):
with self.getTestDir() as dirn:
async with self.getTestCore(dirn=dirn) as core:
Expand Down
5 changes: 0 additions & 5 deletions synapse/tests/test_lib_ast.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
'name': 'foo',
'desc': 'The Foo Module',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': [
{
Expand Down Expand Up @@ -1219,14 +1218,12 @@ async def test_lib_ast_module(self):
otherpkg = {
'name': 'foosball',
'version': '0.0.1',
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
}

stormpkg = {
'name': 'stormpkg',
'version': '1.2.3',
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': (
{
Expand All @@ -1239,7 +1236,6 @@ async def test_lib_ast_module(self):
stormpkgnew = {
'name': 'stormpkg',
'version': '1.2.4',
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': (
{
Expand All @@ -1252,7 +1248,6 @@ async def test_lib_ast_module(self):
jsonpkg = {
'name': 'jsonpkg',
'version': '1.2.3',
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'docs': (
{
Expand Down
1 change: 0 additions & 1 deletion synapse/tests/test_lib_httpapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -840,7 +840,6 @@ async def test_http_beholder(self):
spkg = {
'name': 'testy',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.50.0,<3.0.0',
'modules': (
{'name': 'testy.ingest', 'storm': 'function punch(x, y) { return (($x + $y)) }'},
Expand Down
1 change: 0 additions & 1 deletion synapse/tests/test_lib_jupyter.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ class TstsvcApi(s_cell.CellApi, s_stormsvc.StormSvc):
{
'name': 'testsvc',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': (
{
Expand Down
1 change: 0 additions & 1 deletion synapse/tests/test_lib_storm.py
Original file line number Diff line number Diff line change
Expand Up @@ -3331,7 +3331,6 @@ async def test_storm_help_cmd(self):
otherpkg = {
'name': 'foosball',
'version': '0.0.1',
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': ({
'name': 'testcmd',
Expand Down
10 changes: 0 additions & 10 deletions synapse/tests/test_lib_stormsvc.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
old_pkg = {
'name': 'old',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': (
{'name': 'old.bar', 'storm': 'function bar(x, y) { return ($($x + $y)) }'},
Expand All @@ -40,7 +39,6 @@
new_old_pkg = {
'name': 'old',
'version': (0, 1, 0),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': (
{'name': 'old.bar', 'storm': 'function bar(x, y) { return ($($x + $y)) }'},
Expand All @@ -65,7 +63,6 @@
new_pkg = {
'name': 'new',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': (
{'name': 'echo', 'storm': '''function echo(arg1, arg2) {
Expand Down Expand Up @@ -124,7 +121,6 @@ class RealService(s_stormsvc.StormSvc):
{ # type: ignore
'name': 'foo',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': (
{'name': 'foo.bar',
Expand Down Expand Up @@ -188,7 +184,6 @@ class NodeCreateService(s_stormsvc.StormSvc):
{
'name': 'ncreate',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': (
{
Expand All @@ -207,7 +202,6 @@ class BoomService(s_stormsvc.StormSvc):
{ # type: ignore
'name': 'boom',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': (
{'name': 'blah', 'storm': '+}'},
Expand Down Expand Up @@ -266,7 +260,6 @@ class LifterService(s_stormsvc.StormSvc):
{ # type: ignore
'name': 'lifter',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': (
{
Expand All @@ -292,7 +285,6 @@ class StormvarService(s_cell.CellApi, s_stormsvc.StormSvc):
{ # type: ignore
'name': 'stormvar',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': (
{
Expand Down Expand Up @@ -379,7 +371,6 @@ class ShareService(s_cell.CellApi, s_stormsvc.StormSvc):
{ # type: ignore
'name': 'sharer',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': (
{
Expand Down Expand Up @@ -503,7 +494,6 @@ async def test_storm_pkg_persist(self):
pkg = {
'name': 'foobar',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': (
{'name': 'hehe.haha', 'storm': 'function add(x, y) { return ($($x + $y)) }'},
Expand Down
1 change: 0 additions & 1 deletion synapse/tests/test_lib_stormtypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,6 @@ async def test_storm_lib_base(self):
'name': 'foo',
'desc': 'test',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'modules': [
{
Expand Down
1 change: 0 additions & 1 deletion synapse/tests/test_model_syn.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ class TestService(s_stormsvc.StormSvc):
{
'name': 'foo',
'version': (0, 0, 1),
'synapse_minversion': [2, 144, 0],
'synapse_version': '>=2.8.0,<3.0.0',
'commands': (
{
Expand Down

0 comments on commit 80d1a3a

Please sign in to comment.