mirror of https://github.com/docker/docker-py.git
				
				
				
			Merge pull request #306 from groundeffect/master
Add support for 'cpuset'
This commit is contained in:
		
						commit
						ca6fc27740
					
				|  | @ -103,8 +103,8 @@ class Client(requests.Session): | |||
|                           mem_limit=0, ports=None, environment=None, dns=None, | ||||
|                           volumes=None, volumes_from=None, | ||||
|                           network_disabled=False, entrypoint=None, | ||||
|                           cpu_shares=None, working_dir=None, domainname=None, | ||||
|                           memswap_limit=0): | ||||
|                           cpu_shares=None, working_dir=None, | ||||
|                           domainname=None, memswap_limit=0, cpuset=None): | ||||
|         if isinstance(command, six.string_types): | ||||
|             command = shlex.split(str(command)) | ||||
|         if isinstance(environment, dict): | ||||
|  | @ -217,6 +217,7 @@ class Client(requests.Session): | |||
|             'NetworkDisabled': network_disabled, | ||||
|             'Entrypoint': entrypoint, | ||||
|             'CpuShares': cpu_shares, | ||||
|             'Cpuset': cpuset, | ||||
|             'WorkingDir': working_dir, | ||||
|             'MemorySwap': memswap_limit | ||||
|         } | ||||
|  | @ -514,8 +515,8 @@ class Client(requests.Session): | |||
|                          mem_limit=0, ports=None, environment=None, dns=None, | ||||
|                          volumes=None, volumes_from=None, | ||||
|                          network_disabled=False, name=None, entrypoint=None, | ||||
|                          cpu_shares=None, working_dir=None, domainname=None, | ||||
|                          memswap_limit=0): | ||||
|                          cpu_shares=None, working_dir=None, | ||||
|                          domainname=None, memswap_limit=0, cpuset=None): | ||||
| 
 | ||||
|         if isinstance(volumes, six.string_types): | ||||
|             volumes = [volumes, ] | ||||
|  | @ -523,7 +524,8 @@ class Client(requests.Session): | |||
|         config = self._container_config( | ||||
|             image, command, hostname, user, detach, stdin_open, tty, mem_limit, | ||||
|             ports, environment, dns, volumes, volumes_from, network_disabled, | ||||
|             entrypoint, cpu_shares, working_dir, domainname, memswap_limit | ||||
|             entrypoint, cpu_shares, working_dir, domainname, | ||||
|             memswap_limit, cpuset | ||||
|         ) | ||||
|         return self.create_container_from_config(config, name) | ||||
| 
 | ||||
|  |  | |||
|  | @ -349,6 +349,30 @@ class DockerClientTest(Cleanup, unittest.TestCase): | |||
|         self.assertEqual(args[1]['headers'], | ||||
|                          {'Content-Type': 'application/json'}) | ||||
| 
 | ||||
|     def test_create_container_with_cpuset(self): | ||||
|         try: | ||||
|             self.client.create_container('busybox', 'ls', | ||||
|                                          cpuset='0,1') | ||||
|         except Exception as e: | ||||
|             self.fail('Command should not raise exception: {0}'.format(e)) | ||||
| 
 | ||||
|         args = fake_request.call_args | ||||
|         self.assertEqual(args[0][0], | ||||
|                          url_prefix + 'containers/create') | ||||
|         self.assertEqual(json.loads(args[1]['data']), | ||||
|                          json.loads(''' | ||||
|                             {"Tty": false, "Image": "busybox", | ||||
|                              "Cmd": ["ls"], "AttachStdin": false, | ||||
|                              "Memory": 0, | ||||
|                              "AttachStderr": true, | ||||
|                              "AttachStdout": true, "OpenStdin": false, | ||||
|                              "StdinOnce": false, | ||||
|                              "NetworkDisabled": false, | ||||
|                              "Cpuset": "0,1", | ||||
|                              "MemorySwap": 0}''')) | ||||
|         self.assertEqual(args[1]['headers'], | ||||
|                          {'Content-Type': 'application/json'}) | ||||
| 
 | ||||
|     def test_create_container_with_working_dir(self): | ||||
|         try: | ||||
|             self.client.create_container('busybox', 'ls', | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue