datacenter / ignite-deprecated Goto Github PK
View Code? Open in Web Editor NEWFire up your network with built-in poap on your Cisco Nexus switches and Ignite.
Fire up your network with built-in poap on your Cisco Nexus switches and Ignite.
We found that sometimes the script bootstrap_image.py stopped at set_system_info().
Seems line 'system_info = json.loads(clid("show version"))' halted. It doesn't appear every time, but sometimes.
The device system info is as below.
Software
BIOS: version 07.35
NXOS: version 7.0(3)I2(2b)
BIOS compile time: 08/25/2015
NXOS image file is: bootflash:///poap/nxos.7.0.3.I2.2b.bin
NXOS compile time: 2/28/2016 21:00:00 [02/29/2016 05:21:45]
Hardware
cisco Nexus9000 C9396PX Chassis
The syslog of the script is as below.
May 11 09:32:05 SAL------- : poap.py : Started execution of poap script
May 11 09:33:14 SAL------- : poap.py : Indiv Neighbour append done
May 11 09:33:14 SAL------- : message repeated 2 times: [ poap.py : Indiv Neighbour append done]
May 11 09:33:14 SAL------- : poap.py : Ignite response
May 11 09:33:14 SAL------- : poap.py : file_src: /home/ignite/ignite-release_1.7.1/media/repo/54.yml hostname: 10.79.45.86: access_protocol: scp username: ignite password: ignite
May 11 09:33:14 SAL------- : poap.py : Start copy of task /home/ignite/ignite-release_1.7.1/media/repo/54.yml
May 11 09:33:14 SAL------- : poap.py : CLI : terminal dont-ask ; terminal password ignite ; copy scp://[email protected]/home/ignite/ignite-release_1.7.1/media/repo/54.yml volatile:ignite_resp.yml vrf management
May 11 09:33:16 SAL------- : poap.py : YAML module not found
May 11 09:33:16 SAL------- : poap.py : YAML pkg found(1) at /bootflash/poap//PyYAML-3.11
May 11 09:33:16 SAL------- : poap.py : YAMP path to import: /bootflash/poap//PyYAML-3.11/lib
May 11 09:33:17 SAL------- : poap.py : [{'function': 'get_config', 'handler': '/home/ignite/ignite-release_1.7.1/scripts/bootstrap_config.py', 'name': 'bootstrap_config', 'parameters': {'username': 'ignite', 'password': 'ignite', 'protocol': 'scp', 'file_src': '/home/ignite/ignite-release_1.7.1/media/repo/54.cfg', 'hostname': '10.79.45.86', 'serial_num': 'SAL-------'}, 'desc': 'Bootstrap get config task', 'location': 'loc_bootstrap_config'}, {'function': 'get_image', 'handler': '/home/ignite/ignite-release_1.7.1/scripts/bootstrap_image.py', 'name': 'bootstrap_image', 'parameters': {'username': 'ignite', 'password': 'ignite', 'protocol': 'tftp', 'file_src': 'nxos.7.0.3.I2.2b.bin', 'hostname': '10.79.45.86', 'serial_num': 'SAL-------'}, 'desc': 'Bootstrap get image task', 'location': 'loc_bootstrap_image'}]
May 11 09:33:17 SAL------- : poap.py : {'loc_bootstrap_image': {'username': 'ignite', 'password': 'ignite', 'protocol': 'scp', 'hostname': '10.79.45.86'}, 'loc_bootstrap_config': {'username': 'ignite', 'password': 'ignite', 'protocol': 'scp', 'hostname': '10.79.45.86'}}
May 11 09:33:17 SAL------- : poap.py : ['loc_bootstrap_image', 'loc_bootstrap_config']
May 11 09:33:17 SAL------- : poap.py : #012#012 {'username': 'ignite', 'password': 'ignite', 'protocol': 'scp', 'hostname': '10.79.45.86'}
May 11 09:33:17 SAL------- : poap.py : Start copy of task /home/ignite/ignite-release_1.7.1/scripts/bootstrap_config.py
May 11 09:33:17 SAL------- : poap.py : CLI : terminal dont-ask ; terminal password ignite ; copy scp://[email protected]/home/ignite/ignite-release_1.7.1/scripts/bootstrap_config.py volatile:bootstrap_config.py vrf management
May 11 09:33:24 SAL------- : poap.py : Task fetch success
May 11 09:33:24 SAL------- : poap.py : Copy complete
May 11 09:33:24 SAL------- : poap.py : #012#012 {'username': 'ignite', 'password': 'ignite', 'protocol': 'scp', 'hostname': '10.79.45.86'}
May 11 09:33:24 SAL------- : poap.py : Start copy of task /home/ignite/ignite-release_1.7.1/scripts/bootstrap_image.py
May 11 09:33:24 SAL------- : poap.py : CLI : terminal dont-ask ; terminal password ignite ; copy scp://[email protected]/home/ignite/ignite-release_1.7.1/scripts/bootstrap_image.py volatile:bootstrap_image.py vrf management
May 11 09:33:26 SAL------- : poap.py : Task fetch success
May 11 09:33:26 SAL------- : poap.py : Copy complete
May 11 09:33:26 SAL------- : poap.py : task_dst = /volatile/bootstrap_config.py
May 11 09:33:26 SAL------- : poap.py : import_name = bootstrap_config
May 11 09:33:26 SAL------- : poap.py : Loaded module: <module 'bootstrap_config' from '/volatile/bootstrap_config.py'>
May 11 09:33:26 SAL------- : poap.py : task_dst = /volatile/bootstrap_image.py
May 11 09:33:26 SAL------- : poap.py : import_name = bootstrap_image
May 11 09:33:26 SAL------- : poap.py : Loaded module: <module 'bootstrap_image' from '/volatile/bootstrap_image.py'>
May 11 09:33:26 SAL------- : bootstrap_config.py : CLI : terminal dont-ask
May 11 09:33:27 SAL------- : bootstrap_config.py : INFO: Copy started
May 11 09:33:27 SAL------- : bootstrap_config.py : CLI : terminal dont-ask ; terminal password ignite ; copy scp://[email protected]/home/ignite/ignite-release_1.7.1/media/repo/54.cfg volatile:poap.cfg vrf management
May 11 09:33:29 SAL------- : bootstrap_config.py : Completed copy of Config file
May 11 09:33:29 SAL------- : bootstrap_config.py : INFO: Start fetching md5 file_src
May 11 09:33:29 SAL------- : bootstrap_config.py : INFO: Copy started
May 11 09:33:29 SAL------- : bootstrap_config.py : CLI : terminal dont-ask ; terminal password ignite ; copy scp://[email protected]/home/ignite/ignite-release_1.7.1/media/repo/54.cfg.md5 volatile:54.cfg.md5.poap_md5 vrf management
May 11 09:33:31 SAL------- : bootstrap_config.py : Copy Failed: '\r\n\nError: no such file\n'
May 11 09:33:31 SAL------- : bootstrap_config.py : md5sum_src = 0
May 11 09:33:31 SAL------- : bootstrap_config.py : CLI : copy running-config startup-config
May 11 09:33:35 SAL------- : bootstrap_config.py : CLI : copy volatile:poap.cfg scheduled-config
May 11 09:33:35 SAL------- : bootstrap_image.py : CLI : terminal dont-ask
I noticed some references to an OVA file in some of the Readme documents. Is this OVA available for download?
I have installed this from both an OVA and source. I am able to see the login page /ui/index.html, but after I login as admin, the page does not change after some spinning and bar movement.
I was able to run "python switch_model_script.py" which uses auth token. /auth/login also gives me a token. So I am pretty sure admin/admin is a valid user account.
I notice one thing. In /ui/index.html all embedded sources are using a relative path, i.e. scripts/foo.js and access_log shows I am trying to get /ui/index.html#/scripts/foo.js, apparently that is wrong, it should be /ui/scripts/foo.js. When I changed index.html to use an absolute path, i.e. /ui/scripts/foo.js, I was able to see some other pages. But they also use relative paths and get no further. So it looks like I missed a setting somewhere. But I could not find out what it is.
I found that once the DB was created there were no access permissions to it. I had to manually set them for the postgres users. Also, I had to change the authentication mode for postgres from 'Peer' to 'MD5' in order for the setup script to run.
Request Method: GET
Request URL: http://10.114.217.249:8000/ui/index.html
"/data/dist/index.html" does not exist
i changed the prod.py
UI_ROOT = os.getcwd()+ '/dist' to
UI_ROOT = os.getcwd()+ '/ignite/dist'
Now i can see the index page but am not able to authenticate. the username/password was created successfully.
What else can i check to see why authentication is not working. It does not give any errors. Even the server does not show any errors.
Is it possible to specify some specific config, i.e. the loopback address, of each switch by the fabric location discovery, not serial number? for example, for leaf-1, the ip add of loopback0 is set to 1.1.1.1/32, and leaf-2 is 2.2.2.2/32.
In my understanding, this specific config cannot be set in the fabric config profile, but only be set in the individual config according to the serial number rule. But if we need to set, i.e. the loopback address, for each switch, the fabric config profile will no longer be used, right?
I skimed through the script “ignite_poap.py”, but seems it only supports on n7k & n9k?
Does Ignite support n3k? Use this script or need to develop a new one?
Thanks.
I installed ignite on Centos 7 following 'Ignite server installation guide' Doc. But when I come to the 3.2. Execute setup script. following error message printed.
[root@localhost ignite]# python setup.py
Have you modified Ignite settings in ignite/conf.py? [y/n] y
Install system dependencies? [y/n] n
Install python dependencies? [y/n] n
Setting up Ignite server
Create Database (ignore error if database already exists) - [ERROR]
createdb: database creation failed: ERROR: database "ignite-master" already exists
Database Migrate - [ERROR]
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/usr/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/wwwroot/ignite/group/__init__.py", line 9, in <module>
from .celery_tasks import app as celery_app # noqa
File "/home/wwwroot/ignite/group/celery_tasks.py", line 9, in <module>
from group.models import *
File "/home/wwwroot/ignite/group/models.py", line 3, in <module>
from fabric.models import Switch
File "/home/wwwroot/ignite/fabric/models.py", line 3, in <module>
from bootstrap.models import SwitchBootDetail
File "/home/wwwroot/ignite/bootstrap/models.py", line 2, in <module>
from discovery.models import DiscoveryRule
File "/home/wwwroot/ignite/discovery/models.py", line 4, in <module>
from config.models import Profile
File "/home/wwwroot/ignite/config/models.py", line 12, in <module>
class Configlet(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 105, in __new__
app_config = apps.get_containing_app_config(module)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 237, in get_containing_app_config
self.check_apps_ready()
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Load user fixture - [ERROR]
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/usr/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/wwwroot/ignite/group/__init__.py", line 9, in <module>
from .celery_tasks import app as celery_app # noqa
File "/home/wwwroot/ignite/group/celery_tasks.py", line 9, in <module>
from group.models import *
File "/home/wwwroot/ignite/group/models.py", line 3, in <module>
from fabric.models import Switch
File "/home/wwwroot/ignite/fabric/models.py", line 3, in <module>
from bootstrap.models import SwitchBootDetail
File "/home/wwwroot/ignite/bootstrap/models.py", line 2, in <module>
from discovery.models import DiscoveryRule
File "/home/wwwroot/ignite/discovery/models.py", line 4, in <module>
from config.models import Profile
File "/home/wwwroot/ignite/config/models.py", line 12, in <module>
class Configlet(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 105, in __new__
app_config = apps.get_containing_app_config(module)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 237, in get_containing_app_config
self.check_apps_ready()
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Load image profile fixture - [ERROR]
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/usr/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/wwwroot/ignite/group/__init__.py", line 9, in <module>
from .celery_tasks import app as celery_app # noqa
File "/home/wwwroot/ignite/group/celery_tasks.py", line 9, in <module>
from group.models import *
File "/home/wwwroot/ignite/group/models.py", line 3, in <module>
from fabric.models import Switch
File "/home/wwwroot/ignite/fabric/models.py", line 3, in <module>
from bootstrap.models import SwitchBootDetail
File "/home/wwwroot/ignite/bootstrap/models.py", line 2, in <module>
from discovery.models import DiscoveryRule
File "/home/wwwroot/ignite/discovery/models.py", line 4, in <module>
from config.models import Profile
File "/home/wwwroot/ignite/config/models.py", line 12, in <module>
class Configlet(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 105, in __new__
app_config = apps.get_containing_app_config(module)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 237, in get_containing_app_config
self.check_apps_ready()
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Load workflow fixtures - [ERROR]
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/usr/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/wwwroot/ignite/group/__init__.py", line 9, in <module>
from .celery_tasks import app as celery_app # noqa
File "/home/wwwroot/ignite/group/celery_tasks.py", line 9, in <module>
from group.models import *
File "/home/wwwroot/ignite/group/models.py", line 3, in <module>
from fabric.models import Switch
File "/home/wwwroot/ignite/fabric/models.py", line 3, in <module>
from bootstrap.models import SwitchBootDetail
File "/home/wwwroot/ignite/bootstrap/models.py", line 2, in <module>
from discovery.models import DiscoveryRule
File "/home/wwwroot/ignite/discovery/models.py", line 4, in <module>
from config.models import Profile
File "/home/wwwroot/ignite/config/models.py", line 12, in <module>
class Configlet(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 105, in __new__
app_config = apps.get_containing_app_config(module)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 237, in get_containing_app_config
self.check_apps_ready()
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Load switch fixtures - [ERROR]
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 341, in execute
django.setup()
File "/usr/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/wwwroot/ignite/group/__init__.py", line 9, in <module>
from .celery_tasks import app as celery_app # noqa
File "/home/wwwroot/ignite/group/celery_tasks.py", line 9, in <module>
from group.models import *
File "/home/wwwroot/ignite/group/models.py", line 3, in <module>
from fabric.models import Switch
File "/home/wwwroot/ignite/fabric/models.py", line 3, in <module>
from bootstrap.models import SwitchBootDetail
File "/home/wwwroot/ignite/bootstrap/models.py", line 2, in <module>
from discovery.models import DiscoveryRule
File "/home/wwwroot/ignite/discovery/models.py", line 4, in <module>
from config.models import Profile
File "/home/wwwroot/ignite/config/models.py", line 12, in <module>
class Configlet(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 105, in __new__
app_config = apps.get_containing_app_config(module)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 237, in get_containing_app_config
self.check_apps_ready()
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Javascript IP+Port Setting - [OK]
POAP User Setting - [OK]
POAP Password Setting - [OK]
POAP IP Setting - [OK]
POAP Port Setting - [OK]
POAP MD5 - [OK]
Bootstrap Config Syslog IP Setting - [OK]
Bootstrap Config Syslog Port Setting - [OK]
Bootstrap Image Syslog IP Setting - [OK]
Bootstrap Image Syslog Port Setting - [OK]
RabbitMQ Username/Password Setting (ignore error if user already exists) - [ERROR]
/bin/sh: rabbitmqctl: command not found
RabbitMQ VHost Setting (ignore error if vhost already exists) - [ERROR]
/bin/sh: rabbitmqctl: command not found
RabbitMQ Permission Setting - [ERROR]
/bin/sh: rabbitmqctl: command not found
Restart RabbitMQ Server - [ERROR]
Redirecting to /bin/systemctl restart rabbitmq-server.service
Failed to restart rabbitmq-server.service: Unit not found.
Setting Celery User - [OK]
Setting Celery Group - [OK]
Copying celeryd init - [OK]
Copying celeryd settings - [OK]
Starting celery worker - [ERROR]
Traceback (most recent call last):
File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/lib/python2.7/site-packages/celery/__main__.py", line 18, in <module>
main()
File "/usr/lib/python2.7/site-packages/celery/__main__.py", line 14, in main
_main()
File "/usr/lib/python2.7/site-packages/celery/bin/celery.py", line 326, in main
cmd.execute_from_commandline(argv)
File "/usr/lib/python2.7/site-packages/celery/bin/celery.py", line 488, in execute_from_commandline
super(CeleryCommand, self).execute_from_commandline(argv)))
File "/usr/lib/python2.7/site-packages/celery/bin/base.py", line 279, in execute_from_commandline
argv = self.setup_app_from_commandline(argv)
File "/usr/lib/python2.7/site-packages/celery/bin/base.py", line 481, in setup_app_from_commandline
self.app = self.find_app(app)
File "/usr/lib/python2.7/site-packages/celery/bin/base.py", line 503, in find_app
return find_app(app, symbol_by_name=self.symbol_by_name)
File "/usr/lib/python2.7/site-packages/celery/app/utils.py", line 355, in find_app
sym = symbol_by_name(app, imp=imp)
File "/usr/lib/python2.7/site-packages/celery/bin/base.py", line 506, in symbol_by_name
return imports.symbol_by_name(name, imp=imp)
File "/usr/lib/python2.7/site-packages/kombu/utils/imports.py", line 56, in symbol_by_name
module = imp(module_name, package=package, **kwargs)
File "/usr/lib/python2.7/site-packages/celery/utils/imports.py", line 101, in import_from_cwd
return imp(module, package=package)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/wwwroot/ignite/group/__init__.py", line 9, in <module>
from .celery_tasks import app as celery_app # noqa
File "/home/wwwroot/ignite/group/celery_tasks.py", line 9, in <module>
from group.models import *
File "/home/wwwroot/ignite/group/models.py", line 3, in <module>
from fabric.models import Switch
File "/home/wwwroot/ignite/fabric/models.py", line 3, in <module>
from bootstrap.models import SwitchBootDetail
File "/home/wwwroot/ignite/bootstrap/models.py", line 2, in <module>
from discovery.models import DiscoveryRule
File "/home/wwwroot/ignite/discovery/models.py", line 4, in <module>
from config.models import Profile
File "/home/wwwroot/ignite/config/models.py", line 12, in <module>
class Configlet(models.Model):
File "/usr/lib/python2.7/site-packages/django/db/models/base.py", line 105, in __new__
app_config = apps.get_containing_app_config(module)
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 237, in get_containing_app_config
self.check_apps_ready()
File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
[root@localhost ignite]#
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.