mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-05-05 16:49:08 +00:00
Merge pull request #7540 from VersatusHPC/fix/remove-docker-lifecycle
fix: remove Docker container lifecycle management (dead code since 2016)
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
Docker
|
||||
======
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
dockerized_xcat/run_xcat_in_docker_host.rst
|
||||
@@ -9,7 +9,7 @@ Advanced Topics
|
||||
migration/index.rst
|
||||
confluent/index.rst
|
||||
goconserver/index.rst
|
||||
docker/index.rst
|
||||
docker/dockerized_xcat/run_xcat_in_docker_host.rst
|
||||
domain_name_resolution/index.rst
|
||||
gpu/index.rst
|
||||
hamn/index.rst
|
||||
|
||||
@@ -19,7 +19,7 @@ SYNOPSIS
|
||||
********
|
||||
|
||||
|
||||
\ **group Attributes:**\ \ *addkcmdline*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *dockercpus*\ , \ *dockerflag*\ , \ *dockerhost*\ , \ *dockermemory*\ , \ *dockernics*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groupname*\ , \ *grouptype*\ , \ *hcp*\ , \ *height*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *membergroups*\ , \ *members*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *wherevals*\ , \ *xcatmaster*\
|
||||
\ **group Attributes:**\ \ *addkcmdline*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groupname*\ , \ *grouptype*\ , \ *hcp*\ , \ *height*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *membergroups*\ , \ *members*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *wherevals*\ , \ *xcatmaster*\
|
||||
|
||||
|
||||
***********
|
||||
@@ -261,48 +261,6 @@ group Attributes:
|
||||
|
||||
|
||||
|
||||
\ **dockercpus**\ (vm.cpus)
|
||||
|
||||
Number of CPUs the node should see.
|
||||
|
||||
|
||||
|
||||
\ **dockerflag**\ (vm.othersettings)
|
||||
|
||||
This is a semicolon-delimited list of key-value pairs to be included in a vmx file of VMware or KVM. DO NOT use 'chdef <node> -p|-m vmothersetting=...' to add options to it or delete options from it because chdef uses commas, not semicolons, to separate items.
|
||||
Hugepage on POWER systems:
|
||||
Specify the hugepage and/or bsr (Barrier Synchronization Register) values, e.g., 'hugepage:1,bsr:2'.
|
||||
KVM CPU mode:
|
||||
Specify how the host CPUs are utilized, e.g., 'cpumode:host-passthrough', 'cpumode:host-model'. With the passthrough mode, the performance of x86 VMs can be improved significantly.
|
||||
KVM CPU pinning:
|
||||
Specify which host CPUs are used, e.g., 'vcpupin:'0-15,^8', where '-' denotes the range and '^' denotes exclusion. This option allows a comma-delimited list.
|
||||
KVM memory binding:
|
||||
Specify which nodes that host memory are used, e.g., 'membind:0', where the memory in node0 of the hypervisor is used. /sys/devices/system/node has node0 and node8 on some POWER systems, node0 and node1 on some x86_64 systems. This option allows a guest VM to access specific memory regions.
|
||||
PCI passthrough:
|
||||
PCI devices can be assigned to a virtual machine for exclusive usage, e.g., 'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0'. A PCI device can also be expressed as 'devpassthrough:0001:01:00.1'. The devices are put in a comma-delimited list. The PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host.
|
||||
VM machine type:
|
||||
Specify a machine type for VM creation on the host, e.g., 'machine:pc'. Typical machine types are pc, q35, and pseries.
|
||||
|
||||
|
||||
|
||||
\ **dockerhost**\ (vm.host)
|
||||
|
||||
The system that currently hosts the VM
|
||||
|
||||
|
||||
|
||||
\ **dockermemory**\ (vm.memory)
|
||||
|
||||
Megabytes of memory the VM currently should be set to.
|
||||
|
||||
|
||||
|
||||
\ **dockernics**\ (vm.nics)
|
||||
|
||||
Network configuration parameters. Of the general form [physnet:]interface,.. Generally, interface describes the vlan entity (default for native, tagged for tagged, vl[number] for a specific vlan. physnet is a virtual switch name or port description that is used for some virtualization technologies to construct virtual switches. hypervisor.netmap can map names to hypervisor specific layouts, or the descriptions described there may be used directly here where possible. A macvtap device can be created by adding the "|direct" suffix to the interface name.
|
||||
|
||||
|
||||
|
||||
\ **domainadminpassword**\ (domain.adminpassword)
|
||||
|
||||
Allow a node specific indication of Administrative user password for the domain. Most will want to ignore this in favor of passwd table.
|
||||
|
||||
@@ -19,7 +19,7 @@ SYNOPSIS
|
||||
********
|
||||
|
||||
|
||||
\ **node Attributes:**\ \ *addkcmdline*\ , \ *appstatus*\ , \ *appstatustime*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *dockercpus*\ , \ *dockerflag*\ , \ *dockerhost*\ , \ *dockermemory*\ , \ *dockernics*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groups*\ , \ *hcp*\ , \ *height*\ , \ *hidden*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *node*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *primarysn*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *status*\ , \ *statustime*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *updatestatus*\ , \ *updatestatustime*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *xcatmaster*\ , \ *zonename*\
|
||||
\ **node Attributes:**\ \ *addkcmdline*\ , \ *appstatus*\ , \ *appstatustime*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groups*\ , \ *hcp*\ , \ *height*\ , \ *hidden*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *node*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *primarysn*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *status*\ , \ *statustime*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *updatestatus*\ , \ *updatestatustime*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *xcatmaster*\ , \ *zonename*\
|
||||
|
||||
|
||||
***********
|
||||
@@ -273,48 +273,6 @@ node Attributes:
|
||||
|
||||
|
||||
|
||||
\ **dockercpus**\ (vm.cpus)
|
||||
|
||||
Number of CPUs the node should see.
|
||||
|
||||
|
||||
|
||||
\ **dockerflag**\ (vm.othersettings)
|
||||
|
||||
This is a semicolon-delimited list of key-value pairs to be included in a vmx file of VMware or KVM. DO NOT use 'chdef <node> -p|-m vmothersetting=...' to add options to it or delete options from it because chdef uses commas, not semicolons, to separate items.
|
||||
Hugepage on POWER systems:
|
||||
Specify the hugepage and/or bsr (Barrier Synchronization Register) values, e.g., 'hugepage:1,bsr:2'.
|
||||
KVM CPU mode:
|
||||
Specify how the host CPUs are utilized, e.g., 'cpumode:host-passthrough', 'cpumode:host-model'. With the passthrough mode, the performance of x86 VMs can be improved significantly.
|
||||
KVM CPU pinning:
|
||||
Specify which host CPUs are used, e.g., 'vcpupin:'0-15,^8', where '-' denotes the range and '^' denotes exclusion. This option allows a comma-delimited list.
|
||||
KVM memory binding:
|
||||
Specify which nodes that host memory are used, e.g., 'membind:0', where the memory in node0 of the hypervisor is used. /sys/devices/system/node has node0 and node8 on some POWER systems, node0 and node1 on some x86_64 systems. This option allows a guest VM to access specific memory regions.
|
||||
PCI passthrough:
|
||||
PCI devices can be assigned to a virtual machine for exclusive usage, e.g., 'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0'. A PCI device can also be expressed as 'devpassthrough:0001:01:00.1'. The devices are put in a comma-delimited list. The PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host.
|
||||
VM machine type:
|
||||
Specify a machine type for VM creation on the host, e.g., 'machine:pc'. Typical machine types are pc, q35, and pseries.
|
||||
|
||||
|
||||
|
||||
\ **dockerhost**\ (vm.host)
|
||||
|
||||
The system that currently hosts the VM
|
||||
|
||||
|
||||
|
||||
\ **dockermemory**\ (vm.memory)
|
||||
|
||||
Megabytes of memory the VM currently should be set to.
|
||||
|
||||
|
||||
|
||||
\ **dockernics**\ (vm.nics)
|
||||
|
||||
Network configuration parameters. Of the general form [physnet:]interface,.. Generally, interface describes the vlan entity (default for native, tagged for tagged, vl[number] for a specific vlan. physnet is a virtual switch name or port description that is used for some virtualization technologies to construct virtual switches. hypervisor.netmap can map names to hypervisor specific layouts, or the descriptions described there may be used directly here where possible. A macvtap device can be created by adding the "|direct" suffix to the interface name.
|
||||
|
||||
|
||||
|
||||
\ **domainadminpassword**\ (domain.adminpassword)
|
||||
|
||||
Allow a node specific indication of Administrative user password for the domain. Most will want to ignore this in favor of passwd table.
|
||||
|
||||
@@ -2797,38 +2797,6 @@ my @nodeattrs = (
|
||||
access_tabentry => 'vm.node=attr:node',
|
||||
},
|
||||
|
||||
############################################
|
||||
# docker attributes are mapped to vm table #
|
||||
# dockerhost --> vm.host
|
||||
# dockercpus --> vm.cpus
|
||||
# dockermemory --> vm.memory
|
||||
# dockerflag --> vm.othersettings
|
||||
# dockernics --> vm.nics
|
||||
{ attr_name => 'dockerhost',
|
||||
only_if => 'mgt=docker',
|
||||
tabentry => 'vm.host',
|
||||
access_tabentry => 'vm.node=attr:node',
|
||||
},
|
||||
{ attr_name => 'dockercpus',
|
||||
only_if => 'mgt=docker',
|
||||
tabentry => 'vm.cpus',
|
||||
access_tabentry => 'vm.node=attr:node',
|
||||
},
|
||||
{ attr_name => 'dockermemory',
|
||||
only_if => 'mgt=docker',
|
||||
tabentry => 'vm.memory',
|
||||
access_tabentry => 'vm.node=attr:node',
|
||||
},
|
||||
{ attr_name => 'dockerflag',
|
||||
only_if => 'mgt=docker',
|
||||
tabentry => 'vm.othersettings',
|
||||
access_tabentry => 'vm.node=attr:node',
|
||||
},
|
||||
{ attr_name => 'dockernics',
|
||||
only_if => 'mgt=docker',
|
||||
tabentry => 'vm.nics',
|
||||
access_tabentry => 'vm.node=attr:node',
|
||||
},
|
||||
######################
|
||||
# hypervisor table #
|
||||
######################
|
||||
|
||||
@@ -66,8 +66,6 @@ my %usage = (
|
||||
rpower noderange [on|off|reset|stat|softoff]
|
||||
MIC specific:
|
||||
rpower noderange [stat|state|on|off|reset|boot]
|
||||
docker specific:
|
||||
rpower noderange [start|stop|restart|pause|unpause|state]
|
||||
pdu specific:
|
||||
rpower noderange [off|on|stat|status|reset]
|
||||
rpower noderange [pduoff|pduon|pdustat|pdustatus|pdureset]
|
||||
@@ -388,13 +386,6 @@ my %usage = (
|
||||
rmvm [-p] [-f]
|
||||
PPC (using Direct FSP Management) specific:
|
||||
rmvm <noderange>",
|
||||
"mkdocker" =>
|
||||
"Usage: mkdocker <noderange> [image=<image_name> [command=<command>]] [dockerflag=<docker_flags>]",
|
||||
"lsdocker" =>
|
||||
"Usage: lsdocker <noderange>
|
||||
lsdocker <noderange> [-l|--logs]",
|
||||
"rmdocker" =>
|
||||
"Usage: rmdocker <noderage>",
|
||||
"lsslp" =>
|
||||
"Usage: lsslp [-h|--help|-v|--version]
|
||||
lsslp [<noderange>][-V|--verbose][-i ip[,ip..]][-w][-r|-x|-z][-n][-I][-s FRAME|CEC|MM|IVM|RSA|HMC|CMM|IMM2|FSP]
|
||||
|
||||
@@ -26,9 +26,6 @@ opt/xcat/bin/xcatclient opt/xcat/bin/mkvm
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/rmvm
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/lsvm
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/chvm
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/mkdocker
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/rmdocker
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/lsdocker
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/tabgrep
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/renergy
|
||||
opt/xcat/bin/xcatclient opt/xcat/bin/litetree
|
||||
|
||||
@@ -174,9 +174,6 @@ ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/mkvm
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/rmvm
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/lsvm
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/chvm
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/mkdocker
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/rmdocker
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/lsdocker
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/tabgrep
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/renergy
|
||||
ln -sf ../bin/xcatclient $RPM_BUILD_ROOT/%{prefix}/bin/litetree
|
||||
|
||||
@@ -27,9 +27,6 @@ sub handled_commands {
|
||||
lsvm => 'AAAusage',
|
||||
chvm => 'AAAusage',
|
||||
rmvm => 'AAAusage',
|
||||
mkdocker => 'AAAusage',
|
||||
lsdocker => 'AAAusage',
|
||||
rmdocker => 'AAAusage',
|
||||
|
||||
#lsslp => 'AAAusage',
|
||||
rflash => 'AAAusage',
|
||||
|
||||
@@ -335,15 +335,6 @@ sub process_request
|
||||
unlink "/tmp/xcat/client.cert.$$";
|
||||
my $certcontents = join('', @certdata);
|
||||
push @{ $rsp->{'data'} }, { content => [$certcontents], desc => [$parm] };
|
||||
} elsif ($parm =~ /xcat_dockerhost_cert/) {
|
||||
xCAT::MsgUtils->trace(0, 'I', "credentials: sending $parm to $client");
|
||||
unless (-r "/etc/xcatdockerca/cert/dockerhost-cert.pem") {
|
||||
push @{ $rsp->{'error'} }, "Unable to read /etc/xcatdockerca/cert/dockerhost-cert.pem ";
|
||||
xCAT::MsgUtils->trace(0, 'E', "credentials: Unable to read /etc/xcatdockerca/cert/dockerhost-cert.pem");
|
||||
next;
|
||||
}
|
||||
$tfilename = "/etc/xcatdockerca/cert/dockerhost-cert.pem";
|
||||
|
||||
} elsif ($parm =~ /xcat_secure_pw:/) {
|
||||
xCAT::MsgUtils->trace(0, 'I', "credentials: sending $parm to $client");
|
||||
my @users=split(/:/,$parm);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1714,17 +1714,6 @@ sub genCredentials
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((!-d "/etc/xcatdockerca/cert") || $::FORCE || $::genCredentials) {
|
||||
my $cmd = "echo 'y\ny\ny\ny' |$::XCATROOT/share/xcat/scripts/setup-dockerhost-cert.sh";
|
||||
verbose("Running $cmd");
|
||||
my $rc = system($cmd);
|
||||
if ($rc >> 8) {
|
||||
xCAT::MsgUtils->message('E',
|
||||
"Could not create xCAT dockerhost certificate in /etc/xcatdockerca/cert.");
|
||||
} else {
|
||||
verbose("Create xCAT dockerhost certificate in /etc/xcatdockerca/cert directory.");
|
||||
}
|
||||
}
|
||||
|
||||
# copy to postscript directory, no longer use cert directory
|
||||
$cmd = "/bin/rm -rf $::INSTALLDIR/postscripts/cert >/dev/null 2>&1";
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/bin/bash
|
||||
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
|
||||
# To create certficate for docker host
|
||||
echo "$0 xcatdockerhost"
|
||||
|
||||
umask 0077
|
||||
CNA="xcatdockerhost"
|
||||
|
||||
XCATDOCKERDIR=/etc/xcatdockerca
|
||||
XCATDOCKERCADIR=$XCATDOCKERDIR/ca
|
||||
|
||||
if [ ! -e $XCATDOCKERDIR ]; then
|
||||
mkdir -p $XCATDOCKERDIR
|
||||
mkdir -p $XCATDOCKERCADIR
|
||||
fi
|
||||
|
||||
if [ ! -e $XCATDOCKERCADIR/openssl.cnf ]; then
|
||||
cp /etc/xcat/ca/openssl.cnf $XCATDOCKERCADIR/
|
||||
fi
|
||||
if [ ! -e $XCATDOCKERCADIR/ca-cert.pem ]; then
|
||||
cp /etc/xcat/ca/ca-cert.pem $XCATDOCKERCADIR/
|
||||
fi
|
||||
|
||||
if [ ! -e $XCATDOCKERCADIR/private/ca-key.pem ]; then
|
||||
mkdir -p $XCATDOCKERCADIR/private
|
||||
cp /etc/xcat/ca/private/ca-key.pem $XCATDOCKERCADIR/private/
|
||||
fi
|
||||
|
||||
if [ -e $XCATDOCKERDIR/cert ]; then
|
||||
echo -n "$XCATDOCKERDIR/cert already exists, delete and start over (y/n)?"
|
||||
read ANSWER
|
||||
if [ "$ANSWER" != "y" ]; then
|
||||
echo "Aborting at user request"
|
||||
exit 0
|
||||
fi
|
||||
rm -rf $XCATDOCKERDIR/cert
|
||||
fi
|
||||
mkdir -p $XCATDOCKERDIR/cert
|
||||
|
||||
|
||||
cd $XCATDOCKERDIR
|
||||
|
||||
if [ ! -e $XCATDOCKERCADIR/openssl.cnf ]; then
|
||||
echo -n "$XCATDOCKERCADIR/openssl.cnf not exist"
|
||||
exit 1
|
||||
fi
|
||||
sed -i "s@^dir.*=.*/etc/xcat/ca@dir = $XCATDOCKERCADIR@g" $XCATDOCKERCADIR/openssl.cnf
|
||||
|
||||
if [ -e $XCATDOCKERCADIR/index ]; then
|
||||
rm -f $XCATDOCKERCADIR/index*
|
||||
fi
|
||||
touch $XCATDOCKERCADIR/index
|
||||
touch $XCATDOCKERCADIR/index.attr
|
||||
|
||||
echo "00" > $XCATDOCKERCADIR/serial
|
||||
|
||||
|
||||
if [ ! -e $XCATDOCKERCADIR/certs ]; then
|
||||
mkdir -p $XCATDOCKERCADIR/certs
|
||||
fi
|
||||
|
||||
openssl genrsa -out ca/dockerhost-key.pem 2048
|
||||
openssl req -config ca/openssl.cnf -new -key ca/dockerhost-key.pem -out cert/dockerhost-req.pem -subj "/CN=$CNA"
|
||||
mv cert/dockerhost-req.pem ca/$CNA\.csr
|
||||
cd -
|
||||
cd $XCATDOCKERCADIR
|
||||
|
||||
# - "make sign" doesn't seem to work on my AIX system???
|
||||
# - seems to be a problem with the use of the wildcard in the Makefile
|
||||
# - call cmds directly instead - seems safe
|
||||
# make sign
|
||||
|
||||
#CA certificate and CA private key do not match
|
||||
openssl ca -startdate 600101010101Z -config openssl.cnf -in $CNA\.csr -out $CNA\.cert -extensions server -batch
|
||||
#openssl ca -selfsign -config openssl.cnf -in $CNA\.csr -startdate 700101010101Z -days 7305 -out $CNA\.cert -extensions v3_ca -batch
|
||||
if [ -f $CNA\.cert ]; then
|
||||
rm $CNA\.csr
|
||||
fi
|
||||
|
||||
mv $CNA\.cert $XCATDOCKERDIR/cert/dockerhost-cert.pem
|
||||
cat dockerhost-key.pem >> $XCATDOCKERDIR/cert/dockerhost-cert.pem
|
||||
|
||||
cd -
|
||||
@@ -738,7 +738,6 @@ sub do_test {
|
||||
my $diskless_installation_hierarchy_testcase = "";
|
||||
my $statelite_installation_hierarchy_by_ramdisk_testcase = "";
|
||||
my $statelite_installation_hierarchy_by_nfs_testcase = "";
|
||||
my $setup_dockerhost_testcase = "";
|
||||
my $batbundle = "";
|
||||
|
||||
if ((($mn =~ /sles/) || ($mn =~ /rh/)) && ($mn !~ /E/)) {
|
||||
@@ -757,7 +756,6 @@ sub do_test {
|
||||
} elsif ($mn =~ /ubuntux/) {
|
||||
$diskfull_installation_flat_testcase = "Ubuntu_full_installation_flat_x86_vm";
|
||||
$diskless_installation_flat_testcase = "Ubuntu_diskless_installation_flat_x86_vm";
|
||||
$setup_dockerhost_testcase = "Full_installation_flat_docker";
|
||||
$batbundle = "x_ubuntu_cmd.bundle";
|
||||
} elsif ($mn =~ /E/) {
|
||||
$diskfull_installation_flat_testcase = "Full_installation_flat_p8_le";
|
||||
@@ -899,15 +897,6 @@ sub do_test {
|
||||
send_msg(2, "[$mn->$confkeys{$mn}][do_test] do diskfull installation test in flat mode in $mn.....[done]");
|
||||
last if ($rc != 0);
|
||||
|
||||
if ($mn =~ /ubuntux/) {
|
||||
|
||||
#set up dockerhosts
|
||||
send_msg(2, "[$mn->$confkeys{$mn}][do_test] setupdockerhost $mn.....");
|
||||
$rc = system("ssh -t $confkeys{$mn} 'exec bash -l -i -c \"xcattest -f /opt/xcat/share/xcat/tools/autotest/default.conf -t $setup_dockerhost_testcase\"' >/dev/null 2>&1");
|
||||
send_msg(2, "[$mn->$confkeys{$mn}][do_test] setup dockerhosts $mn.....[done]");
|
||||
last if ($rc != 0);
|
||||
}
|
||||
|
||||
#commands bundle in flat mode test
|
||||
send_msg(2, "[$mn->$confkeys{$mn}][do_test] doing all commands test in flat mode in $mn.....");
|
||||
$rc = system("ssh -t $confkeys{$mn} 'exec bash -l -i -c \"xcattest -f /opt/xcat/share/xcat/tools/autotest/default.conf -b $batbundle\"' >/dev/null 2>&1");
|
||||
|
||||
@@ -187,19 +187,5 @@ nodeset_shell
|
||||
nodeset_cmdline
|
||||
nodeset_runimg
|
||||
nodeset_check_warninginfo
|
||||
Full_installation_flat_docker
|
||||
rpower_stop_docker
|
||||
rpower_start_docker
|
||||
rpower_state_docker
|
||||
rpower_restart_docker
|
||||
rpower_pause_docker
|
||||
rpower_unpause_docker
|
||||
mkdocker_h
|
||||
mkdocker_command
|
||||
rmdocker_h
|
||||
rmdocker_command
|
||||
rmdocker_f_command
|
||||
lsdocker_h_command
|
||||
lsdocker_l_command
|
||||
ubuntu_migration1_vm
|
||||
ubuntu_migration2_vm
|
||||
|
||||
@@ -206,20 +206,6 @@ prsync_v
|
||||
prsync_dir_node
|
||||
prsync_file_node
|
||||
nodeset_check_warninginfo
|
||||
Full_installation_flat_docker
|
||||
rpower_stop_docker
|
||||
rpower_start_docker
|
||||
rpower_state_docker
|
||||
rpower_restart_docker
|
||||
rpower_pause_docker
|
||||
rpower_unpause_docker
|
||||
mkdocker_h
|
||||
mkdocker_command
|
||||
rmdocker_h
|
||||
rmdocker_command
|
||||
rmdocker_f_command
|
||||
lsdocker_h_command
|
||||
lsdocker_l_command
|
||||
xcatconfig_u_check_xcatsslversion_ubuntu
|
||||
xcatconfig_c
|
||||
bmcdiscover_help
|
||||
|
||||
@@ -1,292 +0,0 @@
|
||||
start:rpower_stop_docker
|
||||
description:stop a created docker instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN stop
|
||||
check:rc==0
|
||||
check:output=~container already stopped
|
||||
cmd:rpower $$DOCKERCN restart
|
||||
check:output=~success
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:rc==0
|
||||
check:output=~running
|
||||
cmd:rpower $$DOCKERCN stop
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~exited
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
start:rpower_start_docker
|
||||
description:start a created docker instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:rc==0
|
||||
check:output=~created
|
||||
cmd:rpower $$DOCKERCN start
|
||||
check:rc==0
|
||||
check:output=~success
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:rc==0
|
||||
check:output=~running
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
|
||||
start:rpower_state_docker
|
||||
description:get state of the instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~created
|
||||
cmd:rpower $$DOCKERCN restart
|
||||
check:rc==0
|
||||
check:output=~success
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:rc==0
|
||||
check:output=~running
|
||||
cmd:rpower $$DOCKERCN stop
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~exited
|
||||
cmd:rpower $$DOCKERCN start
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~running
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
|
||||
start:rpower_restart_docker
|
||||
description:restart a created docker instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~created
|
||||
cmd:rpower $$DOCKERCN restart
|
||||
check:rc==0
|
||||
check:output=~success
|
||||
cmd:sleep 6
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~running
|
||||
cmd:sleep 6
|
||||
cmd:rpower $$DOCKERCN restart
|
||||
check:rc==0
|
||||
check:output=~success
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~running
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
|
||||
start:rpower_pause_docker
|
||||
decription:pause all processes in the instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN pause
|
||||
check:rc!=0
|
||||
check:output=~$$DOCKERCN: (\[.*?\]: )?Error
|
||||
cmd:rpower $$DOCKERCN start
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN pause
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~paused
|
||||
cmd:rpower $$DOCKERCN unpause
|
||||
check:rc==0
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
|
||||
start:rpower_unpause_docker
|
||||
description:unpause all processes in the instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN start
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN pause
|
||||
check:output=~paused
|
||||
cmd:rpower $$DOCKERCN unpause
|
||||
check:rc==0
|
||||
check:output=~success
|
||||
cmd:sleep 6
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:output=~running
|
||||
cmd:sleep 6
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
start:mkdocker_h
|
||||
description:output usage for mkdocker
|
||||
label:others,docker
|
||||
cmd:mkdocker -h
|
||||
check:rc==0
|
||||
check:output=~Usage: mkdocker
|
||||
end
|
||||
start:mkdocker_command
|
||||
description:create docker instance image should be ubuntu and command should be bash here
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERCN: success
|
||||
cmd:lsdocker $$DOCKERCN
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERIMAGE
|
||||
check:output=~$$DOCKERCOMMAND
|
||||
cmd:rpower $$DOCKERCN state
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERCN: created
|
||||
cmd:rpower $$DOCKERCN start
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERCN: success
|
||||
cmd:xdsh $$DOCKERHOST "docker ps -l"
|
||||
check:output=~$$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:ping $$DOCKERCN -c 3
|
||||
check:output=~64 bytes from $$DOCKERCN
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
start:rmdocker_h
|
||||
description:output usage for rmdocker
|
||||
label:others,docker
|
||||
cmd:rmdocker -h
|
||||
check:rc==0
|
||||
check:output=~Usage: rmdocker <noderage>
|
||||
end
|
||||
start:rmdocker_command
|
||||
description:remove docker instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERCN: success
|
||||
cmd:lsdocker $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdocker $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:lsdocker -l $$DOCKERCN
|
||||
check:rc!=0
|
||||
check:output=~$$DOCKERCN: (\[.*?\]: )?Error
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
start:rmdocker_f_command
|
||||
description:force to remove docker instance
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERCN: success
|
||||
cmd:lsdocker $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rpower $$DOCKERCN start
|
||||
check:rc==0
|
||||
cmd:rmdocker $$DOCKERCN
|
||||
check:rc!=0
|
||||
check:output=~Stop the container
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERCN: success
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
start:lsdocker_h_command
|
||||
description:output usage for lsdocker
|
||||
label:others,docker
|
||||
cmd:lsdocker -h
|
||||
check:rc==0
|
||||
check:output=~Usage: lsdocker <noderange>
|
||||
end
|
||||
start:lsdocker_l_command
|
||||
description:list docker instance info
|
||||
label:others,docker
|
||||
cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker
|
||||
check:rc==0
|
||||
cmd:makehosts $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:mkdocker $$DOCKERCN image=$$DOCKERIMAGE command=$$DOCKERCOMMAND dockerflag="{\"AttachStdin\":true,\"AttachStdout\":true,\"AttachStderr\":true,\"OpenStdin\":true,\"Tty\":true}"
|
||||
check:rc==0
|
||||
cmd:lsdocker -l $$DOCKERCN
|
||||
check:rc==0
|
||||
check:output=~$$DOCKERCN
|
||||
cmd:rmdocker $$DOCKERCN -f
|
||||
check:rc==0
|
||||
cmd:makehosts -d $$DOCKERCN
|
||||
check:rc==0
|
||||
cmd:rmdef $$DOCKERCN
|
||||
check:rc==0
|
||||
end
|
||||
@@ -1,47 +0,0 @@
|
||||
start:Full_installation_flat_docker
|
||||
os:Linux
|
||||
label:others,docker,invoke_provision
|
||||
cmd:copycds $$ISO
|
||||
check:rc==0
|
||||
cmd:makedns -n
|
||||
check:rc==0
|
||||
cmd:makeconservercf
|
||||
check:rc==0
|
||||
cmd:makedhcp -n
|
||||
check:rc==0
|
||||
cmd:mkdef -t osimage -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-dockerhost -u profile=compute provmethod=install
|
||||
check:rc==0
|
||||
cmd:if [[ "__GETNODEATTR($$CN,os)__" =~ "ubuntu" ]];then ver=`cat /etc/*-release |grep "VERSION_ID"| awk -F '"' '{print $2}'| awk -F"." '{printf "%s%s\n",$1,$2}'` ; chdef -t osimage -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-dockerhost otherpkgdir="https://apt.dockerproject.org/repo ubuntu-trusty main,http://cz.archive.ubuntu.com/ubuntu trusty main" otherpkglist="/install/custom/ubuntu$ver/ubuntu"$ver"_docker.pkglist" osdistroname="__GETNODEATTR($$CN,os)__ ";fi
|
||||
check:rc==0
|
||||
cmd:if [[ "__GETNODEATTR($$CN,os)__" =~ "ubuntu" ]];then ver=`cat /etc/*-release |grep "VERSION_ID"| awk -F '"' '{print $2}'| awk -F"." '{printf "%s%s\n",$1,$2}'` ; mkdir -p /install/custom/ubuntu$ver/ ; chdef -t osimage -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-dockerhost otherpkglist="/install/custom/ubuntu$ver/ubuntu"$ver"_docker.pkglist" pkglist="/install/custom/ubuntu$ver/ubuntu$ver.pkglist";fi
|
||||
check:rc==0
|
||||
cmd:if [[ "__GETNODEATTR($$CN,os)__" =~ "ubuntu" ]];then ver=`cat /etc/*-release |grep "VERSION_ID"| awk -F '"' '{print $2}'| awk -F"." '{printf "%s%s\n",$1,$2}'` ;for i in openssh-server ntp gawk nfs-common snmpd bridge-utils; do cat /install/custom/ubuntu$ver/ubuntu$ver.pkglist|grep "$i$";if [ $? -ne 0 ] ; then echo "$i" >> /install/custom/ubuntu$ver/ubuntu$ver.pkglist; fi done;fi
|
||||
check:rc==0
|
||||
cmd:if [[ "__GETNODEATTR($$CN,os)__" =~ "ubuntu14.04" ]];then ver=`cat /etc/*-release |grep "VERSION_ID"| awk -F '"' '{print $2}'| awk -F"." '{printf "%s%s\n",$1,$2}'`; for i in docker-engine;do cat /install/custom/ubuntu$ver/ubuntu"$ver"\_docker.pkglist |grep "$i$";if [ $? -ne 0 ] ; then echo "$i" >> /install/custom/ubuntu$ver/ubuntu"$ver"\_docker.pkglist;fi done;fi
|
||||
check:rc==0
|
||||
cmd: chdef $$CN -p postbootscripts="setupdockerhost mynet0=$$MYNET0VALUE@$$DOCKERHOSIP:$$NICNAME"
|
||||
check:rc==0
|
||||
cmd:/opt/xcat/share/xcat/tools/autotest/testcase/commoncmd/retry_install.sh $$CN __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-dockerhost
|
||||
check:rc==0
|
||||
check:output=~Provision node\(s\)\: $$CN
|
||||
|
||||
cmd:a=0;while ! `lsdef -l $$CN|grep status|grep booted >/dev/null`; do sleep 10;((a++));if [ $a -gt 360 ];then break;fi done
|
||||
|
||||
cmd:ping $$CN -c 3
|
||||
check:output=~64 bytes from $$CN
|
||||
check:rc==0
|
||||
cmd:lsdef -l $$CN | grep status
|
||||
check:output=~booted
|
||||
cmd:xdsh $$CN date
|
||||
check:rc==0
|
||||
cmd:xdsh $$CN "docker -v"
|
||||
check:output=~Docker version
|
||||
check:rc==0
|
||||
|
||||
cmd:a=0;while true; do [ $a -eq 100 ] && exit 1;xdsh $$CN "docker pull $$DOCKERIMAGE";output=$(xdsh $$CN "docker images");echo $output|grep $$DOCKERIMAGE 2>/dev/null && exit 0;a=$[$a+1];sleep 1;done
|
||||
check:rc==0
|
||||
cmd:rmdef -t osimage -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-dockerhost
|
||||
check:rc==0
|
||||
cmd: chdef $$CN postbootscripts=
|
||||
check:rc==0
|
||||
end
|
||||
@@ -1,191 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# IBM(c) 2014 EPL license http://www.eclipse.org/legal/epl-v10.html
|
||||
#-------------------------------------------------------------------------------
|
||||
#=head1 setupdockerhost
|
||||
#=head2 Used on Linux only. Configure SSL connection and docker network object on docker host
|
||||
#
|
||||
# You can run the following commands on MN:
|
||||
# updatenode noderange -P "setupdockerhost netname=net/mask@gateway:nicname"
|
||||
#
|
||||
#=cut
|
||||
#-------------------------------------------------------------------------------
|
||||
set -x
|
||||
if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then
|
||||
str_dir_name=`dirname $0`
|
||||
. $str_dir_name/xcatlib.sh
|
||||
fi
|
||||
|
||||
if [[ "$OSVER" != ubuntu* ]]; then
|
||||
echo "OS = $OSVER: Setup of Docker host is currently supported only on Ubuntu."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$ARCH" == "x86_64" ]]; then
|
||||
# Check if docker-engine is installed
|
||||
dpkg -l docker-engine
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: can not detect docker-engine installation."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$ARCH" == "ppc64el" ]]; then
|
||||
# Check if docker.io is installed
|
||||
dpkg -l docker.io
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: can not detect docker.io installation."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Docker is installed, check that it is running
|
||||
docker info
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Docker is not running, Trying to restart."
|
||||
service docker start
|
||||
fi
|
||||
|
||||
DOCKER_VERSION=`docker info 2>/dev/null | grep "Server Version:" | awk -F: '{print $2}'`
|
||||
if [ -z "$DOCKER_VERSION" ];then
|
||||
echo "Error: failed to get docker server version"
|
||||
exit 1
|
||||
fi
|
||||
MAJOR_VERSION=`echo $DOCKER_VERSION | awk -F. '{print $1}'`
|
||||
MINOR_VERSION=`echo $DOCKER_VERSION | awk -F. '{print $2}'`
|
||||
if [ -z "$MAJOR_VERSION" -o -z "$MINOR_VERSION" ]; then
|
||||
echo "The docker version $DOCKER_VERSION can not be recorgnized"
|
||||
exit 1
|
||||
elif [ $MAJOR_VERSION -le 1 -a $MINOR_VERSION -lt 10 ]; then
|
||||
echo "Only docker version 1.10.x and above is supported"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
netname=""
|
||||
net=""
|
||||
mask=""
|
||||
gateway=""
|
||||
nicname=""
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Error: must be in format '$0 netname=net/mask@gateway[:nicname]'"
|
||||
exit 1
|
||||
else
|
||||
NETINFO="$1"
|
||||
netname=`echo $NETINFO | awk -F= '{print $1}'`
|
||||
netinfo=`echo $NETINFO | awk -F= '{print $2}'`
|
||||
net=${netinfo%%/*}
|
||||
mask=`echo $netinfo | awk -F'@' '{print $1}' | awk -F/ '{print $2}'`
|
||||
gateway=`echo $netinfo | awk -F'@' '{print $2}' | awk -F: '{print $1}'`
|
||||
nicname=`echo $netinfo | awk -F: '{print $2}'`
|
||||
if [ ! -z "$nicname" ]; then
|
||||
if [ ! -x /sbin/brctl ]; then
|
||||
echo "Error: /sbin/brctl command not found. Not able to configure $nicname"
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$netname" -o -z "$net" -o -z "$mask" -o -z "$gateway" ]; then
|
||||
echo "Error: must be in format '$0 netname=net/mask@gateway[:nicname]'"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
#Setup TLS
|
||||
master=$MASTER
|
||||
if ! ping $master -c 1 > /dev/null 2>&1 ; then
|
||||
echo "Error: Host $master is not reachable"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d /root/.docker ]; then
|
||||
mkdir -p /root/.docker
|
||||
fi
|
||||
|
||||
HOST_CA_PEM="/root/.docker/ca-cert.pem"
|
||||
HOST_CERT_PEM="/root/.docker/dockerhost-cert.pem"
|
||||
|
||||
allowcred.awk &
|
||||
CREDPID=$!
|
||||
sleep 1
|
||||
|
||||
getcredentials.awk xcat_dockerhost_cert | grep -E -v '</{0,1}xcatresponse>|</{0,1}serverdone>' | sed -e 's/</</' -e 's/>/>/' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /tmp/xcat_dockerhost_cert
|
||||
|
||||
kill -9 $CREDPID
|
||||
|
||||
grep -E '<error>' /tmp/xcat_dockerhost_cert
|
||||
if [ $? -ne 0 ]; then
|
||||
cat /tmp/xcat_dockerhost_cert |
|
||||
cat /tmp/xcat_dockerhost_cert | grep -E -v '</{0,1}errorcode>|/{0,1}data>|</{0,1}content>|</{0,1}desc>' >$HOST_CERT_PEM
|
||||
else
|
||||
echo "Error: can not get dockerhost certificate files"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp /xcatpost/ca/ca-cert.pem $HOST_CA_PEM
|
||||
|
||||
if [ ! -e $HOST_CA_PEM -o ! -e $HOST_CERT_PEM ];then
|
||||
echo "Error: can not get dockerhost certificate files"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker_conf_file="/etc/default/docker"
|
||||
if [ ! -f "$docker_conf_file" ]; then
|
||||
echo "Error: file $docker_conf_file does not exist"
|
||||
exit 1
|
||||
fi
|
||||
if ! grep "^DOCKER_OPTS" $docker_conf_file > /dev/null 2>&1 ; then
|
||||
echo "DOCKER_OPTS=\"-H unix:///var/run/docker.sock -H tcp://`hostname`:2375 --tls --tlscacert=$HOST_CA_PEM --tlscert=$HOST_CERT_PEM --tlskey=$HOST_CERT_PEM --tlsverify=true\"" >> $docker_conf_file
|
||||
else
|
||||
if grep "^DOCKER_OPTS.*tlsverify" $docker_conf_file > /dev/null 2>&1; then
|
||||
sed -i "s@-H [^ |^\"]*@@g" $docker_conf_file
|
||||
sed -i "s@--tlscacert=[^ |^\"]*@@g" $docker_conf_file
|
||||
sed -i "s@--tlscert=[^ |^\"]*@@g" $docker_conf_file
|
||||
sed -i "s@--tlskey=[^ |^\"]*@@g" $docker_conf_file
|
||||
sed -i "s@--tlsverify=[^ |^\"]*@@g" $docker_conf_file
|
||||
sed -i "s@--tls@@g" $docker_conf_file
|
||||
sed -i "s@\ \{2,\}@@g" $docker_conf_file
|
||||
fi
|
||||
sed -i "s@^\(DOCKER_OPTS\=\"[^\"]*\)@\1 -H unix:///var/run/docker.sock -H tcp://`hostname`:2375 --tls --tlscacert=$HOST_CA_PEM --tlscert=$HOST_CERT_PEM --tlskey=$HOST_CERT_PEM --tlsverify=true\"@" $docker_conf_file
|
||||
sed -i 's/\"\{2,\}/\"/' $docker_conf_file
|
||||
fi
|
||||
|
||||
#Restart docker service
|
||||
service docker stop
|
||||
sleep 2
|
||||
systemctl daemon-reload
|
||||
service docker start
|
||||
# It is found that sometimes the docker ps will failed if run immediately after restart docker daemon
|
||||
sleep 2
|
||||
docker ps
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Failed to start Docker service"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Will create network based on: $net/$mask@$gateway===$nicname:$netname====="
|
||||
|
||||
ret=`docker network create --gateway=$gateway --subnet=$net/$mask -o "com.docker.network.bridge.host_binding_ipv4"="$gateway" -o "com.docker.network.bridge.name"="$netname" $netname 2>&1`
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Creation of network object \"$netname\" failed: $ret"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -z "$nicname" ]; then
|
||||
brctl addif $netname $nicname
|
||||
default_info=`ip route | grep default | grep "dev $nicname" | grep via`
|
||||
if [ ! -z "$default_info" ]; then
|
||||
default_gw=`echo $default_info | awk '{print $3}'`
|
||||
ip route replace default dev $netname via $default_gw
|
||||
fi
|
||||
nic_ip_info=`ip addr show dev $nicname scope global | grep inet | sed -e 's/inet.//'|awk '{print $1}'`
|
||||
if [ ! -z "$nic_ip_info" ]; then
|
||||
ip addr del $nic_ip_info dev $nicname
|
||||
fi
|
||||
bridge_ip_info=`ip addr show dev $netname scope global | grep inet | sed -e 's/inet.//'|awk '{print $1}'`
|
||||
if [ -z "$bridge_ip_info" ]; then
|
||||
ip addr add $gateway/$mask dev $netname
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user