我有一个3个VM的集群.这是Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
hosts = {
"host0" => "192.168.33.10",
"host1" => "192.168.33.11",
"host2" => "192.168.33.12"
}
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.ssh.private_key_path = File.expand_path('~/.vagrant.d/insecure_private_key')
hosts.each do |name, ip|
config.vm.define name do |machine|
machine.vm.hostname = "%s.example.org" % name
machine.vm.network :private_network, ip: ip
machine.vm.provider "virtualbox" do |v|
v.name = name
# #v.customize ["modifyvm", :id, "--memory", 200]
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
这曾经工作,直到我最近升级:
ssh -i ~/.vagrant.d/insecure_private_key vagrant@192.168.33.10
Run Code Online (Sandbox Code Playgroud)
相反,vagrant要求输入密码.
似乎最近版本的vagrant(我在1.7.2上)为每台机器创建了一个安全的私钥.我通过跑步发现了它
vagrant ssh-config
Run Code Online (Sandbox Code Playgroud)
输出显示每个主机的不同密钥.我通过区分它们来验证键是不同的. …
我在Mac OSX上运行CoreOS k8s集群,这意味着它在VirtualBox + Vagrant中运行
我有我的service.yaml文件:
spec:
type: NodePort
Run Code Online (Sandbox Code Playgroud)
当我输入:
kubectl get services
Run Code Online (Sandbox Code Playgroud)
我知道了:
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR
kubernetes 10.100.0.1 <none> 443/TCP <none>
my-frontend 10.100.250.90 nodes 8000/TCP name=my-app
Run Code Online (Sandbox Code Playgroud)
什么是"节点"外部IP?如何从外部访问我的前端?
在开发过程中,我经常会遇到多个实时会话.PyCharm为我提供了关闭所有调试器选项卡(或所有其他选项卡)的选项,但是对于每个实时会话,它会打开此对话框,我必须单击每个选项卡以断开连接.有没有办法让PyCharm自动断开连接并终止所有进程?

默认的直播流端点无法启动,我无法停止或取消.摆脱它的唯一方法是删除整个资源组.我做了它并再次尝试相同的结果.我添加了1个流媒体单元,并在尝试第二次启动之前启用了CDN.知道问题是什么和/或如何使终点正常启动?
我的数据库是MySQL。我使用SqlAlchemy ORM定义和访问它。我使用Alembic进行迁移。我有一个模型,其中的字段曾经只包含英文文本(Ascii / latin-1)。现在,该字段需要包含Unicode文本。为了将模型转换为支持MySQL的Unicode,我需要添加以下类级别属性:mysql_character_set ='utf8'
class MyModel(Base):
__tablename__ = 'mymodel'
mysql_character_set = 'utf8'
id = Column(Integer, primary_key=True)
name = Column(String(64), unique=True, nullable=False)
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。我想将此属性添加为Alembic迁移脚本的一部分。我通常使用Alembic出色的自动生成命令:
alembic revision --autogenerate
Run Code Online (Sandbox Code Playgroud)
问题在于该命令不能捕获所有模型更改,尤其不能捕获mysql_character_set属性。
如何手动将此属性添加到Alembic迁移脚本中?
我使用SysLogHandler配置了一个Python记录器,并作为测试使用所有级别记录了一些消息:debug,info,warning,error,critical.如果我运行'syslog'或者我查看Console.app显示,我会看到所有消息.因此,所有消息都被正确记录.但是,当我tail /var/log/messages.log没有看到DEBUG和INFO消息时.我读到了ASL,我看到一个名为/var/log/aslfull of binary files的目录,但是我根本不明白它是如何与syslog交互的.
我想在exit()方法中再次调用代码对象,如果它引发异常(可能是几次,可能有延迟).我知道装饰器很容易,但我的动机是有时候我想重复一些代码片段,我不想提取到一个单独的函数并装饰它.我正在寻找这些方面的东西:
class again(object):
def __enter__(self):
pass
def __exit__(self, exc_type, exc_val, exc_tb):
if exc_type is not None:
???? # Invoke the code object again
return True # eat exception
Run Code Online (Sandbox Code Playgroud)
它会像这样使用:
x = 0
with again():
print x
x += 1
if x == 1:
raise Exception('I hate 1')
Run Code Online (Sandbox Code Playgroud)
而预期的产出将是:
0
1
Run Code Online (Sandbox Code Playgroud)
我可以找到一种方法来获取代码对象.没有任何上下文管理器属性似乎引用它(我想这不是真正需要的,因为它的工作只是在前后做事).
有可能吗?
此处的文档: https: //www.terraform.io/docs/providers/aws/r/default_route_table.html声称您可以使用 VPC id 导入默认路由表。
当我尝试这样做时,出现以下错误:
$ terraform import 'aws_default_route_table.aws-vpc' vpc-12345678
Error: resource aws_default_route_table doesn't support import
Run Code Online (Sandbox Code Playgroud)
我尝试使用路由表 ID 本身,以防文档不准确,但我得到了相同的错误。
我成功导入了路由表所属的VPC,并再次尝试导入路由表,但没有成功。
对于上下文 - 我需要导入默认路由表的原因是为 VPN 网关启用路由传播,如下所示:
resource aws_default_route_table aws-vpc {
default_route_table_id = var.aws_default_route_table_id
route {
cidr_block = "0.0.0.0/0"
gateway_id = var.aws_internet_gateway_id
}
propagating_vgws = [
aws_vpn_gateway.aws-vpn-gw.id
]
}
Run Code Online (Sandbox Code Playgroud)
我是否遗漏了一些东西,或者真的不可能将现有的默认路由表导入到 terraform 中?
在Visual Studio中,当您在.csproj文件中添加对解决方案中现有项目的引用时,它最终会如下所示:
<ProjectReference Include="..\TestProject2\TestProject2.csproj">
<Project>{15EC8369-B0C5-4F71-A366-19042F450A2D}</Project>
<Name>TestProject2</Name>
</ProjectReference>
Run Code Online (Sandbox Code Playgroud)
如果我通过EnvDTE添加对程序集DLL的引用:
var p = _project as VsProject;
p.References.Add(<path to assembly DLL>);
Run Code Online (Sandbox Code Playgroud)
它像这样结束:
<Reference Include="TestProject2.csproj">
<HintPath>..\TestProject2\bin\Debug\TestProject2.csproj.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)
这不是很好,因为如果我切换到Release版本,它仍然会引用调试程序集.另一个问题是我必须先构建引用的程序集,然后才能将其添加为引用.使用Visual Studio UI,我可以添加对未构建项目的引用.
是否可以通过EnvDTE API添加项目引用?
我知道我可以将.csproj文件作为XML文档操作并做任何我想做的事情,但是自从我开始在EnvDTE的路径上,我宁愿坚持下去.
python ×2
alembic ×1
azure ×1
c# ×1
envdte ×1
kubernetes ×1
logging ×1
macos ×1
pycharm ×1
sqlalchemy ×1
ssh ×1
syslog ×1
terraform ×1
vagrant ×1
vagrantfile ×1