mirror of
				https://github.com/Telecominfraproject/ols-nos.git
				synced 2025-10-30 17:48:09 +00:00 
			
		
		
		
	[dockers] label SONiC Docker with manifest (#5939)
Signed-off-by: Stepan Blyschak stepanb@nvidia.com This PR is part of SONiC Application Extension Depends on #5938 - Why I did it To provide an infrastructure change in order to support SONiC Application Extension feature. - How I did it Label every installable SONiC Docker with a minimal required manifest and auto-generate packages.json file based on installed SONiC images. - How to verify it Build an image, execute the following command: admin@sonic:~$ docker inspect docker-snmp:1.0.0 | jq '.[0].Config.Labels["com.azure.sonic.manifest"]' -r | jq Cat /var/lib/sonic-package-manager/packages.json file to verify all dockers are listed there.
This commit is contained in:
		
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -20,6 +20,7 @@ target/ | ||||
| *-dbg | ||||
| *dbg.j2 | ||||
| *.img | ||||
| *.pyc | ||||
|  | ||||
| # Autogenerated Dockerfiles | ||||
| sonic-slave*/Dockerfile | ||||
| @@ -27,6 +28,10 @@ sonic-slave*/Dockerfile.user | ||||
| dockers/*/Dockerfile | ||||
| platform/*/docker-*/Dockerfile | ||||
|  | ||||
| # Autogenerated manifest files | ||||
| dockers/*/*manifest* | ||||
| platform/*/docker-*/*manifest* | ||||
|  | ||||
| # Installer-related files and directories | ||||
| installer/x86_64/platforms/ | ||||
|  | ||||
|   | ||||
							
								
								
									
										26
									
								
								files/build_templates/manifest.json.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								files/build_templates/manifest.json.j2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| { | ||||
|     "version": "1.0.0", | ||||
|     "package": { | ||||
|         "version": "{{ version }}", | ||||
|         "depends": {{ depends.split()|json if depends is defined else []}}, | ||||
|         "name": "{{ package_name }}" | ||||
|     }, | ||||
|     "service": { | ||||
|         "name": "{{ name }}", | ||||
|         "requires": {{ requires.split()|json if requires is defined else [] }}, | ||||
|         "after": {{ after.split()|json if after is defined else [] }}, | ||||
|         "before": {{ before.split()|json if before is defined else [] }}, | ||||
|         "dependent-of": {{ dependent_of.split()|json if dependent_of is defined else [] }}, | ||||
|         "asic-service": {{ asic_service }}, | ||||
|         "host-service": {{ host_service }} | ||||
|     }, | ||||
|     "container": { | ||||
|         "privileged": {{ privileged if privileged else 'false' }}, | ||||
|         "volumes": {{ volumes.split()|json if volumes is defined else [] }}, | ||||
|         "tmpfs": {{ tmpfs.split()|json if tmpfs is defined else [] }} | ||||
|     }, | ||||
|     "cli": { | ||||
|         "config": "{{ config_cli_plugin|default('') }}", | ||||
|         "show": "{{ show_cli_plugin|default('') }}" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										17
									
								
								files/build_templates/packages.json.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								files/build_templates/packages.json.j2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| { | ||||
| {% for docker_installation_target in installer_images.strip().split() -%} | ||||
| {% set pkgname, docker_build_path, image = docker_installation_target.split('|') -%} | ||||
| {% set imagefilepath = image.split(':')|first -%} | ||||
| {% set imageversion = image.split(':')|last -%} | ||||
| {% set imagefilename = imagefilepath.split('/')|last -%} | ||||
| {% set imagename = imagefilename.split('.')|first -%} | ||||
|     "{{ pkgname }}": { | ||||
|         "repository": "{{ imagename }}", | ||||
|         "description": "SONiC {{ pkgname }} package", | ||||
|         "default-reference": "{{ imageversion }}", | ||||
|         "installed-version": "{{ imageversion }}", | ||||
|         "built-in": true, | ||||
|         "installed": true | ||||
|     }{% if not loop.last %},{% endif %} | ||||
| {% endfor %} | ||||
| } | ||||
| @@ -618,11 +618,21 @@ sudo mount proc /proc -t proc | ||||
| sudo mkdir $FILESYSTEM_ROOT/target | ||||
| sudo mount --bind target $FILESYSTEM_ROOT/target | ||||
| sudo chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS info | ||||
| {% for image in installer_images.strip().split(' ') -%} | ||||
| {% set imagefilename = image.split('/')|last -%} | ||||
|  | ||||
| {% for docker_installation_target in installer_images.strip().split() -%} | ||||
| {% set pkgname, docker_build_path, image = docker_installation_target.split('|') %} | ||||
| {% set imagefilepath = image.split(':')|first -%} | ||||
| {% set imagefilename = imagefilepath.split('/')|last -%} | ||||
| {% set imagename = imagefilename.split('.')|first -%} | ||||
| sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS load -i {{image}} | ||||
| sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS load -i {{imagefilepath}} | ||||
| sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS tag {{imagename}}:latest {{imagename}}:"${SONIC_IMAGE_VERSION}" | ||||
| # Check if manifest exists for {{imagename}} and it is a valid JSON | ||||
| sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS inspect {{imagename}}:latest \ | ||||
|     | jq '.[0].Config.Labels["com.azure.sonic.manifest"]' -r > /tmp/manifest.json | ||||
| jq -e . /tmp/manifest.json || { | ||||
|     >&2 echo "docker image {{imagename}} has no manifest or manifest is not a valid JSON" | ||||
|     exit 1 | ||||
| } | ||||
| {% if imagename.endswith('-dbg') %} | ||||
| {% set imagebasename = imagename.replace('-dbg', '') -%} | ||||
| sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS tag {{imagename}}:latest {{imagebasename}}:"${SONIC_IMAGE_VERSION}" | ||||
| @@ -630,6 +640,10 @@ sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS ta | ||||
| {% endif %} | ||||
| {% endfor %} | ||||
|  | ||||
| SONIC_PACKAGE_MANAGER_FOLDER="/var/lib/sonic-package-manager/" | ||||
| sudo mkdir -p $FILESYSTEM_ROOT/$SONIC_PACKAGE_MANAGER_FOLDER | ||||
| j2 $BUILD_TEMPLATES/packages.json.j2 | sudo tee $FILESYSTEM_ROOT/$SONIC_PACKAGE_MANAGER_FOLDER/packages.json | ||||
|  | ||||
| # Copy docker_image_ctl.j2 for SONiC Package Manager | ||||
| sudo cp $BUILD_TEMPLATES/docker_image_ctl.j2 $FILESYSTEM_ROOT_USR_SHARE_SONIC_TEMPLATES/docker_image_ctl.j2 | ||||
|  | ||||
|   | ||||
| @@ -17,6 +17,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_BFN_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_BFN_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_BFN_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_BFN_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_BFN_RPC)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_BFN_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_BFN_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
|   | ||||
| @@ -10,5 +10,10 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
|                                $(LIBSAIMETADATA_DBG) \ | ||||
|                                $(LIBSAIREDIS_DBG) | ||||
|  | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += monit_syncd:/etc/monit/conf.d | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
| ENV DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
|   | ||||
| @@ -17,6 +17,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_BRCM_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_BRCM_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_BRCM_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_BRCM_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += --privileged -t | ||||
| $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_BRCM_RPC)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|   | ||||
| @@ -11,6 +11,9 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
|                                 $(LIBSAIMETADATA_DBG) \ | ||||
|                                 $(LIBSAIREDIS_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += bcmcmd:/usr/bin/bcmcmd | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -17,6 +17,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_CAVM_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_CAVM_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_CAVM_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_CAVM_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_CAVM_RPC)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_CAVM_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_CAVM_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
|   | ||||
| @@ -16,6 +16,9 @@ ifneq ($(ENABLE_SYNCD_RPC),y) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_CAVM) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_CAVM)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_CAVM)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_CAVM)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -17,6 +17,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_CENTEC_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += --privileged -t | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
|   | ||||
| @@ -10,6 +10,9 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
|                                 $(LIBSAIMETADATA_DBG) \ | ||||
|                                 $(LIBSAIREDIS_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
| $(DOCKER_SYNCD_CENTEC)_RUN_OPT += --privileged -t | ||||
| $(DOCKER_SYNCD_CENTEC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -17,6 +17,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_CENTEC_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += --privileged -t | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_CENTEC_RPC)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd | ||||
|   | ||||
| @@ -10,6 +10,9 @@ $(DOCKER_SYNCD_CENTEC)_DEPENDS += $(SYNCD_DBG) \ | ||||
|                                   $(LIBSAIMETADATA_DBG) \ | ||||
|                                   $(LIBSAIREDIS_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_CENTEC)_RUN_OPT += --privileged -t | ||||
| $(DOCKER_SYNCD_CENTEC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_CENTEC)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -10,6 +10,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_INVM_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_INVM_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_INVM_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_INVM_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_INVM_RPC)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_INVM_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_INVM_RPC)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd | ||||
|   | ||||
| @@ -13,4 +13,7 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
| SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BASE) | ||||
| SONIC_STRETCH_DBG_DOCKERS += $(DOCKER_SYNCD_BASE_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-stretch | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -18,6 +18,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
|   | ||||
| @@ -13,5 +13,8 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
| SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BASE) | ||||
| SONIC_STRETCH_DBG_DOCKERS += $(DOCKER_SYNCD_BASE_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
| $(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += monit_syncd:/etc/monit/conf.d | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-stretch | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -17,6 +17,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
|   | ||||
| @@ -10,5 +10,8 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
|                                 $(LIBSAIMETADATA_DBG) \ | ||||
|                                 $(LIBSAIREDIS_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| #$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
| $(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += monit_syncd:/etc/monit/conf.d | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -18,6 +18,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
|   | ||||
| @@ -13,6 +13,9 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
| SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BASE) | ||||
| SONIC_STRETCH_DBG_DOCKERS += $(DOCKER_SYNCD_BASE_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd | ||||
| $(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += monit_syncd:/etc/monit/conf.d | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-stretch | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -20,6 +20,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MLNX_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_MLNX_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_MLNX_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_MLNX_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_MLNX_RPC)_RUN_OPT += --privileged -t | ||||
| $(DOCKER_SYNCD_MLNX_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_MLNX_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
|   | ||||
| @@ -14,5 +14,8 @@ ifeq ($(SDK_FROM_SRC), y) | ||||
| $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(MLNX_SDK_DBG_DEBS) $(MLNX_SAI_DBGSYM) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
| $(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += monit_syncd:/etc/monit/conf.d | ||||
|   | ||||
| @@ -2,6 +2,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| RUN mkdir -p /var/run/sx_sdk | ||||
|   | ||||
| @@ -18,6 +18,8 @@ SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_NEPHOS_RPC) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_SYNCD_NEPHOS_RPC)_CONTAINER_NAME = syncd | ||||
| $(DOCKER_SYNCD_NEPHOS_RPC)_VERSION = 1.0.0-rpc | ||||
| $(DOCKER_SYNCD_NEPHOS_RPC)_PACKAGE_NAME = syncd | ||||
| $(DOCKER_SYNCD_NEPHOS_RPC)_RUN_OPT += --net=host --privileged -t | ||||
| $(DOCKER_SYNCD_NEPHOS_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf | ||||
| $(DOCKER_SYNCD_NEPHOS_RPC)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|   | ||||
| @@ -14,6 +14,9 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_DBG) \ | ||||
| SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BASE) | ||||
| SONIC_STRETCH_DBG_DOCKERS += $(DOCKER_SYNCD_BASE_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-stretch | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -11,4 +11,7 @@ $(DOCKER_GBSYNCD_BASE)_DBG_DEPENDS += $(SYNCD_VS_DBG) \ | ||||
|                                 $(LIBSAIREDIS_DBG) \ | ||||
|                                 $(LIBSAIVS_DBG) | ||||
|  | ||||
| $(DOCKER_GBSYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_GBSYNCD_BASE)_PACKAGE_NAME = gbsyncd | ||||
|  | ||||
| $(DOCKER_GBSYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -11,4 +11,7 @@ $(DOCKER_SYNCD_BASE)_DBG_DEPENDS += $(SYNCD_VS_DBG) \ | ||||
|                                 $(LIBSAIREDIS_DBG) \ | ||||
|                                 $(LIBSAIVS_DBG) | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_SYNCD_BASE)_PACKAGE_NAME = syncd | ||||
|  | ||||
| $(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM docker-config-engine-buster | ||||
|  | ||||
| ARG docker_container_name | ||||
|  | ||||
| RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf | ||||
|  | ||||
| ## Make apt-get non-interactive | ||||
|   | ||||
| @@ -12,6 +12,9 @@ $(DOCKER_DATABASE)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMA | ||||
|  | ||||
| $(DOCKER_DATABASE)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_DATABASE)_VERSION = 1.0.0 | ||||
| $(DOCKER_DATABASE)_PACKAGE_NAME = database | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_DATABASE) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_DATABASE) | ||||
|  | ||||
|   | ||||
| @@ -15,6 +15,9 @@ $(DOCKER_DHCP_RELAY)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_I | ||||
|  | ||||
| $(DOCKER_DHCP_RELAY)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_DHCP_RELAY)_VERSION = 1.0.0 | ||||
| $(DOCKER_DHCP_RELAY)_PACKAGE_NAME = dhcp-relay | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_DHCP_RELAY) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_DHCP_RELAY) | ||||
|  | ||||
|   | ||||
| @@ -16,6 +16,9 @@ $(DOCKER_FPM_FRR)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAG | ||||
|  | ||||
| $(DOCKER_FPM_FRR)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_FPM_FRR)_VERSION = 1.0.0 | ||||
| $(DOCKER_FPM_FRR)_PACKAGE_NAME = fpm-frr | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_FPM_FRR) | ||||
|  | ||||
| SONIC_DOCKER_DBG_IMAGES += $(DOCKER_FPM_FRR_DBG) | ||||
|   | ||||
| @@ -4,6 +4,10 @@ DOCKER_FPM_GOBGP = docker-fpm-gobgp.gz | ||||
| $(DOCKER_FPM_GOBGP)_PATH = $(DOCKERS_PATH)/docker-fpm-gobgp | ||||
| $(DOCKER_FPM_GOBGP)_DEPENDS += $(GOBGP) | ||||
| $(DOCKER_FPM_GOBGP)_LOAD_DOCKERS += $(DOCKER_FPM_QUAGGA) | ||||
|  | ||||
| $(DOCKER_FPM_GOBGP)_VERSION = 1.0.0 | ||||
| $(DOCKER_FPM_GOBGP)_PACKAGE_NAME = fpm-gobgp | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_FPM_GOBGP) | ||||
|  | ||||
| $(DOCKER_FPM_GOBGP)_CONTAINER_NAME = bgp | ||||
|   | ||||
| @@ -4,6 +4,10 @@ DOCKER_FPM_QUAGGA = docker-fpm-quagga.gz | ||||
| $(DOCKER_FPM_QUAGGA)_PATH = $(DOCKERS_PATH)/docker-fpm-quagga | ||||
| $(DOCKER_FPM_QUAGGA)_DEPENDS += $(QUAGGA) $(SWSS) | ||||
| $(DOCKER_FPM_QUAGGA)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE) | ||||
|  | ||||
| $(DOCKER_FPM_QUAGGA)_VERSION = 1.0.0 | ||||
| $(DOCKER_FPM_QUAGGA)_PACKAGE_NAME = fpm-quagga | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_FPM_QUAGGA) | ||||
|  | ||||
| $(DOCKER_FPM_QUAGGA)_CONTAINER_NAME = bgp | ||||
|   | ||||
| @@ -10,6 +10,9 @@ $(DOCKER_ICCPD)_DBG_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG) $(ICCPD_DBG) | ||||
| $(DOCKER_ICCPD)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES) | ||||
| $(DOCKER_ICCPD)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_ICCPD)_VERSION = 1.0.0 | ||||
| $(DOCKER_ICCPD)_ICCPD = iccpd | ||||
|  | ||||
| ifeq ($(INCLUDE_ICCPD), y) | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_ICCPD) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ICCPD) | ||||
|   | ||||
| @@ -16,6 +16,9 @@ $(DOCKER_LLDP)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_P | ||||
| $(DOCKER_LLDP)_PYTHON_WHEELS += $(DBSYNCD_PY3) | ||||
| $(DOCKER_LLDP)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_LLDP)_VERSION = 1.0.0 | ||||
| $(DOCKER_LLDP)_PACKAGE_NAME = lldp | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_LLDP) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_LLDP) | ||||
|  | ||||
|   | ||||
| @@ -26,6 +26,8 @@ SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_MACSEC_DBG) | ||||
| endif | ||||
|  | ||||
| $(DOCKER_MACSEC)_CONTAINER_NAME = macsec | ||||
| $(DOCKER_MACSEC)_VERSION = 1.0.0 | ||||
| $(DOCKER_MACSEC)_PACKAGE_NAME = macsec | ||||
| $(DOCKER_MACSEC)_RUN_OPT += --privileged -t | ||||
| $(DOCKER_MACSEC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro | ||||
| $(DOCKER_MACSEC)_RUN_OPT += -v /host/warmboot:/var/warmboot | ||||
|   | ||||
| @@ -13,6 +13,9 @@ $(DOCKER_NAT)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PA | ||||
|  | ||||
| $(DOCKER_NAT)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_NAT)_VERSION = 1.0.0 | ||||
| $(DOCKER_NAT)_PACKAGE_NAME = nat | ||||
|  | ||||
| ifeq ($(INCLUDE_NAT), y) | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_NAT) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_NAT) | ||||
|   | ||||
| @@ -17,6 +17,9 @@ $(DOCKER_ORCHAGENT)_PATH = $(DOCKERS_PATH)/$(DOCKER_ORCHAGENT_STEM) | ||||
|  | ||||
| $(DOCKER_ORCHAGENT)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_ORCHAGENT)_VERSION = 1.0.0 | ||||
| $(DOCKER_ORCHAGENT)_PACKAGE_NAME = swss | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_ORCHAGENT) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ORCHAGENT) | ||||
|  | ||||
|   | ||||
| @@ -44,6 +44,9 @@ $(DOCKER_PLATFORM_MONITOR)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_PLATFORM_MONITOR)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_PLATFORM_MONITOR)_VERSION = 1.0.0 | ||||
| $(DOCKER_PLATFORM_MONITOR)_PACKAGE_NAME = pmon | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_PLATFORM_MONITOR) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_PLATFORM_MONITOR) | ||||
|  | ||||
|   | ||||
| @@ -10,6 +10,9 @@ $(DOCKER_RESTAPI)_PATH = $(DOCKERS_PATH)/$(DOCKER_RESTAPI_STEM) | ||||
|  | ||||
| $(DOCKER_RESTAPI)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_STRETCH) | ||||
|  | ||||
| $(DOCKER_RESTAPI)_VERSION = 1.0.0 | ||||
| $(DOCKER_RESTAPI)_PACKAGE_NAME = restapi | ||||
|  | ||||
| ifeq ($(INCLUDE_RESTAPI), y) | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_RESTAPI) | ||||
| SONIC_STRETCH_DOCKERS += $(DOCKER_RESTAPI) | ||||
|   | ||||
| @@ -13,6 +13,9 @@ $(DOCKER_ROUTER_ADVERTISER)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER | ||||
|  | ||||
| $(DOCKER_ROUTER_ADVERTISER)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_ROUTER_ADVERTISER)_VERSION = 1.0.0 | ||||
| $(DOCKER_ROUTER_ADVERTISER)_PACKAGE_NAME = radv | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_ROUTER_ADVERTISER) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ROUTER_ADVERTISER) | ||||
|  | ||||
|   | ||||
| @@ -13,6 +13,9 @@ $(DOCKER_SFLOW)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_ | ||||
|  | ||||
| $(DOCKER_SFLOW)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_SFLOW)_VERSION = 1.0.0 | ||||
| $(DOCKER_SFLOW)_PACKAGE_NAME = sflow | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_SFLOW) | ||||
| ifeq ($(INCLUDE_SFLOW), y) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SFLOW) | ||||
|   | ||||
| @@ -17,6 +17,9 @@ $(DOCKER_SNMP)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_P | ||||
| $(DOCKER_SNMP)_PYTHON_WHEELS += $(SONIC_PY_COMMON_PY3) $(SONIC_PLATFORM_COMMON_PY3) $(SWSSSDK_PY3) $(ASYNCSNMP_PY3) | ||||
| $(DOCKER_SNMP)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_SNMP)_VERSION = 1.0.0 | ||||
| $(DOCKER_SNMP)_PACKAGE_NAME = snmp | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_SNMP) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SNMP) | ||||
|  | ||||
|   | ||||
| @@ -13,6 +13,10 @@ $(DOCKER_MGMT_FRAMEWORK)_DBG_DEPENDS += $(SONIC_MGMT_FRAMEWORK_DBG) | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK) | ||||
| $(DOCKER_MGMT_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_MGMT_FRAMEWORK)_VERSION = 1.0.0 | ||||
| $(DOCKER_MGMT_FRAMEWORK)_PACKAGE_NAME = mgmt-framework | ||||
|  | ||||
| $(DOCKER_MGMT_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES) | ||||
|  | ||||
| ifeq ($(INCLUDE_MGMT_FRAMEWORK), y) | ||||
|   | ||||
| @@ -15,6 +15,9 @@ $(DOCKER_TEAMD)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_ | ||||
|  | ||||
| $(DOCKER_TEAMD)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_TEAMD)_VERSION = 1.0.0 | ||||
| $(DOCKER_TEAMD)_PACKAGE_NAME = teamd | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_TEAMD) | ||||
| SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_TEAMD) | ||||
|  | ||||
|   | ||||
| @@ -11,6 +11,10 @@ $(DOCKER_TELEMETRY)_DEPENDS += $(SONIC_TELEMETRY) | ||||
| $(DOCKER_TELEMETRY)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_DEPENDS) | ||||
|  | ||||
| $(DOCKER_TELEMETRY)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER) | ||||
|  | ||||
| $(DOCKER_TELEMETRY)_VERSION = 1.0.0 | ||||
| $(DOCKER_TELEMETRY)_PACKAGE_NAME = telemetry | ||||
|  | ||||
| $(DOCKER_TELEMETRY)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES) | ||||
|  | ||||
| SONIC_DOCKER_IMAGES += $(DOCKER_TELEMETRY) | ||||
|   | ||||
| @@ -166,3 +166,36 @@ sudo mount -t overlay overlay -olowerdir=/var/lib/dpkg,upperdir=$$upperdir,workd | ||||
| export SONIC_DPKG_ADMINDIR=$$mergedir | ||||
| trap "sudo umount $$mergedir && rm -rf $$mergedir $$upperdir $$workdir" EXIT | ||||
| endef | ||||
|  | ||||
|  | ||||
| ############################################################################### | ||||
| ## Manifest generation routine | ||||
| ## TODO: changelog generation | ||||
| ############################################################################### | ||||
| # call: | ||||
| #     generate_manifest some_docker.gz, version_suffix | ||||
| define generate_manifest | ||||
|     $(eval export version=$($(1).gz_VERSION)$(2)) | ||||
|     $(eval export name=$($(1).gz_CONTAINER_NAME)) | ||||
|     $(eval export package_name=$($(1).gz_PACKAGE_NAME)) | ||||
|     $(eval export asic_service=$(shell [ -f files/build_templates/per_namespace/$(name).service.j2 ] && echo true || echo false)) | ||||
|     $(eval export host_service=$(shell [ -f files/build_templates/$(name).service.j2 ] && echo true || echo false)) | ||||
|     $(eval export depends=$($(1).gz_PACKAGE_DEPENDS)) | ||||
|     $(eval export requires=$($(1).gz_SERVICE_REQUIRES)) | ||||
|     $(eval export after=$($(1).gz_SERVICE_AFTER)) | ||||
|     $(eval export before=$($(1).gz_SERVICE_BEFORE)) | ||||
|     $(eval export dependent_of=$($(1).gz_SERVICE_DEPENDENT_OF)) | ||||
|     $(eval export privileged=$($(1).gz_CONTAINER_PRIVILEGED)) | ||||
|     $(eval export volumes=$($(1).gz_CONTAINER_VOLUMES)) | ||||
|     $(eval export tmpfs=$($(1).gz_CONTAINER_TMPFS)) | ||||
|     $(eval export config_cli_plugin=$($(1).gz_CLI_CONFIG_PLUGIN)) | ||||
|     $(eval export show_cli_plugin=$($(1).gz_CLI_SHOW_PLUGIN)) | ||||
|     j2 $($*.gz_PATH)/Dockerfile.j2 > $($(1).gz_PATH)/Dockerfile | ||||
|     j2 --customize scripts/j2cli/json_filter.py files/build_templates/manifest.json.j2 > $($(1).gz_PATH)/manifest.common.json | ||||
|     if [ -f $($*.gz_PATH)/manifest.part.json.j2 ]; then | ||||
|         j2 --customize scripts/j2cli/json_filter.py $($(1).gz_PATH)/manifest.part.json.j2 > $($(1).gz_PATH)/manifest.part.json | ||||
|         jq -s '.[0] * .[1]' $($(1).gz_PATH)/manifest.common.json $($(1).gz_PATH)/manifest.part.json > $($(1).gz_PATH)/manifest.json | ||||
|     else | ||||
|         mv $($(1).gz_PATH)/manifest.common.json $($(1).gz_PATH)/manifest.json | ||||
|     fi | ||||
| endef | ||||
|   | ||||
							
								
								
									
										12
									
								
								scripts/j2cli/json_filter.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								scripts/j2cli/json_filter.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| import json | ||||
|  | ||||
|  | ||||
| def extra_filters(): | ||||
|     """ Declare some custom filters. | ||||
|  | ||||
|         Returns: dict(name = function) | ||||
|     """ | ||||
|     return dict( | ||||
|         json=json.dumps, | ||||
|     ) | ||||
|  | ||||
							
								
								
									
										9
									
								
								slave.mk
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								slave.mk
									
									
									
									
									
								
							| @@ -748,6 +748,7 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform | ||||
| 		$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_dbgs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DBG_PACKAGES)))\n" | awk '!a[$$0]++')) | ||||
| 		$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_pkgs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_APT_PACKAGES)))\n" | awk '!a[$$0]++')) | ||||
| 		j2 $($*.gz_PATH)/Dockerfile.j2 > $($*.gz_PATH)/Dockerfile | ||||
| 		$(call generate_manifest,$*) | ||||
| 		# Prepare docker build info | ||||
| 		PACKAGE_URL_PREFIX=$(PACKAGE_URL_PREFIX) \ | ||||
| 		SONIC_ENFORCE_VERSIONS=$(SONIC_ENFORCE_VERSIONS) \ | ||||
| @@ -765,6 +766,7 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform | ||||
| 			--build-arg frr_user_uid=$(FRR_USER_UID) \ | ||||
| 			--build-arg frr_user_gid=$(FRR_USER_GID) \ | ||||
| 			--build-arg image_version=$(SONIC_IMAGE_VERSION) \ | ||||
| 			--label com.azure.sonic.manifest="$$(cat $($*.gz_PATH)/manifest.json)" \ | ||||
| 			--label Tag=$(SONIC_IMAGE_VERSION) \ | ||||
| 			-t $* $($*.gz_PATH) $(LOG) | ||||
| 		scripts/collect_docker_version_files.sh $* $(TARGET_PATH) | ||||
| @@ -801,6 +803,7 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_DBG_IMAGES)) : $(TARGET_PATH)/%-$(DBG_IMAG | ||||
| 		$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_dbg_pkgs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DBG_APT_PACKAGES),RDEPENDS))\n" | awk '!a[$$0]++')) | ||||
| 		./build_debug_docker_j2.sh $* $(subst -,_,$(notdir $($*.gz_PATH)))_dbg_debs $(subst -,_,$(notdir $($*.gz_PATH)))_image_dbgs > $($*.gz_PATH)/Dockerfile-dbg.j2 | ||||
| 		j2 $($*.gz_PATH)/Dockerfile-dbg.j2 > $($*.gz_PATH)/Dockerfile-dbg | ||||
| 		$(call generate_manifest,$*,-dbg) | ||||
| 		# Prepare docker build info | ||||
| 		PACKAGE_URL_PREFIX=$(PACKAGE_URL_PREFIX) \ | ||||
| 		SONIC_ENFORCE_VERSIONS=$(SONIC_ENFORCE_VERSIONS) \ | ||||
| @@ -813,6 +816,7 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_DBG_IMAGES)) : $(TARGET_PATH)/%-$(DBG_IMAG | ||||
| 			--build-arg http_proxy=$(HTTP_PROXY) \ | ||||
| 			--build-arg no_proxy=$(NO_PROXY) \ | ||||
| 			--build-arg docker_container_name=$($*.gz_CONTAINER_NAME) \ | ||||
| 			--label com.azure.sonic.manifest="$$(cat $($*.gz_PATH)/manifest.json)" \ | ||||
| 			--label Tag=$(SONIC_IMAGE_VERSION) \ | ||||
| 			--file $($*.gz_PATH)/Dockerfile-dbg \ | ||||
| 			-t $*-dbg $($*.gz_PATH) $(LOG) | ||||
| @@ -917,7 +921,10 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \ | ||||
| 	export enable_pfcwd_on_start="$(ENABLE_PFCWD_ON_START)" | ||||
| 	export installer_debs="$(addprefix $(IMAGE_DISTRO_DEBS_PATH)/,$($*_INSTALLS))" | ||||
| 	export lazy_installer_debs="$(foreach deb, $($*_LAZY_INSTALLS),$(foreach device, $($(deb)_PLATFORM),$(addprefix $(device)@, $(IMAGE_DISTRO_DEBS_PATH)/$(deb))))" | ||||
| 	export installer_images="$(addprefix $(TARGET_PATH)/,$($*_DOCKERS))" | ||||
| 	export installer_images="$(foreach docker, $($*_DOCKERS),\ | ||||
| 				$(addprefix $($(docker)_PACKAGE_NAME)|,\ | ||||
| 					$(addprefix $($(docker)_PATH)|,\ | ||||
| 						$(addprefix $(TARGET_PATH)/,$(addsuffix :$($(docker)_VERSION),$(docker))))))" | ||||
| 	export sonic_py_common_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PY_COMMON_PY2))" | ||||
| 	export sonic_py_common_py3_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PY_COMMON_PY3))" | ||||
| 	export config_engine_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_CONFIG_ENGINE_PY2))" | ||||
|   | ||||
| @@ -77,6 +77,7 @@ RUN apt-get update && apt-get install -y \ | ||||
|         dh-systemd \ | ||||
|         libzmq5 \ | ||||
|         libzmq3-dev \ | ||||
|         jq \ | ||||
| # For quagga build | ||||
|         libreadline-dev \ | ||||
|         texlive-latex-base \ | ||||
|   | ||||
| @@ -63,6 +63,7 @@ RUN apt-get update && apt-get install -y \ | ||||
|         perl-modules \ | ||||
|         libswitch-perl \ | ||||
|         dh-systemd \ | ||||
|         jq \ | ||||
| # For quagga build | ||||
|         libreadline-dev \ | ||||
|         texlive-latex-base \ | ||||
|   | ||||
| @@ -76,6 +76,7 @@ RUN apt-get update && apt-get install -y \ | ||||
|         dh-systemd \ | ||||
|         libzmq5 \ | ||||
|         libzmq3-dev \ | ||||
|         jq \ | ||||
| # For quagga build | ||||
|         libreadline-dev \ | ||||
|         texlive-latex-base \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Stepan Blyshchak
					Stepan Blyshchak