gui-team-docs v1.0.0
Table of Contents
- A10 related sites
- A10 official online docs
- GUI team technological stack
- Related Service
- Development Related
A10 related sites
Sites | Description |
---|---|
https://a10networks.atlassian.net | JIRA sotries and bugs |
https://bugzilla | Bug records for SVN projects |
https://github.com/a10networks | A10 code base |
https://gk2.a10networks.com | A10 Networks Project Management |
http://192.168.95.29 | KB, GUI team's internal system |
http://cm-info.a10networks.com/maillog/sto | ACOS build info |
https://wd5.myworkday.com/osv_a10networks/ | A10's personal management |
http://192.168.99.24/wiki/index.php/Main_Page | The legacy A10's wiki |
https://reviewboard:1443 | Reviewboard for SVN projects only |
Using your A10
account
andpassword
to login.
A10 official online docs
ACOS 5.0-P1
GUI team technological stack
WEB Framework
Data Structure
Async
CSS
WEB Bundler
Development
- Typescript
- Prettier For VSCode
- Storybook
- ES6
Localization
Testing
Related Service
Taipei Office WIFI
- SSID: A10-ENG / A10-ENG-5G
- Password: a10networks:100%
Development Servers
- tp2: 192.168.99.27
- tp3: 192.168.99.28
Using your
account
andpassword
to login.
KB (Knowledge Base)
- TP
IP: 192.168.95.29
Username: admin
Password: a10@123 - BJ
IP: 192.168.105.93
KB database
IP: 192.168.95.155
Username: workgenius
Password: a10
Taipei AppSpider
IP: 192.168.99.148
User: administrator
Password: aTen-rapid7
GUI Team Github (out of service)
https://github.com/armaniExchange/
GUI Team GitLab (out of service)
GitLab VM: (out of service)
IP: 192.168.95.25
Username: admin
Password: a10
AutoForm Tag Previewer
AutoForm Documentation
IP: 192.168.95.156
Username: a10
Password: password
Share Softwares
\\192.168.99.24
Using your
account
andpassword
to login.
Printer
xerox network: \\192.168.98.51 \xerox a10@1234
VPN
Connection IP
203.69.130.35:10443
Software
Using SSH Connection
Authorization
Your VPN account & password (not same as your A10 account & password). Peter will help register one.
Development Related
Design Doc Template
Feature implementation workflow:
- Obtain a JIRA ticket / GK2 task from your project owner (assignee)
- Write design doc and test cases and review them with your project owner
- Implement the feature
- Code review
- Demo to your project owner, manager, and QA (If possible)
- Write a release doc if necessary
- Ship to QA
Git comment format
Basically, we highly recommend everyone to follow Conventional Commits to have a common git comment format as well as have versioning control.
Automation & Versioning control introduction
Code branches
NOTE: GIT is using in new releases, SVN is for old releases.
ACOS 5.0+
a10-gui-framework
a10-gui-widgets
a10-gui-common
The common used code base to share components for our multiple apps.
a10-gui-dgp-viz
The visualization of GUI dashboard generation package
harmony.controller branch develop
is the master
branch of this repo
Harmony Controller GUI, directory
hc-gui
Ways to deploy Harmony UI from local
Daily build by Jenkins Job: hcc-build-daily-common
a10-app-framework
Apps of HC GUI (ADC, CGN, GTP, ...etc)
Built App
DGF Training
https://web.microsoftstream.com/video/01221714-f2ae-444c-96b3-8cd2880f40f8
3.2.2 TPS Release
svn co svn+ssh://svn.a10networks.com/ax/bldsto/branches/rel/br_acos_3_2_2_tps/ 32_tps_11_22
gui(axgui) path: svn+ssh://svn.a10networks.com/ax/bldsto/branches/rel/br_acos_3_2_2_tps/target/sources/sto/apps/web/axgui
gui(a10gui) path: svn+ssh://svn.a10networks.com/ax/bldsto/branches/rel/br_acos_3_2_2_tps/target/sources/sto/apps/web/a10gui
bug 317049 rb xxx
Setup 3.2
Project root(3.1): target/source/sto/apps/web/axgui
Project root(3.2): target/source/sto/apps/web/a10gui
See also readme.md
/ readme.html
4.1 Old ACOS Web (SVN)
svn co svn+ssh://svn/ax/bldsto/branches/rel/br_acos_4_1_n br_41_11_22
bug 301945 rb xxx
Setup 4.1
Project root: target/source/sto/apps/axgui
See also readme.md
/ readme.html
aGalaxy (SVN)
cloud/agalaxyn/trunk/
Gitflow Workflow
a10-gui-framework
, a10-gui-widgets
, a10-gui-dgp-viz
, and a10-gui-common
should follow Gitflow workflow now to be consistent with our app projects such as gaacos, HC, and a10-app-framework (similar to git workflow).
Master branch
It is mainly used to put a stable, ready-to-go version. The source of this branch can only be merged from other branches, and developers will not directly commit to this branch. Because it is a stable version, the version number is also usually labeled on the Commit on this branch.
Develop branch
This branch is mainly the basic branch for all development. When new features are to be added, all Feature branches are cut out from this branch. After the feature branch is completed, it will be merged back into this branch.
Hotfix branch must read
Prefix: hotfix/
This is the ordinary way we did before that merging bug fixes from your fix branch into master directly. Please name your branch with a prefix hotfix/ and follow the below standard.
When there is an emergency problem with the online product, a Hotfix branch will be opened from the Master branch for repair. After the Hotfix branch is repaired, it will be merged back to the Master branch, and at the same time it will be merged into the Develop branch.
Merging Hotfix branches twice may cause inconvenience. Instead, you can also just merge the Hotfix branch into master
, and the repo admins should keep up develop branch with master branch before forking a release branch from develop branch
So why didn't you cut it out from the Develop branch at first? Because the functions of the Develop branch may be still under development, at this time, it is necessary to cut out from here and then merge back to the Master branch, which will cause greater disaster.
Release branch
Prefix: release/
When you think that the Develop branch is mature enough, you can merge the Develop branch into the Release branch and perform the final test before going online. After the test is completed, the Release branch will be merged into both the Master and Develop branches. The Master branch is an online version, and the purpose of merging back to the Develop branch is because some problems may be detected and corrected on the Release branch, so you need to synchronize with the Develop branch, so that the same problems will not occur again in subsequent versions.
Feature branch
Prefix: feature/
When it's time to start adding features, it's time to use the feature branch. Feature branches are all from the Develop branch, and will return to the Develop branch after completion.
For more details of GIT workflow, please refer to gitflow-workflow.
Thunder boxes List
http://192.168.95.29/main/knowledge/document/18d19ef4-b708-4da9-b643-ea8b026690b5
or execute below command under repository gaacos
$ npm run axinfo
Debug into Thunder
- Legacy method (deprecated soon)
$ debug a10support a
$ ssh 127.0.0.1 a10support
$ scor99%tilea
- Latest method (Apply for ACOS 5.0-P1+ and ACOS 5.1+ currently)
# Step 1: Generate Token on A10:
$ debug a10 x
Warning: Invalid/No input for "duration" param, defaulting to 2mins
A10 SUPPORT Version : 2
TOKEN : 6273bae41f40719d9ac0e453bb0ef599f134658f6bccfd6c9851ef702b708dc7
EAS : x
TOKEN Duration (mins) : 2
Note:
Please invoke "no debug a10support x 2" in order to invalidate the TOKEN
# Step 2: Fetch token using external client:
$ curl -d '{"token" : "6273bae41f40719d9ac0e453bb0ef599f134658f6bccfd6c9851ef702b708dc7", "eas" : "x"}' -H "Content-Type: application/json" -X POST http://13.56.60.225:8080/v2
{ "status" : "SUCCESS", "message" : "GHS creation passed.", "token" : "6273bae41f40719d9ac0e453bb0ef599f134658f6bccfd6c9851ef702b708dc7", "a10_support_password" : "__3=4^_*x"}
# Step 3: Use fetched password to login to shell:
$ ssh :: a10support
The authenticity of host ':: (::)' can't be established.
RSA key fingerprint is SHA256:UbANjUrgr5EO5aCz7v5+GEcN788xkaeFd82LTFJXSmE.
RSA key fingerprint is MD5:24:f2:9b:4a:36:ec:93:f7:dd:15:65:c7:ce:c5:46:28.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '::' (RSA) to the list of known hosts.
# pasted the password
Password: __3=4^_*x
Upgrade Thunder
Checkout branch and make a build
~/builds/$ svn co svn+ssh://svn.a10networks.com/ax/bldsto/branches/rel/br_acos_3_2_0_tps/ 32_tps_11_2
~/builds/$ cd 32_tps_11_2
~/builds/32_tps_11_2$ sudo make MOD=20 all
... after make done ...
Logging into ax and into config mode
$ upgrade hd pri scp://yourAccount@192.168.99.28/home/yourAccount/builds/32_tps_11_2/images/ACOS_non_FTA_3_2_0_273.64.tgz
done.
Troubleshooting
- Upgrading failed due to insufficient disk space
# login to bash first
$ cd /a10data/
# show file size
du -h --max-depth=1
# the following files/directories can be removed
# vcs-upgrade-images, up.log, sysroot.image.pri*, sto_gui.tar.gz cm_*, /a10data/log/showtech*
# if the disk is still insufficient after removed above files and the box is vThunder, then keep removing the files from largest
Avoid SVN cli password prompt (For SVN projects)
svn is more securer than cvs so every svn command connecting to a svn server will prompt for a password which sometimes becomes an overhead. To avoid that and only give the security information one time with little security compromise, you can use the following steps:
Run "ssh-keygen -t dsa -f ~/.ssh/id_dsa" and give a secure passphrase (treat it the same as your password)
Run "cat ~/.ssh/id_dsa.pub" and copy the contents somewhere for the next action
All users, run "ssh svn.a10networks.com" and select option 2 to paste the contents of your ~/.ssh/id_dsa.pub.
Beijing and Taipei users, run another "ssh svn" and select option 2 to paste the contents of your ~/.ssh/id_dsa.pub.
Now when you run "ssh svn.a10networks.com" and "ssh svn", you should get passphrase prompt.
Run "ssh-agent bash" (if you use other shell like csh, say "ssh-agent csh") to get into a new shell
If the above gives your quota error, run "ssh-agent -a $TMPDIR/agent.$$ bash".
Run "ssh-add" and type in your passphrase in the same new shell window
Now all svn commands should not ask for password or passphrase in the same new shell window (note if you quit this shell window, you have to restart from step 6)
Checkout code on your windows (SVN projects only)
See also email checkout code on your windows with less setup options
5 years ago