• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python misc.sh函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中teuthology.misc.sh函数的典型用法代码示例。如果您正苦于以下问题:Python sh函数的具体用法?Python sh怎么用?Python sh使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了sh函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: get_ip_neutron

 def get_ip_neutron(instance_id):
     subnets = json.loads(misc.sh("neutron subnet-list -f json -c id -c ip_version"))
     subnet_id = None
     for subnet in subnets:
         if subnet['ip_version'] == 4:
             subnet_id = subnet['id']
             break
     if not subnet_id:
         raise Exception("no subnet with ip_version == 4")
     ports = json.loads(misc.sh("neutron port-list -f json -c fixed_ips -c device_id"))
     fixed_ips = None
     for port in ports:
         if port['device_id'] == instance_id:
             fixed_ips = port['fixed_ips'].split("\n")
             break
     if not fixed_ips:
         raise Exception("no fixed ip record found")
     ip = None
     for fixed_ip in fixed_ips:
         record = json.loads(fixed_ip)
         if record['subnet_id'] == subnet_id:
             ip = record['ip_address']
             break
     if not ip:
         raise Exception("no ip")
     return ip
开发者ID:esnyder,项目名称:teuthology,代码行数:26,代码来源:__init__.py


示例2: push_directory

def push_directory(path, remote, remote_dir):
    """
    local_temp_path=`mktemp`
    tar czf $local_temp_path $path
    ssh remote mkdir -p remote_dir
    remote_temp_path=`mktemp`
    scp $local_temp_path $remote_temp_path
    rm $local_temp_path
    tar xzf $remote_temp_path -C $remote_dir
    ssh remote:$remote_temp_path
    """
    fd, local_temp_path = tempfile.mkstemp(suffix='.tgz',
                                           prefix='rebuild_mondb-')
    os.close(fd)
    cmd = ' '.join(['tar', 'cz',
                    '-f', local_temp_path,
                    '-C', path,
                    '--', '.'])
    teuthology.sh(cmd)
    _, fname = os.path.split(local_temp_path)
    fd, remote_temp_path = tempfile.mkstemp(suffix='.tgz',
                                            prefix='rebuild_mondb-')
    os.close(fd)
    remote.put_file(local_temp_path, remote_temp_path)
    os.remove(local_temp_path)
    remote.run(args=['sudo',
                     'tar', 'xz',
                     '-C', remote_dir,
                     '-f', remote_temp_path])
    remote.run(args=['sudo', 'rm', '-fr', remote_temp_path])
开发者ID:ApusApp,项目名称:ceph,代码行数:30,代码来源:rebuild_mondb.py


示例3: create_security_group

    def create_security_group(self):
        """
        Create a security group that will be used by all teuthology
        created instances. This should not be necessary in most cases
        but some OpenStack providers enforce firewall restrictions even
        among instances created within the same tenant.
        """
        try:
            self.run("security group show teuthology")
            return
        except subprocess.CalledProcessError:
            pass
        # TODO(loic): this leaves the teuthology vm very exposed
        # it would be better to be very liberal for 192.168.0.0/16
        # and 172.16.0.0/12 and 10.0.0.0/8 and only allow 80/8081/22
        # for the rest.
        misc.sh(
            """
openstack security group create teuthology
openstack security group rule create --dst-port 1:65535 teuthology
openstack security group rule create --proto udp --dst-port 53 teuthology # dns
openstack security group rule create --proto udp --dst-port 111 teuthology # for nfs
openstack security group rule create --proto udp --dst-port 2049 teuthology # for nfs
openstack security group rule create --proto udp --dst-port 16000:65535 teuthology # for nfs
        """
        )
开发者ID:ceph,项目名称:teuthology,代码行数:26,代码来源:__init__.py


示例4: begin

 def begin(self):
     misc.sh("""
     set -x
     pip install tox
     tox
     # tox -e py27-integration
     tox -e openstack-integration
     """)
开发者ID:Abhishekvrshny,项目名称:ceph-qa-suite,代码行数:8,代码来源:teuthology_integration.py


示例5: image_create

 def image_create(self, name):
     """
     Upload an image into OpenStack with glance. The image has to be qcow2.
     """
     misc.sh("wget -c -O " + name + ".qcow2 " + self.image2url[name])
     misc.sh("glance image-create --property ownedby=teuthology " +
             " --disk-format=qcow2 --container-format=bare " +
             " --file " + name + ".qcow2 --name " + self.image_name(name))
开发者ID:MrWeird,项目名称:teuthology,代码行数:8,代码来源:__init__.py


示例6: test_floating_ip

    def test_floating_ip(self):
        if not self.can_create_floating_ips:
            pytest.skip('unable to create floating ips')

        expected = TeuthologyOpenStack.create_floating_ip()
        ip = TeuthologyOpenStack.get_unassociated_floating_ip()
        assert expected == ip
        ip_id = TeuthologyOpenStack.get_floating_ip_id(ip)
        misc.sh("openstack -q ip floating delete " + ip_id)
开发者ID:smithfarm,项目名称:teuthology,代码行数:9,代码来源:test_openstack.py


示例7: teardown

 def teardown(self):
     """
     Delete all instances run by the teuthology cluster and delete the
     instance running the teuthology cluster.
     """
     self.ssh("sudo /etc/init.d/teuthology stop || true")
     instance_id = self.get_instance_id(self.args.name)
     self.delete_floating_ip(instance_id)
     misc.sh("openstack server delete --wait " + self.args.name)
开发者ID:esnyder,项目名称:teuthology,代码行数:9,代码来源:__init__.py


示例8: clobber

    def clobber(self):
        misc.sh(
            """
openstack server delete {name} --wait || true
openstack keypair delete {key_name} || true
        """.format(
                key_name=self.key_name, name=self.name
            )
        )
开发者ID:charpty,项目名称:teuthology,代码行数:9,代码来源:test_openstack.py


示例9: associate_floating_ip

 def associate_floating_ip(name_or_id):
     """
     Associate a floating IP to the OpenStack instance
     or do nothing if no floating ip can be created.
     """
     ip = TeuthologyOpenStack.get_unassociated_floating_ip()
     if not ip:
         ip = TeuthologyOpenStack.create_floating_ip()
     if ip:
         misc.sh("openstack ip floating add " + ip + " " + name_or_id)
开发者ID:esnyder,项目名称:teuthology,代码行数:10,代码来源:__init__.py


示例10: delete_floating_ip

 def delete_floating_ip(instance_id):
     """
     Remove the floating ip from instance_id and delete it.
     """
     ip = TeuthologyOpenStack.get_floating_ip(instance_id)
     if not ip:
         return
     misc.sh("openstack ip floating remove " + ip + " " + instance_id)
     ip_id = TeuthologyOpenStack.get_floating_ip_id(ip)
     misc.sh("openstack ip floating delete " + ip_id)
开发者ID:esnyder,项目名称:teuthology,代码行数:10,代码来源:__init__.py


示例11: verify_openstack

 def verify_openstack(self):
     """
     Check there is a working connection to an OpenStack cluster
     and set the provider data member if it is among those we
     know already.
     """
     try:
         misc.sh("openstack server list")
     except subprocess.CalledProcessError:
         log.exception("openstack server list")
         raise Exception("verify openrc.sh has been sourced")
     self.set_provider()
开发者ID:esnyder,项目名称:teuthology,代码行数:12,代码来源:__init__.py


示例12: create_floating_ip

 def create_floating_ip():
     pools = json.loads(misc.sh("openstack ip floating pool list -f json"))
     if not pools:
         return None
     pool = pools[0]['Name']
     try:
         ip = json.loads(misc.sh(
             "openstack ip floating create -f json '" + pool + "'"))
         return TeuthologyOpenStack.get_value(ip, 'ip')
     except subprocess.CalledProcessError:
         log.debug("create_floating_ip: not creating a floating ip")
         pass
     return None
开发者ID:esnyder,项目名称:teuthology,代码行数:13,代码来源:__init__.py


示例13: setup_class

    def setup_class(self):
        if 'OS_AUTH_URL' not in os.environ:
            pytest.skip('no OS_AUTH_URL environment variable')

        teuthology.log.setLevel(logging.DEBUG)
        set_config_attr(argparse.Namespace())

        ip = TeuthologyOpenStack.create_floating_ip()
        if ip:
            ip_id = TeuthologyOpenStack.get_floating_ip_id(ip)
            misc.sh("openstack -q ip floating delete " + ip_id)
            self.can_create_floating_ips = True
        else:
            self.can_create_floating_ips = False
开发者ID:smithfarm,项目名称:teuthology,代码行数:14,代码来源:test_openstack.py


示例14: setup

    def setup(self):
        self.key_filename = tempfile.mktemp()
        self.key_name = 'teuthology-test'
        self.name = 'teuthology-test'
        self.clobber()
        misc.sh("""
openstack keypair create {key_name} > {key_filename}
chmod 600 {key_filename}
        """.format(key_filename=self.key_filename,
                   key_name=self.key_name))
        self.options = ['--key-name', self.key_name,
                        '--key-filename', self.key_filename,
                        '--name', self.name,
                        '--verbose']
开发者ID:smithfarm,项目名称:teuthology,代码行数:14,代码来源:test_openstack.py


示例15: flavor

    def flavor(self, hint, select):
        """
        Return the smallest flavor that satisfies the desired size.
        """
        flavors_string = misc.sh("openstack flavor list -f json")
        flavors = json.loads(flavors_string)
        found = []
        for flavor in flavors:
            if select and not re.match(select, flavor['Name']):
                continue
            if (flavor['RAM'] >= hint['ram'] and
                    flavor['VCPUs'] >= hint['cpus'] and
                    flavor['Disk'] >= hint['disk']):
                found.append(flavor)
        if not found:
            raise Exception("openstack flavor list: " + flavors_string +
                            " does not contain a flavor in which" +
                            " the desired " + str(hint) + " can fit")

        def sort_flavor(a, b):
            return (a['VCPUs'] - b['VCPUs'] or
                    a['RAM'] - b['RAM'] or
                    a['Disk'] - b['Disk'])
        sorted_flavor = sorted(found, cmp=sort_flavor)
        log.debug("sorted flavor = " + str(sorted_flavor))
        return sorted_flavor[0]['Name']
开发者ID:esnyder,项目名称:teuthology,代码行数:26,代码来源:__init__.py


示例16: cache_token

 def cache_token(self):
     if self.provider != 'ovh':
         return False
     if (OpenStack.token is None and
         os.environ.get('OS_AUTH_TYPE') == 'v2token' and
         'OS_TOKEN' in os.environ and
         'OS_TOKEN_EXPIRES' in os.environ):
         log.debug("get token from the environment of the parent process")
         OpenStack.token = os.environ['OS_TOKEN']
         OpenStack.token_expires = int(os.environ['OS_TOKEN_EXPIRES'])
     if (OpenStack.token_expires is not None and
         OpenStack.token_expires < time.time()):
         log.debug("token discarded because it has expired")
         OpenStack.token = None
     if OpenStack.token is None:
         if os.environ.get('OS_AUTH_TYPE') == 'v2token':
             del os.environ['OS_AUTH_TYPE']
         OpenStack.token = misc.sh("openstack -q token issue -c id -f value").strip()
         os.environ['OS_AUTH_TYPE'] = 'v2token'
         os.environ['OS_TOKEN'] = OpenStack.token
         OpenStack.token_expires = int(time.time() + OpenStack.token_cache_duration)
         os.environ['OS_TOKEN_EXPIRES'] = str(OpenStack.token_expires)
         log.info("caching OS_TOKEN and setting OS_AUTH_TYPE=v2token "
                  "during %s seconds" % OpenStack.token_cache_duration)
     return True
开发者ID:ajarr,项目名称:teuthology,代码行数:25,代码来源:__init__.py


示例17: net_id

 def net_id(self, network):
     """
     Return the uuid of the network in OpenStack.
     """
     r = json.loads(misc.sh("openstack network show -f json " +
                            network))
     return self.get_value(r, 'id')
开发者ID:esnyder,项目名称:teuthology,代码行数:7,代码来源:__init__.py


示例18: set_info

 def set_info(self):
     try:
         self.info = json.loads(
             misc.sh("openstack server show -f json " + self.name_or_id))
         enforce_json_dictionary(self.info)
     except CalledProcessError:
         self.info = None
开发者ID:BlaXpirit,项目名称:teuthology,代码行数:7,代码来源:__init__.py


示例19: image_exists

 def image_exists(self, image):
     """
     Return true if the image exists in OpenStack.
     """
     found = misc.sh("openstack image list -f json --property name='" +
                     self.image_name(image) + "'")
     return len(json.loads(found)) > 0
开发者ID:esnyder,项目名称:teuthology,代码行数:7,代码来源:__init__.py


示例20: create_cluster

 def create_cluster(self):
     """
     Create an OpenStack instance that runs the teuthology cluster
     and wait for it to come up.
     """
     user_data = self.get_user_data()
     if self.provider == 'rackspace':
         security_group = ''
     else:
         security_group = " --security-group teuthology"
     instance = misc.sh(
         "openstack server create " +
         " --image '" + self.image('ubuntu', '14.04') + "' " +
         " --flavor '" + self.flavor() + "' " +
         " " + self.net() +
         " --key-name " + self.args.key_name +
         " --user-data " + user_data +
         security_group +
         " --wait " + self.args.name +
         " -f json")
     instance_id = self.get_value(json.loads(instance), 'id')
     os.unlink(user_data)
     self.associate_floating_ip(instance_id)
     ip = self.get_floating_ip_or_ip(instance_id)
     return self.cloud_init_wait(ip)
开发者ID:esnyder,项目名称:teuthology,代码行数:25,代码来源:__init__.py



注:本文中的teuthology.misc.sh函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python misc.split_role函数代码示例发布时间:2022-05-27
下一篇:
Python misc.roles_of_type函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap