SystemD not running an ExecStartPre until I reload and restart the service
I am overriding the /usr/lib/systemd/system/docker.service
start-up script to extend it with an environment file. I have defined my configuration file at /etc/systemd/system/docker.service.d/docker.conf
like so:
test -d /etc/systemd/system/docker.service.d ||
mkdir /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/docker.conf <<EOF
[Service]
EnvironmentFile=/etc/sysconfig/docker
ExecStartPre=-/usr/local/sbin/generate-docker-config
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --dns=${LOCAL_IPV4}
EOF
systemctl daemon-reload
I'm running the above script as a Packer build step for an AMI.
When I launch my AMI, I see the following status output about the Docker service from SystemD:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 21:16:11 UTC; 6min ago
Docs: https://docs.docker.com
Main PID: 858 (docker)
CGroup: /system.slice/docker.service
├─ 858 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
It hasn't run my ExecStartPre
, as seen in the output. If I do the following, I do see that it has now run the startup script:
# systemctl daemon-reload && systemctl restart docker.service &&
systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 22:05:24 UTC; 24ms ago
Docs: https://docs.docker.com
Process: 1873 ExecStartPre=/usr/local/sbin/generate-docker-config (code=exited, status=0/SUCCESS)
Main PID: 1876 (docker)
CGroup: /system.slice/docker.service
└─1876 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
Notice how it now has the ExecStartPre
in the status output?
Is there a command I should be running in my Packer build in addition to daemon-reload
to cause SystemD to load and run the new service configuration file and ExecStartPre
script? Should I just restart
the service in the Packer build, or is there a better, more tailored solution to the problem?
NOTE: My ExecStartPre
script needs the network available to curl
for EC2 instance tags. The Docker service file does specify After=network.target docker.socket
so I'm assuming it will run after networking has started.
systemd
add a comment |
I am overriding the /usr/lib/systemd/system/docker.service
start-up script to extend it with an environment file. I have defined my configuration file at /etc/systemd/system/docker.service.d/docker.conf
like so:
test -d /etc/systemd/system/docker.service.d ||
mkdir /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/docker.conf <<EOF
[Service]
EnvironmentFile=/etc/sysconfig/docker
ExecStartPre=-/usr/local/sbin/generate-docker-config
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --dns=${LOCAL_IPV4}
EOF
systemctl daemon-reload
I'm running the above script as a Packer build step for an AMI.
When I launch my AMI, I see the following status output about the Docker service from SystemD:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 21:16:11 UTC; 6min ago
Docs: https://docs.docker.com
Main PID: 858 (docker)
CGroup: /system.slice/docker.service
├─ 858 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
It hasn't run my ExecStartPre
, as seen in the output. If I do the following, I do see that it has now run the startup script:
# systemctl daemon-reload && systemctl restart docker.service &&
systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 22:05:24 UTC; 24ms ago
Docs: https://docs.docker.com
Process: 1873 ExecStartPre=/usr/local/sbin/generate-docker-config (code=exited, status=0/SUCCESS)
Main PID: 1876 (docker)
CGroup: /system.slice/docker.service
└─1876 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
Notice how it now has the ExecStartPre
in the status output?
Is there a command I should be running in my Packer build in addition to daemon-reload
to cause SystemD to load and run the new service configuration file and ExecStartPre
script? Should I just restart
the service in the Packer build, or is there a better, more tailored solution to the problem?
NOTE: My ExecStartPre
script needs the network available to curl
for EC2 instance tags. The Docker service file does specify After=network.target docker.socket
so I'm assuming it will run after networking has started.
systemd
add a comment |
I am overriding the /usr/lib/systemd/system/docker.service
start-up script to extend it with an environment file. I have defined my configuration file at /etc/systemd/system/docker.service.d/docker.conf
like so:
test -d /etc/systemd/system/docker.service.d ||
mkdir /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/docker.conf <<EOF
[Service]
EnvironmentFile=/etc/sysconfig/docker
ExecStartPre=-/usr/local/sbin/generate-docker-config
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --dns=${LOCAL_IPV4}
EOF
systemctl daemon-reload
I'm running the above script as a Packer build step for an AMI.
When I launch my AMI, I see the following status output about the Docker service from SystemD:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 21:16:11 UTC; 6min ago
Docs: https://docs.docker.com
Main PID: 858 (docker)
CGroup: /system.slice/docker.service
├─ 858 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
It hasn't run my ExecStartPre
, as seen in the output. If I do the following, I do see that it has now run the startup script:
# systemctl daemon-reload && systemctl restart docker.service &&
systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 22:05:24 UTC; 24ms ago
Docs: https://docs.docker.com
Process: 1873 ExecStartPre=/usr/local/sbin/generate-docker-config (code=exited, status=0/SUCCESS)
Main PID: 1876 (docker)
CGroup: /system.slice/docker.service
└─1876 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
Notice how it now has the ExecStartPre
in the status output?
Is there a command I should be running in my Packer build in addition to daemon-reload
to cause SystemD to load and run the new service configuration file and ExecStartPre
script? Should I just restart
the service in the Packer build, or is there a better, more tailored solution to the problem?
NOTE: My ExecStartPre
script needs the network available to curl
for EC2 instance tags. The Docker service file does specify After=network.target docker.socket
so I'm assuming it will run after networking has started.
systemd
I am overriding the /usr/lib/systemd/system/docker.service
start-up script to extend it with an environment file. I have defined my configuration file at /etc/systemd/system/docker.service.d/docker.conf
like so:
test -d /etc/systemd/system/docker.service.d ||
mkdir /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/docker.conf <<EOF
[Service]
EnvironmentFile=/etc/sysconfig/docker
ExecStartPre=-/usr/local/sbin/generate-docker-config
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --dns=${LOCAL_IPV4}
EOF
systemctl daemon-reload
I'm running the above script as a Packer build step for an AMI.
When I launch my AMI, I see the following status output about the Docker service from SystemD:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 21:16:11 UTC; 6min ago
Docs: https://docs.docker.com
Main PID: 858 (docker)
CGroup: /system.slice/docker.service
├─ 858 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
It hasn't run my ExecStartPre
, as seen in the output. If I do the following, I do see that it has now run the startup script:
# systemctl daemon-reload && systemctl restart docker.service &&
systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: active (running) since Mon 2016-03-28 22:05:24 UTC; 24ms ago
Docs: https://docs.docker.com
Process: 1873 ExecStartPre=/usr/local/sbin/generate-docker-config (code=exited, status=0/SUCCESS)
Main PID: 1876 (docker)
CGroup: /system.slice/docker.service
└─1876 /usr/bin/docker daemon -H fd:// --dns=10.224.4.178 --log-driver=syslog --log-opt tag={{.ImageName}}
Notice how it now has the ExecStartPre
in the status output?
Is there a command I should be running in my Packer build in addition to daemon-reload
to cause SystemD to load and run the new service configuration file and ExecStartPre
script? Should I just restart
the service in the Packer build, or is there a better, more tailored solution to the problem?
NOTE: My ExecStartPre
script needs the network available to curl
for EC2 instance tags. The Docker service file does specify After=network.target docker.socket
so I'm assuming it will run after networking has started.
systemd
systemd
edited Jul 8 at 17:31
Joseph Tingiris
59210
59210
asked Mar 28 '16 at 22:10
Naftuli Kay
12.1k55157251
12.1k55157251
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Well, this is the expected behavior. If you intend to restart the docker service just after overriding the docker unit file, you are supposed to invoke systemctl restart docker.service
after systemctl daemon-reload
in the script. If you also wants to restart docket only if it is already running, invoke systemctl try-restart docker.service
instead.
The purpose of systemctl daemon-reload
commands is to tell systemd
daemon to reload all its configuration, reload units files and regenerate the service dependency tree. However, it doesn't affect any other service in the system, even though unit files are changed on disk.
1
The unexpected part of the behavior is that when I restart the system, it doesn't load in theExecStartPre
. The Packer EC2 instance is shut down, and then the next time it is launched is as an AMI for a new EC2 instance, and the problem is that during this phase, it doesn't call the script.
– Naftuli Kay
Mar 28 '16 at 23:59
Then, I am afraid I couldn't help you with the issue. I know how to manage services withsystemd
, but I don't know how to deal with Amazon compute clouds. The only possible cause I figure is that the script doesn't restartdocker.service
after overriding its unit file and it should do.
– Anderson M. Gomes
Mar 29 '16 at 0:40
add a comment |
Assuming the network is 'online' after network.service
isn't 100% reliable. That's why there's a network-online.target
.
If you're relying on curl and want to be absolutely sure the network is up before the service starts, DNS works, etc. then adding this to your docker.conf
might help ...
[Unit]
After=network-online.target
... and since you're doing all this post boot, for the new ExecStartPre
to work, then you should add either systemctl daemon-reload && systemctl restart docker.service
or systemctl stop docker.service && systemctl daemon-reload && systemctl start docker.service
in your Packer build script. The latter is most reliable.
Stopping a service before it's modified and daemon-reload
is done will ensure the entire unit is reloaded as specified. I can see in the third bit of output you've provided that the ExecStart
for docker.service
does not contain the arguments you've specified in the Packer build script. That's because of the systemctl restart docker.service
(versus stop, daemon-reload, & start).
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f272721%2fsystemd-not-running-an-execstartpre-until-i-reload-and-restart-the-service%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Well, this is the expected behavior. If you intend to restart the docker service just after overriding the docker unit file, you are supposed to invoke systemctl restart docker.service
after systemctl daemon-reload
in the script. If you also wants to restart docket only if it is already running, invoke systemctl try-restart docker.service
instead.
The purpose of systemctl daemon-reload
commands is to tell systemd
daemon to reload all its configuration, reload units files and regenerate the service dependency tree. However, it doesn't affect any other service in the system, even though unit files are changed on disk.
1
The unexpected part of the behavior is that when I restart the system, it doesn't load in theExecStartPre
. The Packer EC2 instance is shut down, and then the next time it is launched is as an AMI for a new EC2 instance, and the problem is that during this phase, it doesn't call the script.
– Naftuli Kay
Mar 28 '16 at 23:59
Then, I am afraid I couldn't help you with the issue. I know how to manage services withsystemd
, but I don't know how to deal with Amazon compute clouds. The only possible cause I figure is that the script doesn't restartdocker.service
after overriding its unit file and it should do.
– Anderson M. Gomes
Mar 29 '16 at 0:40
add a comment |
Well, this is the expected behavior. If you intend to restart the docker service just after overriding the docker unit file, you are supposed to invoke systemctl restart docker.service
after systemctl daemon-reload
in the script. If you also wants to restart docket only if it is already running, invoke systemctl try-restart docker.service
instead.
The purpose of systemctl daemon-reload
commands is to tell systemd
daemon to reload all its configuration, reload units files and regenerate the service dependency tree. However, it doesn't affect any other service in the system, even though unit files are changed on disk.
1
The unexpected part of the behavior is that when I restart the system, it doesn't load in theExecStartPre
. The Packer EC2 instance is shut down, and then the next time it is launched is as an AMI for a new EC2 instance, and the problem is that during this phase, it doesn't call the script.
– Naftuli Kay
Mar 28 '16 at 23:59
Then, I am afraid I couldn't help you with the issue. I know how to manage services withsystemd
, but I don't know how to deal with Amazon compute clouds. The only possible cause I figure is that the script doesn't restartdocker.service
after overriding its unit file and it should do.
– Anderson M. Gomes
Mar 29 '16 at 0:40
add a comment |
Well, this is the expected behavior. If you intend to restart the docker service just after overriding the docker unit file, you are supposed to invoke systemctl restart docker.service
after systemctl daemon-reload
in the script. If you also wants to restart docket only if it is already running, invoke systemctl try-restart docker.service
instead.
The purpose of systemctl daemon-reload
commands is to tell systemd
daemon to reload all its configuration, reload units files and regenerate the service dependency tree. However, it doesn't affect any other service in the system, even though unit files are changed on disk.
Well, this is the expected behavior. If you intend to restart the docker service just after overriding the docker unit file, you are supposed to invoke systemctl restart docker.service
after systemctl daemon-reload
in the script. If you also wants to restart docket only if it is already running, invoke systemctl try-restart docker.service
instead.
The purpose of systemctl daemon-reload
commands is to tell systemd
daemon to reload all its configuration, reload units files and regenerate the service dependency tree. However, it doesn't affect any other service in the system, even though unit files are changed on disk.
edited Mar 28 '16 at 23:55
answered Mar 28 '16 at 23:48
Anderson M. Gomes
1,05647
1,05647
1
The unexpected part of the behavior is that when I restart the system, it doesn't load in theExecStartPre
. The Packer EC2 instance is shut down, and then the next time it is launched is as an AMI for a new EC2 instance, and the problem is that during this phase, it doesn't call the script.
– Naftuli Kay
Mar 28 '16 at 23:59
Then, I am afraid I couldn't help you with the issue. I know how to manage services withsystemd
, but I don't know how to deal with Amazon compute clouds. The only possible cause I figure is that the script doesn't restartdocker.service
after overriding its unit file and it should do.
– Anderson M. Gomes
Mar 29 '16 at 0:40
add a comment |
1
The unexpected part of the behavior is that when I restart the system, it doesn't load in theExecStartPre
. The Packer EC2 instance is shut down, and then the next time it is launched is as an AMI for a new EC2 instance, and the problem is that during this phase, it doesn't call the script.
– Naftuli Kay
Mar 28 '16 at 23:59
Then, I am afraid I couldn't help you with the issue. I know how to manage services withsystemd
, but I don't know how to deal with Amazon compute clouds. The only possible cause I figure is that the script doesn't restartdocker.service
after overriding its unit file and it should do.
– Anderson M. Gomes
Mar 29 '16 at 0:40
1
1
The unexpected part of the behavior is that when I restart the system, it doesn't load in the
ExecStartPre
. The Packer EC2 instance is shut down, and then the next time it is launched is as an AMI for a new EC2 instance, and the problem is that during this phase, it doesn't call the script.– Naftuli Kay
Mar 28 '16 at 23:59
The unexpected part of the behavior is that when I restart the system, it doesn't load in the
ExecStartPre
. The Packer EC2 instance is shut down, and then the next time it is launched is as an AMI for a new EC2 instance, and the problem is that during this phase, it doesn't call the script.– Naftuli Kay
Mar 28 '16 at 23:59
Then, I am afraid I couldn't help you with the issue. I know how to manage services with
systemd
, but I don't know how to deal with Amazon compute clouds. The only possible cause I figure is that the script doesn't restart docker.service
after overriding its unit file and it should do.– Anderson M. Gomes
Mar 29 '16 at 0:40
Then, I am afraid I couldn't help you with the issue. I know how to manage services with
systemd
, but I don't know how to deal with Amazon compute clouds. The only possible cause I figure is that the script doesn't restart docker.service
after overriding its unit file and it should do.– Anderson M. Gomes
Mar 29 '16 at 0:40
add a comment |
Assuming the network is 'online' after network.service
isn't 100% reliable. That's why there's a network-online.target
.
If you're relying on curl and want to be absolutely sure the network is up before the service starts, DNS works, etc. then adding this to your docker.conf
might help ...
[Unit]
After=network-online.target
... and since you're doing all this post boot, for the new ExecStartPre
to work, then you should add either systemctl daemon-reload && systemctl restart docker.service
or systemctl stop docker.service && systemctl daemon-reload && systemctl start docker.service
in your Packer build script. The latter is most reliable.
Stopping a service before it's modified and daemon-reload
is done will ensure the entire unit is reloaded as specified. I can see in the third bit of output you've provided that the ExecStart
for docker.service
does not contain the arguments you've specified in the Packer build script. That's because of the systemctl restart docker.service
(versus stop, daemon-reload, & start).
add a comment |
Assuming the network is 'online' after network.service
isn't 100% reliable. That's why there's a network-online.target
.
If you're relying on curl and want to be absolutely sure the network is up before the service starts, DNS works, etc. then adding this to your docker.conf
might help ...
[Unit]
After=network-online.target
... and since you're doing all this post boot, for the new ExecStartPre
to work, then you should add either systemctl daemon-reload && systemctl restart docker.service
or systemctl stop docker.service && systemctl daemon-reload && systemctl start docker.service
in your Packer build script. The latter is most reliable.
Stopping a service before it's modified and daemon-reload
is done will ensure the entire unit is reloaded as specified. I can see in the third bit of output you've provided that the ExecStart
for docker.service
does not contain the arguments you've specified in the Packer build script. That's because of the systemctl restart docker.service
(versus stop, daemon-reload, & start).
add a comment |
Assuming the network is 'online' after network.service
isn't 100% reliable. That's why there's a network-online.target
.
If you're relying on curl and want to be absolutely sure the network is up before the service starts, DNS works, etc. then adding this to your docker.conf
might help ...
[Unit]
After=network-online.target
... and since you're doing all this post boot, for the new ExecStartPre
to work, then you should add either systemctl daemon-reload && systemctl restart docker.service
or systemctl stop docker.service && systemctl daemon-reload && systemctl start docker.service
in your Packer build script. The latter is most reliable.
Stopping a service before it's modified and daemon-reload
is done will ensure the entire unit is reloaded as specified. I can see in the third bit of output you've provided that the ExecStart
for docker.service
does not contain the arguments you've specified in the Packer build script. That's because of the systemctl restart docker.service
(versus stop, daemon-reload, & start).
Assuming the network is 'online' after network.service
isn't 100% reliable. That's why there's a network-online.target
.
If you're relying on curl and want to be absolutely sure the network is up before the service starts, DNS works, etc. then adding this to your docker.conf
might help ...
[Unit]
After=network-online.target
... and since you're doing all this post boot, for the new ExecStartPre
to work, then you should add either systemctl daemon-reload && systemctl restart docker.service
or systemctl stop docker.service && systemctl daemon-reload && systemctl start docker.service
in your Packer build script. The latter is most reliable.
Stopping a service before it's modified and daemon-reload
is done will ensure the entire unit is reloaded as specified. I can see in the third bit of output you've provided that the ExecStart
for docker.service
does not contain the arguments you've specified in the Packer build script. That's because of the systemctl restart docker.service
(versus stop, daemon-reload, & start).
answered Jul 8 at 16:57
Joseph Tingiris
59210
59210
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f272721%2fsystemd-not-running-an-execstartpre-until-i-reload-and-restart-the-service%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown